@udhuong/admin-core 0.1.8 → 0.2.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.
Files changed (91) hide show
  1. package/dist/client/components/media/FolderTree.d.ts +13 -0
  2. package/dist/client/components/media/FolderTree.d.ts.map +1 -0
  3. package/dist/client/components/media/FolderTree.js +50 -0
  4. package/dist/client/components/media/FolderTree.js.map +1 -0
  5. package/dist/client/components/media/MediaBrowser.d.ts +8 -0
  6. package/dist/client/components/media/MediaBrowser.d.ts.map +1 -0
  7. package/dist/client/components/media/MediaBrowser.js +210 -0
  8. package/dist/client/components/media/MediaBrowser.js.map +1 -0
  9. package/dist/client/components/media/MediaGrid.d.ts +11 -0
  10. package/dist/client/components/media/MediaGrid.d.ts.map +1 -0
  11. package/dist/client/components/media/MediaGrid.js +67 -0
  12. package/dist/client/components/media/MediaGrid.js.map +1 -0
  13. package/dist/client/components/media/MediaPicker.d.ts +12 -0
  14. package/dist/client/components/media/MediaPicker.d.ts.map +1 -0
  15. package/dist/client/components/media/MediaPicker.js +154 -0
  16. package/dist/client/components/media/MediaPicker.js.map +1 -0
  17. package/dist/client/components/media/MediaUpload.d.ts +9 -0
  18. package/dist/client/components/media/MediaUpload.d.ts.map +1 -0
  19. package/dist/client/components/media/MediaUpload.js +98 -0
  20. package/dist/client/components/media/MediaUpload.js.map +1 -0
  21. package/dist/client/components/media/index.d.ts +6 -0
  22. package/dist/client/components/media/index.d.ts.map +1 -0
  23. package/dist/client/components/media/index.js +6 -0
  24. package/dist/client/components/media/index.js.map +1 -0
  25. package/dist/client/constants/api-routes.d.ts +9 -0
  26. package/dist/client/constants/api-routes.d.ts.map +1 -1
  27. package/dist/client/constants/api-routes.js +10 -0
  28. package/dist/client/constants/api-routes.js.map +1 -1
  29. package/dist/client/index.d.ts +5 -1
  30. package/dist/client/index.d.ts.map +1 -1
  31. package/dist/client/index.js +6 -1
  32. package/dist/client/index.js.map +1 -1
  33. package/dist/client/lib/ckeditor-upload-adapter.d.ts +8 -0
  34. package/dist/client/lib/ckeditor-upload-adapter.d.ts.map +1 -0
  35. package/dist/client/lib/ckeditor-upload-adapter.js +75 -0
  36. package/dist/client/lib/ckeditor-upload-adapter.js.map +1 -0
  37. package/dist/client/pages/MediaPage.d.ts +2 -0
  38. package/dist/client/pages/MediaPage.d.ts.map +1 -0
  39. package/dist/client/pages/MediaPage.js +303 -0
  40. package/dist/client/pages/MediaPage.js.map +1 -0
  41. package/dist/client/pages/index.d.ts +1 -0
  42. package/dist/client/pages/index.d.ts.map +1 -1
  43. package/dist/client/pages/index.js +1 -0
  44. package/dist/client/pages/index.js.map +1 -1
  45. package/dist/client/types/media.d.ts +57 -0
  46. package/dist/client/types/media.d.ts.map +1 -0
  47. package/dist/client/types/media.js +10 -0
  48. package/dist/client/types/media.js.map +1 -0
  49. package/dist/server/admin-core-options.interface.d.ts +13 -0
  50. package/dist/server/admin-core-options.interface.d.ts.map +1 -1
  51. package/dist/server/admin-core-options.interface.js.map +1 -1
  52. package/dist/server/admin-core.module.d.ts.map +1 -1
  53. package/dist/server/admin-core.module.js +9 -1
  54. package/dist/server/admin-core.module.js.map +1 -1
  55. package/dist/server/index.d.ts +7 -1
  56. package/dist/server/index.d.ts.map +1 -1
  57. package/dist/server/index.js +19 -1
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/media/application/services/media.service.d.ts +134 -0
  60. package/dist/server/media/application/services/media.service.d.ts.map +1 -0
  61. package/dist/server/media/application/services/media.service.js +357 -0
  62. package/dist/server/media/application/services/media.service.js.map +1 -0
  63. package/dist/server/media/application/services/minio.service.d.ts +24 -0
  64. package/dist/server/media/application/services/minio.service.d.ts.map +1 -0
  65. package/dist/server/media/application/services/minio.service.js +175 -0
  66. package/dist/server/media/application/services/minio.service.js.map +1 -0
  67. package/dist/server/media/domain/enums/media-type.enum.d.ts +15 -0
  68. package/dist/server/media/domain/enums/media-type.enum.d.ts.map +1 -0
  69. package/dist/server/media/domain/enums/media-type.enum.js +19 -0
  70. package/dist/server/media/domain/enums/media-type.enum.js.map +1 -0
  71. package/dist/server/media/infrastructure/persistence/entities/media.entity.d.ts +30 -0
  72. package/dist/server/media/infrastructure/persistence/entities/media.entity.d.ts.map +1 -0
  73. package/dist/server/media/infrastructure/persistence/entities/media.entity.js +149 -0
  74. package/dist/server/media/infrastructure/persistence/entities/media.entity.js.map +1 -0
  75. package/dist/server/media/media.module.d.ts +3 -0
  76. package/dist/server/media/media.module.d.ts.map +1 -0
  77. package/dist/server/media/media.module.js +27 -0
  78. package/dist/server/media/media.module.js.map +1 -0
  79. package/dist/server/media/presentation/controllers/media.controller.d.ts +62 -0
  80. package/dist/server/media/presentation/controllers/media.controller.d.ts.map +1 -0
  81. package/dist/server/media/presentation/controllers/media.controller.js +185 -0
  82. package/dist/server/media/presentation/controllers/media.controller.js.map +1 -0
  83. package/dist/server/media/presentation/dto/media.dto.d.ts +38 -0
  84. package/dist/server/media/presentation/dto/media.dto.d.ts.map +1 -0
  85. package/dist/server/media/presentation/dto/media.dto.js +184 -0
  86. package/dist/server/media/presentation/dto/media.dto.js.map +1 -0
  87. package/dist/server/shared/permissions.d.ts +24 -0
  88. package/dist/server/shared/permissions.d.ts.map +1 -1
  89. package/dist/server/shared/permissions.js +24 -0
  90. package/dist/server/shared/permissions.js.map +1 -1
  91. package/package.json +11 -1
