mirror of
https://github.com/immich-app/immich.git
synced 2026-09-30 13:23:21 +08:00
feat: server imports linting (#31537)
This commit is contained in:
Vendored
+2
-2
@@ -13,7 +13,7 @@
|
||||
"editor.wordBasedSuggestions": "off"
|
||||
},
|
||||
"[javascript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[json]": {
|
||||
@@ -30,7 +30,7 @@
|
||||
"tailwindCSS.lint.suggestCanonicalClasses": "ignore"
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"cSpell.words": ["immich"],
|
||||
|
||||
Generated
+1270
-10
File diff suppressed because it is too large
Load Diff
@@ -27,6 +27,7 @@ allowBuilds:
|
||||
'@tailwindcss/oxide': true
|
||||
core-js-pure: false
|
||||
postman-code-generators: false
|
||||
unrs-resolver: false
|
||||
overrides:
|
||||
canvas: 3.2.3
|
||||
sharp: ^0.35.3
|
||||
|
||||
+1
-3
@@ -2,7 +2,5 @@
|
||||
"singleQuote": true,
|
||||
"trailingComma": "all",
|
||||
"printWidth": 120,
|
||||
"semi": true,
|
||||
"organizeImportsSkipDestructiveCodeActions": true,
|
||||
"plugins": ["prettier-plugin-organize-imports"]
|
||||
"semi": true
|
||||
}
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
import js from '@eslint/js';
|
||||
import { importX } from 'eslint-plugin-import-x';
|
||||
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
|
||||
import eslintPluginUnicorn from 'eslint-plugin-unicorn';
|
||||
import { defineConfig } from 'eslint/config';
|
||||
import globals from 'globals';
|
||||
import typescriptEslint from 'typescript-eslint';
|
||||
|
||||
export default typescriptEslint.config([
|
||||
export default defineConfig([
|
||||
eslintPluginUnicorn.configs.recommended,
|
||||
eslintPluginPrettierRecommended,
|
||||
js.configs.recommended,
|
||||
typescriptEslint.configs.recommended,
|
||||
importX.flatConfigs.recommended,
|
||||
importX.flatConfigs.typescript,
|
||||
{
|
||||
ignores: ['eslint.config.mjs'],
|
||||
},
|
||||
@@ -70,9 +73,19 @@ export default typescriptEslint.config([
|
||||
'require-await': 'off',
|
||||
'@typescript-eslint/require-await': 'error',
|
||||
curly: 2,
|
||||
'prettier/prettier': 0,
|
||||
'object-shorthand': ['error', 'always'],
|
||||
eqeqeq: 'error',
|
||||
'import-x/no-named-as-default': 'off',
|
||||
'import-x/order': [
|
||||
'error',
|
||||
{
|
||||
groups: [['builtin', 'external'], 'index', ['parent', 'sibling', 'type']],
|
||||
alphabetize: { order: 'asc' },
|
||||
named: true,
|
||||
},
|
||||
],
|
||||
'import-x/newline-after-import': 'error',
|
||||
'import-x/no-empty-named-blocks': 'error',
|
||||
|
||||
'no-restricted-imports': [
|
||||
'error',
|
||||
@@ -95,4 +108,5 @@ export default typescriptEslint.config([
|
||||
],
|
||||
},
|
||||
},
|
||||
eslintPluginPrettierRecommended,
|
||||
]);
|
||||
|
||||
+2
-1
@@ -154,13 +154,14 @@
|
||||
"@vitest/coverage-v8": "^4.0.0",
|
||||
"eslint": "^10.0.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-import-resolver-typescript": "^4.4.5",
|
||||
"eslint-plugin-import-x": "^4.17.1",
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"eslint-plugin-unicorn": "^73.0.0",
|
||||
"globals": "^17.0.0",
|
||||
"mock-fs": "^5.2.0",
|
||||
"pngjs": "^7.0.0",
|
||||
"prettier": "^3.7.4",
|
||||
"prettier-plugin-organize-imports": "^4.0.0",
|
||||
"sql-formatter": "^15.0.0",
|
||||
"supertest": "^7.1.0",
|
||||
"tailwindcss": "^3.4.0",
|
||||
|
||||
@@ -29,7 +29,7 @@ import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { ProcessRepository } from 'src/repositories/process.repository.js';
|
||||
import { StorageRepository } from 'src/repositories/storage.repository.js';
|
||||
import { SystemMetadataRepository } from 'src/repositories/system-metadata.repository.js';
|
||||
import { teardownTelemetry, TelemetryRepository } from 'src/repositories/telemetry.repository.js';
|
||||
import { TelemetryRepository, teardownTelemetry } from 'src/repositories/telemetry.repository.js';
|
||||
import { UserRepository } from 'src/repositories/user.repository.js';
|
||||
import { WebsocketRepository } from 'src/repositories/websocket.repository.js';
|
||||
import { AuthService } from 'src/services/auth.service.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { ActivityController } from 'src/controllers/activity.controller.js';
|
||||
import { ActivityService } from 'src/services/activity.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Query, Res } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { Response } from 'express';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
ActivityCreateDto,
|
||||
@@ -9,7 +10,6 @@ import {
|
||||
ActivitySearchDto,
|
||||
ActivityStatisticsResponseDto,
|
||||
} from 'src/dtos/activity.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
import { ActivityService } from 'src/services/activity.service.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { AlbumController } from 'src/controllers/album.controller.js';
|
||||
import { AlbumService } from 'src/services/album.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put, Query } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
AddUsersDto,
|
||||
AlbumResponseDto,
|
||||
AlbumsAddAssetsDto,
|
||||
AlbumsAddAssetsResponseDto,
|
||||
AlbumStatisticsResponseDto,
|
||||
AlbumUserParamDto,
|
||||
AlbumsAddAssetsDto,
|
||||
AlbumsAddAssetsResponseDto,
|
||||
CreateAlbumDto,
|
||||
GetAlbumsDto,
|
||||
UpdateAlbumDto,
|
||||
UpdateAlbumUserDto,
|
||||
} from 'src/dtos/album.dto.js';
|
||||
import { BulkIdResponseDto, BulkIdsDto } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { MapMarkerResponseDto } from 'src/dtos/map.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import request from 'supertest';
|
||||
import { ApiKeyController } from 'src/controllers/api-key.controller.js';
|
||||
import { Permission } from 'src/enum.js';
|
||||
import { ApiKeyService } from 'src/services/api-key.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put } from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { ApiKeyCreateDto, ApiKeyCreateResponseDto, ApiKeyResponseDto, ApiKeyUpdateDto } from 'src/dtos/api-key.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
import { ApiKeyService } from 'src/services/api-key.service.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { AppController } from 'src/controllers/app.controller.js';
|
||||
import { SystemConfigService } from 'src/services/system-config.service.js';
|
||||
import request from 'supertest';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(AppController.name, () => {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Controller, Delete, Get, HttpCode, HttpStatus, Next, Param, Query, Res } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { NextFunction, Response } from 'express';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { AssetFileResponseDto, AssetFileSearchDto } from 'src/dtos/asset-file.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated, FileResponse } from 'src/middleware/auth.guard.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import request from 'supertest';
|
||||
import { AssetMediaController } from 'src/controllers/asset-media.controller.js';
|
||||
import { AssetMediaStatus } from 'src/dtos/asset-media-response.dto.js';
|
||||
import { AssetMetadataKey } from 'src/enum.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { AssetMediaService } from 'src/services/asset-media.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
import { ControllerContext, automock, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
const makeUploadDto = (options?: { omit: string }): Record<string, any> => {
|
||||
const dto: Record<string, any> = {
|
||||
|
||||
@@ -16,6 +16,7 @@ import {
|
||||
} from '@nestjs/common';
|
||||
import { ApiBody, ApiConsumes, ApiHeader, ApiResponse, ApiTags } from '@nestjs/swagger';
|
||||
import { type NextFunction, type Request, type Response } from 'express';
|
||||
import type { UploadFiles } from 'src/types.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
AssetBulkUploadCheckResponseDto,
|
||||
@@ -36,7 +37,6 @@ import { Auth, Authenticated, FileResponse } from 'src/middleware/auth.guard.js'
|
||||
import { FileUploadInterceptor, getFiles } from 'src/middleware/file-upload.interceptor.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { AssetMediaService } from 'src/services/asset-media.service.js';
|
||||
import type { UploadFiles } from 'src/types.js';
|
||||
import { ImmichFileResponse, sendFile } from 'src/utils/file.js';
|
||||
import { FileNotEmptyValidator, UUIDParamDto } from 'src/validation.js';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import request from 'supertest';
|
||||
import { AssetController } from 'src/controllers/asset.controller.js';
|
||||
import { AssetMetadataKey } from 'src/enum.js';
|
||||
import { AssetService } from 'src/services/asset.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put, Query } from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { AssetResponseDto } from 'src/dtos/asset-response.dto.js';
|
||||
import {
|
||||
@@ -17,7 +18,6 @@ import {
|
||||
AssetStatsResponseDto,
|
||||
UpdateAssetDto,
|
||||
} from 'src/dtos/asset.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { AssetEditsCreateDto, AssetEditsResponseDto } from 'src/dtos/editing.dto.js';
|
||||
import { AssetOcrResponseDto } from 'src/dtos/ocr.dto.js';
|
||||
import { ApiTag, Permission, RouteKey } from 'src/enum.js';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Controller, HttpCode, HttpStatus, Post } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
import { AuthAdminService } from 'src/services/auth-admin.service.js';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { BadRequestException } from '@nestjs/common';
|
||||
import request from 'supertest';
|
||||
import { AuthController } from 'src/controllers/auth.controller.js';
|
||||
import { LoginResponseDto } from 'src/dtos/auth.dto.js';
|
||||
import { AuthService } from 'src/services/auth.service.js';
|
||||
import request from 'supertest';
|
||||
import { mediumFactory } from 'test/medium.factory.js';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { mediumFactory } from 'test/medium.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(AuthController.name, () => {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Res } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { Response } from 'express';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { ClusterGroupRequestCreateDto, ClusterGroupRequestResponseDto } from 'src/dtos/cluster-group.dto.js';
|
||||
import { UserResponseDto } from 'src/dtos/user.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { cloneDeep } from 'lodash-es';
|
||||
import request from 'supertest';
|
||||
import { ConfigAdminController } from 'src/controllers/config-admin.controller.js';
|
||||
import { ConfigPublicController } from 'src/controllers/config-public.controller.js';
|
||||
import { ConfigUserController } from 'src/controllers/config-user.controller.js';
|
||||
import { defaults, mapPublicConfig, mapUserConfig } from 'src/dtos/config.dto.js';
|
||||
import { SystemConfigService } from 'src/services/system-config.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { BadRequestException } from '@nestjs/common';
|
||||
import request from 'supertest';
|
||||
import { DatabaseBackupController } from 'src/controllers/database-backup.controller.js';
|
||||
import { DatabaseBackupService } from 'src/services/database-backup.service.js';
|
||||
import { MaintenanceService } from 'src/services/maintenance.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
import { ControllerContext, automock, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(DatabaseBackupController.name, () => {
|
||||
let ctx: ControllerContext;
|
||||
|
||||
@@ -2,6 +2,7 @@ import { Body, Controller, Delete, Get, Next, Param, Post, Res, UploadedFile, Us
|
||||
import { FileInterceptor } from '@nestjs/platform-express';
|
||||
import { ApiBody, ApiConsumes, ApiTags } from '@nestjs/swagger';
|
||||
import type { NextFunction, Response } from 'express';
|
||||
import type { LoginDetails } from 'src/services/auth.service.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
DatabaseBackupDeleteDto,
|
||||
@@ -11,7 +12,6 @@ import {
|
||||
import { ApiTag, ImmichCookie, Permission } from 'src/enum.js';
|
||||
import { Authenticated, FileResponse, GetLoginDetails } from 'src/middleware/auth.guard.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import type { LoginDetails } from 'src/services/auth.service.js';
|
||||
import { DatabaseBackupService } from 'src/services/database-backup.service.js';
|
||||
import { MaintenanceService } from 'src/services/maintenance.service.js';
|
||||
import { sendFile } from 'src/utils/file.js';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Readable } from 'node:stream';
|
||||
import request from 'supertest';
|
||||
import { DownloadController } from 'src/controllers/download.controller.js';
|
||||
import { DownloadService } from 'src/services/download.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, HttpCode, HttpStatus, Post, StreamableFile } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { DownloadArchiveDto, DownloadInfoDto, DownloadResponseDto } from 'src/dtos/download.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated, FileResponse } from 'src/middleware/auth.guard.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { DuplicateController } from 'src/controllers/duplicate.controller.js';
|
||||
import { DuplicateService } from 'src/services/duplicate.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { BulkIdResponseDto, BulkIdsDto } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { DuplicateResolveDto, DuplicateResponseDto } from 'src/dtos/duplicate.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
AssetFaceCreateDto,
|
||||
AssetFaceDeleteDto,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Controller, Delete, Get, HttpCode, HttpStatus, Next, Param, Query, Res } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { NextFunction, Response } from 'express';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
IntegrityGetReportDto,
|
||||
IntegrityReportResponseDto,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import request from 'supertest';
|
||||
import { JobController } from 'src/controllers/job.controller.js';
|
||||
import { JobService } from 'src/services/job.service.js';
|
||||
import { QueueService } from 'src/services/queue.service.js';
|
||||
import request from 'supertest';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(JobController.name, () => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, Get, HttpCode, HttpStatus, Param, Post, Put } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { JobCreateDto } from 'src/dtos/job.dto.js';
|
||||
import { QueueResponseLegacyDto, QueuesResponseLegacyDto } from 'src/dtos/queue-legacy.dto.js';
|
||||
import { QueueCommandDto, QueueNameParamDto } from 'src/dtos/queue.dto.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { LibraryController } from 'src/controllers/library.controller.js';
|
||||
import { LibraryService } from 'src/services/library.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import request from 'supertest';
|
||||
import { MaintenanceController } from 'src/controllers/maintenance.controller.js';
|
||||
import { MaintenanceAction } from 'src/enum.js';
|
||||
import { MaintenanceService } from 'src/services/maintenance.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { BadRequestException, Body, Controller, Get, Post, Res } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { Response } from 'express';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import type { LoginDetails } from 'src/services/auth.service.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
MaintenanceAuthDto,
|
||||
MaintenanceDetectInstallResponseDto,
|
||||
@@ -12,7 +13,6 @@ import {
|
||||
} from 'src/dtos/maintenance.dto.js';
|
||||
import { ApiTag, ImmichCookie, MaintenanceAction, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated, GetLoginDetails } from 'src/middleware/auth.guard.js';
|
||||
import type { LoginDetails } from 'src/services/auth.service.js';
|
||||
import { MaintenanceService } from 'src/services/maintenance.service.js';
|
||||
import { respondWithCookie } from 'src/utils/response.js';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { MapController } from 'src/controllers/map.controller.js';
|
||||
import { MapService } from 'src/services/map.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Controller, Get, HttpCode, HttpStatus, Query } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
MapMarkerDto,
|
||||
MapMarkerResponseDto,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { MemoryController } from 'src/controllers/memory.controller.js';
|
||||
import { MemoryService } from 'src/services/memory.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put, Query } from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { BulkIdResponseDto, BulkIdsDto } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import {
|
||||
MemoryCreateDto,
|
||||
MemoryResponseDto,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { NotificationAdminController } from 'src/controllers/notification-admin.controller.js';
|
||||
import { NotificationAdminService } from 'src/services/notification-admin.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, HttpCode, HttpStatus, Param, Post } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { SystemConfigSmtpDto } from 'src/dtos/config.dto.js';
|
||||
import {
|
||||
NotificationCreateDto,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { NotificationController } from 'src/controllers/notification.controller.js';
|
||||
import { NotificationService } from 'src/services/notification.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Put, Query } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
NotificationDeleteAllDto,
|
||||
NotificationDto,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { OAuthController } from 'src/controllers/oauth.controller.js';
|
||||
import { AuthService } from 'src/services/auth.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import request from 'supertest';
|
||||
import { PartnerController } from 'src/controllers/partner.controller.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { PartnerService } from 'src/services/partner.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
import { ControllerContext, automock, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(PartnerController.name, () => {
|
||||
let ctx: ControllerContext;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { PartnerCreateDto, PartnerResponseDto, PartnerSearchDto, PartnerUpdateDto } from 'src/dtos/partner.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import request from 'supertest';
|
||||
import { PersonController } from 'src/controllers/person.controller.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { PersonService } from 'src/services/person.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
import { ControllerContext, automock, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(PersonController.name, () => {
|
||||
let ctx: ControllerContext;
|
||||
|
||||
@@ -15,9 +15,9 @@ import {
|
||||
} from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import type { NextFunction, Response } from 'express';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { BulkIdResponseDto, BulkIdsDto } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import {
|
||||
AssetFaceUpdateDto,
|
||||
MergePersonDto,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import request from 'supertest';
|
||||
import { PluginController } from 'src/controllers/plugin.controller.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { PluginService } from 'src/services/plugin.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
import { ControllerContext, automock, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(PluginController.name, () => {
|
||||
let ctx: ControllerContext;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Put, Query } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
QueueDeleteDto,
|
||||
QueueJobResponseDto,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { SearchController } from 'src/controllers/search.controller.js';
|
||||
import { SearchService } from 'src/services/search.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Get, HttpCode, HttpStatus, Post, Query } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { AssetResponseDto } from 'src/dtos/asset-response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { PersonResponseDto } from 'src/dtos/person.dto.js';
|
||||
import {
|
||||
LargeAssetSearchDto,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put } from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
SessionCreateDto,
|
||||
SessionCreateResponseDto,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import request from 'supertest';
|
||||
import { SharedLinkController } from 'src/controllers/shared-link.controller.js';
|
||||
import { Permission, SharedLinkType } from 'src/enum.js';
|
||||
import { SharedLinkService } from 'src/services/shared-link.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { factory, newUuid } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
@@ -15,10 +15,11 @@ import {
|
||||
} from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { Request, Response } from 'express';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import type { LoginDetails } from 'src/services/auth.service.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { AssetIdsResponseDto } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import { AssetIdsDto } from 'src/dtos/asset.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import {
|
||||
SharedLinkCreateDto,
|
||||
SharedLinkEditDto,
|
||||
@@ -29,7 +30,6 @@ import {
|
||||
import { ApiTag, ImmichCookie, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated, GetLoginDetails } from 'src/middleware/auth.guard.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import type { LoginDetails } from 'src/services/auth.service.js';
|
||||
import { SharedLinkService } from 'src/services/shared-link.service.js';
|
||||
import { respondWithCookie } from 'src/utils/response.js';
|
||||
import { UUIDParamDto } from 'src/validation.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { StackController } from 'src/controllers/stack.controller.js';
|
||||
import { StackService } from 'src/services/stack.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put, Query } from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { BulkIdsDto } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { StackCreateDto, StackResponseDto, StackSearchDto, StackUpdateDto } from 'src/dtos/stack.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import request from 'supertest';
|
||||
import { SyncController } from 'src/controllers/sync.controller.js';
|
||||
import { GlobalExceptionFilter } from 'src/middleware/global-exception.filter.js';
|
||||
import { SyncService } from 'src/services/sync.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Delete, Get, Header, HttpCode, HttpStatus, Post, Req, Res } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { Request, Response } from 'express';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { SyncAckDeleteDto, SyncAckDto, SyncAckSetDto, SyncStreamDto } from 'src/dtos/sync.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { cloneDeep } from 'lodash-es';
|
||||
import request from 'supertest';
|
||||
import { SystemConfigController } from 'src/controllers/system-config.controller.js';
|
||||
import { defaults } from 'src/dtos/config.dto.js';
|
||||
import { StorageTemplateService } from 'src/services/storage-template.service.js';
|
||||
import { SystemConfigService } from 'src/services/system-config.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { SystemMetadataController } from 'src/controllers/system-metadata.controller.js';
|
||||
import { SystemMetadataService } from 'src/services/system-metadata.service.js';
|
||||
import request from 'supertest';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(SystemMetadataController.name, () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { TagController } from 'src/controllers/tag.controller.js';
|
||||
import { TagService } from 'src/services/tag.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put } from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { BulkIdResponseDto, BulkIdsDto } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import {
|
||||
TagBulkAssetsDto,
|
||||
TagBulkAssetsResponseDto,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { TimelineController } from 'src/controllers/timeline.controller.js';
|
||||
import { TimelineService } from 'src/services/timeline.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Controller, Get, Header, Query } from '@nestjs/common';
|
||||
import { ApiOkResponse, ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { TimeBucketAssetDto, TimeBucketAssetResponseDto, TimeBucketDto } from 'src/dtos/time-bucket.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from 'supertest';
|
||||
import { TrashController } from 'src/controllers/trash.controller.js';
|
||||
import { TrashService } from 'src/services/trash.service.js';
|
||||
import request from 'supertest';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, HttpCode, HttpStatus, Post } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { BulkIdsDto } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { TrashResponseDto } from 'src/dtos/trash.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import request from 'supertest';
|
||||
import { UserAdminController } from 'src/controllers/user-admin.controller.js';
|
||||
import { UserAdminCreateDto } from 'src/dtos/user.dto.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { UserAdminService } from 'src/services/user-admin.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { factory } from 'test/small.factory.js';
|
||||
import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
import { ControllerContext, automock, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(UserAdminController.name, () => {
|
||||
let ctx: ControllerContext;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put, Query } from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { AssetStatsDto, AssetStatsResponseDto } from 'src/dtos/asset.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { CalendarHeatmapDto, CalendarHeatmapResponseDto } from 'src/dtos/calendar-heatmap.dto.js';
|
||||
import { SessionResponseDto } from 'src/dtos/session.dto.js';
|
||||
import { UserPreferencesResponseDto, UserPreferencesUpdateDto } from 'src/dtos/user-preferences.dto.js';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import request from 'supertest';
|
||||
import { UserController } from 'src/controllers/user.controller.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { UserService } from 'src/services/user.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
import { ControllerContext, automock, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(UserController.name, () => {
|
||||
let ctx: ControllerContext;
|
||||
|
||||
@@ -17,8 +17,8 @@ import {
|
||||
} from '@nestjs/common';
|
||||
import { ApiBody, ApiConsumes, ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import type { NextFunction, Response } from 'express';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { CalendarHeatmapDto, CalendarHeatmapResponseDto } from 'src/dtos/calendar-heatmap.dto.js';
|
||||
import { LicenseKeyDto, LicenseResponseDto } from 'src/dtos/license.dto.js';
|
||||
import { OnboardingDto, OnboardingResponseDto } from 'src/dtos/onboarding.dto.js';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { Controller, Delete, Get, Header, Headers, HttpCode, HttpStatus, Next, Param, Res } from '@nestjs/common';
|
||||
import { ApiProduces, ApiTags } from '@nestjs/swagger';
|
||||
import type { NextFunction, Response } from 'express';
|
||||
import { ZodValidationException } from 'nestjs-zod';
|
||||
import type { NextFunction, Response } from 'express';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { HLS_PLAYLIST_CONTENT_TYPE } from 'src/constants.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import {
|
||||
HlsPlaylistHeaderDto,
|
||||
HlsSegmentHeaderDto,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Controller, Get, Query } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import { AssetResponseDto } from 'src/dtos/asset-response.dto.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { ApiTag, Permission } from 'src/enum.js';
|
||||
import { Auth, Authenticated } from 'src/middleware/auth.guard.js';
|
||||
import { ViewService } from 'src/services/view.service.js';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { WorkflowTrigger } from '@immich/plugin-sdk';
|
||||
import request from 'supertest';
|
||||
import { WorkflowController } from 'src/controllers/workflow.controller.js';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository.js';
|
||||
import { WorkflowService } from 'src/services/workflow.service.js';
|
||||
import request from 'supertest';
|
||||
import { errorDto } from 'test/medium/responses.js';
|
||||
import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
import { ControllerContext, automock, controllerSetup, mockBaseService } from 'test/utils.js';
|
||||
|
||||
describe(WorkflowController.name, () => {
|
||||
let ctx: ControllerContext;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Patch, Post, Put, Query } from '@nestjs/common';
|
||||
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import type { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
import { Endpoint, HistoryBuilder } from 'src/decorators.js';
|
||||
import {
|
||||
WorkflowCreateDto,
|
||||
WorkflowGetLogsDto,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { StorageCore } from 'src/cores/storage.core.js';
|
||||
import { vitest } from 'vitest';
|
||||
import { StorageCore } from 'src/cores/storage.core.js';
|
||||
|
||||
vitest.mock('src/constants', () => ({
|
||||
IWorker: 'IWorker',
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { dirname, join, resolve } from 'node:path';
|
||||
import type { VideoInterfaces } from 'src/types.js';
|
||||
import { StorageAsset } from 'src/database.js';
|
||||
import {
|
||||
AssetFileType,
|
||||
@@ -18,7 +19,6 @@ import { MoveRepository } from 'src/repositories/move.repository.js';
|
||||
import { PersonRepository } from 'src/repositories/person.repository.js';
|
||||
import { StorageRepository } from 'src/repositories/storage.repository.js';
|
||||
import { SystemMetadataRepository } from 'src/repositories/system-metadata.repository.js';
|
||||
import type { VideoInterfaces } from 'src/types.js';
|
||||
import { getAssetFile } from 'src/utils/asset.util.js';
|
||||
import { getConfig } from 'src/utils/config.js';
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Selectable, ShallowDehydrateObject } from 'kysely';
|
||||
import type { UserMetadataItem } from 'src/types.js';
|
||||
import { MapAsset } from 'src/dtos/asset-response.dto.js';
|
||||
import {
|
||||
AlbumUserRole,
|
||||
@@ -17,7 +18,6 @@ import { AlbumTable } from 'src/schema/tables/album.table.js';
|
||||
import { AssetExifTable } from 'src/schema/tables/asset-exif.table.js';
|
||||
import { AssetTable } from 'src/schema/tables/asset.table.js';
|
||||
import { PluginTable } from 'src/schema/tables/plugin.table.js';
|
||||
import type { UserMetadataItem } from 'src/types.js';
|
||||
|
||||
export type AuthUser = {
|
||||
id: string;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import { Activity } from 'src/database.js';
|
||||
import { mapUser, UserResponseSchema } from 'src/dtos/user.dto.js';
|
||||
import { isoDatetimeToDate } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
import { Activity } from 'src/database.js';
|
||||
import { UserResponseSchema, mapUser } from 'src/dtos/user.dto.js';
|
||||
import { isoDatetimeToDate } from 'src/validation.js';
|
||||
|
||||
export enum ReactionLevel {
|
||||
ALBUM = 'album',
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import { ShallowDehydrateObject } from 'kysely';
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import type { MaybeDehydrated } from 'src/types.js';
|
||||
import { AlbumUser, AuthSharedLink } from 'src/database.js';
|
||||
import { HistoryBuilder } from 'src/decorators.js';
|
||||
import { BulkIdErrorReasonSchema } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import { MapAsset } from 'src/dtos/asset-response.dto.js';
|
||||
import { UserResponseSchema, mapUser } from 'src/dtos/user.dto.js';
|
||||
import { AlbumUserRole, AlbumUserRoleSchema, AssetOrder, AssetOrderSchema } from 'src/enum.js';
|
||||
import type { MaybeDehydrated } from 'src/types.js';
|
||||
import { asDateTimeString } from 'src/utils/date.js';
|
||||
import { stringToBool } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
const AlbumUserAddSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import { HistoryBuilder } from 'src/decorators.js';
|
||||
import { Permission } from 'src/enum.js';
|
||||
import { isoDatetimeToDate } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
const PermissionSchema = z.enum(Permission).describe('List of permissions').meta({ id: 'Permission' });
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Selectable } from 'kysely';
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import { AssetFileTypeSchema } from 'src/enum.js';
|
||||
import { AssetFileTable } from 'src/schema/tables/asset-file.table.js';
|
||||
import { isoDatetimeToDate, stringToBool } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
const AssetFileSearchSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import { HistoryBuilder } from 'src/decorators.js';
|
||||
import { AssetMetadataUpsertItemSchema } from 'src/dtos/asset.dto.js';
|
||||
import { ApiCustomExtension, AssetVisibilitySchema } from 'src/enum.js';
|
||||
import { isoDatetimeToDate, JsonParsed, stringToBool } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
import { JsonParsed, isoDatetimeToDate, stringToBool } from 'src/validation.js';
|
||||
|
||||
export enum AssetMediaSize {
|
||||
Original = 'original',
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import { Selectable, ShallowDehydrateObject } from 'kysely';
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import type { MaybeDehydrated } from 'src/types.js';
|
||||
import { AssetFace, AssetFile, Exif, Stack, Tag, User } from 'src/database.js';
|
||||
import { HistoryBuilder } from 'src/decorators.js';
|
||||
import { AuthDto } from 'src/dtos/auth.dto.js';
|
||||
@@ -16,11 +18,9 @@ import {
|
||||
AssetVisibilitySchema,
|
||||
ChecksumAlgorithm,
|
||||
} from 'src/enum.js';
|
||||
import type { MaybeDehydrated } from 'src/types.js';
|
||||
import { hexOrBufferToBase64 } from 'src/utils/bytes.js';
|
||||
import { asDateTimeString } from 'src/utils/date.js';
|
||||
import { mimeTypes } from 'src/utils/mime-types.js';
|
||||
import z from 'zod';
|
||||
|
||||
const SanitizedAssetResponseSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import { HistoryBuilder } from 'src/decorators.js';
|
||||
import { BulkIdsSchema } from 'src/dtos/asset-ids.response.dto.js';
|
||||
import { AssetType, AssetVisibilitySchema } from 'src/enum.js';
|
||||
import { AssetStats } from 'src/repositories/asset.repository.js';
|
||||
import { IsNotSiblingOf, isoDatetimeToDate, latitudeSchema, longitudeSchema, stringToBool } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
const UpdateAssetBaseSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import type { UserMetadataItem } from 'src/types.js';
|
||||
import { AuthApiKey, AuthSession, AuthSharedLink, AuthUser, UserAdmin } from 'src/database.js';
|
||||
import { ImmichCookie, UserMetadataKey } from 'src/enum.js';
|
||||
import type { UserMetadataItem } from 'src/types.js';
|
||||
import { toEmail } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
export type CookieResponse = {
|
||||
isSecure: boolean;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { latitudeSchema, longitudeSchema } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
import { latitudeSchema, longitudeSchema } from 'src/validation.js';
|
||||
|
||||
export const BBoxSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import { CalendarHeatmapType } from 'src/enum.js';
|
||||
import { isoDateToDate } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
const CalendarHeatmapTypeSchema = z
|
||||
.enum(CalendarHeatmapType)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Selectable } from 'kysely';
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import { ClusterGroupRequestTable } from 'src/schema/tables/cluster-group-request.table.js';
|
||||
import { isoDatetimeToDate } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
const ClusterGroupRequestCreateSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import z from 'zod';
|
||||
import {
|
||||
AdminConfigDto,
|
||||
PublicConfigDto,
|
||||
UserConfigDto,
|
||||
defaults,
|
||||
mapPublicConfig,
|
||||
mapUserConfig,
|
||||
PublicConfigDto,
|
||||
UserConfigDto,
|
||||
} from 'src/dtos/config.dto.js';
|
||||
import { getKeysDeep } from 'src/utils/misc.js';
|
||||
import z from 'zod';
|
||||
|
||||
const PUBLIC_PROPERTIES = [
|
||||
'oauth.autoLaunch',
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
import { CronExpression } from '@nestjs/schedule';
|
||||
import { validateCronExpression } from 'cron';
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import type { DeepPartial } from 'src/types.js';
|
||||
import {
|
||||
AudioCodec,
|
||||
AudioCodecSchema,
|
||||
CQMode,
|
||||
CQModeSchema,
|
||||
Colorspace,
|
||||
ColorspaceSchema,
|
||||
ConfigVisibility,
|
||||
CQMode,
|
||||
CQModeSchema,
|
||||
HlsVideoResolution,
|
||||
HlsVideoResolutionSchema,
|
||||
ImageFormat,
|
||||
@@ -30,8 +32,6 @@ import {
|
||||
VideoContainer,
|
||||
VideoContainerSchema,
|
||||
} from 'src/enum.js';
|
||||
import type { DeepPartial } from 'src/types.js';
|
||||
import z from 'zod';
|
||||
|
||||
const { Admin, User, Public } = ConfigVisibility;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import { AssetResponseSchema } from 'src/dtos/asset-response.dto.js';
|
||||
import z from 'zod';
|
||||
import { AssetResponseSchema } from 'src/dtos/asset-response.dto.js';
|
||||
|
||||
const DuplicateResponseSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import z from 'zod';
|
||||
import { ImmichEnvironmentSchema, LogFormatSchema, LogLevelSchema } from 'src/enum.js';
|
||||
import { IsIPRange } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
// TODO import from sql-tools once the swagger plugin supports external enums
|
||||
enum DatabaseSslMode {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import { Exif } from 'src/database.js';
|
||||
import type { MaybeDehydrated } from 'src/types.js';
|
||||
import { asDateTimeString } from 'src/utils/date.js';
|
||||
import z from 'zod';
|
||||
import type { MaybeDehydrated } from 'src/types.js';
|
||||
import { Exif } from 'src/database.js';
|
||||
import { asDateTimeString } from 'src/utils/date.js';
|
||||
|
||||
export const ExifResponseSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import { IntegrityReport, IntegrityReportSchema } from 'src/enum.js';
|
||||
import z from 'zod';
|
||||
import { IntegrityReport, IntegrityReportSchema } from 'src/enum.js';
|
||||
|
||||
const IntegrityReportSummaryResponseSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import { ManualJobNameSchema } from 'src/enum.js';
|
||||
import z from 'zod';
|
||||
import { ManualJobNameSchema } from 'src/enum.js';
|
||||
|
||||
const JobCreateSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import z from 'zod';
|
||||
import { Library } from 'src/database.js';
|
||||
import { isoDatetimeToDate } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
|
||||
const stringArrayMax128 = z
|
||||
.array(z.string())
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import { MaintenanceAction, MaintenanceActionSchema, StorageFolderSchema } from 'src/enum.js';
|
||||
import z from 'zod';
|
||||
import { MaintenanceAction, MaintenanceActionSchema, StorageFolderSchema } from 'src/enum.js';
|
||||
|
||||
const SetMaintenanceModeSchema = z
|
||||
.object({
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { createZodDto } from 'nestjs-zod';
|
||||
import { isoDatetimeToDate, latitudeSchema, longitudeSchema, stringToBool } from 'src/validation.js';
|
||||
import z from 'zod';
|
||||
import { isoDatetimeToDate, latitudeSchema, longitudeSchema, stringToBool } from 'src/validation.js';
|
||||
|
||||
const MapReverseGeocodeSchema = z
|
||||
.object({
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user