@design-edito/publisher-core 0.0.1

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.
Files changed (59) hide show
  1. package/README.md +265 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +5105 -0
  4. package/dist/index.js.map +7 -0
  5. package/dist/public/empty.txt +0 -0
  6. package/dist/types/api/admin/temp/flush/index.d.ts +6 -0
  7. package/dist/types/api/admin/users/create/index.d.ts +23 -0
  8. package/dist/types/api/admin/users/delete/index.d.ts +12 -0
  9. package/dist/types/api/admin/users/get/index.d.ts +18 -0
  10. package/dist/types/api/admin/users/get-upload-quota/index.d.ts +12 -0
  11. package/dist/types/api/admin/users/list/index.d.ts +24 -0
  12. package/dist/types/api/admin/users/reset-upload-quota/index.d.ts +15 -0
  13. package/dist/types/api/admin/users/revoke-auth-tokens/index.d.ts +10 -0
  14. package/dist/types/api/admin/users/revoke-email-validation-tokens/index.d.ts +10 -0
  15. package/dist/types/api/admin/users/revoke-pasword-renewal-tokens/index.d.ts +10 -0
  16. package/dist/types/api/admin/users/update/index.d.ts +23 -0
  17. package/dist/types/api/auth/login/index.d.ts +15 -0
  18. package/dist/types/api/auth/logout/index.d.ts +5 -0
  19. package/dist/types/api/auth/logout-everywhere/index.d.ts +5 -0
  20. package/dist/types/api/auth/refresh-token/index.d.ts +5 -0
  21. package/dist/types/api/auth/request-email-verification-token/index.d.ts +9 -0
  22. package/dist/types/api/auth/request-new-password/index.d.ts +9 -0
  23. package/dist/types/api/auth/signup/index.d.ts +13 -0
  24. package/dist/types/api/auth/submit-new-password/index.d.ts +11 -0
  25. package/dist/types/api/auth/verify-email/index.d.ts +12 -0
  26. package/dist/types/api/auth/whoami/index.d.ts +8 -0
  27. package/dist/types/api/csrf/get-token/index.d.ts +8 -0
  28. package/dist/types/api/image/format/index.d.ts +28 -0
  29. package/dist/types/api/image/transform/index.d.ts +11 -0
  30. package/dist/types/api/index.d.ts +102 -0
  31. package/dist/types/api/internals.d.ts +270 -0
  32. package/dist/types/api/system/kill/index.d.ts +3 -0
  33. package/dist/types/api/system/ping/index.d.ts +6 -0
  34. package/dist/types/api/system/send-mail/index.d.ts +11 -0
  35. package/dist/types/api/system/status-check/index.d.ts +22 -0
  36. package/dist/types/auth/index.d.ts +11 -0
  37. package/dist/types/csrf/index.d.ts +5 -0
  38. package/dist/types/database/index.d.ts +69 -0
  39. package/dist/types/dto/index.d.ts +25 -0
  40. package/dist/types/email/index.d.ts +6 -0
  41. package/dist/types/env/index.d.ts +83 -0
  42. package/dist/types/errors/index.d.ts +295 -0
  43. package/dist/types/fs/index.d.ts +110 -0
  44. package/dist/types/index.d.ts +21 -0
  45. package/dist/types/index.js +1 -0
  46. package/dist/types/index.js.map +7 -0
  47. package/dist/types/init/index.d.ts +1 -0
  48. package/dist/types/jwt/index.d.ts +7 -0
  49. package/dist/types/logs/index.d.ts +46 -0
  50. package/dist/types/plugins/index.d.ts +3 -0
  51. package/dist/types/plugins/internals.d.ts +177 -0
  52. package/dist/types/schema/index.d.ts +156 -0
  53. package/dist/types/temp/index.d.ts +7 -0
  54. package/dist/types/transformers/index.d.ts +3 -0
  55. package/dist/types/transformers/user/index.d.ts +5 -0
  56. package/dist/types/transformers/user-upload-quota/index.d.ts +3 -0
  57. package/dist/types/uploads/index.d.ts +73 -0
  58. package/dist/types/validation/index.d.ts +4 -0
  59. package/package.json +280 -0