@@ -1,5 +1,5 @@
1
1
  export { AdminCoreModule } from './admin-core.module';
2
- export type { AdminCoreOptions, AdminCoreAsyncOptions, AdminCoreOptionsFactory, AdminCoreOAuthProviderOptions, AdminCoreFacebookOptions, AdminCoreSeederOptions, AdminCoreClientSecrets, } from './admin-core-options.interface';
2
+ export type { AdminCoreOptions, AdminCoreAsyncOptions, AdminCoreOptionsFactory, AdminCoreOAuthProviderOptions, AdminCoreFacebookOptions, AdminCoreSeederOptions, AdminCoreClientSecrets, AdminCoreMediaOptions, AdminCoreMinioOptions, } from './admin-core-options.interface';
3
3
  export { ADMIN_CORE_OPTIONS } from './admin-core-options.interface';
4
4
  export { CORE_PERMISSIONS, CORE_PERMISSION_NAMES, CORE_PERMISSION_LIST, CORE_ROLES, CORE_ROLE_LIST, ALL_PERMISSIONS, } from './shared';
5
5
  export type { PermissionDef, RoleDef, CorePermissionKey, CoreRoleKey, } from './shared';
@@ -31,6 +31,12 @@ export { SocialAuthService } from './auth/application/ports/social-auth.service'
31
31
  export * from './auth/infrastructure/persistence/entities';
32
32
  export { UserEntity } from './user/infrastructure/persistence/entities/user.entity';
33
33
  export { UserSettingEntity } from './user/infrastructure/persistence/entities/user-setting.entity';
34
+ export { MediaEntity, MediaFolderEntity, } from './media/infrastructure/persistence/entities/media.entity';
35
+ export { MediaModule } from './media/media.module';
36
+ export { MediaService } from './media/application/services/media.service';
37
+ export { MinioService } from './media/application/services/minio.service';
38
+ export { MediaType, MediaTypeLabels } from './media/domain/enums/media-type.enum';
39
+ export { CreateMediaDto, UpdateMediaDto, CreateFolderDto, UpdateFolderDto, MediaQueryDto, } from './media/presentation/dto/media.dto';
34
40
  export * from './auth/infrastructure/database/postgresql/seeders';
35
41
  export { OAuthSeederModule } from './auth/infrastructure/database/postgresql/seeders/oauth-seeder.module';
36
42
  export * from './auth/application/dto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.SendVerificationEmailEvent = exports.MailEvents = exports.AuthUserStatusChangedEvent = exports.AuthUserPasswordChangedEvent = exports.AuthUserEmailVerifiedEvent = exports.AuthUserDeletedEvent = exports.AuthUserUpdatedEvent = exports.AuthUserCreatedEvent = exports.AUTH_EVENTS = exports.ROOT_EMAIL = exports.AUDIT_EVENT_TYPES = exports.OAUTH_CONFIG = exports.OAuthAuditLog = exports.SocialAccount = exports.EmailVerificationToken = exports.UserTwoFactor = exports.LoginHistory = exports.UserSession = exports.OAuthClientConsent = exports.OAuthAuthorizationCode = exports.OAuthToken = exports.OAuthScope = exports.OAuthClient = exports.RolePermission = exports.UserRole = exports.Permission = exports.Role = exports.AuthUser = exports.ClientCode = exports.UserAgent = exports.IpAddress = exports.CurrentSession = exports.CurrentUser = exports.CurrentUserId = exports.CurrentSessionId = exports.IS_PUBLIC_KEY = exports.PERMISSIONS_KEY = exports.RequireScopes = exports.RequirePermissions = exports.Public = exports.PermissionGuard = exports.JwtAuthGuard = exports.ALL_PERMISSIONS = exports.CORE_ROLE_LIST = exports.CORE_ROLES = exports.CORE_PERMISSION_LIST = exports.CORE_PERMISSION_NAMES = exports.CORE_PERMISSIONS = exports.ADMIN_CORE_OPTIONS = exports.AdminCoreModule = void 0;
