diff --git a/.gitignore b/.gitignore index dfe80289..7f69a215 100644 --- a/.gitignore +++ b/.gitignore @@ -112,7 +112,7 @@ docs/_build/ docs/build/ # Prisma generated files -src/prisma/build/**/*.ts +src/prisma/build/ # OLD DATABASE, DO NOT PUSH, IT CONTAINS SENSITIVE DATA migration/etuutt_old/etuutt_old.sql diff --git a/eslint.config.mjs b/eslint.config.mjs index 9cc5723d..18c6b12b 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,6 +5,7 @@ import tsParser from '@typescript-eslint/parser'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; import typescriptPlugin from 'typescript-eslint'; +import importPlugin from 'eslint-plugin-import' const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -12,7 +13,7 @@ const __dirname = path.dirname(__filename); export default defineConfig([globalIgnores(['eslint.config.mjs']), { extends: [ - typescriptPlugin.configs.recommended, eslintConfigPrettier + typescriptPlugin.configs.recommended, eslintConfigPrettier, importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript, ], languageOptions: { @@ -36,7 +37,10 @@ export default defineConfig([globalIgnores(['eslint.config.mjs']), '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/no-explicit-any': 'off', + 'import/no-unresolved': 'off', + // Currently disabled, until https://github.com/import-js/eslint-plugin-import/pull/3230 is merged to support ESLint 10. + //'import/order': 'error' }, - files: ['**/*.ts'] + files: ['**/*.ts'], }, ]); diff --git a/migration/etuutt_old/make-migration.ts b/migration/etuutt_old/make-migration.ts index f99140c6..6f191a8f 100644 --- a/migration/etuutt_old/make-migration.ts +++ b/migration/etuutt_old/make-migration.ts @@ -1,22 +1,21 @@ -import { PrismaClient as _PrismaClient } from '../../src/prisma/types'; +import { RawBranch , + RawBranchOption, + RawCreditCategory, + RawSemester, + RawUe, + RawUeComment, + PrismaClient as _PrismaClient, +} from '@/prisma/types'; import { PrismaMariaDb } from '@prisma/adapter-mariadb'; import { createConnection } from 'mysql'; -import { cleanDb } from '../../test/utils/test_utils'; +import { cleanDb } from '#/utils/test_utils'; import { findLegacyUeofName, migrateUEs } from './modules/ue'; import { createCreditCategories } from './modules/creditCategory'; import { createSemesters } from './modules/semester'; import { migrateUeComments } from './modules/ueComment'; import { createBranches } from './modules/branch'; -import { - RawBranch, - RawBranchOption, - RawCreditCategory, - RawSemester, - RawUe, - RawUeComment, -} from '../../src/prisma/types'; import { stringToTranslation } from './utils'; -import { omit } from '../../src/utils'; +import { omit } from '@/utils'; type MayBePromise = Promise | T; diff --git a/migration/etuutt_old/modules/branch.ts b/migration/etuutt_old/modules/branch.ts index b5280b29..1c40a9be 100644 --- a/migration/etuutt_old/modules/branch.ts +++ b/migration/etuutt_old/modules/branch.ts @@ -1,5 +1,5 @@ -import { getOperationResults, PrismaClient, PrismaOperationResult } from '../make-migration'; -import { RawBranch, RawBranchOption } from '../../../src/prisma/types'; +import { PrismaClient, PrismaOperationResult, getOperationResults } from '../make-migration'; +import { RawBranch, RawBranchOption } from '@/prisma/types'; export async function createBranches(prisma: PrismaClient) { const operations: Promise<{ diff --git a/migration/etuutt_old/modules/creditCategory.ts b/migration/etuutt_old/modules/creditCategory.ts index c7985501..81c110c7 100644 --- a/migration/etuutt_old/modules/creditCategory.ts +++ b/migration/etuutt_old/modules/creditCategory.ts @@ -1,5 +1,5 @@ -import { getOperationResults, PrismaClient, PrismaOperationResult } from '../make-migration'; -import { RawCreditCategory } from '../../../src/prisma/types'; +import { PrismaClient, PrismaOperationResult, getOperationResults } from '../make-migration'; +import { RawCreditCategory } from '@/prisma/types'; export async function createCreditCategories(prisma: PrismaClient) { const creditCategoriesData = [ diff --git a/migration/etuutt_old/modules/semester.ts b/migration/etuutt_old/modules/semester.ts index ebc744de..31f7d2f1 100644 --- a/migration/etuutt_old/modules/semester.ts +++ b/migration/etuutt_old/modules/semester.ts @@ -1,5 +1,5 @@ -import { RawSemester } from '../../../src/prisma/types'; -import { getOperationResults, PrismaClient, PrismaOperationResult } from '../make-migration'; +import { RawSemester } from '@/prisma/types'; +import { PrismaClient, PrismaOperationResult, getOperationResults } from '../make-migration'; export async function createSemesters(prisma: PrismaClient) { const operations: Promise>[] = []; diff --git a/migration/etuutt_old/modules/ue.ts b/migration/etuutt_old/modules/ue.ts index aa8a1b9e..ac8f5a38 100644 --- a/migration/etuutt_old/modules/ue.ts +++ b/migration/etuutt_old/modules/ue.ts @@ -1,6 +1,5 @@ -import { getOperationResults, PrismaOperationResult, QueryFunction } from '../make-migration'; -import { PrismaClient } from '../make-migration'; -import { RawUe } from '../../../src/prisma/types'; +import { PrismaClient, PrismaOperationResult, QueryFunction , getOperationResults } from '../make-migration'; +import { RawUe } from '@/prisma/types'; export function findLegacyUeofName(ueCode: string, comment: string) { let LOCATION = 'TRO'; diff --git a/migration/etuutt_old/modules/ueComment.ts b/migration/etuutt_old/modules/ueComment.ts index cd875fe4..7bc9195e 100644 --- a/migration/etuutt_old/modules/ueComment.ts +++ b/migration/etuutt_old/modules/ueComment.ts @@ -1,6 +1,5 @@ -import { getOperationResults, PrismaOperationResult, QueryFunction } from '../make-migration'; -import { PrismaClient } from '../make-migration'; -import { RawSemester, RawUeComment } from '../../../src/prisma/types'; +import { PrismaClient, PrismaOperationResult, QueryFunction , getOperationResults } from '../make-migration'; +import { RawSemester, RawUeComment } from '@/prisma/types'; export async function migrateUeComments(query: QueryFunction, prisma: PrismaClient, semesters: RawSemester[]) { const comments = await query( diff --git a/migration/etuutt_old/modules/user.ts b/migration/etuutt_old/modules/user.ts index 387a6ced..662cbcb2 100644 --- a/migration/etuutt_old/modules/user.ts +++ b/migration/etuutt_old/modules/user.ts @@ -1,6 +1,5 @@ -import { PrismaClient, UserType } from '../../../src/prisma/types'; +import { PrismaClient, RawSemester , RawUe, RawUser, UserType } from '@/prisma/types'; import { QueryFunction } from '../make-migration'; -import { RawSemester, RawUe, RawUser } from '../../../src/prisma/types'; export async function migrateUsers( query: QueryFunction, diff --git a/package.json b/package.json index 6322d698..2972b832 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "build:docs:configure": "pip install --upgrade pip setuptools sphinx readthedocs-sphinx-ext && pip install -r docs/requirements.txt", "start": "NODE_ENV=production node dist/src/main", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", - "lint": "eslint \"{src,apps,libs,test,prisma,migration}/**/*.ts\" --fix", + "lint": "pnpm lint:dry --fix", + "lint:dry": "eslint \"{src,apps,libs,test,prisma,migration}/**/*.ts\"", "dev": "NODE_ENV=development npx nest start --watch", "dev:debug": "NODE_ENV=development npx nest start --debug --watch", "db:reset": "pnpm dev:db:reset && pnpm test:db:reset", @@ -38,7 +39,8 @@ "seed:base:prod": "node scripts/seed/base.js", "seed:ue:prod": "node scripts/seed/ue.js", "seed:ue:aliases:prod": "node scripts/seed/aliases.js", - "script:deps:graph": "ts-node scripts/dependency_graph.ts" + "script:deps-graph": "ts-node scripts/dependency_graph.ts", + "script:reorder-imports": "ts-node scripts/reorder_imports.ts" }, "dependencies": { "@fast-csv/parse": "^5.0.5", @@ -97,6 +99,7 @@ "env-cmd": "^11.0.0", "eslint": "^10.0.2", "eslint-config-prettier": "^10.1.8", + "eslint-plugin-import": "^2.32.0", "eslint-plugin-prettier": "^5.5.5", "globals": "^17.4.0", "jest": "30.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02921054..98aa4452 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -171,6 +171,9 @@ importers: eslint-config-prettier: specifier: ^10.1.8 version: 10.1.8(eslint@10.0.2(jiti@2.6.1)) + eslint-plugin-import: + specifier: ^2.32.0 + version: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-prettier: specifier: ^5.5.5 version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)))(eslint@10.0.2(jiti@2.6.1))(prettier@3.8.1) @@ -1297,6 +1300,9 @@ packages: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@scarf/scarf@1.4.0': resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==} @@ -1404,6 +1410,9 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/jsonwebtoken@9.0.10': resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} @@ -1821,9 +1830,33 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} + array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -1837,12 +1870,20 @@ packages: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + aws-ssl-profiles@1.1.2: resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==} engines: {node: '>= 6.0.0'} @@ -1981,6 +2022,10 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + call-bound@1.0.4: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} @@ -2232,6 +2277,26 @@ packages: csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -2270,6 +2335,14 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -2314,6 +2387,10 @@ packages: resolution: {integrity: sha512-TdmtlAcdqy1NU+j7zlkDdMnCL878zriLaBmoD9quOoq1ySSSGv03l0hXK5CvIFZlIfFI/hizqdQuW+Num7xuhw==} engines: {node: '>=4'} + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + doctypes@1.1.0: resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} @@ -2434,6 +2511,10 @@ packages: error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + es-abstract@1.24.1: + resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} + engines: {node: '>= 0.4'} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -2453,6 +2534,14 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -2482,6 +2571,40 @@ packages: peerDependencies: eslint: '>=7.0.0' + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-module-utils@2.12.1: + resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.32.0: + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint-plugin-prettier@5.5.5: resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2689,6 +2812,10 @@ packages: fontkit@2.0.4: resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} @@ -2733,9 +2860,20 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + generate-function@2.3.1: resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2771,6 +2909,10 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + giget@2.0.0: resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} hasBin: true @@ -2809,6 +2951,10 @@ packages: resolution: {integrity: sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==} engines: {node: '>=18'} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -2831,10 +2977,21 @@ packages: resolution: {integrity: sha512-lMHQRRwIPyJ70HV0kkFT7jH/gXzSI7yDkQFe07E2flwmNDFoWUTRMKpW2sglsnpeA7b6S2TJPp98EbQxai8eaQ==} engines: {node: '>=20.0.0'} + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} @@ -2929,21 +3086,53 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -2956,6 +3145,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -2964,6 +3157,10 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -2972,9 +3169,21 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -2992,6 +3201,14 @@ packages: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + is-stream@1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} @@ -3000,10 +3217,34 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -3011,6 +3252,9 @@ packages: isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -3239,6 +3483,10 @@ packages: json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -3743,6 +3991,26 @@ packages: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} @@ -3775,6 +4043,10 @@ packages: outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + p-event@4.2.0: resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} engines: {node: '>=8'} @@ -3950,6 +4222,10 @@ packages: polka@0.5.2: resolution: {integrity: sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==} + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + postgres@3.4.7: resolution: {integrity: sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==} engines: {node: '>=12'} @@ -4118,9 +4394,17 @@ packages: reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + regexp-to-ast@0.5.0: resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} @@ -4178,12 +4462,24 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -4225,6 +4521,18 @@ packages: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -4318,6 +4626,10 @@ packages: std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -4340,6 +4652,18 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -4535,6 +4859,9 @@ packages: resolution: {integrity: sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==} engines: {node: '>=10.13.0'} + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -4566,6 +4893,22 @@ packages: resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} engines: {node: '>= 0.6'} + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -4597,6 +4940,10 @@ packages: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} @@ -4728,6 +5075,22 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.20: + resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + engines: {node: '>= 0.4'} + which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -6047,6 +6410,8 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) + '@rtsao/scc@1.1.0': {} + '@scarf/scarf@1.4.0': {} '@selderee/plugin-htmlparser2@0.11.0': @@ -6178,6 +6543,8 @@ snapshots: '@types/json-schema@7.0.15': {} + '@types/json5@0.0.29': {} + '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 @@ -6612,8 +6979,58 @@ snapshots: argparse@2.0.1: {} + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-includes@3.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + array-timsort@1.0.3: {} + array.prototype.findlastindex@1.2.6: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-shim-unscopables: 1.1.0 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-shim-unscopables: 1.1.0 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + asap@2.0.6: optional: true @@ -6626,11 +7043,17 @@ snapshots: assert-plus@1.0.0: {} + async-function@1.0.0: {} + async@3.2.6: optional: true asynckit@0.4.0: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + aws-ssl-profiles@1.1.2: {} axios@1.13.6: @@ -6814,6 +7237,13 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + call-bound@1.0.4: dependencies: call-bind-apply-helpers: 1.0.2 @@ -7080,6 +7510,28 @@ snapshots: csstype@3.2.3: {} + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + debug@4.4.3: dependencies: ms: 2.1.3 @@ -7101,6 +7553,18 @@ snapshots: dependencies: clone: 1.0.4 + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + defu@6.1.4: {} delayed-stream@1.0.0: {} @@ -7131,6 +7595,10 @@ snapshots: run-applescript: 3.2.0 optional: true + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + doctypes@1.1.0: optional: true @@ -7261,6 +7729,63 @@ snapshots: dependencies: is-arrayish: 0.2.1 + es-abstract@1.24.1: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.20 + es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -7278,6 +7803,16 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + escalade@3.2.0: {} escape-goat@3.0.0: @@ -7296,6 +7831,53 @@ snapshots: dependencies: eslint: 10.0.2(jiti@2.6.1) + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.0.2(jiti@2.6.1) + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 10.0.2(jiti@2.6.1) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.5 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)))(eslint@10.0.2(jiti@2.6.1))(prettier@3.8.1): dependencies: eslint: 10.0.2(jiti@2.6.1) @@ -7570,6 +8152,10 @@ snapshots: unicode-properties: 1.4.1 unicode-trie: 2.0.0 + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 @@ -7625,10 +8211,23 @@ snapshots: function-bind@1.1.2: {} + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + generate-function@2.3.1: dependencies: is-property: 1.0.2 + generator-function@2.0.1: {} + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -7663,6 +8262,12 @@ snapshots: get-stream@6.0.1: {} + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + giget@2.0.0: dependencies: citty: 0.1.6 @@ -7717,6 +8322,11 @@ snapshots: globals@17.4.0: {} + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -7746,8 +8356,18 @@ snapshots: - bufferutil - utf-8-validate + has-bigints@1.1.0: {} + has-flag@4.0.0: {} + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + has-symbols@1.1.0: {} has-tostringtag@1.0.2: @@ -7857,19 +8477,60 @@ snapshots: ini@1.3.8: optional: true + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + ipaddr.js@1.9.1: {} + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-arrayish@0.2.1: {} + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 optional: true + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + is-core-module@2.16.1: dependencies: hasown: 2.0.2 - optional: true + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 is-docker@2.2.1: optional: true @@ -7882,18 +8543,39 @@ snapshots: is-extglob@2.1.1: {} + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + is-fullwidth-code-point@3.0.0: {} is-generator-fn@2.1.0: {} + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-interactive@1.0.0: {} + is-map@2.0.3: {} + + is-negative-zero@2.0.3: {} + is-node-process@1.2.0: {} + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + is-number@7.0.0: {} is-promise@2.2.2: @@ -7909,15 +8591,46 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 hasown: 2.0.2 - optional: true + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 is-stream@1.1.0: optional: true is-stream@2.0.1: {} + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.20 + is-unicode-supported@0.1.0: {} + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -7925,6 +8638,8 @@ snapshots: isarray@1.0.0: {} + isarray@2.0.5: {} + isexe@2.0.0: {} istanbul-lib-coverage@3.2.2: {} @@ -8343,6 +9058,10 @@ snapshots: json-stringify-safe@5.0.1: {} + json5@1.0.2: + dependencies: + minimist: 1.2.8 + json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -9078,6 +9797,37 @@ snapshots: object-inspect@1.13.4: {} + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + ohash@2.0.11: {} on-finished@2.4.1: @@ -9125,6 +9875,12 @@ snapshots: outvariant@1.4.3: {} + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + p-event@4.2.0: dependencies: p-timeout: 3.2.0 @@ -9243,8 +9999,7 @@ snapshots: path-key@3.1.1: {} - path-parse@1.0.7: - optional: true + path-parse@1.0.7: {} path-scurry@1.11.1: dependencies: @@ -9312,6 +10067,8 @@ snapshots: '@polka/url': 0.5.0 trouter: 2.0.1 + possible-typed-array-names@1.1.0: {} + postgres@3.4.7: {} precond@0.2.3: {} @@ -9536,8 +10293,28 @@ snapshots: reflect-metadata@0.2.2: {} + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + regexp-to-ast@0.5.0: {} + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + relateurl@0.2.7: optional: true @@ -9560,7 +10337,6 @@ snapshots: is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - optional: true restore-cursor@3.1.0: dependencies: @@ -9594,10 +10370,29 @@ snapshots: dependencies: tslib: 2.8.1 + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + safer-buffer@2.1.2: {} scheduler@0.27.0: {} @@ -9654,6 +10449,28 @@ snapshots: transitivePeerDependencies: - supports-color + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + setprototypeof@1.2.0: {} sharp@0.34.5: @@ -9768,6 +10585,11 @@ snapshots: std-env@3.10.0: {} + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + streamsearch@1.1.0: {} strict-event-emitter-types@2.0.0: {} @@ -9791,6 +10613,29 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.2.0 + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -9835,8 +10680,7 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: - optional: true + supports-preserve-symlinks-flag@1.0.0: {} swagger-ui-dist@5.31.0: dependencies: @@ -9966,6 +10810,13 @@ snapshots: tapable: 2.3.0 tsconfig-paths: 4.2.0 + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 @@ -9995,6 +10846,39 @@ snapshots: media-typer: 1.1.0 mime-types: 3.0.2 + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + typedarray@0.0.6: {} typescript-eslint@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3): @@ -10022,6 +10906,13 @@ snapshots: uint8array-extras@1.5.0: {} + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + undici-types@7.16.0: {} undici-types@7.18.2: {} @@ -10194,6 +11085,47 @@ snapshots: webidl-conversions: 3.0.1 optional: true + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.20 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.20: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@1.3.1: dependencies: isexe: 2.0.0 diff --git a/prisma/seed/modules/asso.seed.ts b/prisma/seed/modules/asso.seed.ts index e65ff3f3..cbf4bbfa 100644 --- a/prisma/seed/modules/asso.seed.ts +++ b/prisma/seed/modules/asso.seed.ts @@ -1,5 +1,5 @@ import { faker } from '@faker-js/faker'; -import { PrismaClient, UserType } from '../../../src/prisma/types'; +import { PrismaClient, UserType } from '@/prisma/types'; export default function assoSeed(prisma: PrismaClient) { console.log('Seeding assos...'); diff --git a/prisma/seed/modules/assoMembership.seed.ts b/prisma/seed/modules/assoMembership.seed.ts index cf675063..7cbbb517 100644 --- a/prisma/seed/modules/assoMembership.seed.ts +++ b/prisma/seed/modules/assoMembership.seed.ts @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { PrismaClient, RawAssoMembershipRole, RawUser } from '../../../src/prisma/types'; -import { Asso } from '../../../src/assos/interfaces/asso.interface'; +import { PrismaClient, RawAssoMembershipRole, RawUser } from '@/prisma/types'; +import { Asso } from '@/assos/interfaces/asso.interface'; export default function assoMembershipSeed( prisma: PrismaClient, diff --git a/prisma/seed/modules/assoMembershipRole.seed.ts b/prisma/seed/modules/assoMembershipRole.seed.ts index 60a56873..b892e92c 100644 --- a/prisma/seed/modules/assoMembershipRole.seed.ts +++ b/prisma/seed/modules/assoMembershipRole.seed.ts @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { Asso } from '../../../src/assos/interfaces/asso.interface'; -import { PrismaClient, RawAssoMembershipRole } from '../../../src/prisma/types'; +import { Asso } from '@/assos/interfaces/asso.interface'; +import { PrismaClient, RawAssoMembershipRole } from '@/prisma/types'; export default function assoMembershipRoleSeed(prisma: PrismaClient, assos: Asso[]): Promise { console.log('Seeding assoMembershipRoles'); diff --git a/prisma/seed/modules/branch.seed.ts b/prisma/seed/modules/branch.seed.ts index 98ea4b99..8fbb200d 100644 --- a/prisma/seed/modules/branch.seed.ts +++ b/prisma/seed/modules/branch.seed.ts @@ -1,5 +1,5 @@ import { faker } from '@faker-js/faker'; -import { PrismaClient, RawBranch } from '../../../src/prisma/types'; +import { PrismaClient, RawBranch } from '@/prisma/types'; const FAKER_ROUNDS = 8; diff --git a/prisma/seed/modules/branchOption.seed.ts b/prisma/seed/modules/branchOption.seed.ts index 73a109dd..30603d3e 100644 --- a/prisma/seed/modules/branchOption.seed.ts +++ b/prisma/seed/modules/branchOption.seed.ts @@ -1,5 +1,5 @@ import { faker } from '@faker-js/faker'; -import { PrismaClient, RawBranch, RawBranchOption } from '../../../src/prisma/types'; +import { PrismaClient, RawBranch, RawBranchOption } from '@/prisma/types'; const MAX_FAKER_ROUNDS = 4; diff --git a/prisma/seed/modules/creditCategory.seed.ts b/prisma/seed/modules/creditCategory.seed.ts index 8fa09ac0..1e74e95d 100644 --- a/prisma/seed/modules/creditCategory.seed.ts +++ b/prisma/seed/modules/creditCategory.seed.ts @@ -1,4 +1,4 @@ -import { PrismaClient, RawCreditCategory } from '../../../src/prisma/types'; +import { PrismaClient, RawCreditCategory } from '@/prisma/types'; import { faker } from '@faker-js/faker'; const FAKER_ROUNDS = 5; diff --git a/prisma/seed/modules/semester.seed.ts b/prisma/seed/modules/semester.seed.ts index b06d1a0a..7f650937 100644 --- a/prisma/seed/modules/semester.seed.ts +++ b/prisma/seed/modules/semester.seed.ts @@ -1,4 +1,4 @@ -import { PrismaClient, RawSemester } from '../../../src/prisma/types'; +import { PrismaClient, RawSemester } from '@/prisma/types'; export default function semesterSeed(prisma: PrismaClient): Promise { console.log('Seeding semesters...'); diff --git a/prisma/seed/modules/ue.seed.ts b/prisma/seed/modules/ue.seed.ts index 371f238a..17f9d3ca 100644 --- a/prisma/seed/modules/ue.seed.ts +++ b/prisma/seed/modules/ue.seed.ts @@ -1,5 +1,5 @@ import { faker } from '@faker-js/faker'; -import { PrismaClient, RawBranchOption, RawCreditCategory, RawSemester, RawUe } from '../../../src/prisma/types'; +import { PrismaClient, RawBranchOption, RawCreditCategory, RawSemester, RawUe } from '@/prisma/types'; import { generateTranslation } from '../utils'; const FAKER_ROUNDS = 20; diff --git a/prisma/seed/modules/ueComment.seed.ts b/prisma/seed/modules/ueComment.seed.ts index 0457cfec..975fa7e2 100644 --- a/prisma/seed/modules/ueComment.seed.ts +++ b/prisma/seed/modules/ueComment.seed.ts @@ -5,7 +5,7 @@ import { RawUeComment, RawUser, RawUserUeSubscription, -} from '../../../src/prisma/types'; +} from '@/prisma/types'; import { faker } from '@faker-js/faker'; const FAKER_ROUNDS = 100; diff --git a/prisma/seed/modules/ueStarCriterion.seed.ts b/prisma/seed/modules/ueStarCriterion.seed.ts index e8e94110..7110ad6f 100644 --- a/prisma/seed/modules/ueStarCriterion.seed.ts +++ b/prisma/seed/modules/ueStarCriterion.seed.ts @@ -1,4 +1,4 @@ -import { PrismaClient, RawUeStarCriterion } from '../../../src/prisma/types'; +import { PrismaClient, RawUeStarCriterion } from '@/prisma/types'; import { faker } from '@faker-js/faker'; const FAKER_ROUNDS = 5; diff --git a/prisma/seed/modules/ueStarVotes.seed.ts b/prisma/seed/modules/ueStarVotes.seed.ts index 21781c86..49b26ba7 100644 --- a/prisma/seed/modules/ueStarVotes.seed.ts +++ b/prisma/seed/modules/ueStarVotes.seed.ts @@ -1,4 +1,4 @@ -import { PrismaClient, RawUeStarVote, RawUeStarCriterion, RawUserUeSubscription } from '../../../src/prisma/types'; +import { PrismaClient, RawUeStarCriterion, RawUeStarVote, RawUserUeSubscription } from '@/prisma/types'; import { faker } from '@faker-js/faker'; export default function ueStarVotesSeed( diff --git a/prisma/seed/modules/ueSubscription.seed.ts b/prisma/seed/modules/ueSubscription.seed.ts index 8642de20..3d98e469 100644 --- a/prisma/seed/modules/ueSubscription.seed.ts +++ b/prisma/seed/modules/ueSubscription.seed.ts @@ -1,4 +1,4 @@ -import { PrismaClient, RawSemester, RawUe, RawUser, RawUserUeSubscription } from '../../../src/prisma/types'; +import { PrismaClient, RawSemester, RawUe, RawUser, RawUserUeSubscription } from '@/prisma/types'; import { faker } from '@faker-js/faker'; import { OF_SUFFIX } from './ue.seed'; diff --git a/prisma/seed/modules/user.seed.ts b/prisma/seed/modules/user.seed.ts index 70c797aa..ff9d0129 100644 --- a/prisma/seed/modules/user.seed.ts +++ b/prisma/seed/modules/user.seed.ts @@ -1,8 +1,8 @@ -import { PrismaClient, Sex, RawUser } from '../../../src/prisma/types'; +import { PrismaClient, RawUser, Sex } from '@/prisma/types'; import { faker } from '@faker-js/faker'; import * as bcrypt from 'bcryptjs'; import { DEFAULT_APPLICATION } from '../utils'; -import { AuthService } from '../../../src/auth/auth.service'; +import { AuthService } from '@/auth/auth.service'; const FAKER_ROUNDS = 100; diff --git a/prisma/seed/seed.ts b/prisma/seed/seed.ts index 107d4088..7fb35c4a 100644 --- a/prisma/seed/seed.ts +++ b/prisma/seed/seed.ts @@ -1,5 +1,5 @@ import { PrismaMariaDb } from '@prisma/adapter-mariadb'; -import { PrismaClient } from '../../src/prisma/types'; +import { PrismaClient } from '@/prisma/types'; import ueSeed from './modules/ue.seed'; import { userSeed } from './modules/user.seed'; import { faker } from '@faker-js/faker'; @@ -7,7 +7,7 @@ import semesterSeed from './modules/semester.seed'; import branchSeed from './modules/branch.seed'; import branchOptionSeed from './modules/branchOption.seed'; import creditCategorySeed from './modules/creditCategory.seed'; -import { cleanDb } from '../../test/utils/test_utils'; +import { cleanDb } from '#/utils/test_utils'; import ueCommentSeed from './modules/ueComment.seed'; import ueStarCriterionSeed from './modules/ueStarCriterion.seed'; import ueStarVotesSeed from './modules/ueStarVotes.seed'; diff --git a/prisma/seed/utils.ts b/prisma/seed/utils.ts index edd89b77..b287456f 100644 --- a/prisma/seed/utils.ts +++ b/prisma/seed/utils.ts @@ -1,8 +1,7 @@ import { Faker, faker } from '@faker-js/faker'; -import { Entity, FakeEntityMap } from '../../test/utils/fakedb'; -import { Translation } from 'src/prisma/types'; -import { PrismaClient, UserType } from '../../src/prisma/types'; -import { PrismaService } from '../../src/prisma/prisma.service'; +import { Entity, FakeEntityMap } from '#/utils/fakedb'; +import { PrismaClient , Translation, UserType } from '@/prisma/types'; +import { PrismaService } from '@/prisma/prisma.service'; // While waiting to be able to recover the real data export const branchesCode = ['ISI', 'GM', 'RT', 'MTE', 'GI', 'SN', 'A2I', 'MM']; diff --git a/scripts/dependency_graph.ts b/scripts/dependency_graph.ts index ae4467b2..23cbb0b8 100644 --- a/scripts/dependency_graph.ts +++ b/scripts/dependency_graph.ts @@ -1,5 +1,5 @@ import { NestFactory } from '@nestjs/core'; -import { AppModule } from '../src/app.module'; +import { AppModule } from '@/app.module'; import { INestApplication } from '@nestjs/common'; import { SpelunkerModule } from 'nestjs-spelunker'; import * as fs from 'fs'; diff --git a/scripts/seed/aliases.ts b/scripts/seed/aliases.ts index 117fe01b..0e8c16a5 100644 --- a/scripts/seed/aliases.ts +++ b/scripts/seed/aliases.ts @@ -1,5 +1,5 @@ import { PrismaMariaDb } from '@prisma/adapter-mariadb'; -import { PrismaClient } from '../../src/prisma/types'; +import { PrismaClient } from '@/prisma/types'; const prisma = new PrismaClient({ adapter: new PrismaMariaDb(process.env.DATABASE_URL) }); diff --git a/scripts/seed/base.ts b/scripts/seed/base.ts index 04edab44..5d600ce9 100644 --- a/scripts/seed/base.ts +++ b/scripts/seed/base.ts @@ -1,5 +1,5 @@ import { PrismaMariaDb } from '@prisma/adapter-mariadb'; -import { PrismaClient } from '../../src/prisma/types'; +import { PrismaClient } from '@/prisma/types'; const prisma = new PrismaClient({ adapter: new PrismaMariaDb(process.env.DATABASE_URL) }); diff --git a/scripts/seed/ue.ts b/scripts/seed/ue.ts index 3ecd2505..0f762827 100644 --- a/scripts/seed/ue.ts +++ b/scripts/seed/ue.ts @@ -1,9 +1,9 @@ import { PrismaMariaDb } from '@prisma/adapter-mariadb'; -import { PrismaClient } from '../../src/prisma/types'; +import { PrismaClient } from '@/prisma/types'; import { createReadStream } from 'fs'; import { createInterface } from 'readline/promises'; import { parse } from '@fast-csv/parse'; -import '../../src/std.type'; +import '@/std.type'; const prisma = new PrismaClient({ adapter: new PrismaMariaDb(process.env.DATABASE_URL) }); diff --git a/src/app.dto.ts b/src/app.dto.ts index ee0ec47f..d874f6af 100644 --- a/src/app.dto.ts +++ b/src/app.dto.ts @@ -1,11 +1,11 @@ -import { ERROR_CODE, ErrorData } from './exceptions'; -import { applyDecorators, HttpStatus, Injectable } from '@nestjs/common'; +import { ERROR_CODE, ErrorData } from '@/exceptions'; +import { HttpStatus, Injectable, applyDecorators } from '@nestjs/common'; import * as ApiResponses from '@nestjs/swagger'; import { ApiProperty } from '@nestjs/swagger'; import { Type } from '@nestjs/common/interfaces/type.interface'; import { IsOptional, IsString } from 'class-validator'; -import { HasSomeAmong } from './validation'; -import { languages } from './utils'; +import { HasSomeAmong } from '@/validation'; +import { languages } from '@/utils'; // Redefine the mixin function in node_modules/.pnpm/@nestjs+common@_class-transformer@_class-validator@_reflect-metadata@_rxjs@/node_modules/@nestjs/common/decorators/core/injectable.decorator.js // This implementation allows to give a name to the class diff --git a/src/app.interceptor.ts b/src/app.interceptor.ts index 15925cce..f0a23b06 100644 --- a/src/app.interceptor.ts +++ b/src/app.interceptor.ts @@ -1,8 +1,8 @@ import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common'; -import { map, Observable } from 'rxjs'; +import { Observable, map } from 'rxjs'; import { Request } from 'express'; -import { Language } from './prisma/types'; -import { getTranslation } from './utils'; +import { Language } from '@/prisma/types'; +import { getTranslation } from '@/utils'; @Injectable() export class TranslationInterceptor implements NestInterceptor { diff --git a/src/app.module.ts b/src/app.module.ts index 92612c72..a66a356d 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -1,22 +1,22 @@ import { Module } from '@nestjs/common'; -import { AuthModule } from './auth/auth.module'; -import { PrismaModule } from './prisma/prisma.module'; -import { ProfileModule } from './profile/profile.module'; -import { UsersModule } from './users/users.module'; +import { AuthModule } from '@/auth/auth.module'; +import { PrismaModule } from '@/prisma/prisma.module'; +import { ProfileModule } from '@/profile/profile.module'; +import { UsersModule } from '@/users/users.module'; import { APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core'; -import { PermissionGuard } from './auth/guard/permission.guard'; -import { RoleGuard } from './auth/guard/role.guard'; -import { UeModule } from './ue/ue.module'; -import { JwtGuard } from './auth/guard'; -import { TimetableModule } from './timetable/timetable.module'; -import { ConfigModule } from './config/config.module'; -import { HttpModule } from './http/http.module'; -import { BranchModule } from './branch/branch.module'; -import { AssosModule } from './assos/assos.module'; -import { TranslationInterceptor } from './app.interceptor'; -import { SemesterModule } from './semester/semester.module'; -import { ImageMediaModule } from './media/image/imagemedia.module'; -import { MailModule } from './mail/mail.module'; +import { PermissionGuard } from '@/auth/guard/permission.guard'; +import { RoleGuard } from '@/auth/guard/role.guard'; +import { UeModule } from '@/ue/ue.module'; +import { JwtGuard } from '@/auth/guard'; +import { TimetableModule } from '@/timetable/timetable.module'; +import { ConfigModule } from '@/config/config.module'; +import { HttpModule } from '@/http/http.module'; +import { BranchModule } from '@/branch/branch.module'; +import { AssosModule } from '@/assos/assos.module'; +import { TranslationInterceptor } from '@/app.interceptor'; +import { SemesterModule } from '@/semester/semester.module'; +import { ImageMediaModule } from '@/media/image/imagemedia.module'; +import { MailModule } from '@/mail/mail.module'; @Module({ imports: [ diff --git a/src/app.pipe.ts b/src/app.pipe.ts index e37f65ec..b37f0d39 100644 --- a/src/app.pipe.ts +++ b/src/app.pipe.ts @@ -1,15 +1,15 @@ import { - Param, - ParseUUIDPipe, - Type, ArgumentMetadata, Injectable, + Param, + ParseIntPipe, + ParseUUIDPipe, PipeTransform, + Type, ValidationPipe, - ParseIntPipe, } from '@nestjs/common'; -import { AppException, ERROR_CODE } from './exceptions'; -import { validationExceptionFactory } from './validation'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { validationExceptionFactory } from '@/validation'; /** * A validating pipe for regex. diff --git a/src/assos/assos.controller.ts b/src/assos/assos.controller.ts index a7ace7c4..de460d4f 100644 --- a/src/assos/assos.controller.ts +++ b/src/assos/assos.controller.ts @@ -1,33 +1,33 @@ import { Body, Controller, Delete, Get, Patch, Post, Put, Query } from '@nestjs/common'; import { ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import { ApiAppErrorResponse, paginatedResponseDto } from '../app.dto'; -import { AssoMembershipRole } from './interfaces/membership-role.interface'; -import { ImageMediaService } from '../media/image/imagemedia.service'; -import { AssoMembership } from './interfaces/membership.interface'; -import { ParamAsso } from './decorator/get-asso'; -import { GetUser, IsPublic } from '../auth/decorator'; -import { AssosService } from './assos.service'; -import { AppException, ERROR_CODE } from '../exceptions'; -import { ParamMember } from './decorator/get-member'; -import { Asso } from './interfaces/asso.interface'; -import { User } from '../users/interfaces/user.interface'; -import { pick } from '../utils'; -import { UUIDParam } from '../app.pipe'; -import AssosSearchReqDto from './dto/req/assos-search-req.dto'; -import AssoOverviewResDto from './dto/res/asso-overview-res.dto'; -import AssoDetailResDto from './dto/res/asso-detail-res.dto'; -import AssoMembersResDto from './dto/res/asso-members-res.dto'; -import AssosRoleCreateReqDto from './dto/req/assos-role-create.dto'; -import AssoRoleOverviewResDto, { AssoRole, AssoRoleListResDto, AssoRoleResDto } from './dto/res/assos-role-res.dto'; -import AssosRoleUpdateReqDto from './dto/req/assos-role-update.dto'; -import AssosMemberCreateReqDto from './dto/req/assos-member-create.dto'; -import AssosMemberUpdateReqDto from './dto/req/assos-member-update.dto'; -import AssoMembershipResDto from './dto/res/assos-membership-res.dto'; -import UsersService from '../users/users.service'; -import { ConfigService } from '../config/config.service'; -import AssosUpdateReqDto from './dto/req/assos-update-req.dto'; -import { ImageMediaPreset } from '../prisma/types'; -import { LexicalModule } from '../lexical/lexical.module'; +import { ApiAppErrorResponse, paginatedResponseDto } from '@/app.dto'; +import { AssoMembershipRole } from '@/assos/interfaces/membership-role.interface'; +import { ImageMediaService } from '@/media/image/imagemedia.service'; +import { AssoMembership } from '@/assos/interfaces/membership.interface'; +import { ParamAsso } from '@/assos/decorator/get-asso'; +import { GetUser, IsPublic } from '@/auth/decorator'; +import { AssosService } from '@/assos/assos.service'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { ParamMember } from '@/assos/decorator/get-member'; +import { Asso } from '@/assos/interfaces/asso.interface'; +import { User } from '@/users/interfaces/user.interface'; +import { pick } from '@/utils'; +import { UUIDParam } from '@/app.pipe'; +import AssosSearchReqDto from '@/assos/dto/req/assos-search-req.dto'; +import AssoOverviewResDto from '@/assos/dto/res/asso-overview-res.dto'; +import AssoDetailResDto from '@/assos/dto/res/asso-detail-res.dto'; +import AssoMembersResDto from '@/assos/dto/res/asso-members-res.dto'; +import AssosRoleCreateReqDto from '@/assos/dto/req/assos-role-create.dto'; +import AssoRoleOverviewResDto, { AssoRole, AssoRoleListResDto, AssoRoleResDto } from '@/assos/dto/res/assos-role-res.dto'; +import AssosRoleUpdateReqDto from '@/assos/dto/req/assos-role-update.dto'; +import AssosMemberCreateReqDto from '@/assos/dto/req/assos-member-create.dto'; +import AssosMemberUpdateReqDto from '@/assos/dto/req/assos-member-update.dto'; +import AssoMembershipResDto from '@/assos/dto/res/assos-membership-res.dto'; +import UsersService from '@/users/users.service'; +import { ConfigService } from '@/config/config.service'; +import AssosUpdateReqDto from '@/assos/dto/req/assos-update-req.dto'; +import { ImageMediaPreset } from '@/prisma/types'; +import { LexicalModule } from '@/lexical/lexical.module'; @Controller('assos') @ApiTags('Assos') diff --git a/src/assos/assos.module.ts b/src/assos/assos.module.ts index ada8876d..87ace755 100644 --- a/src/assos/assos.module.ts +++ b/src/assos/assos.module.ts @@ -1,12 +1,12 @@ import { Module } from '@nestjs/common'; -import { AssosController } from './assos.controller'; -import { AssosService } from './assos.service'; -import { ImageMediaModule } from '../media/image/imagemedia.module'; -import { LexicalModule } from '../lexical/lexical.module'; -import UsersService from '../users/users.service'; -import WeeklyWithoutAssoidController from './weekly/weekly-without-asso-id.controller'; -import { WeeklyWithAssoIdController } from './weekly/weekly-with-asso-id.controller'; -import WeeklyService from './weekly/weekly.service'; +import { AssosController } from '@/assos/assos.controller'; +import { AssosService } from '@/assos/assos.service'; +import { ImageMediaModule } from '@/media/image/imagemedia.module'; +import { LexicalModule } from '@/lexical/lexical.module'; +import UsersService from '@/users/users.service'; +import WeeklyWithoutAssoidController from '@/assos/weekly/weekly-without-asso-id.controller'; +import { WeeklyWithAssoIdController } from '@/assos/weekly/weekly-with-asso-id.controller'; +import WeeklyService from '@/assos/weekly/weekly.service'; /** * Defines the `Assos` module. This module handles all routes prefixed by `/assos`. diff --git a/src/assos/assos.service.ts b/src/assos/assos.service.ts index e8de7046..9b1ba108 100644 --- a/src/assos/assos.service.ts +++ b/src/assos/assos.service.ts @@ -1,15 +1,14 @@ import { Injectable } from '@nestjs/common'; -import { Prisma } from '../prisma/types'; -import { ConfigService } from '../config/config.service'; -import { PrismaService } from '../prisma/prisma.service'; -import { RawAssoMembershipRole } from '../prisma/types'; -import { Asso } from './interfaces/asso.interface'; -import { AssoMembership } from './interfaces/membership.interface'; -import { AssoMembershipRole } from './interfaces/membership-role.interface'; -import AssosSearchReqDto from './dto/req/assos-search-req.dto'; -import AssosMemberUpdateReqDto from './dto/req/assos-member-update.dto'; -import { AppException, ERROR_CODE } from '../exceptions'; -import AssosUpdateReqDto from './dto/req/assos-update-req.dto'; +import { Prisma , RawAssoMembershipRole } from '@/prisma/types'; +import { ConfigService } from '@/config/config.service'; +import { PrismaService } from '@/prisma/prisma.service'; +import { Asso } from '@/assos/interfaces/asso.interface'; +import { AssoMembership } from '@/assos/interfaces/membership.interface'; +import { AssoMembershipRole } from '@/assos/interfaces/membership-role.interface'; +import AssosSearchReqDto from '@/assos/dto/req/assos-search-req.dto'; +import AssosMemberUpdateReqDto from '@/assos/dto/req/assos-member-update.dto'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import AssosUpdateReqDto from '@/assos/dto/req/assos-update-req.dto'; @Injectable() export class AssosService { diff --git a/src/assos/decorator/get-asso.ts b/src/assos/decorator/get-asso.ts index 63c2f318..3da109a4 100644 --- a/src/assos/decorator/get-asso.ts +++ b/src/assos/decorator/get-asso.ts @@ -1,6 +1,6 @@ import { Injectable, Param, ParseUUIDPipe, PipeTransform } from '@nestjs/common'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { AssosService } from '../assos.service'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { AssosService } from '@/assos/assos.service'; export const ParamAsso = (paramName = 'assoId') => Param( diff --git a/src/assos/decorator/get-member.ts b/src/assos/decorator/get-member.ts index 634179f7..fe3bd791 100644 --- a/src/assos/decorator/get-member.ts +++ b/src/assos/decorator/get-member.ts @@ -1,6 +1,6 @@ import { Injectable, Param, ParseUUIDPipe, PipeTransform } from '@nestjs/common'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { AssosService } from '../assos.service'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { AssosService } from '@/assos/assos.service'; export const ParamMember = (paramName = 'memberId') => Param( diff --git a/src/assos/dto/req/assos-member-create.dto.ts b/src/assos/dto/req/assos-member-create.dto.ts index 42d38117..075aceac 100644 --- a/src/assos/dto/req/assos-member-create.dto.ts +++ b/src/assos/dto/req/assos-member-create.dto.ts @@ -1,6 +1,6 @@ import { IsArray, IsDate, IsNotEmpty, IsOptional, IsString, IsUUID } from 'class-validator'; import { Type } from 'class-transformer'; -import { IsFutureDate } from '../../../validation'; +import { IsFutureDate } from '@/validation'; export default class AssosMemberCreateReqDto { @IsString() diff --git a/src/assos/dto/req/assos-member-update.dto.ts b/src/assos/dto/req/assos-member-update.dto.ts index 53ffe3d4..4a24cf46 100644 --- a/src/assos/dto/req/assos-member-update.dto.ts +++ b/src/assos/dto/req/assos-member-update.dto.ts @@ -1,6 +1,6 @@ import { Type } from 'class-transformer'; import { IsArray, IsDate, IsNotEmpty, IsOptional, IsString } from 'class-validator'; -import { IsFutureDate } from '../../../validation'; +import { IsFutureDate } from '@/validation'; export default class AssosMemberUpdateReqDto { @IsOptional() diff --git a/src/assos/dto/req/assos-search-req.dto.ts b/src/assos/dto/req/assos-search-req.dto.ts index 275f5bc0..87a697c0 100644 --- a/src/assos/dto/req/assos-search-req.dto.ts +++ b/src/assos/dto/req/assos-search-req.dto.ts @@ -1,5 +1,5 @@ import { Type } from 'class-transformer'; -import { IsNumber, IsPositive, IsString, IsOptional } from 'class-validator'; +import { IsNumber, IsOptional, IsPositive, IsString } from 'class-validator'; /** * Query parameters of the request to search Assos. diff --git a/src/assos/dto/req/assos-update-req.dto.ts b/src/assos/dto/req/assos-update-req.dto.ts index 1cb8ca4c..cb1451ea 100644 --- a/src/assos/dto/req/assos-update-req.dto.ts +++ b/src/assos/dto/req/assos-update-req.dto.ts @@ -5,11 +5,11 @@ import { IsOptional, IsPhoneNumber, IsString, - IsUrl, IsUUID, + IsUrl, ValidateNested, } from 'class-validator'; -import { TranslationReqDto } from '../../../app.dto'; +import { TranslationReqDto } from '@/app.dto'; export default class AssosUpdateReqDto { @IsOptional() diff --git a/src/assos/dto/res/asso-detail-res.dto.ts b/src/assos/dto/res/asso-detail-res.dto.ts index fb6e43af..acf1fec8 100644 --- a/src/assos/dto/res/asso-detail-res.dto.ts +++ b/src/assos/dto/res/asso-detail-res.dto.ts @@ -1,6 +1,6 @@ -import { Translation } from '../../../prisma/types'; +import { Translation } from '@/prisma/types'; import { ApiProperty } from '@nestjs/swagger'; -import AssoPresident from './asso-president-res.dto'; +import AssoPresident from '@/assos/dto/res/asso-president-res.dto'; export default class AssoDetailResDto { id: string; diff --git a/src/assos/dto/res/asso-members-res.dto.ts b/src/assos/dto/res/asso-members-res.dto.ts index faa01ace..396d1921 100644 --- a/src/assos/dto/res/asso-members-res.dto.ts +++ b/src/assos/dto/res/asso-members-res.dto.ts @@ -1,4 +1,4 @@ -import UserMicroResDto from '../../../users/dto/res/user-micro-res.dto'; +import UserMicroResDto from '@/users/dto/res/user-micro-res.dto'; export default class AssoMembersResDto { roles: AssoMembersRole[]; diff --git a/src/assos/dto/res/asso-overview-res.dto.ts b/src/assos/dto/res/asso-overview-res.dto.ts index ca21fa49..1168584d 100644 --- a/src/assos/dto/res/asso-overview-res.dto.ts +++ b/src/assos/dto/res/asso-overview-res.dto.ts @@ -1,6 +1,6 @@ -import { Translation } from '../../../prisma/types'; +import { Translation } from '@/prisma/types'; import { ApiProperty } from '@nestjs/swagger'; -import AssoPresident from './asso-president-res.dto'; +import AssoPresident from '@/assos/dto/res/asso-president-res.dto'; export default class AssoOverviewResDto { id: string; diff --git a/src/assos/dto/res/asso-president-res.dto.ts b/src/assos/dto/res/asso-president-res.dto.ts index a0cf3758..71d4a267 100644 --- a/src/assos/dto/res/asso-president-res.dto.ts +++ b/src/assos/dto/res/asso-president-res.dto.ts @@ -1,4 +1,4 @@ -import UserMicroResDto from '../../../users/dto/res/user-micro-res.dto'; +import UserMicroResDto from '@/users/dto/res/user-micro-res.dto'; export default class AssoPresident { role: AssoPresident_Role; diff --git a/src/assos/dto/res/assos-role-res.dto.ts b/src/assos/dto/res/assos-role-res.dto.ts index cf9ae9f8..4dc1c1c3 100644 --- a/src/assos/dto/res/assos-role-res.dto.ts +++ b/src/assos/dto/res/assos-role-res.dto.ts @@ -1,4 +1,4 @@ -import UserMicroResDto from '../../../users/dto/res/user-micro-res.dto'; +import UserMicroResDto from '@/users/dto/res/user-micro-res.dto'; export default class AssoRoleOverviewResDto { id: string; diff --git a/src/assos/interfaces/asso.interface.ts b/src/assos/interfaces/asso.interface.ts index f2cf7fe2..3ad2d87a 100644 --- a/src/assos/interfaces/asso.interface.ts +++ b/src/assos/interfaces/asso.interface.ts @@ -1,6 +1,6 @@ -import { Prisma, PrismaClient } from '../../prisma/types'; -import { generateCustomModel } from '../../prisma/prisma.service'; -import { translationSelect } from '../../utils'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { generateCustomModel } from '@/prisma/prisma.service'; +import { translationSelect } from '@/utils'; const ASSO_SELECT_FILTER = { select: { diff --git a/src/assos/interfaces/membership-role.interface.ts b/src/assos/interfaces/membership-role.interface.ts index ff582da8..70489732 100644 --- a/src/assos/interfaces/membership-role.interface.ts +++ b/src/assos/interfaces/membership-role.interface.ts @@ -1,5 +1,5 @@ -import { Prisma, PrismaClient } from '../../prisma/types'; -import { generateCustomModel } from '../../prisma/prisma.service'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { generateCustomModel } from '@/prisma/prisma.service'; const ASSO_MEMBERSHIPROLE_SELECT_FILTER = { select: { diff --git a/src/assos/interfaces/membership.interface.ts b/src/assos/interfaces/membership.interface.ts index e019df83..aaaba58b 100644 --- a/src/assos/interfaces/membership.interface.ts +++ b/src/assos/interfaces/membership.interface.ts @@ -1,5 +1,5 @@ -import { Prisma, PrismaClient } from '../../prisma/types'; -import { generateCustomModel } from '../../prisma/prisma.service'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { generateCustomModel } from '@/prisma/prisma.service'; const ASSO_MEMBERSHIP_SELECT_FILTER = { select: { diff --git a/src/assos/interfaces/weekly.interface.ts b/src/assos/interfaces/weekly.interface.ts index b3faa74e..d3d64d3d 100644 --- a/src/assos/interfaces/weekly.interface.ts +++ b/src/assos/interfaces/weekly.interface.ts @@ -1,7 +1,6 @@ -import { Prisma, PrismaClient } from '../../prisma/types'; -import { generateCustomModel } from '../../prisma/prisma.service'; -import { pick, translationSelect } from '../../utils'; -import { Translation } from '../../prisma/types'; +import { Prisma, PrismaClient , Translation } from '@/prisma/types'; +import { generateCustomModel } from '@/prisma/prisma.service'; +import { pick, translationSelect } from '@/utils'; const ASSO_WEEKLY_SELECT_FILTER = { select: { diff --git a/src/assos/weekly/dto/req/weekly-req.dto.ts b/src/assos/weekly/dto/req/weekly-req.dto.ts index 7e3070b9..6571e60b 100644 --- a/src/assos/weekly/dto/req/weekly-req.dto.ts +++ b/src/assos/weekly/dto/req/weekly-req.dto.ts @@ -1,7 +1,7 @@ import { Type } from 'class-transformer'; import { IsDate, IsNotEmpty, ValidateNested } from 'class-validator'; -import { TranslationReqDto } from '../../../../app.dto'; -import { IsWeekDate } from '../../../../validation'; +import { TranslationReqDto } from '@/app.dto'; +import { IsWeekDate } from '@/validation'; export default class WeeklyReqDto { @ValidateNested() diff --git a/src/assos/weekly/dto/res/weekly-res.dto.ts b/src/assos/weekly/dto/res/weekly-res.dto.ts index 911a9609..77db1489 100644 --- a/src/assos/weekly/dto/res/weekly-res.dto.ts +++ b/src/assos/weekly/dto/res/weekly-res.dto.ts @@ -1,4 +1,4 @@ -import { Translation } from '../../../../prisma/types'; +import { Translation } from '@/prisma/types'; export default class WeeklyResDto { id: string; diff --git a/src/assos/weekly/weekly-with-asso-id.controller.ts b/src/assos/weekly/weekly-with-asso-id.controller.ts index 703fe965..65eaf4e7 100644 --- a/src/assos/weekly/weekly-with-asso-id.controller.ts +++ b/src/assos/weekly/weekly-with-asso-id.controller.ts @@ -1,19 +1,19 @@ import { Body, Controller, Delete, Get, Patch, Post, Query } from '@nestjs/common'; import { ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiQuery } from '@nestjs/swagger'; -import WeeklyResDto from './dto/res/weekly-res.dto'; -import { ApiAppErrorResponse, paginatedResponseDto } from '../../app.dto'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { ParamAsso } from '../decorator/get-asso'; -import { Asso } from '../interfaces/asso.interface'; -import AssoGetWeeklyReqDto from './dto/req/weekly-search-req.dto'; -import { GetUser } from '../../auth/decorator'; -import { User } from '../../users/interfaces/user.interface'; -import AssosPostWeeklyReqDto from './dto/req/weekly-req.dto'; -import { UUIDParam } from '../../app.pipe'; -import { AssoWeekly } from '../interfaces/weekly.interface'; -import { ConfigService } from '../../config/config.service'; -import WeeklyService from './weekly.service'; -import { AssosService } from '../assos.service'; +import WeeklyResDto from '@/assos/weekly/dto/res/weekly-res.dto'; +import { ApiAppErrorResponse, paginatedResponseDto } from '@/app.dto'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { ParamAsso } from '@/assos/decorator/get-asso'; +import { Asso } from '@/assos/interfaces/asso.interface'; +import AssoGetWeeklyReqDto from '@/assos/weekly/dto/req/weekly-search-req.dto'; +import { GetUser } from '@/auth/decorator/get-user.decorator'; +import { User } from '@/users/interfaces/user.interface'; +import AssosPostWeeklyReqDto from '@/assos/weekly/dto/req/weekly-req.dto'; +import { UUIDParam } from '@/app.pipe'; +import { AssoWeekly } from '@/assos/interfaces/weekly.interface'; +import { ConfigService } from '@/config/config.service'; +import WeeklyService from '@/assos/weekly/weekly.service'; +import { AssosService } from '@/assos/assos.service'; @Controller('assos/:assoId/weekly') export class WeeklyWithAssoIdController { diff --git a/src/assos/weekly/weekly-without-asso-id.controller.ts b/src/assos/weekly/weekly-without-asso-id.controller.ts index daaec41d..d2befb7f 100644 --- a/src/assos/weekly/weekly-without-asso-id.controller.ts +++ b/src/assos/weekly/weekly-without-asso-id.controller.ts @@ -1,7 +1,7 @@ import { Controller, Get } from '@nestjs/common'; import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import WeeklyInfoResDto from './dto/res/weekly-info-res.dto'; -import { ConfigService } from '../../config/config.service'; +import WeeklyInfoResDto from '@/assos/weekly/dto/res/weekly-info-res.dto'; +import { ConfigService } from '@/config/config.service'; @Controller('assos/weekly') @ApiTags('Weekly') diff --git a/src/assos/weekly/weekly.service.ts b/src/assos/weekly/weekly.service.ts index ce557440..39bd19a9 100644 --- a/src/assos/weekly/weekly.service.ts +++ b/src/assos/weekly/weekly.service.ts @@ -1,10 +1,10 @@ import { Injectable } from '@nestjs/common'; -import { AssoWeekly } from '../interfaces/weekly.interface'; -import { Prisma } from '../../prisma/build/client'; -import { Translation } from '../../prisma/types'; -import WeeklyResDto from './dto/res/weekly-res.dto'; -import { PrismaService } from '../../prisma/prisma.service'; -import { ConfigService } from '../../config/config.service'; +import { AssoWeekly } from '@/assos/interfaces/weekly.interface'; +import { Prisma } from '@/prisma/build/client'; +import { Translation } from '@/prisma/types'; +import WeeklyResDto from '@/assos/weekly/dto/res/weekly-res.dto'; +import { PrismaService } from '@/prisma/prisma.service'; +import { ConfigService } from '@/config/config.service'; @Injectable() export default class WeeklyService { diff --git a/src/auth/application/application.controller.ts b/src/auth/application/application.controller.ts index 5ccd954d..81ec7891 100644 --- a/src/auth/application/application.controller.ts +++ b/src/auth/application/application.controller.ts @@ -1,19 +1,19 @@ import { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common'; -import ApplicationResDto from './dto/res/application-res.dto'; +import ApplicationResDto from '@/auth/application/dto/res/application-res.dto'; import { ApiOperation, ApiTags } from '@nestjs/swagger'; -import ApplicationService from './application.service'; -import { GetUser, IsPublic } from '../decorator'; -import { Application } from './interfaces/application.interface'; -import CreateApplicationReqDto from './dto/req/create-application-req.dto'; -import UpdateTokenReqDto from './dto/req/update-token-req.dto'; -import { PermissionManager, pick } from '../../utils'; -import AuthTokenResDto from '../dto/res/auth-token-res.dto'; -import { GetPermissions } from '../decorator/get-permissions.decorator'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { Permission } from '../../prisma/types'; -import ApplicationClientSecretResDto from './dto/res/application-client-secret-res.dto'; -import { ApiAppErrorResponse } from '../../app.dto'; -import ApplicationSensibleResDto from './dto/res/application-sensible-res.dto'; +import ApplicationService from '@/auth/application/application.service'; +import { GetUser, IsPublic } from '@/auth/decorator'; +import { Application } from '@/auth/application/interfaces/application.interface'; +import CreateApplicationReqDto from '@/auth/application/dto/req/create-application-req.dto'; +import UpdateTokenReqDto from '@/auth/application/dto/req/update-token-req.dto'; +import { PermissionManager, pick } from '@/utils'; +import AuthTokenResDto from '@/auth/dto/res/auth-token-res.dto'; +import { GetPermissions } from '@/auth/decorator/get-permissions.decorator'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { Permission } from '@/prisma/types'; +import ApplicationClientSecretResDto from '@/auth/application/dto/res/application-client-secret-res.dto'; +import { ApiAppErrorResponse } from '@/app.dto'; +import ApplicationSensibleResDto from '@/auth/application/dto/res/application-sensible-res.dto'; @Controller('auth/application') @ApiTags('Application') diff --git a/src/auth/application/application.service.ts b/src/auth/application/application.service.ts index 8b40e755..e3f58e4b 100644 --- a/src/auth/application/application.service.ts +++ b/src/auth/application/application.service.ts @@ -1,7 +1,7 @@ -import { PrismaService } from '../../prisma/prisma.service'; -import { Application } from './interfaces/application.interface'; +import { PrismaService } from '@/prisma/prisma.service'; +import { Application } from '@/auth/application/interfaces/application.interface'; import { Injectable } from '@nestjs/common'; -import { AuthService } from '../auth.service'; +import { AuthService } from '@/auth/auth.service'; @Injectable() export default class ApplicationService { diff --git a/src/auth/application/dto/res/application-res.dto.ts b/src/auth/application/dto/res/application-res.dto.ts index da936581..01f8724a 100644 --- a/src/auth/application/dto/res/application-res.dto.ts +++ b/src/auth/application/dto/res/application-res.dto.ts @@ -1,4 +1,4 @@ -import UserMicroResDto from '../../../../users/dto/res/user-micro-res.dto'; +import UserMicroResDto from '@/users/dto/res/user-micro-res.dto'; export default class ApplicationResDto { id: string; diff --git a/src/auth/application/dto/res/application-sensible-res.dto.ts b/src/auth/application/dto/res/application-sensible-res.dto.ts index 6bdc2b8d..fad878a9 100644 --- a/src/auth/application/dto/res/application-sensible-res.dto.ts +++ b/src/auth/application/dto/res/application-sensible-res.dto.ts @@ -1,4 +1,4 @@ -import UserMicroResDto from '../../../../users/dto/res/user-micro-res.dto'; +import UserMicroResDto from '@/users/dto/res/user-micro-res.dto'; export default class ApplicationSensibleResDto { id: string; diff --git a/src/auth/application/interfaces/application.interface.ts b/src/auth/application/interfaces/application.interface.ts index 5af7e4ad..948609ce 100644 --- a/src/auth/application/interfaces/application.interface.ts +++ b/src/auth/application/interfaces/application.interface.ts @@ -1,5 +1,5 @@ -import { Prisma, PrismaClient } from '../../../prisma/types'; -import { generateCustomModel } from '../../../prisma/prisma.service'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { generateCustomModel } from '@/prisma/prisma.service'; const APPLICATION_SELECT_FILTER = { select: { diff --git a/src/auth/auth.controller.ts b/src/auth/auth.controller.ts index 31380b0a..116f7e24 100644 --- a/src/auth/auth.controller.ts +++ b/src/auth/auth.controller.ts @@ -1,25 +1,25 @@ import { Body, Controller, Get, Headers, HttpCode, HttpStatus, Post } from '@nestjs/common'; -import { AuthService } from './auth.service'; -import AuthSignInReqDto from './dto/req/auth-sign-in-req.dto'; -import AuthSignUpReqDto from './dto/req/auth-sign-up-req.dto'; -import { IsPublic } from './decorator'; -import { AppException, ERROR_CODE } from '../exceptions'; -import AuthCasSignInReqDto from './dto/req/auth-cas-sign-in-req.dto'; -import AuthCasSignUpReqDto from './dto/req/auth-cas-sign-up-req.dto'; -import UsersService from '../users/users.service'; +import { AuthService } from '@/auth/auth.service'; +import AuthSignInReqDto from '@/auth/dto/req/auth-sign-in-req.dto'; +import AuthSignUpReqDto from '@/auth/dto/req/auth-sign-up-req.dto'; +import { IsPublic } from '@/auth/decorator'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import AuthCasSignInReqDto from '@/auth/dto/req/auth-cas-sign-in-req.dto'; +import AuthCasSignUpReqDto from '@/auth/dto/req/auth-cas-sign-up-req.dto'; +import UsersService from '@/users/users.service'; import { ApiCreatedResponse, ApiHeader, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import AuthSigninResDto from './dto/res/auth-signin-res.dto'; -import TokenValidityResDto from './dto/res/token-validity-res.dto'; -import CasLoginResDto from './dto/res/cas-login-res.dto'; -import { ApiAppErrorResponse } from '../app.dto'; -import { GetApplication } from './decorator/get-application.decorator'; -import CreateApiKeyReqDto from './dto/req/create-api-key-req.dto'; -import ApplicationService from './application/application.service'; -import { Application } from './application/interfaces/application.interface'; -import AuthValidateReqDto from './dto/req/auth-validate-req.dto'; -import { ConfigService } from '../config/config.service'; -import AuthTokenResDto from './dto/res/auth-token-res.dto'; -import AuthRedirectionResDto from './dto/res/auth-redirection-res.dto'; +import AuthSigninResDto from '@/auth/dto/res/auth-signin-res.dto'; +import TokenValidityResDto from '@/auth/dto/res/token-validity-res.dto'; +import CasLoginResDto from '@/auth/dto/res/cas-login-res.dto'; +import { ApiAppErrorResponse } from '@/app.dto'; +import { GetApplication } from '@/auth/decorator/get-application.decorator'; +import CreateApiKeyReqDto from '@/auth/dto/req/create-api-key-req.dto'; +import ApplicationService from '@/auth/application/application.service'; +import { Application } from '@/auth/application/interfaces/application.interface'; +import AuthValidateReqDto from '@/auth/dto/req/auth-validate-req.dto'; +import { ConfigService } from '@/config/config.service'; +import AuthTokenResDto from '@/auth/dto/res/auth-token-res.dto'; +import AuthRedirectionResDto from '@/auth/dto/res/auth-redirection-res.dto'; @Controller('auth') @ApiTags('Authentication') diff --git a/src/auth/auth.module.ts b/src/auth/auth.module.ts index 7a19ea11..40e8f8e3 100644 --- a/src/auth/auth.module.ts +++ b/src/auth/auth.module.ts @@ -1,15 +1,15 @@ import { Global, Module } from '@nestjs/common'; -import { AuthController } from './auth.controller'; -import { AuthService } from './auth.service'; +import { AuthController } from '@/auth/auth.controller'; +import { AuthService } from '@/auth/auth.service'; import { JwtModule } from '@nestjs/jwt'; -import { JwtStrategy } from './strategy/jwt.strategy'; -import { UsersModule } from '../users/users.module'; -import { LdapModule } from '../ldap/ldap.module'; -import { UeService } from '../ue/ue.service'; -import ApplicationController from './application/application.controller'; -import ApplicationService from './application/application.service'; -import PermissionsController from './permissions/permissions.controller'; -import PermissionsService from './permissions/permissions.service'; +import { JwtStrategy } from '@/auth/strategy/jwt.strategy'; +import { UsersModule } from '@/users/users.module'; +import { LdapModule } from '@/ldap/ldap.module'; +import { UeService } from '@/ue/ue.service'; +import ApplicationController from '@/auth/application/application.controller'; +import ApplicationService from '@/auth/application/application.service'; +import PermissionsController from '@/auth/permissions/permissions.controller'; +import PermissionsService from '@/auth/permissions/permissions.service'; @Global() @Module({ diff --git a/src/auth/auth.service.ts b/src/auth/auth.service.ts index 5106a7ed..28d18720 100644 --- a/src/auth/auth.service.ts +++ b/src/auth/auth.service.ts @@ -1,20 +1,19 @@ import { Injectable } from '@nestjs/common'; -import { PrismaService } from '../prisma/prisma.service'; +import { PrismaService } from '@/prisma/prisma.service'; import * as bcrypt from 'bcryptjs'; -import { Prisma, UserType, Permission } from '../prisma/types'; +import { Prisma, RawApiKey , UserType, Permission } from '@/prisma/types'; import { JwtService } from '@nestjs/jwt'; -import { AppException, ERROR_CODE } from '../exceptions'; -import { ConfigService } from '../config/config.service'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { ConfigService } from '@/config/config.service'; import { HttpService } from '@nestjs/axios'; import { lastValueFrom } from 'rxjs'; import { XMLParser } from 'fast-xml-parser'; -import { doesEntryIncludeSome, omit } from '../utils'; -import { LdapModule } from '../ldap/ldap.module'; -import { LdapAccountGroup } from '../ldap/ldap.interface'; -import { UeService } from '../ue/ue.service'; -import { SemesterService } from '../semester/semester.service'; -import AuthSignUpReqDto from './dto/req/auth-sign-up-req.dto'; -import { RawApiKey } from '../prisma/types'; +import { doesEntryIncludeSome, omit } from '@/utils'; +import { LdapModule } from '@/ldap/ldap.module'; +import { LdapAccountGroup } from '@/ldap/ldap.interface'; +import { UeService } from '@/ue/ue.service'; +import { SemesterService } from '@/semester/semester.service'; +import AuthSignUpReqDto from '@/auth/dto/req/auth-sign-up-req.dto'; import crypto from 'crypto'; export type RegisterUserData = { diff --git a/src/auth/decorator/get-application.decorator.ts b/src/auth/decorator/get-application.decorator.ts index 2fe056d1..293a9fc7 100644 --- a/src/auth/decorator/get-application.decorator.ts +++ b/src/auth/decorator/get-application.decorator.ts @@ -1,6 +1,6 @@ -import { createParamDecorator, ExecutionContext } from '@nestjs/common'; -import { RequestAuthData } from '../interfaces/request-auth-data.interface'; -import { Application } from '../application/interfaces/application.interface'; +import { ExecutionContext, createParamDecorator } from '@nestjs/common'; +import { RequestAuthData } from '@/auth/interfaces/request-auth-data.interface'; +import { Application } from '@/auth/application/interfaces/application.interface'; /** * Get the application that made the request. diff --git a/src/auth/decorator/get-permissions.decorator.ts b/src/auth/decorator/get-permissions.decorator.ts index ca84fdd1..511b85fe 100644 --- a/src/auth/decorator/get-permissions.decorator.ts +++ b/src/auth/decorator/get-permissions.decorator.ts @@ -1,5 +1,5 @@ -import { createParamDecorator, ExecutionContext } from '@nestjs/common'; -import { RequestAuthData } from '../interfaces/request-auth-data.interface'; +import { ExecutionContext, createParamDecorator } from '@nestjs/common'; +import { RequestAuthData } from '@/auth/interfaces/request-auth-data.interface'; /** * Get the permissions of a user. diff --git a/src/auth/decorator/get-user.decorator.ts b/src/auth/decorator/get-user.decorator.ts index 321a61d1..384be3b9 100644 --- a/src/auth/decorator/get-user.decorator.ts +++ b/src/auth/decorator/get-user.decorator.ts @@ -1,6 +1,6 @@ -import { createParamDecorator, ExecutionContext } from '@nestjs/common'; -import { User } from 'src/users/interfaces/user.interface'; -import { RequestAuthData } from '../interfaces/request-auth-data.interface'; +import { ExecutionContext, createParamDecorator } from '@nestjs/common'; +import { User } from '@/users/interfaces/user.interface'; +import { RequestAuthData } from '@/auth/interfaces/request-auth-data.interface'; /** * Get the user from the request. diff --git a/src/auth/decorator/index.ts b/src/auth/decorator/index.ts index 90ff7cc2..8c7be230 100644 --- a/src/auth/decorator/index.ts +++ b/src/auth/decorator/index.ts @@ -1,5 +1,5 @@ -export * from './get-user.decorator'; -export * from './require-permission.decorator'; -export * from './public.decorator'; -export * from './require-role.decorator'; -export * from './skip-application-check.decorator'; +export * from '@/auth/decorator/get-user.decorator'; +export * from '@/auth/decorator/require-permission.decorator'; +export * from '@/auth/decorator/public.decorator'; +export * from '@/auth/decorator/require-role.decorator'; +export * from '@/auth/decorator/skip-application-check.decorator'; diff --git a/src/auth/decorator/require-permission.decorator.ts b/src/auth/decorator/require-permission.decorator.ts index a6adb38f..c37a4e16 100644 --- a/src/auth/decorator/require-permission.decorator.ts +++ b/src/auth/decorator/require-permission.decorator.ts @@ -1,6 +1,6 @@ -import { SetMetadata, ExecutionContext } from '@nestjs/common'; +import { ExecutionContext, SetMetadata } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; -import { ApiPermission } from '../interfaces/permissions.interface'; +import { ApiPermission } from '@/auth/interfaces/permissions.interface'; export const REQUIRED_PERMISSIONS_KEY = 'requiredPermissions'; /** diff --git a/src/auth/decorator/require-role.decorator.ts b/src/auth/decorator/require-role.decorator.ts index 98f832e1..b883a550 100644 --- a/src/auth/decorator/require-role.decorator.ts +++ b/src/auth/decorator/require-role.decorator.ts @@ -1,6 +1,6 @@ import { ExecutionContext, SetMetadata } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; -import { UserType } from '../../prisma/types'; +import { UserType } from '@/prisma/types'; export const REQUIRED_USER_TYPES_KEY = 'requiredUserTypes'; /** diff --git a/src/auth/dto/req/auth-sign-up-req.dto.ts b/src/auth/dto/req/auth-sign-up-req.dto.ts index cf69fe4b..9949d7a0 100644 --- a/src/auth/dto/req/auth-sign-up-req.dto.ts +++ b/src/auth/dto/req/auth-sign-up-req.dto.ts @@ -1,7 +1,6 @@ -import { IsAlphanumeric, IsDate, IsEnum, IsNotEmpty, IsNumber, IsOptional, IsString } from 'class-validator'; -import { IsPositive } from 'class-validator'; +import { IsAlphanumeric, IsDate, IsEnum, IsNotEmpty, IsNumber, IsOptional, IsPositive , IsString } from 'class-validator'; import { Type } from 'class-transformer'; -import { Sex } from '../../../prisma/types'; +import { Sex } from '@/prisma/types'; import { ApiProperty } from '@nestjs/swagger'; export default class AuthSignUpReqDto { diff --git a/src/auth/guard/index.ts b/src/auth/guard/index.ts index 3f1c103b..8e307ec3 100644 --- a/src/auth/guard/index.ts +++ b/src/auth/guard/index.ts @@ -1 +1 @@ -export * from './jwt.guard'; +export * from '@/auth/guard/jwt.guard'; diff --git a/src/auth/guard/jwt.guard.ts b/src/auth/guard/jwt.guard.ts index 5235efb7..e64d2ef3 100644 --- a/src/auth/guard/jwt.guard.ts +++ b/src/auth/guard/jwt.guard.ts @@ -1,12 +1,12 @@ import { ExecutionContext, Injectable } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; -import { IsPublic, SkipApplicationCheck } from '../decorator'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { RequestAuthData } from '../interfaces/request-auth-data.interface'; -import { PrismaService } from '../../prisma/prisma.service'; -import { PermissionManager } from '../../utils'; -import { RawApiApplication } from '../../prisma/types'; +import { IsPublic, SkipApplicationCheck } from '@/auth/decorator'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { RequestAuthData } from '@/auth/interfaces/request-auth-data.interface'; +import { PrismaService } from '@/prisma/prisma.service'; +import { PermissionManager } from '@/utils'; +import { RawApiApplication } from '@/prisma/types'; @Injectable() export class JwtGuard extends AuthGuard('jwt') { diff --git a/src/auth/guard/permission.guard.ts b/src/auth/guard/permission.guard.ts index eefb86b6..505400a8 100644 --- a/src/auth/guard/permission.guard.ts +++ b/src/auth/guard/permission.guard.ts @@ -1,8 +1,8 @@ import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; -import { findRequiredApiPermissions } from '../decorator'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { RequestAuthData } from '../interfaces/request-auth-data.interface'; +import { findRequiredApiPermissions } from '@/auth/decorator'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { RequestAuthData } from '@/auth/interfaces/request-auth-data.interface'; @Injectable() export class PermissionGuard implements CanActivate { diff --git a/src/auth/guard/role.guard.ts b/src/auth/guard/role.guard.ts index fa53f9c3..12e05eb2 100644 --- a/src/auth/guard/role.guard.ts +++ b/src/auth/guard/role.guard.ts @@ -1,8 +1,8 @@ import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; -import { findRequiredUserTypes } from '../decorator'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { RequestAuthData } from '../interfaces/request-auth-data.interface'; +import { findRequiredUserTypes } from '@/auth/decorator'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { RequestAuthData } from '@/auth/interfaces/request-auth-data.interface'; @Injectable() export class RoleGuard implements CanActivate { diff --git a/src/auth/interfaces/permissions.interface.ts b/src/auth/interfaces/permissions.interface.ts index d7a95dc7..c96f266e 100644 --- a/src/auth/interfaces/permissions.interface.ts +++ b/src/auth/interfaces/permissions.interface.ts @@ -1,4 +1,4 @@ -import { Permission } from '../../prisma/types'; +import { Permission } from '@/prisma/types'; export type ApiPermission = Permission & `API_${string}`; export type UserPermission = Permission & `USER_${string}`; diff --git a/src/auth/interfaces/request-auth-data.interface.ts b/src/auth/interfaces/request-auth-data.interface.ts index 74cee73a..eba16c0c 100644 --- a/src/auth/interfaces/request-auth-data.interface.ts +++ b/src/auth/interfaces/request-auth-data.interface.ts @@ -1,6 +1,6 @@ -import { User } from '../../users/interfaces/user.interface'; -import { RawApiApplication } from '../../prisma/types'; -import { PermissionManager } from '../../utils'; +import { User } from '@/users/interfaces/user.interface'; +import { RawApiApplication } from '@/prisma/types'; +import { PermissionManager } from '@/utils'; export interface RequestAuthData { application: RawApiApplication; diff --git a/src/auth/permissions/dto/res/permissions.dto.ts b/src/auth/permissions/dto/res/permissions.dto.ts index 558e2800..213708fa 100644 --- a/src/auth/permissions/dto/res/permissions.dto.ts +++ b/src/auth/permissions/dto/res/permissions.dto.ts @@ -1,5 +1,5 @@ -import { UserPermission } from '../../../interfaces/permissions.interface'; -import { Permission } from '../../../../prisma/types'; +import { UserPermission } from '@/auth/interfaces/permissions.interface'; +import { Permission } from '@/prisma/types'; export default class PermissionsResDto { hardPermissions: Permission[]; diff --git a/src/auth/permissions/permissions.controller.ts b/src/auth/permissions/permissions.controller.ts index da157904..7a33549f 100644 --- a/src/auth/permissions/permissions.controller.ts +++ b/src/auth/permissions/permissions.controller.ts @@ -1,11 +1,11 @@ import { Controller, Get, Param } from '@nestjs/common'; import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import PermissionsService from './permissions.service'; -import { GetPermissions } from '../decorator/get-permissions.decorator'; -import { PermissionManager } from '../../utils'; -import PermissionsResDto from './dto/res/permissions.dto'; -import { AuthService } from '../auth.service'; -import { AppException, ERROR_CODE } from '../../exceptions'; +import PermissionsService from '@/auth/permissions/permissions.service'; +import { GetPermissions } from '@/auth/decorator/get-permissions.decorator'; +import { PermissionManager } from '@/utils'; +import PermissionsResDto from '@/auth/permissions/dto/res/permissions.dto'; +import { AuthService } from '@/auth/auth.service'; +import { AppException, ERROR_CODE } from '@/exceptions'; @Controller('auth/permissions') @ApiTags('Permissions') diff --git a/src/auth/permissions/permissions.service.ts b/src/auth/permissions/permissions.service.ts index 871f45d0..e6b19904 100644 --- a/src/auth/permissions/permissions.service.ts +++ b/src/auth/permissions/permissions.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { PrismaService } from '../../prisma/prisma.service'; -import { UserPermission } from '../interfaces/permissions.interface'; -import { PermissionManager } from '../../utils'; +import { PrismaService } from '@/prisma/prisma.service'; +import { UserPermission } from '@/auth/interfaces/permissions.interface'; +import { PermissionManager } from '@/utils'; @Injectable() export default class PermissionsService { diff --git a/src/auth/strategy/jwt.strategy.ts b/src/auth/strategy/jwt.strategy.ts index a07f67c1..b74ae952 100644 --- a/src/auth/strategy/jwt.strategy.ts +++ b/src/auth/strategy/jwt.strategy.ts @@ -1,11 +1,11 @@ import { Injectable } from '@nestjs/common'; import { PassportStrategy } from '@nestjs/passport'; import { ExtractJwt, Strategy } from 'passport-jwt'; -import { PrismaService } from '../../prisma/prisma.service'; -import { ConfigService } from '../../config/config.service'; -import { RequestAuthData } from '../interfaces/request-auth-data.interface'; -import { PermissionManager } from '../../utils'; -import { UserPermission } from '../interfaces/permissions.interface'; +import { PrismaService } from '@/prisma/prisma.service'; +import { ConfigService } from '@/config/config.service'; +import { RequestAuthData } from '@/auth/interfaces/request-auth-data.interface'; +import { PermissionManager } from '@/utils'; +import { UserPermission } from '@/auth/interfaces/permissions.interface'; @Injectable() export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') { diff --git a/src/branch/branch.controller.ts b/src/branch/branch.controller.ts index b6accaec..6516ef61 100644 --- a/src/branch/branch.controller.ts +++ b/src/branch/branch.controller.ts @@ -1,9 +1,9 @@ import { Controller, Get } from '@nestjs/common'; -import { BranchService } from './branch.service'; -import { IsPublic } from '../auth/decorator'; -import { Branch } from './interface/branch.interface'; +import { BranchService } from '@/branch/branch.service'; +import { IsPublic } from '@/auth/decorator'; +import { Branch } from '@/branch/interface/branch.interface'; import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import BranchResDto from './dto/res/branch-res.dto'; +import BranchResDto from '@/branch/dto/res/branch-res.dto'; @Controller('branch') @ApiTags('Branch') diff --git a/src/branch/branch.module.ts b/src/branch/branch.module.ts index a631d396..34558a88 100644 --- a/src/branch/branch.module.ts +++ b/src/branch/branch.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { BranchService } from './branch.service'; -import { BranchController } from './branch.controller'; +import { BranchService } from '@/branch/branch.service'; +import { BranchController } from '@/branch/branch.controller'; @Module({ providers: [BranchService], diff --git a/src/branch/branch.service.ts b/src/branch/branch.service.ts index 38eb61cb..f5c1a013 100644 --- a/src/branch/branch.service.ts +++ b/src/branch/branch.service.ts @@ -1,6 +1,6 @@ -import { PrismaService } from '../prisma/prisma.service'; +import { PrismaService } from '@/prisma/prisma.service'; import { Injectable } from '@nestjs/common'; -import { SelectBranch } from './interface/branch.interface'; +import { SelectBranch } from '@/branch/interface/branch.interface'; @Injectable() export class BranchService { diff --git a/src/branch/interface/branch.interface.ts b/src/branch/interface/branch.interface.ts index 00799fd0..731fdb41 100644 --- a/src/branch/interface/branch.interface.ts +++ b/src/branch/interface/branch.interface.ts @@ -1,4 +1,4 @@ -import { Prisma } from '../../prisma/types'; +import { Prisma } from '@/prisma/types'; const BRANCH_SELECT_FILTER = { select: { diff --git a/src/config/config.module.ts b/src/config/config.module.ts index 3a61ce46..7e974556 100644 --- a/src/config/config.module.ts +++ b/src/config/config.module.ts @@ -1,6 +1,6 @@ import { Global, Module } from '@nestjs/common'; import { ConfigModule as NestConfigModule } from '@nestjs/config'; -import { ConfigService, isTestEnv } from './config.service'; +import { ConfigService, isTestEnv } from '@/config/config.service'; @Global() @Module({ diff --git a/src/config/config.service.ts b/src/config/config.service.ts index e3d9a9ed..73df7a3b 100644 --- a/src/config/config.service.ts +++ b/src/config/config.service.ts @@ -52,9 +52,9 @@ export class ConfigService { this.IS_PROD_ENV = isProdEnv; this.TIMETABLE_URL = config.get('TIMETABLE_URL'); this.ANNAL_UPLOAD_DIR = config.get('ANNAL_UPLOAD_DIR'); - if (this.ANNAL_UPLOAD_DIR.endsWith('/')) this.ANNAL_UPLOAD_DIR = this.ANNAL_UPLOAD_DIR.slice(0, -1); + if (this.ANNAL_UPLOAD_DIR.endsWith('@/')) this.ANNAL_UPLOAD_DIR = this.ANNAL_UPLOAD_DIR.slice(0, -1); this.MEDIA_UPLOAD_DIR = config.get('MEDIA_UPLOAD_DIR'); - if (this.MEDIA_UPLOAD_DIR.endsWith('/')) this.MEDIA_UPLOAD_DIR = this.MEDIA_UPLOAD_DIR.slice(0, -1); + if (this.MEDIA_UPLOAD_DIR.endsWith('@/')) this.MEDIA_UPLOAD_DIR = this.MEDIA_UPLOAD_DIR.slice(0, -1); this.MEDIA_DETACHED_LIFESPAN = Number(config.get('MEDIA_DETACHED_LIFESPAN')); this.ETUUTT_WEBSITE_APPLICATION_ID = config.get('ETUUTT_WEBSITE_APPLICATION_ID'); this.SMTP_HOST = config.get('SMTP_HOST'); diff --git a/src/ldap/ldap.module.ts b/src/ldap/ldap.module.ts index 631eebb7..9374488e 100644 --- a/src/ldap/ldap.module.ts +++ b/src/ldap/ldap.module.ts @@ -1,7 +1,7 @@ import { Injectable, Module } from '@nestjs/common'; import { Client as LdapClient } from 'ldapts'; -import { ConfigService } from '../config/config.service'; -import { LdapUser } from './ldap.interface'; +import { ConfigService } from '@/config/config.service'; +import { LdapUser } from '@/ldap/ldap.interface'; @Module({ exports: [LdapModule], diff --git a/src/lexical/lexical.module.ts b/src/lexical/lexical.module.ts index f9ba9a2f..c5235c8a 100644 --- a/src/lexical/lexical.module.ts +++ b/src/lexical/lexical.module.ts @@ -1,15 +1,15 @@ import { Module } from '@nestjs/common'; -import { TextNode, ParagraphNode } from 'lexical'; +import { ParagraphNode, TextNode } from 'lexical'; import { createHeadlessEditor } from '@lexical/headless'; import { $generateHtmlFromNodes } from '@lexical/html'; import { AutoLinkNode, LinkNode } from '@lexical/link'; import { HeadingNode, QuoteNode } from '@lexical/rich-text'; import { CodeHighlightNode, CodeNode } from '@lexical/code'; -import { TableNode, TableCellNode, TableRowNode } from '@lexical/table'; -import { ListNode, ListItemNode } from '@lexical/list'; +import { TableCellNode, TableNode, TableRowNode } from '@lexical/table'; +import { ListItemNode, ListNode } from '@lexical/list'; import { HorizontalRuleNode } from '@lexical/extension'; -import { ColorTextNode, ImageNode, RegisteredStyleMap } from './nodes'; -import { patchNodeExportDOM } from './nodes/NodeStyleInjector'; +import { ColorTextNode, ImageNode, RegisteredStyleMap } from '@/lexical/nodes'; +import { patchNodeExportDOM } from '@/lexical/nodes/NodeStyleInjector'; /** @internal */ export const BUNDLES = { diff --git a/src/lexical/nodes/ColorTextNode.ts b/src/lexical/nodes/ColorTextNode.ts index 18cebbf8..ec5c009d 100644 --- a/src/lexical/nodes/ColorTextNode.ts +++ b/src/lexical/nodes/ColorTextNode.ts @@ -4,9 +4,9 @@ import { $getStateChange, $setState, BaseStaticNodeConfig, - createState, EditorConfig, TextNode, + createState, } from 'lexical'; export enum Color { diff --git a/src/lexical/nodes/ImageNode.ts b/src/lexical/nodes/ImageNode.ts index 7da8a5c7..c8771888 100644 --- a/src/lexical/nodes/ImageNode.ts +++ b/src/lexical/nodes/ImageNode.ts @@ -2,9 +2,9 @@ import { $create, $getState, $getStateChange, $setState, BaseStaticNodeConfig, - createState, DecoratorNode, EditorConfig, + createState, } from 'lexical'; const srcState = createState('src', { diff --git a/src/lexical/nodes/index.ts b/src/lexical/nodes/index.ts index 31e066e9..210d61fd 100644 --- a/src/lexical/nodes/index.ts +++ b/src/lexical/nodes/index.ts @@ -1,7 +1,7 @@ import type { EditorThemeClasses } from 'lexical'; -export { ColorTextNode } from './ColorTextNode'; -export { ImageNode } from './ImageNode'; -import './NodeStyleInjector'; +export { ColorTextNode } from '@/lexical/nodes/ColorTextNode'; +export { ImageNode } from '@/lexical/nodes/ImageNode'; +import '@/lexical/nodes/NodeStyleInjector'; export type RegisteredStyleMap = {[K in keyof SubEditorThemeClasses]: SubEditorThemeClasses[K] extends Record ? RegisteredStyleMap : keyof typeof CustomStyles}; diff --git a/src/mail/mail.module.ts b/src/mail/mail.module.ts index 3285e70a..46d6d242 100644 --- a/src/mail/mail.module.ts +++ b/src/mail/mail.module.ts @@ -1,7 +1,7 @@ import { Global, Module } from '@nestjs/common'; -import { MailService } from './mail.service'; +import { MailService } from '@/mail/mail.service'; import { MailerModule } from '@nestjs-modules/mailer'; -import { ConfigService } from '../config/config.service'; +import { ConfigService } from '@/config/config.service'; import { EjsAdapter } from '@nestjs-modules/mailer/dist/adapters/ejs.adapter'; @Global() diff --git a/src/main.ts b/src/main.ts index 64f69b7d..f26f5511 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,9 +1,9 @@ import { NestFactory } from '@nestjs/core'; import { VersioningType } from '@nestjs/common'; import { DocumentBuilder, OpenAPIObject, SwaggerModule } from '@nestjs/swagger'; -import { AppModule } from './app.module'; -import { AppValidationPipe } from './app.pipe'; -import './std.type'; +import { AppModule } from '@/app.module'; +import { AppValidationPipe } from '@/app.pipe'; +import '@/std.type'; async function bootstrap() { const app = await NestFactory.create(AppModule); diff --git a/src/media/image/dto/req/imagemedia-upload-req.dto.ts b/src/media/image/dto/req/imagemedia-upload-req.dto.ts index 15d0ebf1..c6ab4d46 100644 --- a/src/media/image/dto/req/imagemedia-upload-req.dto.ts +++ b/src/media/image/dto/req/imagemedia-upload-req.dto.ts @@ -1,4 +1,4 @@ -import { ImageMediaPreset } from '../../../../prisma/types'; +import { ImageMediaPreset } from '@/prisma/types'; import { ApiProperty } from '@nestjs/swagger'; import { Type } from 'class-transformer'; import { IsBoolean, IsEnum, IsInt, IsOptional, IsString, Max, Min } from 'class-validator'; diff --git a/src/media/image/dto/res/imagemedia-upload-res.dto.ts b/src/media/image/dto/res/imagemedia-upload-res.dto.ts index fbe34875..681d8aaf 100644 --- a/src/media/image/dto/res/imagemedia-upload-res.dto.ts +++ b/src/media/image/dto/res/imagemedia-upload-res.dto.ts @@ -1,4 +1,4 @@ -import { ImageMediaPreset } from '../../../../prisma/types'; +import { ImageMediaPreset } from '@/prisma/types'; import { ApiResponseProperty } from '@nestjs/swagger'; export default class ImageMediaUploadResDto { diff --git a/src/media/image/imagemedia.controller.ts b/src/media/image/imagemedia.controller.ts index 35a5d89b..d7f6f6c4 100644 --- a/src/media/image/imagemedia.controller.ts +++ b/src/media/image/imagemedia.controller.ts @@ -1,16 +1,16 @@ import { Controller, Get, Post, Query, Response } from '@nestjs/common'; import { ApiConsumes, ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; import { Response as ExpressResponse } from 'express'; -import { FileSize, MulterWithMime, UploadRoute, UserFile } from '../../upload.interceptor'; -import { GetUser, IsPublic, RequireApiPermission, SkipApplicationCheck } from '../../auth/decorator'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { ApiAppErrorResponse } from '../../app.dto'; -import { ImageMediaService } from './imagemedia.service'; -import { UUIDParam } from '../../app.pipe'; -import { omit } from '../../utils'; -import { User } from '../../users/interfaces/user.interface'; -import ImageMediaUploadReqDto from './dto/req/imagemedia-upload-req.dto'; -import ImageMediaUploadResDto from './dto/res/imagemedia-upload-res.dto'; +import { FileSize, MulterWithMime, UploadRoute, UserFile } from '@/upload.interceptor'; +import { GetUser, IsPublic, RequireApiPermission, SkipApplicationCheck } from '@/auth/decorator'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { ApiAppErrorResponse } from '@/app.dto'; +import { ImageMediaService } from '@/media/image/imagemedia.service'; +import { UUIDParam } from '@/app.pipe'; +import { omit } from '@/utils'; +import { User } from '@/users/interfaces/user.interface'; +import ImageMediaUploadReqDto from '@/media/image/dto/req/imagemedia-upload-req.dto'; +import ImageMediaUploadResDto from '@/media/image/dto/res/imagemedia-upload-res.dto'; @Controller('media/image') @ApiTags('Media') diff --git a/src/media/image/imagemedia.module.ts b/src/media/image/imagemedia.module.ts index a3978240..107fd706 100644 --- a/src/media/image/imagemedia.module.ts +++ b/src/media/image/imagemedia.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { ImageMediaController } from './imagemedia.controller'; -import { ImageMediaService } from './imagemedia.service'; +import { ImageMediaController } from '@/media/image/imagemedia.controller'; +import { ImageMediaService } from '@/media/image/imagemedia.service'; @Module({ controllers: [ImageMediaController], diff --git a/src/media/image/imagemedia.service.ts b/src/media/image/imagemedia.service.ts index 23a240c5..bcf90dc4 100644 --- a/src/media/image/imagemedia.service.ts +++ b/src/media/image/imagemedia.service.ts @@ -1,12 +1,12 @@ -import { createReadStream, ReadStream } from 'fs'; +import { ReadStream, createReadStream } from 'fs'; import { rm, writeFile } from 'fs/promises'; import { Injectable } from '@nestjs/common'; -import { RawImageMedia, ImageMediaPreset } from '../../prisma/types'; -import { ConfigService, isTestEnv } from '../../config/config.service'; -import { PrismaService } from '../../prisma/prisma.service'; -import { MulterWithMime } from '../../upload.interceptor'; -import { User } from '../../users/interfaces/user.interface'; -import ImageMediaUploadReqDto from './dto/req/imagemedia-upload-req.dto'; +import { ImageMediaPreset, RawImageMedia } from '@/prisma/types'; +import { ConfigService, isTestEnv } from '@/config/config.service'; +import { PrismaService } from '@/prisma/prisma.service'; +import { MulterWithMime } from '@/upload.interceptor'; +import { User } from '@/users/interfaces/user.interface'; +import ImageMediaUploadReqDto from '@/media/image/dto/req/imagemedia-upload-req.dto'; import sharp from 'sharp'; export type ConversionOptions = Omit; diff --git a/src/prisma/prisma.module.ts b/src/prisma/prisma.module.ts index 7207426f..f9083611 100644 --- a/src/prisma/prisma.module.ts +++ b/src/prisma/prisma.module.ts @@ -1,5 +1,5 @@ import { Global, Module } from '@nestjs/common'; -import { PrismaService } from './prisma.service'; +import { PrismaService } from '@/prisma/prisma.service'; @Global() @Module({ diff --git a/src/prisma/prisma.service.ts b/src/prisma/prisma.service.ts index b114bb75..a5d31945 100644 --- a/src/prisma/prisma.service.ts +++ b/src/prisma/prisma.service.ts @@ -1,21 +1,21 @@ import { Injectable, OnModuleDestroy } from '@nestjs/common'; import { PrismaMariaDb } from '@prisma/adapter-mariadb'; -import { PrismaClient } from './types'; -import { ConfigService } from '../config/config.service'; -import { generateCustomUserModel } from '../users/interfaces/user.interface'; -import { omit } from '../utils'; -import { generateCustomCommentModel } from '../ue/comments/interfaces/comment.interface'; -import { generateCustomCriterionModel } from '../ue/interfaces/criterion.interface'; -import { generateCustomRateModel } from '../ue/interfaces/rate.interface'; -import { generateCustomUeModel } from '../ue/interfaces/ue.interface'; -import { generateCustomUeAnnalModel } from '../ue/annals/interfaces/annal.interface'; -import { generateCustomUeCommentReplyModel } from '../ue/comments/interfaces/comment-reply.interface'; -import { generateCustomAssoModel } from '../assos/interfaces/asso.interface'; -import { generateCustomAssoMembershipModel } from '../assos/interfaces/membership.interface'; -import { generateCustomAssoMembershipRoleModel } from '../assos/interfaces/membership-role.interface'; -import { generateCustomCreditCategoryModel } from '../ue/credit/interfaces/credit-category.interface'; -import { generateCustomApplicationModel } from '../auth/application/interfaces/application.interface'; -import { generateCustomAssoWeeklyModel } from '../assos/interfaces/weekly.interface'; +import { PrismaClient } from '@/prisma/types'; +import { ConfigService } from '@/config/config.service'; +import { generateCustomUserModel } from '@/users/interfaces/user.interface'; +import { omit } from '@/utils'; +import { generateCustomCommentModel } from '@/ue/comments/interfaces/comment.interface'; +import { generateCustomCriterionModel } from '@/ue/interfaces/criterion.interface'; +import { generateCustomRateModel } from '@/ue/interfaces/rate.interface'; +import { generateCustomUeModel } from '@/ue/interfaces/ue.interface'; +import { generateCustomUeAnnalModel } from '@/ue/annals/interfaces/annal.interface'; +import { generateCustomUeCommentReplyModel } from '@/ue/comments/interfaces/comment-reply.interface'; +import { generateCustomAssoModel } from '@/assos/interfaces/asso.interface'; +import { generateCustomAssoMembershipModel } from '@/assos/interfaces/membership.interface'; +import { generateCustomAssoMembershipRoleModel } from '@/assos/interfaces/membership-role.interface'; +import { generateCustomCreditCategoryModel } from '@/ue/credit/interfaces/credit-category.interface'; +import { generateCustomApplicationModel } from '@/auth/application/interfaces/application.interface'; +import { generateCustomAssoWeeklyModel } from '@/assos/interfaces/weekly.interface'; @Injectable() export class PrismaService extends PrismaClient> implements OnModuleDestroy { @@ -35,7 +35,7 @@ export class PrismaService extends PrismaClient const prismaOptions = (config: ConfigService) => ({ adapter: new PrismaMariaDb(config.DATABASE_URL) }); /** - * @typedef {import('../prisma/types').Prisma.UserDelegate} UserDelegate + * @typedef {import('@/prisma/types').Prisma.UserDelegate} UserDelegate */ function createNormalizedEntitiesUtility(prisma: PrismaClient) { diff --git a/src/prisma/types.ts b/src/prisma/types.ts index d252700f..22c2b2de 100644 --- a/src/prisma/types.ts +++ b/src/prisma/types.ts @@ -1,4 +1,4 @@ -import { Language, Translation as RawTranslation } from './build/client'; +import { Language, Translation as RawTranslation } from '@/prisma/build/client'; export { Prisma, @@ -48,7 +48,7 @@ export { ApiKey as RawApiKey, ImageMedia as RawImageMedia, -} from './build/client'; +} from '@/prisma/build/client'; export { RawTranslation }; export type Translation = Pick, Language>; diff --git a/src/profile/dto/req/homepage-widgets-update-req.dto.ts b/src/profile/dto/req/homepage-widgets-update-req.dto.ts index e2330950..73135c43 100644 --- a/src/profile/dto/req/homepage-widgets-update-req.dto.ts +++ b/src/profile/dto/req/homepage-widgets-update-req.dto.ts @@ -1,6 +1,6 @@ import { IsArray, IsInt, IsNumber, IsPositive, IsString, Min, ValidateNested } from 'class-validator'; import { Type } from 'class-transformer'; -import { ArrayDto } from '../../../app.pipe'; +import { ArrayDto } from '@/app.pipe'; export class HomepageWidgetsUpdateElement { @IsNumber() diff --git a/src/profile/profile.controller.ts b/src/profile/profile.controller.ts index 65b87071..5f49b64c 100644 --- a/src/profile/profile.controller.ts +++ b/src/profile/profile.controller.ts @@ -1,13 +1,13 @@ import { Body, Controller, Get, Put } from '@nestjs/common'; -import { GetUser } from '../auth/decorator'; -import { User } from '../users/interfaces/user.interface'; -import { AppException, ERROR_CODE } from '../exceptions'; -import { ProfileService } from './profile.service'; -import { HomepageWidgetsUpdateReqDto } from './dto/req/homepage-widgets-update-req.dto'; -import { RawHomepageWidget } from '../prisma/types'; +import { GetUser } from '@/auth/decorator'; +import { User } from '@/users/interfaces/user.interface'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { ProfileService } from '@/profile/profile.service'; +import { HomepageWidgetsUpdateReqDto } from '@/profile/dto/req/homepage-widgets-update-req.dto'; +import { RawHomepageWidget } from '@/prisma/types'; import { ApiBody, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import HomepageWidgetResDto from './dto/res/homepage-widget-res.dto'; -import { ApiAppErrorResponse } from '../app.dto'; +import HomepageWidgetResDto from '@/profile/dto/res/homepage-widget-res.dto'; +import { ApiAppErrorResponse } from '@/app.dto'; @Controller('profile') @ApiTags('Profile') diff --git a/src/profile/profile.module.ts b/src/profile/profile.module.ts index 26c28cf1..485834fe 100644 --- a/src/profile/profile.module.ts +++ b/src/profile/profile.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; -import { ProfileController } from './profile.controller'; -import { ProfileService } from './profile.service'; -import { PrismaModule } from '../prisma/prisma.module'; -import { UsersModule } from '../users/users.module'; +import { ProfileController } from '@/profile/profile.controller'; +import { ProfileService } from '@/profile/profile.service'; +import { PrismaModule } from '@/prisma/prisma.module'; +import { UsersModule } from '@/users/users.module'; @Module({ controllers: [ProfileController], diff --git a/src/profile/profile.service.ts b/src/profile/profile.service.ts index da6c3203..ff50a6a5 100644 --- a/src/profile/profile.service.ts +++ b/src/profile/profile.service.ts @@ -1,6 +1,6 @@ -import { PrismaService } from '../prisma/prisma.service'; -import { RawHomepageWidget } from '../prisma/types'; -import { HomepageWidgetsUpdateElement } from './dto/req/homepage-widgets-update-req.dto'; +import { PrismaService } from '@/prisma/prisma.service'; +import { RawHomepageWidget } from '@/prisma/types'; +import { HomepageWidgetsUpdateElement } from '@/profile/dto/req/homepage-widgets-update-req.dto'; import { Injectable } from '@nestjs/common'; @Injectable() diff --git a/src/semester/semester.module.ts b/src/semester/semester.module.ts index 1e888a14..48abc7c5 100644 --- a/src/semester/semester.module.ts +++ b/src/semester/semester.module.ts @@ -1,5 +1,5 @@ import { Global, Module } from '@nestjs/common'; -import { SemesterService } from './semester.service'; +import { SemesterService } from '@/semester/semester.service'; @Global() @Module({ diff --git a/src/semester/semester.service.ts b/src/semester/semester.service.ts index 47d99c3f..ef8aecfb 100644 --- a/src/semester/semester.service.ts +++ b/src/semester/semester.service.ts @@ -1,6 +1,6 @@ -import { PrismaService } from '../prisma/prisma.service'; +import { PrismaService } from '@/prisma/prisma.service'; import { Injectable } from '@nestjs/common'; -import { RawSemester } from '../prisma/types'; +import { RawSemester } from '@/prisma/types'; @Injectable() export class SemesterService { diff --git a/src/timetable/interfaces/timetable.interface.ts b/src/timetable/interfaces/timetable.interface.ts index 605dd711..20af0521 100644 --- a/src/timetable/interfaces/timetable.interface.ts +++ b/src/timetable/interfaces/timetable.interface.ts @@ -1,4 +1,4 @@ -import { RawTimetableEntry, RawTimetableEntryOverride, RawTimetableGroup } from '../../prisma/types'; +import { RawTimetableEntry, RawTimetableEntryOverride, RawTimetableGroup } from '@/prisma/types'; /** * Represents a single occurrence in the timetable. diff --git a/src/timetable/timetable.controller.ts b/src/timetable/timetable.controller.ts index 0f3f4ade..adb148b1 100644 --- a/src/timetable/timetable.controller.ts +++ b/src/timetable/timetable.controller.ts @@ -1,16 +1,16 @@ import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, ParseUUIDPipe, Patch, Post } from '@nestjs/common'; -import TimetableService from './timetable.service'; -import { GetUser } from '../auth/decorator'; -import { User } from '../users/interfaces/user.interface'; -import { IntParam, PositiveIntParam, regex, RegexPipe } from '../app.pipe'; -import TimetableCreateEntryReqDto from './dto/req/timetable-create-entry-req.dto'; -import TimetableUpdateEntryReqDto from './dto/req/timetable-update-entry-req.dto'; -import { DetailedTimetableEntry, ResponseDetailedTimetableEntry } from './interfaces/timetable.interface'; -import TimetableDeleteOccurrencesReqDto from './dto/req/timetable-delete-occurrences-req.dto'; -import { AppException, ERROR_CODE } from '../exceptions'; -import { CourseService } from '../ue/course/course.service'; -import { UeService } from '../ue/ue.service'; -import { UeCourse } from '../ue/course/interfaces/course.interface'; +import { IntParam, PositiveIntParam, RegexPipe, regex } from '@/app.pipe'; +import { GetUser } from '@/auth/decorator'; +import TimetableCreateEntryReqDto from '@/timetable/dto/req/timetable-create-entry-req.dto'; +import TimetableDeleteOccurrencesReqDto from '@/timetable/dto/req/timetable-delete-occurrences-req.dto'; +import TimetableUpdateEntryReqDto from '@/timetable/dto/req/timetable-update-entry-req.dto'; +import { DetailedTimetableEntry, ResponseDetailedTimetableEntry } from '@/timetable/interfaces/timetable.interface'; +import TimetableService from '@/timetable/timetable.service'; +import { User } from '@/users/interfaces/user.interface'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { CourseService } from '@/ue/course/course.service'; +import { UeService } from '@/ue/ue.service'; +import { UeCourse } from '@/ue/course/interfaces/course.interface'; @Controller('/timetable') export class TimetableController { diff --git a/src/timetable/timetable.module.ts b/src/timetable/timetable.module.ts index 639103fb..06328d76 100644 --- a/src/timetable/timetable.module.ts +++ b/src/timetable/timetable.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; -import { PrismaModule } from '../prisma/prisma.module'; -import TimetableService from './timetable.service'; -import { TimetableController } from './timetable.controller'; -import { UeModule } from '../ue/ue.module'; +import { PrismaModule } from '@/prisma/prisma.module'; +import TimetableService from '@/timetable/timetable.service'; +import { TimetableController } from '@/timetable/timetable.controller'; +import { UeModule } from '@/ue/ue.module'; @Module({ controllers: [TimetableController], diff --git a/src/timetable/timetable.service.ts b/src/timetable/timetable.service.ts index 60b16a94..aeb9138c 100644 --- a/src/timetable/timetable.service.ts +++ b/src/timetable/timetable.service.ts @@ -1,20 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { PrismaService } from '../prisma/prisma.service'; +import { PrismaService } from '@/prisma/prisma.service'; import { DetailedTimetableEntry, TimetableEntryGroupForUser, TimetableEntryOccurrence, -} from './interfaces/timetable.interface'; -import { CourseEvent } from './interfaces/ical.interface'; -import { RawTimetableEntry, RawTimetableEntryOverride, RawTimetableGroup } from '../prisma/types'; -import { omit } from '../utils'; -import TimetableCreateEntryReqDto from './dto/req/timetable-create-entry-req.dto'; -import TimetableUpdateEntryReqDto from './dto/req/timetable-update-entry-req.dto'; -import TimetableDeleteOccurrencesReqDto from './dto/req/timetable-delete-occurrences-req.dto'; -import { AppException, ERROR_CODE } from '../exceptions'; +} from '@/timetable/interfaces/timetable.interface'; +import { CourseEvent } from '@/timetable/interfaces/ical.interface'; +import { RawTimetableEntry, RawTimetableEntryOverride, RawTimetableGroup } from '@/prisma/types'; +import { omit } from '@/utils'; +import TimetableCreateEntryReqDto from '@/timetable/dto/req/timetable-create-entry-req.dto'; +import TimetableUpdateEntryReqDto from '@/timetable/dto/req/timetable-update-entry-req.dto'; +import TimetableDeleteOccurrencesReqDto from '@/timetable/dto/req/timetable-delete-occurrences-req.dto'; +import { AppException, ERROR_CODE } from '@/exceptions'; import { HttpService } from '@nestjs/axios'; import { lastValueFrom } from 'rxjs'; -import { ConfigService } from '../config/config.service'; +import { ConfigService } from '@/config/config.service'; /** * The inclusions to use when fetching a {@link DetailedTimetableEntry}. diff --git a/src/ue/annals/annals.controller.ts b/src/ue/annals/annals.controller.ts index 47d7efb7..3248b766 100644 --- a/src/ue/annals/annals.controller.ts +++ b/src/ue/annals/annals.controller.ts @@ -1,24 +1,24 @@ import { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query, Response } from '@nestjs/common'; -import { AnnalsService } from './annals.service'; -import { UeService } from '../ue.service'; +import { AnnalsService } from '@/ue/annals/annals.service'; +import { UeService } from '@/ue/ue.service'; import { Response as ExpressResponse } from 'express'; -import { UUIDParam } from '../../app.pipe'; -import { GetUser, RequireApiPermission } from '../../auth/decorator'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import { FileSize, MulterWithMime, UploadRoute, UserFile } from '../../upload.interceptor'; -import { CommentStatus } from '../comments/interfaces/comment.interface'; -import { CreateAnnalReqDto } from './dto/req/create-annal-req.dto'; -import { UpdateAnnalReqDto } from './dto/req/update-annal-req.dto'; -import { User } from '../../users/interfaces/user.interface'; -import { GetFromUeReqDto } from './dto/req/get-from-ue-req.dto'; -import UploadAnnalReqDto from './dto/req/upload-annal-req.dto'; +import { UUIDParam } from '@/app.pipe'; +import { GetUser, RequireApiPermission } from '@/auth/decorator'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { FileSize, MulterWithMime, UploadRoute, UserFile } from '@/upload.interceptor'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { CreateAnnalReqDto } from '@/ue/annals/dto/req/create-annal-req.dto'; +import { UpdateAnnalReqDto } from '@/ue/annals/dto/req/update-annal-req.dto'; +import { User } from '@/users/interfaces/user.interface'; +import { GetFromUeReqDto } from '@/ue/annals/dto/req/get-from-ue-req.dto'; +import UploadAnnalReqDto from '@/ue/annals/dto/req/upload-annal-req.dto'; import { ApiBody, ApiConsumes, ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import { ApiAppErrorResponse } from '../../app.dto'; -import UeAnnalResDto from './dto/res/ue-annal-res.dto'; -import UeAnnalMetadataResDto from './dto/res/ue-annal-metadata-res.dto'; -import { GetPermissions } from '../../auth/decorator/get-permissions.decorator'; -import { Permission } from '../../prisma/types'; -import { omit, PermissionManager } from '../../utils'; +import { ApiAppErrorResponse } from '@/app.dto'; +import UeAnnalResDto from '@/ue/annals/dto/res/ue-annal-res.dto'; +import UeAnnalMetadataResDto from '@/ue/annals/dto/res/ue-annal-metadata-res.dto'; +import { GetPermissions } from '@/auth/decorator/get-permissions.decorator'; +import { Permission } from '@/prisma/types'; +import { PermissionManager, omit } from '@/utils'; @Controller('ue/annals') @ApiTags('Annal') diff --git a/src/ue/annals/annals.service.ts b/src/ue/annals/annals.service.ts index b2b95886..2910e96f 100644 --- a/src/ue/annals/annals.service.ts +++ b/src/ue/annals/annals.service.ts @@ -1,15 +1,15 @@ import { Injectable } from '@nestjs/common'; -import { createWriteStream, createReadStream } from 'fs'; +import { createReadStream, createWriteStream } from 'fs'; import { writeFile } from 'fs/promises'; import sharp from 'sharp'; import PDFDocument from 'pdfkit'; -import { PrismaService } from '../../prisma/prisma.service'; -import { MulterWithMime } from '../../upload.interceptor'; -import { CreateAnnalReqDto } from './dto/req/create-annal-req.dto'; -import { UpdateAnnalReqDto } from './dto/req/update-annal-req.dto'; -import { ConfigService, isTestEnv } from '../../config/config.service'; -import { User } from '../../users/interfaces/user.interface'; -import { RawSemester } from '../../prisma/types'; +import { PrismaService } from '@/prisma/prisma.service'; +import { MulterWithMime } from '@/upload.interceptor'; +import { CreateAnnalReqDto } from '@/ue/annals/dto/req/create-annal-req.dto'; +import { UpdateAnnalReqDto } from '@/ue/annals/dto/req/update-annal-req.dto'; +import { ConfigService, isTestEnv } from '@/config/config.service'; +import { User } from '@/users/interfaces/user.interface'; +import { RawSemester } from '@/prisma/types'; @Injectable() export class AnnalsService { diff --git a/src/ue/annals/dto/req/create-annal-req.dto.ts b/src/ue/annals/dto/req/create-annal-req.dto.ts index 5f72d89b..bfa3edbe 100644 --- a/src/ue/annals/dto/req/create-annal-req.dto.ts +++ b/src/ue/annals/dto/req/create-annal-req.dto.ts @@ -8,7 +8,7 @@ import { MaxLength, MinLength, } from 'class-validator'; -import { HasSomeAmong } from '../../../../validation'; +import { HasSomeAmong } from '@/validation'; @HasSomeAmong('ueCode', 'ueof') export class CreateAnnalReqDto { diff --git a/src/ue/annals/dto/req/update-annal-req.dto.ts b/src/ue/annals/dto/req/update-annal-req.dto.ts index 7349a134..5438d6a9 100644 --- a/src/ue/annals/dto/req/update-annal-req.dto.ts +++ b/src/ue/annals/dto/req/update-annal-req.dto.ts @@ -1,4 +1,4 @@ -import { IsNotEmpty, IsString, Length, IsUUID, IsOptional } from 'class-validator'; +import { IsNotEmpty, IsOptional, IsString, IsUUID, Length } from 'class-validator'; export class UpdateAnnalReqDto { @IsNotEmpty() diff --git a/src/ue/annals/dto/res/ue-annal-metadata-res.dto.ts b/src/ue/annals/dto/res/ue-annal-metadata-res.dto.ts index 7869dc75..bcae06aa 100644 --- a/src/ue/annals/dto/res/ue-annal-metadata-res.dto.ts +++ b/src/ue/annals/dto/res/ue-annal-metadata-res.dto.ts @@ -1,4 +1,4 @@ -import UeAnnalTypeResDto from './ue-annal-type-res.dto'; +import UeAnnalTypeResDto from '@/ue/annals/dto/res/ue-annal-type-res.dto'; export default class UeAnnalMetadataResDto { types: UeAnnalTypeResDto[]; diff --git a/src/ue/annals/dto/res/ue-annal-res.dto.ts b/src/ue/annals/dto/res/ue-annal-res.dto.ts index 2cc0aecf..9aa2427a 100644 --- a/src/ue/annals/dto/res/ue-annal-res.dto.ts +++ b/src/ue/annals/dto/res/ue-annal-res.dto.ts @@ -1,5 +1,5 @@ -import UeCommentAuthorResDto from '../../../comments/dto/res/ue-comment-author-res.dto'; -import UeAnnalTypeResDto from './ue-annal-type-res.dto'; +import UeCommentAuthorResDto from '@/ue/comments/dto/res/ue-comment-author-res.dto'; +import UeAnnalTypeResDto from '@/ue/annals/dto/res/ue-annal-type-res.dto'; export default class UeAnnalResDto { id: string; diff --git a/src/ue/annals/interfaces/annal.interface.ts b/src/ue/annals/interfaces/annal.interface.ts index 672ced47..d61ea6db 100644 --- a/src/ue/annals/interfaces/annal.interface.ts +++ b/src/ue/annals/interfaces/annal.interface.ts @@ -1,7 +1,7 @@ -import { Prisma, PrismaClient } from '../../../prisma/types'; -import { omit } from '../../../utils'; -import { CommentStatus } from '../../comments/interfaces/comment.interface'; -import { generateCustomModel } from '../../../prisma/prisma.service'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { omit } from '@/utils'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { generateCustomModel } from '@/prisma/prisma.service'; const UE_ANNAL_SELECT_FILTER = { select: { diff --git a/src/ue/comments/comments.controller.ts b/src/ue/comments/comments.controller.ts index 2ea8d86f..622e1b8f 100644 --- a/src/ue/comments/comments.controller.ts +++ b/src/ue/comments/comments.controller.ts @@ -1,22 +1,22 @@ import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Patch, Post, Query } from '@nestjs/common'; -import { UUIDParam } from '../../app.pipe'; -import { GetUser, RequireApiPermission } from '../../auth/decorator'; -import { AppException, ERROR_CODE } from '../../exceptions'; -import UeCommentPostReqDto from './dto/req/ue-comment-post-req.dto'; -import CommentReplyReqDto from './dto/req/ue-comment-reply-req.dto'; -import UeCommentUpdateReqDto from './dto/req/ue-comment-update-req.dto'; -import GetUeCommentsReqDto from './dto/req/ue-get-comments-req.dto'; -import { UeService } from '../ue.service'; -import { User } from '../../users/interfaces/user.interface'; -import { CommentsService } from './comments.service'; -import UeCommentResDto from './dto/res/ue-comment-res.dto'; +import { UUIDParam } from '@/app.pipe'; +import { GetUser, RequireApiPermission } from '@/auth/decorator'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import UeCommentPostReqDto from '@/ue/comments/dto/req/ue-comment-post-req.dto'; +import CommentReplyReqDto from '@/ue/comments/dto/req/ue-comment-reply-req.dto'; +import UeCommentUpdateReqDto from '@/ue/comments/dto/req/ue-comment-update-req.dto'; +import GetUeCommentsReqDto from '@/ue/comments/dto/req/ue-get-comments-req.dto'; +import { UeService } from '@/ue/ue.service'; +import { User } from '@/users/interfaces/user.interface'; +import { CommentsService } from '@/ue/comments/comments.service'; +import UeCommentResDto from '@/ue/comments/dto/res/ue-comment-res.dto'; import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import { ApiAppErrorResponse, paginatedResponseDto } from '../../app.dto'; -import { UeCommentUpvoteResDto$False, UeCommentUpvoteResDto$True } from './dto/res/ue-comment-upvote-res.dto'; -import UeCommentReplyResDto from './dto/res/ue-comment-reply-res.dto'; -import { Permission } from '../../prisma/types'; -import { GetPermissions } from '../../auth/decorator/get-permissions.decorator'; -import { PermissionManager } from '../../utils'; +import { ApiAppErrorResponse, paginatedResponseDto } from '@/app.dto'; +import { UeCommentUpvoteResDto$False, UeCommentUpvoteResDto$True } from '@/ue/comments/dto/res/ue-comment-upvote-res.dto'; +import UeCommentReplyResDto from '@/ue/comments/dto/res/ue-comment-reply-res.dto'; +import { Permission } from '@/prisma/types'; +import { GetPermissions } from '@/auth/decorator/get-permissions.decorator'; +import { PermissionManager } from '@/utils'; @Controller('ue/comments') @ApiTags('UE Comment') diff --git a/src/ue/comments/comments.service.ts b/src/ue/comments/comments.service.ts index b54c767c..72b0b519 100644 --- a/src/ue/comments/comments.service.ts +++ b/src/ue/comments/comments.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; -import { PrismaService } from '../../prisma/prisma.service'; -import { RawUserUeSubscription } from 'src/prisma/types'; -import UeCommentPostReqDto from './dto/req/ue-comment-post-req.dto'; -import CommentReplyReqDto from './dto/req/ue-comment-reply-req.dto'; -import UeCommentUpdateReqDto from './dto/req/ue-comment-update-req.dto'; -import GetUeCommentsReqDto from './dto/req/ue-get-comments-req.dto'; -import { UeCommentReply } from './interfaces/comment-reply.interface'; -import { CommentStatus, UeComment } from './interfaces/comment.interface'; -import { ConfigService } from '../../config/config.service'; +import { PrismaService } from '@/prisma/prisma.service'; +import { RawUserUeSubscription } from '@/prisma/types'; +import UeCommentPostReqDto from '@/ue/comments/dto/req/ue-comment-post-req.dto'; +import CommentReplyReqDto from '@/ue/comments/dto/req/ue-comment-reply-req.dto'; +import UeCommentUpdateReqDto from '@/ue/comments/dto/req/ue-comment-update-req.dto'; +import GetUeCommentsReqDto from '@/ue/comments/dto/req/ue-get-comments-req.dto'; +import { UeCommentReply } from '@/ue/comments/interfaces/comment-reply.interface'; +import { CommentStatus, UeComment } from '@/ue/comments/interfaces/comment.interface'; +import { ConfigService } from '@/config/config.service'; @Injectable() export class CommentsService { diff --git a/src/ue/comments/dto/res/ue-comment-reply-res.dto.ts b/src/ue/comments/dto/res/ue-comment-reply-res.dto.ts index 735e76fa..1939a061 100644 --- a/src/ue/comments/dto/res/ue-comment-reply-res.dto.ts +++ b/src/ue/comments/dto/res/ue-comment-reply-res.dto.ts @@ -1,4 +1,4 @@ -import UeCommentAuthorResDto from './ue-comment-author-res.dto'; +import UeCommentAuthorResDto from '@/ue/comments/dto/res/ue-comment-author-res.dto'; export default class UeCommentReplyResDto { id: string; diff --git a/src/ue/comments/dto/res/ue-comment-res.dto.ts b/src/ue/comments/dto/res/ue-comment-res.dto.ts index 75981e80..265bfb6e 100644 --- a/src/ue/comments/dto/res/ue-comment-res.dto.ts +++ b/src/ue/comments/dto/res/ue-comment-res.dto.ts @@ -1,4 +1,4 @@ -import UeCommentAuthorResDto from './ue-comment-author-res.dto'; +import UeCommentAuthorResDto from '@/ue/comments/dto/res/ue-comment-author-res.dto'; export default class UeCommentResDto { id: string; diff --git a/src/ue/comments/interfaces/comment-reply.interface.ts b/src/ue/comments/interfaces/comment-reply.interface.ts index c083e595..3b1f0dbb 100644 --- a/src/ue/comments/interfaces/comment-reply.interface.ts +++ b/src/ue/comments/interfaces/comment-reply.interface.ts @@ -1,7 +1,7 @@ -import { CommentStatus } from './comment.interface'; -import { Prisma, PrismaClient } from '../../../prisma/types'; -import { omit } from '../../../utils'; -import { generateCustomModel } from '../../../prisma/prisma.service'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { omit } from '@/utils'; +import { generateCustomModel } from '@/prisma/prisma.service'; const REPLY_SELECT_FILTER = { select: { diff --git a/src/ue/comments/interfaces/comment.interface.ts b/src/ue/comments/interfaces/comment.interface.ts index 3b8e58c9..db4eb1f2 100644 --- a/src/ue/comments/interfaces/comment.interface.ts +++ b/src/ue/comments/interfaces/comment.interface.ts @@ -1,7 +1,7 @@ -import { Prisma, PrismaClient } from '../../../prisma/types'; -import { RequestType, generateCustomModel } from '../../../prisma/prisma.service'; -import { UeCommentReply, formatReply } from './comment-reply.interface'; -import { omit } from '../../../utils'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { RequestType, generateCustomModel } from '@/prisma/prisma.service'; +import { UeCommentReply, formatReply } from '@/ue/comments/interfaces/comment-reply.interface'; +import { omit } from '@/utils'; const COMMENT_SELECT_FILTER = { select: { diff --git a/src/ue/course/course.service.ts b/src/ue/course/course.service.ts index 9a154538..ca5a4f4a 100644 --- a/src/ue/course/course.service.ts +++ b/src/ue/course/course.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { PrismaService } from '../../prisma/prisma.service'; -import { RawUeCourse } from 'src/prisma/types'; -import { UeCourse } from './interfaces/course.interface'; +import { PrismaService } from '@/prisma/prisma.service'; +import { RawUeCourse } from '@/prisma/types'; +import { UeCourse } from '@/ue/course/interfaces/course.interface'; @Injectable() export class CourseService { diff --git a/src/ue/course/interfaces/course.interface.ts b/src/ue/course/interfaces/course.interface.ts index c04110bb..01b90524 100644 --- a/src/ue/course/interfaces/course.interface.ts +++ b/src/ue/course/interfaces/course.interface.ts @@ -1,4 +1,4 @@ -import { CourseEvent } from 'src/timetable/interfaces/ical.interface'; +import { CourseEvent } from '@/timetable/interfaces/ical.interface'; export interface UeCourse { /** diff --git a/src/ue/credit/credit.controller.ts b/src/ue/credit/credit.controller.ts index c093575c..3555b4a2 100644 --- a/src/ue/credit/credit.controller.ts +++ b/src/ue/credit/credit.controller.ts @@ -1,9 +1,9 @@ -import { CreditService } from './credit.service'; +import { CreditService } from '@/ue/credit/credit.service'; import { Controller, Get } from '@nestjs/common'; -import { IsPublic } from '../../auth/decorator'; -import { CreditCategory } from './interfaces/credit-category.interface'; +import { IsPublic } from '@/auth/decorator'; +import { CreditCategory } from '@/ue/credit/interfaces/credit-category.interface'; import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import CreditCategoryResDto from './dto/res/credit-category-res.dto'; +import CreditCategoryResDto from '@/ue/credit/dto/res/credit-category-res.dto'; @Controller('ue/credit') @ApiTags('UE Credit') diff --git a/src/ue/credit/credit.service.ts b/src/ue/credit/credit.service.ts index 7ba6d1e1..c6663dc4 100644 --- a/src/ue/credit/credit.service.ts +++ b/src/ue/credit/credit.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { PrismaService } from '../../prisma/prisma.service'; +import { PrismaService } from '@/prisma/prisma.service'; @Injectable() export class CreditService { diff --git a/src/ue/credit/interfaces/credit-category.interface.ts b/src/ue/credit/interfaces/credit-category.interface.ts index fed23082..c85248cf 100644 --- a/src/ue/credit/interfaces/credit-category.interface.ts +++ b/src/ue/credit/interfaces/credit-category.interface.ts @@ -1,5 +1,5 @@ -import { Prisma, PrismaClient } from '../../../prisma/types'; -import { RequestType, generateCustomModel } from '../../../prisma/prisma.service'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { RequestType, generateCustomModel } from '@/prisma/prisma.service'; const CREDIT_CATEGORY_SELECT_FILTER = { select: { diff --git a/src/ue/dto/req/ue-search-req.dto.ts b/src/ue/dto/req/ue-search-req.dto.ts index c296833b..cb7dff5f 100644 --- a/src/ue/dto/req/ue-search-req.dto.ts +++ b/src/ue/dto/req/ue-search-req.dto.ts @@ -1,5 +1,5 @@ import { Type } from 'class-transformer'; -import { IsNumber, IsPositive, IsString, IsOptional, Length } from 'class-validator'; +import { IsNumber, IsOptional, IsPositive, IsString, Length } from 'class-validator'; /** * Query parameters of the request to search UEs. diff --git a/src/ue/dto/res/ue-detail-res.dto.ts b/src/ue/dto/res/ue-detail-res.dto.ts index 589f6c91..e3b3a009 100644 --- a/src/ue/dto/res/ue-detail-res.dto.ts +++ b/src/ue/dto/res/ue-detail-res.dto.ts @@ -1,4 +1,4 @@ -import { Translation } from '../../../prisma/types'; +import { Translation } from '@/prisma/types'; import { ApiProperty } from '@nestjs/swagger'; export class UeDetailResDto { diff --git a/src/ue/dto/res/ue-overview-res.dto.ts b/src/ue/dto/res/ue-overview-res.dto.ts index a75aba82..4cf03c17 100644 --- a/src/ue/dto/res/ue-overview-res.dto.ts +++ b/src/ue/dto/res/ue-overview-res.dto.ts @@ -1,4 +1,4 @@ -import { Translation } from '../../../prisma/types'; +import { Translation } from '@/prisma/types'; import { ApiProperty } from '@nestjs/swagger'; export class UeOverviewResDto { diff --git a/src/ue/interfaces/criterion.interface.ts b/src/ue/interfaces/criterion.interface.ts index 2d546abf..ed89097e 100644 --- a/src/ue/interfaces/criterion.interface.ts +++ b/src/ue/interfaces/criterion.interface.ts @@ -1,5 +1,5 @@ -import { Prisma, PrismaClient } from '../../prisma/types'; -import { generateCustomModel } from '../../prisma/prisma.service'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { generateCustomModel } from '@/prisma/prisma.service'; const CRITERION_SELECT_FILTER = { select: { diff --git a/src/ue/interfaces/rate.interface.ts b/src/ue/interfaces/rate.interface.ts index 0b17922c..1b41b737 100644 --- a/src/ue/interfaces/rate.interface.ts +++ b/src/ue/interfaces/rate.interface.ts @@ -1,5 +1,5 @@ -import { Prisma, PrismaClient } from '../../prisma/types'; -import { generateCustomModel } from '../../prisma/prisma.service'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { generateCustomModel } from '@/prisma/prisma.service'; const RATE_SELECT_FILTER = { select: { diff --git a/src/ue/interfaces/ue.interface.ts b/src/ue/interfaces/ue.interface.ts index 3e6f3076..8b6411bb 100644 --- a/src/ue/interfaces/ue.interface.ts +++ b/src/ue/interfaces/ue.interface.ts @@ -1,6 +1,6 @@ -import { Prisma, PrismaClient } from '../../prisma/types'; -import { generateCustomModel } from '../../prisma/prisma.service'; -import { omit, translationSelect } from '../../utils'; +import { Prisma, PrismaClient } from '@/prisma/types'; +import { generateCustomModel } from '@/prisma/prisma.service'; +import { omit, translationSelect } from '@/utils'; const UE_SELECT_FILTER = { select: { diff --git a/src/ue/ue.controller.ts b/src/ue/ue.controller.ts index 42384666..7bfd2fcc 100644 --- a/src/ue/ue.controller.ts +++ b/src/ue/ue.controller.ts @@ -1,22 +1,22 @@ import { Body, Controller, Delete, Get, Headers, Param, Put, Query, Res } from '@nestjs/common'; import { HttpStatusCode } from 'axios'; import type { Response } from 'express'; -import { UeSearchReqDto } from './dto/req/ue-search-req.dto'; -import { UeService } from './ue.service'; -import { GetUser, IsPublic, RequireApiPermission, RequireUserType } from '../auth/decorator'; -import { User } from '../users/interfaces/user.interface'; -import { UUIDParam } from '../app.pipe'; -import { AppException, ERROR_CODE } from '../exceptions'; -import { Ue, UeStarVoteEntry } from './interfaces/ue.interface'; -import { UeRateReqDto } from './dto/req/ue-rate-req.dto'; +import { UeSearchReqDto } from '@/ue/dto/req/ue-search-req.dto'; +import { UeService } from '@/ue/ue.service'; +import { GetUser, IsPublic, RequireApiPermission, RequireUserType } from '@/auth/decorator'; +import { User } from '@/users/interfaces/user.interface'; +import { UUIDParam } from '@/app.pipe'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { Ue, UeStarVoteEntry } from '@/ue/interfaces/ue.interface'; +import { UeRateReqDto } from '@/ue/dto/req/ue-rate-req.dto'; import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import { ApiAppErrorResponse, paginatedResponseDto } from '../app.dto'; -import { UeDetailResDto } from './dto/res/ue-detail-res.dto'; -import { UeOverviewResDto } from './dto/res/ue-overview-res.dto'; -import UeRateCriterionResDto from './dto/res/ue-rate-criterion-res.dto'; -import UeRateResDto from './dto/res/ue-rate-res.dto'; -import { Language, UserType } from '../prisma/types'; -import { UeRating } from './interfaces/rate.interface'; +import { ApiAppErrorResponse, paginatedResponseDto } from '@/app.dto'; +import { UeDetailResDto } from '@/ue/dto/res/ue-detail-res.dto'; +import { UeOverviewResDto } from '@/ue/dto/res/ue-overview-res.dto'; +import UeRateCriterionResDto from '@/ue/dto/res/ue-rate-criterion-res.dto'; +import UeRateResDto from '@/ue/dto/res/ue-rate-res.dto'; +import { Language, UserType } from '@/prisma/types'; +import { UeRating } from '@/ue/interfaces/rate.interface'; @Controller('ue') @ApiTags('UE') diff --git a/src/ue/ue.module.ts b/src/ue/ue.module.ts index d1b2cd4b..960a2e0b 100644 --- a/src/ue/ue.module.ts +++ b/src/ue/ue.module.ts @@ -1,13 +1,13 @@ import { Module } from '@nestjs/common'; -import { UeController } from './ue.controller'; -import { UeService } from './ue.service'; -import { CommentsController } from './comments/comments.controller'; -import { AnnalsController } from './annals/annals.controller'; -import { CreditController } from './credit/credit.controller'; -import { AnnalsService } from './annals/annals.service'; -import { CreditService } from './credit/credit.service'; -import { CommentsService } from './comments/comments.service'; -import { CourseService } from './course/course.service'; +import { UeController } from '@/ue/ue.controller'; +import { UeService } from '@/ue/ue.service'; +import { CommentsController } from '@/ue/comments/comments.controller'; +import { AnnalsController } from '@/ue/annals/annals.controller'; +import { CreditController } from '@/ue/credit/credit.controller'; +import { AnnalsService } from '@/ue/annals/annals.service'; +import { CreditService } from '@/ue/credit/credit.service'; +import { CommentsService } from '@/ue/comments/comments.service'; +import { CourseService } from '@/ue/course/course.service'; /** * Defines the `UE` module. This module handles all routes prefixed by `/ue`. diff --git a/src/ue/ue.service.ts b/src/ue/ue.service.ts index 044c839a..5d1b341c 100644 --- a/src/ue/ue.service.ts +++ b/src/ue/ue.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; -import { UeSearchReqDto } from './dto/req/ue-search-req.dto'; -import { PrismaService } from '../prisma/prisma.service'; -import { UeRateReqDto } from './dto/req/ue-rate-req.dto'; -import { Ue } from './interfaces/ue.interface'; -import { Criterion } from './interfaces/criterion.interface'; -import { UeRating } from './interfaces/rate.interface'; -import { ConfigService } from '../config/config.service'; -import { Language, Prisma } from '../prisma/types'; -import { SemesterService } from '../semester/semester.service'; +import { UeSearchReqDto } from '@/ue/dto/req/ue-search-req.dto'; +import { PrismaService } from '@/prisma/prisma.service'; +import { UeRateReqDto } from '@/ue/dto/req/ue-rate-req.dto'; +import { Ue } from '@/ue/interfaces/ue.interface'; +import { Criterion } from '@/ue/interfaces/criterion.interface'; +import { UeRating } from '@/ue/interfaces/rate.interface'; +import { ConfigService } from '@/config/config.service'; +import { Language, Prisma } from '@/prisma/types'; +import { SemesterService } from '@/semester/semester.service'; @Injectable() export class UeService { diff --git a/src/upload.interceptor.ts b/src/upload.interceptor.ts index 163204b3..fcfaae6d 100644 --- a/src/upload.interceptor.ts +++ b/src/upload.interceptor.ts @@ -1,7 +1,7 @@ -import { UploadedFile, UseInterceptors, ParseFilePipe, Injectable } from '@nestjs/common'; +import { Injectable, ParseFilePipe, UploadedFile, UseInterceptors } from '@nestjs/common'; import { FileInterceptor } from '@nestjs/platform-express'; import { memoryStorage } from 'multer'; -import { AppException, ERROR_CODE } from './exceptions'; +import { AppException, ERROR_CODE } from '@/exceptions'; export type MulterWithMime = { mime: string; diff --git a/src/users/dto/req/users-search-req.dto.ts b/src/users/dto/req/users-search-req.dto.ts index 27cfc240..f4861ab3 100644 --- a/src/users/dto/req/users-search-req.dto.ts +++ b/src/users/dto/req/users-search-req.dto.ts @@ -1,5 +1,5 @@ import { Type } from 'class-transformer'; -import { IsOptional, IsString, IsNumber, IsPositive, IsInt } from 'class-validator'; +import { IsInt, IsNumber, IsOptional, IsPositive, IsString } from 'class-validator'; /** * Query parameters of the request to search users. diff --git a/src/users/dto/req/users-update-req.dto.ts b/src/users/dto/req/users-update-req.dto.ts index 9de34a5d..4ed983be 100644 --- a/src/users/dto/req/users-update-req.dto.ts +++ b/src/users/dto/req/users-update-req.dto.ts @@ -1,4 +1,4 @@ -import { AddressPrivacy, Language } from '../../../prisma/types'; +import { AddressPrivacy, Language } from '@/prisma/types'; import { IsArray, IsBoolean, IsEnum, IsOptional, IsString, IsUUID } from 'class-validator'; export class UserUpdateReqDto { diff --git a/src/users/dto/res/user-asso-membership-res.dto.ts b/src/users/dto/res/user-asso-membership-res.dto.ts index 7be9fac7..9fee8cb4 100644 --- a/src/users/dto/res/user-asso-membership-res.dto.ts +++ b/src/users/dto/res/user-asso-membership-res.dto.ts @@ -1,4 +1,4 @@ -import { Translation } from '../../../prisma/types'; +import { Translation } from '@/prisma/types'; import { ApiProperty } from '@nestjs/swagger'; export default class UserAssoMembershipResDto { diff --git a/src/users/dto/res/user-detail-res.dto.ts b/src/users/dto/res/user-detail-res.dto.ts index c99a7a14..369c1c4b 100644 --- a/src/users/dto/res/user-detail-res.dto.ts +++ b/src/users/dto/res/user-detail-res.dto.ts @@ -1,5 +1,5 @@ import { ApiProperty } from '@nestjs/swagger'; -import { AddressPrivacy, Sex, UserType } from '../../../prisma/types'; +import { AddressPrivacy, Sex, UserType } from '@/prisma/types'; export default class UserDetailResDto { id: string; diff --git a/src/users/dto/res/user-overview-res.dto.ts b/src/users/dto/res/user-overview-res.dto.ts index 74e5a965..144c21e7 100644 --- a/src/users/dto/res/user-overview-res.dto.ts +++ b/src/users/dto/res/user-overview-res.dto.ts @@ -1,5 +1,5 @@ import { ApiProperty } from '@nestjs/swagger'; -import { Sex, UserType } from '../../../prisma/types'; +import { Sex, UserType } from '@/prisma/types'; export default class UserOverviewResDto { id: string; diff --git a/src/users/interfaces/user.interface.ts b/src/users/interfaces/user.interface.ts index 5a6230d8..aad87a8d 100644 --- a/src/users/interfaces/user.interface.ts +++ b/src/users/interfaces/user.interface.ts @@ -1,5 +1,5 @@ -import { generateCustomModel, RequestType } from '../../prisma/prisma.service'; -import { Prisma, PrismaClient, Translation } from '../../prisma/types'; +import { RequestType, generateCustomModel } from '@/prisma/prisma.service'; +import { Prisma, PrismaClient, Translation } from '@/prisma/types'; const USER_SELECT_FILTER = { select: { diff --git a/src/users/users.controller.ts b/src/users/users.controller.ts index 3e681e3c..d348ff61 100644 --- a/src/users/users.controller.ts +++ b/src/users/users.controller.ts @@ -1,19 +1,19 @@ import { Body, Controller, Get, Param, Patch, Query } from '@nestjs/common'; -import UsersSearchReqDto from './dto/req/users-search-req.dto'; -import { UserUpdateReqDto } from './dto/req/users-update-req.dto'; -import { GetUser } from '../auth/decorator'; -import { User } from './interfaces/user.interface'; -import UsersService from './users.service'; -import { AppException, ERROR_CODE } from '../exceptions'; -import { pick } from '../utils'; +import UsersSearchReqDto from '@/users/dto/req/users-search-req.dto'; +import { UserUpdateReqDto } from '@/users/dto/req/users-update-req.dto'; +import { GetUser } from '@/auth/decorator'; +import { User } from '@/users/interfaces/user.interface'; +import UsersService from '@/users/users.service'; +import { AppException, ERROR_CODE } from '@/exceptions'; +import { pick } from '@/utils'; import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; -import UserOverviewResDto from './dto/res/user-overview-res.dto'; -import { ApiAppErrorResponse, paginatedResponseDto } from '../app.dto'; -import UserDetailResDto from './dto/res/user-detail-res.dto'; -import UserBirthdayResDto from './dto/res/user-birthday-res.dto'; -import UserAssoMembershipResDto from './dto/res/user-asso-membership-res.dto'; -import { ImageMediaService } from '../media/image/imagemedia.service'; -import { ImageMediaPreset } from '../prisma/types'; +import UserOverviewResDto from '@/users/dto/res/user-overview-res.dto'; +import { ApiAppErrorResponse, paginatedResponseDto } from '@/app.dto'; +import UserDetailResDto from '@/users/dto/res/user-detail-res.dto'; +import UserBirthdayResDto from '@/users/dto/res/user-birthday-res.dto'; +import UserAssoMembershipResDto from '@/users/dto/res/user-asso-membership-res.dto'; +import { ImageMediaService } from '@/media/image/imagemedia.service'; +import { ImageMediaPreset } from '@/prisma/types'; @Controller('users') @ApiTags('User') diff --git a/src/users/users.module.ts b/src/users/users.module.ts index dc306001..85e49650 100644 --- a/src/users/users.module.ts +++ b/src/users/users.module.ts @@ -1,7 +1,7 @@ import { Global, Module } from '@nestjs/common'; -import UsersController from './users.controller'; -import UsersService from './users.service'; -import { ImageMediaModule } from '../media/image/imagemedia.module'; +import UsersController from '@/users/users.controller'; +import UsersService from '@/users/users.service'; +import { ImageMediaModule } from '@/media/image/imagemedia.module'; @Global() @Module({ diff --git a/src/users/users.service.ts b/src/users/users.service.ts index 4481833b..4cf67f9d 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -1,11 +1,11 @@ import { Injectable } from '@nestjs/common'; -import { PrismaService } from '../prisma/prisma.service'; -import { User, UserAssoMembership } from './interfaces/user.interface'; -import UsersSearchReqDto from './dto/req/users-search-req.dto'; -import { UserUpdateReqDto } from './dto/req/users-update-req.dto'; -import { omit, translationSelect } from '../utils'; -import { ConfigService } from '../config/config.service'; -import { Prisma } from '../prisma/types'; +import { PrismaService } from '@/prisma/prisma.service'; +import { User, UserAssoMembership } from '@/users/interfaces/user.interface'; +import UsersSearchReqDto from '@/users/dto/req/users-search-req.dto'; +import { UserUpdateReqDto } from '@/users/dto/req/users-update-req.dto'; +import { omit, translationSelect } from '@/utils'; +import { ConfigService } from '@/config/config.service'; +import { Prisma } from '@/prisma/types'; @Injectable() export default class UsersService { diff --git a/src/utils.ts b/src/utils.ts index 3e3c3230..d5740cc1 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,6 +1,5 @@ -import { Language, Permission } from './prisma/types'; -import { Translation } from './prisma/types'; -import { ApiPermission, UserPermission } from './auth/interfaces/permissions.interface'; +import { Language, Permission , Translation } from '@/prisma/types'; +import { ApiPermission, UserPermission } from '@/auth/interfaces/permissions.interface'; /** * Returns a new object built from the given object with only the specified keys. diff --git a/src/validation.ts b/src/validation.ts index cf15ea0a..f428ef58 100644 --- a/src/validation.ts +++ b/src/validation.ts @@ -1,5 +1,5 @@ import { Validate, ValidationArguments, ValidatorConstraint, ValidatorConstraintInterface } from 'class-validator'; -import { AppException, ERROR_CODE } from './exceptions'; +import { AppException, ERROR_CODE } from '@/exceptions'; import { ValidationError } from '@nestjs/common/interfaces/external/validation-error.interface'; /** diff --git a/test/declarations.d.ts b/test/declarations.d.ts index 434ccb3f..5f9901e1 100644 --- a/test/declarations.d.ts +++ b/test/declarations.d.ts @@ -4,18 +4,17 @@ import { UeCommentReply } from 'src/ue/comments/interfaces/comment-reply.interfa import { UeRating } from 'src/ue/interfaces/rate.interface'; import { FakeApiApplication, - FakeAssoWeekly, + FakeAsso, FakeAssoMembership, FakeAssoMembershipPermission, FakeAssoMembershipRole, + FakeAssoWeekly, + FakeHomepageWidget, FakeImageMedia, - FakeUeAnnalType, - FakeUeof, - FakeUeCreditCategory, -} from './utils/fakedb'; + FakeUe, + FakeUeAnnalType, FakeUeCreditCategory, FakeUeof, FakeUser } from './utils/fakedb'; import { UeAnnalFile } from 'src/ue/annals/interfaces/annal.interface'; import { Criterion } from 'src/ue/interfaces/criterion.interface'; -import { FakeUe, FakeUser, FakeHomepageWidget, FakeAsso } from './utils/fakedb'; import { AppProvider } from './utils/test_utils'; import { Language } from '../src/prisma/types'; import { PermissionManager } from '../src/utils'; diff --git a/test/declarations.ts b/test/declarations.ts index 9cc06ca6..0cb5ac40 100644 --- a/test/declarations.ts +++ b/test/declarations.ts @@ -1,32 +1,32 @@ import { HttpStatus } from '@nestjs/common'; import Spec from 'pactum/src/models/Spec'; -import { FakeAssoMembers, FakeUeWithOfs, JsonLikeVariant } from './declarations.d'; -import { ERROR_CODE, ErrorData, ExtrasTypeBuilder } from '../src/exceptions'; -import { UeComment } from '../src/ue/comments/interfaces/comment.interface'; -import { UeCommentReply } from '../src/ue/comments/interfaces/comment-reply.interface'; -import { Criterion } from 'src/ue/interfaces/criterion.interface'; -import { UeRating } from 'src/ue/interfaces/rate.interface'; +import { FakeAssoMembers, FakeUeWithOfs, JsonLikeVariant } from '#/declarations.d'; +import { ERROR_CODE, ErrorData, ExtrasTypeBuilder } from '@/exceptions'; +import { UeComment } from '@/ue/comments/interfaces/comment.interface'; +import { UeCommentReply } from '@/ue/comments/interfaces/comment-reply.interface'; +import { Criterion } from '@/ue/interfaces/criterion.interface'; +import { UeRating } from '@/ue/interfaces/rate.interface'; import { - FakeUeAnnalType, - FakeUser, - FakeHomepageWidget, - FakeAsso, - FakeUeCreditCategory, FakeApiApplication, - FakeAssoMembershipRole, + FakeAsso, FakeAssoMembership, - FakeImageMedia, + FakeAssoMembershipRole, FakeAssoWeekly, -} from './utils/fakedb'; -import { UeAnnalFile } from 'src/ue/annals/interfaces/annal.interface'; -import { ConfigService } from '../src/config/config.service'; -import { AppProvider, JsonLike } from './utils/test_utils'; -import { getTranslation, omit, PermissionManager, pick } from '../src/utils'; -import { regex, string, uuid, int } from 'pactum-matchers'; -import { Language } from '../src/prisma/types'; -import { DEFAULT_APPLICATION } from '../prisma/seed/utils'; -import ApplicationResDto from '../src/auth/application/dto/res/application-res.dto'; -import PermissionsResDto from '../src/auth/permissions/dto/res/permissions.dto'; + FakeHomepageWidget, + FakeImageMedia, + FakeUeAnnalType, + FakeUeCreditCategory, + FakeUser, +} from '#/utils/fakedb'; +import { UeAnnalFile } from '@/ue/annals/interfaces/annal.interface'; +import { ConfigService } from '@/config/config.service'; +import { AppProvider, JsonLike } from '#/utils/test_utils'; +import { PermissionManager, getTranslation, omit, pick } from '@/utils'; +import { int, regex, string, uuid } from 'pactum-matchers'; +import { Language } from '@/prisma/types'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; +import ApplicationResDto from '@/auth/application/dto/res/application-res.dto'; +import PermissionsResDto from '@/auth/permissions/dto/res/permissions.dto'; function ueOverviewExpectation(ue: FakeUeWithOfs, spec: Spec) { return { diff --git a/test/e2e/app.e2e-spec.ts b/test/e2e/app.e2e-spec.ts index 73916b68..dd3d4166 100644 --- a/test/e2e/app.e2e-spec.ts +++ b/test/e2e/app.e2e-spec.ts @@ -6,24 +6,24 @@ jest.mock('@nestjs-modules/mailer/dist/adapters/ejs.adapter', () => ({ })), })); -import '../declarations'; -import '../../src/std.type'; -import * as testUtils from '../utils/test_utils'; +import '#/declarations'; +import '@/std.type'; +import * as testUtils from '#/utils/test_utils'; import { INestApplication, VersioningType } from '@nestjs/common'; import { Test } from '@nestjs/testing'; -import { AppModule } from '../../src/app.module'; +import { AppModule } from '@/app.module'; import * as pactum from 'pactum'; -import AuthE2ESpec from './auth'; -import ProfileE2ESpec from './profile'; -import UsersE2ESpec from './users'; -import TimetableE2ESpec from './timetable'; -import UeE2ESpec from './ue'; -import { AppValidationPipe } from '../../src/app.pipe'; -import * as cas from '../external_services/cas'; -import * as timetableProvider from '../external_services/timetable'; -import { ConfigService } from '../../src/config/config.service'; -import AssoE2ESpec from './assos'; -import MediaE2ESpec from './media'; +import AuthE2ESpec from '#/e2e/auth'; +import ProfileE2ESpec from '#/e2e/profile'; +import UsersE2ESpec from '#/e2e/users'; +import TimetableE2ESpec from '#/e2e/timetable'; +import UeE2ESpec from '#/e2e/ue'; +import { AppValidationPipe } from '@/app.pipe'; +import * as cas from '#/external_services/cas'; +import * as timetableProvider from '#/external_services/timetable'; +import { ConfigService } from '@/config/config.service'; +import AssoE2ESpec from '#/e2e/assos'; +import MediaE2ESpec from '#/e2e/media'; describe('EtuUTT API e2e testing', () => { let app: INestApplication; diff --git a/test/e2e/assos/add-member.e2e-spec.ts b/test/e2e/assos/add-member.e2e-spec.ts index 033844d1..92281a40 100644 --- a/test/e2e/assos/add-member.e2e-spec.ts +++ b/test/e2e/assos/add-member.e2e-spec.ts @@ -1,17 +1,17 @@ -import { Dummies, e2eSuite, JsonLike } from '../../utils/test_utils'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; import { createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; import { faker } from '@faker-js/faker'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; -import { AuthService } from '../../../src/auth/auth.service'; +import { DEFAULT_APPLICATION } from '@/../prisma/seed/utils'; +import { AuthService } from '@/auth/auth.service'; const AddAssoMemberE2ESpec = e2eSuite('POST /assos/:id/members', (app) => { const userMember = createUser(app); diff --git a/test/e2e/assos/create-role.e2e-spec.ts b/test/e2e/assos/create-role.e2e-spec.ts index a86383ee..1d819895 100644 --- a/test/e2e/assos/create-role.e2e-spec.ts +++ b/test/e2e/assos/create-role.e2e-spec.ts @@ -1,17 +1,17 @@ -import { Dummies, e2eSuite, JsonLike } from '../../utils/test_utils'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; import { createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; import { faker } from '@faker-js/faker'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; -import { AuthService } from '../../../src/auth/auth.service'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; +import { AuthService } from '@/auth/auth.service'; const CreateAssoRoleE2ESpec = e2eSuite('POST /assos/:id/roles', (app) => { const user = createUser(app); diff --git a/test/e2e/assos/create-weekly.e2e-spec.ts b/test/e2e/assos/create-weekly.e2e-spec.ts index a22115dc..710a68d9 100644 --- a/test/e2e/assos/create-weekly.e2e-spec.ts +++ b/test/e2e/assos/create-weekly.e2e-spec.ts @@ -1,15 +1,15 @@ -import { Dummies, e2eSuite, JsonLike } from '../../utils/test_utils'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; import { - createAsso, createAssoWeekly, - createAssoMembership, + createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, + createAssoWeekly, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import AssosPostWeeklyReqDto from '../../../src/assos/weekly/dto/req/weekly-req.dto'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import AssosPostWeeklyReqDto from '@/assos/weekly/dto/req/weekly-req.dto'; +import { PrismaService } from '@/prisma/prisma.service'; const CreateWeeklyE2ESpec = e2eSuite('POST /assos/:assoId/weekly', (app) => { const asso = createAsso(app); diff --git a/test/e2e/assos/delete-role.e2e-spec.ts b/test/e2e/assos/delete-role.e2e-spec.ts index 28e80004..e8babb10 100644 --- a/test/e2e/assos/delete-role.e2e-spec.ts +++ b/test/e2e/assos/delete-role.e2e-spec.ts @@ -1,17 +1,17 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import { createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; import { faker } from '@faker-js/faker'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; -import { AuthService } from '../../../src/auth/auth.service'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; +import { AuthService } from '@/auth/auth.service'; const DeleteAssoRoleE2ESpec = e2eSuite('DELETE /assos/:id/roles/:id', (app) => { const user = createUser(app); diff --git a/test/e2e/assos/delete-weekly.e2e-spec.ts b/test/e2e/assos/delete-weekly.e2e-spec.ts index 47b46fef..301d01e6 100644 --- a/test/e2e/assos/delete-weekly.e2e-spec.ts +++ b/test/e2e/assos/delete-weekly.e2e-spec.ts @@ -1,13 +1,13 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import { - createAsso, createAssoWeekly, - createAssoMembership, + createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, + createAssoWeekly, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; const DeleteWeeklyE2ESpec = e2eSuite('DELETE /assos/:assoId/weekly/:weeklyId', (app) => { const userWithPermission = createUser(app); diff --git a/test/e2e/assos/get-asso.e2e-spec.ts b/test/e2e/assos/get-asso.e2e-spec.ts index 406c7770..9618dfea 100644 --- a/test/e2e/assos/get-asso.e2e-spec.ts +++ b/test/e2e/assos/get-asso.e2e-spec.ts @@ -1,7 +1,7 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; -import { createAsso } from '../../utils/fakedb'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; +import { createAsso } from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; const GetAssoE2ESpec = e2eSuite('GET /assos/:id', (app) => { const asso = createAsso(app); diff --git a/test/e2e/assos/get-weekly-info.e2e-spec.ts b/test/e2e/assos/get-weekly-info.e2e-spec.ts index 0eac5318..0a89c31f 100644 --- a/test/e2e/assos/get-weekly-info.e2e-spec.ts +++ b/test/e2e/assos/get-weekly-info.e2e-spec.ts @@ -1,8 +1,8 @@ -import { e2eSuite } from '../../utils/test_utils'; -import { createUser } from '../../utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { createUser } from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { ConfigService } from '../../../src/config/config.service'; +import { ERROR_CODE } from '@/exceptions'; +import { ConfigService } from '@/config/config.service'; const GetWeeklyInfoE2ESpec = e2eSuite('GET /assos/weekly/info', (app) => { const user = createUser(app); diff --git a/test/e2e/assos/index.ts b/test/e2e/assos/index.ts index 1aa525eb..9adaeef5 100644 --- a/test/e2e/assos/index.ts +++ b/test/e2e/assos/index.ts @@ -1,19 +1,19 @@ import { INestApplication } from '@nestjs/common'; -import SearchE2ESpec from './search.e2e-spec'; -import GetAssoE2ESpec from './get-asso.e2e-spec'; -import UpdateAssoE2ESpec from './update-asso.e2e-spec'; -import GetAssoMembersE2ESpec from './list-members.e2e-spec'; -import AddAssoMemberE2ESpec from './add-member.e2e-spec'; -import KickAssoMemberE2ESpec from './kick-member.e2e-spec'; -import UpdateAssoMemberE2ESpec from './update-member.e2e-spec'; -import CreateAssoRoleE2ESpec from './create-role.e2e-spec'; -import DeleteAssoRoleE2ESpec from './delete-role.e2e-spec'; -import UpdateAssoRoleE2ESpec from './update-role.e2e-spec'; -import CreateWeeklyE2ESpec from './create-weekly.e2e-spec'; -import SearchWeekliesE2ESpec from './search-weeklies.e2e-spec'; -import UpdateWeeklyE2ESpec from './update-weekly.e2e-spec'; -import DeleteWeeklyE2ESpec from './delete-weekly.e2e-spec'; -import GetWeeklyInfoE2ESpec from './get-weekly-info.e2e-spec'; +import SearchE2ESpec from '#/e2e/assos/search.e2e-spec'; +import GetAssoE2ESpec from '#/e2e/assos/get-asso.e2e-spec'; +import UpdateAssoE2ESpec from '#/e2e/assos/update-asso.e2e-spec'; +import GetAssoMembersE2ESpec from '#/e2e/assos/list-members.e2e-spec'; +import AddAssoMemberE2ESpec from '#/e2e/assos/add-member.e2e-spec'; +import KickAssoMemberE2ESpec from '#/e2e/assos/kick-member.e2e-spec'; +import UpdateAssoMemberE2ESpec from '#/e2e/assos/update-member.e2e-spec'; +import CreateAssoRoleE2ESpec from '#/e2e/assos/create-role.e2e-spec'; +import DeleteAssoRoleE2ESpec from '#/e2e/assos/delete-role.e2e-spec'; +import UpdateAssoRoleE2ESpec from '#/e2e/assos/update-role.e2e-spec'; +import CreateWeeklyE2ESpec from '#/e2e/assos/create-weekly.e2e-spec'; +import SearchWeekliesE2ESpec from '#/e2e/assos/search-weeklies.e2e-spec'; +import UpdateWeeklyE2ESpec from '#/e2e/assos/update-weekly.e2e-spec'; +import DeleteWeeklyE2ESpec from '#/e2e/assos/delete-weekly.e2e-spec'; +import GetWeeklyInfoE2ESpec from '#/e2e/assos/get-weekly-info.e2e-spec'; export default function AssoE2ESpec(app: () => INestApplication) { describe('Assos', () => { diff --git a/test/e2e/assos/kick-member.e2e-spec.ts b/test/e2e/assos/kick-member.e2e-spec.ts index 53b9a572..c3ae041b 100644 --- a/test/e2e/assos/kick-member.e2e-spec.ts +++ b/test/e2e/assos/kick-member.e2e-spec.ts @@ -1,17 +1,17 @@ -import { Dummies, e2eSuite, JsonLike } from '../../utils/test_utils'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; import { createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; import { faker } from '@faker-js/faker'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; -import { AuthService } from '../../../src/auth/auth.service'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; +import { AuthService } from '@/auth/auth.service'; const KickAssoMemberE2ESpec = e2eSuite('DELETE /assos/:id/members/:id', (app) => { const userNotAllowed = createUser(app); diff --git a/test/e2e/assos/list-members.e2e-spec.ts b/test/e2e/assos/list-members.e2e-spec.ts index e2315562..12d221b4 100644 --- a/test/e2e/assos/list-members.e2e-spec.ts +++ b/test/e2e/assos/list-members.e2e-spec.ts @@ -1,7 +1,7 @@ -import { Dummies, e2eSuite, JsonLike } from '../../utils/test_utils'; -import { createAsso, createAssoMembership, createAssoMembershipRole, createUser } from '../../utils/fakedb'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; +import { createAsso, createAssoMembership, createAssoMembershipRole, createUser } from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; const GetAssoMembersE2ESpec = e2eSuite('GET /assos/:id/members', (app) => { const user = createUser(app); diff --git a/test/e2e/assos/search-weeklies.e2e-spec.ts b/test/e2e/assos/search-weeklies.e2e-spec.ts index 4f1f585c..578a3385 100644 --- a/test/e2e/assos/search-weeklies.e2e-spec.ts +++ b/test/e2e/assos/search-weeklies.e2e-spec.ts @@ -1,13 +1,13 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import { - createAsso, createAssoWeekly, - createAssoMembership, + createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, + createAssoWeekly, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; const SearchWeekliesE2ESpec = e2eSuite('GET /assos/:assoId/weekly', (app) => { const userWithPermission = createUser(app); diff --git a/test/e2e/assos/search.e2e-spec.ts b/test/e2e/assos/search.e2e-spec.ts index 788d3772..0a3611e2 100644 --- a/test/e2e/assos/search.e2e-spec.ts +++ b/test/e2e/assos/search.e2e-spec.ts @@ -1,8 +1,8 @@ -import { FakeAsso, createAsso } from '../../utils/fakedb'; +import { FakeAsso, createAsso } from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { e2eSuite } from '../../utils/test_utils'; -import { ConfigService } from '../../../src/config/config.service'; +import { ERROR_CODE } from '@/exceptions'; +import { e2eSuite } from '#/utils/test_utils'; +import { ConfigService } from '@/config/config.service'; const SearchE2ESpec = e2eSuite('GET /assos', (app) => { const assos: FakeAsso[] = []; diff --git a/test/e2e/assos/update-asso.e2e-spec.ts b/test/e2e/assos/update-asso.e2e-spec.ts index 3e8ec438..09879297 100644 --- a/test/e2e/assos/update-asso.e2e-spec.ts +++ b/test/e2e/assos/update-asso.e2e-spec.ts @@ -1,4 +1,4 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import { createAsso, createAssoMembership, @@ -6,11 +6,11 @@ import { createAssoMembershipRole, createImageMedia, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { pick } from '../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; +import { pick } from '@/utils'; const UpdateAssoE2ESpec = e2eSuite('PATCH /assos/:id', (app) => { const userNotAllowed = createUser(app); diff --git a/test/e2e/assos/update-member.e2e-spec.ts b/test/e2e/assos/update-member.e2e-spec.ts index 9f98627d..293fdf71 100644 --- a/test/e2e/assos/update-member.e2e-spec.ts +++ b/test/e2e/assos/update-member.e2e-spec.ts @@ -1,17 +1,17 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import { createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; import { faker } from '@faker-js/faker'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; -import { AuthService } from '../../../src/auth/auth.service'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; +import { AuthService } from '@/auth/auth.service'; const UpdateAssoMemberE2ESpec = e2eSuite('PATCH /assos/:id/members/:id', (app) => { const userNotAllowed = createUser(app); diff --git a/test/e2e/assos/update-role.e2e-spec.ts b/test/e2e/assos/update-role.e2e-spec.ts index 3d57bed0..4f00be3a 100644 --- a/test/e2e/assos/update-role.e2e-spec.ts +++ b/test/e2e/assos/update-role.e2e-spec.ts @@ -1,17 +1,17 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import { createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; import { faker } from '@faker-js/faker'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; -import { AuthService } from '../../../src/auth/auth.service'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; +import { AuthService } from '@/auth/auth.service'; const UpdateAssoRoleE2ESpec = e2eSuite('PUT /assos/:id/roles/:id', (app) => { const user = createUser(app); diff --git a/test/e2e/assos/update-weekly.e2e-spec.ts b/test/e2e/assos/update-weekly.e2e-spec.ts index 866e89c2..3cf2badf 100644 --- a/test/e2e/assos/update-weekly.e2e-spec.ts +++ b/test/e2e/assos/update-weekly.e2e-spec.ts @@ -1,15 +1,15 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import { - createAsso, createAssoWeekly, - createAssoMembership, + createAsso, createAssoMembership, createAssoMembershipPermission, createAssoMembershipRole, + createAssoWeekly, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; import { faker } from '@faker-js/faker'; -import { pick } from '../../../src/utils'; +import { pick } from '@/utils'; const UpdateWeeklyE2ESpec = e2eSuite('PATCH /assos/:assoId/weekly/:weeklyId', (app) => { const userWithPermission = createUser(app); diff --git a/test/e2e/auth/application/create-application.e2e-spec.ts b/test/e2e/auth/application/create-application.e2e-spec.ts index 8c99f319..053e780e 100644 --- a/test/e2e/auth/application/create-application.e2e-spec.ts +++ b/test/e2e/auth/application/create-application.e2e-spec.ts @@ -1,7 +1,7 @@ -import { e2eSuite, JsonLike } from '../../../utils/test_utils'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import * as fakedb from '../../../utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; const CreateApplicationE2ESpec = e2eSuite('POST /auth/application', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/auth/application/get-application.e2e-spec.ts b/test/e2e/auth/application/get-application.e2e-spec.ts index da62559f..ed458bb5 100644 --- a/test/e2e/auth/application/get-application.e2e-spec.ts +++ b/test/e2e/auth/application/get-application.e2e-spec.ts @@ -1,7 +1,7 @@ -import { e2eSuite } from '../../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import * as fakedb from '../../../utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; const GetApplicationE2ESpec = e2eSuite('GET /auth/application/:applicationId', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/auth/application/get-applications-of-user.e2e-spec.ts b/test/e2e/auth/application/get-applications-of-user.e2e-spec.ts index 280e9da5..7588a59b 100644 --- a/test/e2e/auth/application/get-applications-of-user.e2e-spec.ts +++ b/test/e2e/auth/application/get-applications-of-user.e2e-spec.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import * as fakedb from '../../../utils/fakedb'; -import { Permission } from '../../../../src/prisma/types'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; +import { Permission } from '@/prisma/types'; +import { PermissionManager } from '@/utils'; const GetApplicationsOfUserE2ESpec = e2eSuite('GET /auth/application/of/:userId', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/auth/application/get-my-applications.e2e-spec.ts b/test/e2e/auth/application/get-my-applications.e2e-spec.ts index 73ba7319..0289d5d2 100644 --- a/test/e2e/auth/application/get-my-applications.e2e-spec.ts +++ b/test/e2e/auth/application/get-my-applications.e2e-spec.ts @@ -1,7 +1,7 @@ -import { e2eSuite } from '../../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import * as fakedb from '../../../utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; const GetMyApplicationsE2ESpec = e2eSuite('GET /auth/application/of/me', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/auth/application/index.ts b/test/e2e/auth/application/index.ts index 8922549b..26d785a1 100644 --- a/test/e2e/auth/application/index.ts +++ b/test/e2e/auth/application/index.ts @@ -1,10 +1,10 @@ -import { E2EAppProvider } from '../../../utils/test_utils'; -import GetMyApplicationsE2ESpec from './get-my-applications.e2e-spec'; -import GetApplicationsOfUserE2ESpec from './get-applications-of-user.e2e-spec'; -import GetApplicationE2ESpec from './get-application.e2e-spec'; -import CreateApplicationE2ESpec from './create-application.e2e-spec'; -import UpdateClientSecretE2ESpec from './update-client-secret.e2e-spec'; -import UpdateApplicationTokenE2ESpec from './update-application-token.e2e-spec'; +import { E2EAppProvider } from '#/utils/test_utils'; +import GetMyApplicationsE2ESpec from '#/e2e/auth/application/get-my-applications.e2e-spec'; +import GetApplicationsOfUserE2ESpec from '#/e2e/auth/application/get-applications-of-user.e2e-spec'; +import GetApplicationE2ESpec from '#/e2e/auth/application/get-application.e2e-spec'; +import CreateApplicationE2ESpec from '#/e2e/auth/application/create-application.e2e-spec'; +import UpdateClientSecretE2ESpec from '#/e2e/auth/application/update-client-secret.e2e-spec'; +import UpdateApplicationTokenE2ESpec from '#/e2e/auth/application/update-application-token.e2e-spec'; export default function ApplicationE2ESpec(app: E2EAppProvider) { describe('Application', () => { diff --git a/test/e2e/auth/application/update-application-token.e2e-spec.ts b/test/e2e/auth/application/update-application-token.e2e-spec.ts index 503e32ac..79b5e9bb 100644 --- a/test/e2e/auth/application/update-application-token.e2e-spec.ts +++ b/test/e2e/auth/application/update-application-token.e2e-spec.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import * as fakedb from '../../../utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; import { JwtService } from '@nestjs/jwt'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; +import { PrismaService } from '@/prisma/prisma.service'; const UpdateApplicationTokenE2ESpec = e2eSuite('PATCH /auth/application/:applicationId/token', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/auth/application/update-client-secret.e2e-spec.ts b/test/e2e/auth/application/update-client-secret.e2e-spec.ts index 31632127..6c3900a9 100644 --- a/test/e2e/auth/application/update-client-secret.e2e-spec.ts +++ b/test/e2e/auth/application/update-client-secret.e2e-spec.ts @@ -1,7 +1,7 @@ -import { e2eSuite, JsonLike } from '../../../utils/test_utils'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import * as fakedb from '../../../utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; const UpdateClientSecretE2ESpec = e2eSuite('PATCH /auth/application/:applicationId/client-secret', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/auth/cas-sign-in.e2e-spec.ts b/test/e2e/auth/cas-sign-in.e2e-spec.ts index 33fbfb63..9321df50 100644 --- a/test/e2e/auth/cas-sign-in.e2e-spec.ts +++ b/test/e2e/auth/cas-sign-in.e2e-spec.ts @@ -1,11 +1,11 @@ -import { e2eSuite, JsonLike } from '../../utils/test_utils'; -import * as cas from '../../external_services/cas'; -import * as fakedb from '../../utils/fakedb'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; +import * as cas from '#/external_services/cas'; +import * as fakedb from '#/utils/fakedb'; import * as pactum from 'pactum'; import { JwtService } from '@nestjs/jwt'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import AuthCasSignInReqDto from '../../../src/auth/dto/req/auth-cas-sign-in-req.dto'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; +import { PrismaService } from '@/prisma/prisma.service'; +import AuthCasSignInReqDto from '@/auth/dto/req/auth-cas-sign-in-req.dto'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; const CasSignInE2ESpec = e2eSuite('POST /auth/signin/cas', (app) => { const body: AuthCasSignInReqDto = { diff --git a/test/e2e/auth/cas-sign-up.e2e-spec.ts b/test/e2e/auth/cas-sign-up.e2e-spec.ts index 7f9733f8..4643c3aa 100644 --- a/test/e2e/auth/cas-sign-up.e2e-spec.ts +++ b/test/e2e/auth/cas-sign-up.e2e-spec.ts @@ -1,16 +1,16 @@ -import { e2eSuite, JsonLike } from '../../utils/test_utils'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; import { faker } from '@faker-js/faker'; import { JwtService } from '@nestjs/jwt'; -import * as fakedb from '../../utils/fakedb'; -import { AuthService } from '../../../src/auth/auth.service'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { ConfigService } from '../../../src/config/config.service'; +import * as fakedb from '#/utils/fakedb'; +import { AuthService } from '@/auth/auth.service'; +import { PrismaService } from '@/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { ConfigService } from '@/config/config.service'; import { LdapUser } from 'ldap-server-mock'; -import { mockLdapServer } from '../../external_services/ldap'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; -import { Permission } from '../../../src/prisma/types'; +import { mockLdapServer } from '#/external_services/ldap'; +import { DEFAULT_APPLICATION } from '@/../prisma/seed/utils'; +import { Permission } from '@/prisma/types'; const CasSignUpE2ESpec = e2eSuite('POST /auth/signup/cas', (app) => { const list: LdapUser[] = []; diff --git a/test/e2e/auth/create-api-key.e2e-spec.ts b/test/e2e/auth/create-api-key.e2e-spec.ts index 8796e5ac..661b3a24 100644 --- a/test/e2e/auth/create-api-key.e2e-spec.ts +++ b/test/e2e/auth/create-api-key.e2e-spec.ts @@ -1,10 +1,10 @@ import * as pactum from 'pactum'; -import { e2eSuite, JsonLike } from '../../utils/test_utils'; -import { AuthService } from '../../../src/auth/auth.service'; -import { ERROR_CODE } from '../../../src/exceptions'; -import * as fakedb from '../../utils/fakedb'; -import { pick } from '../../../src/utils'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; +import { AuthService } from '@/auth/auth.service'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; +import { pick } from '@/utils'; +import { PrismaService } from '@/prisma/prisma.service'; const CreateApiKeyE2ESpec = e2eSuite('POST /auth/api-key', (app) => { const authService = () => app().get(AuthService); diff --git a/test/e2e/auth/index.ts b/test/e2e/auth/index.ts index 0f4a3260..0f8bacb9 100644 --- a/test/e2e/auth/index.ts +++ b/test/e2e/auth/index.ts @@ -1,13 +1,13 @@ -import SignUpE2ESpec from './signup-e2e-spec'; -import SignInE2ESpec from './signin-e2e-spec'; -import VerifyE2ESpec from './verify-e2e-spec'; -import { E2EAppProvider } from '../../utils/test_utils'; -import CasSignInE2ESpec from './cas-sign-in.e2e-spec'; -import CasSignUpE2ESpec from './cas-sign-up.e2e-spec'; -import CreateApiKeyE2ESpec from './create-api-key.e2e-spec'; -import ApplicationE2ESpec from './application'; -import ValidateLoginE2ESpec from './validate-login.e2e-spec'; -import PermissionsE2ESpec from './permissions'; +import SignUpE2ESpec from '#/e2e/auth/signup-e2e-spec'; +import SignInE2ESpec from '#/e2e/auth/signin-e2e-spec'; +import VerifyE2ESpec from '#/e2e/auth/verify-e2e-spec'; +import { E2EAppProvider } from '#/utils/test_utils'; +import CasSignInE2ESpec from '#/e2e/auth/cas-sign-in.e2e-spec'; +import CasSignUpE2ESpec from '#/e2e/auth/cas-sign-up.e2e-spec'; +import CreateApiKeyE2ESpec from '#/e2e/auth/create-api-key.e2e-spec'; +import ApplicationE2ESpec from '#/e2e/auth/application'; +import ValidateLoginE2ESpec from '#/e2e/auth/validate-login.e2e-spec'; +import PermissionsE2ESpec from '#/e2e/auth/permissions'; export default function AuthE2ESpec(app: E2EAppProvider) { describe('Auth', () => { diff --git a/test/e2e/auth/permissions/get-own-permissions.ts b/test/e2e/auth/permissions/get-own-permissions.ts index 668fa185..506f5688 100644 --- a/test/e2e/auth/permissions/get-own-permissions.ts +++ b/test/e2e/auth/permissions/get-own-permissions.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import * as fakedb from '../../../utils/fakedb'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { Permission } from '../../../../src/prisma/types'; -import { PermissionManager } from '../../../../src/utils'; +import * as fakedb from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import { Permission } from '@/prisma/types'; +import { PermissionManager } from '@/utils'; const GetOwnPermissionsE2ESpec = e2eSuite('GET /auth/permissions/current', (app) => { const user = fakedb.createUser(app, { diff --git a/test/e2e/auth/permissions/get-permissions.e2e-spec.ts b/test/e2e/auth/permissions/get-permissions.e2e-spec.ts index deba64af..df296952 100644 --- a/test/e2e/auth/permissions/get-permissions.e2e-spec.ts +++ b/test/e2e/auth/permissions/get-permissions.e2e-spec.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import * as fakedb from '../../../utils/fakedb'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { Permission } from '../../../../src/prisma/types'; -import { PermissionManager } from '../../../../src/utils'; +import * as fakedb from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import { Permission } from '@/prisma/types'; +import { PermissionManager } from '@/utils'; const GetPermissionsE2ESpec = e2eSuite('GET /auth/permissions/:apiKey', (app) => { const loggedUser = fakedb.createUser(app); diff --git a/test/e2e/auth/permissions/index.ts b/test/e2e/auth/permissions/index.ts index 71a90271..5e629bbb 100644 --- a/test/e2e/auth/permissions/index.ts +++ b/test/e2e/auth/permissions/index.ts @@ -1,6 +1,6 @@ -import { E2EAppProvider } from '../../../utils/test_utils'; -import GetPermissionsE2ESpec from './get-permissions.e2e-spec'; -import GetOwnPermissionsE2ESpec from './get-own-permissions'; +import { E2EAppProvider } from '#/utils/test_utils'; +import GetPermissionsE2ESpec from '#/e2e/auth/permissions/get-permissions.e2e-spec'; +import GetOwnPermissionsE2ESpec from '#/e2e/auth/permissions/get-own-permissions'; export default function PermissionsE2ESpec(app: E2EAppProvider) { describe('Permissions', () => { diff --git a/test/e2e/auth/signin-e2e-spec.ts b/test/e2e/auth/signin-e2e-spec.ts index f973cd18..7d1f75b1 100644 --- a/test/e2e/auth/signin-e2e-spec.ts +++ b/test/e2e/auth/signin-e2e-spec.ts @@ -1,12 +1,12 @@ -import AuthSignInDto from '../../../src/auth/dto/req/auth-sign-in-req.dto'; +import AuthSignInDto from '@/auth/dto/req/auth-sign-in-req.dto'; import * as pactum from 'pactum'; -import { e2eSuite, JsonLike } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; import { JwtService } from '@nestjs/jwt'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; -import { AuthService } from '../../../src/auth/auth.service'; +import { PrismaService } from '@/prisma/prisma.service'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; +import { AuthService } from '@/auth/auth.service'; const SignInE2ESpec = e2eSuite('POST /auth/signin', (app) => { const dto = { @@ -30,7 +30,7 @@ const SignInE2ESpec = e2eSuite('POST /auth/signin', (app) => { pactum .spec() .post('/auth/signin') - .withBody({ ...dto, login: 'my/login_1' }) + .withBody({ ...dto, login: '#/login_1' }) .expectAppError(ERROR_CODE.PARAM_NOT_ALPHANUMERIC, 'login')); it('should return a 400 if password is missing', async () => diff --git a/test/e2e/auth/signup-e2e-spec.ts b/test/e2e/auth/signup-e2e-spec.ts index 34cd7e2b..d00387f6 100644 --- a/test/e2e/auth/signup-e2e-spec.ts +++ b/test/e2e/auth/signup-e2e-spec.ts @@ -1,10 +1,10 @@ -import AuthSignUpReqDto from '../../../src/auth/dto/req/auth-sign-up-req.dto'; +import AuthSignUpReqDto from '@/auth/dto/req/auth-sign-up-req.dto'; import * as pactum from 'pactum'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { e2eSuite } from '../../utils/test_utils'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { UserType } from '../../../src/prisma/types'; -import { createUser } from '../../utils/fakedb'; +import { PrismaService } from '@/prisma/prisma.service'; +import { e2eSuite } from '#/utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; +import { UserType } from '@/prisma/types'; +import { createUser } from '#/utils/fakedb'; import { JwtService } from '@nestjs/jwt'; import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; @@ -31,7 +31,7 @@ const SignupE2ESpec = e2eSuite('POST /auth/signup', (app) => { return pactum .spec() .post('/auth/signup') - .withBody({ ...dto, login: 'my/login_1' }) + .withBody({ ...dto, login: '#/login_1' }) .expectAppError(ERROR_CODE.PARAM_NOT_ALPHANUMERIC, 'login'); }); it('should return a 400 if password is missing', async () => { diff --git a/test/e2e/auth/validate-login.e2e-spec.ts b/test/e2e/auth/validate-login.e2e-spec.ts index 4f18f6b5..400f365d 100644 --- a/test/e2e/auth/validate-login.e2e-spec.ts +++ b/test/e2e/auth/validate-login.e2e-spec.ts @@ -1,10 +1,10 @@ import * as pactum from 'pactum'; -import { e2eSuite, JsonLike } from '../../utils/test_utils'; -import { AuthService } from '../../../src/auth/auth.service'; -import { ERROR_CODE } from '../../../src/exceptions'; -import * as fakedb from '../../utils/fakedb'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { DEFAULT_APPLICATION } from '../../../prisma/seed/utils'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; +import { AuthService } from '@/auth/auth.service'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; +import { PrismaService } from '@/prisma/prisma.service'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; import { JwtService } from '@nestjs/jwt'; const ValidateLoginE2ESpec = e2eSuite('POST /auth/login/validate', (app) => { diff --git a/test/e2e/auth/verify-e2e-spec.ts b/test/e2e/auth/verify-e2e-spec.ts index 25b1b8c7..214acab3 100644 --- a/test/e2e/auth/verify-e2e-spec.ts +++ b/test/e2e/auth/verify-e2e-spec.ts @@ -1,7 +1,7 @@ import * as pactum from 'pactum'; -import { e2eSuite } from '../../utils/test_utils'; -import { AuthService } from '../../../src/auth/auth.service'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { e2eSuite } from '#/utils/test_utils'; +import { AuthService } from '@/auth/auth.service'; +import { ERROR_CODE } from '@/exceptions'; const VerifyE2ESpec = e2eSuite('GET /auth/signin', (app) => { it('should return a 400 if the token is missing', async () => diff --git a/test/e2e/branch/get-branches.e2e-spec.ts b/test/e2e/branch/get-branches.e2e-spec.ts index 67155c61..8539bc18 100644 --- a/test/e2e/branch/get-branches.e2e-spec.ts +++ b/test/e2e/branch/get-branches.e2e-spec.ts @@ -1,5 +1,5 @@ -import { e2eSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; import * as pactum from 'pactum'; export const GetBranchesE2ESpec = e2eSuite('GET /branch', (app) => { diff --git a/test/e2e/branch/index.ts b/test/e2e/branch/index.ts index 1a015be1..abe0a77e 100644 --- a/test/e2e/branch/index.ts +++ b/test/e2e/branch/index.ts @@ -1,5 +1,5 @@ -import { E2EAppProvider } from '../../utils/test_utils'; -import { GetBranchesE2ESpec } from './get-branches.e2e-spec'; +import { E2EAppProvider } from '#/utils/test_utils'; +import { GetBranchesE2ESpec } from '#/e2e/branch/get-branches.e2e-spec'; export default function BranchE2ESpec(app: E2EAppProvider) { describe('Branch', () => { diff --git a/test/e2e/media/image/get-media.e2e-spec.ts b/test/e2e/media/image/get-media.e2e-spec.ts index 24b0819a..fda15ba5 100644 --- a/test/e2e/media/image/get-media.e2e-spec.ts +++ b/test/e2e/media/image/get-media.e2e-spec.ts @@ -1,9 +1,9 @@ -import { Dummies, e2eSuite } from '../../../utils/test_utils'; -import * as fakedb from '../../../utils/fakedb'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; import { cpSync, mkdirSync, rmSync } from 'fs'; -import { ConfigService } from '../../../../src/config/config.service'; -import { createUser } from '../../../utils/fakedb'; -import { ERROR_CODE } from '../../../../src/exceptions'; +import { ConfigService } from '@/config/config.service'; +import { createUser } from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; import * as pactum from 'pactum'; export const GetMediaE2ESpec = e2eSuite('GET /media/image/:mediaId', (app) => { diff --git a/test/e2e/media/image/upload-media.e2e-spec.ts b/test/e2e/media/image/upload-media.e2e-spec.ts index 9b264a96..1df44956 100644 --- a/test/e2e/media/image/upload-media.e2e-spec.ts +++ b/test/e2e/media/image/upload-media.e2e-spec.ts @@ -1,10 +1,10 @@ -import { ImageMediaPreset } from '../../../../src/prisma/types'; +import { ImageMediaPreset } from '@/prisma/types'; import { mkdirSync, rmSync } from 'fs'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { createUser } from '../../../utils/fakedb'; -import { e2eSuite, JsonLike } from '../../../utils/test_utils'; -import { ConfigService } from '../../../../src/config/config.service'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { createUser } from '#/utils/fakedb'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; +import { ConfigService } from '@/config/config.service'; +import { PermissionManager } from '@/utils'; import * as pactum from 'pactum'; export const UploadMediaE2ESpec = e2eSuite('POST /media/image', (app) => { diff --git a/test/e2e/media/index.ts b/test/e2e/media/index.ts index 01700cc3..dcec8869 100644 --- a/test/e2e/media/index.ts +++ b/test/e2e/media/index.ts @@ -1,6 +1,6 @@ -import { E2EAppProvider } from '../../utils/test_utils'; -import { GetMediaE2ESpec } from './image/get-media.e2e-spec'; -import { UploadMediaE2ESpec } from './image/upload-media.e2e-spec'; +import { E2EAppProvider } from '#/utils/test_utils'; +import { GetMediaE2ESpec } from '#/e2e/media/image/get-media.e2e-spec'; +import { UploadMediaE2ESpec } from '#/e2e/media/image/upload-media.e2e-spec'; export default function MediaE2ESpec(app: E2EAppProvider) { describe('Media', () => { diff --git a/test/e2e/profile/get-homepage-widgets.e2e.spec.ts b/test/e2e/profile/get-homepage-widgets.e2e.spec.ts index 675f10ee..49165a80 100644 --- a/test/e2e/profile/get-homepage-widgets.e2e.spec.ts +++ b/test/e2e/profile/get-homepage-widgets.e2e.spec.ts @@ -1,7 +1,7 @@ -import { e2eSuite } from '../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import * as fakedb from '../../utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; const GetHomepageWidgetsE2ESpec = e2eSuite('GET /profile/homepage', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/profile/index.ts b/test/e2e/profile/index.ts index 62453a5e..966221ec 100644 --- a/test/e2e/profile/index.ts +++ b/test/e2e/profile/index.ts @@ -1,6 +1,6 @@ -import { E2EAppProvider } from '../../utils/test_utils'; -import GetHomepageE2ESpec from './get-homepage-widgets.e2e.spec'; -import SetHomepageWidgetsE2ESpec from './set-homepage-widgets.e2e-spec'; +import { E2EAppProvider } from '#/utils/test_utils'; +import GetHomepageE2ESpec from '#/e2e/profile/get-homepage-widgets.e2e.spec'; +import SetHomepageWidgetsE2ESpec from '#/e2e/profile/set-homepage-widgets.e2e-spec'; export default function ProfileE2ESpec(app: E2EAppProvider) { describe('Profile', () => { diff --git a/test/e2e/profile/set-homepage-widgets.e2e-spec.ts b/test/e2e/profile/set-homepage-widgets.e2e-spec.ts index 9eeb926d..9f7db708 100644 --- a/test/e2e/profile/set-homepage-widgets.e2e-spec.ts +++ b/test/e2e/profile/set-homepage-widgets.e2e-spec.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { HomepageWidgetsUpdateElement } from '../../../src/profile/dto/req/homepage-widgets-update-req.dto'; -import * as fakedb from '../../utils/fakedb'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { HomepageWidgetsUpdateElement } from '@/profile/dto/req/homepage-widgets-update-req.dto'; +import * as fakedb from '#/utils/fakedb'; +import { PrismaService } from '@/prisma/prisma.service'; const SetHomepageWidgetsE2ESpec = e2eSuite('PUT /profile/homepage', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/timetable/create-entry.e2e-spec.ts b/test/e2e/timetable/create-entry.e2e-spec.ts index e8d456c7..ceb520f0 100644 --- a/test/e2e/timetable/create-entry.e2e-spec.ts +++ b/test/e2e/timetable/create-entry.e2e-spec.ts @@ -1,7 +1,7 @@ -import { Dummies, e2eSuite, JsonLike } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; const CreateEntryE2ESpec = e2eSuite('POST /timetable/current', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/timetable/delete-occurrences.e2e-spec.ts b/test/e2e/timetable/delete-occurrences.e2e-spec.ts index 69591ad9..92d474c2 100644 --- a/test/e2e/timetable/delete-occurrences.e2e-spec.ts +++ b/test/e2e/timetable/delete-occurrences.e2e-spec.ts @@ -1,10 +1,10 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; import * as pactum from 'pactum'; import { uuid } from 'pactum-matchers'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import TimetableDeleteOccurrencesReqDto from '../../../src/timetable/dto/req/timetable-delete-occurrences-req.dto'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; +import TimetableDeleteOccurrencesReqDto from '@/timetable/dto/req/timetable-delete-occurrences-req.dto'; +import { ERROR_CODE } from '@/exceptions'; const DeleteEntryE2ESpec = e2eSuite('DELETE /timetable/current/:entryId', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/timetable/get-daily-timetable-e2e-spec.ts b/test/e2e/timetable/get-daily-timetable-e2e-spec.ts index 586539f0..59a7864f 100644 --- a/test/e2e/timetable/get-daily-timetable-e2e-spec.ts +++ b/test/e2e/timetable/get-daily-timetable-e2e-spec.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; -import { RawTimetableEntry } from '../../../src/prisma/types'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; +import { RawTimetableEntry } from '@/prisma/types'; +import { PrismaService } from '@/prisma/prisma.service'; import * as pactum from 'pactum'; -import { ERROR_CODE } from 'src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; const GetDailyTimetableE2ESpec = e2eSuite('GET /timetable/current/daily/:day/:month/:year', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/timetable/get-entry-details.e2e-spec.ts b/test/e2e/timetable/get-entry-details.e2e-spec.ts index 4e6fb74f..f6133414 100644 --- a/test/e2e/timetable/get-entry-details.e2e-spec.ts +++ b/test/e2e/timetable/get-entry-details.e2e-spec.ts @@ -1,8 +1,8 @@ -import { e2eSuite } from '../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import * as fakedb from '../../utils/fakedb'; -import { regex } from '../../../src/app.pipe'; +import { ERROR_CODE } from '@/exceptions'; +import * as fakedb from '#/utils/fakedb'; +import { regex } from '@/app.pipe'; const GetEntryDetailsE2ESpec = e2eSuite('GET /timetable/:entryId', (app) => { const user1 = fakedb.createUser(app); diff --git a/test/e2e/timetable/get-groups.e2e-spec.ts b/test/e2e/timetable/get-groups.e2e-spec.ts index 63b8c0d5..6703114c 100644 --- a/test/e2e/timetable/get-groups.e2e-spec.ts +++ b/test/e2e/timetable/get-groups.e2e-spec.ts @@ -1,7 +1,7 @@ -import { e2eSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from 'src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; const GetGroupsE2ESpec = e2eSuite('GET /timetable/current/groups', (app) => { const user1 = fakedb.createUser(app); diff --git a/test/e2e/timetable/get-timetable.e2e-spec.ts b/test/e2e/timetable/get-timetable.e2e-spec.ts index e2d49153..07147a1d 100644 --- a/test/e2e/timetable/get-timetable.e2e-spec.ts +++ b/test/e2e/timetable/get-timetable.e2e-spec.ts @@ -1,8 +1,8 @@ -import { e2eSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { createTimetableEntry, createTimetableGroup } from '../../utils/fakedb'; -import { ERROR_CODE } from 'src/exceptions'; +import { createTimetableEntry, createTimetableGroup } from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; const GetTimetableE2ESpec = e2eSuite('GET /timetable/current/:daysCount/:day/:month/:year', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/timetable/import-timetable.e2e-spec.ts b/test/e2e/timetable/import-timetable.e2e-spec.ts index f64bd9f2..3a99ce4a 100644 --- a/test/e2e/timetable/import-timetable.e2e-spec.ts +++ b/test/e2e/timetable/import-timetable.e2e-spec.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from 'src/exceptions'; -import { setTimetable } from '../../external_services/timetable'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { setTimetable } from '#/external_services/timetable'; +import { PrismaService } from '@/prisma/prisma.service'; const ImportTimetableE2ESpec = e2eSuite('POST /timetable/import', (app) => { const users = Array.from({ length: 10 }, () => fakedb.createUser(app)); diff --git a/test/e2e/timetable/index.ts b/test/e2e/timetable/index.ts index 8eb45ea5..77376aae 100644 --- a/test/e2e/timetable/index.ts +++ b/test/e2e/timetable/index.ts @@ -1,12 +1,12 @@ -import { E2EAppProvider } from '../../utils/test_utils'; -import GetDailyTimetableE2ESpec from './get-daily-timetable-e2e-spec'; -import GetTimetableE2ESpec from './get-timetable.e2e-spec'; -import GetGroupsE2ESpec from './get-groups.e2e-spec'; -import GetEntryDetailsE2ESpec from './get-entry-details.e2e-spec'; -import CreateEntryE2ESpec from './create-entry.e2e-spec'; -import UpdateEntryE2ESpec from './update-entry.e2e-spec'; -import DeleteEntryE2ESpec from './delete-occurrences.e2e-spec'; -import ImportTimetableE2ESpec from './import-timetable.e2e-spec'; +import { E2EAppProvider } from '#/utils/test_utils'; +import GetDailyTimetableE2ESpec from '#/e2e/timetable/get-daily-timetable-e2e-spec'; +import GetTimetableE2ESpec from '#/e2e/timetable/get-timetable.e2e-spec'; +import GetGroupsE2ESpec from '#/e2e/timetable/get-groups.e2e-spec'; +import GetEntryDetailsE2ESpec from '#/e2e/timetable/get-entry-details.e2e-spec'; +import CreateEntryE2ESpec from '#/e2e/timetable/create-entry.e2e-spec'; +import UpdateEntryE2ESpec from '#/e2e/timetable/update-entry.e2e-spec'; +import DeleteEntryE2ESpec from '#/e2e/timetable/delete-occurrences.e2e-spec'; +import ImportTimetableE2ESpec from '#/e2e/timetable/import-timetable.e2e-spec'; // These tests are deactivated by describe.skip export default function TimetableE2ESpec(app: E2EAppProvider) { diff --git a/test/e2e/timetable/update-entry.e2e-spec.ts b/test/e2e/timetable/update-entry.e2e-spec.ts index 81178265..31d31587 100644 --- a/test/e2e/timetable/update-entry.e2e-spec.ts +++ b/test/e2e/timetable/update-entry.e2e-spec.ts @@ -1,11 +1,11 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; import * as pactum from 'pactum'; import { uuid } from 'pactum-matchers'; import { faker } from '@faker-js/faker'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import TimetableUpdateEntryReqDto from '../../../src/timetable/dto/req/timetable-update-entry-req.dto'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; +import TimetableUpdateEntryReqDto from '@/timetable/dto/req/timetable-update-entry-req.dto'; +import { ERROR_CODE } from '@/exceptions'; const UpdateEntryE2ESpec = e2eSuite('PATCH /timetable/current/:entryId', (app) => { const user = fakedb.createUser(app); diff --git a/test/e2e/ue/annals/delete-annal.e2e-spec.ts b/test/e2e/ue/annals/delete-annal.e2e-spec.ts index a0741231..fc6aa539 100644 --- a/test/e2e/ue/annals/delete-annal.e2e-spec.ts +++ b/test/e2e/ue/annals/delete-annal.e2e-spec.ts @@ -1,20 +1,20 @@ import * as pactum from 'pactum'; import { - createUser, + createAnnal, + createAnnalType, createBranch, createBranchOption, createSemester, createUe, createUeSubscription, - createAnnalType, - createAnnal, createUeof, -} from '../../../utils/fakedb'; -import { Dummies, JsonLike, e2eSuite } from '../../../utils/test_utils'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PermissionManager, pick } from '../../../../src/utils'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; + createUser, +} from '#/utils/fakedb'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PermissionManager, pick } from '@/utils'; +import { PrismaService } from '@/prisma/prisma.service'; const DeleteAnnal = e2eSuite('DELETE /ue/annals/{annalId}', (app) => { const senderUser = createUser(app, { permissions: new PermissionManager().with('API_UPLOAD_ANNALS') }); diff --git a/test/e2e/ue/annals/get-annal-file.e2e-spec.ts b/test/e2e/ue/annals/get-annal-file.e2e-spec.ts index 21c7ae5c..cd6ce290 100644 --- a/test/e2e/ue/annals/get-annal-file.e2e-spec.ts +++ b/test/e2e/ue/annals/get-annal-file.e2e-spec.ts @@ -1,19 +1,19 @@ import * as pactum from 'pactum'; import { - createUser, + createAnnal, + createAnnalType, createBranch, createBranchOption, createSemester, createUe, createUeSubscription, - createAnnalType, - createAnnal, createUeof, -} from '../../../utils/fakedb'; -import { Dummies, e2eSuite } from '../../../utils/test_utils'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { CommentStatus } from '../../../../src/ue/comments/interfaces/comment.interface'; -import { PermissionManager } from '../../../../src/utils'; + createUser, +} from '#/utils/fakedb'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PermissionManager } from '@/utils'; const GetAnnalFile = e2eSuite('GET /ue/annals/{annalId}', (app) => { const senderUser = createUser(app, { permissions: new PermissionManager().with('API_SEE_ANNALS') }); diff --git a/test/e2e/ue/annals/get-annal-metadata.e2e-spec.ts b/test/e2e/ue/annals/get-annal-metadata.e2e-spec.ts index 2cceb319..65d6daab 100644 --- a/test/e2e/ue/annals/get-annal-metadata.e2e-spec.ts +++ b/test/e2e/ue/annals/get-annal-metadata.e2e-spec.ts @@ -1,18 +1,18 @@ import * as pactum from 'pactum'; import { - createUser, + createAnnalType, createBranch, createBranchOption, createSemester, createUe, createUeSubscription, - createAnnalType, createUeof, -} from '../../../utils/fakedb'; -import { e2eSuite } from '../../../utils/test_utils'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { Permission } from '../../../../src/prisma/types'; -import { PermissionManager } from '../../../../src/utils'; + createUser, +} from '#/utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; +import { Permission } from '@/prisma/types'; +import { PermissionManager } from '@/utils'; const GetAnnalMetadata = e2eSuite('GET /ue/annals/metadata', (app) => { const ueUser = createUser(app, { permissions: new PermissionManager().with(Permission.API_SEE_ANNALS) }); diff --git a/test/e2e/ue/annals/get-annals.e2e-spec.ts b/test/e2e/ue/annals/get-annals.e2e-spec.ts index ba1817b9..1f78a7c0 100644 --- a/test/e2e/ue/annals/get-annals.e2e-spec.ts +++ b/test/e2e/ue/annals/get-annals.e2e-spec.ts @@ -1,21 +1,21 @@ import * as pactum from 'pactum'; import { - createUser, + createAnnal, + createAnnalType, createBranch, createBranchOption, createSemester, createUe, createUeSubscription, - createAnnalType, - createAnnal, createUeof, -} from '../../../utils/fakedb'; -import { e2eSuite } from '../../../utils/test_utils'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { UeAnnalFile } from '../../../../src/ue/annals/interfaces/annal.interface'; -import { JsonLikeVariant } from 'test/declarations'; -import { PermissionManager, pick } from '../../../../src/utils'; -import { CommentStatus } from '../../../../src/ue/comments/interfaces/comment.interface'; + createUser, +} from '#/utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; +import { UeAnnalFile } from '@/ue/annals/interfaces/annal.interface'; +import { JsonLikeVariant } from '#/declarations'; +import { PermissionManager, pick } from '@/utils'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; const GetAnnal = e2eSuite('GET /ue/annals', (app) => { const senderUser = createUser(app, { permissions: new PermissionManager().with('API_SEE_ANNALS') }); diff --git a/test/e2e/ue/annals/index.ts b/test/e2e/ue/annals/index.ts index 7d6ec917..81e69a12 100644 --- a/test/e2e/ue/annals/index.ts +++ b/test/e2e/ue/annals/index.ts @@ -1,10 +1,10 @@ import { INestApplication } from '@nestjs/common'; -import DeleteAnnal from './delete-annal.e2e-spec'; -import GetAnnalFile from './get-annal-file.e2e-spec'; -import GetAnnalMetadata from './get-annal-metadata.e2e-spec'; -import GetAnnal from './get-annals.e2e-spec'; -import EditAnnal from './patch-annal.e2e-spec'; -import PostAnnal from './upload-annal.e2e-spec'; +import DeleteAnnal from '#/e2e/ue/annals/delete-annal.e2e-spec'; +import GetAnnalFile from '#/e2e/ue/annals/get-annal-file.e2e-spec'; +import GetAnnalMetadata from '#/e2e/ue/annals/get-annal-metadata.e2e-spec'; +import GetAnnal from '#/e2e/ue/annals/get-annals.e2e-spec'; +import EditAnnal from '#/e2e/ue/annals/patch-annal.e2e-spec'; +import PostAnnal from '#/e2e/ue/annals/upload-annal.e2e-spec'; export default function AnnalsE2ESpec(app: () => INestApplication) { describe('Annals', () => { diff --git a/test/e2e/ue/annals/patch-annal.e2e-spec.ts b/test/e2e/ue/annals/patch-annal.e2e-spec.ts index ec754eb8..6087a484 100644 --- a/test/e2e/ue/annals/patch-annal.e2e-spec.ts +++ b/test/e2e/ue/annals/patch-annal.e2e-spec.ts @@ -1,19 +1,19 @@ import * as pactum from 'pactum'; import { - createUser, + createAnnal, + createAnnalType, createBranch, createBranchOption, createSemester, createUe, createUeSubscription, - createAnnalType, - createAnnal, createUeof, -} from '../../../utils/fakedb'; -import { Dummies, JsonLike, e2eSuite } from '../../../utils/test_utils'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PermissionManager, pick } from '../../../../src/utils'; + createUser, +} from '#/utils/fakedb'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PermissionManager, pick } from '@/utils'; const EditAnnal = e2eSuite('PATCH /ue/annals/{annalId}', (app) => { const senderUser = createUser(app, { permissions: new PermissionManager().with('API_UPLOAD_ANNALS') }); diff --git a/test/e2e/ue/annals/upload-annal.e2e-spec.ts b/test/e2e/ue/annals/upload-annal.e2e-spec.ts index c407794d..77894499 100644 --- a/test/e2e/ue/annals/upload-annal.e2e-spec.ts +++ b/test/e2e/ue/annals/upload-annal.e2e-spec.ts @@ -1,19 +1,19 @@ import * as pactum from 'pactum'; import { - createUser, + createAnnalType, createBranch, createBranchOption, createSemester, createUe, createUeSubscription, - createAnnalType, createUeof, -} from '../../../utils/fakedb'; -import { JsonLike, e2eSuite } from '../../../utils/test_utils'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { ConfigService } from '../../../../src/config/config.service'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PermissionManager, pick } from '../../../../src/utils'; + createUser, +} from '#/utils/fakedb'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; +import { ConfigService } from '@/config/config.service'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PermissionManager, pick } from '@/utils'; import { mkdirSync, rmSync } from 'fs'; const PostAnnal = e2eSuite('POST-PUT /ue/annals', (app) => { diff --git a/test/e2e/ue/comments/delete-comment.e2e-spec.ts b/test/e2e/ue/comments/delete-comment.e2e-spec.ts index 3b3d35e1..874bf0ac 100644 --- a/test/e2e/ue/comments/delete-comment.e2e-spec.ts +++ b/test/e2e/ue/comments/delete-comment.e2e-spec.ts @@ -1,19 +1,19 @@ import { - createUser, - createUe, - createComment, - createSemester, - createBranchOption, createBranch, + createBranchOption, + createComment, createCommentUpvote, + createSemester, + createUe, createUeof, -} from '../../../utils/fakedb'; -import { Dummies, e2eSuite } from '../../../utils/test_utils'; + createUser, +} from '#/utils/fakedb'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PrismaService } from '@/prisma/prisma.service'; +import { PermissionManager } from '@/utils'; const DeleteComment = e2eSuite('DELETE /ue/comments/:commentId', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/delete-reply.e2e-spec.ts b/test/e2e/ue/comments/delete-reply.e2e-spec.ts index 3eac04da..f05d7b09 100644 --- a/test/e2e/ue/comments/delete-reply.e2e-spec.ts +++ b/test/e2e/ue/comments/delete-reply.e2e-spec.ts @@ -1,19 +1,19 @@ import { - createUser, - createUe, - createComment, createBranch, createBranchOption, - createSemester, + createComment, createCommentReply, + createSemester, + createUe, createUeof, -} from '../../../utils/fakedb'; -import { e2eSuite, Dummies } from '../../../utils/test_utils'; + createUser, +} from '#/utils/fakedb'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PrismaService } from '@/prisma/prisma.service'; +import { PermissionManager } from '@/utils'; const DeleteCommentReply = e2eSuite('DELETE /ue/comments/reply/{replyId}', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/delete-upvote.e2e-spec.ts b/test/e2e/ue/comments/delete-upvote.e2e-spec.ts index 1e73b991..f8ac429b 100644 --- a/test/e2e/ue/comments/delete-upvote.e2e-spec.ts +++ b/test/e2e/ue/comments/delete-upvote.e2e-spec.ts @@ -1,18 +1,18 @@ import { - createUser, - createUe, - createComment, createBranch, createBranchOption, - createSemester, + createComment, createCommentUpvote, + createSemester, + createUe, createUeof, -} from '../../../utils/fakedb'; + createUser, +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { Dummies, e2eSuite } from '../../../utils/test_utils'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; +import { PrismaService } from '@/prisma/prisma.service'; +import { PermissionManager } from '@/utils'; const DeleteUpvote = e2eSuite('DELETE /ue/comments/{commentId}/upvote', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/get-comment-from-id.e2e-spec.ts b/test/e2e/ue/comments/get-comment-from-id.e2e-spec.ts index e3971c90..e8714e45 100644 --- a/test/e2e/ue/comments/get-comment-from-id.e2e-spec.ts +++ b/test/e2e/ue/comments/get-comment-from-id.e2e-spec.ts @@ -1,10 +1,10 @@ import * as pactum from 'pactum'; -import * as fakedb from '../../../utils/fakedb'; -import { e2eSuite } from '../../../utils/test_utils'; -import { ERROR_CODE } from 'src/exceptions'; +import * as fakedb from '#/utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; import { faker } from '@faker-js/faker'; -import { omit, PermissionManager } from '../../../../src/utils'; -import { FakeComment } from '../../../utils/fakedb'; +import { PermissionManager, omit } from '@/utils'; +import { FakeComment } from '#/utils/fakedb'; const GetCommentFromIdE2ESpec = e2eSuite('GET /ue/comments/:commentId', (app) => { const user = fakedb.createUser(app, { permissions: new PermissionManager().with('API_SEE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/get-comment.e2e-spec.ts b/test/e2e/ue/comments/get-comment.e2e-spec.ts index d84405ad..56170cbe 100644 --- a/test/e2e/ue/comments/get-comment.e2e-spec.ts +++ b/test/e2e/ue/comments/get-comment.e2e-spec.ts @@ -10,12 +10,12 @@ import { createUe, createUeof, createUser, -} from '../../../utils/fakedb'; -import { e2eSuite } from '../../../utils/test_utils'; -import { ConfigService } from '../../../../src/config/config.service'; -import { ERROR_CODE } from 'src/exceptions'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { PermissionManager } from '../../../../src/utils'; +} from '#/utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { ConfigService } from '@/config/config.service'; +import { ERROR_CODE } from '@/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; +import { PermissionManager } from '@/utils'; const GetCommentsE2ESpec = e2eSuite('GET /ue/comments', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_SEE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/index.ts b/test/e2e/ue/comments/index.ts index a32c565b..96f92068 100644 --- a/test/e2e/ue/comments/index.ts +++ b/test/e2e/ue/comments/index.ts @@ -1,14 +1,14 @@ import { INestApplication } from '@nestjs/common'; -import GetCommentsE2ESpec from './get-comment.e2e-spec'; -import DeleteComment from './delete-comment.e2e-spec'; -import DeleteCommentReply from './delete-reply.e2e-spec'; -import DeleteUpvote from './delete-upvote.e2e-spec'; -import PostCommment from './post-comment.e2e-spec'; -import PostCommmentReply from './post-reply.e2e-spec'; -import PostUpvote from './post-upvote.e2e-spec'; -import UpdateComment from './update-comment.e2e-spec'; -import UpdateCommentReply from './update-reply.e2e-spec'; -import GetCommentFromIdE2ESpec from './get-comment-from-id.e2e-spec'; +import GetCommentsE2ESpec from '#/e2e/ue/comments/get-comment.e2e-spec'; +import DeleteComment from '#/e2e/ue/comments/delete-comment.e2e-spec'; +import DeleteCommentReply from '#/e2e/ue/comments/delete-reply.e2e-spec'; +import DeleteUpvote from '#/e2e/ue/comments/delete-upvote.e2e-spec'; +import PostCommment from '#/e2e/ue/comments/post-comment.e2e-spec'; +import PostCommmentReply from '#/e2e/ue/comments/post-reply.e2e-spec'; +import PostUpvote from '#/e2e/ue/comments/post-upvote.e2e-spec'; +import UpdateComment from '#/e2e/ue/comments/update-comment.e2e-spec'; +import UpdateCommentReply from '#/e2e/ue/comments/update-reply.e2e-spec'; +import GetCommentFromIdE2ESpec from '#/e2e/ue/comments/get-comment-from-id.e2e-spec'; export default function CommentsE2ESpec(app: () => INestApplication) { describe('Comments', () => { diff --git a/test/e2e/ue/comments/post-comment.e2e-spec.ts b/test/e2e/ue/comments/post-comment.e2e-spec.ts index 1cfb4fa0..d464de1a 100644 --- a/test/e2e/ue/comments/post-comment.e2e-spec.ts +++ b/test/e2e/ue/comments/post-comment.e2e-spec.ts @@ -1,19 +1,19 @@ import { - createUser, - createUe, createBranch, createBranchOption, + createComment, createSemester, + createUe, createUeSubscription, - createComment, createUeof, -} from '../../../utils/fakedb'; + createUser, +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { e2eSuite, JsonLike } from '../../../utils/test_utils'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { JsonLike, e2eSuite } from '#/utils/test_utils'; +import { PrismaService } from '@/prisma/prisma.service'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PermissionManager } from '@/utils'; const PostCommment = e2eSuite('POST /ue/comments', (app) => { const userNotDoneUe = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/post-reply.e2e-spec.ts b/test/e2e/ue/comments/post-reply.e2e-spec.ts index 3f4a6c87..968a92cd 100644 --- a/test/e2e/ue/comments/post-reply.e2e-spec.ts +++ b/test/e2e/ue/comments/post-reply.e2e-spec.ts @@ -1,19 +1,19 @@ import { - createUser, - createUe, - createComment, createBranch, createBranchOption, + createComment, createSemester, + createUe, createUeSubscription, createUeof, -} from '../../../utils/fakedb'; + createUser, +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { Dummies, e2eSuite, JsonLike } from '../../../utils/test_utils'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; +import { PrismaService } from '@/prisma/prisma.service'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PermissionManager } from '@/utils'; const PostCommmentReply = e2eSuite('POST /ue/comments/{commentId}/reply', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/post-upvote.e2e-spec.ts b/test/e2e/ue/comments/post-upvote.e2e-spec.ts index a0b21146..a9143e0e 100644 --- a/test/e2e/ue/comments/post-upvote.e2e-spec.ts +++ b/test/e2e/ue/comments/post-upvote.e2e-spec.ts @@ -1,18 +1,18 @@ import { - createUser, - createUe, + createBranch, + createBranchOption, createComment, createCommentUpvote, - createBranchOption, - createBranch, createSemester, + createUe, createUeof, -} from '../../../utils/fakedb'; + createUser, +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { Dummies, e2eSuite } from '../../../utils/test_utils'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; +import { PrismaService } from '@/prisma/prisma.service'; +import { PermissionManager } from '@/utils'; const PostUpvote = e2eSuite('POST /ue/comments/{commentId}/upvote', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/update-comment.e2e-spec.ts b/test/e2e/ue/comments/update-comment.e2e-spec.ts index 214f8dc6..39de16b0 100644 --- a/test/e2e/ue/comments/update-comment.e2e-spec.ts +++ b/test/e2e/ue/comments/update-comment.e2e-spec.ts @@ -1,19 +1,19 @@ import { - createUser, - createUe, - createComment, createBranch, createBranchOption, - createSemester, + createComment, createCommentUpvote, + createSemester, + createUe, createUeof, -} from '../../../utils/fakedb'; + createUser, +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { Dummies, e2eSuite, JsonLike } from '../../../utils/test_utils'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; +import { PrismaService } from '@/prisma/prisma.service'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PermissionManager } from '@/utils'; const UpdateComment = e2eSuite('PATCH /ue/comments/:commentId', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/comments/update-reply.e2e-spec.ts b/test/e2e/ue/comments/update-reply.e2e-spec.ts index e505e9e0..64eb3d46 100644 --- a/test/e2e/ue/comments/update-reply.e2e-spec.ts +++ b/test/e2e/ue/comments/update-reply.e2e-spec.ts @@ -1,19 +1,19 @@ import { - createUser, - createUe, - createComment, createBranch, createBranchOption, - createSemester, + createComment, createCommentReply, + createSemester, + createUe, createUeof, -} from '../../../utils/fakedb'; + createUser, +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../../src/exceptions'; -import { Dummies, e2eSuite, JsonLike } from '../../../utils/test_utils'; -import { PrismaService } from '../../../../src/prisma/prisma.service'; -import { CommentStatus } from 'src/ue/comments/interfaces/comment.interface'; -import { PermissionManager } from '../../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { Dummies, JsonLike, e2eSuite } from '#/utils/test_utils'; +import { PrismaService } from '@/prisma/prisma.service'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { PermissionManager } from '@/utils'; const UpdateCommentReply = e2eSuite('PATCH /ue/comments/reply/{replyId}', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/credit/get-credit-categories.e2e-spec.ts b/test/e2e/ue/credit/get-credit-categories.e2e-spec.ts index 275a22f1..f9f44d71 100644 --- a/test/e2e/ue/credit/get-credit-categories.e2e-spec.ts +++ b/test/e2e/ue/credit/get-credit-categories.e2e-spec.ts @@ -1,6 +1,6 @@ -import { e2eSuite } from '../../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { createUeCreditCategory } from '../../../utils/fakedb'; +import { createUeCreditCategory } from '#/utils/fakedb'; const GetAllCreditCategories = e2eSuite('GET /ue/credit', (app) => { const creditCategory1 = createUeCreditCategory(app); diff --git a/test/e2e/ue/credit/index.ts b/test/e2e/ue/credit/index.ts index a548d31a..d415dd60 100644 --- a/test/e2e/ue/credit/index.ts +++ b/test/e2e/ue/credit/index.ts @@ -1,5 +1,5 @@ import { INestApplication } from '@nestjs/common'; -import GetAllCreditCategories from './get-credit-categories.e2e-spec'; +import GetAllCreditCategories from '#/e2e/ue/credit/get-credit-categories.e2e-spec'; export default function UEE2ESpec(app: () => INestApplication) { describe('Credit', () => { diff --git a/test/e2e/ue/delete-rate.e2e-spec.ts b/test/e2e/ue/delete-rate.e2e-spec.ts index d5fe32e1..194be16e 100644 --- a/test/e2e/ue/delete-rate.e2e-spec.ts +++ b/test/e2e/ue/delete-rate.e2e-spec.ts @@ -1,19 +1,19 @@ import { - createUser, - createUe, - createUeof, - createCriterion, - createBranchOption, createBranch, + createBranchOption, + createCriterion, createSemester, - createUeSubscription, + createUe, createUeRating, -} from '../../utils/fakedb'; + createUeSubscription, + createUeof, + createUser, +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from 'src/exceptions'; -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { ERROR_CODE } from '@/exceptions'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import { faker } from '@faker-js/faker'; -import { PermissionManager } from '../../../src/utils'; +import { PermissionManager } from '@/utils'; const DeleteRate = e2eSuite('DELETE /ue/ueof/{ueofCode}/rate/{critetionId}', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/get-my-ues.e2e-spec.ts b/test/e2e/ue/get-my-ues.e2e-spec.ts index 5cbc17cf..f0c26255 100644 --- a/test/e2e/ue/get-my-ues.e2e-spec.ts +++ b/test/e2e/ue/get-my-ues.e2e-spec.ts @@ -1,15 +1,15 @@ -import { e2eSuite } from '../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; import { createBranch, createBranchOption, createSemester, createUe, - createUeof, createUeSubscription, + createUeof, createUser, -} from '../../utils/fakedb'; -import { ERROR_CODE } from '../../../src/exceptions'; +} from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; const GetMyUesE2ESpec = e2eSuite('GET ue/of/me', (app) => { const user = createUser(app); diff --git a/test/e2e/ue/get-rate-criteria.e2e-spec.ts b/test/e2e/ue/get-rate-criteria.e2e-spec.ts index 04702edd..32415130 100644 --- a/test/e2e/ue/get-rate-criteria.e2e-spec.ts +++ b/test/e2e/ue/get-rate-criteria.e2e-spec.ts @@ -1,8 +1,8 @@ -import { omit, PermissionManager } from '../../../src/utils'; -import { createUser, createCriterion, FakeUeStarCriterion } from '../../utils/fakedb'; -import { e2eSuite } from '../../utils/test_utils'; +import { PermissionManager, omit } from '@/utils'; +import { FakeUeStarCriterion, createCriterion, createUser } from '#/utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { ERROR_CODE } from '@/exceptions'; const GetRateCriteria = e2eSuite('GET /ue/rate/criteria', (app) => { const userNoPermission = createUser(app); diff --git a/test/e2e/ue/get-ue-rate.e2e-spec.ts b/test/e2e/ue/get-ue-rate.e2e-spec.ts index efc6d96e..37dae08d 100644 --- a/test/e2e/ue/get-ue-rate.e2e-spec.ts +++ b/test/e2e/ue/get-ue-rate.e2e-spec.ts @@ -4,14 +4,14 @@ import { createCriterion, createSemester, createUe, - createUeof, createUeRating, + createUeof, createUser, -} from '../../utils/fakedb'; +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from 'src/exceptions'; -import { e2eSuite } from '../../utils/test_utils'; -import { PermissionManager } from '../../../src/utils'; +import { ERROR_CODE } from '@/exceptions'; +import { e2eSuite } from '#/utils/test_utils'; +import { PermissionManager } from '@/utils'; const GetRateE2ESpec = e2eSuite('GET /ue/:ueCode/rate', (app) => { const userNoPermission = createUser(app); diff --git a/test/e2e/ue/get.e2e-spec.ts b/test/e2e/ue/get.e2e-spec.ts index 10d732e4..a4fa04c5 100644 --- a/test/e2e/ue/get.e2e-spec.ts +++ b/test/e2e/ue/get.e2e-spec.ts @@ -1,21 +1,21 @@ import { + FakeUeStarVote, createBranch, createBranchOption, createCriterion, createSemester, createUe, - createUeof, createUeRating, createUeSubscription, + createUeof, createUser, - FakeUeStarVote, -} from '../../utils/fakedb'; -import { e2eSuite } from '../../utils/test_utils'; -import { UeController } from '../../../src/ue/ue.controller'; +} from '#/utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { UeController } from '@/ue/ue.controller'; import * as pactum from 'pactum'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { UserType } from '../../../src/prisma/types'; -import { FakeUeWithOfs } from 'test/declarations'; +import { ERROR_CODE } from '@/exceptions'; +import { UserType } from '@/prisma/types'; +import { FakeUeWithOfs } from '#/declarations'; const GetE2ESpec = e2eSuite('GET /ue/{ueCode}', (app) => { const user = createUser(app); diff --git a/test/e2e/ue/index.ts b/test/e2e/ue/index.ts index cf013e5f..85b0c29e 100644 --- a/test/e2e/ue/index.ts +++ b/test/e2e/ue/index.ts @@ -1,13 +1,13 @@ import { INestApplication } from '@nestjs/common'; -import SearchE2ESpec from './search.e2e-spec'; -import GetE2ESpec from './get.e2e-spec'; -import GetRateCriteria from './get-rate-criteria.e2e-spec'; -import GetRateE2ESpec from './get-ue-rate.e2e-spec'; -import PutRate from './put-rate.e2e-spec'; -import DeleteRate from './delete-rate.e2e-spec'; -import AnnalsE2ESpec from './annals'; -import CommentsE2ESpec from './comments'; -import GetMyUesE2ESpec from './get-my-ues.e2e-spec'; +import SearchE2ESpec from '#/e2e/ue/search.e2e-spec'; +import GetE2ESpec from '#/e2e/ue/get.e2e-spec'; +import GetRateCriteria from '#/e2e/ue/get-rate-criteria.e2e-spec'; +import GetRateE2ESpec from '#/e2e/ue/get-ue-rate.e2e-spec'; +import PutRate from '#/e2e/ue/put-rate.e2e-spec'; +import DeleteRate from '#/e2e/ue/delete-rate.e2e-spec'; +import AnnalsE2ESpec from '#/e2e/ue/annals'; +import CommentsE2ESpec from '#/e2e/ue/comments'; +import GetMyUesE2ESpec from '#/e2e/ue/get-my-ues.e2e-spec'; export default function UeE2ESpec(app: () => INestApplication) { describe('UE', () => { diff --git a/test/e2e/ue/put-rate.e2e-spec.ts b/test/e2e/ue/put-rate.e2e-spec.ts index 01db5d87..441b32d0 100644 --- a/test/e2e/ue/put-rate.e2e-spec.ts +++ b/test/e2e/ue/put-rate.e2e-spec.ts @@ -1,19 +1,19 @@ import { - createUser, - createUe, - createCriterion, - createBranchOption, createBranch, + createBranchOption, + createCriterion, createSemester, + createUe, createUeSubscription, createUeof, -} from '../../utils/fakedb'; + createUser, +} from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from 'src/exceptions'; -import { e2eSuite } from '../../utils/test_utils'; -import { PrismaService } from '../../../src/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; +import { e2eSuite } from '#/utils/test_utils'; +import { PrismaService } from '@/prisma/prisma.service'; import { faker } from '@faker-js/faker'; -import { PermissionManager } from '../../../src/utils'; +import { PermissionManager } from '@/utils'; const PutRate = e2eSuite('PUT /ue/ueof/{ueofCode}/rate', (app) => { const user = createUser(app, { permissions: new PermissionManager().with('API_GIVE_OPINIONS_UE') }); diff --git a/test/e2e/ue/search.e2e-spec.ts b/test/e2e/ue/search.e2e-spec.ts index 14fa68d3..8645084c 100644 --- a/test/e2e/ue/search.e2e-spec.ts +++ b/test/e2e/ue/search.e2e-spec.ts @@ -1,10 +1,10 @@ -import { createBranch, createBranchOption, createSemester, createUe, createUeof, createUser } from '../../utils/fakedb'; +import { createBranch, createBranchOption, createSemester, createUe, createUeof, createUser } from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { ERROR_CODE } from 'src/exceptions'; -import { e2eSuite } from '../../utils/test_utils'; -import { registerUniqueValue } from '../../../prisma/seed/utils'; -import { ConfigService } from '../../../src/config/config.service'; -import { FakeUeWithOfs } from 'test/declarations'; +import { ERROR_CODE } from '@/exceptions'; +import { e2eSuite } from '#/utils/test_utils'; +import { registerUniqueValue } from '#/../prisma/seed/utils'; +import { ConfigService } from '@/config/config.service'; +import { FakeUeWithOfs } from '#/declarations'; const SearchE2ESpec = e2eSuite('GET /ue', (app) => { const user = createUser(app); diff --git a/test/e2e/users/get-current-user-e2e-spec.ts b/test/e2e/users/get-current-user-e2e-spec.ts index 88f0ac57..e8c8a2d1 100644 --- a/test/e2e/users/get-current-user-e2e-spec.ts +++ b/test/e2e/users/get-current-user-e2e-spec.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../utils/test_utils'; -import { createUser } from '../../utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { createUser } from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { pick } from '../../../src/utils'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; +import { pick } from '@/utils'; +import { ERROR_CODE } from '@/exceptions'; const GetCurrentUserE2ESpec = e2eSuite('GET /users/current', (app) => { const user = createUser(app); diff --git a/test/e2e/users/get-todays-birthdays.e2e-spec.ts b/test/e2e/users/get-todays-birthdays.e2e-spec.ts index 9123191f..201109e0 100644 --- a/test/e2e/users/get-todays-birthdays.e2e-spec.ts +++ b/test/e2e/users/get-todays-birthdays.e2e-spec.ts @@ -1,7 +1,7 @@ -import { e2eSuite } from '../../utils/test_utils'; +import { e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { createUser } from '../../utils/fakedb'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { createUser } from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; const GetTodaysBirthdaysE2ESpec = e2eSuite('GET /users/birthdays/today', (app) => { const now = new Date(); diff --git a/test/e2e/users/get-user-e2e-spec.ts b/test/e2e/users/get-user-e2e-spec.ts index bd3ce996..8f506320 100644 --- a/test/e2e/users/get-user-e2e-spec.ts +++ b/test/e2e/users/get-user-e2e-spec.ts @@ -1,8 +1,8 @@ -import { e2eSuite } from '../../utils/test_utils'; -import { createUser } from '../../utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { createUser } from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { ERROR_CODE } from '../../../src/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; +import { ERROR_CODE } from '@/exceptions'; const GetUserE2ESpec = e2eSuite('GET /users/:userId', (app) => { const user = createUser(app); diff --git a/test/e2e/users/get-user_assos-e2e-spec.ts b/test/e2e/users/get-user_assos-e2e-spec.ts index da1f4387..3ad8b92d 100644 --- a/test/e2e/users/get-user_assos-e2e-spec.ts +++ b/test/e2e/users/get-user_assos-e2e-spec.ts @@ -1,9 +1,9 @@ -import { e2eSuite } from '../../utils/test_utils'; -import { createAsso, createAssoMembership, createAssoMembershipRole, createUser } from '../../utils/fakedb'; +import { e2eSuite } from '#/utils/test_utils'; +import { createAsso, createAssoMembership, createAssoMembershipRole, createUser } from '#/utils/fakedb'; import * as pactum from 'pactum'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { omit } from '../../../src/utils'; -import { ERROR_CODE } from 'src/exceptions'; +import { PrismaService } from '@/prisma/prisma.service'; +import { omit } from '@/utils'; +import { ERROR_CODE } from '@/exceptions'; const GetUserAssociationE2ESpec = e2eSuite('GET /users/:userId/associations', (app) => { const user = createUser(app); diff --git a/test/e2e/users/index.ts b/test/e2e/users/index.ts index 9b2e89e4..6a57f695 100644 --- a/test/e2e/users/index.ts +++ b/test/e2e/users/index.ts @@ -1,10 +1,10 @@ -import SearchE2ESpec from './search-e2e-spec'; -import GetUserE2ESpec from './get-user-e2e-spec'; -import GetCurrentUserE2ESpec from './get-current-user-e2e-spec'; -import GetUserAssociationE2ESpec from './get-user_assos-e2e-spec'; -import { E2EAppProvider } from '../../utils/test_utils'; -import GetTodaysBirthdaysE2ESpec from './get-todays-birthdays.e2e-spec'; -import UpdateProfile from './update-profile-e2e-spec'; +import SearchE2ESpec from '#/e2e/users/search-e2e-spec'; +import GetUserE2ESpec from '#/e2e/users/get-user-e2e-spec'; +import GetCurrentUserE2ESpec from '#/e2e/users/get-current-user-e2e-spec'; +import GetUserAssociationE2ESpec from '#/e2e/users/get-user_assos-e2e-spec'; +import { E2EAppProvider } from '#/utils/test_utils'; +import GetTodaysBirthdaysE2ESpec from '#/e2e/users/get-todays-birthdays.e2e-spec'; +import UpdateProfile from '#/e2e/users/update-profile-e2e-spec'; export default function UsersE2ESpec(app: E2EAppProvider) { describe('User', () => { diff --git a/test/e2e/users/search-e2e-spec.ts b/test/e2e/users/search-e2e-spec.ts index e75b8989..4397c2fb 100644 --- a/test/e2e/users/search-e2e-spec.ts +++ b/test/e2e/users/search-e2e-spec.ts @@ -1,8 +1,8 @@ import * as pactum from 'pactum'; -import { e2eSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { ConfigService } from '../../../src/config/config.service'; +import { e2eSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import { ConfigService } from '@/config/config.service'; const SearchE2ESpec = e2eSuite('GET /users', (app) => { const user = fakedb.createUser(app, { diff --git a/test/e2e/users/update-profile-e2e-spec.ts b/test/e2e/users/update-profile-e2e-spec.ts index 1e5a41de..30cbdb19 100644 --- a/test/e2e/users/update-profile-e2e-spec.ts +++ b/test/e2e/users/update-profile-e2e-spec.ts @@ -1,9 +1,9 @@ -import { Dummies, e2eSuite } from '../../utils/test_utils'; +import { Dummies, e2eSuite } from '#/utils/test_utils'; import * as pactum from 'pactum'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { createImageMedia, createUser } from '../../utils/fakedb'; -import { ERROR_CODE } from '../../../src/exceptions'; -import { ImageMediaPreset } from '../../../src/prisma/types'; +import { PrismaService } from '@/prisma/prisma.service'; +import { createImageMedia, createUser } from '#/utils/fakedb'; +import { ERROR_CODE } from '@/exceptions'; +import { ImageMediaPreset } from '@/prisma/types'; const UpdateProfile = e2eSuite('PATCH /users/current', (app) => { const user = createUser(app); diff --git a/test/external_services/cas.ts b/test/external_services/cas.ts index 43581966..b0885dc7 100644 --- a/test/external_services/cas.ts +++ b/test/external_services/cas.ts @@ -2,8 +2,8 @@ import axios from 'axios'; import nock from 'nock'; import { HttpStatus } from '@nestjs/common'; import { faker } from '@faker-js/faker'; -import { RegisterUserData } from '../../src/auth/auth.service'; -import { ConfigService } from '../../src/config/config.service'; +import { RegisterUserData } from '@/auth/auth.service'; +import { ConfigService } from '@/config/config.service'; export let validService = ''; export const validTicket = faker.string.uuid(); diff --git a/test/jest.json b/test/jest.json index 049ab620..5acd2065 100644 --- a/test/jest.json +++ b/test/jest.json @@ -1,12 +1,16 @@ { "moduleFileExtensions": ["js", "json", "ts"], - "roots": [".", "../test"], - "rootDir": "../src", + "rootDir": "../", + "roots": ["src/", "test/"], "testEnvironment": "node", "testRegex": ["e2e/app\\.e2e-spec\\.ts$", "unit/app\\.spec\\.ts$"], "transform": { "^.+\\.(t|j)s$": "ts-jest" }, + "moduleNameMapper": { + "^@/(.*)": "/src/$1", + "^#/(.*)": "/test/$1" + }, "collectCoverageFrom": ["**/*.ts", "!main.ts", "!**/*-res.dto.ts", "!**/*-req.dto.ts"], "coverageDirectory": "coverage", "coverageReporters": ["html", "lcov", "text-summary"] diff --git a/test/unit/app.spec.ts b/test/unit/app.spec.ts index 5b8d2141..19cab174 100644 --- a/test/unit/app.spec.ts +++ b/test/unit/app.spec.ts @@ -5,12 +5,12 @@ jest.mock('@nestjs-modules/mailer/dist/adapters/ejs.adapter', () => ({ })), })); -import TimetableServiceUnitSpec from './timetable/timetable.service.spec'; -import LexicalValidationUnitSpec from './lexical/lexical-validation.spec'; -import LexicalGenerationUnitSpec from './lexical/lexical-generation.spec'; +import TimetableServiceUnitSpec from '#/unit/timetable/timetable.service.spec'; +import LexicalValidationUnitSpec from '#/unit/lexical/lexical-validation.spec'; +import LexicalGenerationUnitSpec from '#/unit/lexical/lexical-generation.spec'; import { Test, TestingModule } from '@nestjs/testing'; -import { AppModule } from '../../src/app.module'; -import '../../src/std.type'; +import { AppModule } from '@/app.module'; +import '@/std.type'; describe('EtuUTT API unit testing', () => { let app: TestingModule; diff --git a/test/unit/lexical/lexical-generation.spec.ts b/test/unit/lexical/lexical-generation.spec.ts index 39a5494b..2ee92a59 100644 --- a/test/unit/lexical/lexical-generation.spec.ts +++ b/test/unit/lexical/lexical-generation.spec.ts @@ -1,9 +1,9 @@ -import { unitSuite } from '../../utils/test_utils'; -import { BUNDLES, LexicalModule } from '../../../src/lexical/lexical.module'; +import { unitSuite } from '#/utils/test_utils'; +import { BUNDLES, LexicalModule } from '@/lexical/lexical.module'; import { createHeadlessEditor } from '@lexical/headless'; import { $createParagraphNode, $createTextNode, $getRoot, LexicalEditor } from 'lexical'; -import { $createImageNode } from '../../../src/lexical/nodes/ImageNode'; -import { $createColorTextNode, Color } from '../../../src/lexical/nodes/ColorTextNode'; +import { $createImageNode } from '@/lexical/nodes/ImageNode'; +import { $createColorTextNode, Color } from '@/lexical/nodes/ColorTextNode'; const LexicalGenerationUnitSpec = unitSuite('Lexical generation', (app) => { let lexicalModule: LexicalModule; diff --git a/test/unit/lexical/lexical-validation.spec.ts b/test/unit/lexical/lexical-validation.spec.ts index 7a207b64..2426deb6 100644 --- a/test/unit/lexical/lexical-validation.spec.ts +++ b/test/unit/lexical/lexical-validation.spec.ts @@ -1,11 +1,11 @@ -import { unitSuite } from '../../utils/test_utils'; -import { BUNDLES, LexicalModule } from '../../../src/lexical/lexical.module'; +import { unitSuite } from '#/utils/test_utils'; +import { BUNDLES, LexicalModule } from '@/lexical/lexical.module'; import { createHeadlessEditor } from '@lexical/headless'; import { $createParagraphNode, $createTextNode, $getRoot, LexicalEditor } from 'lexical'; import { $createCodeHighlightNode, $createCodeNode } from '@lexical/code'; import { $createHeadingNode, $createQuoteNode } from '@lexical/rich-text'; -import { $createImageNode } from '../../../src/lexical/nodes/ImageNode'; -import { $createColorTextNode } from '../../../src/lexical/nodes/ColorTextNode'; +import { $createImageNode } from '@/lexical/nodes/ImageNode'; +import { $createColorTextNode } from '@/lexical/nodes/ColorTextNode'; import { $createAutoLinkNode, $createLinkNode } from '@lexical/link'; import { $createHorizontalRuleNode } from '@lexical/extension'; import { $createListItemNode, $createListNode } from '@lexical/list'; diff --git a/test/unit/timetable/timetable.service.spec.ts b/test/unit/timetable/timetable.service.spec.ts index 0e689a84..72076e9b 100644 --- a/test/unit/timetable/timetable.service.spec.ts +++ b/test/unit/timetable/timetable.service.spec.ts @@ -1,8 +1,8 @@ -import TimetableService from '../../../src/timetable/timetable.service'; -import { PrismaService } from '../../../src/prisma/prisma.service'; -import { unitSuite } from '../../utils/test_utils'; -import * as fakedb from '../../utils/fakedb'; -import { createTimetableEntry, createTimetableEntryOverride } from '../../utils/fakedb'; +import TimetableService from '@/timetable/timetable.service'; +import { PrismaService } from '@/prisma/prisma.service'; +import { unitSuite } from '#/utils/test_utils'; +import * as fakedb from '#/utils/fakedb'; +import { createTimetableEntry, createTimetableEntryOverride } from '#/utils/fakedb'; import { faker } from '@faker-js/faker'; // This check is skipped, please remove the last argument to enable tests diff --git a/test/utils/fakedb.ts b/test/utils/fakedb.ts index 469ec8af..26a58168 100644 --- a/test/utils/fakedb.ts +++ b/test/utils/fakedb.ts @@ -1,51 +1,50 @@ import { + ImageMediaPreset, + Permission, + RawAnnalType, + RawApiApplication, + RawApiKey, RawAsso, RawAssoMembership, - RawAssoMembershipRole, RawAssoMembershipPermission, + RawAssoMembershipRole, RawBranch, RawBranchOption, RawCreditCategory, RawHomepageWidget, + RawImageMedia, RawSemester, RawTimetableEntry, RawTimetableEntryOverride, RawTimetableGroup, RawUe, - RawUeof, - RawAnnalType, RawUeComment, RawUeCommentReply, RawUeCommentUpvote, RawUeCredit, - RawUeofInfo, RawUeStarCriterion, RawUeStarVote, RawUeWorkTime, + RawUeof, + RawUeofInfo, RawUser, RawUserAddress, RawUserBranchSubscription, RawUserInfos, RawUserMailsPhones, RawUserPreference, - RawUserSocialNetwork, - RawUserUeSubscription, - Translation, RawUserPrivacy, - RawApiKey, - RawApiApplication, - RawImageMedia, -} from '../../src/prisma/types'; + RawUserSocialNetwork, + RawUserUeSubscription, Sex, TimetableEntryType, Translation, UserType } from '@/prisma/types'; import { faker } from '@faker-js/faker'; -import { AuthService } from '../../src/auth/auth.service'; -import { PrismaService } from '../../src/prisma/prisma.service'; -import { AppProvider } from './test_utils'; -import { ImageMediaPreset, Permission, Sex, TimetableEntryType, UserType } from '../../src/prisma/types'; -import { CommentStatus } from '../../src/ue/comments/interfaces/comment.interface'; -import { UeAnnalFile } from '../../src/ue/annals/interfaces/annal.interface'; -import { omit, PermissionManager, pick, translationSelect } from '../../src/utils'; -import { DEFAULT_APPLICATION } from '../../prisma/seed/utils'; -import { AssoWeekly } from '../../src/assos/interfaces/weekly.interface'; +import { AuthService } from '@/auth/auth.service'; +import { PrismaService } from '@/prisma/prisma.service'; +import { AppProvider } from '#/utils/test_utils'; +import { CommentStatus } from '@/ue/comments/interfaces/comment.interface'; +import { UeAnnalFile } from '@/ue/annals/interfaces/annal.interface'; +import { PermissionManager, omit, pick, translationSelect } from '@/utils'; +import { DEFAULT_APPLICATION } from '#/../prisma/seed/utils'; +import { AssoWeekly } from '@/assos/interfaces/weekly.interface'; /** * The fake entities can be used like normal entities in the it(string, () => void) functions. diff --git a/test/utils/test_utils.ts b/test/utils/test_utils.ts index 757f2b01..e4bce148 100644 --- a/test/utils/test_utils.ts +++ b/test/utils/test_utils.ts @@ -1,10 +1,10 @@ -import { PrismaService } from '../../src/prisma/prisma.service'; -import { PrismaClient } from '../../src/prisma/types'; +import { PrismaService } from '@/prisma/prisma.service'; +import { PrismaClient } from '@/prisma/types'; import { INestApplication } from '@nestjs/common'; import { TestingModule } from '@nestjs/testing'; import { faker } from '@faker-js/faker'; -import { ConfigService } from '../../src/config/config.service'; -import { clearUniqueValues, generateDefaultApplication } from '../../prisma/seed/utils'; +import { ConfigService } from '@/config/config.service'; +import { clearUniqueValues, generateDefaultApplication } from '#/../prisma/seed/utils'; /** * Initializes this file. diff --git a/tsconfig.json b/tsconfig.json index 51d0f6f6..c83a0c92 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,9 +9,10 @@ "target": "ESNext", "sourceMap": true, "outDir": "./dist", + "baseUrl": ".", "paths": { - "src/*": ["./src/*"], - "test/*": ["./test/*"] + "@/*": ["src/*"], + "#/*": ["test/*"] }, "incremental": true, "skipLibCheck": true,