Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
357d162d97 | ||
|
|
0696d37e9b | ||
|
|
91572829e7 |
@@ -34,9 +34,10 @@ COPY --from=builder /app/packages/shared/package.json ./packages/shared/
|
||||
RUN node -e "const p=require('./packages/shared/package.json');p.main='./dist/index.js';require('fs').writeFileSync('./packages/shared/package.json',JSON.stringify(p,null,2))"
|
||||
COPY --from=builder /app/packages/db/prisma ./packages/db/prisma
|
||||
COPY --from=builder /app/packages/db/package.json ./packages/db/
|
||||
COPY --from=builder /app/packages/admin-db/prisma/seed.ts ./packages/admin-db/prisma/seed.ts
|
||||
COPY --from=builder /app/dist ./dist
|
||||
|
||||
ENV NODE_ENV=production
|
||||
EXPOSE 3004
|
||||
ENTRYPOINT ["dumb-init", "--"]
|
||||
CMD ["sh", "-c", "cd packages/admin-db && npx prisma migrate deploy && if [ \"$RUN_SEED\" = \"true\" ]; then echo 'Seeding admin database...' && npx tsx prisma/seed.ts; fi && cd /app && node dist/main.js"]
|
||||
CMD ["sh", "-c", "cd packages/admin-db && npx prisma migrate deploy && cd /app && node dist/main.js"]
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
-- CreateTable: support_ticket_attachments
|
||||
CREATE TABLE "support_ticket_attachments" (
|
||||
"id" TEXT NOT NULL,
|
||||
"ticketId" TEXT NOT NULL,
|
||||
"commentId" TEXT,
|
||||
"fileName" TEXT NOT NULL,
|
||||
"originalName" TEXT NOT NULL,
|
||||
"mimeType" TEXT NOT NULL,
|
||||
"sizeBytes" INTEGER NOT NULL,
|
||||
"uploadedBy" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "support_ticket_attachments_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "support_ticket_attachments_ticketId_idx" ON "support_ticket_attachments"("ticketId");
|
||||
CREATE INDEX "support_ticket_attachments_commentId_idx" ON "support_ticket_attachments"("commentId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "support_ticket_attachments" ADD CONSTRAINT "support_ticket_attachments_ticketId_fkey"
|
||||
FOREIGN KEY ("ticketId") REFERENCES "support_tickets"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "support_ticket_attachments" ADD CONSTRAINT "support_ticket_attachments_commentId_fkey"
|
||||
FOREIGN KEY ("commentId") REFERENCES "support_ticket_comments"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@@ -6,7 +6,6 @@ import {
|
||||
import { JwtService } from '@nestjs/jwt';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import * as bcrypt from 'bcrypt';
|
||||
import { randomUUID } from 'crypto';
|
||||
import { AdminPrismaService } from '../prisma/admin-prisma.service';
|
||||
|
||||
@Injectable()
|
||||
@@ -120,7 +119,6 @@ export class AuthService {
|
||||
sub: adminId,
|
||||
email,
|
||||
type: 'super_admin',
|
||||
jti: randomUUID(),
|
||||
});
|
||||
|
||||
const refreshSecret = this.config.get<string>(
|
||||
@@ -133,7 +131,7 @@ export class AuthService {
|
||||
);
|
||||
|
||||
const refreshToken = this.jwt.sign(
|
||||
{ sub: adminId, email, type: 'super_admin', jti: randomUUID() },
|
||||
{ sub: adminId, email, type: 'super_admin' },
|
||||
{
|
||||
secret: refreshSecret,
|
||||
expiresIn: refreshExpiresIn as any,
|
||||
|
||||
@@ -15,7 +15,7 @@ export class ImpersonateService {
|
||||
private readonly audit: AuditService,
|
||||
) {
|
||||
// Use the MAIN API's JWT secret so the token works with the tenant API
|
||||
this.mainJwtSecret = this.config.get<string>('MAIN_API_JWT_SECRET', 'your-secret-key');
|
||||
this.mainJwtSecret = this.config.get<string>('JWT_SECRET', 'dev-jwt-secret-not-for-production');
|
||||
}
|
||||
|
||||
async startImpersonation(tenantId: string, adminId: string, adminName: string) {
|
||||
|
||||
Reference in New Issue
Block a user