18
- exports.Responder = exports.OAuthSeederModule = exports.UserSettingEntity = exports.UserEntity = exports.SocialAuthService = exports.EMAIL_SERVICE_TOKEN = exports.HASH_SERVICE_TOKEN = exports.TOKEN_SERVICE_TOKEN = exports.OAUTH_AUDIT_LOG_REPOSITORY_TOKEN = exports.SOCIAL_ACCOUNT_REPOSITORY_TOKEN = exports.EMAIL_VERIFICATION_TOKEN_REPOSITORY_TOKEN = exports.USER_TWO_FACTOR_REPOSITORY_TOKEN = exports.LOGIN_HISTORY_REPOSITORY_TOKEN = exports.USER_SESSION_REPOSITORY_TOKEN = exports.OAUTH_CLIENT_CONSENT_REPOSITORY_TOKEN = exports.OAUTH_TOKEN_REPOSITORY_TOKEN = exports.OAUTH_AUTHORIZATION_CODE_REPOSITORY_TOKEN = exports.OAUTH_SCOPE_REPOSITORY_TOKEN = exports.OAUTH_CLIENT_REPOSITORY_TOKEN = exports.ROLE_PERMISSION_REPOSITORY_TOKEN = exports.USER_ROLE_REPOSITORY_TOKEN = exports.PERMISSION_REPOSITORY_TOKEN = exports.ROLE_REPOSITORY_TOKEN = exports.AUTH_USER_REPOSITORY_TOKEN = exports.UserSettingRepository = exports.UserPreferencesService = exports.UserService = exports.PermissionService = exports.RoleService = exports.AuthUserService = exports.SendUserWelcomeEvent = exports.SendPasswordChangedEvent = exports.SendWelcomeEmailEvent = exports.SendPasswordResetEvent = void 0;
18
+ exports.Responder = exports.OAuthSeederModule = exports.MediaQueryDto = exports.UpdateFolderDto = exports.CreateFolderDto = exports.UpdateMediaDto = exports.CreateMediaDto = exports.MediaTypeLabels = exports.MediaType = exports.MinioService = exports.MediaService = exports.MediaModule = exports.MediaFolderEntity = exports.MediaEntity = exports.UserSettingEntity = exports.UserEntity = exports.SocialAuthService = exports.EMAIL_SERVICE_TOKEN = exports.HASH_SERVICE_TOKEN = exports.TOKEN_SERVICE_TOKEN = exports.OAUTH_AUDIT_LOG_REPOSITORY_TOKEN = exports.SOCIAL_ACCOUNT_REPOSITORY_TOKEN = exports.EMAIL_VERIFICATION_TOKEN_REPOSITORY_TOKEN = exports.USER_TWO_FACTOR_REPOSITORY_TOKEN = exports.LOGIN_HISTORY_REPOSITORY_TOKEN = exports.USER_SESSION_REPOSITORY_TOKEN = exports.OAUTH_CLIENT_CONSENT_REPOSITORY_TOKEN = exports.OAUTH_TOKEN_REPOSITORY_TOKEN = exports.OAUTH_AUTHORIZATION_CODE_REPOSITORY_TOKEN = exports.OAUTH_SCOPE_REPOSITORY_TOKEN = exports.OAUTH_CLIENT_REPOSITORY_TOKEN = exports.ROLE_PERMISSION_REPOSITORY_TOKEN = exports.USER_ROLE_REPOSITORY_TOKEN = exports.PERMISSION_REPOSITORY_TOKEN = exports.ROLE_REPOSITORY_TOKEN = exports.AUTH_USER_REPOSITORY_TOKEN = exports.UserSettingRepository = exports.UserPreferencesService = exports.UserService = exports.PermissionService = exports.RoleService = exports.AuthUserService = exports.SendUserWelcomeEvent = exports.SendPasswordChangedEvent = exports.SendWelcomeEmailEvent = exports.SendPasswordResetEvent = void 0;
19
19
  var admin_core_module_1 = require("./admin-core.module");
20
20
  Object.defineProperty(exports, "AdminCoreModule", { enumerable: true, get: function () { return admin_core_module_1.AdminCoreModule; } });
21
21
  var admin_core_options_interface_1 = require("./admin-core-options.interface");
