diff --git a/src/middleware/userRoles/isAdmin.middleware.ts b/src/middleware/userRoles/isAdmin.middleware.ts index 61d5434..e680f30 100644 --- a/src/middleware/userRoles/isAdmin.middleware.ts +++ b/src/middleware/userRoles/isAdmin.middleware.ts @@ -1,5 +1,12 @@ import { Context } from "elysia"; export const isAdminMiddleware = (ctx: Context) => { - //validate here + const isAdmin = ctx.headers["isAdmin"]; + if (!isAdmin) { + ctx.set.status = 403; + return { + error: "Forbidden", + message: "You don't have access to this resource", + }; + } }; diff --git a/src/modules/auth/services/http/tokenValidation.service.ts b/src/modules/auth/services/http/tokenValidation.service.ts index 176f9ae..d2ec5fa 100644 --- a/src/modules/auth/services/http/tokenValidation.service.ts +++ b/src/modules/auth/services/http/tokenValidation.service.ts @@ -1,6 +1,5 @@ import { AppError } from "../../../../helpers/error/instances/app"; import { jwtDecode } from "../../../../helpers/http/jwt/decode"; -import { jwtEncode } from "../../../../helpers/http/jwt/encode"; export const tokenValidationService = (payload: string) => { try { diff --git a/src/modules/internal/services/http/bulkInsertEpisode.service.ts b/src/modules/internal/services/http/bulkInsertEpisode.service.ts index a6aacd0..f1b5ef3 100644 --- a/src/modules/internal/services/http/bulkInsertEpisode.service.ts +++ b/src/modules/internal/services/http/bulkInsertEpisode.service.ts @@ -1,4 +1,3 @@ -import { Prisma } from "@prisma/client"; import { getEpisodeReferenceAPI } from "../../../../config/apis/episode.reference"; import { ErrorForwarder } from "../../../../helpers/error/instances/forwarder"; import { MediaEpisodeInfoResponse } from "../../types/mediaEpisodeInfo.type"; diff --git a/src/modules/internal/services/internal/bulkInsertCharWithVA.service.ts b/src/modules/internal/services/internal/bulkInsertCharWithVA.service.ts index bef3435..bd9d2e0 100644 --- a/src/modules/internal/services/internal/bulkInsertCharWithVA.service.ts +++ b/src/modules/internal/services/internal/bulkInsertCharWithVA.service.ts @@ -1,6 +1,5 @@ import { SystemAccountId } from "../../../../config/account/system"; import { getContentReferenceAPI } from "../../../../config/apis/media.reference"; -import { generateUUIDv7 } from "../../../../helpers/databases/uuidv7"; import { ErrorForwarder } from "../../../../helpers/error/instances/forwarder"; import { bulkInsertCharactersRepository } from "../../repositories/bulkInsertCharacters.repository"; import { bulkInsertLangVARepository } from "../../repositories/bulkInsertLangVA.repository"; diff --git a/src/modules/internal/services/internal/bulkInsertStaffOrPeople.service.ts b/src/modules/internal/services/internal/bulkInsertStaffOrPeople.service.ts index d73e9c9..0f6ef4c 100644 --- a/src/modules/internal/services/internal/bulkInsertStaffOrPeople.service.ts +++ b/src/modules/internal/services/internal/bulkInsertStaffOrPeople.service.ts @@ -1,5 +1,4 @@ import { SystemAccountId } from "../../../../config/account/system"; -import { generateUUIDv7 } from "../../../../helpers/databases/uuidv7"; import { ErrorForwarder } from "../../../../helpers/error/instances/forwarder"; import { bulkInsertVoiceActorRepository } from "../../repositories/bulkInsertVoiceActor.repository"; import { Person } from "../../types/mediaCharWithVAInfo"; diff --git a/src/modules/internal/types/mediaFullInfo.type.ts b/src/modules/internal/types/mediaFullInfo.type.ts index acdb229..a31da2b 100644 --- a/src/modules/internal/types/mediaFullInfo.type.ts +++ b/src/modules/internal/types/mediaFullInfo.type.ts @@ -34,12 +34,12 @@ interface Data { year: number; broadcast: Broadcast; producers: Genre[]; - licensors: any[]; + licensors: unknown[]; studios: Genre[]; genres: Genre[]; - explicit_genres: any[]; + explicit_genres: unknown[]; themes: Genre[]; - demographics: any[]; + demographics: unknown[]; relations: Relation[]; theme: Theme; external: External[]; diff --git a/src/modules/internal/types/peopleInfo.ts b/src/modules/internal/types/peopleInfo.ts index 1e2d22d..ef9018d 100644 --- a/src/modules/internal/types/peopleInfo.ts +++ b/src/modules/internal/types/peopleInfo.ts @@ -10,7 +10,7 @@ interface Data { name: string; given_name: null; family_name: null; - alternate_names: any[]; + alternate_names: string[]; birthday: Date; favorites: number; about: string; diff --git a/src/modules/user/schemas/getUserOptions.schema.ts b/src/modules/user/schemas/getUserOptions.schema.ts index 8707314..cab8595 100644 --- a/src/modules/user/schemas/getUserOptions.schema.ts +++ b/src/modules/user/schemas/getUserOptions.schema.ts @@ -6,14 +6,17 @@ const includeOptions = ["preference", "assignedRoles"] as const; export const getUserOptionsSchema = z.object({ verbosity: z.enum( ["exists", "basic", "full"], - "option: verbosity value must match with enum types" + "option: verbosity value must match with enum types", ), include: z .string() .optional() .transform((val) => val?.split(",") ?? []) .refine( - (arr) => arr.every((val) => includeOptions.includes(val.trim() as any)), - "option: include value didn't match with enum types" + (arr) => + arr.every((val) => + includeOptions.includes(val.trim() as typeof includeOptions[number]), + ), + "option: include value didn't match with enum types", ), }); diff --git a/src/modules/userSession/repositories/createUserSession.repository.ts b/src/modules/userSession/repositories/createUserSession.repository.ts index cf16edd..90b7968 100644 --- a/src/modules/userSession/repositories/createUserSession.repository.ts +++ b/src/modules/userSession/repositories/createUserSession.repository.ts @@ -2,26 +2,6 @@ import { Prisma } from "@prisma/client"; import { ErrorForwarder } from "../../../helpers/error/instances/forwarder"; import { userSessionModel } from "../userSession.model"; -type CreateUserSessionResponse = Prisma.UserSessionGetPayload<{ - select: { - id: true; - deviceType: true; - isAuthenticated: true; - validUntil: true; - user: { - select: { - id: true; - name: true; - email: true; - username: true; - avatar: true; - birthDate: true; - bioProfile: true; - }; - }; - }; -}>; - export const createUserSessionRepository = async ( data: Prisma.UserSessionUncheckedCreateInput, ) => { diff --git a/src/utils/storages/MinIO/operations/getStreamFile.ts b/src/utils/storages/MinIO/operations/getStreamFile.ts index fcd4592..fc4731c 100644 --- a/src/utils/storages/MinIO/operations/getStreamFile.ts +++ b/src/utils/storages/MinIO/operations/getStreamFile.ts @@ -1,4 +1,4 @@ -import { minioBucketName, minioClient } from "../client"; +import { minioClient } from "../client"; import { ensureBucketExists } from "../validations/ensureBucketExists"; export const getStreamFile = async (filename: string) => { diff --git a/src/utils/storages/MinIO/operations/uploadFile.ts b/src/utils/storages/MinIO/operations/uploadFile.ts index f20dd6b..f33346c 100644 --- a/src/utils/storages/MinIO/operations/uploadFile.ts +++ b/src/utils/storages/MinIO/operations/uploadFile.ts @@ -1,4 +1,4 @@ -import { minioBucketName, minioClient, minioProtocol } from "../client"; +import { minioBucketName, minioClient } from "../client"; import { ensureBucketExists } from "../validations/ensureBucketExists"; import { Readable } from "stream"; @@ -7,7 +7,7 @@ export const uploadFile = async ( options?: { fileDir?: string; fileName?: string; - } + }, ): Promise => { // Ensure the target MinIO bucket exists before performing any upload await ensureBucketExists();