@@ -0,0 +1,156 @@
1
+ import type { Types as MongooseTypes, Schema as MongooseSchema, Model as MongooseModel } from 'mongoose';
2
+ export type IHistoryItem = {
3
+ updationTime: Date;
4
+ updaterId: MongooseTypes.ObjectId;
5
+ stringifiedDocument: String;
6
+ };
7
+ export type IHistory = Array<IHistoryItem>;
8
+ export type WithHistory<T> = T & {
9
+ _history: IHistory;
10
+ };
11
+ export type WithoutHistory<T> = Omit<T, '_history'> & {
12
+ _history?: undefined;
13
+ };
14
+ export type IHistoryItemSchema = MongooseSchema<IHistoryItem>;
15
+ export interface AddHistoryToSchema {
16
+ <T extends Object>(inputSchema: MongooseSchema<T>): MongooseSchema<WithHistory<T>>;
17
+ }
18
+ export type WithId<T> = T & {
19
+ _id: MongooseTypes.ObjectId;
20
+ };
21
+ export type IMeta = {
22
+ creationTime: Date;
23
+ creatorId: MongooseTypes.ObjectId;
24
+ lastUpdationTime: Date;
25
+ lastUpdaterId: MongooseTypes.ObjectId;
26
+ currentVersionNumber: number;
27
+ };
28
+ export type WithMeta<T> = T & {
29
+ _meta: IMeta;
30
+ };
31
+ export type WithoutMeta<T> = Omit<T, '_meta'> & {
32
+ _meta?: undefined;
33
+ };
34
+ export type IMetaSchema = MongooseSchema<IMeta>;
35
+ export interface AddMetaToSchema {
36
+ <T extends Object>(inputSchema: MongooseSchema<T>): MongooseSchema<WithMeta<T>>;
37
+ }
38
+ export type IPassword = string;
39
+ export type WithPassword<T> = T & {
40
+ _password: IPassword;
41
+ };
42
+ export type WithoutPassword<T> = Omit<T, '_password'> & {
43
+ _password?: undefined;
44
+ };
45
+ export interface AddPasswordToSchema {
46
+ <T extends Object>(inputSchema: MongooseSchema<T>): MongooseSchema<WithPassword<T>>;
47
+ }
48
+ export type IUserAuthToken = WithId<{
49
+ value: string;
50
+ userId: MongooseTypes.ObjectId;
51
+ issuedOn: Date;
52
+ }>;
53
+ export type UserAuthTokenCollectionName = 'UserAuthToken';
54
+ export type IUserAuthTokenSchema = MongooseSchema<IUserAuthToken>;
55
+ export type IUserAuthTokenModel = MongooseModel<IUserAuthToken>;
56
+ export type IUserEmailValidationToken = WithId<{
57
+ value: string;
58
+ email: string;
59
+ expiresOn: Date;
60
+ }>;
61
+ export type UserEmailValidationTokenCollectionName = 'UserEmailValidationToken';
62
+ export type IUserEmailValidationTokenSchema = MongooseSchema<IUserEmailValidationToken>;
63
+ export type IUserEmailValidationTokenModel = MongooseModel<IUserEmailValidationToken>;
64
+ export type IUserPasswordRenewalToken = WithId<{
65
+ value: string;
66
+ email: string;
67
+ expiresOn: Date;
68
+ }>;
69
+ export type UserPasswordRenewalTokenCollectionName = 'UserPasswordRenewalToken';
70
+ export type IUserPasswordRenewalTokenSchema = MongooseSchema<IUserPasswordRenewalToken>;
71
+ export type IUserPasswordRenewalTokenModel = MongooseModel<IUserPasswordRenewalToken>;
72
+ export type IUserRevokedAuthToken = WithId<{
73
+ value: string;
74
+ userId: MongooseTypes.ObjectId;
75
+ revokedOn: Date;
76
+ }>;
77
+ export type UserRevokedAuthTokenCollectionName = 'UserRevokedAuthToken';
78
+ export type IUserRevokedAuthTokenSchema = MongooseSchema<IUserRevokedAuthToken>;
79
+ export type IUserRevokedAuthTokenModel = MongooseModel<IUserRevokedAuthToken>;
80
+ export type IUserUploadQuota = WithId<{
81
+ userId: MongooseTypes.ObjectId;
82
+ dailyUploadsByteSize: number;
83
+ monthlyUploadsByteSize: number;
84
+ totalUploadsByteSize: number;
85
+ }>;
86
+ export type UserUploadQuotaCollectionName = 'UserUploadQuota';
87
+ export type IUserUploadQuotaSchema = MongooseSchema<IUserUploadQuota>;
88
+ export type IUserUploadQuotaModel = MongooseModel<IUserUploadQuota>;
89
+ export declare enum UserRole {
90
+ ROOT = "root",
91
+ ADMIN = "admin",
92
+ USER = "user"
93
+ }
94
+ export declare enum UserStatus {
95
+ ACTIVE = "active",
96
+ SUSPENDED = "suspended",
97
+ BANNED = "banned"
98
+ }
99
+ export declare enum UserBadge {
100
+ CAN_SYSTEM_SEND_MAIL = "system.send-mail",
101
+ CAN_SYSTEM_KILL = "system.kill",
102
+ CREATE_STORAGE_ENDPOINT = "storage.endpoint.create",
103
+ GET_STORAGE_ENDPOINT = "storage.endpoint.get",
104
+ RENAME_STORAGE_ENDPOINT = "storage.endpoint.rename",
105
+ ERASE_STORAGE_ENDPOINT = "storage.endpoint.erase",
106
+ CREATE_STORAGE_CREDENTIALS = "storage.credentials.create",
107
+ GET_STORAGE_CREDENTIALS = "storage.credentials.get",
108
+ RENAME_STORAGE_CREDENTIALS = "storage.credentials.rename",
109
+ ERASE_STORAGE_CREDENTIALS = "storage.credentials.erase",
110
+ UPLOAD_STORAGE_FILE = "storage.file.upload",
111
+ FORMAT_IMAGE = "image.format",
112
+ ADMIN_USERS_CAN_GET = "admin.users.can-get",
113
+ ADMIN_USERS_CAN_LIST = "admin.users.can-list",
114
+ ADMIN_USERS_CAN_CREATE = "admin.users.can-create",
115
+ ADMIN_USERS_CAN_UPDATE = "admin.users.can-update",
116
+ ADMIN_USERS_CAN_DELETE = "admin.users.can-delete",
117
+ ADMIN_USERS_CAN_REVOKE_AUTH_TOKENS = "admin.users.can-revoke-auth-tokens",
118
+ ADMIN_USERS_CAN_REVOKE_EMAIL_VALIDATION_TOKENS = "admin.users.can-revoke-email-validation-tokens",
119
+ ADMIN_USERS_CAN_REVOKE_PASSWORD_RENEWAL_TOKENS = "admin.users.can-revoke-password-renewal-tokens",
120
+ ADMIN_USERS_CAN_GET_UPLOAD_QUOTA = "admin.users.can-get-upload-quota",
121
+ ADMIN_USERS_CAN_RESET_USER_UPLOAD_QUOTA = "admin.users.can-reset-upload-quota",
122
+ ADMIN_TEMP_CAN_FLUSH = "admin.temp.can-flush"
123
+ }
124
+ export type IBaseUserCore = WithId<{
125
+ username: string;
126
+ role: UserRole;
127
+ status: UserStatus;
128
+ badges: UserBadge[];
129
+ }>;
130
+ export type IGoogleUserCore = IBaseUserCore & {
131
+ googleId: string;
132
+ verified: true;
133
+ };
134
+ export type ILocalUserCore = IBaseUserCore & {
135
+ email: string;
136
+ verified: boolean;
137
+ };
138
+ export type IBaseUser = WithMeta<WithHistory<IBaseUserCore>>;
139
+ export type IGoogleUser = WithMeta<WithHistory<IGoogleUserCore>>;
140
+ export type ILocalUser = WithMeta<WithHistory<WithPassword<ILocalUserCore>>>;
141
+ export type IUser = IGoogleUser | ILocalUser;
142
+ export type UserCollectionName = 'User';
143
+ export type IBaseUserCoreSchema = MongooseSchema<IBaseUserCore>;
144
+ export type ILocalUserCoreSchema = MongooseSchema<ILocalUserCore>;
145
+ export type IGoogleUserCoreSchema = MongooseSchema<IGoogleUserCore>;
146
+ export type IBaseUserSchema = MongooseSchema<IBaseUser>;
147
+ export type ILocalUserSchema = MongooseSchema<ILocalUser>;
148
+ export type IGoogleUserSchema = MongooseSchema<IGoogleUser>;
149
+ export type IBaseUserModel = MongooseModel<IBaseUser>;
150
+ export type ILocalUserModel = MongooseModel<ILocalUser>;
151
+ export type IGoogleUserModel = MongooseModel<IGoogleUser>;
152
+ export type DiscriminateUser = (user: IBaseUser) => ILocalUser & {
153
+ authType: 'LocalUser';
154
+ } | IGoogleUser & {
155
+ authType: 'GoogleUser';
156
+ } | null;
@@ -0,0 +1,7 @@
1
+ export type GetRootPath = () => string;
2
+ export type GeneratePath = (fileName?: string) => string;
3
+ export type CleanupOldFiles = (maxAgeMs: number) => Promise<void>;
4
+ export type UpdateCurrentByteSize = () => Promise<void>;
5
+ export type GetCurrentByteSize = () => number;
6
+ export type IncreaseCurrentByteSize = (bytes: number) => number;
7
+ export type Flush = () => Promise<void>;
@@ -0,0 +1,3 @@
1
+ import type * as User from './user/index.js';
2
+ import type * as UserUploadQuota from './user-upload-quota/index.js';
3
+ export { User, UserUploadQuota };
@@ -0,0 +1,5 @@
1
+ import { IBaseUser, IGoogleUser, ILocalUser } from '../../schema/index.js';
2
+ import { BaseUserDTO, GoogleUserDTO, LocalUserDTO } from '../../dto/index.js';
3
+ export type BaseUserToDTO = (user: IBaseUser) => BaseUserDTO;
4
+ export type LocalUserToDTO = (user: ILocalUser) => LocalUserDTO;
5
+ export type GoogleUserToDTO = (user: IGoogleUser) => GoogleUserDTO;
@@ -0,0 +1,3 @@
1
+ import { IUserUploadQuota } from '../../schema/index.js';
2
+ import { UserUploadQuotaDTO } from '../../dto/index.js';
3
+ export type UserUploadQuotaToDTO = (quota: IUserUploadQuota) => UserUploadQuotaDTO;
@@ -0,0 +1,73 @@
1
+ import type { Readable } from 'node:stream';
2
+ import type { Outcome } from '@design-edito/tools/agnostic/misc/outcome/index.js';
3
+ import { IUserUploadQuota } from '../schema/index.js';
4
+ import { Codes } from '../errors/index.js';
5
+ /**
6
+ * Represents a file that has been uploaded and processed by the server.
7
+ *
8
+ * Includes original file metadata, file system location, a stream to read it,
9
+ * and post-processing information such as hash, MIME type, and normalized extension.
10
+ */
11
+ export type UploadedFile = {
12
+ /** The name of the field that the file was uploaded to. */
13
+ fieldname: string;
14
+ /** The size of the file in bytes. */
15
+ size: number;
16
+ /** The local directory to which the file was uploaded. */
17
+ destination: string;
18
+ /** The path of the file on the local file system. */
19
+ path: string;
20
+ /** The hash of the file. */
21
+ hash: string;
22
+ /** The full name of the file as the client uploaded it, including the extension (eg. `"image.png"`). */
23
+ inName: string;
24
+ /** The base name of the file as the client uploaded it, without the extension (eg. `"image"`). */
25
+ inBase: string;
26
+ /** The extension (without the dot) of the file as the client uploaded it (eg. `"png"`). */
27
+ inExt: string;
28
+ /** The MIME type of the file as the client uploaded it (eg. `"image/png"`). */
29
+ inMime: string;
30
+ /** The normalized extension of the file as the client uploaded it (eg. `"jpeg"` becomes `"jpg"`). */
31
+ inExtNormalized: string;
32
+ /** The extension (without the dot) of the file as detected by file-type (eg. `"png"`). */
33
+ detectedExt?: string;
34
+ /** The MIME type of the file as detected by file-type (eg. `"image/png"`). */
35
+ detectedMime?: string;
36
+ /** The extension (without the dot) of the file as the server should save/respond it (eg. `"png"`). */
37
+ outExt: string;
38
+ /** The base name of the file as the server should save/respond it (eg. `"image"`). */
39
+ outBase: string;
40
+ /** The full name of the file as the server should save/respond it (eg. `"image.png"`). */
41
+ outName: string;
42
+ /** The MIME type of the file as the server should save/respond it (eg. `"image/png"`). */
43
+ outMime: string;
44
+ };
45
+ export declare enum ScanFileError {
46
+ INFECTED = "INFECTED",
47
+ SCANNER_UNREACHABLE = "SCANNER_UNREACHABLE",
48
+ SCAN_TIMED_OUT = "SCAN_TIMED_OUT"
49
+ }
50
+ export type ScanFile = (file: Readable | Buffer, timeout?: number) => Promise<Outcome.Either<true, {
51
+ code: ScanFileError;
52
+ details?: string;
53
+ }>>;
54
+ export declare enum PingScannerError {
55
+ SCANNER_UNREACHABLE = "SCANNER_UNREACHABLE"
56
+ }
57
+ export type PingScanner = (timeout?: number) => Promise<Outcome.Either<number, {
58
+ code: PingScannerError;
59
+ details?: string;
60
+ }>>;
61
+ export interface IHttpClamScanner {
62
+ scanBuffer(buffer: Buffer, timeout?: number): ReturnType<ScanFile>;
63
+ scanStream(stream: Readable, timeout?: number): ReturnType<ScanFile>;
64
+ scan(file: Readable | Buffer, timeout?: number): ReturnType<ScanFile>;
65
+ ping(timeout?: number): ReturnType<PingScanner>;
66
+ fetch(url: string, options: RequestInit): Promise<any>;
67
+ }
68
+ export type GetFileHash = (file: Readable | Buffer) => Promise<Outcome.Either<string, string>>;
69
+ export type UpdateUserUploadsQuota = (userId: string, fileByteSize: number, limitsInBytes: {
70
+ daily: number;
71
+ monthly: number;
72
+ total: number;
73
+ }) => Promise<Outcome.Either<IUserUploadQuota, Codes.DB_ERROR | Codes.DB_NO_DOCUMENT_MATCHES_FILTER | Codes.USER_DAILY_UPLOAD_QUOTA_EXCEEDED | Codes.USER_MONTHLY_UPLOAD_QUOTA_EXCEEDED | Codes.USER_TOTAL_UPLOAD_QUOTA_EXCEEDED>>;
@@ -0,0 +1,4 @@
1
+ import { NoAuthValidator, StrongAuthValidator, WeakAuthValidator } from '../api/internals.js';
2
+ export type NoAuthNullValidation = NoAuthValidator<{}, {}, {}, string | null, never>;
3
+ export type WeakAuthNullValidation = WeakAuthValidator<{}, {}, {}, string | null, never>;
4
+ export type StrongAuthNullValidation = StrongAuthValidator<{}, {}, {}, string | null, never>;
package/package.json ADDED
@@ -0,0 +1,280 @@
1
+ {
2
+ "name": "@design-edito/publisher-core",
3
+ "version": "0.0.1",
4
+ "files": [
5
+ "dist"
6
+ ],
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "license": "MIT",
11
+ "private": false,
12
+ "type": "module",
13
+ "scripts": {
14
+ "check:src": "npx tsc -p src/tsconfig.json --noEmit && echo \"⚡ Done: check:src - $(date +'%H:%M:%S')\"",
15
+ "build:src:public": "npx cpx 'src/public/**/*' dist/public && echo \"⚡ Done: build:src:public - $(date +'%H:%M:%S')\"",
16
+ "build:src": "node scripts/build.js && echo \"⚡ Done: build:src (esbuild) - $(date +'%H:%M:%S')\" && npm run build:src:public",
17
+ "watch:src": "npm run build:src && npx chokidar 'src/**/*' -c 'npm run build:src'",
18
+ "build": "npm run check:src && npm run build:src",
19
+ "serve": "dotenv -e .env -- npx nodemon ./dist/index.js --watch ./dist --ignore './dist/**/*.ts' --verbose --delay 3000ms",
20
+ "prepublishOnly": "npm run build"
21
+ },
22
+ "dependencies": {
23
+ "@aws-sdk/client-s3": "^3.907.0",
24
+ "@design-edito/tools": "^0.2.11",
25
+ "@google-cloud/storage": "^7.17.2",
26
+ "agenda": "^5.0.0",
27
+ "basic-ftp": "^5.0.5",
28
+ "bcrypt": "^6.0.0",
29
+ "chalk": "^5.6.2",
30
+ "clamdjs": "^1.0.2",
31
+ "cookie-parser": "^1.4.7",
32
+ "cors": "^2.8.5",
33
+ "csrf": "^3.1.0",
34
+ "debug": "^4.4.3",
35
+ "dotenv": "^17.2.3",
36
+ "express": "^5.1.0",
37
+ "fast-folder-size": "^2.4.0",
38
+ "file-type": "^21.0.0",
39
+ "google-auth-library": "^10.4.0",
40
+ "jsonwebtoken": "^9.0.2",
41
+ "mailersend": "^2.6.0",
42
+ "mongoose": "^8.19.1",
43
+ "multer": "^2.0.0",
44
+ "nodemailer": "^7.0.5",
45
+ "ssh2-sftp-client": "^12.0.1",
46
+ "tmp-promise": "^3.0.3",
47
+ "validator": "^13.15.0",
48
+ "xss": "^1.0.15",
49
+ "zod": "^4.1.12"
50
+ },
51
+ "devDependencies": {
52
+ "@types/bcrypt": "^6.0.0",
53
+ "@types/cookie-parser": "^1.4.9",
54
+ "@types/cors": "^2.8.19",
55
+ "@types/debug": "^4.1.12",
56
+ "@types/express": "^5.0.3",
57
+ "@types/jsonwebtoken": "^9.0.10",
58
+ "@types/multer": "^2.0.0",
59
+ "@types/node": "^24.7.1",
60
+ "@types/nodemailer": "^7.0.2",
61
+ "@types/ssh2-sftp-client": "^9.0.5",
62
+ "@types/validator": "^13.15.3",
63
+ "chokidar-cli": "^3.0.0",
64
+ "concurrently": "^9.2.1",
65
+ "dotenv-cli": "^10.0.0",
66
+ "esbuild": "^0.25.10",
67
+ "nodemon": "^3.1.10",
68
+ "typescript": "^5.9.3"
69
+ },
70
+ "exports": {
71
+ ".": {
72
+ "types": "index.d.ts",
73
+ "default": "index.js"
74
+ },
75
+ "./types": {
76
+ "types": "types/index.d.ts",
77
+ "default": "types/index.js"
78
+ },
79
+ "./types/env": {
80
+ "types": "types/env/index.d.ts",
81
+ "default": "types/env/index.d.ts"
82
+ },
83
+ "./types/database": {
84
+ "types": "types/database/index.d.ts",
85
+ "default": "types/database/index.d.ts"
86
+ },
87
+ "./types/auth": {
88
+ "types": "types/auth/index.d.ts",
89
+ "default": "types/auth/index.d.ts"
90
+ },
91
+ "./types/dto": {
92
+ "types": "types/dto/index.d.ts",
93
+ "default": "types/dto/index.d.ts"
94
+ },
95
+ "./types/email": {
96
+ "types": "types/email/index.d.ts",
97
+ "default": "types/email/index.d.ts"
98
+ },
99
+ "./types/errors": {
100
+ "types": "types/errors/index.d.ts",
101
+ "default": "types/errors/index.d.ts"
102
+ },
103
+ "./types/fs": {
104
+ "types": "types/fs/index.d.ts",
105
+ "default": "types/fs/index.d.ts"
106
+ },
107
+ "./types/csrf": {
108
+ "types": "types/csrf/index.d.ts",
109
+ "default": "types/csrf/index.d.ts"
110
+ },
111
+ "./types/jwt": {
112
+ "types": "types/jwt/index.d.ts",
113
+ "default": "types/jwt/index.d.ts"
114
+ },
115
+ "./types/logs": {
116
+ "types": "types/logs/index.d.ts",
117
+ "default": "types/logs/index.d.ts"
118
+ },
119
+ "./types/init": {
120
+ "types": "types/init/index.d.ts",
121
+ "default": "types/init/index.d.ts"
122
+ },
123
+ "./types/plugins": {
124
+ "types": "types/plugins/index.d.ts",
125
+ "default": "types/plugins/index.d.ts"
126
+ },
127
+ "./types/plugins/internals": {
128
+ "types": "types/plugins/internals.d.ts",
129
+ "default": "types/plugins/internals.d.ts"
130
+ },
131
+ "./types/temp": {
132
+ "types": "types/temp/index.d.ts",
133
+ "default": "types/temp/index.d.ts"
134
+ },
135
+ "./types/validation": {
136
+ "types": "types/validation/index.d.ts",
137
+ "default": "types/validation/index.d.ts"
138
+ },
139
+ "./types/uploads": {
140
+ "types": "types/uploads/index.d.ts",
141
+ "default": "types/uploads/index.d.ts"
142
+ },
143
+ "./types/schema": {
144
+ "types": "types/schema/index.d.ts",
145
+ "default": "types/schema/index.d.ts"
146
+ },
147
+ "./types/transformers": {
148
+ "types": "types/transformers/index.d.ts",
149
+ "default": "types/transformers/index.d.ts"
150
+ },
151
+ "./types/transformers/user": {
152
+ "types": "types/transformers/user/index.d.ts",
153
+ "default": "types/transformers/user/index.d.ts"
154
+ },
155
+ "./types/transformers/user-upload-quota": {
156
+ "types": "types/transformers/user-upload-quota/index.d.ts",
157
+ "default": "types/transformers/user-upload-quota/index.d.ts"
158
+ },
159
+ "./types/api": {
160
+ "types": "types/api/index.d.ts",
161
+ "default": "types/api/index.d.ts"
162
+ },
163
+ "./types/api/internals": {
164
+ "types": "types/api/internals.d.ts",
165
+ "default": "types/api/internals.d.ts"
166
+ },
167
+ "./types/api/csrf/get-token": {
168
+ "types": "types/api/csrf/get-token/index.d.ts",
169
+ "default": "types/api/csrf/get-token/index.d.ts"
170
+ },
171
+ "./types/api/auth/login": {
172
+ "types": "types/api/auth/login/index.d.ts",
173
+ "default": "types/api/auth/login/index.d.ts"
174
+ },
175
+ "./types/api/auth/logout": {
176
+ "types": "types/api/auth/logout/index.d.ts",
177
+ "default": "types/api/auth/logout/index.d.ts"
178
+ },
179
+ "./types/api/auth/refresh-token": {
180
+ "types": "types/api/auth/refresh-token/index.d.ts",
181
+ "default": "types/api/auth/refresh-token/index.d.ts"
182
+ },
183
+ "./types/api/auth/request-email-verification-token": {
184
+ "types": "types/api/auth/request-email-verification-token/index.d.ts",
185
+ "default": "types/api/auth/request-email-verification-token/index.d.ts"
186
+ },
187
+ "./types/api/auth/signup": {
188
+ "types": "types/api/auth/signup/index.d.ts",
189
+ "default": "types/api/auth/signup/index.d.ts"
190
+ },
191
+ "./types/api/auth/request-new-password": {
192
+ "types": "types/api/auth/request-new-password/index.d.ts",
193
+ "default": "types/api/auth/request-new-password/index.d.ts"
194
+ },
195
+ "./types/api/auth/logout-everywhere": {
196
+ "types": "types/api/auth/logout-everywhere/index.d.ts",
197
+ "default": "types/api/auth/logout-everywhere/index.d.ts"
198
+ },
199
+ "./types/api/auth/submit-new-password": {
200
+ "types": "types/api/auth/submit-new-password/index.d.ts",
201
+ "default": "types/api/auth/submit-new-password/index.d.ts"
202
+ },
203
+ "./types/api/auth/whoami": {
204
+ "types": "types/api/auth/whoami/index.d.ts",
205
+ "default": "types/api/auth/whoami/index.d.ts"
206
+ },
207
+ "./types/api/auth/verify-email": {
208
+ "types": "types/api/auth/verify-email/index.d.ts",
209
+ "default": "types/api/auth/verify-email/index.d.ts"
210
+ },
211
+ "./types/api/image/format": {
212
+ "types": "types/api/image/format/index.d.ts",
213
+ "default": "types/api/image/format/index.d.ts"
214
+ },
215
+ "./types/api/image/transform": {
216
+ "types": "types/api/image/transform/index.d.ts",
217
+ "default": "types/api/image/transform/index.d.ts"
218
+ },
219
+ "./types/api/system/kill": {
220
+ "types": "types/api/system/kill/index.d.ts",
221
+ "default": "types/api/system/kill/index.d.ts"
222
+ },
223
+ "./types/api/system/send-mail": {
224
+ "types": "types/api/system/send-mail/index.d.ts",
225
+ "default": "types/api/system/send-mail/index.d.ts"
226
+ },
227
+ "./types/api/system/status-check": {
228
+ "types": "types/api/system/status-check/index.d.ts",
229
+ "default": "types/api/system/status-check/index.d.ts"
230
+ },
231
+ "./types/api/system/ping": {
232
+ "types": "types/api/system/ping/index.d.ts",
233
+ "default": "types/api/system/ping/index.d.ts"
234
+ },
235
+ "./types/api/admin/temp/flush": {
236
+ "types": "types/api/admin/temp/flush/index.d.ts",
237
+ "default": "types/api/admin/temp/flush/index.d.ts"
238
+ },
239
+ "./types/api/admin/users/create": {
240
+ "types": "types/api/admin/users/create/index.d.ts",
241
+ "default": "types/api/admin/users/create/index.d.ts"
242
+ },
243
+ "./types/api/admin/users/delete": {
244
+ "types": "types/api/admin/users/delete/index.d.ts",
245
+ "default": "types/api/admin/users/delete/index.d.ts"
246
+ },
247
+ "./types/api/admin/users/get-upload-quota": {
248
+ "types": "types/api/admin/users/get-upload-quota/index.d.ts",
249
+ "default": "types/api/admin/users/get-upload-quota/index.d.ts"
250
+ },
251
+ "./types/api/admin/users/list": {
252
+ "types": "types/api/admin/users/list/index.d.ts",
253
+ "default": "types/api/admin/users/list/index.d.ts"
254
+ },
255
+ "./types/api/admin/users/get": {
256
+ "types": "types/api/admin/users/get/index.d.ts",
257
+ "default": "types/api/admin/users/get/index.d.ts"
258
+ },
259
+ "./types/api/admin/users/reset-upload-quota": {
260
+ "types": "types/api/admin/users/reset-upload-quota/index.d.ts",
261
+ "default": "types/api/admin/users/reset-upload-quota/index.d.ts"
262
+ },
263
+ "./types/api/admin/users/revoke-auth-tokens": {
264
+ "types": "types/api/admin/users/revoke-auth-tokens/index.d.ts",
265
+ "default": "types/api/admin/users/revoke-auth-tokens/index.d.ts"
266
+ },
267
+ "./types/api/admin/users/revoke-email-validation-tokens": {
268
+ "types": "types/api/admin/users/revoke-email-validation-tokens/index.d.ts",
269
+ "default": "types/api/admin/users/revoke-email-validation-tokens/index.d.ts"
270
+ },
271
+ "./types/api/admin/users/revoke-pasword-renewal-tokens": {
272
+ "types": "types/api/admin/users/revoke-pasword-renewal-tokens/index.d.ts",
273
+ "default": "types/api/admin/users/revoke-pasword-renewal-tokens/index.d.ts"
274
+ },
275
+ "./types/api/admin/users/update": {
276
+ "types": "types/api/admin/users/update/index.d.ts",
277
+ "default": "types/api/admin/users/update/index.d.ts"
278
+ }
279
+ }
280
+ }