@@ -128,6 +128,24 @@ var user_entity_1 = require("./user/infrastructure/persistence/entities/user.ent
128
128
  Object.defineProperty(exports, "UserEntity", { enumerable: true, get: function () { return user_entity_1.UserEntity; } });
129
129
  var user_setting_entity_1 = require("./user/infrastructure/persistence/entities/user-setting.entity");
130
130
  Object.defineProperty(exports, "UserSettingEntity", { enumerable: true, get: function () { return user_setting_entity_1.UserSettingEntity; } });
131
+ var media_entity_1 = require("./media/infrastructure/persistence/entities/media.entity");
132
+ Object.defineProperty(exports, "MediaEntity", { enumerable: true, get: function () { return media_entity_1.MediaEntity; } });
133
+ Object.defineProperty(exports, "MediaFolderEntity", { enumerable: true, get: function () { return media_entity_1.MediaFolderEntity; } });
134
+ var media_module_1 = require("./media/media.module");
135
+ Object.defineProperty(exports, "MediaModule", { enumerable: true, get: function () { return media_module_1.MediaModule; } });
136
+ var media_service_1 = require("./media/application/services/media.service");
137
+ Object.defineProperty(exports, "MediaService", { enumerable: true, get: function () { return media_service_1.MediaService; } });
138
+ var minio_service_1 = require("./media/application/services/minio.service");
139
+ Object.defineProperty(exports, "MinioService", { enumerable: true, get: function () { return minio_service_1.MinioService; } });
140
+ var media_type_enum_1 = require("./media/domain/enums/media-type.enum");
141
+ Object.defineProperty(exports, "MediaType", { enumerable: true, get: function () { return media_type_enum_1.MediaType; } });
142
+ Object.defineProperty(exports, "MediaTypeLabels", { enumerable: true, get: function () { return media_type_enum_1.MediaTypeLabels; } });
143
+ var media_dto_1 = require("./media/presentation/dto/media.dto");
144
+ Object.defineProperty(exports, "CreateMediaDto", { enumerable: true, get: function () { return media_dto_1.CreateMediaDto; } });
145
+ Object.defineProperty(exports, "UpdateMediaDto", { enumerable: true, get: function () { return media_dto_1.UpdateMediaDto; } });
146
+ Object.defineProperty(exports, "CreateFolderDto", { enumerable: true, get: function () { return media_dto_1.CreateFolderDto; } });
147
+ Object.defineProperty(exports, "UpdateFolderDto", { enumerable: true, get: function () { return media_dto_1.UpdateFolderDto; } });
148
+ Object.defineProperty(exports, "MediaQueryDto", { enumerable: true, get: function () { return media_dto_1.MediaQueryDto; } });
131
149
  __exportStar(require("./auth/infrastructure/database/postgresql/seeders"), exports);
132
150
  var oauth_seeder_module_1 = require("./auth/infrastructure/database/postgresql/seeders/oauth-seeder.module");
133
151
  Object.defineProperty(exports, "OAuthSeederModule", { enumerable: true, get: function () { return oauth_seeder_module_1.OAuthSeederModule; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AAUxB,+EAAoE;AAA3D,kIAAA,kBAAkB,OAAA;AAG3B,mCAOkB;AANhB,0GAAA,gBAAgB,OAAA;AAChB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AAUjB,qDAA0D;AAAjD,sGAAA,YAAY,OAAA;AACrB,qDAA6D;AAApD,yGAAA,eAAe,OAAA;AACxB,gFAMuD;AALrD,wGAAA,MAAM,OAAA;AACN,oHAAA,kBAAkB,OAAA;AAClB,+GAAA,aAAa,OAAA;AACb,iHAAA,eAAe,OAAA;AACf,+GAAA,aAAa,OAAA;AAEf,4GAA+F;AAAtF,gIAAA,gBAAgB,OAAA;AACzB,gFAOuD;AANrD,+GAAA,aAAa,OAAA;AACb,6GAAA,WAAW,OAAA;AACX,gHAAA,cAAc,OAAA;AACd,2GAAA,SAAS,OAAA;AACT,2GAAA,SAAS,OAAA;AACT,4GAAA,UAAU,OAAA;AAIZ,8DAA4C;AAG5C,mDAiBgC;AAhB9B,oGAAA,QAAQ,OAAA;AACR,gGAAA,IAAI,OAAA;AACJ,sGAAA,UAAU,OAAA;AACV,oGAAA,QAAQ,OAAA;AACR,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,kHAAA,sBAAsB,OAAA;AACtB,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,kHAAA,sBAAsB,OAAA;AACtB,yGAAA,aAAa,OAAA;AACb,yGAAA,aAAa,OAAA;AAIf,sDAAoC;AAGpC,qEAAmG;AAA1F,4GAAA,YAAY,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAAE,0GAAA,UAAU,OAAA;AACpD,iEAA+C;AAC/C,+EAAwE;AAA/D,gHAAA,WAAW,OAAA;AAGpB,0EAO+C;AAN7C,wHAAA,oBAAoB,OAAA;AACpB,wHAAA,oBAAoB,OAAA;AACpB,wHAAA,oBAAoB,OAAA;AACpB,8HAAA,0BAA0B,OAAA;AAC1B,gIAAA,4BAA4B,OAAA;AAC5B,8HAAA,0BAA0B,OAAA;AAO5B,6CAO8B;AAN5B,kGAAA,UAAU,OAAA;AACV,kHAAA,0BAA0B,OAAA;AAC1B,8GAAA,sBAAsB,OAAA;AACtB,6GAAA,qBAAqB,OAAA;AACrB,gHAAA,wBAAwB,OAAA;AACxB,4GAAA,oBAAoB,OAAA;AAItB,mFAAgF;AAAvE,oHAAA,eAAe,OAAA;AACxB,yEAAuE;AAA9D,2GAAA,WAAW,OAAA;AACpB,qFAAmF;AAA1E,uHAAA,iBAAiB,OAAA;AAC1B,yEAAuE;AAA9D,2GAAA,WAAW,OAAA;AACpB,iGAA8F;AAArF,kIAAA,sBAAsB,OAAA;AAC/B,mGAAgG;AAAvF,gIAAA,qBAAqB,OAAA;AAG9B,2DAiCoC;AAhClC,0HAAA,0BAA0B,OAAA;AAE1B,qHAAA,qBAAqB,OAAA;AAErB,2HAAA,2BAA2B,OAAA;AAE3B,0HAAA,0BAA0B,OAAA;AAE1B,gIAAA,gCAAgC,OAAA;AAEhC,6HAAA,6BAA6B,OAAA;AAE7B,4HAAA,4BAA4B,OAAA;AAE5B,yIAAA,yCAAyC,OAAA;AAEzC,4HAAA,4BAA4B,OAAA;AAE5B,qIAAA,qCAAqC,OAAA;AAErC,6HAAA,6BAA6B,OAAA;AAE7B,8HAAA,8BAA8B,OAAA;AAE9B,gIAAA,gCAAgC,OAAA;AAEhC,yIAAA,yCAAyC,OAAA;AAEzC,+HAAA,+BAA+B,OAAA;AAE/B,gIAAA,gCAAgC,OAAA;AAKlC,wEAGgD;AAF9C,oHAAA,mBAAmB,OAAA;AAGrB,sEAG+C;AAF7C,kHAAA,kBAAkB,OAAA;AAGpB,wEAGgD;AAF9C,oHAAA,mBAAmB,OAAA;AAGrB,oFAAiF;AAAxE,wHAAA,iBAAiB,OAAA;AAG1B,6EAA2D;AAC3D,sFAAoF;AAA3E,yGAAA,UAAU,OAAA;AACnB,sGAAmG;AAA1F,wHAAA,iBAAiB,OAAA;AAG1B,oFAAkE;AAClE,6GAA0G;AAAjG,wHAAA,iBAAiB,OAAA;AAG1B,yDAAuC;AAGvC,0DAAwC;AAGxC,wEAAsD;AAGtD,6CAA4C;AAAnC,sGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import { Repository } from 'typeorm';
2
+ import { MediaEntity, MediaFolderEntity } from '../../infrastructure/persistence/entities/media.entity';
3
+ import { MediaType } from '../../domain/enums/media-type.enum';
4
+ import { CreateFolderDto, MediaQueryDto, UpdateFolderDto, UpdateMediaDto } from '../../presentation/dto/media.dto';
5
+ import { MinioService } from './minio.service';
6
+ export declare class MediaService {
7
+ private mediaRepository;
8
+ private folderRepository;
9
+ private minioService;
10
+ constructor(mediaRepository: Repository<MediaEntity>, folderRepository: Repository<MediaFolderEntity>, minioService: MinioService);
11
+ private transformMediaWithFullUrl;
12
+ uploadFiles(files: Express.Multer.File[], folderId?: number): Promise<any[]>;
13
+ findAll(query: MediaQueryDto): Promise<{
14
+ items: {
15
+ url: string;
16
+ id: number;
17
+ name: string;
18
+ filename: string;
19
+ mimeType: string;
20
+ size: number;
21
+ width: number;
22
+ height: number;
23
+ type: MediaType;
24
+ alt: string;
25
+ caption: string;
26
+ hash: string;
27
+ ext: string;
28
+ folderId?: number;
29
+ folder: MediaFolderEntity;
30
+ createdAt: Date;
31
+ updatedAt: Date;
32
+ }[];
33
+ total: number;
34
+ page: number;
35
+ limit: number;
36
+ totalPages: number;
37
+ }>;
38
+ findOne(id: number): Promise<{
39
+ url: string;
40
+ id: number;
41
+ name: string;
42
+ filename: string;
43
+ mimeType: string;
44
+ size: number;
45
+ width: number;
46
+ height: number;
47
+ type: MediaType;
48
+ alt: string;
49
+ caption: string;
50
+ hash: string;
51
+ ext: string;
52
+ folderId?: number;
53
+ folder: MediaFolderEntity;
54
+ createdAt: Date;
55
+ updatedAt: Date;
56
+ }>;
57
+ update(id: number, updateMediaDto: UpdateMediaDto): Promise<{
58
+ url: string;
59
+ id: number;
60
+ name: string;
61
+ filename: string;
62
+ mimeType: string;
63
+ size: number;
64
+ width: number;
65
+ height: number;
66
+ type: MediaType;
67
+ alt: string;
68
+ caption: string;
69
+ hash: string;
70
+ ext: string;
71
+ folderId?: number;
72
+ folder: MediaFolderEntity;
73
+ createdAt: Date;
74
+ updatedAt: Date;
75
+ }>;
76
+ remove(id: number): Promise<{
77
+ message: string;
78
+ }>;
79
+ createFolder(createFolderDto: CreateFolderDto): Promise<MediaFolderEntity>;
80
+ findAllFolders(): Promise<{
81
+ subfolderCount: number;
82
+ mediaCount: number;
83
+ id: number;
84
+ name: string;
85
+ path: string;
86
+ parentId?: number;
87
+ parent: MediaFolderEntity;
88
+ createdAt: Date;
89
+ updatedAt: Date;
90
+ }[]>;
91
+ findFolder(id: number): Promise<MediaFolderEntity>;
92
+ updateFolder(id: number, updateFolderDto: UpdateFolderDto): Promise<MediaFolderEntity>;
93
+ removeFolder(id: number): Promise<{
94
+ message: string;
95
+ }>;
96
+ getStats(startDate?: Date, endDate?: Date): Promise<{
97
+ total: number;
98
+ byType: {
99
+ images: number;
100
+ videos: number;
101
+ documents: number;
102
+ others: number;
103
+ };
104
+ totalStorage: number;
105
+ totalStorageFormatted: string;
106
+ thisMonth: number;
107
+ recentUploads: {
108
+ url: string;
109
+ id: number;
110
+ name: string;
111
+ filename: string;
112
+ mimeType: string;
113
+ size: number;
114
+ width: number;
115
+ height: number;
116
+ type: MediaType;
117
+ alt: string;
118
+ caption: string;
119
+ hash: string;
120
+ ext: string;
121
+ folderId?: number;
122
+ folder: MediaFolderEntity;
123
+ createdAt: Date;
124
+ updatedAt: Date;
125
+ }[];
126
+ uploadsByDay: any[];
127
+ }>;
128
+ private getUploadsByDay;
129
+ private formatBytes;
130
+ private parseFolderId;
131
+ private getMediaType;
132
+ private normalizeTypeFilter;
133
+ }
134
+ //# sourceMappingURL=media.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.service.d.ts","sourceRoot":"","sources":["../../../../../src/server/media/application/services/media.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,YAAY;IAGrB,OAAO,CAAC,eAAe;IAEvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;gBAHZ,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,EAExC,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAC/C,YAAY,EAAE,YAAY;IAIpC,OAAO,CAAC,yBAAyB;IAO3B,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM;IAgD3D,OAAO,CAAC,KAAK,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;IAyC5B,OAAO,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;IAalB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;;;;;;;;;;;;;;;;;;;IAUjD,MAAM,CAAC,EAAE,EAAE,MAAM;;;IAmBjB,YAAY,CAAC,eAAe,EAAE,eAAe;IAoB7C,cAAc;;;;;;;;;;;IA4Bd,UAAU,CAAC,EAAE,EAAE,MAAM;IAarB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAqBzD,YAAY,CAAC,EAAE,EAAE,MAAM;;;IAkBvB,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqEjC,eAAe;IAkB7B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,mBAAmB;CA+B5B"}
@@ -0,0 +1,357 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MediaService = void 0;
19
+ const common_1 = require("@nestjs/common");
20
+ const typeorm_1 = require("@nestjs/typeorm");
21
+ const sharp_1 = __importDefault(require("sharp"));
22
+ const typeorm_2 = require("typeorm");
23
+ const media_entity_1 = require("../../infrastructure/persistence/entities/media.entity");
24
+ const media_type_enum_1 = require("../../domain/enums/media-type.enum");
25
+ const minio_service_1 = require("./minio.service");
26
+ let MediaService = class MediaService {
27
+ mediaRepository;
28
+ folderRepository;
29
+ minioService;
30
+ constructor(mediaRepository, folderRepository, minioService) {
31
+ this.mediaRepository = mediaRepository;
32
+ this.folderRepository = folderRepository;
33
+ this.minioService = minioService;
34
+ }
35
+ transformMediaWithFullUrl(media) {
36
+ return {
37
+ ...media,
38
+ url: this.minioService.buildFullUrl(media.url),
39
+ };
40
+ }
41
+ async uploadFiles(files, folderId) {
42
+ const uploadedMedia = [];
43
+ for (const file of files) {
44
+ try {
45
+ const type = this.getMediaType(file.mimetype);
46
+ let width;
47
+ let height;
48
+ if (type === media_type_enum_1.MediaType.IMAGE) {
49
+ const metadata = await (0, sharp_1.default)(file.buffer).metadata();
50
+ width = metadata.width;
51
+ height = metadata.height;
52
+ }
53
+ const { url, filename, hash } = await this.minioService.uploadFile(file, folderId ? `folder-${folderId}` : undefined);
54
+ const media = this.mediaRepository.create({
55
+ name: file.originalname,
56
+ filename,
57
+ url,
58
+ mimeType: file.mimetype,
59
+ size: file.size,
60
+ width,
61
+ height,
62
+ type,
63
+ hash,
64
+ ext: file.originalname.split('.').pop(),
65
+ folderId,
66
+ });
67
+ const savedMedia = await this.mediaRepository.save(media);
68
+ uploadedMedia.push(this.transformMediaWithFullUrl(savedMedia));
69
+ }
70
+ catch (error) {
71
+ console.error(`Error uploading file ${file.originalname}:`, error);
72
+ }
73
+ }
74
+ return uploadedMedia;
75
+ }
76
+ async findAll(query) {
77
+ const { search, type } = query;
78
+ const page = parseInt(query.page) || 1;
79
+ const limit = parseInt(query.limit) || 20;
80
+ const skip = (page - 1) * limit;
81
+ const where = {};
82
+ if (search) {
83
+ where.name = (0, typeorm_2.Like)(`%${search}%`);
84
+ }
85
+ const typeFilter = this.normalizeTypeFilter(type);
86
+ if (typeFilter !== undefined) {
87
+ where.type = typeFilter;
88
+ }
89
+ const folderId = this.parseFolderId(query.folderId);
90
+ if (folderId === null) {
91
+ where.folderId = (0, typeorm_2.IsNull)();
92
+ }
93
+ else if (folderId !== undefined) {
94
+ where.folderId = folderId;
95
+ }
96
+ const [items, total] = await this.mediaRepository.findAndCount({
97
+ where,
98
+ relations: ['folder'],
99
+ order: { createdAt: 'DESC' },
100
+ skip,
101
+ take: limit,
102
+ });
103
+ return {
104
+ items: items.map(item => this.transformMediaWithFullUrl(item)),
105
+ total,
106
+ page,
107
+ limit,
108
+ totalPages: Math.ceil(total / limit),
109
+ };
110
+ }
111
+ async findOne(id) {
112
+ const media = await this.mediaRepository.findOne({
113
+ where: { id },
114
+ relations: ['folder'],
115
+ });
116
+ if (!media) {
117
+ throw new common_1.NotFoundException(`Media with ID ${id} not found`);
118
+ }
119
+ return this.transformMediaWithFullUrl(media);
120
+ }
121
+ async update(id, updateMediaDto) {
122
+ const media = await this.mediaRepository.findOne({ where: { id } });
123
+ if (!media) {
124
+ throw new common_1.NotFoundException(`Media with ID ${id} not found`);
125
+ }
126
+ Object.assign(media, updateMediaDto);
127
+ const updated = await this.mediaRepository.save(media);
128
+ return this.transformMediaWithFullUrl(updated);
129
+ }
130
+ async remove(id) {
131
+ const media = await this.mediaRepository.findOne({ where: { id } });
132
+ if (!media) {
133
+ throw new common_1.NotFoundException(`Media with ID ${id} not found`);
134
+ }
135
+ try {
136
+ await this.minioService.deleteFile(media.filename);
137
+ }
138
+ catch (error) {
139
+ console.error('Error deleting from MinIO:', error);
140
+ }
141
+ await this.mediaRepository.remove(media);
142
+ return { message: 'Media deleted successfully' };
143
+ }
144
+ async createFolder(createFolderDto) {
145
+ let path = createFolderDto.name;
146
+ if (createFolderDto.parentId !== undefined && createFolderDto.parentId !== null) {
147
+ const parent = await this.folderRepository.findOne({
148
+ where: { id: createFolderDto.parentId },
149
+ });
150
+ if (parent) {
151
+ path = `${parent.path}/${createFolderDto.name}`;
152
+ }
153
+ }
154
+ const folder = this.folderRepository.create({
155
+ ...createFolderDto,
156
+ path,
157
+ });
158
+ return this.folderRepository.save(folder);
159
+ }
160
+ async findAllFolders() {
161
+ const folders = await this.folderRepository.find({
162
+ relations: ['parent'],
163
+ order: { createdAt: 'ASC' },
164
+ });
165
+ const foldersWithCounts = await Promise.all(folders.map(async (folder) => {
166
+ const subfolderCount = await this.folderRepository.count({
167
+ where: { parentId: folder.id },
168
+ });
169
+ const mediaCount = await this.mediaRepository.count({
170
+ where: { folderId: folder.id },
171
+ });
172
+ return {
173
+ ...folder,
174
+ subfolderCount,
175
+ mediaCount,
176
+ };
177
+ }));
178
+ return foldersWithCounts;
179
+ }
180
+ async findFolder(id) {
181
+ const folder = await this.folderRepository.findOne({
182
+ where: { id },
183
+ relations: ['parent'],
184
+ });
185
+ if (!folder) {
186
+ throw new common_1.NotFoundException(`Folder with ID ${id} not found`);
187
+ }
188
+ return folder;
189
+ }
190
+ async updateFolder(id, updateFolderDto) {
191
+ const folder = await this.findFolder(id);
192
+ Object.assign(folder, updateFolderDto);
193
+ if (updateFolderDto.name) {
194
+ if (folder.parentId) {
195
+ const parent = await this.folderRepository.findOne({
196
+ where: { id: folder.parentId },
197
+ });
198
+ if (parent) {
199
+ folder.path = `${parent.path}/${updateFolderDto.name}`;
200
+ }
201
+ }
202
+ else {
203
+ folder.path = updateFolderDto.name;
204
+ }
205
+ }
206
+ return this.folderRepository.save(folder);
207
+ }
208
+ async removeFolder(id) {
209
+ const folder = await this.findFolder(id);
210
+ const mediaCount = await this.mediaRepository.count({
211
+ where: { folderId: id },
212
+ });
213
+ if (mediaCount > 0) {
214
+ throw new Error('Cannot delete folder with media. Please move or delete media first.');
215
+ }
216
+ await this.folderRepository.remove(folder);
217
+ return { message: 'Folder deleted successfully' };
218
+ }
219
+ async getStats(startDate, endDate) {
220
+ const total = await this.mediaRepository.count();
221
+ const images = await this.mediaRepository.count({
222
+ where: { type: media_type_enum_1.MediaType.IMAGE },
223
+ });
224
+ const videos = await this.mediaRepository.count({
225
+ where: { type: media_type_enum_1.MediaType.VIDEO },
226
+ });
227
+ const documents = await this.mediaRepository.count({
228
+ where: { type: media_type_enum_1.MediaType.DOCUMENT },
229
+ });
230
+ const others = await this.mediaRepository.count({
231
+ where: { type: media_type_enum_1.MediaType.OTHER },
232
+ });
233
+ const totalSizeResult = await this.mediaRepository
234
+ .createQueryBuilder('media')
235
+ .select('SUM(media.size)', 'total')
236
+ .getRawOne();
237
+ const totalStorage = parseInt(totalSizeResult?.total || '0');
238
+ const thisMonthStart = new Date();
239
+ thisMonthStart.setDate(1);
240
+ thisMonthStart.setHours(0, 0, 0, 0);
241
+ const thisMonthCount = await this.mediaRepository
242
+ .createQueryBuilder('media')
243
+ .where('media.createdAt >= :start', { start: thisMonthStart })
244
+ .getCount();
245
+ let recentQuery = this.mediaRepository
246
+ .createQueryBuilder('media')
247
+ .leftJoinAndSelect('media.folder', 'folder')
248
+ .orderBy('media.createdAt', 'DESC')
249
+ .take(10);
250
+ if (startDate && endDate) {
251
+ recentQuery = recentQuery
252
+ .where('media.createdAt >= :start', { start: startDate })
253
+ .andWhere('media.createdAt <= :end', { end: endDate });
254
+ }
255
+ const recentUploads = await recentQuery.getMany();
256
+ const uploadsByDay = await this.getUploadsByDay(startDate, endDate);
257
+ return {
258
+ total,
259
+ byType: {
260
+ images,
261
+ videos,
262
+ documents,
263
+ others,
264
+ },
265
+ totalStorage,
266
+ totalStorageFormatted: this.formatBytes(totalStorage),
267
+ thisMonth: thisMonthCount,
268
+ recentUploads: recentUploads.map(item => this.transformMediaWithFullUrl(item)),
269
+ uploadsByDay,
270
+ };
271
+ }
272
+ async getUploadsByDay(startDate, endDate) {
273
+ const start = startDate || new Date(Date.now() - 30 * 24 * 60 * 60 * 1000);
274
+ const end = endDate || new Date();
275
+ const result = await this.mediaRepository
276
+ .createQueryBuilder('media')
277
+ .select("DATE(media.createdAt) as date")
278
+ .addSelect('COUNT(*) as count')
279
+ .addSelect('SUM(media.size) as totalSize')
280
+ .where('media.createdAt >= :start', { start })
281
+ .andWhere('media.createdAt <= :end', { end })
282
+ .groupBy('DATE(media.createdAt)')
283
+ .orderBy('date', 'ASC')
284
+ .getRawMany();
285
+ return result;
286
+ }
287
+ formatBytes(bytes, decimals = 2) {
288
+ if (bytes === 0)
289
+ return '0 Bytes';
290
+ const k = 1024;
291
+ const dm = decimals < 0 ? 0 : decimals;
292
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
293
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
294
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
295
+ }
296
+ parseFolderId(folderId) {
297
+ if (folderId === undefined)
298
+ return undefined;
299
+ if (folderId === null || folderId === 'null' || folderId === '')
300
+ return null;
301
+ const parsed = Number(folderId);
302
+ if (Number.isNaN(parsed))
303
+ return undefined;
304
+ return parsed;
305
+ }
306
+ getMediaType(mimeType) {
307
+ if (mimeType.startsWith('image/'))
308
+ return media_type_enum_1.MediaType.IMAGE;
309
+ if (mimeType.startsWith('video/'))
310
+ return media_type_enum_1.MediaType.VIDEO;
311
+ if (mimeType.startsWith('audio/'))
312
+ return media_type_enum_1.MediaType.AUDIO;
313
+ if (mimeType.includes('pdf') ||
314
+ mimeType.includes('document') ||
315
+ mimeType.includes('text')) {
316
+ return media_type_enum_1.MediaType.DOCUMENT;
317
+ }
318
+ return media_type_enum_1.MediaType.OTHER;
319
+ }
320
+ normalizeTypeFilter(type) {
321
+ if (type === undefined || type === null || type === 'all')
322
+ return undefined;
323
+ const typeKey = String(type);
324
+ const typeMap = {
325
+ image: media_type_enum_1.MediaType.IMAGE,
326
+ video: media_type_enum_1.MediaType.VIDEO,
327
+ audio: media_type_enum_1.MediaType.AUDIO,
328
+ document: media_type_enum_1.MediaType.DOCUMENT,
329
+ other: media_type_enum_1.MediaType.OTHER,
330
+ };
331
+ if (typeKey in typeMap) {
332
+ return typeMap[typeKey];
333
+ }
334
+ const parsed = Number(type);
335
+ const validTypes = [
336
+ media_type_enum_1.MediaType.IMAGE,
337
+ media_type_enum_1.MediaType.VIDEO,
338
+ media_type_enum_1.MediaType.AUDIO,
339
+ media_type_enum_1.MediaType.DOCUMENT,
340
+ media_type_enum_1.MediaType.OTHER,
341
+ ];
342
+ if (!Number.isNaN(parsed) && validTypes.includes(parsed)) {
343
+ return parsed;
344
+ }
345
+ return undefined;
346
+ }
347
+ };
348
+ exports.MediaService = MediaService;
349
+ exports.MediaService = MediaService = __decorate([
350
+ (0, common_1.Injectable)(),
351
+ __param(0, (0, typeorm_1.InjectRepository)(media_entity_1.MediaEntity)),
352
+ __param(1, (0, typeorm_1.InjectRepository)(media_entity_1.MediaFolderEntity)),
353
+ __metadata("design:paramtypes", [typeorm_2.Repository,
354
+ typeorm_2.Repository,
355
+ minio_service_1.MinioService])
356
+ ], MediaService);
357
+ //# sourceMappingURL=media.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.service.js","sourceRoot":"","sources":["../../../../../src/server/media/application/services/media.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,6CAAmD;AACnD,kDAA0B;AAC1B,qCAAmD;AAEnD,yFAGgE;AAChE,wEAA+D;AAO/D,mDAA+C;AAGxC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGb;IAEA;IACA;IALV,YAEU,eAAwC,EAExC,gBAA+C,EAC/C,YAA0B;QAH1B,oBAAe,GAAf,eAAe,CAAyB;QAExC,qBAAgB,GAAhB,gBAAgB,CAA+B;QAC/C,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAGI,yBAAyB,CAAC,KAAkB;QAClD,OAAO;YACL,GAAG,KAAK;YACR,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4B,EAAE,QAAiB;QAC/D,MAAM,aAAa,GAAG,EAAE,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBAEH,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAG9C,IAAI,KAAyB,CAAC;gBAC9B,IAAI,MAA0B,CAAC;gBAC/B,IAAI,IAAI,KAAK,2BAAS,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACrD,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;oBACvB,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC3B,CAAC;gBAGD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAChE,IAAI,EACJ,QAAQ,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAC;gBAGF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;oBACxC,IAAI,EAAE,IAAI,CAAC,YAAY;oBACvB,QAAQ;oBACR,GAAG;oBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK;oBACL,MAAM;oBACN,IAAI;oBACJ,IAAI;oBACJ,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;oBACvC,QAAQ;iBACT,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAoB;QAChC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAEhC,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,GAAG,IAAA,cAAI,EAAC,IAAI,MAAM,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;QAC1B,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,QAAQ,GAAG,IAAA,gBAAM,GAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;YAC7D,KAAK;YACL,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YAC5B,IAAI;YACJ,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC9D,KAAK;YACL,IAAI;YACJ,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACrC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,0BAAiB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAA8B;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,0BAAiB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,0BAAiB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QAGD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACnD,CAAC;IAGD,KAAK,CAAC,YAAY,CAAC,eAAgC;QACjD,IAAI,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAEhC,IAAI,eAAe,CAAC,QAAQ,KAAK,SAAS,IAAI,eAAe,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBACjD,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,EAAE;aACxC,CAAC,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YAClD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC1C,GAAG,eAAe;YAClB,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC/C,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC5B,CAAC,CAAC;QAGH,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBACvD,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;aAC/B,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;aAC/B,CAAC,CAAC;YAEH,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc;gBACd,UAAU;aACX,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,0BAAiB,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,eAAgC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAGvC,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACjD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE;iBAC/B,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;gBACzD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAGzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SACxB,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAgB,EAAE,OAAc;QAE7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAGjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,2BAAS,CAAC,KAAK,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,2BAAS,CAAC,KAAK,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACjD,KAAK,EAAE,EAAE,IAAI,EAAE,2BAAS,CAAC,QAAQ,EAAE;SACpC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,2BAAS,CAAC,KAAK,EAAE;SACjC,CAAC,CAAC;QAGH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe;aAC/C,kBAAkB,CAAC,OAAO,CAAC;aAC3B,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC;aAClC,SAAS,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;QAG7D,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAClC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe;aAC9C,kBAAkB,CAAC,OAAO,CAAC;aAC3B,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;aAC7D,QAAQ,EAAE,CAAC;QAGd,IAAI,WAAW,GAAG,IAAI,CAAC,eAAe;aACnC,kBAAkB,CAAC,OAAO,CAAC;aAC3B,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC;aAC3C,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;aAClC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,WAAW,GAAG,WAAW;iBACtB,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;iBACxD,QAAQ,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAGlD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEpE,OAAO;YACL,KAAK;YACL,MAAM,EAAE;gBACN,MAAM;gBACN,MAAM;gBACN,SAAS;gBACT,MAAM;aACP;YACD,YAAY;YACZ,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;YACrD,SAAS,EAAE,cAAc;YACzB,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC9E,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,SAAgB,EAAE,OAAc;QAC5D,MAAM,KAAK,GAAG,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe;aACtC,kBAAkB,CAAC,OAAO,CAAC;aAC3B,MAAM,CAAC,+BAA+B,CAAC;aACvC,SAAS,CAAC,mBAAmB,CAAC;aAC9B,SAAS,CAAC,8BAA8B,CAAC;aACzC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC;aAC7C,QAAQ,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC;aAC5C,OAAO,CAAC,uBAAuB,CAAC;aAChC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;aACtB,UAAU,EAAE,CAAC;QAEhB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;QAC7C,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAElC,MAAM,CAAC,GAAG,IAAI,CAAC;QACf,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,aAAa,CAAC,QAAiC;QACrD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,2BAAS,CAAC,KAAK,CAAC;QAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,2BAAS,CAAC,KAAK,CAAC;QAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,2BAAS,CAAC,KAAK,CAAC;QAC1D,IACE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC7B,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EACzB,CAAC;YACD,OAAO,2BAAS,CAAC,QAAQ,CAAC;QAC5B,CAAC;QACD,OAAO,2BAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAEO,mBAAmB,CAAC,IAAsB;QAChD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,SAAS,CAAC;QAE5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,OAAO,GAA8B;YACzC,KAAK,EAAE,2BAAS,CAAC,KAAK;YACtB,KAAK,EAAE,2BAAS,CAAC,KAAK;YACtB,KAAK,EAAE,2BAAS,CAAC,KAAK;YACtB,QAAQ,EAAE,2BAAS,CAAC,QAAQ;YAC5B,KAAK,EAAE,2BAAS,CAAC,KAAK;SACvB,CAAC;QAEF,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG;YACjB,2BAAS,CAAC,KAAK;YACf,2BAAS,CAAC,KAAK;YACf,2BAAS,CAAC,KAAK;YACf,2BAAS,CAAC,QAAQ;YAClB,2BAAS,CAAC,KAAK;SAChB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,MAAmB,CAAC;QAC7B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AAhZY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,0BAAW,CAAC,CAAA;IAE7B,WAAA,IAAA,0BAAgB,EAAC,gCAAiB,CAAC,CAAA;qCADX,oBAAU;QAET,oBAAU;QACd,4BAAY;GANzB,YAAY,CAgZxB"}
@@ -0,0 +1,24 @@
1
+ import { OnModuleInit } from '@nestjs/common';
2
+ import { type AdminCoreMinioOptions, type AdminCoreOptions } from '../../../admin-core-options.interface';
3
+ export declare class MinioService implements OnModuleInit {
4
+ private readonly options;
5
+ private readonly logger;
6
+ private minioClient?;
7
+ private bucketName?;
8
+ private publicUrl?;
9
+ constructor(options: AdminCoreOptions);
10
+ onModuleInit(): Promise<void>;
11
+ private ensureConfigured;
12
+ private ensureBucketExists;
13
+ uploadFile(file: Express.Multer.File, folder?: string): Promise<{
14
+ url: string;
15
+ filename: string;
16
+ hash: string;
17
+ }>;
18
+ deleteFile(filename: string): Promise<void>;
19
+ getFileUrl(filename: string): Promise<string>;
20
+ buildFullUrl(path: string): string;
21
+ listFiles(prefix?: string): Promise<string[]>;
22
+ }
23
+ export type { AdminCoreMinioOptions };
24
+ //# sourceMappingURL=minio.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minio.service.d.ts","sourceRoot":"","sources":["../../../../../src/server/media/application/services/minio.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI1E,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,qBACa,YAAa,YAAW,YAAY;IAOjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IANtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAS;gBAGoB,OAAO,EAAE,gBAAgB;IAwBlE,YAAY;IAKlB,OAAO,CAAC,gBAAgB;YAQV,kBAAkB;IAiC1B,UAAU,CACd,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EACzB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IA6BI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK5B,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAoBpD;AAGD,YAAY,EAAE,qBAAqB,EAAE,CAAC"}