@lenne.tech/nest-server 11.7.3 → 11.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.env.js +3 -0
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +35 -0
- package/dist/core/modules/auth/guards/roles.guard.js +4 -3
- package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
- package/dist/core/modules/auth/services/core-auth.service.js +5 -4
- package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
- package/dist/core/modules/error-code/core-error-code.controller.d.ts +7 -0
- package/dist/core/modules/error-code/core-error-code.controller.js +45 -0
- package/dist/core/modules/error-code/core-error-code.controller.js.map +1 -0
- package/dist/core/modules/error-code/core-error-code.service.d.ts +16 -0
- package/dist/core/modules/error-code/core-error-code.service.js +65 -0
- package/dist/core/modules/error-code/core-error-code.service.js.map +1 -0
- package/dist/core/modules/error-code/error-code.module.d.ts +7 -0
- package/dist/core/modules/error-code/error-code.module.js +64 -0
- package/dist/core/modules/error-code/error-code.module.js.map +1 -0
- package/dist/core/modules/error-code/error-codes.d.ts +219 -0
- package/dist/core/modules/error-code/error-codes.js +204 -0
- package/dist/core/modules/error-code/error-codes.js.map +1 -0
- package/dist/core/modules/error-code/index.d.ts +5 -0
- package/dist/core/modules/error-code/index.js +22 -0
- package/dist/core/modules/error-code/index.js.map +1 -0
- package/dist/core/modules/error-code/interfaces/error-code.interfaces.d.ts +12 -0
- package/dist/core/modules/error-code/interfaces/error-code.interfaces.js +3 -0
- package/dist/core/modules/error-code/interfaces/error-code.interfaces.js.map +1 -0
- package/dist/core/modules/file/core-file.controller.d.ts +1 -0
- package/dist/core/modules/file/core-file.controller.js +22 -0
- package/dist/core/modules/file/core-file.controller.js.map +1 -1
- package/dist/core/modules/tus/core-tus.controller.d.ts +9 -0
- package/dist/core/modules/tus/core-tus.controller.js +85 -0
- package/dist/core/modules/tus/core-tus.controller.js.map +1 -0
- package/dist/core/modules/tus/core-tus.service.d.ts +30 -0
- package/dist/core/modules/tus/core-tus.service.js +284 -0
- package/dist/core/modules/tus/core-tus.service.js.map +1 -0
- package/dist/core/modules/tus/index.d.ts +4 -0
- package/dist/core/modules/tus/index.js +21 -0
- package/dist/core/modules/tus/index.js.map +1 -0
- package/dist/core/modules/tus/interfaces/tus-config.interface.d.ts +10 -0
- package/dist/core/modules/tus/interfaces/tus-config.interface.js +59 -0
- package/dist/core/modules/tus/interfaces/tus-config.interface.js.map +1 -0
- package/dist/core/modules/tus/tus.module.d.ts +21 -0
- package/dist/core/modules/tus/tus.module.js +99 -0
- package/dist/core/modules/tus/tus.module.js.map +1 -0
- package/dist/core.module.js +8 -0
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/server/modules/error-code/error-code.controller.d.ts +8 -0
- package/dist/server/modules/error-code/error-code.controller.js +55 -0
- package/dist/server/modules/error-code/error-code.controller.js.map +1 -0
- package/dist/server/modules/error-code/error-code.service.d.ts +4 -0
- package/dist/server/modules/error-code/error-code.service.js +27 -0
- package/dist/server/modules/error-code/error-code.service.js.map +1 -0
- package/dist/server/modules/error-code/error-codes.d.ts +45 -0
- package/dist/server/modules/error-code/error-codes.js +24 -0
- package/dist/server/modules/error-code/error-codes.js.map +1 -0
- package/dist/server/modules/error-code/index.d.ts +3 -0
- package/dist/server/modules/error-code/index.js +20 -0
- package/dist/server/modules/error-code/index.js.map +1 -0
- package/dist/server/modules/file/file.controller.d.ts +5 -7
- package/dist/server/modules/file/file.controller.js +3 -31
- package/dist/server/modules/file/file.controller.js.map +1 -1
- package/dist/server/server.module.js +10 -1
- package/dist/server/server.module.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -2
- package/src/config.env.ts +4 -0
- package/src/core/common/interfaces/server-options.interface.ts +243 -0
- package/src/core/modules/auth/guards/roles.guard.ts +5 -4
- package/src/core/modules/auth/services/core-auth.service.ts +5 -4
- package/src/core/modules/error-code/INTEGRATION-CHECKLIST.md +288 -0
- package/src/core/modules/error-code/core-error-code.controller.ts +54 -0
- package/src/core/modules/error-code/core-error-code.service.ts +135 -0
- package/src/core/modules/error-code/error-code.module.ts +119 -0
- package/src/core/modules/error-code/error-codes.ts +405 -0
- package/src/core/modules/error-code/index.ts +14 -0
- package/src/core/modules/error-code/interfaces/error-code.interfaces.ts +99 -0
- package/src/core/modules/file/README.md +165 -0
- package/src/core/modules/file/core-file.controller.ts +27 -1
- package/src/core/modules/tus/INTEGRATION-CHECKLIST.md +176 -0
- package/src/core/modules/tus/README.md +439 -0
- package/src/core/modules/tus/core-tus.controller.ts +88 -0
- package/src/core/modules/tus/core-tus.service.ts +424 -0
- package/src/core/modules/tus/index.ts +5 -0
- package/src/core/modules/tus/interfaces/tus-config.interface.ts +107 -0
- package/src/core/modules/tus/tus.module.ts +187 -0
- package/src/core.module.ts +16 -0
- package/src/index.ts +12 -0
- package/src/server/modules/error-code/README.md +131 -0
- package/src/server/modules/error-code/error-code.controller.ts +91 -0
- package/src/server/modules/error-code/error-code.service.ts +42 -0
- package/src/server/modules/error-code/error-codes.ts +65 -0
- package/src/server/modules/error-code/index.ts +8 -0
- package/src/server/modules/file/file.controller.ts +14 -34
- package/src/server/server.module.ts +15 -1
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
export interface IErrorDefinition {
|
|
2
|
+
code: string;
|
|
3
|
+
message: string;
|
|
4
|
+
translations: {
|
|
5
|
+
[locale: string]: string;
|
|
6
|
+
de: string;
|
|
7
|
+
en: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export type IErrorRegistry = Record<string, IErrorDefinition>;
|
|
11
|
+
export declare const LtnsErrors: {
|
|
12
|
+
readonly USER_NOT_FOUND: {
|
|
13
|
+
readonly code: "LTNS_0001";
|
|
14
|
+
readonly message: "User not found";
|
|
15
|
+
readonly translations: {
|
|
16
|
+
readonly de: "Benutzer wurde nicht gefunden.";
|
|
17
|
+
readonly en: "User not found.";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
readonly INVALID_PASSWORD: {
|
|
21
|
+
readonly code: "LTNS_0002";
|
|
22
|
+
readonly message: "Invalid password";
|
|
23
|
+
readonly translations: {
|
|
24
|
+
readonly de: "Das eingegebene Passwort ist ungültig.";
|
|
25
|
+
readonly en: "The provided password is invalid.";
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
readonly INVALID_TOKEN: {
|
|
29
|
+
readonly code: "LTNS_0003";
|
|
30
|
+
readonly message: "Invalid or malformed token";
|
|
31
|
+
readonly translations: {
|
|
32
|
+
readonly de: "Der Token ist ungültig oder fehlerhaft.";
|
|
33
|
+
readonly en: "The token is invalid or malformed.";
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
readonly TOKEN_EXPIRED: {
|
|
37
|
+
readonly code: "LTNS_0004";
|
|
38
|
+
readonly message: "Token has expired";
|
|
39
|
+
readonly translations: {
|
|
40
|
+
readonly de: "Der Token ist abgelaufen. Bitte melden Sie sich erneut an.";
|
|
41
|
+
readonly en: "The token has expired. Please sign in again.";
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
readonly REFRESH_TOKEN_REQUIRED: {
|
|
45
|
+
readonly code: "LTNS_0005";
|
|
46
|
+
readonly message: "Refresh token required";
|
|
47
|
+
readonly translations: {
|
|
48
|
+
readonly de: "Ein Refresh-Token wird benötigt.";
|
|
49
|
+
readonly en: "A refresh token is required.";
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
readonly USER_NOT_VERIFIED: {
|
|
53
|
+
readonly code: "LTNS_0006";
|
|
54
|
+
readonly message: "User email not verified";
|
|
55
|
+
readonly translations: {
|
|
56
|
+
readonly de: "Ihre E-Mail-Adresse wurde noch nicht verifiziert.";
|
|
57
|
+
readonly en: "Your email address has not been verified yet.";
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
readonly UNAUTHORIZED: {
|
|
61
|
+
readonly code: "LTNS_0100";
|
|
62
|
+
readonly message: "Unauthorized - User is not logged in";
|
|
63
|
+
readonly translations: {
|
|
64
|
+
readonly de: "Sie sind nicht angemeldet.";
|
|
65
|
+
readonly en: "You are not logged in.";
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
readonly ACCESS_DENIED: {
|
|
69
|
+
readonly code: "LTNS_0101";
|
|
70
|
+
readonly message: "Access denied - Insufficient permissions";
|
|
71
|
+
readonly translations: {
|
|
72
|
+
readonly de: "Zugriff verweigert. Sie haben nicht die erforderlichen Berechtigungen.";
|
|
73
|
+
readonly en: "Access denied. You do not have the required permissions.";
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
readonly RESOURCE_FORBIDDEN: {
|
|
77
|
+
readonly code: "LTNS_0102";
|
|
78
|
+
readonly message: "Resource access forbidden";
|
|
79
|
+
readonly translations: {
|
|
80
|
+
readonly de: "Der Zugriff auf diese Ressource ist nicht erlaubt.";
|
|
81
|
+
readonly en: "Access to this resource is forbidden.";
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
readonly EMAIL_ALREADY_EXISTS: {
|
|
85
|
+
readonly code: "LTNS_0200";
|
|
86
|
+
readonly message: "Email already registered";
|
|
87
|
+
readonly translations: {
|
|
88
|
+
readonly de: "Diese E-Mail-Adresse ist bereits registriert.";
|
|
89
|
+
readonly en: "This email address is already registered.";
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
readonly USERNAME_ALREADY_EXISTS: {
|
|
93
|
+
readonly code: "LTNS_0201";
|
|
94
|
+
readonly message: "Username already taken";
|
|
95
|
+
readonly translations: {
|
|
96
|
+
readonly de: "Dieser Benutzername ist bereits vergeben.";
|
|
97
|
+
readonly en: "This username is already taken.";
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
readonly VALIDATION_FAILED: {
|
|
101
|
+
readonly code: "LTNS_0300";
|
|
102
|
+
readonly message: "Validation failed";
|
|
103
|
+
readonly translations: {
|
|
104
|
+
readonly de: "Die Validierung ist fehlgeschlagen.";
|
|
105
|
+
readonly en: "Validation failed.";
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
readonly REQUIRED_FIELD_MISSING: {
|
|
109
|
+
readonly code: "LTNS_0301";
|
|
110
|
+
readonly message: "Required field missing";
|
|
111
|
+
readonly translations: {
|
|
112
|
+
readonly de: "Ein erforderliches Feld fehlt.";
|
|
113
|
+
readonly en: "A required field is missing.";
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
readonly INVALID_FIELD_FORMAT: {
|
|
117
|
+
readonly code: "LTNS_0302";
|
|
118
|
+
readonly message: "Invalid field format";
|
|
119
|
+
readonly translations: {
|
|
120
|
+
readonly de: "Das Feldformat ist ungültig.";
|
|
121
|
+
readonly en: "The field format is invalid.";
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
readonly RESOURCE_NOT_FOUND: {
|
|
125
|
+
readonly code: "LTNS_0400";
|
|
126
|
+
readonly message: "Resource not found";
|
|
127
|
+
readonly translations: {
|
|
128
|
+
readonly de: "Die angeforderte Ressource wurde nicht gefunden.";
|
|
129
|
+
readonly en: "The requested resource was not found.";
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
readonly RESOURCE_ALREADY_EXISTS: {
|
|
133
|
+
readonly code: "LTNS_0401";
|
|
134
|
+
readonly message: "Resource already exists";
|
|
135
|
+
readonly translations: {
|
|
136
|
+
readonly de: "Diese Ressource existiert bereits.";
|
|
137
|
+
readonly en: "This resource already exists.";
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
readonly FILE_NOT_FOUND: {
|
|
141
|
+
readonly code: "LTNS_0500";
|
|
142
|
+
readonly message: "File not found";
|
|
143
|
+
readonly translations: {
|
|
144
|
+
readonly de: "Die Datei wurde nicht gefunden.";
|
|
145
|
+
readonly en: "The file was not found.";
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
readonly FILE_UPLOAD_FAILED: {
|
|
149
|
+
readonly code: "LTNS_0501";
|
|
150
|
+
readonly message: "File upload failed";
|
|
151
|
+
readonly translations: {
|
|
152
|
+
readonly de: "Der Datei-Upload ist fehlgeschlagen.";
|
|
153
|
+
readonly en: "The file upload failed.";
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
readonly FILE_TYPE_NOT_ALLOWED: {
|
|
157
|
+
readonly code: "LTNS_0502";
|
|
158
|
+
readonly message: "File type not allowed";
|
|
159
|
+
readonly translations: {
|
|
160
|
+
readonly de: "Dieser Dateityp ist nicht erlaubt.";
|
|
161
|
+
readonly en: "This file type is not allowed.";
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
readonly INTERNAL_ERROR: {
|
|
165
|
+
readonly code: "LTNS_0900";
|
|
166
|
+
readonly message: "Internal server error";
|
|
167
|
+
readonly translations: {
|
|
168
|
+
readonly de: "Ein interner Serverfehler ist aufgetreten.";
|
|
169
|
+
readonly en: "An internal server error occurred.";
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
readonly SERVICE_UNAVAILABLE: {
|
|
173
|
+
readonly code: "LTNS_0901";
|
|
174
|
+
readonly message: "Service temporarily unavailable";
|
|
175
|
+
readonly translations: {
|
|
176
|
+
readonly de: "Der Dienst ist vorübergehend nicht verfügbar.";
|
|
177
|
+
readonly en: "The service is temporarily unavailable.";
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
readonly LEGACY_AUTH_DISABLED: {
|
|
181
|
+
readonly code: "LTNS_0902";
|
|
182
|
+
readonly message: "Legacy authentication is disabled";
|
|
183
|
+
readonly translations: {
|
|
184
|
+
readonly de: "Die Legacy-Authentifizierung ist deaktiviert. Bitte nutzen Sie die neue Authentifizierung.";
|
|
185
|
+
readonly en: "Legacy authentication is disabled. Please use the new authentication.";
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
export declare const ErrorCode: {
|
|
190
|
+
readonly USER_NOT_FOUND: string;
|
|
191
|
+
readonly INVALID_PASSWORD: string;
|
|
192
|
+
readonly INVALID_TOKEN: string;
|
|
193
|
+
readonly TOKEN_EXPIRED: string;
|
|
194
|
+
readonly REFRESH_TOKEN_REQUIRED: string;
|
|
195
|
+
readonly USER_NOT_VERIFIED: string;
|
|
196
|
+
readonly UNAUTHORIZED: string;
|
|
197
|
+
readonly ACCESS_DENIED: string;
|
|
198
|
+
readonly RESOURCE_FORBIDDEN: string;
|
|
199
|
+
readonly EMAIL_ALREADY_EXISTS: string;
|
|
200
|
+
readonly USERNAME_ALREADY_EXISTS: string;
|
|
201
|
+
readonly VALIDATION_FAILED: string;
|
|
202
|
+
readonly REQUIRED_FIELD_MISSING: string;
|
|
203
|
+
readonly INVALID_FIELD_FORMAT: string;
|
|
204
|
+
readonly RESOURCE_NOT_FOUND: string;
|
|
205
|
+
readonly RESOURCE_ALREADY_EXISTS: string;
|
|
206
|
+
readonly FILE_NOT_FOUND: string;
|
|
207
|
+
readonly FILE_UPLOAD_FAILED: string;
|
|
208
|
+
readonly FILE_TYPE_NOT_ALLOWED: string;
|
|
209
|
+
readonly INTERNAL_ERROR: string;
|
|
210
|
+
readonly SERVICE_UNAVAILABLE: string;
|
|
211
|
+
readonly LEGACY_AUTH_DISABLED: string;
|
|
212
|
+
};
|
|
213
|
+
export type ErrorCodeKey = keyof typeof ErrorCode;
|
|
214
|
+
export type ErrorCodeType = (typeof ErrorCode)[keyof typeof ErrorCode];
|
|
215
|
+
export type RawErrorCode = (typeof LtnsErrors)[keyof typeof LtnsErrors]['code'];
|
|
216
|
+
export declare function getAllErrorDefinitions(): typeof LtnsErrors;
|
|
217
|
+
export declare function mergeErrorCodes<T extends IErrorRegistry>(projectErrors: T): {
|
|
218
|
+
[K in keyof T | keyof typeof LtnsErrors]: string;
|
|
219
|
+
};
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorCode = exports.LtnsErrors = void 0;
|
|
4
|
+
exports.getAllErrorDefinitions = getAllErrorDefinitions;
|
|
5
|
+
exports.mergeErrorCodes = mergeErrorCodes;
|
|
6
|
+
exports.LtnsErrors = {
|
|
7
|
+
USER_NOT_FOUND: {
|
|
8
|
+
code: 'LTNS_0001',
|
|
9
|
+
message: 'User not found',
|
|
10
|
+
translations: {
|
|
11
|
+
de: 'Benutzer wurde nicht gefunden.',
|
|
12
|
+
en: 'User not found.',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
INVALID_PASSWORD: {
|
|
16
|
+
code: 'LTNS_0002',
|
|
17
|
+
message: 'Invalid password',
|
|
18
|
+
translations: {
|
|
19
|
+
de: 'Das eingegebene Passwort ist ungültig.',
|
|
20
|
+
en: 'The provided password is invalid.',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
INVALID_TOKEN: {
|
|
24
|
+
code: 'LTNS_0003',
|
|
25
|
+
message: 'Invalid or malformed token',
|
|
26
|
+
translations: {
|
|
27
|
+
de: 'Der Token ist ungültig oder fehlerhaft.',
|
|
28
|
+
en: 'The token is invalid or malformed.',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
TOKEN_EXPIRED: {
|
|
32
|
+
code: 'LTNS_0004',
|
|
33
|
+
message: 'Token has expired',
|
|
34
|
+
translations: {
|
|
35
|
+
de: 'Der Token ist abgelaufen. Bitte melden Sie sich erneut an.',
|
|
36
|
+
en: 'The token has expired. Please sign in again.',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
REFRESH_TOKEN_REQUIRED: {
|
|
40
|
+
code: 'LTNS_0005',
|
|
41
|
+
message: 'Refresh token required',
|
|
42
|
+
translations: {
|
|
43
|
+
de: 'Ein Refresh-Token wird benötigt.',
|
|
44
|
+
en: 'A refresh token is required.',
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
USER_NOT_VERIFIED: {
|
|
48
|
+
code: 'LTNS_0006',
|
|
49
|
+
message: 'User email not verified',
|
|
50
|
+
translations: {
|
|
51
|
+
de: 'Ihre E-Mail-Adresse wurde noch nicht verifiziert.',
|
|
52
|
+
en: 'Your email address has not been verified yet.',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
UNAUTHORIZED: {
|
|
56
|
+
code: 'LTNS_0100',
|
|
57
|
+
message: 'Unauthorized - User is not logged in',
|
|
58
|
+
translations: {
|
|
59
|
+
de: 'Sie sind nicht angemeldet.',
|
|
60
|
+
en: 'You are not logged in.',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
ACCESS_DENIED: {
|
|
64
|
+
code: 'LTNS_0101',
|
|
65
|
+
message: 'Access denied - Insufficient permissions',
|
|
66
|
+
translations: {
|
|
67
|
+
de: 'Zugriff verweigert. Sie haben nicht die erforderlichen Berechtigungen.',
|
|
68
|
+
en: 'Access denied. You do not have the required permissions.',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
RESOURCE_FORBIDDEN: {
|
|
72
|
+
code: 'LTNS_0102',
|
|
73
|
+
message: 'Resource access forbidden',
|
|
74
|
+
translations: {
|
|
75
|
+
de: 'Der Zugriff auf diese Ressource ist nicht erlaubt.',
|
|
76
|
+
en: 'Access to this resource is forbidden.',
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
EMAIL_ALREADY_EXISTS: {
|
|
80
|
+
code: 'LTNS_0200',
|
|
81
|
+
message: 'Email already registered',
|
|
82
|
+
translations: {
|
|
83
|
+
de: 'Diese E-Mail-Adresse ist bereits registriert.',
|
|
84
|
+
en: 'This email address is already registered.',
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
USERNAME_ALREADY_EXISTS: {
|
|
88
|
+
code: 'LTNS_0201',
|
|
89
|
+
message: 'Username already taken',
|
|
90
|
+
translations: {
|
|
91
|
+
de: 'Dieser Benutzername ist bereits vergeben.',
|
|
92
|
+
en: 'This username is already taken.',
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
VALIDATION_FAILED: {
|
|
96
|
+
code: 'LTNS_0300',
|
|
97
|
+
message: 'Validation failed',
|
|
98
|
+
translations: {
|
|
99
|
+
de: 'Die Validierung ist fehlgeschlagen.',
|
|
100
|
+
en: 'Validation failed.',
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
REQUIRED_FIELD_MISSING: {
|
|
104
|
+
code: 'LTNS_0301',
|
|
105
|
+
message: 'Required field missing',
|
|
106
|
+
translations: {
|
|
107
|
+
de: 'Ein erforderliches Feld fehlt.',
|
|
108
|
+
en: 'A required field is missing.',
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
INVALID_FIELD_FORMAT: {
|
|
112
|
+
code: 'LTNS_0302',
|
|
113
|
+
message: 'Invalid field format',
|
|
114
|
+
translations: {
|
|
115
|
+
de: 'Das Feldformat ist ungültig.',
|
|
116
|
+
en: 'The field format is invalid.',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
RESOURCE_NOT_FOUND: {
|
|
120
|
+
code: 'LTNS_0400',
|
|
121
|
+
message: 'Resource not found',
|
|
122
|
+
translations: {
|
|
123
|
+
de: 'Die angeforderte Ressource wurde nicht gefunden.',
|
|
124
|
+
en: 'The requested resource was not found.',
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
RESOURCE_ALREADY_EXISTS: {
|
|
128
|
+
code: 'LTNS_0401',
|
|
129
|
+
message: 'Resource already exists',
|
|
130
|
+
translations: {
|
|
131
|
+
de: 'Diese Ressource existiert bereits.',
|
|
132
|
+
en: 'This resource already exists.',
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
FILE_NOT_FOUND: {
|
|
136
|
+
code: 'LTNS_0500',
|
|
137
|
+
message: 'File not found',
|
|
138
|
+
translations: {
|
|
139
|
+
de: 'Die Datei wurde nicht gefunden.',
|
|
140
|
+
en: 'The file was not found.',
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
FILE_UPLOAD_FAILED: {
|
|
144
|
+
code: 'LTNS_0501',
|
|
145
|
+
message: 'File upload failed',
|
|
146
|
+
translations: {
|
|
147
|
+
de: 'Der Datei-Upload ist fehlgeschlagen.',
|
|
148
|
+
en: 'The file upload failed.',
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
FILE_TYPE_NOT_ALLOWED: {
|
|
152
|
+
code: 'LTNS_0502',
|
|
153
|
+
message: 'File type not allowed',
|
|
154
|
+
translations: {
|
|
155
|
+
de: 'Dieser Dateityp ist nicht erlaubt.',
|
|
156
|
+
en: 'This file type is not allowed.',
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
INTERNAL_ERROR: {
|
|
160
|
+
code: 'LTNS_0900',
|
|
161
|
+
message: 'Internal server error',
|
|
162
|
+
translations: {
|
|
163
|
+
de: 'Ein interner Serverfehler ist aufgetreten.',
|
|
164
|
+
en: 'An internal server error occurred.',
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
SERVICE_UNAVAILABLE: {
|
|
168
|
+
code: 'LTNS_0901',
|
|
169
|
+
message: 'Service temporarily unavailable',
|
|
170
|
+
translations: {
|
|
171
|
+
de: 'Der Dienst ist vorübergehend nicht verfügbar.',
|
|
172
|
+
en: 'The service is temporarily unavailable.',
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
LEGACY_AUTH_DISABLED: {
|
|
176
|
+
code: 'LTNS_0902',
|
|
177
|
+
message: 'Legacy authentication is disabled',
|
|
178
|
+
translations: {
|
|
179
|
+
de: 'Die Legacy-Authentifizierung ist deaktiviert. Bitte nutzen Sie die neue Authentifizierung.',
|
|
180
|
+
en: 'Legacy authentication is disabled. Please use the new authentication.',
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
function formatErrorMessage(def) {
|
|
185
|
+
return `#${def.code}: ${def.message}`;
|
|
186
|
+
}
|
|
187
|
+
function generateErrorCodes(registry) {
|
|
188
|
+
const result = {};
|
|
189
|
+
for (const key of Object.keys(registry)) {
|
|
190
|
+
result[key] = formatErrorMessage(registry[key]);
|
|
191
|
+
}
|
|
192
|
+
return result;
|
|
193
|
+
}
|
|
194
|
+
exports.ErrorCode = generateErrorCodes(exports.LtnsErrors);
|
|
195
|
+
function getAllErrorDefinitions() {
|
|
196
|
+
return exports.LtnsErrors;
|
|
197
|
+
}
|
|
198
|
+
function mergeErrorCodes(projectErrors) {
|
|
199
|
+
return {
|
|
200
|
+
...exports.ErrorCode,
|
|
201
|
+
...generateErrorCodes(projectErrors),
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=error-codes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../../src/core/modules/error-code/error-codes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./core-error-code.controller"), exports);
|
|
18
|
+
__exportStar(require("./core-error-code.service"), exports);
|
|
19
|
+
__exportStar(require("./error-code.module"), exports);
|
|
20
|
+
__exportStar(require("./error-codes"), exports);
|
|
21
|
+
__exportStar(require("./interfaces/error-code.interfaces"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/modules/error-code/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+DAA6C;AAG7C,4DAA0C;AAG1C,sDAAoC;AAGpC,gDAA8B;AAG9B,qEAAmD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { CoreErrorCodeService } from '../core-error-code.service';
|
|
3
|
+
import { IErrorRegistry } from '../error-codes';
|
|
4
|
+
export interface IErrorCodeModuleConfig {
|
|
5
|
+
additionalErrorRegistry?: IErrorRegistry;
|
|
6
|
+
controller?: Type<any>;
|
|
7
|
+
service?: Type<CoreErrorCodeService>;
|
|
8
|
+
}
|
|
9
|
+
export interface IErrorTranslationResponse {
|
|
10
|
+
errors: Record<string, string>;
|
|
11
|
+
}
|
|
12
|
+
export type SupportedLocale = 'de' | 'en';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-code.interfaces.js","sourceRoot":"","sources":["../../../../../src/core/modules/error-code/interfaces/error-code.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -3,5 +3,6 @@ import { CoreFileService } from './core-file.service';
|
|
|
3
3
|
export declare abstract class CoreFileController {
|
|
4
4
|
protected fileService: CoreFileService;
|
|
5
5
|
protected constructor(fileService: CoreFileService);
|
|
6
|
+
getFileById(id: string, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
6
7
|
getFile(filename: string, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
7
8
|
}
|
|
@@ -21,6 +21,19 @@ let CoreFileController = class CoreFileController {
|
|
|
21
21
|
constructor(fileService) {
|
|
22
22
|
this.fileService = fileService;
|
|
23
23
|
}
|
|
24
|
+
async getFileById(id, res) {
|
|
25
|
+
if (!id) {
|
|
26
|
+
throw new common_1.BadRequestException('Missing file ID for download');
|
|
27
|
+
}
|
|
28
|
+
const file = await this.fileService.getFileInfo(id);
|
|
29
|
+
if (!file) {
|
|
30
|
+
throw new common_1.NotFoundException('File not found');
|
|
31
|
+
}
|
|
32
|
+
const filestream = await this.fileService.getFileStream(id);
|
|
33
|
+
res.header('Content-Type', file.contentType || 'application/octet-stream');
|
|
34
|
+
res.header('Content-Disposition', `attachment; filename=${file.filename}`);
|
|
35
|
+
return filestream.pipe(res);
|
|
36
|
+
}
|
|
24
37
|
async getFile(filename, res) {
|
|
25
38
|
if (!filename) {
|
|
26
39
|
throw new common_1.BadRequestException('Missing filename for download');
|
|
@@ -36,6 +49,15 @@ let CoreFileController = class CoreFileController {
|
|
|
36
49
|
}
|
|
37
50
|
};
|
|
38
51
|
exports.CoreFileController = CoreFileController;
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, common_1.Get)('id/:id'),
|
|
54
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
55
|
+
__param(0, (0, common_1.Param)('id')),
|
|
56
|
+
__param(1, (0, common_1.Res)()),
|
|
57
|
+
__metadata("design:type", Function),
|
|
58
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
59
|
+
__metadata("design:returntype", Promise)
|
|
60
|
+
], CoreFileController.prototype, "getFileById", null);
|
|
39
61
|
__decorate([
|
|
40
62
|
(0, common_1.Get)(':filename'),
|
|
41
63
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-file.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqG;AAGrG,6EAAgE;AAChE,4DAAwD;AACxD,2DAAsD;AAO/C,IAAe,kBAAkB,GAAjC,MAAe,kBAAkB;IAItC,YAAgC,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"core-file.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqG;AAGrG,6EAAgE;AAChE,4DAAwD;AACxD,2DAAsD;AAO/C,IAAe,kBAAkB,GAAjC,MAAe,kBAAkB;IAItC,YAAgC,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAU1D,AAAN,KAAK,CAAC,WAAW,CAAc,EAAU,EAAS,GAAa;QAC7D,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,4BAAmB,CAAC,8BAA8B,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,0BAA0B,CAAC,CAAC;QAC3E,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAUK,AAAN,KAAK,CAAC,OAAO,CAAoB,QAAgB,EAAS,GAAa;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,4BAAmB,CAAC,+BAA+B,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,0BAA0B,CAAC,CAAC;QAC3E,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF,CAAA;AAnDqB,gDAAkB;AAchC;IAFL,IAAA,YAAG,EAAC,QAAQ,CAAC;IACb,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IACR,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,YAAG,GAAE,CAAA;;;;qDAahD;AAUK;IAFL,IAAA,YAAG,EAAC,WAAW,CAAC;IAChB,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IACZ,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;iDAaxD;6BAlDmB,kBAAkB;IAFvC,IAAA,mBAAU,EAAC,OAAO,CAAC;IACnB,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;qCAKyB,mCAAe;GAJxC,kBAAkB,CAmDvC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import { CoreTusService } from './core-tus.service';
|
|
3
|
+
export declare class CoreTusController {
|
|
4
|
+
protected readonly tusService: CoreTusService;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
constructor(tusService: CoreTusService);
|
|
7
|
+
handleTus(req: Request, res: Response): Promise<void>;
|
|
8
|
+
handleTusWithId(req: Request, res: Response): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var CoreTusController_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.CoreTusController = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const roles_decorator_1 = require("../../common/decorators/roles.decorator");
|
|
19
|
+
const role_enum_1 = require("../../common/enums/role.enum");
|
|
20
|
+
const core_tus_service_1 = require("./core-tus.service");
|
|
21
|
+
let CoreTusController = CoreTusController_1 = class CoreTusController {
|
|
22
|
+
constructor(tusService) {
|
|
23
|
+
this.tusService = tusService;
|
|
24
|
+
this.logger = new common_1.Logger(CoreTusController_1.name);
|
|
25
|
+
}
|
|
26
|
+
async handleTus(req, res) {
|
|
27
|
+
const server = this.tusService.getServer();
|
|
28
|
+
if (!server) {
|
|
29
|
+
this.logger.warn('TUS server not initialized');
|
|
30
|
+
res.status(503).json({ message: 'TUS uploads not available' });
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
await server.handle(req, res);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
this.logger.error(`TUS request error: ${error.message}`);
|
|
38
|
+
if (!res.headersSent) {
|
|
39
|
+
res.status(500).json({ message: 'Upload error' });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async handleTusWithId(req, res) {
|
|
44
|
+
const server = this.tusService.getServer();
|
|
45
|
+
if (!server) {
|
|
46
|
+
this.logger.warn('TUS server not initialized');
|
|
47
|
+
res.status(503).json({ message: 'TUS uploads not available' });
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
await server.handle(req, res);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
this.logger.error(`TUS request error for upload ${req.params.id}: ${error.message}`);
|
|
55
|
+
if (!res.headersSent) {
|
|
56
|
+
res.status(500).json({ message: 'Upload error' });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
exports.CoreTusController = CoreTusController;
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, common_1.All)(),
|
|
64
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
65
|
+
__param(0, (0, common_1.Req)()),
|
|
66
|
+
__param(1, (0, common_1.Res)()),
|
|
67
|
+
__metadata("design:type", Function),
|
|
68
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
69
|
+
__metadata("design:returntype", Promise)
|
|
70
|
+
], CoreTusController.prototype, "handleTus", null);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, common_1.All)(':id'),
|
|
73
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
74
|
+
__param(0, (0, common_1.Req)()),
|
|
75
|
+
__param(1, (0, common_1.Res)()),
|
|
76
|
+
__metadata("design:type", Function),
|
|
77
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
78
|
+
__metadata("design:returntype", Promise)
|
|
79
|
+
], CoreTusController.prototype, "handleTusWithId", null);
|
|
80
|
+
exports.CoreTusController = CoreTusController = CoreTusController_1 = __decorate([
|
|
81
|
+
(0, common_1.Controller)('tus'),
|
|
82
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
83
|
+
__metadata("design:paramtypes", [core_tus_service_1.CoreTusService])
|
|
84
|
+
], CoreTusController);
|
|
85
|
+
//# sourceMappingURL=core-tus.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-tus.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/tus/core-tus.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAmE;AAGnE,6EAAgE;AAChE,4DAAwD;AACxD,yDAAoD;AAqB7C,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG5B,YAA+B,UAA0B;QAA1B,eAAU,GAAV,UAAU,CAAgB;QAFxC,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAED,CAAC;IAcvD,AAAN,KAAK,CAAC,SAAS,CAAQ,GAAY,EAAS,GAAa;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAE3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IASK,AAAN,KAAK,CAAC,eAAe,CAAQ,GAAY,EAAS,GAAa;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAE3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AA7DY,8CAAiB;AAiBtB;IAFL,IAAA,YAAG,GAAE;IACL,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IACV,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;kDAiB1C;AASK;IAFL,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IACJ,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;wDAiBhD;4BA5DU,iBAAiB;IAF7B,IAAA,mBAAU,EAAC,KAAK,CAAC;IACjB,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;qCAIkB,iCAAc;GAH9C,iBAAiB,CA6D7B"}
|