mirror of
https://github.com/samsonjs/immich.git
synced 2026-04-27 15:07:45 +00:00
refactor(server): move file file report endpoints to their own controller (#8925)
* move file report to its own controller * chore: open api
This commit is contained in:
parent
57be9182d4
commit
78c7ff855d
14 changed files with 221 additions and 211 deletions
3
mobile/openapi/.openapi-generator/FILES
generated
3
mobile/openapi/.openapi-generator/FILES
generated
|
|
@ -69,6 +69,7 @@ doc/FaceApi.md
|
||||||
doc/FaceDto.md
|
doc/FaceDto.md
|
||||||
doc/FileChecksumDto.md
|
doc/FileChecksumDto.md
|
||||||
doc/FileChecksumResponseDto.md
|
doc/FileChecksumResponseDto.md
|
||||||
|
doc/FileReportApi.md
|
||||||
doc/FileReportDto.md
|
doc/FileReportDto.md
|
||||||
doc/FileReportFixDto.md
|
doc/FileReportFixDto.md
|
||||||
doc/FileReportItemDto.md
|
doc/FileReportItemDto.md
|
||||||
|
|
@ -212,6 +213,7 @@ lib/api/audit_api.dart
|
||||||
lib/api/authentication_api.dart
|
lib/api/authentication_api.dart
|
||||||
lib/api/download_api.dart
|
lib/api/download_api.dart
|
||||||
lib/api/face_api.dart
|
lib/api/face_api.dart
|
||||||
|
lib/api/file_report_api.dart
|
||||||
lib/api/job_api.dart
|
lib/api/job_api.dart
|
||||||
lib/api/library_api.dart
|
lib/api/library_api.dart
|
||||||
lib/api/memory_api.dart
|
lib/api/memory_api.dart
|
||||||
|
|
@ -478,6 +480,7 @@ test/face_api_test.dart
|
||||||
test/face_dto_test.dart
|
test/face_dto_test.dart
|
||||||
test/file_checksum_dto_test.dart
|
test/file_checksum_dto_test.dart
|
||||||
test/file_checksum_response_dto_test.dart
|
test/file_checksum_response_dto_test.dart
|
||||||
|
test/file_report_api_test.dart
|
||||||
test/file_report_dto_test.dart
|
test/file_report_dto_test.dart
|
||||||
test/file_report_fix_dto_test.dart
|
test/file_report_fix_dto_test.dart
|
||||||
test/file_report_item_dto_test.dart
|
test/file_report_item_dto_test.dart
|
||||||
|
|
|
||||||
BIN
mobile/openapi/README.md
generated
BIN
mobile/openapi/README.md
generated
Binary file not shown.
BIN
mobile/openapi/doc/AuditApi.md
generated
BIN
mobile/openapi/doc/AuditApi.md
generated
Binary file not shown.
BIN
mobile/openapi/doc/FileReportApi.md
generated
Normal file
BIN
mobile/openapi/doc/FileReportApi.md
generated
Normal file
Binary file not shown.
BIN
mobile/openapi/lib/api.dart
generated
BIN
mobile/openapi/lib/api.dart
generated
Binary file not shown.
BIN
mobile/openapi/lib/api/audit_api.dart
generated
BIN
mobile/openapi/lib/api/audit_api.dart
generated
Binary file not shown.
BIN
mobile/openapi/lib/api/file_report_api.dart
generated
Normal file
BIN
mobile/openapi/lib/api/file_report_api.dart
generated
Normal file
Binary file not shown.
BIN
mobile/openapi/test/audit_api_test.dart
generated
BIN
mobile/openapi/test/audit_api_test.dart
generated
Binary file not shown.
BIN
mobile/openapi/test/file_report_api_test.dart
generated
Normal file
BIN
mobile/openapi/test/file_report_api_test.dart
generated
Normal file
Binary file not shown.
|
|
@ -2345,118 +2345,6 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"/audit/file-report": {
|
|
||||||
"get": {
|
|
||||||
"operationId": "getAuditFiles",
|
|
||||||
"parameters": [],
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "#/components/schemas/FileReportDto"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"description": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"security": [
|
|
||||||
{
|
|
||||||
"bearer": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cookie": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"api_key": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"Audit"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/audit/file-report/checksum": {
|
|
||||||
"post": {
|
|
||||||
"operationId": "getFileChecksums",
|
|
||||||
"parameters": [],
|
|
||||||
"requestBody": {
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "#/components/schemas/FileChecksumDto"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"201": {
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/components/schemas/FileChecksumResponseDto"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"description": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"security": [
|
|
||||||
{
|
|
||||||
"bearer": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cookie": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"api_key": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"Audit"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/audit/file-report/fix": {
|
|
||||||
"post": {
|
|
||||||
"operationId": "fixAuditFiles",
|
|
||||||
"parameters": [],
|
|
||||||
"requestBody": {
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "#/components/schemas/FileReportFixDto"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"201": {
|
|
||||||
"description": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"security": [
|
|
||||||
{
|
|
||||||
"bearer": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cookie": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"api_key": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"Audit"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/auth/admin-sign-up": {
|
"/auth/admin-sign-up": {
|
||||||
"post": {
|
"post": {
|
||||||
"operationId": "signUpAdmin",
|
"operationId": "signUpAdmin",
|
||||||
|
|
@ -4429,6 +4317,118 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"/report": {
|
||||||
|
"get": {
|
||||||
|
"operationId": "getAuditFiles",
|
||||||
|
"parameters": [],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/FileReportDto"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"bearer": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cookie": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api_key": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"File Report"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/report/checksum": {
|
||||||
|
"post": {
|
||||||
|
"operationId": "getFileChecksums",
|
||||||
|
"parameters": [],
|
||||||
|
"requestBody": {
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/FileChecksumDto"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"responses": {
|
||||||
|
"201": {
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/FileChecksumResponseDto"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"bearer": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cookie": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api_key": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"File Report"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/report/fix": {
|
||||||
|
"post": {
|
||||||
|
"operationId": "fixAuditFiles",
|
||||||
|
"parameters": [],
|
||||||
|
"requestBody": {
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/FileReportFixDto"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"responses": {
|
||||||
|
"201": {
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"bearer": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cookie": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api_key": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"File Report"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"/search": {
|
"/search": {
|
||||||
"get": {
|
"get": {
|
||||||
"deprecated": true,
|
"deprecated": true,
|
||||||
|
|
|
||||||
|
|
@ -316,27 +316,6 @@ export type AuditDeletesResponseDto = {
|
||||||
ids: string[];
|
ids: string[];
|
||||||
needsFullSync: boolean;
|
needsFullSync: boolean;
|
||||||
};
|
};
|
||||||
export type FileReportItemDto = {
|
|
||||||
checksum?: string;
|
|
||||||
entityId: string;
|
|
||||||
entityType: PathEntityType;
|
|
||||||
pathType: PathType;
|
|
||||||
pathValue: string;
|
|
||||||
};
|
|
||||||
export type FileReportDto = {
|
|
||||||
extras: string[];
|
|
||||||
orphans: FileReportItemDto[];
|
|
||||||
};
|
|
||||||
export type FileChecksumDto = {
|
|
||||||
filenames: string[];
|
|
||||||
};
|
|
||||||
export type FileChecksumResponseDto = {
|
|
||||||
checksum: string;
|
|
||||||
filename: string;
|
|
||||||
};
|
|
||||||
export type FileReportFixDto = {
|
|
||||||
items: FileReportItemDto[];
|
|
||||||
};
|
|
||||||
export type SignUpDto = {
|
export type SignUpDto = {
|
||||||
email: string;
|
email: string;
|
||||||
name: string;
|
name: string;
|
||||||
|
|
@ -599,6 +578,27 @@ export type AssetFaceUpdateDto = {
|
||||||
export type PersonStatisticsResponseDto = {
|
export type PersonStatisticsResponseDto = {
|
||||||
assets: number;
|
assets: number;
|
||||||
};
|
};
|
||||||
|
export type FileReportItemDto = {
|
||||||
|
checksum?: string;
|
||||||
|
entityId: string;
|
||||||
|
entityType: PathEntityType;
|
||||||
|
pathType: PathType;
|
||||||
|
pathValue: string;
|
||||||
|
};
|
||||||
|
export type FileReportDto = {
|
||||||
|
extras: string[];
|
||||||
|
orphans: FileReportItemDto[];
|
||||||
|
};
|
||||||
|
export type FileChecksumDto = {
|
||||||
|
filenames: string[];
|
||||||
|
};
|
||||||
|
export type FileChecksumResponseDto = {
|
||||||
|
checksum: string;
|
||||||
|
filename: string;
|
||||||
|
};
|
||||||
|
export type FileReportFixDto = {
|
||||||
|
items: FileReportItemDto[];
|
||||||
|
};
|
||||||
export type SearchFacetCountResponseDto = {
|
export type SearchFacetCountResponseDto = {
|
||||||
count: number;
|
count: number;
|
||||||
value: string;
|
value: string;
|
||||||
|
|
@ -1651,35 +1651,6 @@ export function getAuditDeletes({ after, entityType, userId }: {
|
||||||
...opts
|
...opts
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
export function getAuditFiles(opts?: Oazapfts.RequestOpts) {
|
|
||||||
return oazapfts.ok(oazapfts.fetchJson<{
|
|
||||||
status: 200;
|
|
||||||
data: FileReportDto;
|
|
||||||
}>("/audit/file-report", {
|
|
||||||
...opts
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
export function getFileChecksums({ fileChecksumDto }: {
|
|
||||||
fileChecksumDto: FileChecksumDto;
|
|
||||||
}, opts?: Oazapfts.RequestOpts) {
|
|
||||||
return oazapfts.ok(oazapfts.fetchJson<{
|
|
||||||
status: 201;
|
|
||||||
data: FileChecksumResponseDto[];
|
|
||||||
}>("/audit/file-report/checksum", oazapfts.json({
|
|
||||||
...opts,
|
|
||||||
method: "POST",
|
|
||||||
body: fileChecksumDto
|
|
||||||
})));
|
|
||||||
}
|
|
||||||
export function fixAuditFiles({ fileReportFixDto }: {
|
|
||||||
fileReportFixDto: FileReportFixDto;
|
|
||||||
}, opts?: Oazapfts.RequestOpts) {
|
|
||||||
return oazapfts.ok(oazapfts.fetchText("/audit/file-report/fix", oazapfts.json({
|
|
||||||
...opts,
|
|
||||||
method: "POST",
|
|
||||||
body: fileReportFixDto
|
|
||||||
})));
|
|
||||||
}
|
|
||||||
export function signUpAdmin({ signUpDto }: {
|
export function signUpAdmin({ signUpDto }: {
|
||||||
signUpDto: SignUpDto;
|
signUpDto: SignUpDto;
|
||||||
}, opts?: Oazapfts.RequestOpts) {
|
}, opts?: Oazapfts.RequestOpts) {
|
||||||
|
|
@ -2206,6 +2177,35 @@ export function getPersonThumbnail({ id }: {
|
||||||
...opts
|
...opts
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
export function getAuditFiles(opts?: Oazapfts.RequestOpts) {
|
||||||
|
return oazapfts.ok(oazapfts.fetchJson<{
|
||||||
|
status: 200;
|
||||||
|
data: FileReportDto;
|
||||||
|
}>("/report", {
|
||||||
|
...opts
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
export function getFileChecksums({ fileChecksumDto }: {
|
||||||
|
fileChecksumDto: FileChecksumDto;
|
||||||
|
}, opts?: Oazapfts.RequestOpts) {
|
||||||
|
return oazapfts.ok(oazapfts.fetchJson<{
|
||||||
|
status: 201;
|
||||||
|
data: FileChecksumResponseDto[];
|
||||||
|
}>("/report/checksum", oazapfts.json({
|
||||||
|
...opts,
|
||||||
|
method: "POST",
|
||||||
|
body: fileChecksumDto
|
||||||
|
})));
|
||||||
|
}
|
||||||
|
export function fixAuditFiles({ fileReportFixDto }: {
|
||||||
|
fileReportFixDto: FileReportFixDto;
|
||||||
|
}, opts?: Oazapfts.RequestOpts) {
|
||||||
|
return oazapfts.ok(oazapfts.fetchText("/report/fix", oazapfts.json({
|
||||||
|
...opts,
|
||||||
|
method: "POST",
|
||||||
|
body: fileReportFixDto
|
||||||
|
})));
|
||||||
|
}
|
||||||
export function search({ clip, motion, page, q, query, recent, size, smart, $type, withArchived }: {
|
export function search({ clip, motion, page, q, query, recent, size, smart, $type, withArchived }: {
|
||||||
clip?: boolean;
|
clip?: boolean;
|
||||||
motion?: boolean;
|
motion?: boolean;
|
||||||
|
|
@ -2948,20 +2948,6 @@ export enum EntityType {
|
||||||
Asset = "ASSET",
|
Asset = "ASSET",
|
||||||
Album = "ALBUM"
|
Album = "ALBUM"
|
||||||
}
|
}
|
||||||
export enum PathEntityType {
|
|
||||||
Asset = "asset",
|
|
||||||
Person = "person",
|
|
||||||
User = "user"
|
|
||||||
}
|
|
||||||
export enum PathType {
|
|
||||||
Original = "original",
|
|
||||||
Preview = "preview",
|
|
||||||
Thumbnail = "thumbnail",
|
|
||||||
EncodedVideo = "encoded_video",
|
|
||||||
Sidecar = "sidecar",
|
|
||||||
Face = "face",
|
|
||||||
Profile = "profile"
|
|
||||||
}
|
|
||||||
export enum JobName {
|
export enum JobName {
|
||||||
ThumbnailGeneration = "thumbnailGeneration",
|
ThumbnailGeneration = "thumbnailGeneration",
|
||||||
MetadataExtraction = "metadataExtraction",
|
MetadataExtraction = "metadataExtraction",
|
||||||
|
|
@ -2993,6 +2979,20 @@ export enum Type2 {
|
||||||
export enum MemoryType {
|
export enum MemoryType {
|
||||||
OnThisDay = "on_this_day"
|
OnThisDay = "on_this_day"
|
||||||
}
|
}
|
||||||
|
export enum PathEntityType {
|
||||||
|
Asset = "asset",
|
||||||
|
Person = "person",
|
||||||
|
User = "user"
|
||||||
|
}
|
||||||
|
export enum PathType {
|
||||||
|
Original = "original",
|
||||||
|
Preview = "preview",
|
||||||
|
Thumbnail = "thumbnail",
|
||||||
|
EncodedVideo = "encoded_video",
|
||||||
|
Sidecar = "sidecar",
|
||||||
|
Face = "face",
|
||||||
|
Profile = "profile"
|
||||||
|
}
|
||||||
export enum SearchSuggestionType {
|
export enum SearchSuggestionType {
|
||||||
Country = "country",
|
Country = "country",
|
||||||
State = "state",
|
State = "state",
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,8 @@
|
||||||
import { Body, Controller, Get, Post, Query } from '@nestjs/common';
|
import { Controller, Get, Query } from '@nestjs/common';
|
||||||
import { ApiTags } from '@nestjs/swagger';
|
import { ApiTags } from '@nestjs/swagger';
|
||||||
import {
|
import { AuditDeletesDto, AuditDeletesResponseDto } from 'src/dtos/audit.dto';
|
||||||
AuditDeletesDto,
|
|
||||||
AuditDeletesResponseDto,
|
|
||||||
FileChecksumDto,
|
|
||||||
FileChecksumResponseDto,
|
|
||||||
FileReportDto,
|
|
||||||
FileReportFixDto,
|
|
||||||
} from 'src/dtos/audit.dto';
|
|
||||||
import { AuthDto } from 'src/dtos/auth.dto';
|
import { AuthDto } from 'src/dtos/auth.dto';
|
||||||
import { AdminRoute, Auth, Authenticated } from 'src/middleware/auth.guard';
|
import { Auth, Authenticated } from 'src/middleware/auth.guard';
|
||||||
import { AuditService } from 'src/services/audit.service';
|
import { AuditService } from 'src/services/audit.service';
|
||||||
|
|
||||||
@ApiTags('Audit')
|
@ApiTags('Audit')
|
||||||
|
|
@ -22,22 +15,4 @@ export class AuditController {
|
||||||
getAuditDeletes(@Auth() auth: AuthDto, @Query() dto: AuditDeletesDto): Promise<AuditDeletesResponseDto> {
|
getAuditDeletes(@Auth() auth: AuthDto, @Query() dto: AuditDeletesDto): Promise<AuditDeletesResponseDto> {
|
||||||
return this.service.getDeletes(auth, dto);
|
return this.service.getDeletes(auth, dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
@AdminRoute()
|
|
||||||
@Get('file-report')
|
|
||||||
getAuditFiles(): Promise<FileReportDto> {
|
|
||||||
return this.service.getFileReport();
|
|
||||||
}
|
|
||||||
|
|
||||||
@AdminRoute()
|
|
||||||
@Post('file-report/checksum')
|
|
||||||
getFileChecksums(@Body() dto: FileChecksumDto): Promise<FileChecksumResponseDto[]> {
|
|
||||||
return this.service.getChecksums(dto);
|
|
||||||
}
|
|
||||||
|
|
||||||
@AdminRoute()
|
|
||||||
@Post('file-report/fix')
|
|
||||||
fixAuditFiles(@Body() dto: FileReportFixDto): Promise<void> {
|
|
||||||
return this.service.fixItems(dto.items);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
30
server/src/controllers/file-report.controller.ts
Normal file
30
server/src/controllers/file-report.controller.ts
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
import { Body, Controller, Get, Post } from '@nestjs/common';
|
||||||
|
import { ApiTags } from '@nestjs/swagger';
|
||||||
|
import { FileChecksumDto, FileChecksumResponseDto, FileReportDto, FileReportFixDto } from 'src/dtos/audit.dto';
|
||||||
|
import { AdminRoute, Authenticated } from 'src/middleware/auth.guard';
|
||||||
|
import { AuditService } from 'src/services/audit.service';
|
||||||
|
|
||||||
|
@ApiTags('File Report')
|
||||||
|
@Controller('report')
|
||||||
|
@Authenticated()
|
||||||
|
export class ReportController {
|
||||||
|
constructor(private service: AuditService) {}
|
||||||
|
|
||||||
|
@AdminRoute()
|
||||||
|
@Get()
|
||||||
|
getAuditFiles(): Promise<FileReportDto> {
|
||||||
|
return this.service.getFileReport();
|
||||||
|
}
|
||||||
|
|
||||||
|
@AdminRoute()
|
||||||
|
@Post('/checksum')
|
||||||
|
getFileChecksums(@Body() dto: FileChecksumDto): Promise<FileChecksumResponseDto[]> {
|
||||||
|
return this.service.getChecksums(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@AdminRoute()
|
||||||
|
@Post('/fix')
|
||||||
|
fixAuditFiles(@Body() dto: FileReportFixDto): Promise<void> {
|
||||||
|
return this.service.fixItems(dto.items);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ import { AuditController } from 'src/controllers/audit.controller';
|
||||||
import { AuthController } from 'src/controllers/auth.controller';
|
import { AuthController } from 'src/controllers/auth.controller';
|
||||||
import { DownloadController } from 'src/controllers/download.controller';
|
import { DownloadController } from 'src/controllers/download.controller';
|
||||||
import { FaceController } from 'src/controllers/face.controller';
|
import { FaceController } from 'src/controllers/face.controller';
|
||||||
|
import { ReportController } from 'src/controllers/file-report.controller';
|
||||||
import { JobController } from 'src/controllers/job.controller';
|
import { JobController } from 'src/controllers/job.controller';
|
||||||
import { LibraryController } from 'src/controllers/library.controller';
|
import { LibraryController } from 'src/controllers/library.controller';
|
||||||
import { MemoryController } from 'src/controllers/memory.controller';
|
import { MemoryController } from 'src/controllers/memory.controller';
|
||||||
|
|
@ -26,13 +27,13 @@ import { TrashController } from 'src/controllers/trash.controller';
|
||||||
import { UserController } from 'src/controllers/user.controller';
|
import { UserController } from 'src/controllers/user.controller';
|
||||||
|
|
||||||
export const controllers = [
|
export const controllers = [
|
||||||
ActivityController,
|
|
||||||
AssetsController,
|
|
||||||
AssetControllerV1,
|
|
||||||
AssetController,
|
|
||||||
AppController,
|
|
||||||
AlbumController,
|
|
||||||
APIKeyController,
|
APIKeyController,
|
||||||
|
ActivityController,
|
||||||
|
AlbumController,
|
||||||
|
AppController,
|
||||||
|
AssetController,
|
||||||
|
AssetControllerV1,
|
||||||
|
AssetsController,
|
||||||
AuditController,
|
AuditController,
|
||||||
AuthController,
|
AuthController,
|
||||||
DownloadController,
|
DownloadController,
|
||||||
|
|
@ -42,6 +43,8 @@ export const controllers = [
|
||||||
MemoryController,
|
MemoryController,
|
||||||
OAuthController,
|
OAuthController,
|
||||||
PartnerController,
|
PartnerController,
|
||||||
|
PersonController,
|
||||||
|
ReportController,
|
||||||
SearchController,
|
SearchController,
|
||||||
ServerInfoController,
|
ServerInfoController,
|
||||||
SessionController,
|
SessionController,
|
||||||
|
|
@ -52,5 +55,4 @@ export const controllers = [
|
||||||
TimelineController,
|
TimelineController,
|
||||||
TrashController,
|
TrashController,
|
||||||
UserController,
|
UserController,
|
||||||
PersonController,
|
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue