diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c9fc6a8 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +node_modules +dist +.git +*.log +npm-debug.log* +.DS_Store +.env +.env.* +coverage +.nyc_output +*.tgz +!protospack.tgz diff --git a/Dockerfile.local b/Dockerfile.local index 03430e4..7f56186 100644 --- a/Dockerfile.local +++ b/Dockerfile.local @@ -1,4 +1,4 @@ -FROM node:20-alpine AS base_image +FROM node:22-alpine AS base_image RUN npm install -g npm@latest FROM base_image AS build_base @@ -19,10 +19,20 @@ ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ # Local build with secrets +# Check if local protospack tarball exists (for local dev) FROM build_base AS build +COPY protospack*.tgz* ./ RUN --mount=type=secret,id=aws,target=/root/.aws/credentials \ aws codeartifact login --tool npm --namespace @dadosfera --repository dadosfera-npm --domain dadosfera --domain-owner 611330257153 --region us-east-1 -RUN npm ci +RUN if [ -f "protospack.tgz" ]; then \ + echo "Installing from local protospack tarball..." && \ + npm install ./protospack.tgz --save-exact && \ + npm ci --ignore-scripts && \ + npm rebuild; \ + else \ + echo "Installing from CodeArtifact..." && \ + npm ci; \ + fi COPY . . RUN npm run build diff --git a/src/modules/auth/auth.controller.ts b/src/modules/auth/auth.controller.ts index 3d86f14..3199fe3 100644 --- a/src/modules/auth/auth.controller.ts +++ b/src/modules/auth/auth.controller.ts @@ -190,13 +190,14 @@ export class AuthController { ) { this.logger.info('/auth - change-password'); - const { oldPassword, newPassword } = body; + const { oldPassword, newPassword, totpCode } = body; const { authorization: accessToken } = headers; return this.authClient.changePassword({ accessToken, oldPassword, newPassword, + totpCode, }); } diff --git a/src/modules/auth/auth.service.ts b/src/modules/auth/auth.service.ts index c1b85f6..6d67b95 100644 --- a/src/modules/auth/auth.service.ts +++ b/src/modules/auth/auth.service.ts @@ -143,6 +143,7 @@ export class AuthClientService implements OnModuleInit { accessToken, oldPassword, newPassword, + totpCode, }: AuthChangePasswordRequest) { this.logger.info('ChangePassword'); @@ -151,6 +152,7 @@ export class AuthClientService implements OnModuleInit { accessToken, oldPassword, newPassword, + totpCode, }), ); }