diff --git a/__tests__/image/__tests__/integration/images.test.ts b/__tests__/image/__tests__/integration/images.test.ts index c3d11e3..8180fc0 100644 --- a/__tests__/image/__tests__/integration/images.test.ts +++ b/__tests__/image/__tests__/integration/images.test.ts @@ -2,9 +2,7 @@ import { loadDatabase } from "../../../../src/app/db"; import { Config } from "../../../../src/app/config/config"; import { app } from "../../../../src/app/main"; import { jest, describe, test, beforeAll, expect, beforeEach } from "bun:test"; - -import request from "supertest"; -import { Response } from "supertest"; +import request, { Response } from "supertest"; const baseRoute = "/v1/api/images"; const contentTypeKey = "Content-Type"; diff --git a/docker/ARM64.Dockerfile b/docker/ARM64.Dockerfile index 75a3007..b132177 100644 --- a/docker/ARM64.Dockerfile +++ b/docker/ARM64.Dockerfile @@ -15,8 +15,8 @@ COPY --from=install /temp/dev/node_modules node_modules COPY . . ENV NODE_ENV=test -RUN bun run lint -RUN bun run build:arm +RUN bun run lint && \ + bun run build:arm FROM base AS release COPY --from=install /temp/prod/node_modules node_modules diff --git a/docker/Dockerfile b/docker/Dockerfile index 1524107..9e44e87 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -15,8 +15,8 @@ COPY --from=install /temp/dev/node_modules node_modules COPY . . ENV NODE_ENV=production -RUN bun run lint -RUN bun run build +RUN bun run lint && \ + bun run build FROM base AS release COPY --from=install /temp/prod/node_modules node_modules diff --git a/docker/compose.yml b/docker/compose.yml index 4999091..eaa7b78 100644 --- a/docker/compose.yml +++ b/docker/compose.yml @@ -5,13 +5,13 @@ services: security_opt: - seccomp:seccomp.json - apparmor:non-root-profile - - no-new-privileges:true + - no-new-privileges build: - context: ../ - dockerfile: docker/Dockerfile + context: ../ + dockerfile: docker/Dockerfile ## https://dockerlabs.collabnix.com/advanced/security/capabilities/ - cap_add: ["DAC_OVERRIDE"] - cap_drop: ["ALL"] + cap_add: [ "DAC_OVERRIDE" ] + cap_drop: [ "ALL" ] restart: always env_file: - ../.env @@ -21,5 +21,5 @@ services: - waifuland networks: - waifuland: - driver: bridge \ No newline at end of file + waifuland: + driver: bridge diff --git a/kubernetes/prod/020-waifuland-prod-deployment.yaml b/kubernetes/prod/020-waifuland-prod-deployment.yaml index 8ae5020..d2acba1 100644 --- a/kubernetes/prod/020-waifuland-prod-deployment.yaml +++ b/kubernetes/prod/020-waifuland-prod-deployment.yaml @@ -63,8 +63,17 @@ spec: key: TOKEN name: env image: dyallo/waifuland_api:X64_latest + resources: + limits: + cpu: 0.5 + memory: 512Mi + requests: + cpu: 0.5 + memory: 512Mi + ephemeral-storage: "1Gi" name: waifuland-prod ports: - containerPort: 4000 protocol: TCP - restartPolicy: Always \ No newline at end of file + restartPolicy: Always + automountServiceAccountToken: false \ No newline at end of file diff --git a/src/common/utils/clear.ts b/src/common/utils/clear.ts index 7e9f661..7fc3ca3 100644 --- a/src/common/utils/clear.ts +++ b/src/common/utils/clear.ts @@ -17,7 +17,6 @@ const clearTemporaryFiles = (filepath: PathLike): void => { unlink(resolvedPath, (err: unknown) => { if (err) { console.error("Failed to delete file: %s", resolvedPath, err); - return; } }); }; diff --git a/src/image/image-service.ts b/src/image/image-service.ts index 6ac0727..f3a300b 100644 --- a/src/image/image-service.ts +++ b/src/image/image-service.ts @@ -55,7 +55,8 @@ class ImageService { */ async upload(newImage: IImage): Promise { try { - return imageRepository.create(newImage); + const response = await imageRepository.create(newImage); + return response; } catch (error: unknown) { rollbar.error(error as LogArgument); throw new Error((error).message); diff --git a/src/tag/tag-service.ts b/src/tag/tag-service.ts index 2acd4c4..479e188 100644 --- a/src/tag/tag-service.ts +++ b/src/tag/tag-service.ts @@ -14,7 +14,8 @@ class TagService { */ async getTag(): Promise { try { - return tagRepository.findTags(); + const tags = await tagRepository.findTags(); + return tags; } catch (error: unknown) { rollbar.error(error as LogArgument); throw new Error((error).message); @@ -28,7 +29,8 @@ class TagService { */ async getTagById(id: string): Promise { try { - return tagRepository.findByTagId(id); + const tag = await tagRepository.findByTagId(id); + return tag; } catch (error: unknown) { rollbar.error(error as LogArgument); throw new Error((error).message); diff --git a/src/user/user-middleware.ts b/src/user/user-middleware.ts index 63bd0e1..ac482f1 100644 --- a/src/user/user-middleware.ts +++ b/src/user/user-middleware.ts @@ -20,7 +20,9 @@ const userExists = async ( next: NextFunction, ): Promise => { const { username }: UsernameType = req.body; - const user: UsernameType | null = await User.findOne({ username: { $eq: username } }); + const user: UsernameType | null = await User.findOne({ + username: { $eq: username }, + }); return user ? res.json(boom.conflict('User already exists')) : next(); }; diff --git a/src/user/user-routes.ts b/src/user/user-routes.ts index 8ea6276..c71ce6e 100644 --- a/src/user/user-routes.ts +++ b/src/user/user-routes.ts @@ -9,8 +9,6 @@ import { limiter } from 'src/common/utils/limiter'; const userRouter = Router(); - - userRouter.get('/', limiter, validateToken, userController.getUsers); userRouter.get('/info', limiter, validateToken, userController.getUserInfo); userRouter.post('/login', limiter, validateUser, userController.login);