diff --git a/.gitignore b/.gitignore index 8cd2c41b..c16c401c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules -dist .env npm-debug.log coverage - \ No newline at end of file +/dist +tmp-start.* +*.log diff --git a/dist/app.controller.d.ts b/dist/app.controller.d.ts deleted file mode 100644 index 787d1608..00000000 --- a/dist/app.controller.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { AppService } from './app.service'; -export declare class AppController { - private readonly appService; - constructor(appService: AppService); - getHealth(): string; -} diff --git a/dist/app.controller.js b/dist/app.controller.js deleted file mode 100644 index d61f14af..00000000 --- a/dist/app.controller.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AppController = void 0; -const common_1 = require("@nestjs/common"); -const swagger_1 = require("@nestjs/swagger"); -const app_service_1 = require("./app.service"); -let AppController = class AppController { - appService; - constructor(appService) { - this.appService = appService; - } - getHealth() { - return this.appService.getHealth(); - } -}; -exports.AppController = AppController; -__decorate([ - (0, common_1.Get)('health'), - (0, common_1.Header)('Content-Type', 'text/plain; charset=utf-8'), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) -], AppController.prototype, "getHealth", null); -exports.AppController = AppController = __decorate([ - (0, swagger_1.ApiTags)('Health'), - (0, common_1.Controller)(), - __metadata("design:paramtypes", [app_service_1.AppService]) -], AppController); -//# sourceMappingURL=app.controller.js.map \ No newline at end of file diff --git a/dist/app.controller.js.map b/dist/app.controller.js.map deleted file mode 100644 index 98298b57..00000000 --- a/dist/app.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../src/app.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyD;AACzD,6CAA0C;AAC1C,+CAA2C;AAIpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACK;IAA7B,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAIvD,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC;CACF,CAAA;AARY,sCAAa;AAKxB;IAFC,IAAA,YAAG,EAAC,QAAQ,CAAC;IACb,IAAA,eAAM,EAAC,cAAc,EAAE,2BAA2B,CAAC;;;;8CAGnD;wBAPU,aAAa;IAFzB,IAAA,iBAAO,EAAC,QAAQ,CAAC;IACjB,IAAA,mBAAU,GAAE;qCAE8B,wBAAU;GADxC,aAAa,CAQzB"} \ No newline at end of file diff --git a/dist/app.module.d.ts b/dist/app.module.d.ts deleted file mode 100644 index 09cdb35c..00000000 --- a/dist/app.module.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare class AppModule { -} diff --git a/dist/app.module.js b/dist/app.module.js deleted file mode 100644 index e9d4ee97..00000000 --- a/dist/app.module.js +++ /dev/null @@ -1,78 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AppModule = void 0; -const common_1 = require("@nestjs/common"); -const config_1 = require("@nestjs/config"); -const typeorm_1 = require("@nestjs/typeorm"); -const app_controller_1 = require("./app.controller"); -const app_service_1 = require("./app.service"); -const configuration_1 = require("./config/configuration"); -const env_validation_1 = require("./config/env.validation"); -const typeorm_config_1 = require("./config/typeorm.config"); -const auth_module_1 = require("./modules/auth/auth.module"); -const auth_otp_entity_1 = require("./modules/auth/entities/auth-otp.entity"); -const user_session_entity_1 = require("./modules/auth/entities/user-session.entity"); -const category_entity_1 = require("./modules/catalog/entities/category.entity"); -const attribute_definition_entity_1 = require("./modules/catalog/entities/attribute-definition.entity"); -const brand_entity_1 = require("./modules/catalog/entities/brand.entity"); -const product_attribute_value_entity_1 = require("./modules/catalog/entities/product-attribute-value.entity"); -const product_meta_entity_1 = require("./modules/catalog/entities/product-meta.entity"); -const product_entity_1 = require("./modules/catalog/entities/product.entity"); -const product_review_entity_1 = require("./modules/catalog/entities/product-review.entity"); -const media_module_1 = require("./modules/media/media.module"); -const media_asset_entity_1 = require("./modules/media/entities/media-asset.entity"); -const catalog_module_1 = require("./modules/catalog/catalog.module"); -const storage_module_1 = require("./modules/storage/storage.module"); -const loyalty_profile_entity_1 = require("./modules/users/entities/loyalty-profile.entity"); -const user_entity_1 = require("./modules/users/entities/user.entity"); -const user_level_history_entity_1 = require("./modules/users/entities/user-level-history.entity"); -const wallet_transaction_entity_1 = require("./modules/users/entities/wallet-transaction.entity"); -const wallet_entity_1 = require("./modules/users/entities/wallet.entity"); -const users_module_1 = require("./modules/users/users.module"); -let AppModule = class AppModule { -}; -exports.AppModule = AppModule; -exports.AppModule = AppModule = __decorate([ - (0, common_1.Module)({ - imports: [ - config_1.ConfigModule.forRoot({ - isGlobal: true, - load: [configuration_1.default], - validate: env_validation_1.validateEnv, - envFilePath: ['.env'], - }), - typeorm_1.TypeOrmModule.forRootAsync(typeorm_config_1.typeOrmConfigFactory), - typeorm_1.TypeOrmModule.forFeature([ - user_entity_1.User, - wallet_entity_1.Wallet, - wallet_transaction_entity_1.WalletTransaction, - loyalty_profile_entity_1.LoyaltyProfile, - user_level_history_entity_1.UserLevelHistory, - auth_otp_entity_1.AuthOtp, - user_session_entity_1.UserSession, - product_entity_1.Product, - category_entity_1.Category, - brand_entity_1.Brand, - product_review_entity_1.ProductReview, - product_meta_entity_1.ProductMeta, - attribute_definition_entity_1.AttributeDefinition, - product_attribute_value_entity_1.ProductAttributeValue, - media_asset_entity_1.MediaAsset, - ]), - storage_module_1.StorageModule, - users_module_1.UsersModule, - catalog_module_1.CatalogModule, - media_module_1.MediaModule, - auth_module_1.AuthModule, - ], - controllers: [app_controller_1.AppController], - providers: [app_service_1.AppService], - }) -], AppModule); -//# sourceMappingURL=app.module.js.map \ No newline at end of file diff --git a/dist/app.module.js.map b/dist/app.module.js.map deleted file mode 100644 index 4e1619fa..00000000 --- a/dist/app.module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,2CAA8C;AAC9C,6CAAgD;AAChD,qDAAiD;AACjD,+CAA2C;AAC3C,0DAAmD;AACnD,4DAAsD;AACtD,4DAA+D;AAC/D,4DAAwD;AACxD,6EAAkE;AAClE,qFAA0E;AAC1E,gFAAsE;AACtE,wGAA6F;AAC7F,0EAAgE;AAChE,8GAAkG;AAClG,wFAA6E;AAC7E,8EAAoE;AACpE,4FAAiF;AACjF,+DAA2D;AAC3D,oFAAyE;AACzE,qEAAiE;AACjE,qEAAiE;AACjE,4FAAiF;AACjF,sEAA4D;AAC5D,kGAAsF;AACtF,kGAAuF;AACvF,0EAAgE;AAChE,+DAA2D;AAqCpD,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAnCrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qBAAY,CAAC,OAAO,CAAC;gBACnB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,CAAC,uBAAa,CAAC;gBACrB,QAAQ,EAAE,4BAAW;gBACrB,WAAW,EAAE,CAAC,MAAM,CAAC;aACtB,CAAC;YACF,uBAAa,CAAC,YAAY,CAAC,qCAAoB,CAAC;YAChD,uBAAa,CAAC,UAAU,CAAC;gBACvB,kBAAI;gBACJ,sBAAM;gBACN,6CAAiB;gBACjB,uCAAc;gBACd,4CAAgB;gBAChB,yBAAO;gBACP,iCAAW;gBACX,wBAAO;gBACP,0BAAQ;gBACR,oBAAK;gBACL,qCAAa;gBACb,iCAAW;gBACX,iDAAmB;gBACnB,sDAAqB;gBACrB,+BAAU;aACX,CAAC;YACF,8BAAa;YACb,0BAAW;YACX,8BAAa;YACb,0BAAW;YACX,wBAAU;SACX;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG"} \ No newline at end of file diff --git a/dist/app.service.d.ts b/dist/app.service.d.ts deleted file mode 100644 index 5148ab6a..00000000 --- a/dist/app.service.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare class AppService { - getHealth(): string; -} diff --git a/dist/app.service.js b/dist/app.service.js deleted file mode 100644 index 23bf5e47..00000000 --- a/dist/app.service.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AppService = void 0; -const common_1 = require("@nestjs/common"); -let AppService = class AppService { - getHealth() { - return 'OK'; - } -}; -exports.AppService = AppService; -exports.AppService = AppService = __decorate([ - (0, common_1.Injectable)() -], AppService); -//# sourceMappingURL=app.service.js.map \ No newline at end of file diff --git a/dist/app.service.js.map b/dist/app.service.js.map deleted file mode 100644 index e75814d9..00000000 --- a/dist/app.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"app.service.js","sourceRoot":"","sources":["../src/app.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAJY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAItB"} \ No newline at end of file diff --git a/dist/common/decorators/permissions.decorator.d.ts b/dist/common/decorators/permissions.decorator.d.ts deleted file mode 100644 index a1679d1a..00000000 --- a/dist/common/decorators/permissions.decorator.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare const PERMISSIONS_KEY = "permissions"; -export declare const Permissions: (...permissions: string[]) => import("@nestjs/common").CustomDecorator; diff --git a/dist/common/decorators/permissions.decorator.js b/dist/common/decorators/permissions.decorator.js deleted file mode 100644 index 01668789..00000000 --- a/dist/common/decorators/permissions.decorator.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Permissions = exports.PERMISSIONS_KEY = void 0; -const common_1 = require("@nestjs/common"); -exports.PERMISSIONS_KEY = 'permissions'; -const Permissions = (...permissions) => (0, common_1.SetMetadata)(exports.PERMISSIONS_KEY, permissions); -exports.Permissions = Permissions; -//# sourceMappingURL=permissions.decorator.js.map \ No newline at end of file diff --git a/dist/common/decorators/permissions.decorator.js.map b/dist/common/decorators/permissions.decorator.js.map deleted file mode 100644 index f2cf88a7..00000000 --- a/dist/common/decorators/permissions.decorator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"permissions.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/permissions.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAEhC,QAAA,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,WAAW,GAAG,CAAC,GAAG,WAAqB,EAAE,EAAE,CACtD,IAAA,oBAAW,EAAC,uBAAe,EAAE,WAAW,CAAC,CAAC;AAD/B,QAAA,WAAW,eACoB"} \ No newline at end of file diff --git a/dist/common/decorators/roles.decorator.d.ts b/dist/common/decorators/roles.decorator.d.ts deleted file mode 100644 index 5eeb0f2d..00000000 --- a/dist/common/decorators/roles.decorator.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { UserRole } from '../../modules/users/enums/user-role.enum'; -export declare const ROLES_KEY = "roles"; -export declare const Roles: (...roles: UserRole[]) => import("@nestjs/common").CustomDecorator; diff --git a/dist/common/decorators/roles.decorator.js b/dist/common/decorators/roles.decorator.js deleted file mode 100644 index 126533b0..00000000 --- a/dist/common/decorators/roles.decorator.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Roles = exports.ROLES_KEY = void 0; -const common_1 = require("@nestjs/common"); -exports.ROLES_KEY = 'roles'; -const Roles = (...roles) => (0, common_1.SetMetadata)(exports.ROLES_KEY, roles); -exports.Roles = Roles; -//# sourceMappingURL=roles.decorator.js.map \ No newline at end of file diff --git a/dist/common/decorators/roles.decorator.js.map b/dist/common/decorators/roles.decorator.js.map deleted file mode 100644 index ea68b78f..00000000 --- a/dist/common/decorators/roles.decorator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"roles.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/roles.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAGhC,QAAA,SAAS,GAAG,OAAO,CAAC;AAC1B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAiB,EAAE,EAAE,CAAC,IAAA,oBAAW,EAAC,iBAAS,EAAE,KAAK,CAAC,CAAC;AAAhE,QAAA,KAAK,SAA2D"} \ No newline at end of file diff --git a/dist/common/guards/permissions.guard.d.ts b/dist/common/guards/permissions.guard.d.ts deleted file mode 100644 index 3af456e9..00000000 --- a/dist/common/guards/permissions.guard.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { CanActivate, ExecutionContext } from '@nestjs/common'; -import { Reflector } from '@nestjs/core'; -export declare class PermissionsGuard implements CanActivate { - private readonly reflector; - constructor(reflector: Reflector); - canActivate(context: ExecutionContext): boolean; -} diff --git a/dist/common/guards/permissions.guard.js b/dist/common/guards/permissions.guard.js deleted file mode 100644 index 47fd3879..00000000 --- a/dist/common/guards/permissions.guard.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PermissionsGuard = void 0; -const common_1 = require("@nestjs/common"); -const core_1 = require("@nestjs/core"); -const permissions_decorator_1 = require("../decorators/permissions.decorator"); -let PermissionsGuard = class PermissionsGuard { - reflector; - constructor(reflector) { - this.reflector = reflector; - } - canActivate(context) { - const requiredPermissions = this.reflector.getAllAndOverride(permissions_decorator_1.PERMISSIONS_KEY, [context.getHandler(), context.getClass()]); - if (!requiredPermissions || requiredPermissions.length === 0) { - return true; - } - const request = context.switchToHttp().getRequest(); - const user = request.user; - const permissions = user?.permissions ?? []; - return requiredPermissions.every((permission) => permissions.includes(permission)); - } -}; -exports.PermissionsGuard = PermissionsGuard; -exports.PermissionsGuard = PermissionsGuard = __decorate([ - (0, common_1.Injectable)(), - __metadata("design:paramtypes", [core_1.Reflector]) -], PermissionsGuard); -//# sourceMappingURL=permissions.guard.js.map \ No newline at end of file diff --git a/dist/common/guards/permissions.guard.js.map b/dist/common/guards/permissions.guard.js.map deleted file mode 100644 index 99c408d0..00000000 --- a/dist/common/guards/permissions.guard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"permissions.guard.js","sourceRoot":"","sources":["../../../src/common/guards/permissions.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AACxB,uCAAyC;AACzC,+EAAsE;AAI/D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACE;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,WAAW,CAAC,OAAyB;QACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC1D,uCAAe,EACf,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QAEF,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAA8B,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;QAE5C,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAC9C,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CACjC,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAE6B,gBAAS;GADtC,gBAAgB,CAqB5B"} \ No newline at end of file diff --git a/dist/common/guards/roles.guard.d.ts b/dist/common/guards/roles.guard.d.ts deleted file mode 100644 index ea20d431..00000000 --- a/dist/common/guards/roles.guard.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { CanActivate, ExecutionContext } from '@nestjs/common'; -import { Reflector } from '@nestjs/core'; -export declare class RolesGuard implements CanActivate { - private readonly reflector; - constructor(reflector: Reflector); - canActivate(context: ExecutionContext): boolean; -} diff --git a/dist/common/guards/roles.guard.js b/dist/common/guards/roles.guard.js deleted file mode 100644 index 40aca936..00000000 --- a/dist/common/guards/roles.guard.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RolesGuard = void 0; -const common_1 = require("@nestjs/common"); -const core_1 = require("@nestjs/core"); -const roles_decorator_1 = require("../decorators/roles.decorator"); -let RolesGuard = class RolesGuard { - reflector; - constructor(reflector) { - this.reflector = reflector; - } - canActivate(context) { - const requiredRoles = this.reflector.getAllAndOverride(roles_decorator_1.ROLES_KEY, [ - context.getHandler(), - context.getClass(), - ]); - if (!requiredRoles || requiredRoles.length === 0) { - return true; - } - const request = context.switchToHttp().getRequest(); - const user = request.user; - return !!user && requiredRoles.includes(user.role); - } -}; -exports.RolesGuard = RolesGuard; -exports.RolesGuard = RolesGuard = __decorate([ - (0, common_1.Injectable)(), - __metadata("design:paramtypes", [core_1.Reflector]) -], RolesGuard); -//# sourceMappingURL=roles.guard.js.map \ No newline at end of file diff --git a/dist/common/guards/roles.guard.js.map b/dist/common/guards/roles.guard.js.map deleted file mode 100644 index 7a807bb7..00000000 --- a/dist/common/guards/roles.guard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"roles.guard.js","sourceRoot":"","sources":["../../../src/common/guards/roles.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AACxB,uCAAyC;AACzC,mEAA0D;AAInD,IAAM,UAAU,GAAhB,MAAM,UAAU;IACQ;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,WAAW,CAAC,OAAyB;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAW,2BAAS,EAAE;YAC1E,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAA8B,CAAC;QAEpD,OAAO,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AAlBY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAE6B,gBAAS;GADtC,UAAU,CAkBtB"} \ No newline at end of file diff --git a/dist/common/interceptors/response.interceptor.d.ts b/dist/common/interceptors/response.interceptor.d.ts deleted file mode 100644 index bf73f84c..00000000 --- a/dist/common/interceptors/response.interceptor.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common'; -import { Reflector } from '@nestjs/core'; -import { Observable } from 'rxjs'; -export interface StandardApiResponse { - success: boolean; - statusCode: number; - path: string; - timestamp: string; - data: T; -} -export declare class ResponseInterceptor implements NestInterceptor> { - private readonly reflector; - constructor(reflector: Reflector); - intercept(context: ExecutionContext, next: CallHandler): Observable>; -} diff --git a/dist/common/interceptors/response.interceptor.js b/dist/common/interceptors/response.interceptor.js deleted file mode 100644 index d34cd74f..00000000 --- a/dist/common/interceptors/response.interceptor.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ResponseInterceptor = void 0; -const common_1 = require("@nestjs/common"); -const core_1 = require("@nestjs/core"); -const rxjs_1 = require("rxjs"); -let ResponseInterceptor = class ResponseInterceptor { - reflector; - constructor(reflector) { - this.reflector = reflector; - } - intercept(context, next) { - const http = context.switchToHttp(); - const response = http.getResponse(); - const request = http.getRequest(); - return next.handle().pipe((0, rxjs_1.map)((data) => ({ - success: true, - statusCode: response.statusCode, - path: request.url, - timestamp: new Date().toISOString(), - data, - }))); - } -}; -exports.ResponseInterceptor = ResponseInterceptor; -exports.ResponseInterceptor = ResponseInterceptor = __decorate([ - (0, common_1.Injectable)(), - __metadata("design:paramtypes", [core_1.Reflector]) -], ResponseInterceptor); -//# sourceMappingURL=response.interceptor.js.map \ No newline at end of file diff --git a/dist/common/interceptors/response.interceptor.js.map b/dist/common/interceptors/response.interceptor.js.map deleted file mode 100644 index 4ea880d0..00000000 --- a/dist/common/interceptors/response.interceptor.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"response.interceptor.js","sourceRoot":"","sources":["../../../src/common/interceptors/response.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,uCAAyC;AACzC,+BAAuC;AAWhC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAGD;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,SAAS,CACP,OAAyB,EACzB,IAAiB;QAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,UAAG,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACb,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI;SACL,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;CACF,CAAA;AAvBY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAI6B,gBAAS;GAHtC,mBAAmB,CAuB/B"} \ No newline at end of file diff --git a/dist/common/utils/json-transform.util.d.ts b/dist/common/utils/json-transform.util.d.ts deleted file mode 100644 index 431be994..00000000 --- a/dist/common/utils/json-transform.util.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { TransformFnParams } from 'class-transformer'; -export declare function parseJsonValue({ value }: TransformFnParams): any; diff --git a/dist/common/utils/json-transform.util.js b/dist/common/utils/json-transform.util.js deleted file mode 100644 index ab90e439..00000000 --- a/dist/common/utils/json-transform.util.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseJsonValue = parseJsonValue; -function parseJsonValue({ value }) { - if (value === undefined || value === null || value === '') { - return undefined; - } - if (typeof value === 'object') { - return value; - } - if (typeof value === 'string') { - try { - return JSON.parse(value); - } - catch { - return value; - } - } - return value; -} -//# sourceMappingURL=json-transform.util.js.map \ No newline at end of file diff --git a/dist/common/utils/json-transform.util.js.map b/dist/common/utils/json-transform.util.js.map deleted file mode 100644 index 27f78292..00000000 --- a/dist/common/utils/json-transform.util.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"json-transform.util.js","sourceRoot":"","sources":["../../../src/common/utils/json-transform.util.ts"],"names":[],"mappings":";;AAEA,wCAkBC;AAlBD,SAAgB,cAAc,CAAC,EAAE,KAAK,EAAqB;IACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/dist/config/configuration.d.ts b/dist/config/configuration.d.ts deleted file mode 100644 index 93eb921c..00000000 --- a/dist/config/configuration.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -declare const _default: () => { - app: { - port: number; - nodeEnv: string; - }; - database: { - url: string | undefined; - ssl: boolean; - }; - redis: { - url: string | undefined; - }; - jwt: { - secret: string | undefined; - accessTtl: string; - refreshTtl: string; - }; - sms: { - apiKey: string | undefined; - wsdlUrl: string | undefined; - username: string | undefined; - password: string | undefined; - fromNumber: string | undefined; - }; - otp: { - ttlSeconds: number; - }; - minio: { - endpoint: string | undefined; - port: number; - useSsl: boolean; - accessKey: string | undefined; - secretKey: string | undefined; - bucket: string | undefined; - publicBucket: string | undefined; - privateBucket: string; - publicUrl: string | undefined; - }; -}; -export default _default; diff --git a/dist/config/configuration.js b/dist/config/configuration.js deleted file mode 100644 index a6e3e16d..00000000 --- a/dist/config/configuration.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = () => ({ - app: { - port: parseInt(process.env.PORT ?? '3000', 10), - nodeEnv: process.env.NODE_ENV ?? 'development', - }, - database: { - url: process.env.DB_URL, - ssl: (process.env.DB_SSL ?? 'false') === 'true', - }, - redis: { - url: process.env.REDIS_URL, - }, - jwt: { - secret: process.env.JWT_SECRET, - accessTtl: process.env.JWT_ACCESS_TTL ?? '15m', - refreshTtl: process.env.JWT_REFRESH_TTL ?? '30d', - }, - sms: { - apiKey: process.env.SMS_API_KEY, - wsdlUrl: process.env.SMS_WSDL_URL, - username: process.env.SMS_USERNAME, - password: process.env.SMS_PASSWORD, - fromNumber: process.env.SMS_NUMBER, - }, - otp: { - ttlSeconds: parseInt(process.env.OTP_TTL_SECONDS ?? '120', 10), - }, - minio: { - endpoint: process.env.MINIO_ENDPOINT, - port: parseInt(process.env.MINIO_PORT ?? '9000', 10), - useSsl: (process.env.MINIO_USE_SSL ?? 'false') === 'true', - accessKey: process.env.MINIO_ACCESS_KEY, - secretKey: process.env.MINIO_SECRET_KEY, - bucket: process.env.MINIO_BUCKET, - publicBucket: process.env.MINIO_PUBLIC_BUCKET ?? process.env.MINIO_BUCKET, - privateBucket: process.env.MINIO_PRIVATE_BUCKET ?? 'parsshop-private', - publicUrl: process.env.MINIO_PUBLIC_URL, - }, -}); -//# sourceMappingURL=configuration.js.map \ No newline at end of file diff --git a/dist/config/configuration.js.map b/dist/config/configuration.js.map deleted file mode 100644 index dfa93587..00000000 --- a/dist/config/configuration.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/config/configuration.ts"],"names":[],"mappings":";;AAAA,kBAAe,GAAG,EAAE,CAAC,CAAC;IACpB,GAAG,EAAE;QACH,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC;QAC9C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;KAC/C;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;QACvB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,MAAM;KAChD;IACD,KAAK,EAAE;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;KAC3B;IACD,GAAG,EAAE;QACH,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,KAAK;QAC9C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK;KACjD;IACD,GAAG,EAAE;QACH,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;QAC/B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;KACnC;IACD,GAAG,EAAE;QACH,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,EAAE,EAAE,CAAC;KAC/D;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;QACpC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,EAAE,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,KAAK,MAAM;QACzD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;QACvC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;QACvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAChC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QACzE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,kBAAkB;QACrE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;KACxC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/config/env.validation.d.ts b/dist/config/env.validation.d.ts deleted file mode 100644 index d397f083..00000000 --- a/dist/config/env.validation.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -declare class EnvironmentVariables { - PORT?: string; - NODE_ENV?: string; - DB_URL: string; - DB_SSL?: string; - REDIS_URL?: string; - JWT_SECRET: string; - JWT_ACCESS_TTL?: string; - JWT_REFRESH_TTL?: string; - SMS_API_KEY: string; - SMS_WSDL_URL?: string; - SMS_USERNAME?: string; - SMS_PASSWORD?: string; - SMS_NUMBER?: string; - OTP_TTL_SECONDS?: string; - MINIO_ENDPOINT?: string; - MINIO_PORT?: string; - MINIO_USE_SSL?: string; - MINIO_ACCESS_KEY?: string; - MINIO_SECRET_KEY?: string; - MINIO_BUCKET?: string; - MINIO_PUBLIC_BUCKET?: string; - MINIO_PRIVATE_BUCKET?: string; - MINIO_PUBLIC_URL?: string; -} -export declare function validateEnv(config: Record): EnvironmentVariables; -export {}; diff --git a/dist/config/env.validation.js b/dist/config/env.validation.js deleted file mode 100644 index 1ec76238..00000000 --- a/dist/config/env.validation.js +++ /dev/null @@ -1,167 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateEnv = validateEnv; -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -class EnvironmentVariables { - PORT; - NODE_ENV; - DB_URL; - DB_SSL; - REDIS_URL; - JWT_SECRET; - JWT_ACCESS_TTL; - JWT_REFRESH_TTL; - SMS_API_KEY; - SMS_WSDL_URL; - SMS_USERNAME; - SMS_PASSWORD; - SMS_NUMBER; - OTP_TTL_SECONDS; - MINIO_ENDPOINT; - MINIO_PORT; - MINIO_USE_SSL; - MINIO_ACCESS_KEY; - MINIO_SECRET_KEY; - MINIO_BUCKET; - MINIO_PUBLIC_BUCKET; - MINIO_PRIVATE_BUCKET; - MINIO_PUBLIC_URL; -} -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsNumberString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "PORT", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "NODE_ENV", void 0); -__decorate([ - (0, class_validator_1.IsNotEmpty)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "DB_URL", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "DB_SSL", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "REDIS_URL", void 0); -__decorate([ - (0, class_validator_1.IsNotEmpty)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "JWT_SECRET", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "JWT_ACCESS_TTL", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "JWT_REFRESH_TTL", void 0); -__decorate([ - (0, class_validator_1.IsNotEmpty)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "SMS_API_KEY", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "SMS_WSDL_URL", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "SMS_USERNAME", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "SMS_PASSWORD", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "SMS_NUMBER", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsNumberString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "OTP_TTL_SECONDS", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_ENDPOINT", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsNumberString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_PORT", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_USE_SSL", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_ACCESS_KEY", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_SECRET_KEY", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_BUCKET", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_PUBLIC_BUCKET", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_PRIVATE_BUCKET", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], EnvironmentVariables.prototype, "MINIO_PUBLIC_URL", void 0); -function validateEnv(config) { - const validatedConfig = (0, class_transformer_1.plainToInstance)(EnvironmentVariables, config, { - enableImplicitConversion: true, - }); - const errors = (0, class_validator_1.validateSync)(validatedConfig, { - skipMissingProperties: false, - }); - if (errors.length > 0) { - throw new Error(errors.toString()); - } - return validatedConfig; -} -//# sourceMappingURL=env.validation.js.map \ No newline at end of file diff --git a/dist/config/env.validation.js.map b/dist/config/env.validation.js.map deleted file mode 100644 index 007a7617..00000000 --- a/dist/config/env.validation.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"env.validation.js","sourceRoot":"","sources":["../../src/config/env.validation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/config/typeorm.config.d.ts b/dist/config/typeorm.config.d.ts deleted file mode 100644 index 313475d9..00000000 --- a/dist/config/typeorm.config.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { ConfigService } from '@nestjs/config'; -import { TypeOrmModuleAsyncOptions, TypeOrmModuleOptions } from '@nestjs/typeorm'; -export declare const buildTypeOrmOptions: (configService: ConfigService) => TypeOrmModuleOptions; -export declare const typeOrmConfigFactory: TypeOrmModuleAsyncOptions; diff --git a/dist/config/typeorm.config.js b/dist/config/typeorm.config.js deleted file mode 100644 index 4cc46c1d..00000000 --- a/dist/config/typeorm.config.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.typeOrmConfigFactory = exports.buildTypeOrmOptions = void 0; -const config_1 = require("@nestjs/config"); -const auth_otp_entity_1 = require("../modules/auth/entities/auth-otp.entity"); -const user_session_entity_1 = require("../modules/auth/entities/user-session.entity"); -const attribute_definition_entity_1 = require("../modules/catalog/entities/attribute-definition.entity"); -const brand_entity_1 = require("../modules/catalog/entities/brand.entity"); -const category_entity_1 = require("../modules/catalog/entities/category.entity"); -const product_attribute_value_entity_1 = require("../modules/catalog/entities/product-attribute-value.entity"); -const product_meta_entity_1 = require("../modules/catalog/entities/product-meta.entity"); -const product_entity_1 = require("../modules/catalog/entities/product.entity"); -const product_review_entity_1 = require("../modules/catalog/entities/product-review.entity"); -const media_asset_entity_1 = require("../modules/media/entities/media-asset.entity"); -const loyalty_profile_entity_1 = require("../modules/users/entities/loyalty-profile.entity"); -const user_entity_1 = require("../modules/users/entities/user.entity"); -const user_level_history_entity_1 = require("../modules/users/entities/user-level-history.entity"); -const wallet_transaction_entity_1 = require("../modules/users/entities/wallet-transaction.entity"); -const wallet_entity_1 = require("../modules/users/entities/wallet.entity"); -const buildTypeOrmOptions = (configService) => { - const sslEnabled = configService.get('database.ssl', false); - return { - type: 'postgres', - url: configService.get('database.url'), - ssl: sslEnabled ? { rejectUnauthorized: false } : false, - extra: sslEnabled ? { ssl: { rejectUnauthorized: false } } : {}, - entities: [ - user_entity_1.User, - wallet_entity_1.Wallet, - wallet_transaction_entity_1.WalletTransaction, - loyalty_profile_entity_1.LoyaltyProfile, - user_level_history_entity_1.UserLevelHistory, - auth_otp_entity_1.AuthOtp, - user_session_entity_1.UserSession, - product_entity_1.Product, - category_entity_1.Category, - brand_entity_1.Brand, - product_review_entity_1.ProductReview, - product_meta_entity_1.ProductMeta, - attribute_definition_entity_1.AttributeDefinition, - product_attribute_value_entity_1.ProductAttributeValue, - media_asset_entity_1.MediaAsset, - ], - autoLoadEntities: false, - synchronize: true, - }; -}; -exports.buildTypeOrmOptions = buildTypeOrmOptions; -exports.typeOrmConfigFactory = { - imports: [config_1.ConfigModule], - inject: [config_1.ConfigService], - useFactory: (configService) => (0, exports.buildTypeOrmOptions)(configService), -}; -//# sourceMappingURL=typeorm.config.js.map \ No newline at end of file diff --git a/dist/config/typeorm.config.js.map b/dist/config/typeorm.config.js.map deleted file mode 100644 index 2a73c9c5..00000000 --- a/dist/config/typeorm.config.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeorm.config.js","sourceRoot":"","sources":["../../src/config/typeorm.config.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,8EAAmE;AACnE,sFAA2E;AAC3E,yGAA8F;AAC9F,2EAAiE;AACjE,iFAAuE;AACvE,+GAAmG;AACnG,yFAA8E;AAC9E,+EAAqE;AACrE,6FAAkF;AAClF,qFAA0E;AAC1E,6FAAkF;AAClF,uEAA6D;AAC7D,mGAAuF;AACvF,mGAAwF;AACxF,2EAAiE;AAE1D,MAAM,mBAAmB,GAAG,CACjC,aAA4B,EACN,EAAE;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAU,cAAc,EAAE,KAAK,CAAC,CAAC;IAErE,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,aAAa,CAAC,GAAG,CAAS,cAAc,CAAC;QAC9C,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK;QACvD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/D,QAAQ,EAAE;YACR,kBAAI;YACJ,sBAAM;YACN,6CAAiB;YACjB,uCAAc;YACd,4CAAgB;YAChB,yBAAO;YACP,iCAAW;YACX,wBAAO;YACP,0BAAQ;YACR,oBAAK;YACL,qCAAa;YACb,iCAAW;YACX,iDAAmB;YACnB,sDAAqB;YACrB,+BAAU;SACX;QACD,gBAAgB,EAAE,KAAK;QACvB,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B;AAEW,QAAA,oBAAoB,GAA8B;IAC7D,OAAO,EAAE,CAAC,qBAAY,CAAC;IACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;IACvB,UAAU,EAAE,CAAC,aAA4B,EAAE,EAAE,CAAC,IAAA,2BAAmB,EAAC,aAAa,CAAC;CACjF,CAAC"} \ No newline at end of file diff --git a/dist/main.d.ts b/dist/main.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/dist/main.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/main.js b/dist/main.js deleted file mode 100644 index 8a7b7931..00000000 --- a/dist/main.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const common_1 = require("@nestjs/common"); -const core_1 = require("@nestjs/core"); -const swagger_1 = require("@nestjs/swagger"); -const app_module_1 = require("./app.module"); -const response_interceptor_1 = require("./common/interceptors/response.interceptor"); -async function bootstrap() { - const app = await core_1.NestFactory.create(app_module_1.AppModule); - const reflector = app.get(core_1.Reflector); - app.setGlobalPrefix('api'); - app.useGlobalPipes(new common_1.ValidationPipe({ - whitelist: true, - transform: true, - forbidNonWhitelisted: true, - transformOptions: { - enableImplicitConversion: true, - }, - })); - app.useGlobalInterceptors(new response_interceptor_1.ResponseInterceptor(reflector)); - const swaggerConfig = new swagger_1.DocumentBuilder() - .setTitle('ParsShop API') - .setDescription('Phase 1 API documentation for ParsShop') - .setVersion('1.0.0') - .addBearerAuth() - .build(); - const swaggerDocument = swagger_1.SwaggerModule.createDocument(app, swaggerConfig); - swagger_1.SwaggerModule.setup('docs', app, swaggerDocument); - await app.listen(process.env.PORT ?? 3000); -} -bootstrap(); -//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/dist/main.js.map b/dist/main.js.map deleted file mode 100644 index c268625d..00000000 --- a/dist/main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,2CAAgD;AAChD,uCAAsD;AACtD,6CAAiE;AACjE,6CAAyC;AACzC,qFAAiF;AAEjF,KAAK,UAAU,SAAS;IACtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAS,CAAC,CAAC;IAErC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,GAAG,CAAC,cAAc,CAChB,IAAI,uBAAc,CAAC;QACjB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,IAAI;QAC1B,gBAAgB,EAAE;YAChB,wBAAwB,EAAE,IAAI;SAC/B;KACF,CAAC,CACH,CAAC;IACF,GAAG,CAAC,qBAAqB,CAAC,IAAI,0CAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,IAAI,yBAAe,EAAE;SACxC,QAAQ,CAAC,cAAc,CAAC;SACxB,cAAc,CAAC,wCAAwC,CAAC;SACxD,UAAU,CAAC,OAAO,CAAC;SACnB,aAAa,EAAE;SACf,KAAK,EAAE,CAAC;IACX,MAAM,eAAe,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACzE,uBAAa,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;IAElD,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/dist/modules/auth/auth.controller.d.ts b/dist/modules/auth/auth.controller.d.ts deleted file mode 100644 index 3aa59ae8..00000000 --- a/dist/modules/auth/auth.controller.d.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { Request } from 'express'; -import { UserRole } from '../users/enums/user-role.enum'; -import { AuthService } from './auth.service'; -import { LoginPasswordDto } from './dto/login-password.dto'; -import { RefreshTokenDto } from './dto/refresh-token.dto'; -import { RegisterPasswordDto } from './dto/register-password.dto'; -import { RequestOtpDto } from './dto/request-otp.dto'; -import { VerifyOtpDto } from './dto/verify-otp.dto'; -import { JwtPayload } from './interfaces/jwt-payload.interface'; -export declare class AuthController { - private readonly authService; - constructor(authService: AuthService); - requestOtp(dto: RequestOtpDto): Promise<{ - message: string; - expiresInSeconds: number; - phone: string; - smsSent: boolean; - otpPreview: string | undefined; - }>; - registerWithPassword(dto: RegisterPasswordDto): Promise<{ - accessToken: string; - refreshToken: string; - user: { - id: string; - phone: string; - fullName: string; - role: UserRole; - level: import("../users/enums/user-level.enum").UserLevel; - }; - }>; - loginWithPassword(dto: LoginPasswordDto): Promise<{ - accessToken: string; - refreshToken: string; - user: { - id: string; - phone: string; - fullName: string; - role: UserRole; - level: import("../users/enums/user-level.enum").UserLevel; - }; - }>; - verifyOtp(dto: VerifyOtpDto): Promise<{ - accessToken: string; - refreshToken: string; - user: { - id: string; - phone: string; - fullName: string; - role: UserRole; - level: import("../users/enums/user-level.enum").UserLevel; - }; - }>; - refresh(dto: RefreshTokenDto): Promise<{ - accessToken: string; - refreshToken: string; - user: { - id: string; - phone: string; - fullName: string; - role: UserRole; - level: import("../users/enums/user-level.enum").UserLevel; - }; - }>; - logout(request: Request & { - user: JwtPayload; - }): Promise<{ - message: string; - }>; - adminCheck(request: Request & { - user: JwtPayload; - }): { - user: Express.User & JwtPayload; - authorized: boolean; - }; -} diff --git a/dist/modules/auth/auth.controller.js b/dist/modules/auth/auth.controller.js deleted file mode 100644 index 0b859823..00000000 --- a/dist/modules/auth/auth.controller.js +++ /dev/null @@ -1,121 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AuthController = void 0; -const common_1 = require("@nestjs/common"); -const swagger_1 = require("@nestjs/swagger"); -const permissions_decorator_1 = require("../../common/decorators/permissions.decorator"); -const roles_decorator_1 = require("../../common/decorators/roles.decorator"); -const permissions_guard_1 = require("../../common/guards/permissions.guard"); -const roles_guard_1 = require("../../common/guards/roles.guard"); -const user_role_enum_1 = require("../users/enums/user-role.enum"); -const auth_service_1 = require("./auth.service"); -const login_password_dto_1 = require("./dto/login-password.dto"); -const refresh_token_dto_1 = require("./dto/refresh-token.dto"); -const register_password_dto_1 = require("./dto/register-password.dto"); -const request_otp_dto_1 = require("./dto/request-otp.dto"); -const verify_otp_dto_1 = require("./dto/verify-otp.dto"); -const jwt_auth_guard_1 = require("./guards/jwt-auth.guard"); -let AuthController = class AuthController { - authService; - constructor(authService) { - this.authService = authService; - } - requestOtp(dto) { - return this.authService.requestOtp(dto.phone, dto.fullName); - } - registerWithPassword(dto) { - return this.authService.registerWithPassword(dto); - } - loginWithPassword(dto) { - return this.authService.loginWithPassword(dto); - } - verifyOtp(dto) { - return this.authService.verifyOtp(dto.phone, dto.otp); - } - refresh(dto) { - return this.authService.refreshToken(dto.refreshToken); - } - logout(request) { - return this.authService.logout(request.user.sub); - } - adminCheck(request) { - return { - user: request.user, - authorized: true, - }; - } -}; -exports.AuthController = AuthController; -__decorate([ - (0, common_1.Post)('otp/request'), - __param(0, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [request_otp_dto_1.RequestOtpDto]), - __metadata("design:returntype", void 0) -], AuthController.prototype, "requestOtp", null); -__decorate([ - (0, common_1.Post)('register/password'), - __param(0, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [register_password_dto_1.RegisterPasswordDto]), - __metadata("design:returntype", void 0) -], AuthController.prototype, "registerWithPassword", null); -__decorate([ - (0, common_1.Post)('login/password'), - __param(0, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [login_password_dto_1.LoginPasswordDto]), - __metadata("design:returntype", void 0) -], AuthController.prototype, "loginWithPassword", null); -__decorate([ - (0, common_1.Post)('otp/verify'), - __param(0, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [verify_otp_dto_1.VerifyOtpDto]), - __metadata("design:returntype", void 0) -], AuthController.prototype, "verifyOtp", null); -__decorate([ - (0, common_1.Post)('refresh'), - __param(0, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [refresh_token_dto_1.RefreshTokenDto]), - __metadata("design:returntype", void 0) -], AuthController.prototype, "refresh", null); -__decorate([ - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard), - (0, swagger_1.ApiBearerAuth)(), - (0, common_1.Post)('logout'), - __param(0, (0, common_1.Req)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) -], AuthController.prototype, "logout", null); -__decorate([ - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, swagger_1.ApiBearerAuth)(), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('users.manage'), - (0, common_1.Get)('me/admin-check'), - __param(0, (0, common_1.Req)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) -], AuthController.prototype, "adminCheck", null); -exports.AuthController = AuthController = __decorate([ - (0, swagger_1.ApiTags)('Auth'), - (0, common_1.Controller)('auth'), - __metadata("design:paramtypes", [auth_service_1.AuthService]) -], AuthController); -//# sourceMappingURL=auth.controller.js.map \ No newline at end of file diff --git a/dist/modules/auth/auth.controller.js.map b/dist/modules/auth/auth.controller.js.map deleted file mode 100644 index 35aaf426..00000000 --- a/dist/modules/auth/auth.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../src/modules/auth/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAOwB;AAExB,6CAAyD;AACzD,yFAA4E;AAC5E,6EAAgE;AAChE,6EAAyE;AACzE,iEAA6D;AAC7D,kEAAyD;AACzD,iDAA6C;AAC7C,iEAA4D;AAC5D,+DAA0D;AAC1D,uEAAkE;AAClE,2DAAsD;AACtD,yDAAoD;AACpD,4DAAuD;AAKhD,IAAM,cAAc,GAApB,MAAM,cAAc;IACI;IAA7B,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAGzD,UAAU,CAAS,GAAkB;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAGD,oBAAoB,CAAS,GAAwB;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAGD,iBAAiB,CAAS,GAAqB;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAGD,SAAS,CAAS,GAAiB;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAGD,OAAO,CAAS,GAAoB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAKD,MAAM,CAAQ,OAAuC;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAOD,UAAU,CAAQ,OAAuC;QACvD,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AA9CY,wCAAc;AAIzB;IADC,IAAA,aAAI,EAAC,aAAa,CAAC;IACR,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,+BAAa;;gDAEpC;AAGD;IADC,IAAA,aAAI,EAAC,mBAAmB,CAAC;IACJ,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,2CAAmB;;0DAEpD;AAGD;IADC,IAAA,aAAI,EAAC,gBAAgB,CAAC;IACJ,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,qCAAgB;;uDAE9C;AAGD;IADC,IAAA,aAAI,EAAC,YAAY,CAAC;IACR,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,6BAAY;;+CAElC;AAGD;IADC,IAAA,aAAI,EAAC,SAAS,CAAC;IACP,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,mCAAe;;6CAEnC;AAKD;IAHC,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,uBAAa,GAAE;IACf,IAAA,aAAI,EAAC,QAAQ,CAAC;IACP,WAAA,IAAA,YAAG,GAAE,CAAA;;;;4CAEZ;AAOD;IALC,IAAA,kBAAS,EAAC,6BAAY,EAAE,wBAAU,EAAE,oCAAgB,CAAC;IACrD,IAAA,uBAAa,GAAE;IACf,IAAA,uBAAK,EAAC,yBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,mCAAW,EAAC,cAAc,CAAC;IAC3B,IAAA,YAAG,EAAC,gBAAgB,CAAC;IACV,WAAA,IAAA,YAAG,GAAE,CAAA;;;;gDAKhB;yBA7CU,cAAc;IAF1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEyB,0BAAW;GAD1C,cAAc,CA8C1B"} \ No newline at end of file diff --git a/dist/modules/auth/auth.module.d.ts b/dist/modules/auth/auth.module.d.ts deleted file mode 100644 index 3f7dba9e..00000000 --- a/dist/modules/auth/auth.module.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare class AuthModule { -} diff --git a/dist/modules/auth/auth.module.js b/dist/modules/auth/auth.module.js deleted file mode 100644 index 456d39f1..00000000 --- a/dist/modules/auth/auth.module.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AuthModule = void 0; -const common_1 = require("@nestjs/common"); -const config_1 = require("@nestjs/config"); -const jwt_1 = require("@nestjs/jwt"); -const passport_1 = require("@nestjs/passport"); -const typeorm_1 = require("@nestjs/typeorm"); -const auth_controller_1 = require("./auth.controller"); -const auth_service_1 = require("./auth.service"); -const auth_otp_entity_1 = require("./entities/auth-otp.entity"); -const user_session_entity_1 = require("./entities/user-session.entity"); -const sms_service_1 = require("./sms.service"); -const jwt_strategy_1 = require("./strategies/jwt.strategy"); -const users_module_1 = require("../users/users.module"); -const roles_guard_1 = require("../../common/guards/roles.guard"); -const permissions_guard_1 = require("../../common/guards/permissions.guard"); -let AuthModule = class AuthModule { -}; -exports.AuthModule = AuthModule; -exports.AuthModule = AuthModule = __decorate([ - (0, common_1.Module)({ - imports: [ - users_module_1.UsersModule, - passport_1.PassportModule, - config_1.ConfigModule, - typeorm_1.TypeOrmModule.forFeature([auth_otp_entity_1.AuthOtp, user_session_entity_1.UserSession]), - jwt_1.JwtModule.registerAsync({ - imports: [config_1.ConfigModule], - inject: [config_1.ConfigService], - useFactory: (configService) => ({ - secret: configService.getOrThrow('jwt.secret'), - }), - }), - ], - controllers: [auth_controller_1.AuthController], - providers: [auth_service_1.AuthService, sms_service_1.SmsService, jwt_strategy_1.JwtStrategy, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard], - exports: [auth_service_1.AuthService], - }) -], AuthModule); -//# sourceMappingURL=auth.module.js.map \ No newline at end of file diff --git a/dist/modules/auth/auth.module.js.map b/dist/modules/auth/auth.module.js.map deleted file mode 100644 index 6efe9475..00000000 --- a/dist/modules/auth/auth.module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../src/modules/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,2CAA6D;AAC7D,qCAAwC;AACxC,+CAAkD;AAClD,6CAAgD;AAChD,uDAAmD;AACnD,iDAA6C;AAC7C,gEAAqD;AACrD,wEAA6D;AAC7D,+CAA2C;AAC3C,4DAAwD;AACxD,wDAAoD;AACpD,iEAA6D;AAC7D,6EAAyE;AAoBlE,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAlBtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,0BAAW;YACX,yBAAc;YACd,qBAAY;YACZ,uBAAa,CAAC,UAAU,CAAC,CAAC,yBAAO,EAAE,iCAAW,CAAC,CAAC;YAChD,eAAS,CAAC,aAAa,CAAC;gBACtB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,CAAC,aAA4B,EAAE,EAAE,CAAC,CAAC;oBAC7C,MAAM,EAAE,aAAa,CAAC,UAAU,CAAS,YAAY,CAAC;iBACvD,CAAC;aACH,CAAC;SACH;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,EAAE,wBAAU,EAAE,0BAAW,EAAE,wBAAU,EAAE,oCAAgB,CAAC;QAC/E,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"} \ No newline at end of file diff --git a/dist/modules/auth/auth.service.d.ts b/dist/modules/auth/auth.service.d.ts deleted file mode 100644 index 4dd407fd..00000000 --- a/dist/modules/auth/auth.service.d.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { ConfigService } from '@nestjs/config'; -import { JwtService } from '@nestjs/jwt'; -import { Repository } from 'typeorm'; -import { AuthOtp } from './entities/auth-otp.entity'; -import { UserSession } from './entities/user-session.entity'; -import { UserLevel } from '../users/enums/user-level.enum'; -import { UserRole } from '../users/enums/user-role.enum'; -import { UsersService } from '../users/users.service'; -import { LoginPasswordDto } from './dto/login-password.dto'; -import { RegisterPasswordDto } from './dto/register-password.dto'; -import { SmsService } from './sms.service'; -export declare class AuthService { - private readonly usersService; - private readonly jwtService; - private readonly configService; - private readonly smsService; - private readonly authOtpsRepository; - private readonly userSessionsRepository; - constructor(usersService: UsersService, jwtService: JwtService, configService: ConfigService, smsService: SmsService, authOtpsRepository: Repository, userSessionsRepository: Repository); - requestOtp(phone: string, fullName?: string): Promise<{ - message: string; - expiresInSeconds: number; - phone: string; - smsSent: boolean; - otpPreview: string | undefined; - }>; - registerWithPassword(dto: RegisterPasswordDto): Promise<{ - accessToken: string; - refreshToken: string; - user: { - id: string; - phone: string; - fullName: string; - role: UserRole; - level: UserLevel; - }; - }>; - loginWithPassword(dto: LoginPasswordDto): Promise<{ - accessToken: string; - refreshToken: string; - user: { - id: string; - phone: string; - fullName: string; - role: UserRole; - level: UserLevel; - }; - }>; - verifyOtp(phone: string, otp: string): Promise<{ - accessToken: string; - refreshToken: string; - user: { - id: string; - phone: string; - fullName: string; - role: UserRole; - level: UserLevel; - }; - }>; - refreshToken(refreshToken: string): Promise<{ - accessToken: string; - refreshToken: string; - user: { - id: string; - phone: string; - fullName: string; - role: UserRole; - level: UserLevel; - }; - }>; - logout(userId: string): Promise<{ - message: string; - }>; - private issueTokens; - private storeRefreshToken; - private generateOtp; - private resolvePermissions; - private findUserById; - private findMatchingSession; - private parseDurationToMs; -} diff --git a/dist/modules/auth/auth.service.js b/dist/modules/auth/auth.service.js deleted file mode 100644 index 073ed3f4..00000000 --- a/dist/modules/auth/auth.service.js +++ /dev/null @@ -1,276 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AuthService = void 0; -const common_1 = require("@nestjs/common"); -const config_1 = require("@nestjs/config"); -const typeorm_1 = require("@nestjs/typeorm"); -const jwt_1 = require("@nestjs/jwt"); -const bcrypt = require("bcryptjs"); -const typeorm_2 = require("typeorm"); -const auth_otp_entity_1 = require("./entities/auth-otp.entity"); -const user_session_entity_1 = require("./entities/user-session.entity"); -const user_level_enum_1 = require("../users/enums/user-level.enum"); -const user_role_enum_1 = require("../users/enums/user-role.enum"); -const users_service_1 = require("../users/users.service"); -const sms_service_1 = require("./sms.service"); -let AuthService = class AuthService { - usersService; - jwtService; - configService; - smsService; - authOtpsRepository; - userSessionsRepository; - constructor(usersService, jwtService, configService, smsService, authOtpsRepository, userSessionsRepository) { - this.usersService = usersService; - this.jwtService = jwtService; - this.configService = configService; - this.smsService = smsService; - this.authOtpsRepository = authOtpsRepository; - this.userSessionsRepository = userSessionsRepository; - } - async requestOtp(phone, fullName) { - const user = await this.usersService.findOrCreateByPhone(phone, fullName); - const otpCode = this.generateOtp(); - const ttlSeconds = this.configService.get('otp.ttlSeconds', 120); - const otp = this.authOtpsRepository.create({ - phone: user.phone, - codeHash: await bcrypt.hash(otpCode, 10), - purpose: 'login', - expiresAt: new Date(Date.now() + ttlSeconds * 1000), - attemptCount: 0, - }); - await this.authOtpsRepository.save(otp); - const smsSent = await this.smsService.sendOtp(phone, otpCode); - return { - message: 'OTP generated successfully', - expiresInSeconds: ttlSeconds, - phone, - smsSent, - otpPreview: this.configService.get('app.nodeEnv') === 'development' - ? otpCode - : undefined, - }; - } - async registerWithPassword(dto) { - const existingPhone = await this.usersService.findByPhone(dto.phone); - if (existingPhone) { - throw new common_1.BadRequestException('Phone already exists'); - } - const existingUsername = await this.usersService.findByUsername(dto.username); - if (existingUsername) { - throw new common_1.BadRequestException('Username already exists'); - } - const savedUser = await this.usersService.create({ - phone: dto.phone, - username: dto.username, - fullName: dto.fullName ?? dto.username, - passwordHash: await bcrypt.hash(dto.password, 10), - isVerified: true, - role: user_role_enum_1.UserRole.USER, - }); - const tokens = await this.issueTokens(savedUser); - await this.storeRefreshToken(savedUser, tokens.refreshToken); - return tokens; - } - async loginWithPassword(dto) { - const user = await this.usersService.findByUsername(dto.username); - if (!user?.passwordHash) { - throw new common_1.UnauthorizedException('Invalid username or password'); - } - const isPasswordValid = await bcrypt.compare(dto.password, user.passwordHash); - if (!isPasswordValid) { - throw new common_1.UnauthorizedException('Invalid username or password'); - } - const tokens = await this.issueTokens(user); - await this.storeRefreshToken(user, tokens.refreshToken); - return tokens; - } - async verifyOtp(phone, otp) { - const user = await this.usersService.findByPhone(phone); - const otpRecord = await this.authOtpsRepository.findOne({ - where: { phone, purpose: 'login', usedAt: (0, typeorm_2.IsNull)() }, - order: { createdAt: 'DESC' }, - }); - if (!user || !otpRecord) { - throw new common_1.UnauthorizedException('OTP not requested'); - } - if (otpRecord.expiresAt.getTime() < Date.now()) { - throw new common_1.UnauthorizedException('OTP expired'); - } - const isOtpValid = await bcrypt.compare(otp, otpRecord.codeHash); - if (!isOtpValid) { - otpRecord.attemptCount += 1; - await this.authOtpsRepository.save(otpRecord); - throw new common_1.BadRequestException('Invalid OTP'); - } - user.isVerified = true; - otpRecord.usedAt = new Date(); - await Promise.all([ - this.usersService.save(user), - this.authOtpsRepository.save(otpRecord), - ]); - const tokens = await this.issueTokens(user); - await this.storeRefreshToken(user, tokens.refreshToken); - return tokens; - } - async refreshToken(refreshToken) { - const payload = await this.jwtService.verifyAsync(refreshToken, { - secret: this.configService.getOrThrow('jwt.secret'), - }); - if (payload.type !== 'refresh') { - throw new common_1.UnauthorizedException('Invalid token type'); - } - const user = await this.usersService.findByPhone(payload.phone); - if (!user) { - throw new common_1.UnauthorizedException('Refresh token not found'); - } - const sessions = await this.userSessionsRepository.find({ - where: { - user: { id: user.id }, - revokedAt: (0, typeorm_2.IsNull)(), - }, - relations: { user: true }, - order: { createdAt: 'DESC' }, - }); - const validSession = await this.findMatchingSession(sessions, refreshToken); - if (!validSession || validSession.expiresAt.getTime() < Date.now()) { - throw new common_1.UnauthorizedException('Invalid refresh token'); - } - validSession.revokedAt = new Date(); - await this.userSessionsRepository.save(validSession); - const tokens = await this.issueTokens(user); - await this.storeRefreshToken(user, tokens.refreshToken); - return tokens; - } - async logout(userId) { - const user = await this.findUserById(userId); - await this.userSessionsRepository - .createQueryBuilder() - .update(user_session_entity_1.UserSession) - .set({ revokedAt: new Date() }) - .where('userId = :userId', { userId: user.id }) - .andWhere('revoked_at IS NULL') - .execute(); - return { message: 'Logged out successfully' }; - } - async issueTokens(user) { - const currentLevel = user.loyaltyProfile?.currentLevel ?? user_level_enum_1.UserLevel.BRONZE; - const accessPayload = { - sub: user.id, - phone: user.phone, - role: user.role, - level: currentLevel, - permissions: this.resolvePermissions(user), - type: 'access', - }; - const refreshPayload = { - ...accessPayload, - type: 'refresh', - }; - const [accessToken, refreshToken] = await Promise.all([ - this.jwtService.signAsync(accessPayload, { - secret: this.configService.getOrThrow('jwt.secret'), - expiresIn: this.configService.getOrThrow('jwt.accessTtl'), - }), - this.jwtService.signAsync(refreshPayload, { - secret: this.configService.getOrThrow('jwt.secret'), - expiresIn: this.configService.getOrThrow('jwt.refreshTtl'), - }), - ]); - return { - accessToken, - refreshToken, - user: { - id: user.id, - phone: user.phone, - fullName: user.fullName, - role: user.role, - level: currentLevel, - }, - }; - } - async storeRefreshToken(user, refreshToken) { - const refreshTtl = this.configService.getOrThrow('jwt.refreshTtl'); - const session = this.userSessionsRepository.create({ - user, - refreshTokenHash: await bcrypt.hash(refreshToken, 10), - expiresAt: new Date(Date.now() + this.parseDurationToMs(refreshTtl)), - }); - await this.userSessionsRepository.save(session); - } - generateOtp() { - return Math.floor(100000 + Math.random() * 900000).toString(); - } - resolvePermissions(user) { - if (user.role === user_role_enum_1.UserRole.ADMIN) { - return [ - 'products.manage', - 'categories.manage', - 'brands.manage', - 'users.manage', - 'media.manage', - ]; - } - if (user.role === user_role_enum_1.UserRole.AGENT) { - return ['orders.assist', 'customers.assist']; - } - return ['profile.read']; - } - async findUserById(userId) { - const user = await this.usersService.findById(userId); - if (!user) { - throw new common_1.UnauthorizedException('User not found'); - } - return user; - } - async findMatchingSession(sessions, refreshToken) { - for (const session of sessions) { - const isValid = await bcrypt.compare(refreshToken, session.refreshTokenHash); - if (isValid) { - return session; - } - } - return null; - } - parseDurationToMs(value) { - const match = /^(\d+)(ms|s|m|h|d)$/i.exec(value); - if (!match) { - throw new common_1.BadRequestException(`Unsupported duration format: ${value}`); - } - const amount = Number(match[1]); - const unit = match[2].toLowerCase(); - const unitMap = { - ms: 1, - s: 1000, - m: 60 * 1000, - h: 60 * 60 * 1000, - d: 24 * 60 * 60 * 1000, - }; - return amount * unitMap[unit]; - } -}; -exports.AuthService = AuthService; -exports.AuthService = AuthService = __decorate([ - (0, common_1.Injectable)(), - __param(4, (0, typeorm_1.InjectRepository)(auth_otp_entity_1.AuthOtp)), - __param(5, (0, typeorm_1.InjectRepository)(user_session_entity_1.UserSession)), - __metadata("design:paramtypes", [users_service_1.UsersService, - jwt_1.JwtService, - config_1.ConfigService, - sms_service_1.SmsService, - typeorm_2.Repository, - typeorm_2.Repository]) -], AuthService); -//# sourceMappingURL=auth.service.js.map \ No newline at end of file diff --git a/dist/modules/auth/auth.service.js.map b/dist/modules/auth/auth.service.js.map deleted file mode 100644 index a9fd7a8a..00000000 --- a/dist/modules/auth/auth.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/modules/auth/auth.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/auth/dto/login-password.dto.d.ts b/dist/modules/auth/dto/login-password.dto.d.ts deleted file mode 100644 index eef98a48..00000000 --- a/dist/modules/auth/dto/login-password.dto.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare class LoginPasswordDto { - username: string; - password: string; -} diff --git a/dist/modules/auth/dto/login-password.dto.js b/dist/modules/auth/dto/login-password.dto.js deleted file mode 100644 index 84515423..00000000 --- a/dist/modules/auth/dto/login-password.dto.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.LoginPasswordDto = void 0; -const class_validator_1 = require("class-validator"); -class LoginPasswordDto { - username; - password; -} -exports.LoginPasswordDto = LoginPasswordDto; -__decorate([ - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(3), - (0, class_validator_1.MaxLength)(50), - __metadata("design:type", String) -], LoginPasswordDto.prototype, "username", void 0); -__decorate([ - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(6), - (0, class_validator_1.MaxLength)(100), - __metadata("design:type", String) -], LoginPasswordDto.prototype, "password", void 0); -//# sourceMappingURL=login-password.dto.js.map \ No newline at end of file diff --git a/dist/modules/auth/dto/login-password.dto.js.map b/dist/modules/auth/dto/login-password.dto.js.map deleted file mode 100644 index 9b15c7fe..00000000 --- a/dist/modules/auth/dto/login-password.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"login-password.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/login-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiE;AAEjE,MAAa,gBAAgB;IAI3B,QAAQ,CAAS;IAKjB,QAAQ,CAAS;CAClB;AAVD,4CAUC;AANC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,EAAE,CAAC;;kDACG;AAKjB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;kDACE"} \ No newline at end of file diff --git a/dist/modules/auth/dto/refresh-token.dto.d.ts b/dist/modules/auth/dto/refresh-token.dto.d.ts deleted file mode 100644 index f087a502..00000000 --- a/dist/modules/auth/dto/refresh-token.dto.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare class RefreshTokenDto { - refreshToken: string; -} diff --git a/dist/modules/auth/dto/refresh-token.dto.js b/dist/modules/auth/dto/refresh-token.dto.js deleted file mode 100644 index 24485799..00000000 --- a/dist/modules/auth/dto/refresh-token.dto.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RefreshTokenDto = void 0; -const class_validator_1 = require("class-validator"); -class RefreshTokenDto { - refreshToken; -} -exports.RefreshTokenDto = RefreshTokenDto; -__decorate([ - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(10), - __metadata("design:type", String) -], RefreshTokenDto.prototype, "refreshToken", void 0); -//# sourceMappingURL=refresh-token.dto.js.map \ No newline at end of file diff --git a/dist/modules/auth/dto/refresh-token.dto.js.map b/dist/modules/auth/dto/refresh-token.dto.js.map deleted file mode 100644 index d00b47e2..00000000 --- a/dist/modules/auth/dto/refresh-token.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"refresh-token.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/refresh-token.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsD;AAEtD,MAAa,eAAe;IAG1B,YAAY,CAAS;CACtB;AAJD,0CAIC;AADC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;qDACO"} \ No newline at end of file diff --git a/dist/modules/auth/dto/register-password.dto.d.ts b/dist/modules/auth/dto/register-password.dto.d.ts deleted file mode 100644 index bc34bf32..00000000 --- a/dist/modules/auth/dto/register-password.dto.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare class RegisterPasswordDto { - phone: string; - username: string; - password: string; - fullName?: string; -} diff --git a/dist/modules/auth/dto/register-password.dto.js b/dist/modules/auth/dto/register-password.dto.js deleted file mode 100644 index b0fe8693..00000000 --- a/dist/modules/auth/dto/register-password.dto.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RegisterPasswordDto = void 0; -const class_validator_1 = require("class-validator"); -class RegisterPasswordDto { - phone; - username; - password; - fullName; -} -exports.RegisterPasswordDto = RegisterPasswordDto; -__decorate([ - (0, class_validator_1.Matches)(/^\+?[1-9]\d{7,14}$/), - __metadata("design:type", String) -], RegisterPasswordDto.prototype, "phone", void 0); -__decorate([ - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(3), - (0, class_validator_1.MaxLength)(50), - __metadata("design:type", String) -], RegisterPasswordDto.prototype, "username", void 0); -__decorate([ - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(6), - (0, class_validator_1.MaxLength)(100), - __metadata("design:type", String) -], RegisterPasswordDto.prototype, "password", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(2), - (0, class_validator_1.MaxLength)(150), - __metadata("design:type", String) -], RegisterPasswordDto.prototype, "fullName", void 0); -//# sourceMappingURL=register-password.dto.js.map \ No newline at end of file diff --git a/dist/modules/auth/dto/register-password.dto.js.map b/dist/modules/auth/dto/register-password.dto.js.map deleted file mode 100644 index eeedf343..00000000 --- a/dist/modules/auth/dto/register-password.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"register-password.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/register-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsF;AAEtF,MAAa,mBAAmB;IAE9B,KAAK,CAAS;IAKd,QAAQ,CAAS;IAKjB,QAAQ,CAAS;IAMjB,QAAQ,CAAU;CACnB;AAnBD,kDAmBC;AAjBC;IADC,IAAA,yBAAO,EAAC,oBAAoB,CAAC;;kDAChB;AAKd;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,EAAE,CAAC;;qDACG;AAKjB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;qDACE;AAMjB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;qDACG"} \ No newline at end of file diff --git a/dist/modules/auth/dto/request-otp.dto.d.ts b/dist/modules/auth/dto/request-otp.dto.d.ts deleted file mode 100644 index 6d566d14..00000000 --- a/dist/modules/auth/dto/request-otp.dto.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare class RequestOtpDto { - phone: string; - fullName?: string; -} diff --git a/dist/modules/auth/dto/request-otp.dto.js b/dist/modules/auth/dto/request-otp.dto.js deleted file mode 100644 index 54a8eedb..00000000 --- a/dist/modules/auth/dto/request-otp.dto.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RequestOtpDto = void 0; -const class_validator_1 = require("class-validator"); -class RequestOtpDto { - phone; - fullName; -} -exports.RequestOtpDto = RequestOtpDto; -__decorate([ - (0, class_validator_1.Matches)(/^\+?[1-9]\d{7,14}$/), - __metadata("design:type", String) -], RequestOtpDto.prototype, "phone", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(2), - (0, class_validator_1.MaxLength)(150), - __metadata("design:type", String) -], RequestOtpDto.prototype, "fullName", void 0); -//# sourceMappingURL=request-otp.dto.js.map \ No newline at end of file diff --git a/dist/modules/auth/dto/request-otp.dto.js.map b/dist/modules/auth/dto/request-otp.dto.js.map deleted file mode 100644 index 6cdf2caf..00000000 --- a/dist/modules/auth/dto/request-otp.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"request-otp.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/request-otp.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsF;AAEtF,MAAa,aAAa;IAExB,KAAK,CAAS;IAMd,QAAQ,CAAU;CACnB;AATD,sCASC;AAPC;IADC,IAAA,yBAAO,EAAC,oBAAoB,CAAC;;4CAChB;AAMd;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;+CACG"} \ No newline at end of file diff --git a/dist/modules/auth/dto/verify-otp.dto.d.ts b/dist/modules/auth/dto/verify-otp.dto.d.ts deleted file mode 100644 index 74b34f01..00000000 --- a/dist/modules/auth/dto/verify-otp.dto.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare class VerifyOtpDto { - phone: string; - otp: string; -} diff --git a/dist/modules/auth/dto/verify-otp.dto.js b/dist/modules/auth/dto/verify-otp.dto.js deleted file mode 100644 index 831d4236..00000000 --- a/dist/modules/auth/dto/verify-otp.dto.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.VerifyOtpDto = void 0; -const class_validator_1 = require("class-validator"); -class VerifyOtpDto { - phone; - otp; -} -exports.VerifyOtpDto = VerifyOtpDto; -__decorate([ - (0, class_validator_1.Matches)(/^\+?[1-9]\d{7,14}$/), - __metadata("design:type", String) -], VerifyOtpDto.prototype, "phone", void 0); -__decorate([ - (0, class_validator_1.IsString)(), - (0, class_validator_1.Length)(4, 6), - __metadata("design:type", String) -], VerifyOtpDto.prototype, "otp", void 0); -//# sourceMappingURL=verify-otp.dto.js.map \ No newline at end of file diff --git a/dist/modules/auth/dto/verify-otp.dto.js.map b/dist/modules/auth/dto/verify-otp.dto.js.map deleted file mode 100644 index d5e9dc54..00000000 --- a/dist/modules/auth/dto/verify-otp.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"verify-otp.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/verify-otp.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA4D;AAE5D,MAAa,YAAY;IAEvB,KAAK,CAAS;IAId,GAAG,CAAS;CACb;AAPD,oCAOC;AALC;IADC,IAAA,yBAAO,EAAC,oBAAoB,CAAC;;2CAChB;AAId;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,CAAC,EAAE,CAAC,CAAC;;yCACD"} \ No newline at end of file diff --git a/dist/modules/auth/entities/auth-otp.entity.d.ts b/dist/modules/auth/entities/auth-otp.entity.d.ts deleted file mode 100644 index 44b47f65..00000000 --- a/dist/modules/auth/entities/auth-otp.entity.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export declare class AuthOtp { - id: string; - phone: string; - codeHash: string; - purpose: string; - expiresAt: Date; - usedAt?: Date | null; - attemptCount: number; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/auth/entities/auth-otp.entity.js b/dist/modules/auth/entities/auth-otp.entity.js deleted file mode 100644 index 3edefb1f..00000000 --- a/dist/modules/auth/entities/auth-otp.entity.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AuthOtp = void 0; -const typeorm_1 = require("typeorm"); -let AuthOtp = class AuthOtp { - id; - phone; - codeHash; - purpose; - expiresAt; - usedAt; - attemptCount; - createdAt; - updatedAt; -}; -exports.AuthOtp = AuthOtp; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], AuthOtp.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.Column)({ length: 20 }), - __metadata("design:type", String) -], AuthOtp.prototype, "phone", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'code_hash', length: 255 }), - __metadata("design:type", String) -], AuthOtp.prototype, "codeHash", void 0); -__decorate([ - (0, typeorm_1.Column)({ length: 30, default: 'login' }), - __metadata("design:type", String) -], AuthOtp.prototype, "purpose", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'expires_at', type: 'timestamp with time zone' }), - __metadata("design:type", Date) -], AuthOtp.prototype, "expiresAt", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'used_at', type: 'timestamp with time zone', nullable: true }), - __metadata("design:type", Object) -], AuthOtp.prototype, "usedAt", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'attempt_count', type: 'int', default: 0 }), - __metadata("design:type", Number) -], AuthOtp.prototype, "attemptCount", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], AuthOtp.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], AuthOtp.prototype, "updatedAt", void 0); -exports.AuthOtp = AuthOtp = __decorate([ - (0, typeorm_1.Entity)({ name: 'auth_otps' }) -], AuthOtp); -//# sourceMappingURL=auth-otp.entity.js.map \ No newline at end of file diff --git a/dist/modules/auth/entities/auth-otp.entity.js.map b/dist/modules/auth/entities/auth-otp.entity.js.map deleted file mode 100644 index 8a3b14fd..00000000 --- a/dist/modules/auth/entities/auth-otp.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth-otp.entity.js","sourceRoot":"","sources":["../../../../src/modules/auth/entities/auth-otp.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOiB;AAGV,IAAM,OAAO,GAAb,MAAM,OAAO;IAElB,EAAE,CAAS;IAIX,KAAK,CAAS;IAGd,QAAQ,CAAS;IAGjB,OAAO,CAAS;IAGhB,SAAS,CAAO;IAGhB,MAAM,CAAe;IAGrB,YAAY,CAAS;IAGrB,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AA5BY,0BAAO;AAElB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;mCACpB;AAIX;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;sCACT;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;yCAC1B;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;;wCACzB;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;8BACtD,IAAI;0CAAC;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACzD;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6CACtC;AAGrB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;0CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;0CAAC;kBA3BL,OAAO;IADnB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;GACjB,OAAO,CA4BnB"} \ No newline at end of file diff --git a/dist/modules/auth/entities/user-session.entity.d.ts b/dist/modules/auth/entities/user-session.entity.d.ts deleted file mode 100644 index e5dd0bc8..00000000 --- a/dist/modules/auth/entities/user-session.entity.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { User } from '../../users/entities/user.entity'; -export declare class UserSession { - id: string; - user: User; - refreshTokenHash: string; - expiresAt: Date; - revokedAt?: Date | null; - deviceInfo?: string | null; - ipAddress?: string | null; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/auth/entities/user-session.entity.js b/dist/modules/auth/entities/user-session.entity.js deleted file mode 100644 index cda6c8c1..00000000 --- a/dist/modules/auth/entities/user-session.entity.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UserSession = void 0; -const typeorm_1 = require("typeorm"); -const user_entity_1 = require("../../users/entities/user.entity"); -let UserSession = class UserSession { - id; - user; - refreshTokenHash; - expiresAt; - revokedAt; - deviceInfo; - ipAddress; - createdAt; - updatedAt; -}; -exports.UserSession = UserSession; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], UserSession.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.ManyToOne)(() => user_entity_1.User, (user) => user.sessions, { onDelete: 'CASCADE' }), - __metadata("design:type", user_entity_1.User) -], UserSession.prototype, "user", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'refresh_token_hash', length: 255 }), - __metadata("design:type", String) -], UserSession.prototype, "refreshTokenHash", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'expires_at', type: 'timestamp with time zone' }), - __metadata("design:type", Date) -], UserSession.prototype, "expiresAt", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'revoked_at', type: 'timestamp with time zone', nullable: true }), - __metadata("design:type", Object) -], UserSession.prototype, "revokedAt", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'device_info', type: 'varchar', length: 255, nullable: true }), - __metadata("design:type", Object) -], UserSession.prototype, "deviceInfo", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'ip_address', type: 'varchar', length: 64, nullable: true }), - __metadata("design:type", Object) -], UserSession.prototype, "ipAddress", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], UserSession.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], UserSession.prototype, "updatedAt", void 0); -exports.UserSession = UserSession = __decorate([ - (0, typeorm_1.Entity)({ name: 'user_sessions' }) -], UserSession); -//# sourceMappingURL=user-session.entity.js.map \ No newline at end of file diff --git a/dist/modules/auth/entities/user-session.entity.js.map b/dist/modules/auth/entities/user-session.entity.js.map deleted file mode 100644 index 0ae735aa..00000000 --- a/dist/modules/auth/entities/user-session.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"user-session.entity.js","sourceRoot":"","sources":["../../../../src/modules/auth/entities/user-session.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,kEAAwD;AAGjD,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEtB,EAAE,CAAS;IAIX,IAAI,CAAO;IAGX,gBAAgB,CAAS;IAGzB,SAAS,CAAO;IAGhB,SAAS,CAAe;IAGxB,UAAU,CAAiB;IAG3B,SAAS,CAAiB;IAG1B,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AA5BY,kCAAW;AAEtB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;uCACpB;AAIX;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;8BAClE,kBAAI;yCAAC;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;qDAC3B;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;8BACtD,IAAI;8CAAC;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACzD;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACnD;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAClD;AAG1B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;8CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;8CAAC;sBA3BL,WAAW;IADvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;GACrB,WAAW,CA4BvB"} \ No newline at end of file diff --git a/dist/modules/auth/guards/jwt-auth.guard.d.ts b/dist/modules/auth/guards/jwt-auth.guard.d.ts deleted file mode 100644 index 8f1da982..00000000 --- a/dist/modules/auth/guards/jwt-auth.guard.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare const JwtAuthGuard_base: import("@nestjs/passport").Type; -export declare class JwtAuthGuard extends JwtAuthGuard_base { -} -export {}; diff --git a/dist/modules/auth/guards/jwt-auth.guard.js b/dist/modules/auth/guards/jwt-auth.guard.js deleted file mode 100644 index 6466d9de..00000000 --- a/dist/modules/auth/guards/jwt-auth.guard.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.JwtAuthGuard = void 0; -const common_1 = require("@nestjs/common"); -const passport_1 = require("@nestjs/passport"); -let JwtAuthGuard = class JwtAuthGuard extends (0, passport_1.AuthGuard)('jwt') { -}; -exports.JwtAuthGuard = JwtAuthGuard; -exports.JwtAuthGuard = JwtAuthGuard = __decorate([ - (0, common_1.Injectable)() -], JwtAuthGuard); -//# sourceMappingURL=jwt-auth.guard.js.map \ No newline at end of file diff --git a/dist/modules/auth/guards/jwt-auth.guard.js.map b/dist/modules/auth/guards/jwt-auth.guard.js.map deleted file mode 100644 index db02f205..00000000 --- a/dist/modules/auth/guards/jwt-auth.guard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"jwt-auth.guard.js","sourceRoot":"","sources":["../../../../src/modules/auth/guards/jwt-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA6C;AAGtC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;CAAG,CAAA;AAAxC,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CAA4B"} \ No newline at end of file diff --git a/dist/modules/auth/interfaces/jwt-payload.interface.d.ts b/dist/modules/auth/interfaces/jwt-payload.interface.d.ts deleted file mode 100644 index d017a91d..00000000 --- a/dist/modules/auth/interfaces/jwt-payload.interface.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { UserLevel } from '../../users/enums/user-level.enum'; -import { UserRole } from '../../users/enums/user-role.enum'; -export interface JwtPayload { - sub: string; - phone: string; - role: UserRole; - level: UserLevel; - permissions: string[]; - type: 'access' | 'refresh'; -} diff --git a/dist/modules/auth/interfaces/jwt-payload.interface.js b/dist/modules/auth/interfaces/jwt-payload.interface.js deleted file mode 100644 index ab7b6cff..00000000 --- a/dist/modules/auth/interfaces/jwt-payload.interface.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=jwt-payload.interface.js.map \ No newline at end of file diff --git a/dist/modules/auth/interfaces/jwt-payload.interface.js.map b/dist/modules/auth/interfaces/jwt-payload.interface.js.map deleted file mode 100644 index f85a29b2..00000000 --- a/dist/modules/auth/interfaces/jwt-payload.interface.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"jwt-payload.interface.js","sourceRoot":"","sources":["../../../../src/modules/auth/interfaces/jwt-payload.interface.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/modules/auth/sms.service.d.ts b/dist/modules/auth/sms.service.d.ts deleted file mode 100644 index 27cd8968..00000000 --- a/dist/modules/auth/sms.service.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ConfigService } from '@nestjs/config'; -export declare class SmsService { - private readonly configService; - private readonly logger; - constructor(configService: ConfigService); - sendOtp(mobile: string, otpCode: string): Promise; -} diff --git a/dist/modules/auth/sms.service.js b/dist/modules/auth/sms.service.js deleted file mode 100644 index 2dddb217..00000000 --- a/dist/modules/auth/sms.service.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var SmsService_1; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SmsService = void 0; -const common_1 = require("@nestjs/common"); -const config_1 = require("@nestjs/config"); -const soap_1 = require("soap"); -let SmsService = SmsService_1 = class SmsService { - configService; - logger = new common_1.Logger(SmsService_1.name); - constructor(configService) { - this.configService = configService; - } - async sendOtp(mobile, otpCode) { - const wsdlUrl = this.configService.get('sms.wsdlUrl'); - const username = this.configService.get('sms.username'); - const password = this.configService.get('sms.password'); - const fromNumber = this.configService.get('sms.fromNumber'); - if (!wsdlUrl || !username || !password || !fromNumber) { - this.logger.warn('SMS provider config is incomplete, OTP SMS skipped.'); - return false; - } - const content = `آکادمی زبان آلمانی انجل\nکد تایید شما: ${otpCode}\nلغو11`; - try { - const client = await (0, soap_1.createClientAsync)(wsdlUrl); - const [result] = await client.SendSMSAsync(fromNumber, [mobile], content, '0', username, password); - if (Array.isArray(result) && result[0] > 0) { - return true; - } - if (typeof result === 'number' && result > 0) { - return true; - } - this.logger.warn(`SMS provider returned unsuccessful response: ${JSON.stringify(result)}`); - return false; - } - catch (error) { - this.logger.error('SOAP SMS send failed', error instanceof Error ? error.stack : undefined); - throw new common_1.InternalServerErrorException('OTP SMS sending failed'); - } - } -}; -exports.SmsService = SmsService; -exports.SmsService = SmsService = SmsService_1 = __decorate([ - (0, common_1.Injectable)(), - __metadata("design:paramtypes", [config_1.ConfigService]) -], SmsService); -//# sourceMappingURL=sms.service.js.map \ No newline at end of file diff --git a/dist/modules/auth/sms.service.js.map b/dist/modules/auth/sms.service.js.map deleted file mode 100644 index 6ed46f6d..00000000 --- a/dist/modules/auth/sms.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"sms.service.js","sourceRoot":"","sources":["../../../src/modules/auth/sms.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAkF;AAClF,2CAA+C;AAC/C,+BAAyC;AAGlC,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAGQ;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,YAAU,CAAC,IAAI,CAAC,CAAC;IAEtD,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAe;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,cAAc,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,cAAc,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,gBAAgB,CAAC,CAAC;QAEpE,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,0CAA0C,OAAO,SAAS,CAAC;QAE3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,UAAU,EACV,CAAC,MAAM,CAAC,EACR,OAAO,EACP,GAAG,EACH,QAAQ,EACR,QAAQ,CACT,CAAC;YAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3F,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5F,MAAM,IAAI,qCAA4B,CAAC,wBAAwB,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF,CAAA;AA5CY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAIiC,sBAAa;GAH9C,UAAU,CA4CtB"} \ No newline at end of file diff --git a/dist/modules/auth/strategies/jwt.strategy.d.ts b/dist/modules/auth/strategies/jwt.strategy.d.ts deleted file mode 100644 index 67e9310c..00000000 --- a/dist/modules/auth/strategies/jwt.strategy.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ConfigService } from '@nestjs/config'; -import { Strategy } from 'passport-jwt'; -import { JwtPayload } from '../interfaces/jwt-payload.interface'; -declare const JwtStrategy_base: new (...args: [opt: import("passport-jwt").StrategyOptionsWithoutRequest] | [opt: import("passport-jwt").StrategyOptionsWithRequest]) => Strategy & { - validate(...args: any[]): unknown; -}; -export declare class JwtStrategy extends JwtStrategy_base { - constructor(configService: ConfigService); - validate(payload: JwtPayload): JwtPayload; -} -export {}; diff --git a/dist/modules/auth/strategies/jwt.strategy.js b/dist/modules/auth/strategies/jwt.strategy.js deleted file mode 100644 index 8c7e0c6d..00000000 --- a/dist/modules/auth/strategies/jwt.strategy.js +++ /dev/null @@ -1,34 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.JwtStrategy = void 0; -const common_1 = require("@nestjs/common"); -const config_1 = require("@nestjs/config"); -const passport_1 = require("@nestjs/passport"); -const passport_jwt_1 = require("passport-jwt"); -let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy) { - constructor(configService) { - super({ - jwtFromRequest: passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(), - ignoreExpiration: false, - secretOrKey: configService.getOrThrow('jwt.secret'), - }); - } - validate(payload) { - return payload; - } -}; -exports.JwtStrategy = JwtStrategy; -exports.JwtStrategy = JwtStrategy = __decorate([ - (0, common_1.Injectable)(), - __metadata("design:paramtypes", [config_1.ConfigService]) -], JwtStrategy); -//# sourceMappingURL=jwt.strategy.js.map \ No newline at end of file diff --git a/dist/modules/auth/strategies/jwt.strategy.js.map b/dist/modules/auth/strategies/jwt.strategy.js.map deleted file mode 100644 index a7953cab..00000000 --- a/dist/modules/auth/strategies/jwt.strategy.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../src/modules/auth/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAC/C,+CAAoD;AACpD,+CAAoD;AAI7C,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,CAAC;IACzD,YAAY,aAA4B;QACtC,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,2BAA2B,EAAE;YACxD,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,aAAa,CAAC,UAAU,CAAS,YAAY,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,OAAmB;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAZY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAEgB,sBAAa;GAD7B,WAAW,CAYvB"} \ No newline at end of file diff --git a/dist/modules/catalog/admin-products.controller.d.ts b/dist/modules/catalog/admin-products.controller.d.ts deleted file mode 100644 index adce3670..00000000 --- a/dist/modules/catalog/admin-products.controller.d.ts +++ /dev/null @@ -1,314 +0,0 @@ -import { CheckProductSlugDto } from './dto/check-product-slug.dto'; -import { CreateProductDto } from './dto/create-product.dto'; -import { FilterProductReviewsDto } from './dto/filter-product-reviews.dto'; -import { FilterProductsDto } from './dto/filter-products.dto'; -import { ModerateProductReviewDto } from './dto/moderate-product-review.dto'; -import { UpdateProductDto } from './dto/update-product.dto'; -import { ProductsService } from './products.service'; -export declare class AdminProductsController { - private readonly productsService; - constructor(productsService: ProductsService); - create(dto: CreateProductDto, files: { - mainImage?: Express.Multer.File[]; - images?: Express.Multer.File[]; - model3d?: Express.Multer.File[]; - }): Promise<{ - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: import("./enums/attribute-data-type.enum").AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: import("./entities/product-meta.entity").ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: import("./entities/brand.entity").Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: import("./enums/product-type.enum").ProductType; - status: import("./enums/product-status.enum").ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: import("./entities/product-attribute-value.entity").ProductAttributeValue[]; - reviews: import("./entities/product-review.entity").ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - findAll(filters: FilterProductsDto, productType?: string): Promise<{ - items: { - status?: import("./enums/product-status.enum").ProductStatus | undefined; - createdAt?: Date | undefined; - updatedAt?: Date | undefined; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - type: import("./enums/product-type.enum").ProductType; - featured: boolean; - basePriceUSD: number; - salePriceUSD: number | null; - stock: number; - averageRating: number; - reviewsCount: number; - mainImageUrl: string | null; - shortDescription: string | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: import("./enums/attribute-data-type.enum").AttributeDataType; - unit: string | null; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - }[]; - meta: { - total: number; - page: number; - limit: number; - }; - }>; - checkSlug(query: CheckProductSlugDto): Promise; - findReviews(filters: FilterProductReviewsDto): Promise<{ - items: import("./entities/product-review.entity").ProductReview[]; - meta: { - total: number; - page: number; - limit: number; - }; - }>; - updateReview(reviewId: string, dto: ModerateProductReviewDto): Promise; - removeReview(reviewId: string): Promise<{ - message: string; - }>; - findOne(id: string): Promise<{ - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: import("./enums/attribute-data-type.enum").AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: import("./entities/product-meta.entity").ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: import("./entities/brand.entity").Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: import("./enums/product-type.enum").ProductType; - status: import("./enums/product-status.enum").ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: import("./entities/product-attribute-value.entity").ProductAttributeValue[]; - reviews: import("./entities/product-review.entity").ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - update(id: string, dto: UpdateProductDto, files: { - mainImage?: Express.Multer.File[]; - images?: Express.Multer.File[]; - model3d?: Express.Multer.File[]; - }): Promise<{ - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: import("./enums/attribute-data-type.enum").AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: import("./entities/product-meta.entity").ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: import("./entities/brand.entity").Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: import("./enums/product-type.enum").ProductType; - status: import("./enums/product-status.enum").ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: import("./entities/product-attribute-value.entity").ProductAttributeValue[]; - reviews: import("./entities/product-review.entity").ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - remove(id: string): Promise<{ - message: string; - }>; -} diff --git a/dist/modules/catalog/admin-products.controller.js b/dist/modules/catalog/admin-products.controller.js deleted file mode 100644 index 4c10c5f7..00000000 --- a/dist/modules/catalog/admin-products.controller.js +++ /dev/null @@ -1,172 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AdminProductsController = void 0; -const common_1 = require("@nestjs/common"); -const platform_express_1 = require("@nestjs/platform-express"); -const swagger_1 = require("@nestjs/swagger"); -const permissions_decorator_1 = require("../../common/decorators/permissions.decorator"); -const roles_decorator_1 = require("../../common/decorators/roles.decorator"); -const permissions_guard_1 = require("../../common/guards/permissions.guard"); -const roles_guard_1 = require("../../common/guards/roles.guard"); -const jwt_auth_guard_1 = require("../auth/guards/jwt-auth.guard"); -const user_role_enum_1 = require("../users/enums/user-role.enum"); -const check_product_slug_dto_1 = require("./dto/check-product-slug.dto"); -const create_product_dto_1 = require("./dto/create-product.dto"); -const filter_product_reviews_dto_1 = require("./dto/filter-product-reviews.dto"); -const filter_products_dto_1 = require("./dto/filter-products.dto"); -const moderate_product_review_dto_1 = require("./dto/moderate-product-review.dto"); -const update_product_dto_1 = require("./dto/update-product.dto"); -const products_service_1 = require("./products.service"); -let AdminProductsController = class AdminProductsController { - productsService; - constructor(productsService) { - this.productsService = productsService; - } - create(dto, files) { - return this.productsService.create(dto, files); - } - findAll(filters, productType) { - return this.productsService.findAdmin(filters, productType); - } - checkSlug(query) { - return this.productsService.checkSlugAvailability(query.slug, query.excludeId); - } - findReviews(filters) { - return this.productsService.findAdminReviews(filters); - } - updateReview(reviewId, dto) { - return this.productsService.updateReview(reviewId, dto); - } - removeReview(reviewId) { - return this.productsService.removeReview(reviewId); - } - findOne(id) { - return this.productsService.findAdminOne(id); - } - update(id, dto, files) { - return this.productsService.update(id, dto, files); - } - remove(id) { - return this.productsService.remove(id); - } -}; -exports.AdminProductsController = AdminProductsController; -__decorate([ - (0, common_1.Post)(), - (0, swagger_1.ApiOperation)({ summary: 'Create a product for admin panel' }), - (0, swagger_1.ApiConsumes)('multipart/form-data'), - (0, swagger_1.ApiBody)({ type: create_product_dto_1.CreateProductDto }), - (0, common_1.UseInterceptors)((0, platform_express_1.FileFieldsInterceptor)([ - { name: 'mainImage', maxCount: 1 }, - { name: 'images', maxCount: 10 }, - { name: 'model3d', maxCount: 1 }, - ])), - __param(0, (0, common_1.Body)()), - __param(1, (0, common_1.UploadedFiles)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [create_product_dto_1.CreateProductDto, Object]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "create", null); -__decorate([ - (0, common_1.Get)(), - (0, swagger_1.ApiOperation)({ summary: 'List all products for admin panel, including drafts' }), - __param(0, (0, common_1.Query)()), - __param(1, (0, common_1.Headers)('x-product-type')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [filter_products_dto_1.FilterProductsDto, String]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "findAll", null); -__decorate([ - (0, common_1.Get)('check-slug'), - (0, swagger_1.ApiOperation)({ summary: 'Check whether a product slug is available for admin create/edit' }), - __param(0, (0, common_1.Query)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [check_product_slug_dto_1.CheckProductSlugDto]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "checkSlug", null); -__decorate([ - (0, common_1.Get)('reviews/list'), - (0, swagger_1.ApiOperation)({ summary: 'List product reviews for moderation' }), - __param(0, (0, common_1.Query)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [filter_product_reviews_dto_1.FilterProductReviewsDto]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "findReviews", null); -__decorate([ - (0, common_1.Patch)('reviews/:reviewId'), - (0, swagger_1.ApiOperation)({ summary: 'Approve or pin a product review' }), - __param(0, (0, common_1.Param)('reviewId')), - __param(1, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, moderate_product_review_dto_1.ModerateProductReviewDto]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "updateReview", null); -__decorate([ - (0, common_1.Delete)('reviews/:reviewId'), - (0, swagger_1.ApiOperation)({ summary: 'Delete a product review' }), - __param(0, (0, common_1.Param)('reviewId')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "removeReview", null); -__decorate([ - (0, common_1.Get)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Get one product for admin panel' }), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "findOne", null); -__decorate([ - (0, common_1.Patch)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Update a product for admin panel' }), - (0, swagger_1.ApiConsumes)('multipart/form-data'), - (0, swagger_1.ApiBody)({ type: update_product_dto_1.UpdateProductDto }), - (0, common_1.UseInterceptors)((0, platform_express_1.FileFieldsInterceptor)([ - { name: 'mainImage', maxCount: 1 }, - { name: 'images', maxCount: 10 }, - { name: 'model3d', maxCount: 1 }, - ])), - __param(0, (0, common_1.Param)('id')), - __param(1, (0, common_1.Body)()), - __param(2, (0, common_1.UploadedFiles)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, update_product_dto_1.UpdateProductDto, Object]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "update", null); -__decorate([ - (0, common_1.Delete)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Delete a product and its assets' }), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], AdminProductsController.prototype, "remove", null); -exports.AdminProductsController = AdminProductsController = __decorate([ - (0, swagger_1.ApiTags)('Admin Products'), - (0, swagger_1.ApiBearerAuth)(), - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('products.manage'), - (0, swagger_1.ApiHeader)({ - name: 'x-product-type', - required: false, - description: 'Optional product type filter header. Falls back to query param `type` if omitted.', - enum: ['Industrial', 'Automotive'], - }), - (0, common_1.Controller)('admin/products'), - __metadata("design:paramtypes", [products_service_1.ProductsService]) -], AdminProductsController); -//# sourceMappingURL=admin-products.controller.js.map \ No newline at end of file diff --git a/dist/modules/catalog/admin-products.controller.js.map b/dist/modules/catalog/admin-products.controller.js.map deleted file mode 100644 index 9277cc26..00000000 --- a/dist/modules/catalog/admin-products.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"admin-products.controller.js","sourceRoot":"","sources":["../../../src/modules/catalog/admin-products.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/catalog/attribute-definitions.controller.d.ts b/dist/modules/catalog/attribute-definitions.controller.d.ts deleted file mode 100644 index 6aaca852..00000000 --- a/dist/modules/catalog/attribute-definitions.controller.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { CreateAttributeDefinitionDto } from './dto/create-attribute-definition.dto'; -import { UpdateAttributeDefinitionDto } from './dto/update-attribute-definition.dto'; -import { ProductsService } from './products.service'; -export declare class AttributeDefinitionsController { - private readonly productsService; - constructor(productsService: ProductsService); - findAll(): Promise; - create(dto: CreateAttributeDefinitionDto): Promise; - update(id: string, dto: UpdateAttributeDefinitionDto): Promise; - remove(id: string): Promise<{ - message: string; - }>; -} diff --git a/dist/modules/catalog/attribute-definitions.controller.js b/dist/modules/catalog/attribute-definitions.controller.js deleted file mode 100644 index 1231a8a7..00000000 --- a/dist/modules/catalog/attribute-definitions.controller.js +++ /dev/null @@ -1,87 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AttributeDefinitionsController = void 0; -const common_1 = require("@nestjs/common"); -const swagger_1 = require("@nestjs/swagger"); -const permissions_decorator_1 = require("../../common/decorators/permissions.decorator"); -const roles_decorator_1 = require("../../common/decorators/roles.decorator"); -const permissions_guard_1 = require("../../common/guards/permissions.guard"); -const roles_guard_1 = require("../../common/guards/roles.guard"); -const jwt_auth_guard_1 = require("../auth/guards/jwt-auth.guard"); -const user_role_enum_1 = require("../users/enums/user-role.enum"); -const create_attribute_definition_dto_1 = require("./dto/create-attribute-definition.dto"); -const update_attribute_definition_dto_1 = require("./dto/update-attribute-definition.dto"); -const products_service_1 = require("./products.service"); -let AttributeDefinitionsController = class AttributeDefinitionsController { - productsService; - constructor(productsService) { - this.productsService = productsService; - } - findAll() { - return this.productsService.listAttributeDefinitions(); - } - create(dto) { - return this.productsService.createAttributeDefinition(dto); - } - update(id, dto) { - return this.productsService.updateAttributeDefinition(id, dto); - } - remove(id) { - return this.productsService.removeAttributeDefinition(id); - } -}; -exports.AttributeDefinitionsController = AttributeDefinitionsController; -__decorate([ - (0, common_1.Get)(), - (0, swagger_1.ApiOperation)({ summary: 'List reusable product attribute definitions' }), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) -], AttributeDefinitionsController.prototype, "findAll", null); -__decorate([ - (0, common_1.Post)(), - (0, swagger_1.ApiOperation)({ summary: 'Create reusable product attribute definition' }), - __param(0, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [create_attribute_definition_dto_1.CreateAttributeDefinitionDto]), - __metadata("design:returntype", void 0) -], AttributeDefinitionsController.prototype, "create", null); -__decorate([ - (0, common_1.Patch)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Update reusable product attribute definition' }), - __param(0, (0, common_1.Param)('id')), - __param(1, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, update_attribute_definition_dto_1.UpdateAttributeDefinitionDto]), - __metadata("design:returntype", void 0) -], AttributeDefinitionsController.prototype, "update", null); -__decorate([ - (0, common_1.Delete)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Delete reusable product attribute definition' }), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], AttributeDefinitionsController.prototype, "remove", null); -exports.AttributeDefinitionsController = AttributeDefinitionsController = __decorate([ - (0, swagger_1.ApiTags)('Admin Product Attributes'), - (0, swagger_1.ApiBearerAuth)(), - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('products.manage'), - (0, common_1.Controller)('admin/product-attributes'), - __metadata("design:paramtypes", [products_service_1.ProductsService]) -], AttributeDefinitionsController); -//# sourceMappingURL=attribute-definitions.controller.js.map \ No newline at end of file diff --git a/dist/modules/catalog/attribute-definitions.controller.js.map b/dist/modules/catalog/attribute-definitions.controller.js.map deleted file mode 100644 index f9a1ecaf..00000000 --- a/dist/modules/catalog/attribute-definitions.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"attribute-definitions.controller.js","sourceRoot":"","sources":["../../../src/modules/catalog/attribute-definitions.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,6CAAuE;AACvE,yFAA4E;AAC5E,6EAAgE;AAChE,6EAAyE;AACzE,iEAA6D;AAC7D,kEAA6D;AAC7D,kEAAyD;AACzD,2FAAqF;AACrF,2FAAqF;AACrF,yDAAqD;AAQ9C,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IACZ;IAA7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAIjE,OAAO;QACL,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC;IACzD,CAAC;IAID,MAAM,CAAS,GAAiC;QAC9C,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IAID,MAAM,CAAc,EAAU,EAAU,GAAiC;QACvE,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAID,MAAM,CAAc,EAAU;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AA1BY,wEAA8B;AAKzC;IAFC,IAAA,YAAG,GAAE;IACL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;;;;6DAGxE;AAID;IAFC,IAAA,aAAI,GAAE;IACN,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;IAClE,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,8DAA4B;;4DAE/C;AAID;IAFC,IAAA,cAAK,EAAC,KAAK,CAAC;IACZ,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;IAClE,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAM,8DAA4B;;4DAExE;AAID;IAFC,IAAA,eAAM,EAAC,KAAK,CAAC;IACb,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;IAClE,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;4DAElB;yCAzBU,8BAA8B;IAN1C,IAAA,iBAAO,EAAC,0BAA0B,CAAC;IACnC,IAAA,uBAAa,GAAE;IACf,IAAA,kBAAS,EAAC,6BAAY,EAAE,wBAAU,EAAE,oCAAgB,CAAC;IACrD,IAAA,uBAAK,EAAC,yBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,mCAAW,EAAC,iBAAiB,CAAC;IAC9B,IAAA,mBAAU,EAAC,0BAA0B,CAAC;qCAES,kCAAe;GADlD,8BAA8B,CA0B1C"} \ No newline at end of file diff --git a/dist/modules/catalog/brand.controller.d.ts b/dist/modules/catalog/brand.controller.d.ts deleted file mode 100644 index d2ea535f..00000000 --- a/dist/modules/catalog/brand.controller.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { BrandService } from './brand.service'; -import { CreateBrandDto } from './dto/create-brand.dto'; -import { UpdateBrandDto } from './dto/update-brand.dto'; -export declare class BrandController { - private readonly brandService; - constructor(brandService: BrandService); - create(dto: CreateBrandDto, files: { - image?: Express.Multer.File[]; - }): Promise; - findAll(): Promise; - findOne(id: string): Promise; - update(id: string, dto: UpdateBrandDto, files: { - image?: Express.Multer.File[]; - }): Promise; - remove(id: string): Promise<{ - message: string; - }>; -} diff --git a/dist/modules/catalog/brand.controller.js b/dist/modules/catalog/brand.controller.js deleted file mode 100644 index 9cf43c37..00000000 --- a/dist/modules/catalog/brand.controller.js +++ /dev/null @@ -1,112 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.BrandController = void 0; -const common_1 = require("@nestjs/common"); -const platform_express_1 = require("@nestjs/platform-express"); -const swagger_1 = require("@nestjs/swagger"); -const permissions_decorator_1 = require("../../common/decorators/permissions.decorator"); -const roles_decorator_1 = require("../../common/decorators/roles.decorator"); -const permissions_guard_1 = require("../../common/guards/permissions.guard"); -const roles_guard_1 = require("../../common/guards/roles.guard"); -const jwt_auth_guard_1 = require("../auth/guards/jwt-auth.guard"); -const user_role_enum_1 = require("../users/enums/user-role.enum"); -const brand_service_1 = require("./brand.service"); -const create_brand_dto_1 = require("./dto/create-brand.dto"); -const update_brand_dto_1 = require("./dto/update-brand.dto"); -let BrandController = class BrandController { - brandService; - constructor(brandService) { - this.brandService = brandService; - } - create(dto, files) { - return this.brandService.create(dto, files); - } - findAll() { - return this.brandService.findAll(); - } - findOne(id) { - return this.brandService.findOne(id); - } - update(id, dto, files) { - return this.brandService.update(id, dto, files); - } - remove(id) { - return this.brandService.remove(id); - } -}; -exports.BrandController = BrandController; -__decorate([ - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, swagger_1.ApiBearerAuth)(), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('brands.manage'), - (0, common_1.Post)(), - (0, swagger_1.ApiOperation)({ summary: 'Create brand with optional uploaded or existing image' }), - (0, swagger_1.ApiConsumes)('multipart/form-data'), - (0, swagger_1.ApiBody)({ type: create_brand_dto_1.CreateBrandDto }), - (0, common_1.UseInterceptors)((0, platform_express_1.FileFieldsInterceptor)([{ name: 'image', maxCount: 1 }])), - __param(0, (0, common_1.Body)()), - __param(1, (0, common_1.UploadedFiles)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [create_brand_dto_1.CreateBrandDto, Object]), - __metadata("design:returntype", void 0) -], BrandController.prototype, "create", null); -__decorate([ - (0, common_1.Get)(), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) -], BrandController.prototype, "findAll", null); -__decorate([ - (0, common_1.Get)(':id'), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], BrandController.prototype, "findOne", null); -__decorate([ - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, swagger_1.ApiBearerAuth)(), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('brands.manage'), - (0, common_1.Patch)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Update brand and brand image' }), - (0, swagger_1.ApiConsumes)('multipart/form-data'), - (0, swagger_1.ApiBody)({ type: update_brand_dto_1.UpdateBrandDto }), - (0, common_1.UseInterceptors)((0, platform_express_1.FileFieldsInterceptor)([{ name: 'image', maxCount: 1 }])), - __param(0, (0, common_1.Param)('id')), - __param(1, (0, common_1.Body)()), - __param(2, (0, common_1.UploadedFiles)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, update_brand_dto_1.UpdateBrandDto, Object]), - __metadata("design:returntype", void 0) -], BrandController.prototype, "update", null); -__decorate([ - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, swagger_1.ApiBearerAuth)(), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('brands.manage'), - (0, common_1.Delete)(':id'), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], BrandController.prototype, "remove", null); -exports.BrandController = BrandController = __decorate([ - (0, swagger_1.ApiTags)('Brands'), - (0, common_1.Controller)('brands'), - __metadata("design:paramtypes", [brand_service_1.BrandService]) -], BrandController); -//# sourceMappingURL=brand.controller.js.map \ No newline at end of file diff --git a/dist/modules/catalog/brand.controller.js.map b/dist/modules/catalog/brand.controller.js.map deleted file mode 100644 index dfa19bd4..00000000 --- a/dist/modules/catalog/brand.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"brand.controller.js","sourceRoot":"","sources":["../../../src/modules/catalog/brand.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/catalog/brand.service.d.ts b/dist/modules/catalog/brand.service.d.ts deleted file mode 100644 index efe3e775..00000000 --- a/dist/modules/catalog/brand.service.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Repository } from 'typeorm'; -import { StorageService } from '../storage/storage.service'; -import { CreateBrandDto } from './dto/create-brand.dto'; -import { UpdateBrandDto } from './dto/update-brand.dto'; -import { Brand } from './entities/brand.entity'; -export declare class BrandService { - private readonly brandsRepository; - private readonly storageService; - constructor(brandsRepository: Repository, storageService: StorageService); - create(dto: CreateBrandDto, files?: { - image?: Express.Multer.File[]; - }): Promise; - findAll(): Promise; - findOne(id: string): Promise; - update(id: string, dto: UpdateBrandDto, files?: { - image?: Express.Multer.File[]; - }): Promise; - remove(id: string): Promise<{ - message: string; - }>; - private replaceImage; -} diff --git a/dist/modules/catalog/brand.service.js b/dist/modules/catalog/brand.service.js deleted file mode 100644 index 17357509..00000000 --- a/dist/modules/catalog/brand.service.js +++ /dev/null @@ -1,89 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.BrandService = void 0; -const common_1 = require("@nestjs/common"); -const typeorm_1 = require("@nestjs/typeorm"); -const typeorm_2 = require("typeorm"); -const storage_service_1 = require("../storage/storage.service"); -const brand_entity_1 = require("./entities/brand.entity"); -let BrandService = class BrandService { - brandsRepository; - storageService; - constructor(brandsRepository, storageService) { - this.brandsRepository = brandsRepository; - this.storageService = storageService; - } - async create(dto, files) { - const imageUpload = files?.image?.[0] - ? await this.storageService.uploadPublicFile(files.image[0], 'brands') - : null; - const brand = this.brandsRepository.create({ - name: dto.name, - slug: dto.slug, - imageUrl: imageUpload?.url ?? dto.existingImageUrl ?? null, - type: dto.type, - }); - return this.brandsRepository.save(brand); - } - findAll() { - return this.brandsRepository.find({ - order: { createdAt: 'DESC' }, - }); - } - async findOne(id) { - const brand = await this.brandsRepository.findOne({ where: { id } }); - if (!brand) { - throw new common_1.NotFoundException('Brand not found'); - } - return brand; - } - async update(id, dto, files) { - const brand = await this.findOne(id); - if (files?.image?.[0]) { - const imageUpload = await this.storageService.uploadPublicFile(files.image[0], 'brands'); - await this.replaceImage(brand.imageUrl, imageUpload.url); - brand.imageUrl = imageUpload.url; - } - else if (dto.existingImageUrl !== undefined) { - await this.replaceImage(brand.imageUrl, dto.existingImageUrl || null); - brand.imageUrl = dto.existingImageUrl || null; - } - Object.assign(brand, { - name: dto.name ?? brand.name, - slug: dto.slug ?? brand.slug, - type: dto.type ?? brand.type, - }); - return this.brandsRepository.save(brand); - } - async remove(id) { - const brand = await this.findOne(id); - await this.storageService.deletePublicFileByUrl(brand.imageUrl); - await this.brandsRepository.remove(brand); - return { message: 'Brand deleted successfully' }; - } - async replaceImage(currentUrl, nextUrl) { - if (currentUrl && currentUrl !== nextUrl) { - await this.storageService.deletePublicFileByUrl(currentUrl); - } - } -}; -exports.BrandService = BrandService; -exports.BrandService = BrandService = __decorate([ - (0, common_1.Injectable)(), - __param(0, (0, typeorm_1.InjectRepository)(brand_entity_1.Brand)), - __metadata("design:paramtypes", [typeorm_2.Repository, - storage_service_1.StorageService]) -], BrandService); -//# sourceMappingURL=brand.service.js.map \ No newline at end of file diff --git a/dist/modules/catalog/brand.service.js.map b/dist/modules/catalog/brand.service.js.map deleted file mode 100644 index 457e6566..00000000 --- a/dist/modules/catalog/brand.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"brand.service.js","sourceRoot":"","sources":["../../../src/modules/catalog/brand.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/catalog/catalog.module.d.ts b/dist/modules/catalog/catalog.module.d.ts deleted file mode 100644 index da79cef8..00000000 --- a/dist/modules/catalog/catalog.module.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare class CatalogModule { -} diff --git a/dist/modules/catalog/catalog.module.js b/dist/modules/catalog/catalog.module.js deleted file mode 100644 index 0ef621fc..00000000 --- a/dist/modules/catalog/catalog.module.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CatalogModule = void 0; -const common_1 = require("@nestjs/common"); -const typeorm_1 = require("@nestjs/typeorm"); -const storage_module_1 = require("../storage/storage.module"); -const admin_products_controller_1 = require("./admin-products.controller"); -const attribute_definitions_controller_1 = require("./attribute-definitions.controller"); -const brand_controller_1 = require("./brand.controller"); -const brand_service_1 = require("./brand.service"); -const category_controller_1 = require("./category.controller"); -const category_service_1 = require("./category.service"); -const attribute_definition_entity_1 = require("./entities/attribute-definition.entity"); -const brand_entity_1 = require("./entities/brand.entity"); -const category_entity_1 = require("./entities/category.entity"); -const product_attribute_value_entity_1 = require("./entities/product-attribute-value.entity"); -const product_meta_entity_1 = require("./entities/product-meta.entity"); -const product_entity_1 = require("./entities/product.entity"); -const product_review_entity_1 = require("./entities/product-review.entity"); -const products_controller_1 = require("./products.controller"); -const products_service_1 = require("./products.service"); -let CatalogModule = class CatalogModule { -}; -exports.CatalogModule = CatalogModule; -exports.CatalogModule = CatalogModule = __decorate([ - (0, common_1.Module)({ - imports: [ - typeorm_1.TypeOrmModule.forFeature([ - category_entity_1.Category, - brand_entity_1.Brand, - product_entity_1.Product, - product_review_entity_1.ProductReview, - product_meta_entity_1.ProductMeta, - attribute_definition_entity_1.AttributeDefinition, - product_attribute_value_entity_1.ProductAttributeValue, - ]), - storage_module_1.StorageModule, - ], - controllers: [ - category_controller_1.CategoryController, - brand_controller_1.BrandController, - products_controller_1.ProductsController, - admin_products_controller_1.AdminProductsController, - attribute_definitions_controller_1.AttributeDefinitionsController, - ], - providers: [category_service_1.CategoryService, brand_service_1.BrandService, products_service_1.ProductsService], - exports: [typeorm_1.TypeOrmModule, category_service_1.CategoryService, brand_service_1.BrandService, products_service_1.ProductsService], - }) -], CatalogModule); -//# sourceMappingURL=catalog.module.js.map \ No newline at end of file diff --git a/dist/modules/catalog/catalog.module.js.map b/dist/modules/catalog/catalog.module.js.map deleted file mode 100644 index 3c02da9f..00000000 --- a/dist/modules/catalog/catalog.module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"catalog.module.js","sourceRoot":"","sources":["../../../src/modules/catalog/catalog.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,8DAA0D;AAC1D,2EAAsE;AACtE,yFAAoF;AACpF,yDAAqD;AACrD,mDAA+C;AAC/C,+DAA2D;AAC3D,yDAAqD;AACrD,wFAA6E;AAC7E,0DAAgD;AAChD,gEAAsD;AACtD,8FAAkF;AAClF,wEAA6D;AAC7D,8DAAoD;AACpD,4EAAiE;AACjE,+DAA2D;AAC3D,yDAAqD;AAyB9C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAvBzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,0BAAQ;gBACR,oBAAK;gBACL,wBAAO;gBACP,qCAAa;gBACb,iCAAW;gBACX,iDAAmB;gBACnB,sDAAqB;aACtB,CAAC;YACF,8BAAa;SACd;QACD,WAAW,EAAE;YACX,wCAAkB;YAClB,kCAAe;YACf,wCAAkB;YAClB,mDAAuB;YACvB,iEAA8B;SAC/B;QACD,SAAS,EAAE,CAAC,kCAAe,EAAE,4BAAY,EAAE,kCAAe,CAAC;QAC3D,OAAO,EAAE,CAAC,uBAAa,EAAE,kCAAe,EAAE,4BAAY,EAAE,kCAAe,CAAC;KACzE,CAAC;GACW,aAAa,CAAG"} \ No newline at end of file diff --git a/dist/modules/catalog/category.controller.d.ts b/dist/modules/catalog/category.controller.d.ts deleted file mode 100644 index 3681a4a3..00000000 --- a/dist/modules/catalog/category.controller.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { CategoryService } from './category.service'; -import { CreateCategoryDto } from './dto/create-category.dto'; -import { UpdateCategoryDto } from './dto/update-category.dto'; -export declare class CategoryController { - private readonly categoryService; - constructor(categoryService: CategoryService); - create(dto: CreateCategoryDto, files: { - image?: Express.Multer.File[]; - }): Promise; - findAll(): Promise; - findOne(id: string): Promise; - update(id: string, dto: UpdateCategoryDto, files: { - image?: Express.Multer.File[]; - }): Promise; - remove(id: string): Promise<{ - message: string; - }>; -} diff --git a/dist/modules/catalog/category.controller.js b/dist/modules/catalog/category.controller.js deleted file mode 100644 index b8805d76..00000000 --- a/dist/modules/catalog/category.controller.js +++ /dev/null @@ -1,112 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CategoryController = void 0; -const common_1 = require("@nestjs/common"); -const platform_express_1 = require("@nestjs/platform-express"); -const swagger_1 = require("@nestjs/swagger"); -const permissions_decorator_1 = require("../../common/decorators/permissions.decorator"); -const roles_decorator_1 = require("../../common/decorators/roles.decorator"); -const permissions_guard_1 = require("../../common/guards/permissions.guard"); -const roles_guard_1 = require("../../common/guards/roles.guard"); -const jwt_auth_guard_1 = require("../auth/guards/jwt-auth.guard"); -const user_role_enum_1 = require("../users/enums/user-role.enum"); -const category_service_1 = require("./category.service"); -const create_category_dto_1 = require("./dto/create-category.dto"); -const update_category_dto_1 = require("./dto/update-category.dto"); -let CategoryController = class CategoryController { - categoryService; - constructor(categoryService) { - this.categoryService = categoryService; - } - create(dto, files) { - return this.categoryService.create(dto, files); - } - findAll() { - return this.categoryService.findAll(); - } - findOne(id) { - return this.categoryService.findOne(id); - } - update(id, dto, files) { - return this.categoryService.update(id, dto, files); - } - remove(id) { - return this.categoryService.remove(id); - } -}; -exports.CategoryController = CategoryController; -__decorate([ - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, swagger_1.ApiBearerAuth)(), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('categories.manage'), - (0, common_1.Post)(), - (0, swagger_1.ApiOperation)({ summary: 'Create category with optional uploaded or existing image' }), - (0, swagger_1.ApiConsumes)('multipart/form-data'), - (0, swagger_1.ApiBody)({ type: create_category_dto_1.CreateCategoryDto }), - (0, common_1.UseInterceptors)((0, platform_express_1.FileFieldsInterceptor)([{ name: 'image', maxCount: 1 }])), - __param(0, (0, common_1.Body)()), - __param(1, (0, common_1.UploadedFiles)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [create_category_dto_1.CreateCategoryDto, Object]), - __metadata("design:returntype", void 0) -], CategoryController.prototype, "create", null); -__decorate([ - (0, common_1.Get)(), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) -], CategoryController.prototype, "findAll", null); -__decorate([ - (0, common_1.Get)(':id'), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], CategoryController.prototype, "findOne", null); -__decorate([ - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, swagger_1.ApiBearerAuth)(), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('categories.manage'), - (0, common_1.Patch)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Update category and category image' }), - (0, swagger_1.ApiConsumes)('multipart/form-data'), - (0, swagger_1.ApiBody)({ type: update_category_dto_1.UpdateCategoryDto }), - (0, common_1.UseInterceptors)((0, platform_express_1.FileFieldsInterceptor)([{ name: 'image', maxCount: 1 }])), - __param(0, (0, common_1.Param)('id')), - __param(1, (0, common_1.Body)()), - __param(2, (0, common_1.UploadedFiles)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, update_category_dto_1.UpdateCategoryDto, Object]), - __metadata("design:returntype", void 0) -], CategoryController.prototype, "update", null); -__decorate([ - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, swagger_1.ApiBearerAuth)(), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('categories.manage'), - (0, common_1.Delete)(':id'), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], CategoryController.prototype, "remove", null); -exports.CategoryController = CategoryController = __decorate([ - (0, swagger_1.ApiTags)('Categories'), - (0, common_1.Controller)('categories'), - __metadata("design:paramtypes", [category_service_1.CategoryService]) -], CategoryController); -//# sourceMappingURL=category.controller.js.map \ No newline at end of file diff --git a/dist/modules/catalog/category.controller.js.map b/dist/modules/catalog/category.controller.js.map deleted file mode 100644 index e89268e6..00000000 --- a/dist/modules/catalog/category.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"category.controller.js","sourceRoot":"","sources":["../../../src/modules/catalog/category.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/catalog/category.service.d.ts b/dist/modules/catalog/category.service.d.ts deleted file mode 100644 index 0cf2a9a2..00000000 --- a/dist/modules/catalog/category.service.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Repository } from 'typeorm'; -import { StorageService } from '../storage/storage.service'; -import { CreateCategoryDto } from './dto/create-category.dto'; -import { UpdateCategoryDto } from './dto/update-category.dto'; -import { Category } from './entities/category.entity'; -export declare class CategoryService { - private readonly categoriesRepository; - private readonly storageService; - constructor(categoriesRepository: Repository, storageService: StorageService); - create(dto: CreateCategoryDto, files?: { - image?: Express.Multer.File[]; - }): Promise; - findAll(): Promise; - findOne(id: string): Promise; - update(id: string, dto: UpdateCategoryDto, files?: { - image?: Express.Multer.File[]; - }): Promise; - remove(id: string): Promise<{ - message: string; - }>; - private replaceImage; -} diff --git a/dist/modules/catalog/category.service.js b/dist/modules/catalog/category.service.js deleted file mode 100644 index 7b884792..00000000 --- a/dist/modules/catalog/category.service.js +++ /dev/null @@ -1,117 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CategoryService = void 0; -const common_1 = require("@nestjs/common"); -const typeorm_1 = require("@nestjs/typeorm"); -const typeorm_2 = require("typeorm"); -const storage_service_1 = require("../storage/storage.service"); -const category_entity_1 = require("./entities/category.entity"); -let CategoryService = class CategoryService { - categoriesRepository; - storageService; - constructor(categoriesRepository, storageService) { - this.categoriesRepository = categoriesRepository; - this.storageService = storageService; - } - async create(dto, files) { - const parent = dto.parentId - ? await this.categoriesRepository.findOne({ where: { id: dto.parentId } }) - : null; - if (dto.parentId && !parent) { - throw new common_1.NotFoundException('Parent category not found'); - } - if (parent && parent.type !== dto.type) { - throw new common_1.BadRequestException('Child category type must match parent category type'); - } - const imageUpload = files?.image?.[0] - ? await this.storageService.uploadPublicFile(files.image[0], 'categories') - : null; - const category = this.categoriesRepository.create({ - name: dto.name, - slug: dto.slug, - imageUrl: imageUpload?.url ?? dto.existingImageUrl ?? null, - type: dto.type, - parent, - }); - return this.categoriesRepository.save(category); - } - findAll() { - return this.categoriesRepository.find({ - relations: { parent: true, children: true }, - order: { createdAt: 'DESC' }, - }); - } - async findOne(id) { - const category = await this.categoriesRepository.findOne({ - where: { id }, - relations: { parent: true, children: true }, - }); - if (!category) { - throw new common_1.NotFoundException('Category not found'); - } - return category; - } - async update(id, dto, files) { - const category = await this.findOne(id); - let parent = category.parent ?? null; - if (dto.parentId !== undefined) { - parent = dto.parentId - ? await this.categoriesRepository.findOne({ where: { id: dto.parentId } }) - : null; - if (dto.parentId && !parent) { - throw new common_1.NotFoundException('Parent category not found'); - } - } - const nextType = dto.type ?? category.type; - if (parent && parent.type !== nextType) { - throw new common_1.BadRequestException('Child category type must match parent category type'); - } - if (files?.image?.[0]) { - const imageUpload = await this.storageService.uploadPublicFile(files.image[0], 'categories'); - await this.replaceImage(category.imageUrl, imageUpload.url); - category.imageUrl = imageUpload.url; - } - else if (dto.existingImageUrl !== undefined) { - await this.replaceImage(category.imageUrl, dto.existingImageUrl || null); - category.imageUrl = dto.existingImageUrl || null; - } - Object.assign(category, { - name: dto.name ?? category.name, - slug: dto.slug ?? category.slug, - type: nextType, - parent, - }); - return this.categoriesRepository.save(category); - } - async remove(id) { - const category = await this.findOne(id); - await this.storageService.deletePublicFileByUrl(category.imageUrl); - await this.categoriesRepository.remove(category); - return { message: 'Category deleted successfully' }; - } - async replaceImage(currentUrl, nextUrl) { - if (currentUrl && currentUrl !== nextUrl) { - await this.storageService.deletePublicFileByUrl(currentUrl); - } - } -}; -exports.CategoryService = CategoryService; -exports.CategoryService = CategoryService = __decorate([ - (0, common_1.Injectable)(), - __param(0, (0, typeorm_1.InjectRepository)(category_entity_1.Category)), - __metadata("design:paramtypes", [typeorm_2.Repository, - storage_service_1.StorageService]) -], CategoryService); -//# sourceMappingURL=category.service.js.map \ No newline at end of file diff --git a/dist/modules/catalog/category.service.js.map b/dist/modules/catalog/category.service.js.map deleted file mode 100644 index 9b033caf..00000000 --- a/dist/modules/catalog/category.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"category.service.js","sourceRoot":"","sources":["../../../src/modules/catalog/category.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/check-product-slug.dto.d.ts b/dist/modules/catalog/dto/check-product-slug.dto.d.ts deleted file mode 100644 index cc2aa3b0..00000000 --- a/dist/modules/catalog/dto/check-product-slug.dto.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare class CheckProductSlugDto { - slug: string; - excludeId?: string; -} diff --git a/dist/modules/catalog/dto/check-product-slug.dto.js b/dist/modules/catalog/dto/check-product-slug.dto.js deleted file mode 100644 index f2886973..00000000 --- a/dist/modules/catalog/dto/check-product-slug.dto.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CheckProductSlugDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_validator_1 = require("class-validator"); -class CheckProductSlugDto { - slug; - excludeId; -} -exports.CheckProductSlugDto = CheckProductSlugDto; -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'skf-6006-2rs' }), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(180), - __metadata("design:type", String) -], CheckProductSlugDto.prototype, "slug", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: '8dd5d8c7-8a74-4925-894f-6f4a95a83184' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsUUID)(), - __metadata("design:type", String) -], CheckProductSlugDto.prototype, "excludeId", void 0); -//# sourceMappingURL=check-product-slug.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/check-product-slug.dto.js.map b/dist/modules/catalog/dto/check-product-slug.dto.js.map deleted file mode 100644 index e88aa694..00000000 --- a/dist/modules/catalog/dto/check-product-slug.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"check-product-slug.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/check-product-slug.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAA0E;AAE1E,MAAa,mBAAmB;IAI9B,IAAI,CAAS;IAKb,SAAS,CAAU;CACpB;AAVD,kDAUC;AANC;IAHC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACxC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;iDACF;AAKb;IAHC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;IACxE,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;sDACU"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-attribute-definition.dto.d.ts b/dist/modules/catalog/dto/create-attribute-definition.dto.d.ts deleted file mode 100644 index 6f1273f5..00000000 --- a/dist/modules/catalog/dto/create-attribute-definition.dto.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AttributeDataType } from '../enums/attribute-data-type.enum'; -export declare class CreateAttributeDefinitionDto { - name: string; - slug: string; - dataType: AttributeDataType; - unit?: string; - options?: string[]; - isFilterable?: boolean; - isVisible?: boolean; -} diff --git a/dist/modules/catalog/dto/create-attribute-definition.dto.js b/dist/modules/catalog/dto/create-attribute-definition.dto.js deleted file mode 100644 index f63104a2..00000000 --- a/dist/modules/catalog/dto/create-attribute-definition.dto.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CreateAttributeDefinitionDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -const json_transform_util_1 = require("../../../common/utils/json-transform.util"); -const attribute_data_type_enum_1 = require("../enums/attribute-data-type.enum"); -class CreateAttributeDefinitionDto { - name; - slug; - dataType; - unit; - options; - isFilterable; - isVisible; -} -exports.CreateAttributeDefinitionDto = CreateAttributeDefinitionDto; -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'Weight' }), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(120), - __metadata("design:type", String) -], CreateAttributeDefinitionDto.prototype, "name", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'weight' }), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(140), - __metadata("design:type", String) -], CreateAttributeDefinitionDto.prototype, "slug", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ enum: attribute_data_type_enum_1.AttributeDataType }), - (0, class_validator_1.IsEnum)(attribute_data_type_enum_1.AttributeDataType), - __metadata("design:type", String) -], CreateAttributeDefinitionDto.prototype, "dataType", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'kg' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(50), - __metadata("design:type", String) -], CreateAttributeDefinitionDto.prototype, "unit", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ type: [String] }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsArray)(), - (0, class_validator_1.IsString)({ each: true }), - __metadata("design:type", Array) -], CreateAttributeDefinitionDto.prototype, "options", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: true }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], CreateAttributeDefinitionDto.prototype, "isFilterable", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: true }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], CreateAttributeDefinitionDto.prototype, "isVisible", void 0); -//# sourceMappingURL=create-attribute-definition.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-attribute-definition.dto.js.map b/dist/modules/catalog/dto/create-attribute-definition.dto.js.map deleted file mode 100644 index 03d81f03..00000000 --- a/dist/modules/catalog/dto/create-attribute-definition.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"create-attribute-definition.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/create-attribute-definition.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,yDAA8C;AAC9C,qDAOyB;AACzB,mFAA2E;AAC3E,gFAAsE;AAEtE,MAAa,4BAA4B;IAIvC,IAAI,CAAS;IAKb,IAAI,CAAS;IAIb,QAAQ,CAAoB;IAM5B,IAAI,CAAU;IAOd,OAAO,CAAY;IAQnB,YAAY,CAAW;IAQvB,SAAS,CAAW;CACrB;AA3CD,oEA2CC;AAvCC;IAHC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAClC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;0DACF;AAKb;IAHC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAClC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;0DACF;AAIb;IAFC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,4CAAiB,EAAE,CAAC;IACxC,IAAA,wBAAM,EAAC,4CAAiB,CAAC;;8DACE;AAM5B;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;0DACA;AAOd;IALC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;6DACN;AAQnB;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;kEACW;AAQvB;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;+DACQ"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-brand.dto.d.ts b/dist/modules/catalog/dto/create-brand.dto.d.ts deleted file mode 100644 index b5ca668f..00000000 --- a/dist/modules/catalog/dto/create-brand.dto.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ProductType } from '../enums/product-type.enum'; -export declare class CreateBrandDto { - name: string; - slug: string; - existingImageUrl?: string; - type: ProductType; -} diff --git a/dist/modules/catalog/dto/create-brand.dto.js b/dist/modules/catalog/dto/create-brand.dto.js deleted file mode 100644 index a880be38..00000000 --- a/dist/modules/catalog/dto/create-brand.dto.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CreateBrandDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_validator_1 = require("class-validator"); -const product_type_enum_1 = require("../enums/product-type.enum"); -class CreateBrandDto { - name; - slug; - existingImageUrl; - type; -} -exports.CreateBrandDto = CreateBrandDto; -__decorate([ - (0, swagger_1.ApiProperty)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(2), - (0, class_validator_1.MaxLength)(150), - __metadata("design:type", String) -], CreateBrandDto.prototype, "name", void 0); -__decorate([ - (0, swagger_1.ApiProperty)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(2), - (0, class_validator_1.MaxLength)(180), - __metadata("design:type", String) -], CreateBrandDto.prototype, "slug", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'https://cdn.example.com/media/image/root/brand.jpg' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(500), - __metadata("design:type", String) -], CreateBrandDto.prototype, "existingImageUrl", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ enum: product_type_enum_1.ProductType }), - (0, class_validator_1.IsEnum)(product_type_enum_1.ProductType), - __metadata("design:type", String) -], CreateBrandDto.prototype, "type", void 0); -//# sourceMappingURL=create-brand.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-brand.dto.js.map b/dist/modules/catalog/dto/create-brand.dto.js.map deleted file mode 100644 index c061e0b1..00000000 --- a/dist/modules/catalog/dto/create-brand.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"create-brand.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/create-brand.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAOyB;AACzB,kEAAyD;AAEzD,MAAa,cAAc;IAKzB,IAAI,CAAS;IAMb,IAAI,CAAS;IAMb,gBAAgB,CAAU;IAI1B,IAAI,CAAc;CACnB;AAtBD,wCAsBC;AAjBC;IAJC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;4CACF;AAMb;IAJC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;4CACF;AAMb;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC;IACtF,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;wDACW;AAI1B;IAFC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,+BAAW,EAAE,CAAC;IAClC,IAAA,wBAAM,EAAC,+BAAW,CAAC;;4CACF"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-category.dto.d.ts b/dist/modules/catalog/dto/create-category.dto.d.ts deleted file mode 100644 index 2298bd91..00000000 --- a/dist/modules/catalog/dto/create-category.dto.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ProductType } from '../enums/product-type.enum'; -export declare class CreateCategoryDto { - name: string; - slug: string; - existingImageUrl?: string; - type: ProductType; - parentId?: string; -} diff --git a/dist/modules/catalog/dto/create-category.dto.js b/dist/modules/catalog/dto/create-category.dto.js deleted file mode 100644 index 6d330b7d..00000000 --- a/dist/modules/catalog/dto/create-category.dto.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CreateCategoryDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_validator_1 = require("class-validator"); -const product_type_enum_1 = require("../enums/product-type.enum"); -class CreateCategoryDto { - name; - slug; - existingImageUrl; - type; - parentId; -} -exports.CreateCategoryDto = CreateCategoryDto; -__decorate([ - (0, swagger_1.ApiProperty)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(2), - (0, class_validator_1.MaxLength)(150), - __metadata("design:type", String) -], CreateCategoryDto.prototype, "name", void 0); -__decorate([ - (0, swagger_1.ApiProperty)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MinLength)(2), - (0, class_validator_1.MaxLength)(180), - __metadata("design:type", String) -], CreateCategoryDto.prototype, "slug", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'https://cdn.example.com/media/image/root/category.jpg' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(500), - __metadata("design:type", String) -], CreateCategoryDto.prototype, "existingImageUrl", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ enum: product_type_enum_1.ProductType }), - (0, class_validator_1.IsEnum)(product_type_enum_1.ProductType), - __metadata("design:type", String) -], CreateCategoryDto.prototype, "type", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)(), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsUUID)(), - __metadata("design:type", String) -], CreateCategoryDto.prototype, "parentId", void 0); -//# sourceMappingURL=create-category.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-category.dto.js.map b/dist/modules/catalog/dto/create-category.dto.js.map deleted file mode 100644 index e517207b..00000000 --- a/dist/modules/catalog/dto/create-category.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"create-category.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/create-category.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAA6F;AAC7F,kEAAyD;AAEzD,MAAa,iBAAiB;IAK5B,IAAI,CAAS;IAMb,IAAI,CAAS;IAMb,gBAAgB,CAAU;IAI1B,IAAI,CAAc;IAKlB,QAAQ,CAAU;CACnB;AA3BD,8CA2BC;AAtBC;IAJC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;+CACF;AAMb;IAJC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;+CACF;AAMb;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,uDAAuD,EAAE,CAAC;IACzF,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;2DACW;AAI1B;IAFC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,+BAAW,EAAE,CAAC;IAClC,IAAA,wBAAM,EAAC,+BAAW,CAAC;;+CACF;AAKlB;IAHC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;mDACS"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-product-review.dto.d.ts b/dist/modules/catalog/dto/create-product-review.dto.d.ts deleted file mode 100644 index 7dfbde16..00000000 --- a/dist/modules/catalog/dto/create-product-review.dto.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export declare class CreateProductReviewDto { - name: string; - email?: string; - rating: number; - title?: string; - comment: string; -} diff --git a/dist/modules/catalog/dto/create-product-review.dto.js b/dist/modules/catalog/dto/create-product-review.dto.js deleted file mode 100644 index 3c2777d5..00000000 --- a/dist/modules/catalog/dto/create-product-review.dto.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CreateProductReviewDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_validator_1 = require("class-validator"); -class CreateProductReviewDto { - name; - email; - rating; - title; - comment; -} -exports.CreateProductReviewDto = CreateProductReviewDto; -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'Ali Rezaei' }), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(120), - __metadata("design:type", String) -], CreateProductReviewDto.prototype, "name", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'ali@example.com' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsEmail)(), - (0, class_validator_1.MaxLength)(160), - __metadata("design:type", String) -], CreateProductReviewDto.prototype, "email", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 5, minimum: 1, maximum: 5 }), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(1), - (0, class_validator_1.Max)(5), - __metadata("design:type", Number) -], CreateProductReviewDto.prototype, "rating", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'Excellent quality' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(160), - __metadata("design:type", String) -], CreateProductReviewDto.prototype, "title", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'Good quality product with solid packaging.' }), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], CreateProductReviewDto.prototype, "comment", void 0); -//# sourceMappingURL=create-product-review.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-product-review.dto.js.map b/dist/modules/catalog/dto/create-product-review.dto.js.map deleted file mode 100644 index 38294ebe..00000000 --- a/dist/modules/catalog/dto/create-product-review.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"create-product-review.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/create-product-review.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAQyB;AAEzB,MAAa,sBAAsB;IAIjC,IAAI,CAAS;IAMb,KAAK,CAAU;IAMf,MAAM,CAAS;IAMf,KAAK,CAAU;IAIf,OAAO,CAAS;CACjB;AA3BD,wDA2BC;AAvBC;IAHC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACtC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;oDACF;AAMb;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IACnD,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,2BAAS,EAAC,GAAG,CAAC;;qDACA;AAMf;IAJC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,qBAAG,EAAC,CAAC,CAAC;;sDACQ;AAMf;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACrD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;qDACA;AAIf;IAFC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;IACtE,IAAA,0BAAQ,GAAE;;uDACK"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-product.dto.d.ts b/dist/modules/catalog/dto/create-product.dto.d.ts deleted file mode 100644 index acf1fb38..00000000 --- a/dist/modules/catalog/dto/create-product.dto.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { ProductStatus } from '../enums/product-status.enum'; -import { ProductType } from '../enums/product-type.enum'; -import { ProductAttributeInputDto } from './product-attribute-input.dto'; -import { ProductMetaDto } from './product-meta.dto'; -export declare class CreateProductDto { - sku: string; - title: string; - slug: string; - technicalCode: string; - brand?: string; - brandId?: string; - basePriceUSD: number; - salePriceUSD?: number; - stock: number; - type: ProductType; - status?: ProductStatus; - featured?: boolean; - primaryCategoryId?: string; - categoryIds?: string[]; - tags?: string[]; - meta?: ProductMetaDto; - attributes?: ProductAttributeInputDto[]; - existingGalleryUrls?: string[]; - existingMainImageUrl?: string; - existingThreeDModelUrl?: string; -} diff --git a/dist/modules/catalog/dto/create-product.dto.js b/dist/modules/catalog/dto/create-product.dto.js deleted file mode 100644 index d1b2bdc5..00000000 --- a/dist/modules/catalog/dto/create-product.dto.js +++ /dev/null @@ -1,198 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CreateProductDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -const json_transform_util_1 = require("../../../common/utils/json-transform.util"); -const product_status_enum_1 = require("../enums/product-status.enum"); -const product_type_enum_1 = require("../enums/product-type.enum"); -const product_attribute_input_dto_1 = require("./product-attribute-input.dto"); -const product_meta_dto_1 = require("./product-meta.dto"); -class CreateProductDto { - sku; - title; - slug; - technicalCode; - brand; - brandId; - basePriceUSD; - salePriceUSD; - stock; - type; - status; - featured; - primaryCategoryId; - categoryIds; - tags; - meta; - attributes; - existingGalleryUrls; - existingMainImageUrl; - existingThreeDModelUrl; -} -exports.CreateProductDto = CreateProductDto; -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'BRG-6006-2RS' }), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(80), - __metadata("design:type", String) -], CreateProductDto.prototype, "sku", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'SKF 6006-2RS Deep Groove Bearing' }), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(160), - __metadata("design:type", String) -], CreateProductDto.prototype, "title", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'skf-6006-2rs' }), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(180), - __metadata("design:type", String) -], CreateProductDto.prototype, "slug", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'SKF-6006' }), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(120), - __metadata("design:type", String) -], CreateProductDto.prototype, "technicalCode", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 'SKF' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(120), - __metadata("design:type", String) -], CreateProductDto.prototype, "brand", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: '1cc8af97-a766-49af-80f4-912710ef9b2f' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsUUID)(), - __metadata("design:type", String) -], CreateProductDto.prototype, "brandId", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 42.5 }), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsNumber)(), - (0, class_validator_1.Min)(0), - __metadata("design:type", Number) -], CreateProductDto.prototype, "basePriceUSD", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 39.99 }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsNumber)(), - (0, class_validator_1.Min)(0), - __metadata("design:type", Number) -], CreateProductDto.prototype, "salePriceUSD", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ example: 28 }), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(0), - __metadata("design:type", Number) -], CreateProductDto.prototype, "stock", void 0); -__decorate([ - (0, swagger_1.ApiProperty)({ enum: product_type_enum_1.ProductType }), - (0, class_validator_1.IsEnum)(product_type_enum_1.ProductType), - __metadata("design:type", String) -], CreateProductDto.prototype, "type", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ enum: product_status_enum_1.ProductStatus, example: product_status_enum_1.ProductStatus.DRAFT }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsEnum)(product_status_enum_1.ProductStatus), - __metadata("design:type", String) -], CreateProductDto.prototype, "status", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: true }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], CreateProductDto.prototype, "featured", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: '1cc8af97-a766-49af-80f4-912710ef9b2f' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsUUID)(), - __metadata("design:type", String) -], CreateProductDto.prototype, "primaryCategoryId", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ - example: [ - '1cc8af97-a766-49af-80f4-912710ef9b2f', - '2cc8af97-a766-49af-80f4-912710ef9b2f', - ], - type: [String], - }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsArray)(), - (0, class_validator_1.ArrayUnique)(), - (0, class_validator_1.IsUUID)('4', { each: true }), - __metadata("design:type", Array) -], CreateProductDto.prototype, "categoryIds", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ - example: ['bearing', 'skf', 'industrial'], - type: [String], - }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsArray)(), - (0, class_validator_1.ArrayMaxSize)(30), - (0, class_validator_1.ArrayUnique)(), - (0, class_validator_1.IsString)({ each: true }), - __metadata("design:type", Array) -], CreateProductDto.prototype, "tags", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ type: product_meta_dto_1.ProductMetaDto }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.ValidateNested)(), - (0, class_transformer_1.Type)(() => product_meta_dto_1.ProductMetaDto), - __metadata("design:type", product_meta_dto_1.ProductMetaDto) -], CreateProductDto.prototype, "meta", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ type: [product_attribute_input_dto_1.ProductAttributeInputDto] }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsArray)(), - (0, class_validator_1.ValidateNested)({ each: true }), - (0, class_transformer_1.Type)(() => product_attribute_input_dto_1.ProductAttributeInputDto), - __metadata("design:type", Array) -], CreateProductDto.prototype, "attributes", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ - example: ['https://cdn.example.com/products/gallery/1.jpg'], - type: [String], - }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsArray)(), - (0, class_validator_1.ArrayMaxSize)(20), - (0, class_validator_1.IsString)({ each: true }), - __metadata("design:type", Array) -], CreateProductDto.prototype, "existingGalleryUrls", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'https://cdn.example.com/products/main.jpg' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.IsNotEmpty)(), - __metadata("design:type", String) -], CreateProductDto.prototype, "existingMainImageUrl", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'https://cdn.example.com/products/model.glb' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.IsNotEmpty)(), - __metadata("design:type", String) -], CreateProductDto.prototype, "existingThreeDModelUrl", void 0); -//# sourceMappingURL=create-product.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/create-product.dto.js.map b/dist/modules/catalog/dto/create-product.dto.js.map deleted file mode 100644 index 8de44f17..00000000 --- a/dist/modules/catalog/dto/create-product.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"create-product.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/create-product.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,yDAAoD;AACpD,qDAeyB;AACzB,mFAA2E;AAC3E,sEAA6D;AAC7D,kEAAyD;AACzD,+EAAyE;AACzE,yDAAoD;AAEpD,MAAa,gBAAgB;IAI3B,GAAG,CAAS;IAKZ,KAAK,CAAS;IAKd,IAAI,CAAS;IAKb,aAAa,CAAS;IAMtB,KAAK,CAAU;IAKf,OAAO,CAAU;IAMjB,YAAY,CAAS;IAOrB,YAAY,CAAU;IAMtB,KAAK,CAAS;IAId,IAAI,CAAc;IAKlB,MAAM,CAAiB;IAQvB,QAAQ,CAAW;IAKnB,iBAAiB,CAAU;IAc3B,WAAW,CAAY;IAYvB,IAAI,CAAY;IAOhB,IAAI,CAAkB;IAQtB,UAAU,CAA8B;IAWxC,mBAAmB,CAAY;IAM/B,oBAAoB,CAAU;IAM9B,sBAAsB,CAAU;CACjC;AAxID,4CAwIC;AApIC;IAHC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACxC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;6CACF;AAKZ;IAHC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;IAC5D,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;+CACD;AAKd;IAHC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACxC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;8CACF;AAKb;IAHC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACpC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;uDACO;AAMtB;IAJC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/B,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;+CACA;AAKf;IAHC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;IACxE,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;iDACQ;AAMjB;IAJC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAG,EAAC,CAAC,CAAC;;sDACc;AAOrB;IALC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAG,EAAC,CAAC,CAAC;;sDACe;AAMtB;IAJC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC5B,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;+CACO;AAId;IAFC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,+BAAW,EAAE,CAAC;IAClC,IAAA,wBAAM,EAAC,+BAAW,CAAC;;8CACF;AAKlB;IAHC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,mCAAa,EAAE,OAAO,EAAE,mCAAa,CAAC,KAAK,EAAE,CAAC;IAC1E,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,mCAAa,CAAC;;gDACC;AAQvB;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;kDACO;AAKnB;IAHC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;IACxE,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;2DACkB;AAc3B;IAZC,IAAA,6BAAmB,EAAC;QACnB,OAAO,EAAE;YACP,sCAAsC;YACtC,sCAAsC;SACvC;QACD,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,yBAAO,GAAE;IACT,IAAA,6BAAW,GAAE;IACb,IAAA,wBAAM,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;qDACL;AAYvB;IAVC,IAAA,6BAAmB,EAAC;QACnB,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC;QACzC,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,yBAAO,GAAE;IACT,IAAA,8BAAY,EAAC,EAAE,CAAC;IAChB,IAAA,6BAAW,GAAE;IACb,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;8CACT;AAOhB;IALC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,iCAAc,EAAE,CAAC;IAC7C,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iCAAc,CAAC;8BACpB,iCAAc;8CAAC;AAQtB;IANC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,CAAC,sDAAwB,CAAC,EAAE,CAAC;IACzD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,sDAAwB,CAAC;;oDACG;AAWxC;IATC,IAAA,6BAAmB,EAAC;QACnB,OAAO,EAAE,CAAC,gDAAgD,CAAC;QAC3D,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,yBAAO,GAAE;IACT,IAAA,8BAAY,EAAC,EAAE,CAAC;IAChB,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;6DACM;AAM/B;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IAC7E,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8DACiB;AAM9B;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;IAC9E,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;gEACmB"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/filter-product-reviews.dto.d.ts b/dist/modules/catalog/dto/filter-product-reviews.dto.d.ts deleted file mode 100644 index bf2a9466..00000000 --- a/dist/modules/catalog/dto/filter-product-reviews.dto.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export declare class FilterProductReviewsDto { - productId?: string; - isApproved?: boolean; - isPinned?: boolean; - page?: number; - limit?: number; -} diff --git a/dist/modules/catalog/dto/filter-product-reviews.dto.js b/dist/modules/catalog/dto/filter-product-reviews.dto.js deleted file mode 100644 index 600903e0..00000000 --- a/dist/modules/catalog/dto/filter-product-reviews.dto.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.FilterProductReviewsDto = void 0; -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -class FilterProductReviewsDto { - productId; - isApproved; - isPinned; - page = 1; - limit = 20; -} -exports.FilterProductReviewsDto = FilterProductReviewsDto; -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsUUID)(), - __metadata("design:type", String) -], FilterProductReviewsDto.prototype, "productId", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], FilterProductReviewsDto.prototype, "isApproved", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], FilterProductReviewsDto.prototype, "isPinned", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(1), - __metadata("design:type", Number) -], FilterProductReviewsDto.prototype, "page", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(1), - __metadata("design:type", Number) -], FilterProductReviewsDto.prototype, "limit", void 0); -//# sourceMappingURL=filter-product-reviews.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/filter-product-reviews.dto.js.map b/dist/modules/catalog/dto/filter-product-reviews.dto.js.map deleted file mode 100644 index de9f4b0d..00000000 --- a/dist/modules/catalog/dto/filter-product-reviews.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"filter-product-reviews.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/filter-product-reviews.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,qDAMyB;AAEzB,MAAa,uBAAuB;IAGlC,SAAS,CAAU;IAOnB,UAAU,CAAW;IAOrB,QAAQ,CAAW;IAMnB,IAAI,GAAY,CAAC,CAAC;IAMlB,KAAK,GAAY,EAAE,CAAC;CACrB;AA9BD,0DA8BC;AA3BC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;0DACU;AAOnB;IALC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;2DACS;AAOrB;IALC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;yDACO;AAMnB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;qDACW;AAMlB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;sDACa"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/filter-products.dto.d.ts b/dist/modules/catalog/dto/filter-products.dto.d.ts deleted file mode 100644 index 67581108..00000000 --- a/dist/modules/catalog/dto/filter-products.dto.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ProductStatus } from '../enums/product-status.enum'; -import { ProductType } from '../enums/product-type.enum'; -export declare class FilterProductsDto { - search?: string; - type?: ProductType; - status?: ProductStatus; - categoryId?: string; - brandId?: string; - brand?: string; - attributes?: Record; - tags?: string[]; - featured?: boolean; - page?: number; - limit?: number; -} diff --git a/dist/modules/catalog/dto/filter-products.dto.js b/dist/modules/catalog/dto/filter-products.dto.js deleted file mode 100644 index ecb7336f..00000000 --- a/dist/modules/catalog/dto/filter-products.dto.js +++ /dev/null @@ -1,95 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.FilterProductsDto = void 0; -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -const json_transform_util_1 = require("../../../common/utils/json-transform.util"); -const product_status_enum_1 = require("../enums/product-status.enum"); -const product_type_enum_1 = require("../enums/product-type.enum"); -class FilterProductsDto { - search; - type; - status; - categoryId; - brandId; - brand; - attributes; - tags; - featured; - page = 1; - limit = 20; -} -exports.FilterProductsDto = FilterProductsDto; -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], FilterProductsDto.prototype, "search", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsEnum)(product_type_enum_1.ProductType), - __metadata("design:type", String) -], FilterProductsDto.prototype, "type", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsEnum)(product_status_enum_1.ProductStatus), - __metadata("design:type", String) -], FilterProductsDto.prototype, "status", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsUUID)(), - __metadata("design:type", String) -], FilterProductsDto.prototype, "categoryId", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsUUID)(), - __metadata("design:type", String) -], FilterProductsDto.prototype, "brandId", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], FilterProductsDto.prototype, "brand", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsObject)(), - __metadata("design:type", Object) -], FilterProductsDto.prototype, "attributes", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsArray)(), - (0, class_validator_1.IsString)({ each: true }), - __metadata("design:type", Array) -], FilterProductsDto.prototype, "tags", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], FilterProductsDto.prototype, "featured", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(1), - __metadata("design:type", Number) -], FilterProductsDto.prototype, "page", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(1), - __metadata("design:type", Number) -], FilterProductsDto.prototype, "limit", void 0); -//# sourceMappingURL=filter-products.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/filter-products.dto.js.map b/dist/modules/catalog/dto/filter-products.dto.js.map deleted file mode 100644 index 5b238cdb..00000000 --- a/dist/modules/catalog/dto/filter-products.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"filter-products.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/filter-products.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,qDAUyB;AACzB,mFAA2E;AAC3E,sEAA6D;AAC7D,kEAAyD;AAEzD,MAAa,iBAAiB;IAG5B,MAAM,CAAU;IAIhB,IAAI,CAAe;IAInB,MAAM,CAAiB;IAIvB,UAAU,CAAU;IAIpB,OAAO,CAAU;IAIjB,KAAK,CAAU;IAKf,UAAU,CAA2B;IAMrC,IAAI,CAAY;IAOhB,QAAQ,CAAW;IAMnB,IAAI,GAAY,CAAC,CAAC;IAMlB,KAAK,GAAY,EAAE,CAAC;CACrB;AAtDD,8CAsDC;AAnDC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,+BAAW,CAAC;;+CACD;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,mCAAa,CAAC;;iDACC;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;qDACW;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;kDACQ;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gDACI;AAKf;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,0BAAQ,GAAE;;qDAC0B;AAMrC;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;+CACT;AAOhB;IALC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;mDACO;AAMnB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;+CACW;AAMlB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;gDACa"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/moderate-product-review.dto.d.ts b/dist/modules/catalog/dto/moderate-product-review.dto.d.ts deleted file mode 100644 index 597b6af1..00000000 --- a/dist/modules/catalog/dto/moderate-product-review.dto.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare class ModerateProductReviewDto { - isApproved?: boolean; - isPinned?: boolean; -} diff --git a/dist/modules/catalog/dto/moderate-product-review.dto.js b/dist/modules/catalog/dto/moderate-product-review.dto.js deleted file mode 100644 index f78f72d7..00000000 --- a/dist/modules/catalog/dto/moderate-product-review.dto.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ModerateProductReviewDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -class ModerateProductReviewDto { - isApproved; - isPinned; -} -exports.ModerateProductReviewDto = ModerateProductReviewDto; -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: true }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], ModerateProductReviewDto.prototype, "isApproved", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: false }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], ModerateProductReviewDto.prototype, "isPinned", void 0); -//# sourceMappingURL=moderate-product-review.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/moderate-product-review.dto.js.map b/dist/modules/catalog/dto/moderate-product-review.dto.js.map deleted file mode 100644 index 795284fc..00000000 --- a/dist/modules/catalog/dto/moderate-product-review.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"moderate-product-review.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/moderate-product-review.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,yDAA8C;AAC9C,qDAAwD;AAExD,MAAa,wBAAwB;IAOnC,UAAU,CAAW;IAQrB,QAAQ,CAAW;CACpB;AAhBD,4DAgBC;AATC;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;4DACS;AAQrB;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;0DACO"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/product-attribute-input.dto.d.ts b/dist/modules/catalog/dto/product-attribute-input.dto.d.ts deleted file mode 100644 index a1450074..00000000 --- a/dist/modules/catalog/dto/product-attribute-input.dto.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { AttributeDataType } from '../enums/attribute-data-type.enum'; -export declare class ProductAttributeInputDto { - displayOrder?: number; - attributeId?: string; - name?: string; - slug?: string; - dataType?: AttributeDataType; - unit?: string; - options?: string[]; - isFilterable?: boolean; - isVisible?: boolean; - defaultValueText?: string; - defaultValueNumber?: number; - defaultValueBoolean?: boolean; - defaultValueJson?: Record | string[]; - valueText?: string; - valueNumber?: number; - valueBoolean?: boolean; - valueJson?: Record | string[]; - overrideUnit?: string; -} diff --git a/dist/modules/catalog/dto/product-attribute-input.dto.js b/dist/modules/catalog/dto/product-attribute-input.dto.js deleted file mode 100644 index 9f65acdb..00000000 --- a/dist/modules/catalog/dto/product-attribute-input.dto.js +++ /dev/null @@ -1,162 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductAttributeInputDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -const json_transform_util_1 = require("../../../common/utils/json-transform.util"); -const attribute_data_type_enum_1 = require("../enums/attribute-data-type.enum"); -class ProductAttributeInputDto { - displayOrder; - attributeId; - name; - slug; - dataType; - unit; - options; - isFilterable; - isVisible; - defaultValueText; - defaultValueNumber; - defaultValueBoolean; - defaultValueJson; - valueText; - valueNumber; - valueBoolean; - valueJson; - overrideUnit; -} -exports.ProductAttributeInputDto = ProductAttributeInputDto; -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 0 }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Type)(() => Number), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(0), - __metadata("design:type", Number) -], ProductAttributeInputDto.prototype, "displayOrder", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)(), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsUUID)(), - __metadata("design:type", String) -], ProductAttributeInputDto.prototype, "attributeId", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'Weight' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(120), - __metadata("design:type", String) -], ProductAttributeInputDto.prototype, "name", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'weight' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(140), - __metadata("design:type", String) -], ProductAttributeInputDto.prototype, "slug", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ enum: attribute_data_type_enum_1.AttributeDataType }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsEnum)(attribute_data_type_enum_1.AttributeDataType), - __metadata("design:type", String) -], ProductAttributeInputDto.prototype, "dataType", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'kg' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(50), - __metadata("design:type", String) -], ProductAttributeInputDto.prototype, "unit", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ type: [String], example: ['Red', 'Blue'] }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsArray)(), - (0, class_validator_1.IsString)({ each: true }), - __metadata("design:type", Array) -], ProductAttributeInputDto.prototype, "options", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: true }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], ProductAttributeInputDto.prototype, "isFilterable", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: true }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], ProductAttributeInputDto.prototype, "isVisible", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: '1.25' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], ProductAttributeInputDto.prototype, "defaultValueText", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 1.25 }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Type)(() => Number), - (0, class_validator_1.IsNumber)(), - __metadata("design:type", Number) -], ProductAttributeInputDto.prototype, "defaultValueNumber", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: true }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], ProductAttributeInputDto.prototype, "defaultValueBoolean", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: ['6305', '6306'] }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsObject)(), - __metadata("design:type", Object) -], ProductAttributeInputDto.prototype, "defaultValueJson", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: '1.40' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], ProductAttributeInputDto.prototype, "valueText", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 1.4 }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Type)(() => Number), - (0, class_validator_1.IsNumber)(), - __metadata("design:type", Number) -], ProductAttributeInputDto.prototype, "valueNumber", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: false }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], ProductAttributeInputDto.prototype, "valueBoolean", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: ['2RS', 'ZZ'] }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - __metadata("design:type", Object) -], ProductAttributeInputDto.prototype, "valueJson", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'g' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(50), - __metadata("design:type", String) -], ProductAttributeInputDto.prototype, "overrideUnit", void 0); -//# sourceMappingURL=product-attribute-input.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/product-attribute-input.dto.js.map b/dist/modules/catalog/dto/product-attribute-input.dto.js.map deleted file mode 100644 index 5aca95dc..00000000 --- a/dist/modules/catalog/dto/product-attribute-input.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product-attribute-input.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/product-attribute-input.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,yDAAoD;AACpD,qDAYyB;AACzB,mFAA2E;AAC3E,gFAAsE;AAEtE,MAAa,wBAAwB;IAMnC,YAAY,CAAU;IAKtB,WAAW,CAAU;IAMrB,IAAI,CAAU;IAMd,IAAI,CAAU;IAKd,QAAQ,CAAqB;IAM7B,IAAI,CAAU;IAOd,OAAO,CAAY;IAQnB,YAAY,CAAW;IAQvB,SAAS,CAAW;IAKpB,gBAAgB,CAAU;IAM1B,kBAAkB,CAAU;IAQ5B,mBAAmB,CAAW;IAM9B,gBAAgB,CAAsC;IAKtD,SAAS,CAAU;IAMnB,WAAW,CAAU;IAQrB,YAAY,CAAW;IAKvB,SAAS,CAAsC;IAM/C,YAAY,CAAU;CACvB;AAjHD,4DAiHC;AA3GC;IALC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;8DACe;AAKtB;IAHC,IAAA,6BAAmB,GAAE;IACrB,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;6DACY;AAMrB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC1C,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;sDACD;AAMd;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC1C,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;sDACD;AAKd;IAHC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,4CAAiB,EAAE,CAAC;IAChD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,4CAAiB,CAAC;;0DACG;AAM7B;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;sDACA;AAOd;IALC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IACjE,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;yDACN;AAQnB;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;8DACW;AAQvB;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;2DACQ;AAKpB;IAHC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACxC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kEACe;AAM1B;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;;oEACiB;AAQ5B;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;qEACkB;AAM9B;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAClD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,0BAAQ,GAAE;;kEAC2C;AAKtD;IAHC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACxC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2DACQ;AAMnB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACrC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;;6DACU;AAQrB;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;8DACW;AAKvB;IAHC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IAC/C,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;;2DACqB;AAM/C;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACrC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;8DACQ"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/product-meta.dto.d.ts b/dist/modules/catalog/dto/product-meta.dto.d.ts deleted file mode 100644 index a2afbe26..00000000 --- a/dist/modules/catalog/dto/product-meta.dto.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export declare class ProductMetaDto { - shortDescription?: string; - description?: string; - metaTitle?: string; - metaDescription?: string; - shareTitle?: string; - shareDescription?: string; - shareImageUrl?: string; -} diff --git a/dist/modules/catalog/dto/product-meta.dto.js b/dist/modules/catalog/dto/product-meta.dto.js deleted file mode 100644 index c9945718..00000000 --- a/dist/modules/catalog/dto/product-meta.dto.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductMetaDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_validator_1 = require("class-validator"); -class ProductMetaDto { - shortDescription; - description; - metaTitle; - metaDescription; - shareTitle; - shareDescription; - shareImageUrl; -} -exports.ProductMetaDto = ProductMetaDto; -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'Industrial bearing for motors and gearboxes' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(320), - __metadata("design:type", String) -], ProductMetaDto.prototype, "shortDescription", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'Full product description in HTML or plain text' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], ProductMetaDto.prototype, "description", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'SKF 6006-2RS | Buy Industrial Bearing' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(160), - __metadata("design:type", String) -], ProductMetaDto.prototype, "metaTitle", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'Buy SKF 6006-2RS with verified specs and fast delivery.' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(320), - __metadata("design:type", String) -], ProductMetaDto.prototype, "metaDescription", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'SKF 6006-2RS Deep Groove Bearing' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(160), - __metadata("design:type", String) -], ProductMetaDto.prototype, "shareTitle", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'Industrial bearing with verified specs and fast delivery.' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(320), - __metadata("design:type", String) -], ProductMetaDto.prototype, "shareDescription", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'https://cdn.example.com/products/share.jpg' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(500), - __metadata("design:type", String) -], ProductMetaDto.prototype, "shareImageUrl", void 0); -//# sourceMappingURL=product-meta.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/product-meta.dto.js.map b/dist/modules/catalog/dto/product-meta.dto.js.map deleted file mode 100644 index 5d526d59..00000000 --- a/dist/modules/catalog/dto/product-meta.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product-meta.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/product-meta.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,qDAAkE;AAElE,MAAa,cAAc;IAKzB,gBAAgB,CAAU;IAK1B,WAAW,CAAU;IAMrB,SAAS,CAAU;IAMnB,eAAe,CAAU;IAMzB,UAAU,CAAU;IAMpB,gBAAgB,CAAU;IAM1B,aAAa,CAAU;CACxB;AAzCD,wCAyCC;AApCC;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;IAC/E,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;wDACW;AAK1B;IAHC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;IAClF,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACU;AAMrB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;IACzE,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;iDACI;AAMnB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC;IAC3F,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;uDACU;AAMzB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;IACpE,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;kDACK;AAMpB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,2DAA2D,EAAE,CAAC;IAC7F,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;wDACW;AAM1B;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;IAC9E,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;qDACQ"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/update-attribute-definition.dto.d.ts b/dist/modules/catalog/dto/update-attribute-definition.dto.d.ts deleted file mode 100644 index 40a72541..00000000 --- a/dist/modules/catalog/dto/update-attribute-definition.dto.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { CreateAttributeDefinitionDto } from './create-attribute-definition.dto'; -declare const UpdateAttributeDefinitionDto_base: import("@nestjs/common").Type>; -export declare class UpdateAttributeDefinitionDto extends UpdateAttributeDefinitionDto_base { -} -export {}; diff --git a/dist/modules/catalog/dto/update-attribute-definition.dto.js b/dist/modules/catalog/dto/update-attribute-definition.dto.js deleted file mode 100644 index df846aee..00000000 --- a/dist/modules/catalog/dto/update-attribute-definition.dto.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UpdateAttributeDefinitionDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const create_attribute_definition_dto_1 = require("./create-attribute-definition.dto"); -class UpdateAttributeDefinitionDto extends (0, swagger_1.PartialType)(create_attribute_definition_dto_1.CreateAttributeDefinitionDto) { -} -exports.UpdateAttributeDefinitionDto = UpdateAttributeDefinitionDto; -//# sourceMappingURL=update-attribute-definition.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/update-attribute-definition.dto.js.map b/dist/modules/catalog/dto/update-attribute-definition.dto.js.map deleted file mode 100644 index a81cb0f0..00000000 --- a/dist/modules/catalog/dto/update-attribute-definition.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"update-attribute-definition.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/update-attribute-definition.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,uFAAiF;AAEjF,MAAa,4BAA6B,SAAQ,IAAA,qBAAW,EAC3D,8DAA4B,CAC7B;CAAG;AAFJ,oEAEI"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/update-brand.dto.d.ts b/dist/modules/catalog/dto/update-brand.dto.d.ts deleted file mode 100644 index 4a75a546..00000000 --- a/dist/modules/catalog/dto/update-brand.dto.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { CreateBrandDto } from './create-brand.dto'; -declare const UpdateBrandDto_base: import("@nestjs/common").Type>; -export declare class UpdateBrandDto extends UpdateBrandDto_base { -} -export {}; diff --git a/dist/modules/catalog/dto/update-brand.dto.js b/dist/modules/catalog/dto/update-brand.dto.js deleted file mode 100644 index d1f9d37c..00000000 --- a/dist/modules/catalog/dto/update-brand.dto.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UpdateBrandDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const create_brand_dto_1 = require("./create-brand.dto"); -class UpdateBrandDto extends (0, swagger_1.PartialType)(create_brand_dto_1.CreateBrandDto) { -} -exports.UpdateBrandDto = UpdateBrandDto; -//# sourceMappingURL=update-brand.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/update-brand.dto.js.map b/dist/modules/catalog/dto/update-brand.dto.js.map deleted file mode 100644 index 57d3eaac..00000000 --- a/dist/modules/catalog/dto/update-brand.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"update-brand.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/update-brand.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,yDAAoD;AAEpD,MAAa,cAAe,SAAQ,IAAA,qBAAW,EAAC,iCAAc,CAAC;CAAG;AAAlE,wCAAkE"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/update-category.dto.d.ts b/dist/modules/catalog/dto/update-category.dto.d.ts deleted file mode 100644 index 12f1b18d..00000000 --- a/dist/modules/catalog/dto/update-category.dto.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { CreateCategoryDto } from './create-category.dto'; -declare const UpdateCategoryDto_base: import("@nestjs/common").Type>; -export declare class UpdateCategoryDto extends UpdateCategoryDto_base { -} -export {}; diff --git a/dist/modules/catalog/dto/update-category.dto.js b/dist/modules/catalog/dto/update-category.dto.js deleted file mode 100644 index de6e7775..00000000 --- a/dist/modules/catalog/dto/update-category.dto.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UpdateCategoryDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const create_category_dto_1 = require("./create-category.dto"); -class UpdateCategoryDto extends (0, swagger_1.PartialType)(create_category_dto_1.CreateCategoryDto) { -} -exports.UpdateCategoryDto = UpdateCategoryDto; -//# sourceMappingURL=update-category.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/update-category.dto.js.map b/dist/modules/catalog/dto/update-category.dto.js.map deleted file mode 100644 index e2ba98f4..00000000 --- a/dist/modules/catalog/dto/update-category.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"update-category.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/update-category.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,+DAA0D;AAE1D,MAAa,iBAAkB,SAAQ,IAAA,qBAAW,EAAC,uCAAiB,CAAC;CAAG;AAAxE,8CAAwE"} \ No newline at end of file diff --git a/dist/modules/catalog/dto/update-product.dto.d.ts b/dist/modules/catalog/dto/update-product.dto.d.ts deleted file mode 100644 index a26173e7..00000000 --- a/dist/modules/catalog/dto/update-product.dto.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { CreateProductDto } from './create-product.dto'; -declare const UpdateProductDto_base: import("@nestjs/common").Type>; -export declare class UpdateProductDto extends UpdateProductDto_base { -} -export {}; diff --git a/dist/modules/catalog/dto/update-product.dto.js b/dist/modules/catalog/dto/update-product.dto.js deleted file mode 100644 index 08ccf9e5..00000000 --- a/dist/modules/catalog/dto/update-product.dto.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UpdateProductDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const create_product_dto_1 = require("./create-product.dto"); -class UpdateProductDto extends (0, swagger_1.PartialType)(create_product_dto_1.CreateProductDto) { -} -exports.UpdateProductDto = UpdateProductDto; -//# sourceMappingURL=update-product.dto.js.map \ No newline at end of file diff --git a/dist/modules/catalog/dto/update-product.dto.js.map b/dist/modules/catalog/dto/update-product.dto.js.map deleted file mode 100644 index edbf35cb..00000000 --- a/dist/modules/catalog/dto/update-product.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"update-product.dto.js","sourceRoot":"","sources":["../../../../src/modules/catalog/dto/update-product.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,6DAAwD;AAExD,MAAa,gBAAiB,SAAQ,IAAA,qBAAW,EAAC,qCAAgB,CAAC;CAAG;AAAtE,4CAAsE"} \ No newline at end of file diff --git a/dist/modules/catalog/entities/attribute-definition.entity.d.ts b/dist/modules/catalog/entities/attribute-definition.entity.d.ts deleted file mode 100644 index 0c0f44b7..00000000 --- a/dist/modules/catalog/entities/attribute-definition.entity.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { AttributeDataType } from '../enums/attribute-data-type.enum'; -import { ProductAttributeValue } from './product-attribute-value.entity'; -export declare class AttributeDefinition { - id: string; - name: string; - slug: string; - dataType: AttributeDataType; - unit?: string | null; - options: string[]; - defaultValueText?: string | null; - defaultValueNumber?: string | null; - defaultValueBoolean?: boolean | null; - defaultValueJson?: Record | string[] | null; - isFilterable: boolean; - isVisible: boolean; - values: ProductAttributeValue[]; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/catalog/entities/attribute-definition.entity.js b/dist/modules/catalog/entities/attribute-definition.entity.js deleted file mode 100644 index 9e964f32..00000000 --- a/dist/modules/catalog/entities/attribute-definition.entity.js +++ /dev/null @@ -1,102 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AttributeDefinition = void 0; -const typeorm_1 = require("typeorm"); -const attribute_data_type_enum_1 = require("../enums/attribute-data-type.enum"); -const product_attribute_value_entity_1 = require("./product-attribute-value.entity"); -let AttributeDefinition = class AttributeDefinition { - id; - name; - slug; - dataType; - unit; - options; - defaultValueText; - defaultValueNumber; - defaultValueBoolean; - defaultValueJson; - isFilterable; - isVisible; - values; - createdAt; - updatedAt; -}; -exports.AttributeDefinition = AttributeDefinition; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], AttributeDefinition.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 120 }), - __metadata("design:type", String) -], AttributeDefinition.prototype, "name", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.Column)({ type: 'varchar', length: 140, unique: true }), - __metadata("design:type", String) -], AttributeDefinition.prototype, "slug", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'data_type', - type: 'enum', - enum: attribute_data_type_enum_1.AttributeDataType, - }), - __metadata("design:type", String) -], AttributeDefinition.prototype, "dataType", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }), - __metadata("design:type", Object) -], AttributeDefinition.prototype, "unit", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'jsonb', default: () => "'[]'" }), - __metadata("design:type", Array) -], AttributeDefinition.prototype, "options", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'default_value_text', type: 'varchar', length: 255, nullable: true }), - __metadata("design:type", Object) -], AttributeDefinition.prototype, "defaultValueText", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'default_value_number', type: 'numeric', precision: 12, scale: 3, nullable: true }), - __metadata("design:type", Object) -], AttributeDefinition.prototype, "defaultValueNumber", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'default_value_boolean', type: 'boolean', nullable: true }), - __metadata("design:type", Object) -], AttributeDefinition.prototype, "defaultValueBoolean", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'default_value_json', type: 'jsonb', nullable: true }), - __metadata("design:type", Object) -], AttributeDefinition.prototype, "defaultValueJson", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'is_filterable', type: 'boolean', default: false }), - __metadata("design:type", Boolean) -], AttributeDefinition.prototype, "isFilterable", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'is_visible', type: 'boolean', default: true }), - __metadata("design:type", Boolean) -], AttributeDefinition.prototype, "isVisible", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => product_attribute_value_entity_1.ProductAttributeValue, (value) => value.attribute), - __metadata("design:type", Array) -], AttributeDefinition.prototype, "values", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], AttributeDefinition.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], AttributeDefinition.prototype, "updatedAt", void 0); -exports.AttributeDefinition = AttributeDefinition = __decorate([ - (0, typeorm_1.Entity)({ name: 'attribute_definitions' }) -], AttributeDefinition); -//# sourceMappingURL=attribute-definition.entity.js.map \ No newline at end of file diff --git a/dist/modules/catalog/entities/attribute-definition.entity.js.map b/dist/modules/catalog/entities/attribute-definition.entity.js.map deleted file mode 100644 index 42591c00..00000000 --- a/dist/modules/catalog/entities/attribute-definition.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"attribute-definition.entity.js","sourceRoot":"","sources":["../../../../src/modules/catalog/entities/attribute-definition.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,gFAAsE;AACtE,qFAAyE;AAGlE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE9B,EAAE,CAAS;IAGX,IAAI,CAAS;IAIb,IAAI,CAAS;IAOb,QAAQ,CAAoB;IAG5B,IAAI,CAAiB;IAGrB,OAAO,CAAW;IAGlB,gBAAgB,CAAiB;IAGjC,kBAAkB,CAAiB;IAGnC,mBAAmB,CAAkB;IAGrC,gBAAgB,CAA6C;IAG7D,YAAY,CAAU;IAGtB,SAAS,CAAU;IAGnB,MAAM,CAA0B;IAGhC,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AAlDY,kDAAmB;AAE9B;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;+CACpB;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;iDAC5B;AAIb;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;iDAC1C;AAOb;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,4CAAiB;KACxB,CAAC;;qDAC0B;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACnC;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;;oDAC/B;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACpD;AAGjC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DAChE;AAGnC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACtC;AAGrC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACT;AAG7D;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;yDAC7C;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sDAC5C;AAGnB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sDAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;;mDACnC;AAGhC;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;sDAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;sDAAC;8BAjDL,mBAAmB;IAD/B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;GAC7B,mBAAmB,CAkD/B"} \ No newline at end of file diff --git a/dist/modules/catalog/entities/brand.entity.d.ts b/dist/modules/catalog/entities/brand.entity.d.ts deleted file mode 100644 index 729e522d..00000000 --- a/dist/modules/catalog/entities/brand.entity.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ProductType } from '../enums/product-type.enum'; -import { Product } from './product.entity'; -export declare class Brand { - id: string; - name: string; - slug: string; - imageUrl?: string | null; - type: ProductType; - products: Product[]; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/catalog/entities/brand.entity.js b/dist/modules/catalog/entities/brand.entity.js deleted file mode 100644 index 5ba85982..00000000 --- a/dist/modules/catalog/entities/brand.entity.js +++ /dev/null @@ -1,65 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Brand = void 0; -const typeorm_1 = require("typeorm"); -const product_type_enum_1 = require("../enums/product-type.enum"); -const product_entity_1 = require("./product.entity"); -let Brand = class Brand { - id; - name; - slug; - imageUrl; - type; - products; - createdAt; - updatedAt; -}; -exports.Brand = Brand; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], Brand.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Column)({ unique: true, length: 150 }), - __metadata("design:type", String) -], Brand.prototype, "name", void 0); -__decorate([ - (0, typeorm_1.Column)({ unique: true, length: 180 }), - __metadata("design:type", String) -], Brand.prototype, "slug", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'image_url', type: 'varchar', length: 500, nullable: true }), - __metadata("design:type", Object) -], Brand.prototype, "imageUrl", void 0); -__decorate([ - (0, typeorm_1.Column)({ - type: 'enum', - enum: product_type_enum_1.ProductType, - }), - __metadata("design:type", String) -], Brand.prototype, "type", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => product_entity_1.Product, (product) => product.brandEntity), - __metadata("design:type", Array) -], Brand.prototype, "products", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], Brand.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], Brand.prototype, "updatedAt", void 0); -exports.Brand = Brand = __decorate([ - (0, typeorm_1.Entity)({ name: 'brands' }) -], Brand); -//# sourceMappingURL=brand.entity.js.map \ No newline at end of file diff --git a/dist/modules/catalog/entities/brand.entity.js.map b/dist/modules/catalog/entities/brand.entity.js.map deleted file mode 100644 index bfc92083..00000000 --- a/dist/modules/catalog/entities/brand.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"brand.entity.js","sourceRoot":"","sources":["../../../../src/modules/catalog/entities/brand.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOiB;AACjB,kEAAyD;AACzD,qDAA2C;AAGpC,IAAM,KAAK,GAAX,MAAM,KAAK;IAEhB,EAAE,CAAS;IAGX,IAAI,CAAS;IAGb,IAAI,CAAS;IAGb,QAAQ,CAAiB;IAMzB,IAAI,CAAc;IAGlB,QAAQ,CAAY;IAGpB,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AA3BY,sBAAK;AAEhB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;iCACpB;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;mCACzB;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;mCACzB;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACnD;AAMzB;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,+BAAW;KAClB,CAAC;;mCACgB;AAGlB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;;uCACvC;AAGpB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;wCAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;wCAAC;gBA1BL,KAAK;IADjB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;GACd,KAAK,CA2BjB"} \ No newline at end of file diff --git a/dist/modules/catalog/entities/category.entity.d.ts b/dist/modules/catalog/entities/category.entity.d.ts deleted file mode 100644 index 20b42166..00000000 --- a/dist/modules/catalog/entities/category.entity.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ProductType } from '../enums/product-type.enum'; -import { Product } from './product.entity'; -export declare class Category { - id: string; - name: string; - slug: string; - imageUrl?: string | null; - type: ProductType; - parent?: Category | null; - children: Category[]; - primaryProducts: Product[]; - products: Product[]; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/catalog/entities/category.entity.js b/dist/modules/catalog/entities/category.entity.js deleted file mode 100644 index 57d43e72..00000000 --- a/dist/modules/catalog/entities/category.entity.js +++ /dev/null @@ -1,83 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Category = void 0; -const typeorm_1 = require("typeorm"); -const product_type_enum_1 = require("../enums/product-type.enum"); -const product_entity_1 = require("./product.entity"); -let Category = class Category { - id; - name; - slug; - imageUrl; - type; - parent; - children; - primaryProducts; - products; - createdAt; - updatedAt; -}; -exports.Category = Category; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], Category.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Column)({ unique: true, length: 150 }), - __metadata("design:type", String) -], Category.prototype, "name", void 0); -__decorate([ - (0, typeorm_1.Column)({ unique: true, length: 180 }), - __metadata("design:type", String) -], Category.prototype, "slug", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'image_url', type: 'varchar', length: 500, nullable: true }), - __metadata("design:type", Object) -], Category.prototype, "imageUrl", void 0); -__decorate([ - (0, typeorm_1.Column)({ - type: 'enum', - enum: product_type_enum_1.ProductType, - }), - __metadata("design:type", String) -], Category.prototype, "type", void 0); -__decorate([ - (0, typeorm_1.ManyToOne)(() => Category, (category) => category.children, { - nullable: true, - onDelete: 'SET NULL', - }), - __metadata("design:type", Object) -], Category.prototype, "parent", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => Category, (category) => category.parent), - __metadata("design:type", Array) -], Category.prototype, "children", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => product_entity_1.Product, (product) => product.primaryCategory), - __metadata("design:type", Array) -], Category.prototype, "primaryProducts", void 0); -__decorate([ - (0, typeorm_1.ManyToMany)(() => product_entity_1.Product, (product) => product.categories), - __metadata("design:type", Array) -], Category.prototype, "products", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], Category.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], Category.prototype, "updatedAt", void 0); -exports.Category = Category = __decorate([ - (0, typeorm_1.Entity)({ name: 'categories' }) -], Category); -//# sourceMappingURL=category.entity.js.map \ No newline at end of file diff --git a/dist/modules/catalog/entities/category.entity.js.map b/dist/modules/catalog/entities/category.entity.js.map deleted file mode 100644 index df4bb4ab..00000000 --- a/dist/modules/catalog/entities/category.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"category.entity.js","sourceRoot":"","sources":["../../../../src/modules/catalog/entities/category.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCASiB;AACjB,kEAAyD;AACzD,qDAA2C;AAGpC,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAEnB,EAAE,CAAS;IAGX,IAAI,CAAS;IAGb,IAAI,CAAS;IAGb,QAAQ,CAAiB;IAMzB,IAAI,CAAc;IAMlB,MAAM,CAAmB;IAGzB,QAAQ,CAAa;IAGrB,eAAe,CAAY;IAG3B,QAAQ,CAAY;IAGpB,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AAvCY,4BAAQ;AAEnB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;oCACpB;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;sCACzB;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;sCACzB;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACnD;AAMzB;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,+BAAW;KAClB,CAAC;;sCACgB;AAMlB;IAJC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC1D,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,UAAU;KACrB,CAAC;;wCACuB;AAGzB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;;0CACpC;AAGrB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;;iDACpC;AAG3B;IADC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;;0CACvC;AAGpB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;2CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;2CAAC;mBAtCL,QAAQ;IADpB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;GAClB,QAAQ,CAuCpB"} \ No newline at end of file diff --git a/dist/modules/catalog/entities/product-attribute-value.entity.d.ts b/dist/modules/catalog/entities/product-attribute-value.entity.d.ts deleted file mode 100644 index a775e4f3..00000000 --- a/dist/modules/catalog/entities/product-attribute-value.entity.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { AttributeDefinition } from './attribute-definition.entity'; -import { Product } from './product.entity'; -export declare class ProductAttributeValue { - id: string; - product: Product; - attribute: AttributeDefinition; - displayOrder: number; - valueText?: string | null; - valueNumber?: number | null; - valueBoolean?: boolean | null; - valueJson?: Record | string[] | null; - overrideUnit?: string | null; -} diff --git a/dist/modules/catalog/entities/product-attribute-value.entity.js b/dist/modules/catalog/entities/product-attribute-value.entity.js deleted file mode 100644 index e699a318..00000000 --- a/dist/modules/catalog/entities/product-attribute-value.entity.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductAttributeValue = void 0; -const typeorm_1 = require("typeorm"); -const attribute_definition_entity_1 = require("./attribute-definition.entity"); -const product_entity_1 = require("./product.entity"); -let ProductAttributeValue = class ProductAttributeValue { - id; - product; - attribute; - displayOrder; - valueText; - valueNumber; - valueBoolean; - valueJson; - overrideUnit; -}; -exports.ProductAttributeValue = ProductAttributeValue; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], ProductAttributeValue.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.ManyToOne)(() => product_entity_1.Product, (product) => product.attributeValues, { - onDelete: 'CASCADE', - }), - __metadata("design:type", product_entity_1.Product) -], ProductAttributeValue.prototype, "product", void 0); -__decorate([ - (0, typeorm_1.ManyToOne)(() => attribute_definition_entity_1.AttributeDefinition, (attribute) => attribute.values, { - eager: true, - onDelete: 'CASCADE', - }), - __metadata("design:type", attribute_definition_entity_1.AttributeDefinition) -], ProductAttributeValue.prototype, "attribute", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'display_order', type: 'int', default: 0 }), - __metadata("design:type", Number) -], ProductAttributeValue.prototype, "displayOrder", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'value_text', type: 'varchar', length: 255, nullable: true }), - __metadata("design:type", Object) -], ProductAttributeValue.prototype, "valueText", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'value_number', - type: 'numeric', - precision: 12, - scale: 3, - nullable: true, - transformer: { - to: (value) => value, - from: (value) => value === null || value === undefined ? null : Number(value), - }, - }), - __metadata("design:type", Object) -], ProductAttributeValue.prototype, "valueNumber", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'value_boolean', type: 'boolean', nullable: true }), - __metadata("design:type", Object) -], ProductAttributeValue.prototype, "valueBoolean", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'value_json', type: 'jsonb', nullable: true }), - __metadata("design:type", Object) -], ProductAttributeValue.prototype, "valueJson", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'override_unit', type: 'varchar', length: 50, nullable: true }), - __metadata("design:type", Object) -], ProductAttributeValue.prototype, "overrideUnit", void 0); -exports.ProductAttributeValue = ProductAttributeValue = __decorate([ - (0, typeorm_1.Entity)({ name: 'product_attribute_values' }) -], ProductAttributeValue); -//# sourceMappingURL=product-attribute-value.entity.js.map \ No newline at end of file diff --git a/dist/modules/catalog/entities/product-attribute-value.entity.js.map b/dist/modules/catalog/entities/product-attribute-value.entity.js.map deleted file mode 100644 index 8adc62b5..00000000 --- a/dist/modules/catalog/entities/product-attribute-value.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product-attribute-value.entity.js","sourceRoot":"","sources":["../../../../src/modules/catalog/entities/product-attribute-value.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAKiB;AACjB,+EAAoE;AACpE,qDAA2C;AAGpC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAEhC,EAAE,CAAS;IAKX,OAAO,CAAU;IAMjB,SAAS,CAAsB;IAG/B,YAAY,CAAS;IAGrB,SAAS,CAAiB;IAc1B,WAAW,CAAiB;IAG5B,YAAY,CAAkB;IAG9B,SAAS,CAA6C;IAGtD,YAAY,CAAiB;CAC9B,CAAA;AA3CY,sDAAqB;AAEhC;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;iDACpB;AAKX;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE;QAC9D,QAAQ,EAAE,SAAS;KACpB,CAAC;8BACO,wBAAO;sDAAC;AAMjB;IAJC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iDAAmB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE;QACrE,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,SAAS;KACpB,CAAC;8BACS,iDAAmB;wDAAC;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2DACtC;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACnD;AAc1B;IAZC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK;YACpC,IAAI,EAAE,CAAC,KAAqB,EAAE,EAAE,CAC9B,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D;KACF,CAAC;;0DAC0B;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACrC;AAG9B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACR;AAGtD;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DAClD;gCA1ClB,qBAAqB;IADjC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;GAChC,qBAAqB,CA2CjC"} \ No newline at end of file diff --git a/dist/modules/catalog/entities/product-meta.entity.d.ts b/dist/modules/catalog/entities/product-meta.entity.d.ts deleted file mode 100644 index fa1b975e..00000000 --- a/dist/modules/catalog/entities/product-meta.entity.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Product } from './product.entity'; -export declare class ProductMeta { - id: string; - product: Product; - shortDescription?: string | null; - description?: string | null; - metaTitle?: string | null; - metaDescription?: string | null; - shareTitle?: string | null; - shareDescription?: string | null; - shareImageUrl?: string | null; -} diff --git a/dist/modules/catalog/entities/product-meta.entity.js b/dist/modules/catalog/entities/product-meta.entity.js deleted file mode 100644 index 58c2b233..00000000 --- a/dist/modules/catalog/entities/product-meta.entity.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductMeta = void 0; -const typeorm_1 = require("typeorm"); -const product_entity_1 = require("./product.entity"); -let ProductMeta = class ProductMeta { - id; - product; - shortDescription; - description; - metaTitle; - metaDescription; - shareTitle; - shareDescription; - shareImageUrl; -}; -exports.ProductMeta = ProductMeta; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], ProductMeta.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.OneToOne)(() => product_entity_1.Product, (product) => product.meta, { - onDelete: 'CASCADE', - }), - (0, typeorm_1.JoinColumn)({ name: 'product_id' }), - __metadata("design:type", product_entity_1.Product) -], ProductMeta.prototype, "product", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'short_description', type: 'varchar', length: 320, nullable: true }), - __metadata("design:type", Object) -], ProductMeta.prototype, "shortDescription", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'text', nullable: true }), - __metadata("design:type", Object) -], ProductMeta.prototype, "description", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'meta_title', type: 'varchar', length: 160, nullable: true }), - __metadata("design:type", Object) -], ProductMeta.prototype, "metaTitle", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'meta_description', type: 'varchar', length: 320, nullable: true }), - __metadata("design:type", Object) -], ProductMeta.prototype, "metaDescription", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'share_title', type: 'varchar', length: 160, nullable: true }), - __metadata("design:type", Object) -], ProductMeta.prototype, "shareTitle", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'share_description', type: 'varchar', length: 320, nullable: true }), - __metadata("design:type", Object) -], ProductMeta.prototype, "shareDescription", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'share_image_url', type: 'varchar', length: 500, nullable: true }), - __metadata("design:type", Object) -], ProductMeta.prototype, "shareImageUrl", void 0); -exports.ProductMeta = ProductMeta = __decorate([ - (0, typeorm_1.Entity)({ name: 'product_meta' }) -], ProductMeta); -//# sourceMappingURL=product-meta.entity.js.map \ No newline at end of file diff --git a/dist/modules/catalog/entities/product-meta.entity.js.map b/dist/modules/catalog/entities/product-meta.entity.js.map deleted file mode 100644 index bb992ef2..00000000 --- a/dist/modules/catalog/entities/product-meta.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product-meta.entity.js","sourceRoot":"","sources":["../../../../src/modules/catalog/entities/product-meta.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AACjB,qDAA2C;AAGpC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEtB,EAAE,CAAS;IAMX,OAAO,CAAU;IAGjB,gBAAgB,CAAiB;IAGjC,WAAW,CAAiB;IAG5B,SAAS,CAAiB;IAG1B,eAAe,CAAiB;IAGhC,UAAU,CAAiB;IAG3B,gBAAgB,CAAiB;IAGjC,aAAa,CAAiB;CAC/B,CAAA;AA9BY,kCAAW;AAEtB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;uCACpB;AAMX;IAJC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;QAClD,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC1B,wBAAO;4CAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACnD;AAGjC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACnD;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACnD;AAGhC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACnD;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACnD;AAGjC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACpD;sBA7BnB,WAAW;IADvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;GACpB,WAAW,CA8BvB"} \ No newline at end of file diff --git a/dist/modules/catalog/entities/product-review.entity.d.ts b/dist/modules/catalog/entities/product-review.entity.d.ts deleted file mode 100644 index 82c16c88..00000000 --- a/dist/modules/catalog/entities/product-review.entity.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Product } from './product.entity'; -export declare class ProductReview { - id: string; - product: Product; - name: string; - email?: string | null; - rating: number; - title?: string | null; - comment: string; - isApproved: boolean; - isPinned: boolean; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/catalog/entities/product-review.entity.js b/dist/modules/catalog/entities/product-review.entity.js deleted file mode 100644 index 6b0ef642..00000000 --- a/dist/modules/catalog/entities/product-review.entity.js +++ /dev/null @@ -1,79 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductReview = void 0; -const typeorm_1 = require("typeorm"); -const product_entity_1 = require("./product.entity"); -let ProductReview = class ProductReview { - id; - product; - name; - email; - rating; - title; - comment; - isApproved; - isPinned; - createdAt; - updatedAt; -}; -exports.ProductReview = ProductReview; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], ProductReview.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.ManyToOne)(() => product_entity_1.Product, (product) => product.reviews, { - onDelete: 'CASCADE', - }), - __metadata("design:type", product_entity_1.Product) -], ProductReview.prototype, "product", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 120 }), - __metadata("design:type", String) -], ProductReview.prototype, "name", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 160, nullable: true }), - __metadata("design:type", Object) -], ProductReview.prototype, "email", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'int' }), - __metadata("design:type", Number) -], ProductReview.prototype, "rating", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 160, nullable: true }), - __metadata("design:type", Object) -], ProductReview.prototype, "title", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'text' }), - __metadata("design:type", String) -], ProductReview.prototype, "comment", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'is_approved', type: 'boolean', default: false }), - __metadata("design:type", Boolean) -], ProductReview.prototype, "isApproved", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'is_pinned', type: 'boolean', default: false }), - __metadata("design:type", Boolean) -], ProductReview.prototype, "isPinned", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], ProductReview.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], ProductReview.prototype, "updatedAt", void 0); -exports.ProductReview = ProductReview = __decorate([ - (0, typeorm_1.Entity)({ name: 'product_reviews' }) -], ProductReview); -//# sourceMappingURL=product-review.entity.js.map \ No newline at end of file diff --git a/dist/modules/catalog/entities/product-review.entity.js.map b/dist/modules/catalog/entities/product-review.entity.js.map deleted file mode 100644 index e2f5feb5..00000000 --- a/dist/modules/catalog/entities/product-review.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product-review.entity.js","sourceRoot":"","sources":["../../../../src/modules/catalog/entities/product-review.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,qDAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAExB,EAAE,CAAS;IAMX,OAAO,CAAU;IAGjB,IAAI,CAAS;IAGb,KAAK,CAAiB;IAGtB,MAAM,CAAS;IAGf,KAAK,CAAiB;IAGtB,OAAO,CAAS;IAGhB,UAAU,CAAU;IAGpB,QAAQ,CAAU;IAGlB,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AApCY,sCAAa;AAExB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;yCACpB;AAMX;IAJC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QACtD,QAAQ,EAAE,SAAS;KACpB,CAAC;8BACO,wBAAO;8CAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;2CAC5B;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACnC;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;6CACT;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACnC;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CACT;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;iDAC7C;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;+CAC7C;AAGlB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;gDAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;gDAAC;wBAnCL,aAAa;IADzB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;GACvB,aAAa,CAoCzB"} \ No newline at end of file diff --git a/dist/modules/catalog/entities/product.entity.d.ts b/dist/modules/catalog/entities/product.entity.d.ts deleted file mode 100644 index 2339839b..00000000 --- a/dist/modules/catalog/entities/product.entity.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { ProductStatus } from '../enums/product-status.enum'; -import { ProductType } from '../enums/product-type.enum'; -import { Brand } from './brand.entity'; -import { Category } from './category.entity'; -import { ProductAttributeValue } from './product-attribute-value.entity'; -import { ProductMeta } from './product-meta.entity'; -import { ProductReview } from './product-review.entity'; -export declare class Product { - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: ProductType; - status: ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - primaryCategory?: Category | null; - categories: Category[]; - meta: ProductMeta; - attributeValues: ProductAttributeValue[]; - reviews: ProductReview[]; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/catalog/entities/product.entity.js b/dist/modules/catalog/entities/product.entity.js deleted file mode 100644 index 7e5968fc..00000000 --- a/dist/modules/catalog/entities/product.entity.js +++ /dev/null @@ -1,221 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Product = void 0; -const typeorm_1 = require("typeorm"); -const product_status_enum_1 = require("../enums/product-status.enum"); -const product_type_enum_1 = require("../enums/product-type.enum"); -const brand_entity_1 = require("./brand.entity"); -const category_entity_1 = require("./category.entity"); -const product_attribute_value_entity_1 = require("./product-attribute-value.entity"); -const product_meta_entity_1 = require("./product-meta.entity"); -const product_review_entity_1 = require("./product-review.entity"); -let Product = class Product { - id; - sku; - title; - slug; - technicalCode; - brand; - brandEntity; - basePriceUSD; - salePriceUSD; - stock; - featured; - type; - status; - mainImageUrl; - threeDModelUrl; - imageGalleryUrls; - tags; - averageRating; - reviewsCount; - primaryCategory; - categories; - meta; - attributeValues; - reviews; - createdAt; - updatedAt; -}; -exports.Product = Product; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], Product.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Column)({ unique: true, length: 80 }), - __metadata("design:type", String) -], Product.prototype, "sku", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.Column)({ length: 160 }), - __metadata("design:type", String) -], Product.prototype, "title", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.Column)({ unique: true, length: 180 }), - __metadata("design:type", String) -], Product.prototype, "slug", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.Column)({ name: 'technical_code', length: 120 }), - __metadata("design:type", String) -], Product.prototype, "technicalCode", void 0); -__decorate([ - (0, typeorm_1.Column)({ length: 120 }), - __metadata("design:type", String) -], Product.prototype, "brand", void 0); -__decorate([ - (0, typeorm_1.ManyToOne)(() => brand_entity_1.Brand, (brand) => brand.products, { - nullable: true, - onDelete: 'SET NULL', - }), - __metadata("design:type", Object) -], Product.prototype, "brandEntity", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'base_price_usd', - type: 'numeric', - precision: 12, - scale: 2, - transformer: { - to: (value) => value, - from: (value) => Number(value), - }, - }), - __metadata("design:type", Number) -], Product.prototype, "basePriceUSD", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'sale_price_usd', - type: 'numeric', - precision: 12, - scale: 2, - nullable: true, - transformer: { - to: (value) => value, - from: (value) => value === null || value === undefined ? null : Number(value), - }, - }), - __metadata("design:type", Object) -], Product.prototype, "salePriceUSD", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'int', default: 0 }), - __metadata("design:type", Number) -], Product.prototype, "stock", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'boolean', default: false }), - __metadata("design:type", Boolean) -], Product.prototype, "featured", void 0); -__decorate([ - (0, typeorm_1.Column)({ - type: 'enum', - enum: product_type_enum_1.ProductType, - }), - __metadata("design:type", String) -], Product.prototype, "type", void 0); -__decorate([ - (0, typeorm_1.Column)({ - type: 'enum', - enum: product_status_enum_1.ProductStatus, - default: product_status_enum_1.ProductStatus.DRAFT, - }), - __metadata("design:type", String) -], Product.prototype, "status", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', name: 'main_image_url', nullable: true, length: 500 }), - __metadata("design:type", Object) -], Product.prototype, "mainImageUrl", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', name: '3d_model_url', nullable: true, length: 500 }), - __metadata("design:type", Object) -], Product.prototype, "threeDModelUrl", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'jsonb', name: 'image_gallery_urls', default: () => "'[]'" }), - __metadata("design:type", Array) -], Product.prototype, "imageGalleryUrls", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'jsonb', default: () => "'[]'" }), - __metadata("design:type", Array) -], Product.prototype, "tags", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'average_rating', - type: 'numeric', - precision: 3, - scale: 2, - default: 0, - transformer: { - to: (value) => value, - from: (value) => Number(value), - }, - }), - __metadata("design:type", Number) -], Product.prototype, "averageRating", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'reviews_count', type: 'int', default: 0 }), - __metadata("design:type", Number) -], Product.prototype, "reviewsCount", void 0); -__decorate([ - (0, typeorm_1.ManyToOne)(() => category_entity_1.Category, (category) => category.primaryProducts, { - nullable: true, - onDelete: 'SET NULL', - }), - __metadata("design:type", Object) -], Product.prototype, "primaryCategory", void 0); -__decorate([ - (0, typeorm_1.ManyToMany)(() => category_entity_1.Category, (category) => category.products, { - cascade: false, - }), - (0, typeorm_1.JoinTable)({ - name: 'product_categories', - joinColumn: { - name: 'product_id', - referencedColumnName: 'id', - }, - inverseJoinColumn: { - name: 'category_id', - referencedColumnName: 'id', - }, - }), - __metadata("design:type", Array) -], Product.prototype, "categories", void 0); -__decorate([ - (0, typeorm_1.OneToOne)(() => product_meta_entity_1.ProductMeta, (meta) => meta.product, { - cascade: true, - eager: true, - }), - __metadata("design:type", product_meta_entity_1.ProductMeta) -], Product.prototype, "meta", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => product_attribute_value_entity_1.ProductAttributeValue, (attributeValue) => attributeValue.product, { - cascade: true, - eager: true, - }), - __metadata("design:type", Array) -], Product.prototype, "attributeValues", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => product_review_entity_1.ProductReview, (review) => review.product), - __metadata("design:type", Array) -], Product.prototype, "reviews", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], Product.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], Product.prototype, "updatedAt", void 0); -exports.Product = Product = __decorate([ - (0, typeorm_1.Entity)({ name: 'products' }) -], Product); -//# sourceMappingURL=product.entity.js.map \ No newline at end of file diff --git a/dist/modules/catalog/entities/product.entity.js.map b/dist/modules/catalog/entities/product.entity.js.map deleted file mode 100644 index b0a6cde8..00000000 --- a/dist/modules/catalog/entities/product.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product.entity.js","sourceRoot":"","sources":["../../../../src/modules/catalog/entities/product.entity.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/catalog/enums/attribute-data-type.enum.d.ts b/dist/modules/catalog/enums/attribute-data-type.enum.d.ts deleted file mode 100644 index bbf87467..00000000 --- a/dist/modules/catalog/enums/attribute-data-type.enum.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export declare enum AttributeDataType { - TEXT = "text", - NUMBER = "number", - BOOLEAN = "boolean", - SELECT = "select", - MULTISELECT = "multiselect", - JSON = "json" -} diff --git a/dist/modules/catalog/enums/attribute-data-type.enum.js b/dist/modules/catalog/enums/attribute-data-type.enum.js deleted file mode 100644 index a97341d0..00000000 --- a/dist/modules/catalog/enums/attribute-data-type.enum.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AttributeDataType = void 0; -var AttributeDataType; -(function (AttributeDataType) { - AttributeDataType["TEXT"] = "text"; - AttributeDataType["NUMBER"] = "number"; - AttributeDataType["BOOLEAN"] = "boolean"; - AttributeDataType["SELECT"] = "select"; - AttributeDataType["MULTISELECT"] = "multiselect"; - AttributeDataType["JSON"] = "json"; -})(AttributeDataType || (exports.AttributeDataType = AttributeDataType = {})); -//# sourceMappingURL=attribute-data-type.enum.js.map \ No newline at end of file diff --git a/dist/modules/catalog/enums/attribute-data-type.enum.js.map b/dist/modules/catalog/enums/attribute-data-type.enum.js.map deleted file mode 100644 index bef7cffd..00000000 --- a/dist/modules/catalog/enums/attribute-data-type.enum.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"attribute-data-type.enum.js","sourceRoot":"","sources":["../../../../src/modules/catalog/enums/attribute-data-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,gDAA2B,CAAA;IAC3B,kCAAa,CAAA;AACf,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B"} \ No newline at end of file diff --git a/dist/modules/catalog/enums/product-status.enum.d.ts b/dist/modules/catalog/enums/product-status.enum.d.ts deleted file mode 100644 index 9d0de131..00000000 --- a/dist/modules/catalog/enums/product-status.enum.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare enum ProductStatus { - DRAFT = "draft", - PUBLISHED = "published", - ARCHIVED = "archived" -} diff --git a/dist/modules/catalog/enums/product-status.enum.js b/dist/modules/catalog/enums/product-status.enum.js deleted file mode 100644 index 9610d3d8..00000000 --- a/dist/modules/catalog/enums/product-status.enum.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductStatus = void 0; -var ProductStatus; -(function (ProductStatus) { - ProductStatus["DRAFT"] = "draft"; - ProductStatus["PUBLISHED"] = "published"; - ProductStatus["ARCHIVED"] = "archived"; -})(ProductStatus || (exports.ProductStatus = ProductStatus = {})); -//# sourceMappingURL=product-status.enum.js.map \ No newline at end of file diff --git a/dist/modules/catalog/enums/product-status.enum.js.map b/dist/modules/catalog/enums/product-status.enum.js.map deleted file mode 100644 index 8e13873f..00000000 --- a/dist/modules/catalog/enums/product-status.enum.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product-status.enum.js","sourceRoot":"","sources":["../../../../src/modules/catalog/enums/product-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,wCAAuB,CAAA;IACvB,sCAAqB,CAAA;AACvB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"} \ No newline at end of file diff --git a/dist/modules/catalog/enums/product-type.enum.d.ts b/dist/modules/catalog/enums/product-type.enum.d.ts deleted file mode 100644 index ffa71225..00000000 --- a/dist/modules/catalog/enums/product-type.enum.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare enum ProductType { - INDUSTRIAL = "Industrial", - AUTOMOTIVE = "Automotive" -} diff --git a/dist/modules/catalog/enums/product-type.enum.js b/dist/modules/catalog/enums/product-type.enum.js deleted file mode 100644 index fe8f12f0..00000000 --- a/dist/modules/catalog/enums/product-type.enum.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductType = void 0; -var ProductType; -(function (ProductType) { - ProductType["INDUSTRIAL"] = "Industrial"; - ProductType["AUTOMOTIVE"] = "Automotive"; -})(ProductType || (exports.ProductType = ProductType = {})); -//# sourceMappingURL=product-type.enum.js.map \ No newline at end of file diff --git a/dist/modules/catalog/enums/product-type.enum.js.map b/dist/modules/catalog/enums/product-type.enum.js.map deleted file mode 100644 index 9ce7b169..00000000 --- a/dist/modules/catalog/enums/product-type.enum.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product-type.enum.js","sourceRoot":"","sources":["../../../../src/modules/catalog/enums/product-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;AAC3B,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"} \ No newline at end of file diff --git a/dist/modules/catalog/products.controller.d.ts b/dist/modules/catalog/products.controller.d.ts deleted file mode 100644 index 550b5ac6..00000000 --- a/dist/modules/catalog/products.controller.d.ts +++ /dev/null @@ -1,218 +0,0 @@ -import { CreateProductReviewDto } from './dto/create-product-review.dto'; -import { FilterProductsDto } from './dto/filter-products.dto'; -import { ProductsService } from './products.service'; -export declare class ProductsController { - private readonly productsService; - constructor(productsService: ProductsService); - findAll(filters: FilterProductsDto, productType?: string): Promise<{ - items: { - status?: import("./enums/product-status.enum").ProductStatus | undefined; - createdAt?: Date | undefined; - updatedAt?: Date | undefined; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - type: import("./enums/product-type.enum").ProductType; - featured: boolean; - basePriceUSD: number; - salePriceUSD: number | null; - stock: number; - averageRating: number; - reviewsCount: number; - mainImageUrl: string | null; - shortDescription: string | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: import("./enums/attribute-data-type.enum").AttributeDataType; - unit: string | null; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - }[]; - meta: { - total: number; - page: number; - limit: number; - }; - }>; - findBySlug(slug: string, productType?: string): Promise<{ - approvedReviews: import("./entities/product-review.entity").ProductReview[]; - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: import("./enums/attribute-data-type.enum").AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: import("./entities/product-meta.entity").ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: import("./entities/brand.entity").Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: import("./enums/product-type.enum").ProductType; - status: import("./enums/product-status.enum").ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: import("./entities/product-attribute-value.entity").ProductAttributeValue[]; - reviews: import("./entities/product-review.entity").ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - findApprovedReviews(id: string): Promise; - createReview(id: string, dto: CreateProductReviewDto): Promise<{ - message: string; - reviewId: string; - }>; - findOne(id: string, productType?: string): Promise<{ - approvedReviews: import("./entities/product-review.entity").ProductReview[]; - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: import("./enums/attribute-data-type.enum").AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: import("./entities/product-meta.entity").ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: import("./enums/product-type.enum").ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: import("./entities/brand.entity").Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: import("./enums/product-type.enum").ProductType; - status: import("./enums/product-status.enum").ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: import("./entities/product-attribute-value.entity").ProductAttributeValue[]; - reviews: import("./entities/product-review.entity").ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; -} diff --git a/dist/modules/catalog/products.controller.js b/dist/modules/catalog/products.controller.js deleted file mode 100644 index 3ac68630..00000000 --- a/dist/modules/catalog/products.controller.js +++ /dev/null @@ -1,99 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductsController = void 0; -const common_1 = require("@nestjs/common"); -const swagger_1 = require("@nestjs/swagger"); -const create_product_review_dto_1 = require("./dto/create-product-review.dto"); -const filter_products_dto_1 = require("./dto/filter-products.dto"); -const products_service_1 = require("./products.service"); -let ProductsController = class ProductsController { - productsService; - constructor(productsService) { - this.productsService = productsService; - } - findAll(filters, productType) { - return this.productsService.findPublic(filters, productType); - } - findBySlug(slug, productType) { - return this.productsService.findPublicOneBySlug(slug, productType); - } - findApprovedReviews(id) { - return this.productsService.findApprovedReviews(id); - } - createReview(id, dto) { - return this.productsService.createReview(id, dto); - } - findOne(id, productType) { - return this.productsService.findPublicOne(id, productType); - } -}; -exports.ProductsController = ProductsController; -__decorate([ - (0, common_1.Get)(), - (0, swagger_1.ApiOperation)({ summary: 'List published products for storefront' }), - __param(0, (0, common_1.Query)()), - __param(1, (0, common_1.Headers)('x-product-type')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [filter_products_dto_1.FilterProductsDto, String]), - __metadata("design:returntype", void 0) -], ProductsController.prototype, "findAll", null); -__decorate([ - (0, common_1.Get)('slug/:slug'), - (0, swagger_1.ApiOperation)({ summary: 'Get one published product by slug' }), - __param(0, (0, common_1.Param)('slug')), - __param(1, (0, common_1.Headers)('x-product-type')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, String]), - __metadata("design:returntype", void 0) -], ProductsController.prototype, "findBySlug", null); -__decorate([ - (0, common_1.Get)(':id/reviews'), - (0, swagger_1.ApiOperation)({ summary: 'List approved reviews for a product' }), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], ProductsController.prototype, "findApprovedReviews", null); -__decorate([ - (0, common_1.Post)(':id/reviews'), - (0, swagger_1.ApiOperation)({ summary: 'Submit a new product review' }), - (0, swagger_1.ApiBody)({ type: create_product_review_dto_1.CreateProductReviewDto }), - __param(0, (0, common_1.Param)('id')), - __param(1, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, create_product_review_dto_1.CreateProductReviewDto]), - __metadata("design:returntype", void 0) -], ProductsController.prototype, "createReview", null); -__decorate([ - (0, common_1.Get)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Get one published product with approved reviews summary' }), - __param(0, (0, common_1.Param)('id')), - __param(1, (0, common_1.Headers)('x-product-type')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, String]), - __metadata("design:returntype", void 0) -], ProductsController.prototype, "findOne", null); -exports.ProductsController = ProductsController = __decorate([ - (0, swagger_1.ApiTags)('Products'), - (0, swagger_1.ApiHeader)({ - name: 'x-product-type', - required: false, - description: 'Optional product type filter header. Falls back to query param `type` if omitted.', - enum: ['Industrial', 'Automotive'], - }), - (0, common_1.Controller)('products'), - __metadata("design:paramtypes", [products_service_1.ProductsService]) -], ProductsController); -//# sourceMappingURL=products.controller.js.map \ No newline at end of file diff --git a/dist/modules/catalog/products.controller.js.map b/dist/modules/catalog/products.controller.js.map deleted file mode 100644 index 8c2f3463..00000000 --- a/dist/modules/catalog/products.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"products.controller.js","sourceRoot":"","sources":["../../../src/modules/catalog/products.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoF;AACpF,6CAA4E;AAC5E,+EAAyE;AACzE,mEAA8D;AAC9D,yDAAqD;AAU9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACA;IAA7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAIjE,OAAO,CACI,OAA0B,EACR,WAAoB;QAE/C,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAID,UAAU,CACO,IAAY,EACA,WAAoB;QAE/C,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAID,mBAAmB,CAAc,EAAU;QACzC,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAKD,YAAY,CAAc,EAAU,EAAU,GAA2B;QACvE,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAID,OAAO,CAAc,EAAU,EAA6B,WAAoB;QAC9E,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;CACF,CAAA;AAvCY,gDAAkB;AAK7B;IAFC,IAAA,YAAG,GAAE;IACL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;IAEjE,WAAA,IAAA,cAAK,GAAE,CAAA;IACP,WAAA,IAAA,gBAAO,EAAC,gBAAgB,CAAC,CAAA;;qCADR,uCAAiB;;iDAIpC;AAID;IAFC,IAAA,YAAG,EAAC,YAAY,CAAC;IACjB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;IAE5D,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,gBAAO,EAAC,gBAAgB,CAAC,CAAA;;;;oDAG3B;AAID;IAFC,IAAA,YAAG,EAAC,aAAa,CAAC;IAClB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IAC5C,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;6DAE/B;AAKD;IAHC,IAAA,aAAI,EAAC,aAAa,CAAC;IACnB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACxD,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,kDAAsB,EAAE,CAAC;IAC5B,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAM,kDAAsB;;sDAExE;AAID;IAFC,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC;IAC5E,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,gBAAO,EAAC,gBAAgB,CAAC,CAAA;;;;iDAE1D;6BAtCU,kBAAkB;IAR9B,IAAA,iBAAO,EAAC,UAAU,CAAC;IACnB,IAAA,mBAAS,EAAC;QACT,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,mFAAmF;QAChG,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;KACnC,CAAC;IACD,IAAA,mBAAU,EAAC,UAAU,CAAC;qCAEyB,kCAAe;GADlD,kBAAkB,CAuC9B"} \ No newline at end of file diff --git a/dist/modules/catalog/products.service.d.ts b/dist/modules/catalog/products.service.d.ts deleted file mode 100644 index 9c3d4570..00000000 --- a/dist/modules/catalog/products.service.d.ts +++ /dev/null @@ -1,571 +0,0 @@ -import { Repository } from 'typeorm'; -import { StorageService } from '../storage/storage.service'; -import { CreateAttributeDefinitionDto } from './dto/create-attribute-definition.dto'; -import { CreateProductDto } from './dto/create-product.dto'; -import { CreateProductReviewDto } from './dto/create-product-review.dto'; -import { FilterProductReviewsDto } from './dto/filter-product-reviews.dto'; -import { FilterProductsDto } from './dto/filter-products.dto'; -import { ModerateProductReviewDto } from './dto/moderate-product-review.dto'; -import { UpdateAttributeDefinitionDto } from './dto/update-attribute-definition.dto'; -import { UpdateProductDto } from './dto/update-product.dto'; -import { AttributeDefinition } from './entities/attribute-definition.entity'; -import { Brand } from './entities/brand.entity'; -import { Category } from './entities/category.entity'; -import { ProductAttributeValue } from './entities/product-attribute-value.entity'; -import { ProductMeta } from './entities/product-meta.entity'; -import { Product } from './entities/product.entity'; -import { ProductReview } from './entities/product-review.entity'; -import { AttributeDataType } from './enums/attribute-data-type.enum'; -import { ProductStatus } from './enums/product-status.enum'; -import { ProductType } from './enums/product-type.enum'; -export declare class ProductsService { - private readonly productsRepository; - private readonly productMetaRepository; - private readonly productAttributeValuesRepository; - private readonly attributeDefinitionsRepository; - private readonly productReviewsRepository; - private readonly categoriesRepository; - private readonly brandsRepository; - private readonly storageService; - constructor(productsRepository: Repository, productMetaRepository: Repository, productAttributeValuesRepository: Repository, attributeDefinitionsRepository: Repository, productReviewsRepository: Repository, categoriesRepository: Repository, brandsRepository: Repository, storageService: StorageService); - create(dto: CreateProductDto, files?: { - mainImage?: Express.Multer.File[]; - images?: Express.Multer.File[]; - model3d?: Express.Multer.File[]; - }): Promise<{ - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: ProductType; - status: ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: ProductAttributeValue[]; - reviews: ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - findPublic(filters: FilterProductsDto, headerProductType?: string): Promise<{ - items: { - status?: ProductStatus | undefined; - createdAt?: Date | undefined; - updatedAt?: Date | undefined; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - type: ProductType; - featured: boolean; - basePriceUSD: number; - salePriceUSD: number | null; - stock: number; - averageRating: number; - reviewsCount: number; - mainImageUrl: string | null; - shortDescription: string | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: AttributeDataType; - unit: string | null; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - }[]; - meta: { - total: number; - page: number; - limit: number; - }; - }>; - findAdmin(filters: FilterProductsDto, headerProductType?: string): Promise<{ - items: { - status?: ProductStatus | undefined; - createdAt?: Date | undefined; - updatedAt?: Date | undefined; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - type: ProductType; - featured: boolean; - basePriceUSD: number; - salePriceUSD: number | null; - stock: number; - averageRating: number; - reviewsCount: number; - mainImageUrl: string | null; - shortDescription: string | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: AttributeDataType; - unit: string | null; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - }[]; - meta: { - total: number; - page: number; - limit: number; - }; - }>; - checkSlugAvailability(slug: string, excludeId?: string): Promise; - findPublicOne(id: string, headerProductType?: string): Promise<{ - approvedReviews: ProductReview[]; - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: ProductType; - status: ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: ProductAttributeValue[]; - reviews: ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - findPublicOneBySlug(slug: string, headerProductType?: string): Promise<{ - approvedReviews: ProductReview[]; - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: ProductType; - status: ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: ProductAttributeValue[]; - reviews: ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - findAdminOne(id: string): Promise<{ - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: ProductType; - status: ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: ProductAttributeValue[]; - reviews: ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - createReview(productId: string, dto: CreateProductReviewDto): Promise<{ - message: string; - reviewId: string; - }>; - findApprovedReviews(productId: string): Promise; - findAdminReviews(filters: FilterProductReviewsDto): Promise<{ - items: ProductReview[]; - meta: { - total: number; - page: number; - limit: number; - }; - }>; - updateReview(reviewId: string, dto: ModerateProductReviewDto): Promise; - removeReview(reviewId: string): Promise<{ - message: string; - }>; - update(id: string, dto: UpdateProductDto, files?: { - mainImage?: Express.Multer.File[]; - images?: Express.Multer.File[]; - model3d?: Express.Multer.File[]; - }): Promise<{ - attributes: { - id: string; - displayOrder: number; - attributeId: string; - name: string; - slug: string; - dataType: AttributeDataType; - unit: string | null; - options: string[]; - isFilterable: boolean; - isVisible: boolean; - valueText: string | null; - valueNumber: number | null; - valueBoolean: boolean | null; - valueJson: string[] | Record | null; - }[]; - meta: ProductMeta | { - shortDescription: string | null; - description: string | null; - seo: { - title: string; - description: string | null; - } | undefined; - share: { - title: string; - description: string | null; - imageUrl: string | null | undefined; - }; - }; - brandInfo: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - primaryCategory: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - } | null; - categories: { - id: string; - name: string; - slug: string; - imageUrl: string | null | undefined; - type: ProductType; - }[]; - id: string; - sku: string; - title: string; - slug: string; - technicalCode: string; - brand: string; - brandEntity?: Brand | null; - basePriceUSD: number; - salePriceUSD?: number | null; - stock: number; - featured: boolean; - type: ProductType; - status: ProductStatus; - mainImageUrl?: string | null; - threeDModelUrl?: string | null; - imageGalleryUrls: string[]; - tags: string[]; - averageRating: number; - reviewsCount: number; - attributeValues: ProductAttributeValue[]; - reviews: ProductReview[]; - createdAt: Date; - updatedAt: Date; - }>; - remove(id: string): Promise<{ - message: string; - }>; - listAttributeDefinitions(): Promise; - createAttributeDefinition(dto: CreateAttributeDefinitionDto): Promise; - updateAttributeDefinition(id: string, dto: UpdateAttributeDefinitionDto): Promise; - removeAttributeDefinition(id: string): Promise<{ - message: string; - }>; - private findAll; - private applyAttributeFilters; - private findOneById; - private resolveCategories; - private resolveBrand; - private ensurePublishedProduct; - private findApprovedReviewsInternal; - private refreshReviewStats; - private saveMeta; - private syncAttributeValues; - private resolveAttributeDefinition; - private serializeProduct; - private serializeProductListItem; - private sortAttributes; - private mergeProductTypeFilter; - private buildPublicProductWhere; - private normalizeProductType; - private deleteGallery; - private deleteModel; - private replaceFile; -} diff --git a/dist/modules/catalog/products.service.js b/dist/modules/catalog/products.service.js deleted file mode 100644 index 46406228..00000000 --- a/dist/modules/catalog/products.service.js +++ /dev/null @@ -1,822 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ProductsService = void 0; -const common_1 = require("@nestjs/common"); -const typeorm_1 = require("@nestjs/typeorm"); -const typeorm_2 = require("typeorm"); -const storage_service_1 = require("../storage/storage.service"); -const attribute_definition_entity_1 = require("./entities/attribute-definition.entity"); -const brand_entity_1 = require("./entities/brand.entity"); -const category_entity_1 = require("./entities/category.entity"); -const product_attribute_value_entity_1 = require("./entities/product-attribute-value.entity"); -const product_meta_entity_1 = require("./entities/product-meta.entity"); -const product_entity_1 = require("./entities/product.entity"); -const product_review_entity_1 = require("./entities/product-review.entity"); -const product_status_enum_1 = require("./enums/product-status.enum"); -const product_type_enum_1 = require("./enums/product-type.enum"); -let ProductsService = class ProductsService { - productsRepository; - productMetaRepository; - productAttributeValuesRepository; - attributeDefinitionsRepository; - productReviewsRepository; - categoriesRepository; - brandsRepository; - storageService; - constructor(productsRepository, productMetaRepository, productAttributeValuesRepository, attributeDefinitionsRepository, productReviewsRepository, categoriesRepository, brandsRepository, storageService) { - this.productsRepository = productsRepository; - this.productMetaRepository = productMetaRepository; - this.productAttributeValuesRepository = productAttributeValuesRepository; - this.attributeDefinitionsRepository = attributeDefinitionsRepository; - this.productReviewsRepository = productReviewsRepository; - this.categoriesRepository = categoriesRepository; - this.brandsRepository = brandsRepository; - this.storageService = storageService; - } - async create(dto, files) { - const { primaryCategory, categories } = await this.resolveCategories(dto.primaryCategoryId, dto.categoryIds, dto.type); - const brandEntity = await this.resolveBrand(dto.brandId, dto.type); - const [mainImage, imageGallery, modelFile] = await Promise.all([ - files?.mainImage?.[0] - ? this.storageService.uploadPublicFile(files.mainImage[0], 'products/main') - : Promise.resolve(null), - files?.images?.length - ? Promise.all(files.images.map((file) => this.storageService.uploadPublicFile(file, 'products/gallery'))) - : Promise.resolve([]), - files?.model3d?.[0] - ? this.storageService.uploadPublicFile(files.model3d[0], 'products/models') - : Promise.resolve(null), - ]); - const product = await this.productsRepository.save(this.productsRepository.create({ - sku: dto.sku, - title: dto.title, - slug: dto.slug, - technicalCode: dto.technicalCode, - brand: brandEntity?.name ?? dto.brand ?? '', - brandEntity, - basePriceUSD: dto.basePriceUSD, - salePriceUSD: dto.salePriceUSD ?? null, - stock: dto.stock, - featured: dto.featured ?? false, - type: dto.type, - status: dto.status ?? product_status_enum_1.ProductStatus.DRAFT, - primaryCategory, - categories, - tags: dto.tags ?? [], - mainImageUrl: mainImage?.url ?? dto.existingMainImageUrl ?? null, - threeDModelUrl: modelFile?.url ?? dto.existingThreeDModelUrl ?? null, - imageGalleryUrls: imageGallery.length > 0 - ? imageGallery.map((item) => item.url) - : (dto.existingGalleryUrls ?? []), - averageRating: 0, - reviewsCount: 0, - })); - product.meta = await this.saveMeta(product, dto.meta); - product.attributeValues = await this.syncAttributeValues(product, dto.attributes ?? []); - return this.serializeProduct(await this.findOneById(product.id)); - } - async findPublic(filters, headerProductType) { - return this.findAll(this.mergeProductTypeFilter(filters, headerProductType), false); - } - async findAdmin(filters, headerProductType) { - return this.findAll(this.mergeProductTypeFilter(filters, headerProductType), true); - } - async checkSlugAvailability(slug, excludeId) { - const query = this.productsRepository - .createQueryBuilder('product') - .where('LOWER(product.slug) = LOWER(:slug)', { slug }); - if (excludeId) { - query.andWhere('product.id != :excludeId', { excludeId }); - } - const existing = await query.getOne(); - return !existing; - } - async findPublicOne(id, headerProductType) { - const product = await this.productsRepository.findOne({ - where: this.buildPublicProductWhere({ id }, headerProductType), - relations: { - primaryCategory: true, - categories: true, - brandEntity: true, - meta: true, - attributeValues: { attribute: true }, - }, - }); - if (!product) { - throw new common_1.NotFoundException('Product not found'); - } - const approvedReviews = await this.findApprovedReviewsInternal(product.id, 10); - return { - ...this.serializeProduct(product), - approvedReviews, - }; - } - async findPublicOneBySlug(slug, headerProductType) { - const product = await this.productsRepository.findOne({ - where: this.buildPublicProductWhere({ slug }, headerProductType), - relations: { - primaryCategory: true, - categories: true, - brandEntity: true, - meta: true, - attributeValues: { attribute: true }, - }, - }); - if (!product) { - throw new common_1.NotFoundException('Product not found'); - } - const approvedReviews = await this.findApprovedReviewsInternal(product.id, 10); - return { - ...this.serializeProduct(product), - approvedReviews, - }; - } - async findAdminOne(id) { - return this.serializeProduct(await this.findOneById(id)); - } - async createReview(productId, dto) { - const product = await this.ensurePublishedProduct(productId); - const review = this.productReviewsRepository.create({ - product, - name: dto.name, - email: dto.email ?? null, - rating: dto.rating, - title: dto.title ?? null, - comment: dto.comment, - isApproved: false, - isPinned: false, - }); - await this.productReviewsRepository.save(review); - return { - message: 'Review submitted successfully and is pending approval', - reviewId: review.id, - }; - } - async findApprovedReviews(productId) { - await this.ensurePublishedProduct(productId); - return this.findApprovedReviewsInternal(productId); - } - async findAdminReviews(filters) { - const page = filters.page ?? 1; - const limit = filters.limit ?? 20; - const query = this.productReviewsRepository - .createQueryBuilder('review') - .leftJoinAndSelect('review.product', 'product') - .orderBy('review.isPinned', 'DESC') - .addOrderBy('review.createdAt', 'DESC') - .skip((page - 1) * limit) - .take(limit); - if (filters.productId) { - query.andWhere('product.id = :productId', { productId: filters.productId }); - } - if (filters.isApproved !== undefined) { - query.andWhere('review.is_approved = :isApproved', { - isApproved: filters.isApproved, - }); - } - if (filters.isPinned !== undefined) { - query.andWhere('review.is_pinned = :isPinned', { - isPinned: filters.isPinned, - }); - } - const [items, total] = await query.getManyAndCount(); - return { - items, - meta: { - total, - page, - limit, - }, - }; - } - async updateReview(reviewId, dto) { - const review = await this.productReviewsRepository.findOne({ - where: { id: reviewId }, - relations: { product: true }, - }); - if (!review) { - throw new common_1.NotFoundException('Review not found'); - } - Object.assign(review, { - isApproved: dto.isApproved ?? review.isApproved, - isPinned: dto.isPinned ?? review.isPinned, - }); - const savedReview = await this.productReviewsRepository.save(review); - await this.refreshReviewStats(review.product.id); - return savedReview; - } - async removeReview(reviewId) { - const review = await this.productReviewsRepository.findOne({ - where: { id: reviewId }, - relations: { product: true }, - }); - if (!review) { - throw new common_1.NotFoundException('Review not found'); - } - const productId = review.product.id; - await this.productReviewsRepository.remove(review); - await this.refreshReviewStats(productId); - return { message: 'Review deleted successfully' }; - } - async update(id, dto, files) { - const product = await this.findOneById(id); - const nextType = dto.type ?? product.type; - const { primaryCategory, categories } = await this.resolveCategories(dto.primaryCategoryId !== undefined - ? dto.primaryCategoryId - : product.primaryCategory?.id, dto.categoryIds !== undefined - ? dto.categoryIds - : product.categories?.map((item) => item.id), nextType); - const brandId = dto.brandId !== undefined ? dto.brandId : product.brandEntity?.id; - const brandEntity = await this.resolveBrand(brandId, nextType); - if (files?.mainImage?.[0]) { - const upload = await this.storageService.uploadPublicFile(files.mainImage[0], 'products/main'); - await this.replaceFile(product.mainImageUrl, upload.url); - product.mainImageUrl = upload.url; - } - else if (dto.existingMainImageUrl !== undefined) { - await this.replaceFile(product.mainImageUrl, dto.existingMainImageUrl || null); - product.mainImageUrl = dto.existingMainImageUrl || null; - } - if (files?.images?.length) { - const galleryUploads = await Promise.all(files.images.map((file) => this.storageService.uploadPublicFile(file, 'products/gallery'))); - await this.deleteGallery(product.imageGalleryUrls); - product.imageGalleryUrls = galleryUploads.map((item) => item.url); - } - else if (dto.existingGalleryUrls !== undefined) { - const removedUrls = (product.imageGalleryUrls ?? []).filter((url) => !dto.existingGalleryUrls?.includes(url)); - await this.deleteGallery(removedUrls); - product.imageGalleryUrls = dto.existingGalleryUrls; - } - if (files?.model3d?.[0]) { - const modelUpload = await this.storageService.uploadPublicFile(files.model3d[0], 'products/models'); - await this.replaceFile(product.threeDModelUrl, modelUpload.url); - product.threeDModelUrl = modelUpload.url; - } - else if (dto.existingThreeDModelUrl !== undefined) { - await this.replaceFile(product.threeDModelUrl, dto.existingThreeDModelUrl || null); - product.threeDModelUrl = dto.existingThreeDModelUrl || null; - } - Object.assign(product, { - sku: dto.sku ?? product.sku, - title: dto.title ?? product.title, - slug: dto.slug ?? product.slug, - technicalCode: dto.technicalCode ?? product.technicalCode, - brand: brandEntity?.name ?? dto.brand ?? product.brand, - brandEntity, - basePriceUSD: dto.basePriceUSD ?? product.basePriceUSD, - salePriceUSD: dto.salePriceUSD ?? product.salePriceUSD, - stock: dto.stock ?? product.stock, - featured: dto.featured ?? product.featured, - type: nextType, - status: dto.status ?? product.status, - primaryCategory, - categories, - tags: dto.tags ?? product.tags, - }); - await this.productsRepository.save(product); - product.meta = await this.saveMeta(product, dto.meta); - if (dto.attributes !== undefined) { - product.attributeValues = await this.syncAttributeValues(product, dto.attributes); - } - return this.serializeProduct(await this.findOneById(product.id)); - } - async remove(id) { - const product = await this.findOneById(id); - await this.deleteGallery(product.imageGalleryUrls); - await this.deleteModel(product.threeDModelUrl); - await this.storageService.deletePublicFileByUrl(product.mainImageUrl); - await this.storageService.deletePublicFileByUrl(product.meta?.shareImageUrl); - await this.productsRepository.remove(product); - return { message: 'Product deleted successfully' }; - } - async listAttributeDefinitions() { - return this.attributeDefinitionsRepository.find({ - order: { - isVisible: 'DESC', - name: 'ASC', - }, - }); - } - async createAttributeDefinition(dto) { - const existing = await this.attributeDefinitionsRepository.findOne({ - where: [{ slug: dto.slug }, { name: dto.name }], - }); - if (existing) { - throw new common_1.BadRequestException('Attribute definition already exists'); - } - return this.attributeDefinitionsRepository.save(this.attributeDefinitionsRepository.create({ - name: dto.name, - slug: dto.slug, - dataType: dto.dataType, - unit: dto.unit ?? null, - options: dto.options ?? [], - isFilterable: dto.isFilterable ?? false, - isVisible: dto.isVisible ?? true, - })); - } - async updateAttributeDefinition(id, dto) { - const definition = await this.attributeDefinitionsRepository.findOne({ - where: { id }, - }); - if (!definition) { - throw new common_1.NotFoundException('Attribute definition not found'); - } - Object.assign(definition, { - name: dto.name ?? definition.name, - slug: dto.slug ?? definition.slug, - dataType: dto.dataType ?? definition.dataType, - unit: dto.unit ?? definition.unit, - options: dto.options ?? definition.options, - isFilterable: dto.isFilterable ?? definition.isFilterable, - isVisible: dto.isVisible ?? definition.isVisible, - }); - return this.attributeDefinitionsRepository.save(definition); - } - async removeAttributeDefinition(id) { - const definition = await this.attributeDefinitionsRepository.findOne({ - where: { id }, - }); - if (!definition) { - throw new common_1.NotFoundException('Attribute definition not found'); - } - await this.attributeDefinitionsRepository.remove(definition); - return { message: 'Attribute definition deleted successfully' }; - } - async findAll(filters, includeUnpublished) { - const page = filters.page ?? 1; - const limit = filters.limit ?? 20; - const query = this.productsRepository - .createQueryBuilder('product') - .leftJoinAndSelect('product.primaryCategory', 'primaryCategory') - .leftJoinAndSelect('product.categories', 'categories') - .leftJoinAndSelect('product.brandEntity', 'brandEntity') - .leftJoinAndSelect('product.meta', 'meta') - .orderBy('product.featured', 'DESC') - .addOrderBy('product.createdAt', 'DESC') - .skip((page - 1) * limit) - .take(limit); - if (!includeUnpublished) { - query.andWhere('product.status = :publishedStatus', { - publishedStatus: product_status_enum_1.ProductStatus.PUBLISHED, - }); - } - else if (filters.status) { - query.andWhere('product.status = :status', { status: filters.status }); - } - if (filters.search) { - query.andWhere('(product.technical_code ILIKE :search OR product.title ILIKE :search OR product.slug ILIKE :search OR product.brand ILIKE :search)', { - search: `%${filters.search}%`, - }); - } - if (filters.type) { - query.andWhere('product.type = :type', { type: filters.type }); - } - if (filters.categoryId) { - query.andWhere('(primaryCategory.id = :categoryId OR categories.id = :categoryId)', { categoryId: filters.categoryId }); - } - if (filters.brand) { - query.andWhere('product.brand ILIKE :brand', { brand: `%${filters.brand}%` }); - } - if (filters.brandId) { - query.andWhere('brandEntity.id = :brandId', { brandId: filters.brandId }); - } - if (filters.tags?.length) { - query.andWhere('product.tags @> :tags', { - tags: JSON.stringify(filters.tags), - }); - } - if (filters.featured !== undefined) { - query.andWhere('product.featured = :featured', { featured: filters.featured }); - } - this.applyAttributeFilters(query, filters.attributes); - const [items, total] = await query.getManyAndCount(); - return { - items: items.map((item) => this.serializeProductListItem(item, includeUnpublished)), - meta: { - total, - page, - limit, - }, - }; - } - applyAttributeFilters(query, filters) { - if (!filters || Object.keys(filters).length === 0) { - return; - } - Object.entries(filters).forEach(([slug, value], index) => { - const valueParam = `attrValue${index}`; - const slugParam = `attrSlug${index}`; - query.andWhere(`EXISTS ( - SELECT 1 - FROM product_attribute_values pav - INNER JOIN attribute_definitions ad ON ad.id = pav.attributeId - WHERE pav.productId = product.id - AND ad.slug = :${slugParam} - AND ( - pav.value_text = :${valueParam} - OR CAST(pav.value_number AS TEXT) = :${valueParam} - OR CAST(pav.value_boolean AS TEXT) = :${valueParam} - OR CAST(pav.value_json AS TEXT) ILIKE :${valueParam}Like - ) - )`, { - [slugParam]: slug, - [valueParam]: String(value), - [`${valueParam}Like`]: `%${String(value)}%`, - }); - }); - } - async findOneById(id) { - const product = await this.productsRepository.findOne({ - where: { id }, - relations: { - primaryCategory: true, - categories: true, - brandEntity: true, - meta: true, - attributeValues: { attribute: true }, - }, - }); - if (!product) { - throw new common_1.NotFoundException('Product not found'); - } - return product; - } - async resolveCategories(primaryCategoryId, categoryIds, type) { - const normalizedIds = Array.from(new Set([primaryCategoryId, ...(categoryIds ?? [])].filter((value) => Boolean(value)))); - if (normalizedIds.length === 0) { - return { - primaryCategory: null, - categories: [], - }; - } - const categories = await this.categoriesRepository.find({ - where: normalizedIds.map((id) => ({ id })), - }); - if (categories.length !== normalizedIds.length) { - throw new common_1.NotFoundException('One or more categories not found'); - } - for (const category of categories) { - if (category.type !== type) { - throw new common_1.BadRequestException('Product type must match assigned category type'); - } - } - const primaryCategory = primaryCategoryId - ? categories.find((item) => item.id === primaryCategoryId) ?? null - : categories[0] ?? null; - return { - primaryCategory, - categories, - }; - } - async resolveBrand(brandId, type) { - if (!brandId) { - return null; - } - const brand = await this.brandsRepository.findOne({ - where: { id: brandId }, - }); - if (!brand) { - throw new common_1.NotFoundException('Brand not found'); - } - if (brand.type !== type) { - throw new common_1.BadRequestException('Product type must match assigned brand type'); - } - return brand; - } - async ensurePublishedProduct(productId) { - const product = await this.productsRepository.findOne({ - where: { id: productId, status: product_status_enum_1.ProductStatus.PUBLISHED }, - }); - if (!product) { - throw new common_1.NotFoundException('Product not found'); - } - return product; - } - async findApprovedReviewsInternal(productId, take) { - return this.productReviewsRepository.find({ - where: { - product: { id: productId }, - isApproved: true, - }, - order: { - isPinned: 'DESC', - createdAt: 'DESC', - }, - ...(take ? { take } : {}), - }); - } - async refreshReviewStats(productId) { - const reviews = await this.productReviewsRepository.find({ - where: { - product: { id: productId }, - isApproved: true, - }, - select: { - id: true, - rating: true, - }, - }); - const reviewsCount = reviews.length; - const averageRating = reviewsCount === 0 - ? 0 - : Number((reviews.reduce((sum, review) => sum + review.rating, 0) / reviewsCount).toFixed(2)); - await this.productsRepository.update(productId, { - reviewsCount, - averageRating, - }); - } - async saveMeta(product, dto) { - const existing = product.meta ?? - (await this.productMetaRepository.findOne({ - where: { product: { id: product.id } }, - relations: { product: true }, - })); - const meta = existing ?? this.productMetaRepository.create({ product }); - Object.assign(meta, { - product, - shortDescription: dto?.shortDescription ?? meta.shortDescription ?? null, - description: dto?.description ?? meta.description ?? null, - metaTitle: dto?.metaTitle ?? meta.metaTitle ?? null, - metaDescription: dto?.metaDescription ?? meta.metaDescription ?? null, - shareTitle: dto?.shareTitle ?? meta.shareTitle ?? null, - shareDescription: dto?.shareDescription ?? meta.shareDescription ?? null, - shareImageUrl: dto?.shareImageUrl ?? meta.shareImageUrl ?? null, - }); - return this.productMetaRepository.save(meta); - } - async syncAttributeValues(product, inputs) { - await this.productAttributeValuesRepository.delete({ - product: { id: product.id }, - }); - const results = []; - for (const [index, input] of inputs.entries()) { - const attribute = await this.resolveAttributeDefinition(input); - const value = this.productAttributeValuesRepository.create({ - product, - attribute, - displayOrder: input.displayOrder ?? index, - valueText: input.valueText ?? null, - valueNumber: input.valueNumber ?? null, - valueBoolean: input.valueBoolean ?? null, - valueJson: input.valueJson ?? null, - overrideUnit: input.overrideUnit ?? null, - }); - results.push(await this.productAttributeValuesRepository.save(value)); - } - return results; - } - async resolveAttributeDefinition(input) { - if (input.attributeId) { - const existing = await this.attributeDefinitionsRepository.findOne({ - where: { id: input.attributeId }, - }); - if (!existing) { - throw new common_1.NotFoundException('Attribute definition not found'); - } - return existing; - } - if (!input.slug || !input.name || !input.dataType) { - throw new common_1.BadRequestException('Attribute input requires attributeId or { slug, name, dataType }'); - } - const existingBySlug = await this.attributeDefinitionsRepository.findOne({ - where: { slug: input.slug }, - }); - if (existingBySlug) { - return existingBySlug; - } - return this.attributeDefinitionsRepository.save(this.attributeDefinitionsRepository.create({ - name: input.name, - slug: input.slug, - dataType: input.dataType, - unit: input.unit ?? null, - options: input.options ?? [], - defaultValueText: input.defaultValueText ?? null, - defaultValueNumber: input.defaultValueNumber !== undefined ? String(input.defaultValueNumber) : null, - defaultValueBoolean: input.defaultValueBoolean ?? null, - defaultValueJson: input.defaultValueJson ?? null, - isFilterable: input.isFilterable ?? false, - isVisible: input.isVisible ?? true, - })); - } - serializeProduct(product, includeMeta = true) { - const orderedAttributes = this.sortAttributes(product.attributeValues); - const meta = product.meta ?? null; - const shortDescription = meta?.shortDescription ?? null; - const share = { - title: meta?.shareTitle ?? product.title, - description: meta?.shareDescription ?? shortDescription, - imageUrl: meta?.shareImageUrl ?? product.mainImageUrl, - }; - const seo = includeMeta - ? { - title: meta?.metaTitle ?? product.title, - description: meta?.metaDescription ?? shortDescription, - } - : undefined; - return { - ...product, - brandInfo: product.brandEntity - ? { - id: product.brandEntity.id, - name: product.brandEntity.name, - slug: product.brandEntity.slug, - imageUrl: product.brandEntity.imageUrl, - type: product.brandEntity.type, - } - : null, - primaryCategory: product.primaryCategory - ? { - id: product.primaryCategory.id, - name: product.primaryCategory.name, - slug: product.primaryCategory.slug, - imageUrl: product.primaryCategory.imageUrl, - type: product.primaryCategory.type, - } - : null, - categories: (product.categories ?? []).map((category) => ({ - id: category.id, - name: category.name, - slug: category.slug, - imageUrl: category.imageUrl, - type: category.type, - })), - ...(includeMeta - ? { - meta: { - shortDescription, - description: meta?.description ?? null, - seo, - share, - }, - } - : {}), - attributes: orderedAttributes.map((item) => ({ - id: item.id, - displayOrder: item.displayOrder ?? 0, - attributeId: item.attribute?.id, - name: item.attribute?.name, - slug: item.attribute?.slug, - dataType: item.attribute?.dataType, - unit: item.overrideUnit ?? item.attribute?.unit ?? null, - options: item.attribute?.options ?? [], - isFilterable: item.attribute?.isFilterable ?? false, - isVisible: item.attribute?.isVisible ?? true, - valueText: item.valueText ?? item.attribute?.defaultValueText ?? null, - valueNumber: item.valueNumber ?? - (item.attribute?.defaultValueNumber !== null && - item.attribute?.defaultValueNumber !== undefined - ? Number(item.attribute.defaultValueNumber) - : null), - valueBoolean: item.valueBoolean ?? item.attribute?.defaultValueBoolean ?? null, - valueJson: item.valueJson ?? item.attribute?.defaultValueJson ?? null, - })), - }; - } - serializeProductListItem(product, includeAdminFields) { - const meta = product.meta ?? null; - const orderedAttributes = this.sortAttributes(product.attributeValues).filter((item) => item.attribute?.isVisible ?? true); - return { - id: product.id, - sku: product.sku, - title: product.title, - slug: product.slug, - technicalCode: product.technicalCode, - brand: product.brand, - brandInfo: product.brandEntity - ? { - id: product.brandEntity.id, - name: product.brandEntity.name, - slug: product.brandEntity.slug, - imageUrl: product.brandEntity.imageUrl, - type: product.brandEntity.type, - } - : null, - type: product.type, - featured: product.featured, - basePriceUSD: product.basePriceUSD, - salePriceUSD: product.salePriceUSD ?? null, - stock: product.stock, - averageRating: product.averageRating, - reviewsCount: product.reviewsCount, - mainImageUrl: product.mainImageUrl ?? null, - shortDescription: meta?.shortDescription ?? null, - primaryCategory: product.primaryCategory - ? { - id: product.primaryCategory.id, - name: product.primaryCategory.name, - slug: product.primaryCategory.slug, - imageUrl: product.primaryCategory.imageUrl, - type: product.primaryCategory.type, - } - : null, - attributes: orderedAttributes.slice(0, 2).map((item) => ({ - id: item.id, - displayOrder: item.displayOrder ?? 0, - attributeId: item.attribute?.id, - name: item.attribute?.name, - slug: item.attribute?.slug, - dataType: item.attribute?.dataType, - unit: item.overrideUnit ?? item.attribute?.unit ?? null, - valueText: item.valueText ?? item.attribute?.defaultValueText ?? null, - valueNumber: item.valueNumber ?? - (item.attribute?.defaultValueNumber !== null && - item.attribute?.defaultValueNumber !== undefined - ? Number(item.attribute.defaultValueNumber) - : null), - valueBoolean: item.valueBoolean ?? item.attribute?.defaultValueBoolean ?? null, - valueJson: item.valueJson ?? item.attribute?.defaultValueJson ?? null, - })), - ...(includeAdminFields - ? { - status: product.status, - createdAt: product.createdAt, - updatedAt: product.updatedAt, - } - : {}), - }; - } - sortAttributes(attributes) { - return [...(attributes ?? [])].sort((left, right) => { - const orderDiff = (left.displayOrder ?? 0) - (right.displayOrder ?? 0); - if (orderDiff !== 0) { - return orderDiff; - } - return left.attribute?.name?.localeCompare(right.attribute?.name ?? '') ?? 0; - }); - } - mergeProductTypeFilter(filters, headerProductType) { - if (filters.type) { - return filters; - } - const normalizedType = this.normalizeProductType(headerProductType); - if (!normalizedType) { - return filters; - } - return { - ...filters, - type: normalizedType, - }; - } - buildPublicProductWhere(where, headerProductType) { - const normalizedType = this.normalizeProductType(headerProductType); - return { - ...where, - status: product_status_enum_1.ProductStatus.PUBLISHED, - ...(normalizedType ? { type: normalizedType } : {}), - }; - } - normalizeProductType(headerProductType) { - if (!headerProductType) { - return undefined; - } - const normalizedValue = headerProductType.trim().toLowerCase(); - const matchedType = Object.values(product_type_enum_1.ProductType).find((type) => type.toLowerCase() === normalizedValue); - if (!matchedType) { - throw new common_1.BadRequestException(`Invalid x-product-type header. Allowed values: ${Object.values(product_type_enum_1.ProductType).join(', ')}`); - } - return matchedType; - } - async deleteGallery(imageUrls) { - await Promise.all((imageUrls ?? []).map((url) => this.storageService.deletePublicFileByUrl(url))); - } - async deleteModel(modelUrl) { - await this.storageService.deletePublicFileByUrl(modelUrl); - } - async replaceFile(currentUrl, nextUrl) { - if (currentUrl && currentUrl !== nextUrl) { - await this.storageService.deletePublicFileByUrl(currentUrl); - } - } -}; -exports.ProductsService = ProductsService; -exports.ProductsService = ProductsService = __decorate([ - (0, common_1.Injectable)(), - __param(0, (0, typeorm_1.InjectRepository)(product_entity_1.Product)), - __param(1, (0, typeorm_1.InjectRepository)(product_meta_entity_1.ProductMeta)), - __param(2, (0, typeorm_1.InjectRepository)(product_attribute_value_entity_1.ProductAttributeValue)), - __param(3, (0, typeorm_1.InjectRepository)(attribute_definition_entity_1.AttributeDefinition)), - __param(4, (0, typeorm_1.InjectRepository)(product_review_entity_1.ProductReview)), - __param(5, (0, typeorm_1.InjectRepository)(category_entity_1.Category)), - __param(6, (0, typeorm_1.InjectRepository)(brand_entity_1.Brand)), - __metadata("design:paramtypes", [typeorm_2.Repository, - typeorm_2.Repository, - typeorm_2.Repository, - typeorm_2.Repository, - typeorm_2.Repository, - typeorm_2.Repository, - typeorm_2.Repository, - storage_service_1.StorageService]) -], ProductsService); -//# sourceMappingURL=products.service.js.map \ No newline at end of file diff --git a/dist/modules/catalog/products.service.js.map b/dist/modules/catalog/products.service.js.map deleted file mode 100644 index f796c3dc..00000000 --- a/dist/modules/catalog/products.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"products.service.js","sourceRoot":"","sources":["../../../src/modules/catalog/products.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/media/dto/filter-media-assets.dto.d.ts b/dist/modules/media/dto/filter-media-assets.dto.d.ts deleted file mode 100644 index 4238e17b..00000000 --- a/dist/modules/media/dto/filter-media-assets.dto.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { MediaSection } from '../enums/media-section.enum'; -export declare class FilterMediaAssetsDto { - section?: MediaSection; - folder?: string; - search?: string; - page?: number; - limit?: number; -} diff --git a/dist/modules/media/dto/filter-media-assets.dto.js b/dist/modules/media/dto/filter-media-assets.dto.js deleted file mode 100644 index 4d981407..00000000 --- a/dist/modules/media/dto/filter-media-assets.dto.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.FilterMediaAssetsDto = void 0; -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -const media_section_enum_1 = require("../enums/media-section.enum"); -class FilterMediaAssetsDto { - section; - folder; - search; - page = 1; - limit = 24; -} -exports.FilterMediaAssetsDto = FilterMediaAssetsDto; -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsEnum)(media_section_enum_1.MediaSection), - __metadata("design:type", String) -], FilterMediaAssetsDto.prototype, "section", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], FilterMediaAssetsDto.prototype, "folder", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], FilterMediaAssetsDto.prototype, "search", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(1), - __metadata("design:type", Number) -], FilterMediaAssetsDto.prototype, "page", void 0); -__decorate([ - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => Number(value)), - (0, class_validator_1.IsInt)(), - (0, class_validator_1.Min)(1), - __metadata("design:type", Number) -], FilterMediaAssetsDto.prototype, "limit", void 0); -//# sourceMappingURL=filter-media-assets.dto.js.map \ No newline at end of file diff --git a/dist/modules/media/dto/filter-media-assets.dto.js.map b/dist/modules/media/dto/filter-media-assets.dto.js.map deleted file mode 100644 index ba05071f..00000000 --- a/dist/modules/media/dto/filter-media-assets.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"filter-media-assets.dto.js","sourceRoot":"","sources":["../../../../src/modules/media/dto/filter-media-assets.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,qDAMyB;AACzB,oEAA2D;AAE3D,MAAa,oBAAoB;IAG/B,OAAO,CAAgB;IAIvB,MAAM,CAAU;IAIhB,MAAM,CAAU;IAMhB,IAAI,GAAY,CAAC,CAAC;IAMlB,KAAK,GAAY,EAAE,CAAC;CACrB;AAxBD,oDAwBC;AArBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,iCAAY,CAAC;;qDACE;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACK;AAMhB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;kDACW;AAMlB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;mDACa"} \ No newline at end of file diff --git a/dist/modules/media/dto/update-media-asset.dto.d.ts b/dist/modules/media/dto/update-media-asset.dto.d.ts deleted file mode 100644 index 21d84a73..00000000 --- a/dist/modules/media/dto/update-media-asset.dto.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { UploadMediaDto } from './upload-media.dto'; -declare const UpdateMediaAssetDto_base: import("@nestjs/common").Type>; -export declare class UpdateMediaAssetDto extends UpdateMediaAssetDto_base { -} -export {}; diff --git a/dist/modules/media/dto/update-media-asset.dto.js b/dist/modules/media/dto/update-media-asset.dto.js deleted file mode 100644 index f884a838..00000000 --- a/dist/modules/media/dto/update-media-asset.dto.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UpdateMediaAssetDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const upload_media_dto_1 = require("./upload-media.dto"); -class UpdateMediaAssetDto extends (0, swagger_1.PartialType)(upload_media_dto_1.UploadMediaDto) { -} -exports.UpdateMediaAssetDto = UpdateMediaAssetDto; -//# sourceMappingURL=update-media-asset.dto.js.map \ No newline at end of file diff --git a/dist/modules/media/dto/update-media-asset.dto.js.map b/dist/modules/media/dto/update-media-asset.dto.js.map deleted file mode 100644 index ef96ae30..00000000 --- a/dist/modules/media/dto/update-media-asset.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"update-media-asset.dto.js","sourceRoot":"","sources":["../../../../src/modules/media/dto/update-media-asset.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,yDAAoD;AAEpD,MAAa,mBAAoB,SAAQ,IAAA,qBAAW,EAAC,iCAAc,CAAC;CAAG;AAAvE,kDAAuE"} \ No newline at end of file diff --git a/dist/modules/media/dto/upload-media.dto.d.ts b/dist/modules/media/dto/upload-media.dto.d.ts deleted file mode 100644 index 4612dd12..00000000 --- a/dist/modules/media/dto/upload-media.dto.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { MediaSection } from '../enums/media-section.enum'; -export declare class UploadMediaDto { - section?: MediaSection; - folder?: string; - title?: string; - alt?: string; - caption?: string; - isPublic?: boolean; - metadata?: Record; -} diff --git a/dist/modules/media/dto/upload-media.dto.js b/dist/modules/media/dto/upload-media.dto.js deleted file mode 100644 index 7daa182b..00000000 --- a/dist/modules/media/dto/upload-media.dto.js +++ /dev/null @@ -1,75 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UploadMediaDto = void 0; -const swagger_1 = require("@nestjs/swagger"); -const class_transformer_1 = require("class-transformer"); -const class_validator_1 = require("class-validator"); -const json_transform_util_1 = require("../../../common/utils/json-transform.util"); -const media_section_enum_1 = require("../enums/media-section.enum"); -class UploadMediaDto { - section; - folder; - title; - alt; - caption; - isPublic; - metadata; -} -exports.UploadMediaDto = UploadMediaDto; -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ enum: media_section_enum_1.MediaSection, example: media_section_enum_1.MediaSection.GALLERY }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsEnum)(media_section_enum_1.MediaSection), - __metadata("design:type", String) -], UploadMediaDto.prototype, "section", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'products/bearings' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(160), - __metadata("design:type", String) -], UploadMediaDto.prototype, "folder", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'SKF hero media' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(255), - __metadata("design:type", String) -], UploadMediaDto.prototype, "title", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'SKF product image' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - (0, class_validator_1.MaxLength)(255), - __metadata("design:type", String) -], UploadMediaDto.prototype, "alt", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: 'Primary library item for product page' }), - (0, class_validator_1.IsOptional)(), - (0, class_validator_1.IsString)(), - __metadata("design:type", String) -], UploadMediaDto.prototype, "caption", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: true }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(({ value }) => typeof value === 'boolean' ? value : String(value).toLowerCase() === 'true'), - (0, class_validator_1.IsBoolean)(), - __metadata("design:type", Boolean) -], UploadMediaDto.prototype, "isPublic", void 0); -__decorate([ - (0, swagger_1.ApiPropertyOptional)({ example: { source: 'admin-panel' } }), - (0, class_validator_1.IsOptional)(), - (0, class_transformer_1.Transform)(json_transform_util_1.parseJsonValue), - (0, class_validator_1.IsObject)(), - __metadata("design:type", Object) -], UploadMediaDto.prototype, "metadata", void 0); -//# sourceMappingURL=upload-media.dto.js.map \ No newline at end of file diff --git a/dist/modules/media/dto/upload-media.dto.js.map b/dist/modules/media/dto/upload-media.dto.js.map deleted file mode 100644 index 52977841..00000000 --- a/dist/modules/media/dto/upload-media.dto.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"upload-media.dto.js","sourceRoot":"","sources":["../../../../src/modules/media/dto/upload-media.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,yDAA8C;AAC9C,qDAOyB;AACzB,mFAA2E;AAC3E,oEAA2D;AAE3D,MAAa,cAAc;IAIzB,OAAO,CAAgB;IAMvB,MAAM,CAAU;IAMhB,KAAK,CAAU;IAMf,GAAG,CAAU;IAKb,OAAO,CAAU;IAQjB,QAAQ,CAAW;IAMnB,QAAQ,CAA2B;CACpC;AA1CD,wCA0CC;AAtCC;IAHC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,iCAAY,EAAE,OAAO,EAAE,iCAAY,CAAC,OAAO,EAAE,CAAC;IAC1E,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,iCAAY,CAAC;;+CACE;AAMvB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACrD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;8CACC;AAMhB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAClD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;6CACA;AAMf;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACrD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;2CACF;AAKb;IAHC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;IACzE,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+CACM;AAQjB;IANC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC5E;IACA,IAAA,2BAAS,GAAE;;gDACO;AAMnB;IAJC,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;IAC3D,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,oCAAc,CAAC;IACzB,IAAA,0BAAQ,GAAE;;gDACwB"} \ No newline at end of file diff --git a/dist/modules/media/entities/media-asset.entity.d.ts b/dist/modules/media/entities/media-asset.entity.d.ts deleted file mode 100644 index f2975e93..00000000 --- a/dist/modules/media/entities/media-asset.entity.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { MediaSection } from '../enums/media-section.enum'; -export declare class MediaAsset { - id: string; - section: MediaSection; - folder: string; - originalName: string; - objectName: string; - url: string; - bucket: string; - mimeType: string; - extension?: string | null; - size: number; - title?: string | null; - alt?: string | null; - caption?: string | null; - metadata: Record; - isPublic: boolean; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/media/entities/media-asset.entity.js b/dist/modules/media/entities/media-asset.entity.js deleted file mode 100644 index f4c0d322..00000000 --- a/dist/modules/media/entities/media-asset.entity.js +++ /dev/null @@ -1,111 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MediaAsset = void 0; -const typeorm_1 = require("typeorm"); -const media_section_enum_1 = require("../enums/media-section.enum"); -let MediaAsset = class MediaAsset { - id; - section; - folder; - originalName; - objectName; - url; - bucket; - mimeType; - extension; - size; - title; - alt; - caption; - metadata; - isPublic; - createdAt; - updatedAt; -}; -exports.MediaAsset = MediaAsset; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], MediaAsset.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.Column)({ - type: 'enum', - enum: media_section_enum_1.MediaSection, - }), - __metadata("design:type", String) -], MediaAsset.prototype, "section", void 0); -__decorate([ - (0, typeorm_1.Index)(), - (0, typeorm_1.Column)({ type: 'varchar', length: 160, default: 'root' }), - __metadata("design:type", String) -], MediaAsset.prototype, "folder", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'original_name', type: 'varchar', length: 255 }), - __metadata("design:type", String) -], MediaAsset.prototype, "originalName", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'object_name', type: 'varchar', length: 500, unique: true }), - __metadata("design:type", String) -], MediaAsset.prototype, "objectName", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 500 }), - __metadata("design:type", String) -], MediaAsset.prototype, "url", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 120 }), - __metadata("design:type", String) -], MediaAsset.prototype, "bucket", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'mime_type', type: 'varchar', length: 120 }), - __metadata("design:type", String) -], MediaAsset.prototype, "mimeType", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 20, nullable: true }), - __metadata("design:type", Object) -], MediaAsset.prototype, "extension", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'bigint' }), - __metadata("design:type", Number) -], MediaAsset.prototype, "size", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }), - __metadata("design:type", Object) -], MediaAsset.prototype, "title", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }), - __metadata("design:type", Object) -], MediaAsset.prototype, "alt", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'text', nullable: true }), - __metadata("design:type", Object) -], MediaAsset.prototype, "caption", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'jsonb', default: () => "'{}'" }), - __metadata("design:type", Object) -], MediaAsset.prototype, "metadata", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'is_public', type: 'boolean', default: true }), - __metadata("design:type", Boolean) -], MediaAsset.prototype, "isPublic", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], MediaAsset.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], MediaAsset.prototype, "updatedAt", void 0); -exports.MediaAsset = MediaAsset = __decorate([ - (0, typeorm_1.Entity)({ name: 'media_assets' }) -], MediaAsset); -//# sourceMappingURL=media-asset.entity.js.map \ No newline at end of file diff --git a/dist/modules/media/entities/media-asset.entity.js.map b/dist/modules/media/entities/media-asset.entity.js.map deleted file mode 100644 index 2d303a0d..00000000 --- a/dist/modules/media/entities/media-asset.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"media-asset.entity.js","sourceRoot":"","sources":["../../../../src/modules/media/entities/media-asset.entity.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/media/enums/media-section.enum.d.ts b/dist/modules/media/enums/media-section.enum.d.ts deleted file mode 100644 index b273a8f1..00000000 --- a/dist/modules/media/enums/media-section.enum.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export declare enum MediaSection { - IMAGE = "image", - GALLERY = "gallery", - AUDIO = "audio", - VIDEO = "video", - MODEL_3D = "model3d", - DOCUMENT = "document" -} diff --git a/dist/modules/media/enums/media-section.enum.js b/dist/modules/media/enums/media-section.enum.js deleted file mode 100644 index 725bef79..00000000 --- a/dist/modules/media/enums/media-section.enum.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MediaSection = void 0; -var MediaSection; -(function (MediaSection) { - MediaSection["IMAGE"] = "image"; - MediaSection["GALLERY"] = "gallery"; - MediaSection["AUDIO"] = "audio"; - MediaSection["VIDEO"] = "video"; - MediaSection["MODEL_3D"] = "model3d"; - MediaSection["DOCUMENT"] = "document"; -})(MediaSection || (exports.MediaSection = MediaSection = {})); -//# sourceMappingURL=media-section.enum.js.map \ No newline at end of file diff --git a/dist/modules/media/enums/media-section.enum.js.map b/dist/modules/media/enums/media-section.enum.js.map deleted file mode 100644 index ee10a08f..00000000 --- a/dist/modules/media/enums/media-section.enum.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"media-section.enum.js","sourceRoot":"","sources":["../../../../src/modules/media/enums/media-section.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,oCAAoB,CAAA;IACpB,qCAAqB,CAAA;AACvB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB"} \ No newline at end of file diff --git a/dist/modules/media/media.controller.d.ts b/dist/modules/media/media.controller.d.ts deleted file mode 100644 index 614bd3d4..00000000 --- a/dist/modules/media/media.controller.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { FilterMediaAssetsDto } from './dto/filter-media-assets.dto'; -import { UpdateMediaAssetDto } from './dto/update-media-asset.dto'; -import { UploadMediaDto } from './dto/upload-media.dto'; -import { MediaService } from './media.service'; -export declare class MediaController { - private readonly mediaService; - constructor(mediaService: MediaService); - getOverview(): Promise<{ - section: import("./enums/media-section.enum").MediaSection; - folder: string; - count: number; - }[]>; - findAll(filters: FilterMediaAssetsDto): Promise<{ - items: import("./entities/media-asset.entity").MediaAsset[]; - meta: { - total: number; - page: number; - limit: number; - }; - }>; - upload(files: Express.Multer.File[], dto: UploadMediaDto): Promise; - findOne(id: string): Promise; - update(id: string, dto: UpdateMediaAssetDto): Promise; - remove(id: string): Promise<{ - message: string; - }>; -} diff --git a/dist/modules/media/media.controller.js b/dist/modules/media/media.controller.js deleted file mode 100644 index 7f3aa398..00000000 --- a/dist/modules/media/media.controller.js +++ /dev/null @@ -1,115 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MediaController = void 0; -const common_1 = require("@nestjs/common"); -const platform_express_1 = require("@nestjs/platform-express"); -const swagger_1 = require("@nestjs/swagger"); -const permissions_decorator_1 = require("../../common/decorators/permissions.decorator"); -const roles_decorator_1 = require("../../common/decorators/roles.decorator"); -const permissions_guard_1 = require("../../common/guards/permissions.guard"); -const roles_guard_1 = require("../../common/guards/roles.guard"); -const jwt_auth_guard_1 = require("../auth/guards/jwt-auth.guard"); -const user_role_enum_1 = require("../users/enums/user-role.enum"); -const filter_media_assets_dto_1 = require("./dto/filter-media-assets.dto"); -const update_media_asset_dto_1 = require("./dto/update-media-asset.dto"); -const upload_media_dto_1 = require("./dto/upload-media.dto"); -const media_service_1 = require("./media.service"); -let MediaController = class MediaController { - mediaService; - constructor(mediaService) { - this.mediaService = mediaService; - } - getOverview() { - return this.mediaService.getLibraryOverview(); - } - findAll(filters) { - return this.mediaService.findAll(filters); - } - upload(files, dto) { - return this.mediaService.uploadMany(files, dto); - } - findOne(id) { - return this.mediaService.findOne(id); - } - update(id, dto) { - return this.mediaService.update(id, dto); - } - remove(id) { - return this.mediaService.remove(id); - } -}; -exports.MediaController = MediaController; -__decorate([ - (0, common_1.Get)('overview'), - (0, swagger_1.ApiOperation)({ summary: 'Get media library section and folder counts' }), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) -], MediaController.prototype, "getOverview", null); -__decorate([ - (0, common_1.Get)(), - (0, swagger_1.ApiOperation)({ summary: 'List media assets with filters and pagination' }), - __param(0, (0, common_1.Query)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [filter_media_assets_dto_1.FilterMediaAssetsDto]), - __metadata("design:returntype", void 0) -], MediaController.prototype, "findAll", null); -__decorate([ - (0, common_1.Post)('upload'), - (0, swagger_1.ApiOperation)({ summary: 'Upload one or more files into the media library' }), - (0, swagger_1.ApiConsumes)('multipart/form-data'), - (0, swagger_1.ApiBody)({ type: upload_media_dto_1.UploadMediaDto }), - (0, common_1.UseInterceptors)((0, platform_express_1.FilesInterceptor)('files', 30)), - __param(0, (0, common_1.UploadedFiles)()), - __param(1, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Array, upload_media_dto_1.UploadMediaDto]), - __metadata("design:returntype", void 0) -], MediaController.prototype, "upload", null); -__decorate([ - (0, common_1.Get)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Get one media asset' }), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], MediaController.prototype, "findOne", null); -__decorate([ - (0, common_1.Patch)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Update media asset metadata' }), - __param(0, (0, common_1.Param)('id')), - __param(1, (0, common_1.Body)()), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String, update_media_asset_dto_1.UpdateMediaAssetDto]), - __metadata("design:returntype", void 0) -], MediaController.prototype, "update", null); -__decorate([ - (0, common_1.Delete)(':id'), - (0, swagger_1.ApiOperation)({ summary: 'Delete media asset and underlying object storage file' }), - __param(0, (0, common_1.Param)('id')), - __metadata("design:type", Function), - __metadata("design:paramtypes", [String]), - __metadata("design:returntype", void 0) -], MediaController.prototype, "remove", null); -exports.MediaController = MediaController = __decorate([ - (0, swagger_1.ApiTags)('Admin Media'), - (0, swagger_1.ApiBearerAuth)(), - (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, roles_guard_1.RolesGuard, permissions_guard_1.PermissionsGuard), - (0, roles_decorator_1.Roles)(user_role_enum_1.UserRole.ADMIN), - (0, permissions_decorator_1.Permissions)('media.manage'), - (0, common_1.Controller)('admin/media'), - __metadata("design:paramtypes", [media_service_1.MediaService]) -], MediaController); -//# sourceMappingURL=media.controller.js.map \ No newline at end of file diff --git a/dist/modules/media/media.controller.js.map b/dist/modules/media/media.controller.js.map deleted file mode 100644 index 00f5ddbe..00000000 --- a/dist/modules/media/media.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"media.controller.js","sourceRoot":"","sources":["../../../src/modules/media/media.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/media/media.module.d.ts b/dist/modules/media/media.module.d.ts deleted file mode 100644 index 56a8f398..00000000 --- a/dist/modules/media/media.module.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare class MediaModule { -} diff --git a/dist/modules/media/media.module.js b/dist/modules/media/media.module.js deleted file mode 100644 index b34ac8c7..00000000 --- a/dist/modules/media/media.module.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MediaModule = void 0; -const common_1 = require("@nestjs/common"); -const typeorm_1 = require("@nestjs/typeorm"); -const storage_module_1 = require("../storage/storage.module"); -const media_controller_1 = require("./media.controller"); -const media_asset_entity_1 = require("./entities/media-asset.entity"); -const media_service_1 = require("./media.service"); -let MediaModule = class MediaModule { -}; -exports.MediaModule = MediaModule; -exports.MediaModule = MediaModule = __decorate([ - (0, common_1.Module)({ - imports: [typeorm_1.TypeOrmModule.forFeature([media_asset_entity_1.MediaAsset]), storage_module_1.StorageModule], - controllers: [media_controller_1.MediaController], - providers: [media_service_1.MediaService], - exports: [typeorm_1.TypeOrmModule, media_service_1.MediaService], - }) -], MediaModule); -//# sourceMappingURL=media.module.js.map \ No newline at end of file diff --git a/dist/modules/media/media.module.js.map b/dist/modules/media/media.module.js.map deleted file mode 100644 index 15329417..00000000 --- a/dist/modules/media/media.module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"media.module.js","sourceRoot":"","sources":["../../../src/modules/media/media.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,8DAA0D;AAC1D,yDAAqD;AACrD,sEAA2D;AAC3D,mDAA+C;AAQxC,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,+BAAU,CAAC,CAAC,EAAE,8BAAa,CAAC;QAChE,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,uBAAa,EAAE,4BAAY,CAAC;KACvC,CAAC;GACW,WAAW,CAAG"} \ No newline at end of file diff --git a/dist/modules/media/media.service.d.ts b/dist/modules/media/media.service.d.ts deleted file mode 100644 index 8e0ebb12..00000000 --- a/dist/modules/media/media.service.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Repository } from 'typeorm'; -import { StorageService } from '../storage/storage.service'; -import { FilterMediaAssetsDto } from './dto/filter-media-assets.dto'; -import { UpdateMediaAssetDto } from './dto/update-media-asset.dto'; -import { UploadMediaDto } from './dto/upload-media.dto'; -import { MediaAsset } from './entities/media-asset.entity'; -import { MediaSection } from './enums/media-section.enum'; -export declare class MediaService { - private readonly mediaAssetsRepository; - private readonly storageService; - constructor(mediaAssetsRepository: Repository, storageService: StorageService); - uploadMany(files: Express.Multer.File[], dto: UploadMediaDto): Promise; - findAll(filters: FilterMediaAssetsDto): Promise<{ - items: MediaAsset[]; - meta: { - total: number; - page: number; - limit: number; - }; - }>; - getLibraryOverview(): Promise<{ - section: MediaSection; - folder: string; - count: number; - }[]>; - findOne(id: string): Promise; - update(id: string, dto: UpdateMediaAssetDto): Promise; - remove(id: string): Promise<{ - message: string; - }>; - private inferSection; - private buildStorageFolder; - private normalizeFolder; -} diff --git a/dist/modules/media/media.service.js b/dist/modules/media/media.service.js deleted file mode 100644 index d9dc8411..00000000 --- a/dist/modules/media/media.service.js +++ /dev/null @@ -1,156 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MediaService = void 0; -const common_1 = require("@nestjs/common"); -const typeorm_1 = require("@nestjs/typeorm"); -const path = require("path"); -const typeorm_2 = require("typeorm"); -const storage_service_1 = require("../storage/storage.service"); -const media_asset_entity_1 = require("./entities/media-asset.entity"); -const media_section_enum_1 = require("./enums/media-section.enum"); -let MediaService = class MediaService { - mediaAssetsRepository; - storageService; - constructor(mediaAssetsRepository, storageService) { - this.mediaAssetsRepository = mediaAssetsRepository; - this.storageService = storageService; - } - async uploadMany(files, dto) { - const uploaded = await Promise.all((files ?? []).map(async (file) => { - const section = dto.section ?? this.inferSection(file); - const folder = this.normalizeFolder(dto.folder); - const upload = await this.storageService.uploadPublicFile(file, this.buildStorageFolder(section, folder)); - const asset = this.mediaAssetsRepository.create({ - section, - folder, - originalName: file.originalname, - objectName: upload.objectName, - url: upload.url, - bucket: upload.bucket, - mimeType: file.mimetype, - extension: path.extname(file.originalname).replace('.', '') || null, - size: file.size, - title: dto.title ?? null, - alt: dto.alt ?? null, - caption: dto.caption ?? null, - metadata: dto.metadata ?? {}, - isPublic: dto.isPublic ?? true, - }); - return this.mediaAssetsRepository.save(asset); - })); - return uploaded; - } - async findAll(filters) { - const page = filters.page ?? 1; - const limit = filters.limit ?? 24; - const query = this.mediaAssetsRepository - .createQueryBuilder('asset') - .orderBy('asset.createdAt', 'DESC') - .skip((page - 1) * limit) - .take(limit); - if (filters.section) { - query.andWhere('asset.section = :section', { section: filters.section }); - } - if (filters.folder) { - query.andWhere('asset.folder = :folder', { folder: filters.folder }); - } - if (filters.search) { - query.andWhere('(asset.original_name ILIKE :search OR asset.title ILIKE :search OR asset.alt ILIKE :search OR asset.caption ILIKE :search)', { search: `%${filters.search}%` }); - } - const [items, total] = await query.getManyAndCount(); - return { - items, - meta: { - total, - page, - limit, - }, - }; - } - async getLibraryOverview() { - const items = await this.mediaAssetsRepository - .createQueryBuilder('asset') - .select('asset.section', 'section') - .addSelect('asset.folder', 'folder') - .addSelect('COUNT(asset.id)', 'count') - .groupBy('asset.section') - .addGroupBy('asset.folder') - .orderBy('asset.section', 'ASC') - .addOrderBy('asset.folder', 'ASC') - .getRawMany(); - return items.map((item) => ({ - section: item.section, - folder: item.folder, - count: Number(item.count), - })); - } - async findOne(id) { - const asset = await this.mediaAssetsRepository.findOne({ where: { id } }); - if (!asset) { - throw new common_1.NotFoundException('Media asset not found'); - } - return asset; - } - async update(id, dto) { - const asset = await this.findOne(id); - Object.assign(asset, { - section: dto.section ?? asset.section, - folder: dto.folder ? this.normalizeFolder(dto.folder) : asset.folder, - title: dto.title ?? asset.title, - alt: dto.alt ?? asset.alt, - caption: dto.caption ?? asset.caption, - metadata: dto.metadata ?? asset.metadata, - isPublic: dto.isPublic ?? asset.isPublic, - }); - return this.mediaAssetsRepository.save(asset); - } - async remove(id) { - const asset = await this.findOne(id); - await this.storageService.deletePublicFileByUrl(asset.url); - await this.mediaAssetsRepository.remove(asset); - return { message: 'Media asset deleted successfully' }; - } - inferSection(file) { - const mimeType = file.mimetype.toLowerCase(); - const extension = path.extname(file.originalname).toLowerCase(); - if (mimeType.startsWith('image/')) { - return media_section_enum_1.MediaSection.IMAGE; - } - if (mimeType.startsWith('audio/')) { - return media_section_enum_1.MediaSection.AUDIO; - } - if (mimeType.startsWith('video/')) { - return media_section_enum_1.MediaSection.VIDEO; - } - if (['.glb', '.gltf', '.obj', '.fbx', '.stl', '.usdz'].includes(extension)) { - return media_section_enum_1.MediaSection.MODEL_3D; - } - return media_section_enum_1.MediaSection.DOCUMENT; - } - buildStorageFolder(section, folder) { - return `media/${section}/${folder}`; - } - normalizeFolder(folder) { - return folder?.trim().replace(/^\/+|\/+$/g, '') || 'root'; - } -}; -exports.MediaService = MediaService; -exports.MediaService = MediaService = __decorate([ - (0, common_1.Injectable)(), - __param(0, (0, typeorm_1.InjectRepository)(media_asset_entity_1.MediaAsset)), - __metadata("design:paramtypes", [typeorm_2.Repository, - storage_service_1.StorageService]) -], MediaService); -//# sourceMappingURL=media.service.js.map \ No newline at end of file diff --git a/dist/modules/media/media.service.js.map b/dist/modules/media/media.service.js.map deleted file mode 100644 index 1225903c..00000000 --- a/dist/modules/media/media.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"media.service.js","sourceRoot":"","sources":["../../../src/modules/media/media.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/storage/storage.module.d.ts b/dist/modules/storage/storage.module.d.ts deleted file mode 100644 index a5cb7e34..00000000 --- a/dist/modules/storage/storage.module.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare class StorageModule { -} diff --git a/dist/modules/storage/storage.module.js b/dist/modules/storage/storage.module.js deleted file mode 100644 index 1d1f2372..00000000 --- a/dist/modules/storage/storage.module.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StorageModule = void 0; -const common_1 = require("@nestjs/common"); -const storage_service_1 = require("./storage.service"); -let StorageModule = class StorageModule { -}; -exports.StorageModule = StorageModule; -exports.StorageModule = StorageModule = __decorate([ - (0, common_1.Global)(), - (0, common_1.Module)({ - providers: [storage_service_1.StorageService], - exports: [storage_service_1.StorageService], - }) -], StorageModule); -//# sourceMappingURL=storage.module.js.map \ No newline at end of file diff --git a/dist/modules/storage/storage.module.js.map b/dist/modules/storage/storage.module.js.map deleted file mode 100644 index c31364dd..00000000 --- a/dist/modules/storage/storage.module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"storage.module.js","sourceRoot":"","sources":["../../../src/modules/storage/storage.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,uDAAmD;AAO5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IALzB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"} \ No newline at end of file diff --git a/dist/modules/storage/storage.service.d.ts b/dist/modules/storage/storage.service.d.ts deleted file mode 100644 index 785d17a9..00000000 --- a/dist/modules/storage/storage.service.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { OnModuleInit } from '@nestjs/common'; -import { ConfigService } from '@nestjs/config'; -export interface StoredFileResult { - bucket: string; - objectName: string; - url: string; -} -export declare class StorageService implements OnModuleInit { - private readonly configService; - private readonly logger; - private readonly client; - private readonly publicBucket; - private readonly privateBucket; - private readonly publicUrl?; - constructor(configService: ConfigService); - onModuleInit(): Promise; - uploadPublicFile(file: Express.Multer.File, folder?: string): Promise; - uploadPrivateFile(file: Express.Multer.File, folder?: string): Promise; - deleteFile(bucket: string, objectName: string): Promise; - deletePublicFileByUrl(fileUrl?: string | null): Promise; - extractObjectName(fileUrl: string, bucket: string): string | null; - private upload; - private ensureBucket; - private buildPublicUrl; -} diff --git a/dist/modules/storage/storage.service.js b/dist/modules/storage/storage.service.js deleted file mode 100644 index f125bbea..00000000 --- a/dist/modules/storage/storage.service.js +++ /dev/null @@ -1,136 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var StorageService_1; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StorageService = void 0; -const common_1 = require("@nestjs/common"); -const config_1 = require("@nestjs/config"); -const crypto_1 = require("crypto"); -const Minio = require("minio"); -let StorageService = StorageService_1 = class StorageService { - configService; - logger = new common_1.Logger(StorageService_1.name); - client; - publicBucket; - privateBucket; - publicUrl; - constructor(configService) { - this.configService = configService; - this.client = new Minio.Client({ - endPoint: this.configService.getOrThrow('minio.endpoint'), - port: this.configService.get('minio.port', 9000), - useSSL: this.configService.get('minio.useSsl', false), - accessKey: this.configService.getOrThrow('minio.accessKey'), - secretKey: this.configService.getOrThrow('minio.secretKey'), - }); - this.publicBucket = this.configService.getOrThrow('minio.publicBucket'); - this.privateBucket = this.configService.getOrThrow('minio.privateBucket'); - this.publicUrl = this.configService.get('minio.publicUrl'); - } - async onModuleInit() { - await this.ensureBucket(this.publicBucket, true); - await this.ensureBucket(this.privateBucket, false); - } - async uploadPublicFile(file, folder = 'products') { - return this.upload(file, this.publicBucket, folder); - } - async uploadPrivateFile(file, folder = 'products') { - return this.upload(file, this.privateBucket, folder); - } - async deleteFile(bucket, objectName) { - try { - await this.client.removeObject(bucket, objectName); - } - catch (error) { - this.logger.warn(`Failed to delete object ${bucket}/${objectName}: ${error instanceof Error ? error.message : 'unknown error'}`); - } - } - async deletePublicFileByUrl(fileUrl) { - if (!fileUrl) { - return; - } - const objectName = this.extractObjectName(fileUrl, this.publicBucket); - if (objectName) { - await this.deleteFile(this.publicBucket, objectName); - } - } - extractObjectName(fileUrl, bucket) { - if (!fileUrl) { - return null; - } - try { - const parsedUrl = new URL(fileUrl); - const prefix = `/${bucket}/`; - const path = parsedUrl.pathname.startsWith(prefix) - ? parsedUrl.pathname.slice(prefix.length) - : parsedUrl.pathname.replace(/^\//, ''); - return decodeURIComponent(path); - } - catch { - return null; - } - } - async upload(file, bucket, folder) { - if (!file) { - throw new common_1.InternalServerErrorException('File upload payload is empty'); - } - const objectName = `${folder}/${(0, crypto_1.randomUUID)()}-${file.originalname.replace(/\s+/g, '-')}`; - try { - await this.client.putObject(bucket, objectName, file.buffer, file.size, { - 'Content-Type': file.mimetype, - }); - } - catch (error) { - throw new common_1.InternalServerErrorException(`File upload failed: ${error instanceof Error ? error.message : 'unknown error'}`); - } - return { - bucket, - objectName, - url: this.buildPublicUrl(bucket, objectName), - }; - } - async ensureBucket(bucketName, makePublic) { - const exists = await this.client.bucketExists(bucketName); - if (!exists) { - await this.client.makeBucket(bucketName); - } - if (makePublic) { - await this.client.setBucketPolicy(bucketName, JSON.stringify({ - Version: '2012-10-17', - Statement: [ - { - Effect: 'Allow', - Principal: { AWS: ['*'] }, - Action: ['s3:GetObject'], - Resource: [`arn:aws:s3:::${bucketName}/*`], - }, - ], - })); - } - } - buildPublicUrl(bucket, objectName) { - if (this.publicUrl) { - return `${this.publicUrl.replace(/\/$/, '')}/${bucket}/${objectName}`; - } - const protocol = this.configService.get('minio.useSsl', false) - ? 'https' - : 'http'; - const endpoint = this.configService.getOrThrow('minio.endpoint'); - const port = this.configService.get('minio.port', 9000); - return `${protocol}://${endpoint}:${port}/${bucket}/${objectName}`; - } -}; -exports.StorageService = StorageService; -exports.StorageService = StorageService = StorageService_1 = __decorate([ - (0, common_1.Injectable)(), - __metadata("design:paramtypes", [config_1.ConfigService]) -], StorageService); -//# sourceMappingURL=storage.service.js.map \ No newline at end of file diff --git a/dist/modules/storage/storage.service.js.map b/dist/modules/storage/storage.service.js.map deleted file mode 100644 index 68a4846c..00000000 --- a/dist/modules/storage/storage.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/modules/storage/storage.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/modules/users/entities/loyalty-profile.entity.d.ts b/dist/modules/users/entities/loyalty-profile.entity.d.ts deleted file mode 100644 index bfbf66dc..00000000 --- a/dist/modules/users/entities/loyalty-profile.entity.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { UserLevel } from '../enums/user-level.enum'; -import { User } from './user.entity'; -import { UserLevelHistory } from './user-level-history.entity'; -export declare class LoyaltyProfile { - id: string; - user: User; - currentLevel: UserLevel; - totalSpent: number; - history: UserLevelHistory[]; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/users/entities/loyalty-profile.entity.js b/dist/modules/users/entities/loyalty-profile.entity.js deleted file mode 100644 index b76a28d0..00000000 --- a/dist/modules/users/entities/loyalty-profile.entity.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.LoyaltyProfile = void 0; -const typeorm_1 = require("typeorm"); -const user_level_enum_1 = require("../enums/user-level.enum"); -const user_entity_1 = require("./user.entity"); -const user_level_history_entity_1 = require("./user-level-history.entity"); -let LoyaltyProfile = class LoyaltyProfile { - id; - user; - currentLevel; - totalSpent; - history; - createdAt; - updatedAt; -}; -exports.LoyaltyProfile = LoyaltyProfile; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], LoyaltyProfile.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.OneToOne)(() => user_entity_1.User, (user) => user.loyaltyProfile, { onDelete: 'CASCADE' }), - (0, typeorm_1.JoinColumn)({ name: 'user_id' }), - __metadata("design:type", user_entity_1.User) -], LoyaltyProfile.prototype, "user", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'current_level', - type: 'enum', - enum: user_level_enum_1.UserLevel, - default: user_level_enum_1.UserLevel.BRONZE, - }), - __metadata("design:type", String) -], LoyaltyProfile.prototype, "currentLevel", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'total_spent', - type: 'numeric', - precision: 12, - scale: 2, - default: 0, - transformer: { - to: (value) => value, - from: (value) => Number(value), - }, - }), - __metadata("design:type", Number) -], LoyaltyProfile.prototype, "totalSpent", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => user_level_history_entity_1.UserLevelHistory, (history) => history.loyaltyProfile), - __metadata("design:type", Array) -], LoyaltyProfile.prototype, "history", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], LoyaltyProfile.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], LoyaltyProfile.prototype, "updatedAt", void 0); -exports.LoyaltyProfile = LoyaltyProfile = __decorate([ - (0, typeorm_1.Entity)({ name: 'loyalty_profiles' }) -], LoyaltyProfile); -//# sourceMappingURL=loyalty-profile.entity.js.map \ No newline at end of file diff --git a/dist/modules/users/entities/loyalty-profile.entity.js.map b/dist/modules/users/entities/loyalty-profile.entity.js.map deleted file mode 100644 index cc2dcd6d..00000000 --- a/dist/modules/users/entities/loyalty-profile.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"loyalty-profile.entity.js","sourceRoot":"","sources":["../../../../src/modules/users/entities/loyalty-profile.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCASiB;AACjB,8DAAqD;AACrD,+CAAqC;AACrC,2EAA+D;AAGxD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEzB,EAAE,CAAS;IAIX,IAAI,CAAO;IAQX,YAAY,CAAY;IAaxB,UAAU,CAAS;IAGnB,OAAO,CAAqB;IAG5B,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AArCY,wCAAc;AAEzB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;0CACpB;AAIX;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC5E,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BAC1B,kBAAI;4CAAC;AAQX;IANC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,2BAAS;QACf,OAAO,EAAE,2BAAS,CAAC,MAAM;KAC1B,CAAC;;oDACsB;AAaxB;IAXC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;YAC5B,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SACvC;KACF,CAAC;;kDACiB;AAGnB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;;+CAC3C;AAG5B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;iDAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;iDAAC;yBApCL,cAAc;IAD1B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;GACxB,cAAc,CAqC1B"} \ No newline at end of file diff --git a/dist/modules/users/entities/user-level-history.entity.d.ts b/dist/modules/users/entities/user-level-history.entity.d.ts deleted file mode 100644 index 68e6587b..00000000 --- a/dist/modules/users/entities/user-level-history.entity.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { UserLevel } from '../enums/user-level.enum'; -import { LoyaltyProfile } from './loyalty-profile.entity'; -export declare class UserLevelHistory { - id: string; - loyaltyProfile: LoyaltyProfile; - level: UserLevel; - reason?: string | null; - createdAt: Date; -} diff --git a/dist/modules/users/entities/user-level-history.entity.js b/dist/modules/users/entities/user-level-history.entity.js deleted file mode 100644 index 34adc430..00000000 --- a/dist/modules/users/entities/user-level-history.entity.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UserLevelHistory = void 0; -const typeorm_1 = require("typeorm"); -const user_level_enum_1 = require("../enums/user-level.enum"); -const loyalty_profile_entity_1 = require("./loyalty-profile.entity"); -let UserLevelHistory = class UserLevelHistory { - id; - loyaltyProfile; - level; - reason; - createdAt; -}; -exports.UserLevelHistory = UserLevelHistory; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], UserLevelHistory.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.ManyToOne)(() => loyalty_profile_entity_1.LoyaltyProfile, (profile) => profile.history, { - onDelete: 'CASCADE', - }), - __metadata("design:type", loyalty_profile_entity_1.LoyaltyProfile) -], UserLevelHistory.prototype, "loyaltyProfile", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'level', - type: 'enum', - enum: user_level_enum_1.UserLevel, - }), - __metadata("design:type", String) -], UserLevelHistory.prototype, "level", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'reason', type: 'varchar', length: 255, nullable: true }), - __metadata("design:type", Object) -], UserLevelHistory.prototype, "reason", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], UserLevelHistory.prototype, "createdAt", void 0); -exports.UserLevelHistory = UserLevelHistory = __decorate([ - (0, typeorm_1.Entity)({ name: 'user_level_histories' }) -], UserLevelHistory); -//# sourceMappingURL=user-level-history.entity.js.map \ No newline at end of file diff --git a/dist/modules/users/entities/user-level-history.entity.js.map b/dist/modules/users/entities/user-level-history.entity.js.map deleted file mode 100644 index ed68d004..00000000 --- a/dist/modules/users/entities/user-level-history.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"user-level-history.entity.js","sourceRoot":"","sources":["../../../../src/modules/users/entities/user-level-history.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AACjB,8DAAqD;AACrD,qEAA0D;AAGnD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAE3B,EAAE,CAAS;IAKX,cAAc,CAAiB;IAO/B,KAAK,CAAY;IAGjB,MAAM,CAAiB;IAGvB,SAAS,CAAO;CACjB,CAAA;AArBY,4CAAgB;AAE3B;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;4CACpB;AAKX;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7D,QAAQ,EAAE,SAAS;KACpB,CAAC;8BACc,uCAAc;wDAAC;AAO/B;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,2BAAS;KAChB,CAAC;;+CACe;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAClD;AAGvB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;mDAAC;2BApBL,gBAAgB;IAD5B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;GAC5B,gBAAgB,CAqB5B"} \ No newline at end of file diff --git a/dist/modules/users/entities/user.entity.d.ts b/dist/modules/users/entities/user.entity.d.ts deleted file mode 100644 index 620c0713..00000000 --- a/dist/modules/users/entities/user.entity.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { UserSession } from '../../auth/entities/user-session.entity'; -import { UserRole } from '../enums/user-role.enum'; -import { LoyaltyProfile } from './loyalty-profile.entity'; -import { Wallet } from './wallet.entity'; -export declare class User { - id: string; - phone: string; - username?: string | null; - fullName: string; - role: UserRole; - isVerified: boolean; - passwordHash?: string | null; - wallet: Wallet; - loyaltyProfile: LoyaltyProfile; - sessions: UserSession[]; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/users/entities/user.entity.js b/dist/modules/users/entities/user.entity.js deleted file mode 100644 index 8a90587a..00000000 --- a/dist/modules/users/entities/user.entity.js +++ /dev/null @@ -1,90 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.User = void 0; -const typeorm_1 = require("typeorm"); -const user_session_entity_1 = require("../../auth/entities/user-session.entity"); -const user_role_enum_1 = require("../enums/user-role.enum"); -const loyalty_profile_entity_1 = require("./loyalty-profile.entity"); -const wallet_entity_1 = require("./wallet.entity"); -let User = class User { - id; - phone; - username; - fullName; - role; - isVerified; - passwordHash; - wallet; - loyaltyProfile; - sessions; - createdAt; - updatedAt; -}; -exports.User = User; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], User.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.Column)({ unique: true, length: 20 }), - __metadata("design:type", String) -], User.prototype, "phone", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', unique: true, nullable: true, length: 50 }), - __metadata("design:type", Object) -], User.prototype, "username", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'full_name', length: 150 }), - __metadata("design:type", String) -], User.prototype, "fullName", void 0); -__decorate([ - (0, typeorm_1.Column)({ - type: 'enum', - enum: user_role_enum_1.UserRole, - default: user_role_enum_1.UserRole.USER, - }), - __metadata("design:type", String) -], User.prototype, "role", void 0); -__decorate([ - (0, typeorm_1.Column)({ name: 'is_verified', default: false }), - __metadata("design:type", Boolean) -], User.prototype, "isVerified", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', name: 'password_hash', nullable: true, length: 255 }), - __metadata("design:type", Object) -], User.prototype, "passwordHash", void 0); -__decorate([ - (0, typeorm_1.OneToOne)(() => wallet_entity_1.Wallet, (wallet) => wallet.user, { eager: true }), - __metadata("design:type", wallet_entity_1.Wallet) -], User.prototype, "wallet", void 0); -__decorate([ - (0, typeorm_1.OneToOne)(() => loyalty_profile_entity_1.LoyaltyProfile, (loyaltyProfile) => loyaltyProfile.user, { - eager: true, - }), - __metadata("design:type", loyalty_profile_entity_1.LoyaltyProfile) -], User.prototype, "loyaltyProfile", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => user_session_entity_1.UserSession, (session) => session.user), - __metadata("design:type", Array) -], User.prototype, "sessions", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], User.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], User.prototype, "updatedAt", void 0); -exports.User = User = __decorate([ - (0, typeorm_1.Entity)({ name: 'users' }) -], User); -//# sourceMappingURL=user.entity.js.map \ No newline at end of file diff --git a/dist/modules/users/entities/user.entity.js.map b/dist/modules/users/entities/user.entity.js.map deleted file mode 100644 index 08f3620a..00000000 --- a/dist/modules/users/entities/user.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../../src/modules/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,iFAAsE;AACtE,4DAAmD;AACnD,qEAA0D;AAC1D,mDAAyC;AAGlC,IAAM,IAAI,GAAV,MAAM,IAAI;IAEf,EAAE,CAAS;IAGX,KAAK,CAAS;IAGd,QAAQ,CAAiB;IAGzB,QAAQ,CAAS;IAOjB,IAAI,CAAW;IAGf,UAAU,CAAU;IAGpB,YAAY,CAAiB;IAG7B,MAAM,CAAS;IAKf,cAAc,CAAiB;IAG/B,QAAQ,CAAgB;IAGxB,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AA1CY,oBAAI;AAEf;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;gCACpB;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;mCACvB;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;sCAC7C;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;sCAC1B;AAOjB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,yBAAQ;QACd,OAAO,EAAE,yBAAQ,CAAC,IAAI;KACvB,CAAC;;kCACa;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;wCAC5B;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;0CACnD;AAG7B;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,sBAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;8BACzD,sBAAM;oCAAC;AAKf;IAHC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE;QACvE,KAAK,EAAE,IAAI;KACZ,CAAC;8BACc,uCAAc;4CAAC;AAG/B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iCAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;;sCAChC;AAGxB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;uCAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;uCAAC;eAzCL,IAAI;IADhB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;GACb,IAAI,CA0ChB"} \ No newline at end of file diff --git a/dist/modules/users/entities/wallet-transaction.entity.d.ts b/dist/modules/users/entities/wallet-transaction.entity.d.ts deleted file mode 100644 index 110c5fb9..00000000 --- a/dist/modules/users/entities/wallet-transaction.entity.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Wallet } from './wallet.entity'; -export declare class WalletTransaction { - id: string; - wallet: Wallet; - type: string; - amount: number; - description?: string | null; - createdAt: Date; -} diff --git a/dist/modules/users/entities/wallet-transaction.entity.js b/dist/modules/users/entities/wallet-transaction.entity.js deleted file mode 100644 index a4c10baa..00000000 --- a/dist/modules/users/entities/wallet-transaction.entity.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.WalletTransaction = void 0; -const typeorm_1 = require("typeorm"); -const wallet_entity_1 = require("./wallet.entity"); -let WalletTransaction = class WalletTransaction { - id; - wallet; - type; - amount; - description; - createdAt; -}; -exports.WalletTransaction = WalletTransaction; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], WalletTransaction.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.ManyToOne)(() => wallet_entity_1.Wallet, (wallet) => wallet.transactions, { - onDelete: 'CASCADE', - }), - __metadata("design:type", wallet_entity_1.Wallet) -], WalletTransaction.prototype, "wallet", void 0); -__decorate([ - (0, typeorm_1.Column)({ length: 30 }), - __metadata("design:type", String) -], WalletTransaction.prototype, "type", void 0); -__decorate([ - (0, typeorm_1.Column)({ - type: 'numeric', - precision: 12, - scale: 2, - transformer: { - to: (value) => value, - from: (value) => Number(value), - }, - }), - __metadata("design:type", Number) -], WalletTransaction.prototype, "amount", void 0); -__decorate([ - (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }), - __metadata("design:type", Object) -], WalletTransaction.prototype, "description", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], WalletTransaction.prototype, "createdAt", void 0); -exports.WalletTransaction = WalletTransaction = __decorate([ - (0, typeorm_1.Entity)({ name: 'wallet_transactions' }) -], WalletTransaction); -//# sourceMappingURL=wallet-transaction.entity.js.map \ No newline at end of file diff --git a/dist/modules/users/entities/wallet-transaction.entity.js.map b/dist/modules/users/entities/wallet-transaction.entity.js.map deleted file mode 100644 index c333968f..00000000 --- a/dist/modules/users/entities/wallet-transaction.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"wallet-transaction.entity.js","sourceRoot":"","sources":["../../../../src/modules/users/entities/wallet-transaction.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AACjB,mDAAyC;AAGlC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAE5B,EAAE,CAAS;IAKX,MAAM,CAAS;IAGf,IAAI,CAAS;IAWb,MAAM,CAAS;IAGf,WAAW,CAAiB;IAG5B,SAAS,CAAO;CACjB,CAAA;AA5BY,8CAAiB;AAE5B;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;6CACpB;AAKX;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sBAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QACxD,QAAQ,EAAE,SAAS;KACpB,CAAC;8BACM,sBAAM;iDAAC;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;+CACV;AAWb;IATC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,CAAC;QACR,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;YAC5B,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SACvC;KACF,CAAC;;iDACa;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDAC7B;AAG5B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;oDAAC;4BA3BL,iBAAiB;IAD7B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;GAC3B,iBAAiB,CA4B7B"} \ No newline at end of file diff --git a/dist/modules/users/entities/wallet.entity.d.ts b/dist/modules/users/entities/wallet.entity.d.ts deleted file mode 100644 index d9c7b74d..00000000 --- a/dist/modules/users/entities/wallet.entity.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { WalletTransaction } from './wallet-transaction.entity'; -import { User } from './user.entity'; -export declare class Wallet { - id: string; - user: User; - balance: number; - transactions: WalletTransaction[]; - createdAt: Date; - updatedAt: Date; -} diff --git a/dist/modules/users/entities/wallet.entity.js b/dist/modules/users/entities/wallet.entity.js deleted file mode 100644 index 705ba33f..00000000 --- a/dist/modules/users/entities/wallet.entity.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Wallet = void 0; -const typeorm_1 = require("typeorm"); -const wallet_transaction_entity_1 = require("./wallet-transaction.entity"); -const user_entity_1 = require("./user.entity"); -let Wallet = class Wallet { - id; - user; - balance; - transactions; - createdAt; - updatedAt; -}; -exports.Wallet = Wallet; -__decorate([ - (0, typeorm_1.PrimaryGeneratedColumn)('uuid'), - __metadata("design:type", String) -], Wallet.prototype, "id", void 0); -__decorate([ - (0, typeorm_1.OneToOne)(() => user_entity_1.User, (user) => user.wallet, { onDelete: 'CASCADE' }), - (0, typeorm_1.JoinColumn)({ name: 'user_id' }), - __metadata("design:type", user_entity_1.User) -], Wallet.prototype, "user", void 0); -__decorate([ - (0, typeorm_1.Column)({ - name: 'balance', - type: 'numeric', - precision: 12, - scale: 2, - default: 0, - transformer: { - to: (value) => value, - from: (value) => Number(value), - }, - }), - __metadata("design:type", Number) -], Wallet.prototype, "balance", void 0); -__decorate([ - (0, typeorm_1.OneToMany)(() => wallet_transaction_entity_1.WalletTransaction, (transaction) => transaction.wallet), - __metadata("design:type", Array) -], Wallet.prototype, "transactions", void 0); -__decorate([ - (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }), - __metadata("design:type", Date) -], Wallet.prototype, "createdAt", void 0); -__decorate([ - (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }), - __metadata("design:type", Date) -], Wallet.prototype, "updatedAt", void 0); -exports.Wallet = Wallet = __decorate([ - (0, typeorm_1.Entity)({ name: 'wallets' }) -], Wallet); -//# sourceMappingURL=wallet.entity.js.map \ No newline at end of file diff --git a/dist/modules/users/entities/wallet.entity.js.map b/dist/modules/users/entities/wallet.entity.js.map deleted file mode 100644 index a7c5a85d..00000000 --- a/dist/modules/users/entities/wallet.entity.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"wallet.entity.js","sourceRoot":"","sources":["../../../../src/modules/users/entities/wallet.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCASiB;AACjB,2EAAgE;AAChE,+CAAqC;AAG9B,IAAM,MAAM,GAAZ,MAAM,MAAM;IAEjB,EAAE,CAAS;IAIX,IAAI,CAAO;IAaX,OAAO,CAAS;IAGhB,YAAY,CAAsB;IAGlC,SAAS,CAAO;IAGhB,SAAS,CAAO;CACjB,CAAA;AA7BY,wBAAM;AAEjB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;kCACpB;AAIX;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACpE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BAC1B,kBAAI;oCAAC;AAaX;IAXC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;YAC5B,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SACvC;KACF,CAAC;;uCACc;AAGhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6CAAiB,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;;4CACtC;AAGlC;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;yCAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;yCAAC;iBA5BL,MAAM;IADlB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;GACf,MAAM,CA6BlB"} \ No newline at end of file diff --git a/dist/modules/users/enums/user-level.enum.d.ts b/dist/modules/users/enums/user-level.enum.d.ts deleted file mode 100644 index a694ad06..00000000 --- a/dist/modules/users/enums/user-level.enum.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare enum UserLevel { - BRONZE = "Bronze", - SILVER = "Silver", - GOLD = "Gold" -} diff --git a/dist/modules/users/enums/user-level.enum.js b/dist/modules/users/enums/user-level.enum.js deleted file mode 100644 index 79673a7d..00000000 --- a/dist/modules/users/enums/user-level.enum.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UserLevel = void 0; -var UserLevel; -(function (UserLevel) { - UserLevel["BRONZE"] = "Bronze"; - UserLevel["SILVER"] = "Silver"; - UserLevel["GOLD"] = "Gold"; -})(UserLevel || (exports.UserLevel = UserLevel = {})); -//# sourceMappingURL=user-level.enum.js.map \ No newline at end of file diff --git a/dist/modules/users/enums/user-level.enum.js.map b/dist/modules/users/enums/user-level.enum.js.map deleted file mode 100644 index 2ffb8dec..00000000 --- a/dist/modules/users/enums/user-level.enum.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"user-level.enum.js","sourceRoot":"","sources":["../../../../src/modules/users/enums/user-level.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,0BAAa,CAAA;AACf,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"} \ No newline at end of file diff --git a/dist/modules/users/enums/user-role.enum.d.ts b/dist/modules/users/enums/user-role.enum.d.ts deleted file mode 100644 index 56bb5203..00000000 --- a/dist/modules/users/enums/user-role.enum.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare enum UserRole { - ADMIN = "Admin", - USER = "User", - AGENT = "Agent" -} diff --git a/dist/modules/users/enums/user-role.enum.js b/dist/modules/users/enums/user-role.enum.js deleted file mode 100644 index 295f9e34..00000000 --- a/dist/modules/users/enums/user-role.enum.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UserRole = void 0; -var UserRole; -(function (UserRole) { - UserRole["ADMIN"] = "Admin"; - UserRole["USER"] = "User"; - UserRole["AGENT"] = "Agent"; -})(UserRole || (exports.UserRole = UserRole = {})); -//# sourceMappingURL=user-role.enum.js.map \ No newline at end of file diff --git a/dist/modules/users/enums/user-role.enum.js.map b/dist/modules/users/enums/user-role.enum.js.map deleted file mode 100644 index 5fc673bd..00000000 --- a/dist/modules/users/enums/user-role.enum.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"user-role.enum.js","sourceRoot":"","sources":["../../../../src/modules/users/enums/user-role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"} \ No newline at end of file diff --git a/dist/modules/users/users.module.d.ts b/dist/modules/users/users.module.d.ts deleted file mode 100644 index d1340f41..00000000 --- a/dist/modules/users/users.module.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare class UsersModule { -} diff --git a/dist/modules/users/users.module.js b/dist/modules/users/users.module.js deleted file mode 100644 index 539f7c08..00000000 --- a/dist/modules/users/users.module.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UsersModule = void 0; -const common_1 = require("@nestjs/common"); -const typeorm_1 = require("@nestjs/typeorm"); -const loyalty_profile_entity_1 = require("./entities/loyalty-profile.entity"); -const user_entity_1 = require("./entities/user.entity"); -const user_level_history_entity_1 = require("./entities/user-level-history.entity"); -const wallet_transaction_entity_1 = require("./entities/wallet-transaction.entity"); -const wallet_entity_1 = require("./entities/wallet.entity"); -const users_service_1 = require("./users.service"); -let UsersModule = class UsersModule { -}; -exports.UsersModule = UsersModule; -exports.UsersModule = UsersModule = __decorate([ - (0, common_1.Module)({ - imports: [ - typeorm_1.TypeOrmModule.forFeature([ - user_entity_1.User, - wallet_entity_1.Wallet, - wallet_transaction_entity_1.WalletTransaction, - loyalty_profile_entity_1.LoyaltyProfile, - user_level_history_entity_1.UserLevelHistory, - ]), - ], - providers: [users_service_1.UsersService], - exports: [users_service_1.UsersService], - }) -], UsersModule); -//# sourceMappingURL=users.module.js.map \ No newline at end of file diff --git a/dist/modules/users/users.module.js.map b/dist/modules/users/users.module.js.map deleted file mode 100644 index a61a3e0c..00000000 --- a/dist/modules/users/users.module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"users.module.js","sourceRoot":"","sources":["../../../src/modules/users/users.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,8EAAmE;AACnE,wDAA8C;AAC9C,oFAAwE;AACxE,oFAAyE;AACzE,4DAAkD;AAClD,mDAA+C;AAexC,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IAbvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,kBAAI;gBACJ,sBAAM;gBACN,6CAAiB;gBACjB,uCAAc;gBACd,4CAAgB;aACjB,CAAC;SACH;QACD,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"} \ No newline at end of file diff --git a/dist/modules/users/users.service.d.ts b/dist/modules/users/users.service.d.ts deleted file mode 100644 index 55a3a2af..00000000 --- a/dist/modules/users/users.service.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Repository } from 'typeorm'; -import { LoyaltyProfile } from './entities/loyalty-profile.entity'; -import { User } from './entities/user.entity'; -import { UserLevelHistory } from './entities/user-level-history.entity'; -import { Wallet } from './entities/wallet.entity'; -export declare class UsersService { - private readonly usersRepository; - private readonly walletsRepository; - private readonly loyaltyProfilesRepository; - private readonly userLevelHistoriesRepository; - constructor(usersRepository: Repository, walletsRepository: Repository, loyaltyProfilesRepository: Repository, userLevelHistoriesRepository: Repository); - findByPhone(phone: string): Promise; - findByUsername(username: string): Promise; - findById(id: string): Promise; - findOrCreateByPhone(phone: string, fullName?: string): Promise; - create(payload: Partial): Promise; - save(user: User): Promise; -} diff --git a/dist/modules/users/users.service.js b/dist/modules/users/users.service.js deleted file mode 100644 index 9ffe65be..00000000 --- a/dist/modules/users/users.service.js +++ /dev/null @@ -1,107 +0,0 @@ -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; -var __param = (this && this.__param) || function (paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UsersService = void 0; -const common_1 = require("@nestjs/common"); -const typeorm_1 = require("@nestjs/typeorm"); -const typeorm_2 = require("typeorm"); -const loyalty_profile_entity_1 = require("./entities/loyalty-profile.entity"); -const user_entity_1 = require("./entities/user.entity"); -const user_level_history_entity_1 = require("./entities/user-level-history.entity"); -const wallet_entity_1 = require("./entities/wallet.entity"); -const user_role_enum_1 = require("./enums/user-role.enum"); -const user_level_enum_1 = require("./enums/user-level.enum"); -let UsersService = class UsersService { - usersRepository; - walletsRepository; - loyaltyProfilesRepository; - userLevelHistoriesRepository; - constructor(usersRepository, walletsRepository, loyaltyProfilesRepository, userLevelHistoriesRepository) { - this.usersRepository = usersRepository; - this.walletsRepository = walletsRepository; - this.loyaltyProfilesRepository = loyaltyProfilesRepository; - this.userLevelHistoriesRepository = userLevelHistoriesRepository; - } - findByPhone(phone) { - return this.usersRepository.findOne({ - where: { phone }, - relations: { wallet: true, loyaltyProfile: true }, - }); - } - findByUsername(username) { - return this.usersRepository.findOne({ - where: { username }, - relations: { wallet: true, loyaltyProfile: true }, - }); - } - findById(id) { - return this.usersRepository.findOne({ - where: { id }, - relations: { wallet: true, loyaltyProfile: true }, - }); - } - async findOrCreateByPhone(phone, fullName) { - let user = await this.findByPhone(phone); - if (!user) { - user = await this.create({ - phone, - fullName: fullName ?? phone, - role: user_role_enum_1.UserRole.USER, - }); - } - return user; - } - async create(payload) { - const user = this.usersRepository.create(payload); - const savedUser = await this.usersRepository.save(user); - const wallet = this.walletsRepository.create({ - user: savedUser, - balance: 0, - }); - await this.walletsRepository.save(wallet); - const loyaltyProfile = this.loyaltyProfilesRepository.create({ - user: savedUser, - currentLevel: user_level_enum_1.UserLevel.BRONZE, - totalSpent: 0, - }); - await this.loyaltyProfilesRepository.save(loyaltyProfile); - const levelHistory = this.userLevelHistoriesRepository.create({ - loyaltyProfile, - level: loyaltyProfile.currentLevel, - reason: 'Initial level assignment', - }); - await this.userLevelHistoriesRepository.save(levelHistory); - const createdUser = await this.findById(savedUser.id); - if (!createdUser) { - throw new Error('User creation failed'); - } - return createdUser; - } - async save(user) { - return this.usersRepository.save(user); - } -}; -exports.UsersService = UsersService; -exports.UsersService = UsersService = __decorate([ - (0, common_1.Injectable)(), - __param(0, (0, typeorm_1.InjectRepository)(user_entity_1.User)), - __param(1, (0, typeorm_1.InjectRepository)(wallet_entity_1.Wallet)), - __param(2, (0, typeorm_1.InjectRepository)(loyalty_profile_entity_1.LoyaltyProfile)), - __param(3, (0, typeorm_1.InjectRepository)(user_level_history_entity_1.UserLevelHistory)), - __metadata("design:paramtypes", [typeorm_2.Repository, - typeorm_2.Repository, - typeorm_2.Repository, - typeorm_2.Repository]) -], UsersService); -//# sourceMappingURL=users.service.js.map \ No newline at end of file diff --git a/dist/modules/users/users.service.js.map b/dist/modules/users/users.service.js.map deleted file mode 100644 index 0265a07f..00000000 --- a/dist/modules/users/users.service.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../../src/modules/users/users.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tsconfig.build.tsbuildinfo b/dist/tsconfig.build.tsbuildinfo deleted file mode 100644 index 03a87b0b..00000000 --- a/dist/tsconfig.build.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2022.full.d.ts","../node_modules/reflect-metadata/index.d.ts","../node_modules/@nestjs/common/decorators/core/bind.decorator.d.ts","../node_modules/@nestjs/common/interfaces/abstract.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/arguments-host.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.d.ts","../node_modules/rxjs/dist/types/internal/subscription.d.ts","../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../node_modules/rxjs/dist/types/internal/operator.d.ts","../node_modules/rxjs/dist/types/internal/observable.d.ts","../node_modules/rxjs/dist/types/internal/types.d.ts","../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../node_modules/rxjs/dist/types/internal/subject.d.ts","../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../node_modules/rxjs/dist/types/internal/notification.d.ts","../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../node_modules/rxjs/dist/types/operators/index.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../node_modules/rxjs/dist/types/testing/index.d.ts","../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../node_modules/rxjs/dist/types/internal/config.d.ts","../node_modules/rxjs/dist/types/index.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validation-error.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/execution-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/can-activate.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/paramtype.interface.d.ts","../node_modules/@nestjs/common/interfaces/type.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.d.ts","../node_modules/@nestjs/common/enums/request-method.enum.d.ts","../node_modules/@nestjs/common/enums/http-status.enum.d.ts","../node_modules/@nestjs/common/enums/shutdown-signal.enum.d.ts","../node_modules/@nestjs/common/enums/version-type.enum.d.ts","../node_modules/@nestjs/common/enums/index.d.ts","../node_modules/@nestjs/common/interfaces/version-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/index.d.ts","../node_modules/@nestjs/common/interfaces/global-prefix-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-init.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/index.d.ts","../node_modules/@nestjs/common/interfaces/http/http-exception-body.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/http-redirect-response.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/cors-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/https-options.interface.d.ts","../node_modules/@nestjs/common/services/logger.service.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/http-server.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/message-event.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/index.d.ts","../node_modules/@nestjs/common/interfaces/injectable.interface.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.d.ts","../node_modules/@nestjs/common/interfaces/scope-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/injection-token.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/provider.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/nest-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/index.d.ts","../node_modules/@nestjs/common/interfaces/shutdown-hooks-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-microservice.interface.d.ts","../node_modules/@nestjs/common/interfaces/index.d.ts","../node_modules/@nestjs/common/decorators/core/catch.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/controller.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/dependencies.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/exception-filters.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/inject.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/injectable.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/optional.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/set-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-guards.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-pipes.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/apply-decorators.d.ts","../node_modules/@nestjs/common/decorators/core/version.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/index.d.ts","../node_modules/@nestjs/common/decorators/modules/global.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/module.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/index.d.ts","../node_modules/@nestjs/common/decorators/http/request-mapping.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/route-params.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/http-code.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/render.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/header.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/redirect.decorator.d.ts","../node_modules/@nestjs/common/constants.d.ts","../node_modules/@nestjs/common/decorators/http/sse.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/index.d.ts","../node_modules/@nestjs/common/decorators/index.d.ts","../node_modules/@nestjs/common/exceptions/intrinsic.exception.d.ts","../node_modules/@nestjs/common/exceptions/http.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-gateway.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-request.exception.d.ts","../node_modules/@nestjs/common/exceptions/conflict.exception.d.ts","../node_modules/@nestjs/common/exceptions/forbidden.exception.d.ts","../node_modules/@nestjs/common/exceptions/gateway-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/gone.exception.d.ts","../node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.d.ts","../node_modules/@nestjs/common/exceptions/im-a-teapot.exception.d.ts","../node_modules/@nestjs/common/exceptions/internal-server-error.exception.d.ts","../node_modules/@nestjs/common/exceptions/method-not-allowed.exception.d.ts","../node_modules/@nestjs/common/exceptions/misdirected.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-acceptable.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-found.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-implemented.exception.d.ts","../node_modules/@nestjs/common/exceptions/payload-too-large.exception.d.ts","../node_modules/@nestjs/common/exceptions/precondition-failed.exception.d.ts","../node_modules/@nestjs/common/exceptions/request-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/service-unavailable.exception.d.ts","../node_modules/@nestjs/common/exceptions/unauthorized.exception.d.ts","../node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.d.ts","../node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.d.ts","../node_modules/@nestjs/common/exceptions/index.d.ts","../node_modules/@nestjs/common/services/console-logger.service.d.ts","../node_modules/@nestjs/common/services/utils/filter-log-levels.util.d.ts","../node_modules/@nestjs/common/services/index.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/streamable-options.interface.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/streamable-handler-response.interface.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/index.d.ts","../node_modules/@nestjs/common/file-stream/streamable-file.d.ts","../node_modules/@nestjs/common/file-stream/index.d.ts","../node_modules/@nestjs/common/module-utils/constants.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/index.d.ts","../node_modules/@nestjs/common/module-utils/configurable-module.builder.d.ts","../node_modules/@nestjs/common/module-utils/index.d.ts","../node_modules/@nestjs/common/pipes/default-value.pipe.d.ts","../node_modules/@nestjs/common/pipes/file/interfaces/file.interface.d.ts","../node_modules/@nestjs/common/pipes/file/interfaces/index.d.ts","../node_modules/@nestjs/common/pipes/file/file-validator-context.interface.d.ts","../node_modules/@nestjs/common/pipes/file/file-validator.interface.d.ts","../node_modules/@nestjs/common/pipes/file/file-type.validator.d.ts","../node_modules/@nestjs/common/pipes/file/max-file-size.validator.d.ts","../node_modules/@nestjs/common/utils/http-error-by-code.util.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file-options.interface.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file.pipe.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.d.ts","../node_modules/@nestjs/common/pipes/file/index.d.ts","../node_modules/@nestjs/common/interfaces/external/class-transform-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/transformer-package.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-package.interface.d.ts","../node_modules/@nestjs/common/pipes/validation.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-array.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-bool.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-date.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-enum.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-float.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-int.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-uuid.pipe.d.ts","../node_modules/@nestjs/common/pipes/index.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interfaces.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interceptor.d.ts","../node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.d.ts","../node_modules/@nestjs/common/serializer/decorators/index.d.ts","../node_modules/@nestjs/common/serializer/index.d.ts","../node_modules/@nestjs/common/utils/forward-ref.util.d.ts","../node_modules/@nestjs/common/utils/index.d.ts","../node_modules/@nestjs/common/index.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-basic.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-bearer.decorator.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/open-api-spec.interface.d.ts","../node_modules/@nestjs/swagger/dist/types/swagger-enum.type.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-body.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-consumes.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-cookie.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-default-getter.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-exclude-endpoint.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-exclude-controller.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-extra-models.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-header.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-hide-property.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-link.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-oauth2.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-operation.decorator.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/enum-schema-attributes.interface.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-param.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-produces.decorator.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/schema-object-metadata.interface.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-property.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-query.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-response.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-security.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-use-tags.decorator.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/callback-object.interface.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-callbacks.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-extension.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-schema.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/index.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/swagger-ui-options.interface.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/swagger-custom-options.interface.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/swagger-document-options.interface.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/index.d.ts","../node_modules/@nestjs/swagger/dist/document-builder.d.ts","../node_modules/@nestjs/swagger/dist/swagger-module.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/intersection-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/omit-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/partial-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/pick-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/index.d.ts","../node_modules/@nestjs/swagger/dist/utils/get-schema-path.util.d.ts","../node_modules/@nestjs/swagger/dist/utils/index.d.ts","../node_modules/@nestjs/swagger/dist/index.d.ts","../src/app.service.ts","../src/app.controller.ts","../node_modules/@nestjs/config/dist/conditional.module.d.ts","../node_modules/@nestjs/config/dist/interfaces/config-change-event.interface.d.ts","../node_modules/@nestjs/config/dist/types/config-object.type.d.ts","../node_modules/@nestjs/config/dist/types/config.type.d.ts","../node_modules/@nestjs/config/dist/types/no-infer.type.d.ts","../node_modules/@nestjs/config/dist/types/path-value.type.d.ts","../node_modules/@nestjs/config/dist/types/index.d.ts","../node_modules/@nestjs/config/dist/interfaces/config-factory.interface.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/web-globals/navigator.d.ts","../node_modules/@types/node/web-globals/storage.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/dotenv-expand/lib/main.d.ts","../node_modules/@nestjs/config/dist/interfaces/config-module-options.interface.d.ts","../node_modules/@nestjs/config/dist/interfaces/index.d.ts","../node_modules/@nestjs/config/dist/config.module.d.ts","../node_modules/@nestjs/config/dist/config.service.d.ts","../node_modules/@nestjs/config/dist/utils/register-as.util.d.ts","../node_modules/@nestjs/config/dist/utils/get-config-token.util.d.ts","../node_modules/@nestjs/config/dist/utils/index.d.ts","../node_modules/@nestjs/config/dist/index.d.ts","../node_modules/@nestjs/config/index.d.ts","../node_modules/typeorm/metadata/types/relationtypes.d.ts","../node_modules/typeorm/metadata/types/deferrabletype.d.ts","../node_modules/typeorm/metadata/types/ondeletetype.d.ts","../node_modules/typeorm/metadata/types/onupdatetype.d.ts","../node_modules/typeorm/decorator/options/relationoptions.d.ts","../node_modules/typeorm/metadata/types/propertytypeinfunction.d.ts","../node_modules/typeorm/common/objecttype.d.ts","../node_modules/typeorm/common/entitytarget.d.ts","../node_modules/typeorm/metadata/types/relationtypeinfunction.d.ts","../node_modules/typeorm/metadata-args/relationmetadataargs.d.ts","../node_modules/typeorm/driver/types/columntypes.d.ts","../node_modules/typeorm/decorator/options/valuetransformer.d.ts","../node_modules/typeorm/decorator/options/columncommonoptions.d.ts","../node_modules/typeorm/decorator/options/columnoptions.d.ts","../node_modules/typeorm/metadata-args/types/columnmode.d.ts","../node_modules/typeorm/metadata-args/columnmetadataargs.d.ts","../node_modules/typeorm/common/objectliteral.d.ts","../node_modules/typeorm/schema-builder/options/tablecolumnoptions.d.ts","../node_modules/typeorm/schema-builder/table/tablecolumn.d.ts","../node_modules/typeorm/schema-builder/options/viewoptions.d.ts","../node_modules/typeorm/schema-builder/view/view.d.ts","../node_modules/typeorm/naming-strategy/namingstrategyinterface.d.ts","../node_modules/typeorm/metadata/foreignkeymetadata.d.ts","../node_modules/typeorm/metadata/relationmetadata.d.ts","../node_modules/typeorm/metadata-args/embeddedmetadataargs.d.ts","../node_modules/typeorm/metadata-args/relationidmetadataargs.d.ts","../node_modules/typeorm/metadata/relationidmetadata.d.ts","../node_modules/typeorm/metadata/relationcountmetadata.d.ts","../node_modules/typeorm/metadata/types/eventlistenertypes.d.ts","../node_modules/typeorm/metadata-args/entitylistenermetadataargs.d.ts","../node_modules/typeorm/metadata/entitylistenermetadata.d.ts","../node_modules/typeorm/metadata-args/uniquemetadataargs.d.ts","../node_modules/typeorm/metadata/uniquemetadata.d.ts","../node_modules/typeorm/metadata/embeddedmetadata.d.ts","../node_modules/typeorm/metadata/columnmetadata.d.ts","../node_modules/typeorm/driver/types/ctecapabilities.d.ts","../node_modules/typeorm/driver/types/mappedcolumntypes.d.ts","../node_modules/typeorm/driver/query.d.ts","../node_modules/typeorm/driver/sqlinmemory.d.ts","../node_modules/typeorm/schema-builder/schemabuilder.d.ts","../node_modules/typeorm/driver/types/datatypedefaults.d.ts","../node_modules/typeorm/entity-schema/entityschemaindexoptions.d.ts","../node_modules/typeorm/driver/types/geojsontypes.d.ts","../node_modules/typeorm/decorator/options/spatialcolumnoptions.d.ts","../node_modules/typeorm/decorator/options/foreignkeyoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemacolumnforeignkeyoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemacolumnoptions.d.ts","../node_modules/typeorm/decorator/options/joincolumnoptions.d.ts","../node_modules/typeorm/decorator/options/jointablemultiplecolumnsoptions.d.ts","../node_modules/typeorm/decorator/options/jointableoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemarelationoptions.d.ts","../node_modules/typeorm/find-options/orderbycondition.d.ts","../node_modules/typeorm/metadata/types/tabletypes.d.ts","../node_modules/typeorm/entity-schema/entityschemauniqueoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemacheckoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemaexclusionoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemainheritanceoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemarelationidoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemaforeignkeyoptions.d.ts","../node_modules/typeorm/metadata/types/treetypes.d.ts","../node_modules/typeorm/metadata/types/closuretreeoptions.d.ts","../node_modules/typeorm/metadata-args/treemetadataargs.d.ts","../node_modules/typeorm/entity-schema/entityschemaoptions.d.ts","../node_modules/typeorm/entity-schema/entityschema.d.ts","../node_modules/typeorm/logger/logger.d.ts","../node_modules/typeorm/logger/loggeroptions.d.ts","../node_modules/typeorm/driver/types/databasetype.d.ts","../node_modules/typeorm/cache/queryresultcacheoptions.d.ts","../node_modules/typeorm/cache/queryresultcache.d.ts","../node_modules/typeorm/common/mixedlist.d.ts","../node_modules/typeorm/data-source/basedatasourceoptions.d.ts","../node_modules/typeorm/driver/types/replicationmode.d.ts","../node_modules/typeorm/schema-builder/options/tableforeignkeyoptions.d.ts","../node_modules/typeorm/schema-builder/table/tableforeignkey.d.ts","../node_modules/typeorm/driver/types/upserttype.d.ts","../node_modules/typeorm/driver/driver.d.ts","../node_modules/typeorm/find-options/joinoptions.d.ts","../node_modules/typeorm/find-options/findoperatortype.d.ts","../node_modules/typeorm/find-options/findoperator.d.ts","../node_modules/typeorm/platform/platformtools.d.ts","../node_modules/typeorm/driver/mongodb/bson.typings.d.ts","../node_modules/typeorm/driver/mongodb/typings.d.ts","../node_modules/typeorm/find-options/equaloperator.d.ts","../node_modules/typeorm/find-options/findoptionswhere.d.ts","../node_modules/typeorm/find-options/findoptionsselect.d.ts","../node_modules/typeorm/find-options/findoptionsrelations.d.ts","../node_modules/typeorm/find-options/findoptionsorder.d.ts","../node_modules/typeorm/find-options/findoneoptions.d.ts","../node_modules/typeorm/find-options/findmanyoptions.d.ts","../node_modules/typeorm/common/deeppartial.d.ts","../node_modules/typeorm/repository/saveoptions.d.ts","../node_modules/typeorm/repository/removeoptions.d.ts","../node_modules/typeorm/find-options/mongodb/mongofindoneoptions.d.ts","../node_modules/typeorm/find-options/mongodb/mongofindmanyoptions.d.ts","../node_modules/typeorm/schema-builder/options/tableuniqueoptions.d.ts","../node_modules/typeorm/schema-builder/table/tableunique.d.ts","../node_modules/typeorm/subscriber/broadcasterresult.d.ts","../node_modules/typeorm/subscriber/event/transactioncommitevent.d.ts","../node_modules/typeorm/subscriber/event/transactionrollbackevent.d.ts","../node_modules/typeorm/subscriber/event/transactionstartevent.d.ts","../node_modules/typeorm/subscriber/event/updateevent.d.ts","../node_modules/typeorm/subscriber/event/removeevent.d.ts","../node_modules/typeorm/subscriber/event/insertevent.d.ts","../node_modules/typeorm/subscriber/event/loadevent.d.ts","../node_modules/typeorm/subscriber/event/softremoveevent.d.ts","../node_modules/typeorm/subscriber/event/recoverevent.d.ts","../node_modules/typeorm/subscriber/event/queryevent.d.ts","../node_modules/typeorm/subscriber/entitysubscriberinterface.d.ts","../node_modules/typeorm/subscriber/broadcaster.d.ts","../node_modules/typeorm/schema-builder/options/tablecheckoptions.d.ts","../node_modules/typeorm/metadata-args/checkmetadataargs.d.ts","../node_modules/typeorm/metadata/checkmetadata.d.ts","../node_modules/typeorm/schema-builder/table/tablecheck.d.ts","../node_modules/typeorm/schema-builder/options/tableexclusionoptions.d.ts","../node_modules/typeorm/metadata-args/exclusionmetadataargs.d.ts","../node_modules/typeorm/metadata/exclusionmetadata.d.ts","../node_modules/typeorm/schema-builder/table/tableexclusion.d.ts","../node_modules/typeorm/driver/mongodb/mongoqueryrunner.d.ts","../node_modules/typeorm/query-builder/querypartialentity.d.ts","../node_modules/typeorm/query-runner/queryresult.d.ts","../node_modules/typeorm/query-builder/result/insertresult.d.ts","../node_modules/typeorm/query-builder/result/updateresult.d.ts","../node_modules/typeorm/query-builder/result/deleteresult.d.ts","../node_modules/typeorm/entity-manager/mongoentitymanager.d.ts","../node_modules/typeorm/repository/mongorepository.d.ts","../node_modules/typeorm/find-options/findtreeoptions.d.ts","../node_modules/typeorm/repository/treerepository.d.ts","../node_modules/typeorm/query-builder/transformer/plainobjecttonewentitytransformer.d.ts","../node_modules/typeorm/driver/types/isolationlevel.d.ts","../node_modules/typeorm/query-builder/whereexpressionbuilder.d.ts","../node_modules/typeorm/query-builder/brackets.d.ts","../node_modules/typeorm/query-builder/insertorupdateoptions.d.ts","../node_modules/typeorm/repository/upsertoptions.d.ts","../node_modules/typeorm/common/pickkeysbytype.d.ts","../node_modules/typeorm/entity-manager/entitymanager.d.ts","../node_modules/typeorm/repository/repository.d.ts","../node_modules/typeorm/migration/migrationinterface.d.ts","../node_modules/typeorm/migration/migration.d.ts","../node_modules/typeorm/driver/cockroachdb/cockroachconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/cockroachdb/cockroachconnectionoptions.d.ts","../node_modules/typeorm/driver/mysql/mysqlconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/mysql/mysqlconnectionoptions.d.ts","../node_modules/typeorm/driver/postgres/postgresconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/postgres/postgresconnectionoptions.d.ts","../node_modules/typeorm/driver/sqlite/sqliteconnectionoptions.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/defaultauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectoryaccesstokenauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectorydefaultauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectorymsiappserviceauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectorymsivmauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectorypasswordauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectoryserviceprincipalsecret.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/ntlmauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/sqlserverconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/sqlserver/sqlserverconnectionoptions.d.ts","../node_modules/typeorm/driver/oracle/oracleconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/oracle/oracleconnectionoptions.d.ts","../node_modules/typeorm/driver/mongodb/mongoconnectionoptions.d.ts","../node_modules/typeorm/driver/cordova/cordovaconnectionoptions.d.ts","../node_modules/typeorm/driver/sqljs/sqljsconnectionoptions.d.ts","../node_modules/typeorm/driver/react-native/reactnativeconnectionoptions.d.ts","../node_modules/typeorm/driver/nativescript/nativescriptconnectionoptions.d.ts","../node_modules/typeorm/driver/expo/expoconnectionoptions.d.ts","../node_modules/typeorm/driver/aurora-mysql/auroramysqlconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/aurora-mysql/auroramysqlconnectionoptions.d.ts","../node_modules/typeorm/driver/sap/sapconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/sap/sapconnectionoptions.d.ts","../node_modules/typeorm/driver/aurora-postgres/aurorapostgresconnectionoptions.d.ts","../node_modules/typeorm/driver/better-sqlite3/bettersqlite3connectionoptions.d.ts","../node_modules/typeorm/driver/capacitor/capacitorconnectionoptions.d.ts","../node_modules/typeorm/connection/baseconnectionoptions.d.ts","../node_modules/typeorm/driver/spanner/spannerconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/spanner/spannerconnectionoptions.d.ts","../node_modules/typeorm/data-source/datasourceoptions.d.ts","../node_modules/typeorm/entity-manager/sqljsentitymanager.d.ts","../node_modules/typeorm/query-builder/relationloader.d.ts","../node_modules/typeorm/query-builder/relationidloader.d.ts","../node_modules/typeorm/data-source/datasource.d.ts","../node_modules/typeorm/metadata-args/tablemetadataargs.d.ts","../node_modules/typeorm/metadata/entitymetadata.d.ts","../node_modules/typeorm/metadata-args/indexmetadataargs.d.ts","../node_modules/typeorm/metadata/indexmetadata.d.ts","../node_modules/typeorm/schema-builder/options/tableindexoptions.d.ts","../node_modules/typeorm/schema-builder/table/tableindex.d.ts","../node_modules/typeorm/schema-builder/options/tableoptions.d.ts","../node_modules/typeorm/schema-builder/table/table.d.ts","../node_modules/typeorm/query-runner/queryrunner.d.ts","../node_modules/typeorm/query-builder/querybuildercte.d.ts","../node_modules/typeorm/query-builder/alias.d.ts","../node_modules/typeorm/query-builder/joinattribute.d.ts","../node_modules/typeorm/query-builder/relation-id/relationidattribute.d.ts","../node_modules/typeorm/query-builder/relation-count/relationcountattribute.d.ts","../node_modules/typeorm/query-builder/selectquery.d.ts","../node_modules/typeorm/query-builder/selectquerybuilderoption.d.ts","../node_modules/typeorm/query-builder/whereclause.d.ts","../node_modules/typeorm/query-builder/queryexpressionmap.d.ts","../node_modules/typeorm/query-builder/updatequerybuilder.d.ts","../node_modules/typeorm/query-builder/deletequerybuilder.d.ts","../node_modules/typeorm/query-builder/softdeletequerybuilder.d.ts","../node_modules/typeorm/query-builder/insertquerybuilder.d.ts","../node_modules/typeorm/query-builder/relationquerybuilder.d.ts","../node_modules/typeorm/query-builder/notbrackets.d.ts","../node_modules/typeorm/query-builder/querybuilder.d.ts","../node_modules/typeorm/query-builder/selectquerybuilder.d.ts","../node_modules/typeorm/metadata-args/relationcountmetadataargs.d.ts","../node_modules/typeorm/metadata-args/namingstrategymetadataargs.d.ts","../node_modules/typeorm/metadata-args/joincolumnmetadataargs.d.ts","../node_modules/typeorm/metadata-args/jointablemetadataargs.d.ts","../node_modules/typeorm/metadata-args/entitysubscribermetadataargs.d.ts","../node_modules/typeorm/metadata-args/inheritancemetadataargs.d.ts","../node_modules/typeorm/metadata-args/discriminatorvaluemetadataargs.d.ts","../node_modules/typeorm/metadata-args/entityrepositorymetadataargs.d.ts","../node_modules/typeorm/metadata-args/transactionentitymetadataargs.d.ts","../node_modules/typeorm/metadata-args/transactionrepositorymetadataargs.d.ts","../node_modules/typeorm/metadata-args/generatedmetadataargs.d.ts","../node_modules/typeorm/metadata-args/foreignkeymetadataargs.d.ts","../node_modules/typeorm/metadata-args/metadataargsstorage.d.ts","../node_modules/typeorm/connection/connectionmanager.d.ts","../node_modules/typeorm/globals.d.ts","../node_modules/typeorm/container.d.ts","../node_modules/typeorm/common/relationtype.d.ts","../node_modules/typeorm/error/typeormerror.d.ts","../node_modules/typeorm/error/cannotreflectmethodparametertypeerror.d.ts","../node_modules/typeorm/error/alreadyhasactiveconnectionerror.d.ts","../node_modules/typeorm/persistence/subjectchangemap.d.ts","../node_modules/typeorm/persistence/subject.d.ts","../node_modules/typeorm/error/subjectwithoutidentifiererror.d.ts","../node_modules/typeorm/error/cannotconnectalreadyconnectederror.d.ts","../node_modules/typeorm/error/locknotsupportedongivendrivererror.d.ts","../node_modules/typeorm/error/connectionisnotseterror.d.ts","../node_modules/typeorm/error/cannotcreateentityidmaperror.d.ts","../node_modules/typeorm/error/metadataalreadyexistserror.d.ts","../node_modules/typeorm/error/cannotdetermineentityerror.d.ts","../node_modules/typeorm/error/updatevaluesmissingerror.d.ts","../node_modules/typeorm/error/treerepositorynotsupportederror.d.ts","../node_modules/typeorm/error/customrepositorynotfounderror.d.ts","../node_modules/typeorm/error/transactionnotstartederror.d.ts","../node_modules/typeorm/error/transactionalreadystartederror.d.ts","../node_modules/typeorm/error/entitynotfounderror.d.ts","../node_modules/typeorm/error/entitymetadatanotfounderror.d.ts","../node_modules/typeorm/error/mustbeentityerror.d.ts","../node_modules/typeorm/error/optimisticlockversionmismatcherror.d.ts","../node_modules/typeorm/error/limitonupdatenotsupportederror.d.ts","../node_modules/typeorm/error/primarycolumncannotbenullableerror.d.ts","../node_modules/typeorm/error/customrepositorycannotinheritrepositoryerror.d.ts","../node_modules/typeorm/error/queryrunnerprovideralreadyreleasederror.d.ts","../node_modules/typeorm/error/cannotattachtreechildrenentityerror.d.ts","../node_modules/typeorm/error/customrepositorydoesnothaveentityerror.d.ts","../node_modules/typeorm/error/missingdeletedatecolumnerror.d.ts","../node_modules/typeorm/error/noconnectionforrepositoryerror.d.ts","../node_modules/typeorm/error/circularrelationserror.d.ts","../node_modules/typeorm/error/returningstatementnotsupportederror.d.ts","../node_modules/typeorm/error/usingjointableisnotallowederror.d.ts","../node_modules/typeorm/error/missingjoincolumnerror.d.ts","../node_modules/typeorm/error/missingprimarycolumnerror.d.ts","../node_modules/typeorm/error/entitypropertynotfounderror.d.ts","../node_modules/typeorm/error/missingdrivererror.d.ts","../node_modules/typeorm/error/driverpackagenotinstallederror.d.ts","../node_modules/typeorm/error/cannotgetentitymanagernotconnectederror.d.ts","../node_modules/typeorm/error/connectionnotfounderror.d.ts","../node_modules/typeorm/error/noversionorupdatedatecolumnerror.d.ts","../node_modules/typeorm/error/insertvaluesmissingerror.d.ts","../node_modules/typeorm/error/optimisticlockcannotbeusederror.d.ts","../node_modules/typeorm/error/metadatawithsuchnamealreadyexistserror.d.ts","../node_modules/typeorm/error/driveroptionnotseterror.d.ts","../node_modules/typeorm/error/findrelationsnotfounderror.d.ts","../node_modules/typeorm/error/pessimisticlocktransactionrequirederror.d.ts","../node_modules/typeorm/error/repositorynottreeerror.d.ts","../node_modules/typeorm/error/datatypenotsupportederror.d.ts","../node_modules/typeorm/error/initializedrelationerror.d.ts","../node_modules/typeorm/error/missingjointableerror.d.ts","../node_modules/typeorm/error/queryfailederror.d.ts","../node_modules/typeorm/error/noneedtoreleaseentitymanagererror.d.ts","../node_modules/typeorm/error/usingjoincolumnonlyononesideallowederror.d.ts","../node_modules/typeorm/error/usingjointableonlyononesideallowederror.d.ts","../node_modules/typeorm/error/subjectremovedandupdatederror.d.ts","../node_modules/typeorm/error/persistedentitynotfounderror.d.ts","../node_modules/typeorm/error/usingjoincolumnisnotallowederror.d.ts","../node_modules/typeorm/error/columntypeundefinederror.d.ts","../node_modules/typeorm/error/queryrunneralreadyreleasederror.d.ts","../node_modules/typeorm/error/offsetwithoutlimitnotsupportederror.d.ts","../node_modules/typeorm/error/cannotexecutenotconnectederror.d.ts","../node_modules/typeorm/error/noconnectionoptionerror.d.ts","../node_modules/typeorm/error/forbiddentransactionmodeoverrideerror.d.ts","../node_modules/typeorm/error/index.d.ts","../node_modules/typeorm/decorator/options/columnembeddedoptions.d.ts","../node_modules/typeorm/decorator/options/columnenumoptions.d.ts","../node_modules/typeorm/decorator/options/columnhstoreoptions.d.ts","../node_modules/typeorm/decorator/options/columnnumericoptions.d.ts","../node_modules/typeorm/decorator/options/columnunsignedoptions.d.ts","../node_modules/typeorm/decorator/options/columnwithlengthoptions.d.ts","../node_modules/typeorm/decorator/columns/column.d.ts","../node_modules/typeorm/decorator/columns/createdatecolumn.d.ts","../node_modules/typeorm/decorator/columns/deletedatecolumn.d.ts","../node_modules/typeorm/decorator/options/primarygeneratedcolumnnumericoptions.d.ts","../node_modules/typeorm/decorator/options/primarygeneratedcolumnuuidoptions.d.ts","../node_modules/typeorm/decorator/options/primarygeneratedcolumnidentityoptions.d.ts","../node_modules/typeorm/decorator/columns/primarygeneratedcolumn.d.ts","../node_modules/typeorm/decorator/columns/primarycolumn.d.ts","../node_modules/typeorm/decorator/columns/updatedatecolumn.d.ts","../node_modules/typeorm/decorator/columns/versioncolumn.d.ts","../node_modules/typeorm/decorator/options/virtualcolumnoptions.d.ts","../node_modules/typeorm/decorator/columns/virtualcolumn.d.ts","../node_modules/typeorm/decorator/options/viewcolumnoptions.d.ts","../node_modules/typeorm/decorator/columns/viewcolumn.d.ts","../node_modules/typeorm/decorator/columns/objectidcolumn.d.ts","../node_modules/typeorm/decorator/listeners/afterinsert.d.ts","../node_modules/typeorm/decorator/listeners/afterload.d.ts","../node_modules/typeorm/decorator/listeners/afterremove.d.ts","../node_modules/typeorm/decorator/listeners/aftersoftremove.d.ts","../node_modules/typeorm/decorator/listeners/afterrecover.d.ts","../node_modules/typeorm/decorator/listeners/afterupdate.d.ts","../node_modules/typeorm/decorator/listeners/beforeinsert.d.ts","../node_modules/typeorm/decorator/listeners/beforeremove.d.ts","../node_modules/typeorm/decorator/listeners/beforesoftremove.d.ts","../node_modules/typeorm/decorator/listeners/beforerecover.d.ts","../node_modules/typeorm/decorator/listeners/beforeupdate.d.ts","../node_modules/typeorm/decorator/listeners/eventsubscriber.d.ts","../node_modules/typeorm/decorator/options/indexoptions.d.ts","../node_modules/typeorm/decorator/options/entityoptions.d.ts","../node_modules/typeorm/decorator/relations/joincolumn.d.ts","../node_modules/typeorm/decorator/relations/jointable.d.ts","../node_modules/typeorm/decorator/relations/manytomany.d.ts","../node_modules/typeorm/decorator/relations/manytoone.d.ts","../node_modules/typeorm/decorator/relations/onetomany.d.ts","../node_modules/typeorm/decorator/relations/onetoone.d.ts","../node_modules/typeorm/decorator/relations/relationcount.d.ts","../node_modules/typeorm/decorator/relations/relationid.d.ts","../node_modules/typeorm/decorator/entity/entity.d.ts","../node_modules/typeorm/decorator/entity/childentity.d.ts","../node_modules/typeorm/decorator/entity/tableinheritance.d.ts","../node_modules/typeorm/decorator/options/viewentityoptions.d.ts","../node_modules/typeorm/decorator/entity-view/viewentity.d.ts","../node_modules/typeorm/decorator/tree/treelevelcolumn.d.ts","../node_modules/typeorm/decorator/tree/treeparent.d.ts","../node_modules/typeorm/decorator/tree/treechildren.d.ts","../node_modules/typeorm/decorator/tree/tree.d.ts","../node_modules/typeorm/decorator/index.d.ts","../node_modules/typeorm/decorator/foreignkey.d.ts","../node_modules/typeorm/decorator/options/uniqueoptions.d.ts","../node_modules/typeorm/decorator/unique.d.ts","../node_modules/typeorm/decorator/check.d.ts","../node_modules/typeorm/decorator/exclusion.d.ts","../node_modules/typeorm/decorator/generated.d.ts","../node_modules/typeorm/decorator/entityrepository.d.ts","../node_modules/typeorm/find-options/operator/and.d.ts","../node_modules/typeorm/find-options/operator/or.d.ts","../node_modules/typeorm/find-options/operator/any.d.ts","../node_modules/typeorm/find-options/operator/arraycontainedby.d.ts","../node_modules/typeorm/find-options/operator/arraycontains.d.ts","../node_modules/typeorm/find-options/operator/arrayoverlap.d.ts","../node_modules/typeorm/find-options/operator/between.d.ts","../node_modules/typeorm/find-options/operator/equal.d.ts","../node_modules/typeorm/find-options/operator/in.d.ts","../node_modules/typeorm/find-options/operator/isnull.d.ts","../node_modules/typeorm/find-options/operator/lessthan.d.ts","../node_modules/typeorm/find-options/operator/lessthanorequal.d.ts","../node_modules/typeorm/find-options/operator/ilike.d.ts","../node_modules/typeorm/find-options/operator/like.d.ts","../node_modules/typeorm/find-options/operator/morethan.d.ts","../node_modules/typeorm/find-options/operator/morethanorequal.d.ts","../node_modules/typeorm/find-options/operator/not.d.ts","../node_modules/typeorm/find-options/operator/raw.d.ts","../node_modules/typeorm/find-options/operator/jsoncontains.d.ts","../node_modules/typeorm/find-options/findoptionsutils.d.ts","../node_modules/typeorm/logger/abstractlogger.d.ts","../node_modules/typeorm/logger/advancedconsolelogger.d.ts","../node_modules/typeorm/logger/formattedconsolelogger.d.ts","../node_modules/typeorm/logger/simpleconsolelogger.d.ts","../node_modules/typeorm/logger/filelogger.d.ts","../node_modules/typeorm/repository/abstractrepository.d.ts","../node_modules/typeorm/data-source/index.d.ts","../node_modules/typeorm/repository/baseentity.d.ts","../node_modules/typeorm/driver/sqlserver/mssqlparameter.d.ts","../node_modules/typeorm/connection/connectionoptionsreader.d.ts","../node_modules/typeorm/connection/connectionoptions.d.ts","../node_modules/typeorm/connection/connection.d.ts","../node_modules/typeorm/migration/migrationexecutor.d.ts","../node_modules/typeorm/naming-strategy/defaultnamingstrategy.d.ts","../node_modules/typeorm/naming-strategy/legacyoraclenamingstrategy.d.ts","../node_modules/typeorm/entity-schema/entityschemaembeddedcolumnoptions.d.ts","../node_modules/typeorm/schema-builder/rdbmsschemabuilder.d.ts","../node_modules/typeorm/util/instancechecker.d.ts","../node_modules/typeorm/repository/findtreesoptions.d.ts","../node_modules/typeorm/util/treerepositoryutils.d.ts","../node_modules/typeorm/index.d.ts","../node_modules/@nestjs/typeorm/dist/interfaces/entity-class-or-schema.type.d.ts","../node_modules/@nestjs/typeorm/dist/common/typeorm.decorators.d.ts","../node_modules/@nestjs/typeorm/dist/common/typeorm.utils.d.ts","../node_modules/@nestjs/typeorm/dist/common/index.d.ts","../node_modules/@nestjs/typeorm/dist/interfaces/typeorm-options.interface.d.ts","../node_modules/@nestjs/typeorm/dist/interfaces/index.d.ts","../node_modules/@nestjs/typeorm/dist/typeorm.module.d.ts","../node_modules/@nestjs/typeorm/dist/index.d.ts","../node_modules/@nestjs/typeorm/index.d.ts","../src/config/configuration.ts","../node_modules/class-transformer/types/interfaces/decorator-options/expose-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/exclude-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/transform-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/type-discriminator-descriptor.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/type-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/exclude-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/expose-metadata.interface.d.ts","../node_modules/class-transformer/types/enums/transformation-type.enum.d.ts","../node_modules/class-transformer/types/enums/index.d.ts","../node_modules/class-transformer/types/interfaces/target-map.interface.d.ts","../node_modules/class-transformer/types/interfaces/class-transformer-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/transform-fn-params.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/transform-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/type-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/class-constructor.type.d.ts","../node_modules/class-transformer/types/interfaces/type-help-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/index.d.ts","../node_modules/class-transformer/types/classtransformer.d.ts","../node_modules/class-transformer/types/decorators/exclude.decorator.d.ts","../node_modules/class-transformer/types/decorators/expose.decorator.d.ts","../node_modules/class-transformer/types/decorators/transform-instance-to-instance.decorator.d.ts","../node_modules/class-transformer/types/decorators/transform-instance-to-plain.decorator.d.ts","../node_modules/class-transformer/types/decorators/transform-plain-to-instance.decorator.d.ts","../node_modules/class-transformer/types/decorators/transform.decorator.d.ts","../node_modules/class-transformer/types/decorators/type.decorator.d.ts","../node_modules/class-transformer/types/decorators/index.d.ts","../node_modules/class-transformer/types/index.d.ts","../node_modules/class-validator/types/validation/validationerror.d.ts","../node_modules/class-validator/types/validation/validatoroptions.d.ts","../node_modules/class-validator/types/validation-schema/validationschema.d.ts","../node_modules/class-validator/types/container.d.ts","../node_modules/class-validator/types/validation/validationarguments.d.ts","../node_modules/class-validator/types/decorator/validationoptions.d.ts","../node_modules/class-validator/types/decorator/common/allow.d.ts","../node_modules/class-validator/types/decorator/common/isdefined.d.ts","../node_modules/class-validator/types/decorator/common/isoptional.d.ts","../node_modules/class-validator/types/decorator/common/validate.d.ts","../node_modules/class-validator/types/validation/validatorconstraintinterface.d.ts","../node_modules/class-validator/types/decorator/common/validateby.d.ts","../node_modules/class-validator/types/decorator/common/validateif.d.ts","../node_modules/class-validator/types/decorator/common/validatenested.d.ts","../node_modules/class-validator/types/decorator/common/validatepromise.d.ts","../node_modules/class-validator/types/decorator/common/islatlong.d.ts","../node_modules/class-validator/types/decorator/common/islatitude.d.ts","../node_modules/class-validator/types/decorator/common/islongitude.d.ts","../node_modules/class-validator/types/decorator/common/equals.d.ts","../node_modules/class-validator/types/decorator/common/notequals.d.ts","../node_modules/class-validator/types/decorator/common/isempty.d.ts","../node_modules/class-validator/types/decorator/common/isnotempty.d.ts","../node_modules/class-validator/types/decorator/common/isin.d.ts","../node_modules/class-validator/types/decorator/common/isnotin.d.ts","../node_modules/class-validator/types/decorator/number/isdivisibleby.d.ts","../node_modules/class-validator/types/decorator/number/ispositive.d.ts","../node_modules/class-validator/types/decorator/number/isnegative.d.ts","../node_modules/class-validator/types/decorator/number/max.d.ts","../node_modules/class-validator/types/decorator/number/min.d.ts","../node_modules/class-validator/types/decorator/date/mindate.d.ts","../node_modules/class-validator/types/decorator/date/maxdate.d.ts","../node_modules/class-validator/types/decorator/string/contains.d.ts","../node_modules/class-validator/types/decorator/string/notcontains.d.ts","../node_modules/@types/validator/lib/isboolean.d.ts","../node_modules/@types/validator/lib/isemail.d.ts","../node_modules/@types/validator/lib/isfqdn.d.ts","../node_modules/@types/validator/lib/isiban.d.ts","../node_modules/@types/validator/lib/isiso31661alpha2.d.ts","../node_modules/@types/validator/lib/isiso4217.d.ts","../node_modules/@types/validator/lib/isiso6391.d.ts","../node_modules/@types/validator/lib/istaxid.d.ts","../node_modules/@types/validator/lib/isurl.d.ts","../node_modules/@types/validator/index.d.ts","../node_modules/class-validator/types/decorator/string/isalpha.d.ts","../node_modules/class-validator/types/decorator/string/isalphanumeric.d.ts","../node_modules/class-validator/types/decorator/string/isdecimal.d.ts","../node_modules/class-validator/types/decorator/string/isascii.d.ts","../node_modules/class-validator/types/decorator/string/isbase64.d.ts","../node_modules/class-validator/types/decorator/string/isbytelength.d.ts","../node_modules/class-validator/types/decorator/string/iscreditcard.d.ts","../node_modules/class-validator/types/decorator/string/iscurrency.d.ts","../node_modules/class-validator/types/decorator/string/isemail.d.ts","../node_modules/class-validator/types/decorator/string/isfqdn.d.ts","../node_modules/class-validator/types/decorator/string/isfullwidth.d.ts","../node_modules/class-validator/types/decorator/string/ishalfwidth.d.ts","../node_modules/class-validator/types/decorator/string/isvariablewidth.d.ts","../node_modules/class-validator/types/decorator/string/ishexcolor.d.ts","../node_modules/class-validator/types/decorator/string/ishexadecimal.d.ts","../node_modules/class-validator/types/decorator/string/ismacaddress.d.ts","../node_modules/class-validator/types/decorator/string/isip.d.ts","../node_modules/class-validator/types/decorator/string/isport.d.ts","../node_modules/class-validator/types/decorator/string/isisbn.d.ts","../node_modules/class-validator/types/decorator/string/isisin.d.ts","../node_modules/class-validator/types/decorator/string/isiso8601.d.ts","../node_modules/class-validator/types/decorator/string/isjson.d.ts","../node_modules/class-validator/types/decorator/string/isjwt.d.ts","../node_modules/class-validator/types/decorator/string/islowercase.d.ts","../node_modules/class-validator/types/decorator/string/ismobilephone.d.ts","../node_modules/class-validator/types/decorator/string/isiso31661alpha2.d.ts","../node_modules/class-validator/types/decorator/string/isiso31661alpha3.d.ts","../node_modules/class-validator/types/decorator/string/ismongoid.d.ts","../node_modules/class-validator/types/decorator/string/ismultibyte.d.ts","../node_modules/class-validator/types/decorator/string/issurrogatepair.d.ts","../node_modules/class-validator/types/decorator/string/isurl.d.ts","../node_modules/class-validator/types/decorator/string/isuuid.d.ts","../node_modules/class-validator/types/decorator/string/isfirebasepushid.d.ts","../node_modules/class-validator/types/decorator/string/isuppercase.d.ts","../node_modules/class-validator/types/decorator/string/length.d.ts","../node_modules/class-validator/types/decorator/string/maxlength.d.ts","../node_modules/class-validator/types/decorator/string/minlength.d.ts","../node_modules/class-validator/types/decorator/string/matches.d.ts","../node_modules/libphonenumber-js/types.d.cts","../node_modules/libphonenumber-js/max/index.d.cts","../node_modules/class-validator/types/decorator/string/isphonenumber.d.ts","../node_modules/class-validator/types/decorator/string/ismilitarytime.d.ts","../node_modules/class-validator/types/decorator/string/ishash.d.ts","../node_modules/class-validator/types/decorator/string/isissn.d.ts","../node_modules/class-validator/types/decorator/string/isdatestring.d.ts","../node_modules/class-validator/types/decorator/string/isbooleanstring.d.ts","../node_modules/class-validator/types/decorator/string/isnumberstring.d.ts","../node_modules/class-validator/types/decorator/string/isbase32.d.ts","../node_modules/class-validator/types/decorator/string/isbic.d.ts","../node_modules/class-validator/types/decorator/string/isbtcaddress.d.ts","../node_modules/class-validator/types/decorator/string/isdatauri.d.ts","../node_modules/class-validator/types/decorator/string/isean.d.ts","../node_modules/class-validator/types/decorator/string/isethereumaddress.d.ts","../node_modules/class-validator/types/decorator/string/ishsl.d.ts","../node_modules/class-validator/types/decorator/string/isiban.d.ts","../node_modules/class-validator/types/decorator/string/isidentitycard.d.ts","../node_modules/class-validator/types/decorator/string/isisrc.d.ts","../node_modules/class-validator/types/decorator/string/islocale.d.ts","../node_modules/class-validator/types/decorator/string/ismagneturi.d.ts","../node_modules/class-validator/types/decorator/string/ismimetype.d.ts","../node_modules/class-validator/types/decorator/string/isoctal.d.ts","../node_modules/class-validator/types/decorator/string/ispassportnumber.d.ts","../node_modules/class-validator/types/decorator/string/ispostalcode.d.ts","../node_modules/class-validator/types/decorator/string/isrfc3339.d.ts","../node_modules/class-validator/types/decorator/string/isrgbcolor.d.ts","../node_modules/class-validator/types/decorator/string/issemver.d.ts","../node_modules/class-validator/types/decorator/string/isstrongpassword.d.ts","../node_modules/class-validator/types/decorator/string/istimezone.d.ts","../node_modules/class-validator/types/decorator/string/isbase58.d.ts","../node_modules/class-validator/types/decorator/string/is-tax-id.d.ts","../node_modules/class-validator/types/decorator/string/is-iso4217-currency-code.d.ts","../node_modules/class-validator/types/decorator/typechecker/isboolean.d.ts","../node_modules/class-validator/types/decorator/typechecker/isdate.d.ts","../node_modules/class-validator/types/decorator/typechecker/isnumber.d.ts","../node_modules/class-validator/types/decorator/typechecker/isenum.d.ts","../node_modules/class-validator/types/decorator/typechecker/isint.d.ts","../node_modules/class-validator/types/decorator/typechecker/isstring.d.ts","../node_modules/class-validator/types/decorator/typechecker/isarray.d.ts","../node_modules/class-validator/types/decorator/typechecker/isobject.d.ts","../node_modules/class-validator/types/decorator/array/arraycontains.d.ts","../node_modules/class-validator/types/decorator/array/arraynotcontains.d.ts","../node_modules/class-validator/types/decorator/array/arraynotempty.d.ts","../node_modules/class-validator/types/decorator/array/arrayminsize.d.ts","../node_modules/class-validator/types/decorator/array/arraymaxsize.d.ts","../node_modules/class-validator/types/decorator/array/arrayunique.d.ts","../node_modules/class-validator/types/decorator/object/isnotemptyobject.d.ts","../node_modules/class-validator/types/decorator/object/isinstance.d.ts","../node_modules/class-validator/types/decorator/decorators.d.ts","../node_modules/class-validator/types/validation/validationtypes.d.ts","../node_modules/class-validator/types/validation/validator.d.ts","../node_modules/class-validator/types/register-decorator.d.ts","../node_modules/class-validator/types/metadata/validationmetadataargs.d.ts","../node_modules/class-validator/types/metadata/validationmetadata.d.ts","../node_modules/class-validator/types/metadata/constraintmetadata.d.ts","../node_modules/class-validator/types/metadata/metadatastorage.d.ts","../node_modules/class-validator/types/index.d.ts","../src/config/env.validation.ts","../src/modules/auth/entities/auth-otp.entity.ts","../src/modules/users/enums/user-role.enum.ts","../src/modules/users/enums/user-level.enum.ts","../src/modules/users/entities/user-level-history.entity.ts","../src/modules/users/entities/loyalty-profile.entity.ts","../src/modules/users/entities/wallet-transaction.entity.ts","../src/modules/users/entities/wallet.entity.ts","../src/modules/users/entities/user.entity.ts","../src/modules/auth/entities/user-session.entity.ts","../src/modules/catalog/enums/attribute-data-type.enum.ts","../src/modules/catalog/enums/product-status.enum.ts","../src/modules/catalog/enums/product-type.enum.ts","../src/modules/catalog/entities/brand.entity.ts","../src/modules/catalog/entities/category.entity.ts","../src/modules/catalog/entities/product-meta.entity.ts","../src/modules/catalog/entities/product-review.entity.ts","../src/modules/catalog/entities/product.entity.ts","../src/modules/catalog/entities/product-attribute-value.entity.ts","../src/modules/catalog/entities/attribute-definition.entity.ts","../src/modules/media/enums/media-section.enum.ts","../src/modules/media/entities/media-asset.entity.ts","../src/config/typeorm.config.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/jsonwebtoken/index.d.ts","../node_modules/@nestjs/jwt/dist/interfaces/jwt-module-options.interface.d.ts","../node_modules/@nestjs/jwt/dist/interfaces/index.d.ts","../node_modules/@nestjs/jwt/dist/jwt.errors.d.ts","../node_modules/@nestjs/jwt/dist/jwt.module.d.ts","../node_modules/@nestjs/jwt/dist/jwt.service.d.ts","../node_modules/@nestjs/jwt/dist/index.d.ts","../node_modules/@nestjs/jwt/index.d.ts","../node_modules/@nestjs/passport/dist/abstract.strategy.d.ts","../node_modules/@nestjs/passport/dist/interfaces/auth-module.options.d.ts","../node_modules/@nestjs/passport/dist/interfaces/type.interface.d.ts","../node_modules/@nestjs/passport/dist/interfaces/index.d.ts","../node_modules/@nestjs/passport/dist/auth.guard.d.ts","../node_modules/@nestjs/passport/dist/passport.module.d.ts","../node_modules/@types/send/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/http-errors/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/express/index.d.ts","../node_modules/@types/passport/index.d.ts","../node_modules/@nestjs/passport/dist/passport/passport.serializer.d.ts","../node_modules/@nestjs/passport/dist/passport/passport.strategy.d.ts","../node_modules/@nestjs/passport/dist/index.d.ts","../node_modules/@nestjs/passport/index.d.ts","../src/common/decorators/permissions.decorator.ts","../src/common/decorators/roles.decorator.ts","../node_modules/@nestjs/core/adapters/http-adapter.d.ts","../node_modules/@nestjs/core/adapters/index.d.ts","../node_modules/@nestjs/core/inspector/interfaces/edge.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/entrypoint.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/extras.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/node.interface.d.ts","../node_modules/@nestjs/core/injector/settlement-signal.d.ts","../node_modules/@nestjs/core/injector/injector.d.ts","../node_modules/@nestjs/core/inspector/interfaces/serialized-graph-metadata.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/serialized-graph-json.interface.d.ts","../node_modules/@nestjs/core/inspector/serialized-graph.d.ts","../node_modules/@nestjs/core/injector/opaque-key-factory/interfaces/module-opaque-key-factory.interface.d.ts","../node_modules/@nestjs/core/injector/compiler.d.ts","../node_modules/@nestjs/core/injector/modules-container.d.ts","../node_modules/@nestjs/core/injector/container.d.ts","../node_modules/@nestjs/core/injector/instance-links-host.d.ts","../node_modules/@nestjs/core/injector/abstract-instance-resolver.d.ts","../node_modules/@nestjs/core/injector/module-ref.d.ts","../node_modules/@nestjs/core/injector/module.d.ts","../node_modules/@nestjs/core/injector/instance-wrapper.d.ts","../node_modules/@nestjs/core/router/interfaces/exclude-route-metadata.interface.d.ts","../node_modules/@nestjs/core/application-config.d.ts","../node_modules/@nestjs/core/constants.d.ts","../node_modules/@nestjs/core/discovery/discovery-module.d.ts","../node_modules/@nestjs/core/discovery/discovery-service.d.ts","../node_modules/@nestjs/core/discovery/index.d.ts","../node_modules/@nestjs/core/helpers/http-adapter-host.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/index.d.ts","../node_modules/@nestjs/core/helpers/context-id-factory.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter-metadata.interface.d.ts","../node_modules/@nestjs/core/exceptions/exceptions-handler.d.ts","../node_modules/@nestjs/core/router/router-proxy.d.ts","../node_modules/@nestjs/core/helpers/context-creator.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter-context.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/index.d.ts","../node_modules/@nestjs/core/exceptions/external-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/external-exceptions-handler.d.ts","../node_modules/@nestjs/core/exceptions/external-exception-filter-context.d.ts","../node_modules/@nestjs/core/guards/constants.d.ts","../node_modules/@nestjs/core/helpers/execution-context-host.d.ts","../node_modules/@nestjs/core/guards/guards-consumer.d.ts","../node_modules/@nestjs/core/guards/guards-context-creator.d.ts","../node_modules/@nestjs/core/guards/index.d.ts","../node_modules/@nestjs/core/interceptors/interceptors-consumer.d.ts","../node_modules/@nestjs/core/interceptors/interceptors-context-creator.d.ts","../node_modules/@nestjs/core/interceptors/index.d.ts","../node_modules/@nestjs/common/enums/route-paramtypes.enum.d.ts","../node_modules/@nestjs/core/pipes/params-token-factory.d.ts","../node_modules/@nestjs/core/pipes/pipes-consumer.d.ts","../node_modules/@nestjs/core/pipes/pipes-context-creator.d.ts","../node_modules/@nestjs/core/pipes/index.d.ts","../node_modules/@nestjs/core/helpers/context-utils.d.ts","../node_modules/@nestjs/core/injector/inquirer/inquirer-constants.d.ts","../node_modules/@nestjs/core/injector/inquirer/index.d.ts","../node_modules/@nestjs/core/interfaces/module-definition.interface.d.ts","../node_modules/@nestjs/core/interfaces/module-override.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts","../node_modules/@nestjs/core/inspector/graph-inspector.d.ts","../node_modules/@nestjs/core/metadata-scanner.d.ts","../node_modules/@nestjs/core/scanner.d.ts","../node_modules/@nestjs/core/injector/instance-loader.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader-options.interface.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.d.ts","../node_modules/@nestjs/core/injector/index.d.ts","../node_modules/@nestjs/core/helpers/interfaces/external-handler-metadata.interface.d.ts","../node_modules/@nestjs/core/helpers/interfaces/params-metadata.interface.d.ts","../node_modules/@nestjs/core/helpers/external-context-creator.d.ts","../node_modules/@nestjs/core/helpers/index.d.ts","../node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.d.ts","../node_modules/@nestjs/core/inspector/partial-graph.host.d.ts","../node_modules/@nestjs/core/inspector/index.d.ts","../node_modules/@nestjs/core/middleware/route-info-path-extractor.d.ts","../node_modules/@nestjs/core/middleware/routes-mapper.d.ts","../node_modules/@nestjs/core/middleware/builder.d.ts","../node_modules/@nestjs/core/middleware/index.d.ts","../node_modules/@nestjs/core/nest-application-context.d.ts","../node_modules/@nestjs/core/nest-application.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-microservice-options.interface.d.ts","../node_modules/@nestjs/core/nest-factory.d.ts","../node_modules/@nestjs/core/repl/repl.d.ts","../node_modules/@nestjs/core/repl/index.d.ts","../node_modules/@nestjs/core/router/interfaces/routes.interface.d.ts","../node_modules/@nestjs/core/router/interfaces/index.d.ts","../node_modules/@nestjs/core/router/request/request-constants.d.ts","../node_modules/@nestjs/core/router/request/index.d.ts","../node_modules/@nestjs/core/router/router-module.d.ts","../node_modules/@nestjs/core/router/index.d.ts","../node_modules/@nestjs/core/services/reflector.service.d.ts","../node_modules/@nestjs/core/services/index.d.ts","../node_modules/@nestjs/core/index.d.ts","../src/modules/auth/interfaces/jwt-payload.interface.ts","../src/common/guards/permissions.guard.ts","../src/common/guards/roles.guard.ts","../node_modules/@types/bcryptjs/index.d.ts","../src/modules/users/users.service.ts","../src/modules/auth/dto/login-password.dto.ts","../src/modules/auth/dto/register-password.dto.ts","../node_modules/axios/index.d.ts","../node_modules/soap/lib/nscontext.d.ts","../node_modules/soap/lib/wsdl/elements.d.ts","../node_modules/soap/lib/wsdl/index.d.ts","../node_modules/soap/lib/types.d.ts","../node_modules/soap/lib/client.d.ts","../node_modules/soap/lib/security/basicauthsecurity.d.ts","../node_modules/soap/lib/security/bearersecurity.d.ts","../node_modules/soap/lib/security/clientsslsecurity.d.ts","../node_modules/soap/lib/security/clientsslsecuritypfx.d.ts","../node_modules/soap/lib/security/ntlmsecurity.d.ts","../node_modules/soap/lib/security/wssecurity.d.ts","../node_modules/soap/lib/security/wssecuritycert.d.ts","../node_modules/soap/lib/security/wssecuritycertwithtoken.d.ts","../node_modules/soap/lib/security/wssecuritypluscert.d.ts","../node_modules/soap/lib/security/index.d.ts","../node_modules/soap/lib/server.d.ts","../node_modules/soap/lib/http.d.ts","../node_modules/soap/lib/utils.d.ts","../node_modules/soap/lib/soap.d.ts","../src/modules/auth/sms.service.ts","../src/modules/auth/auth.service.ts","../src/modules/auth/dto/refresh-token.dto.ts","../src/modules/auth/dto/request-otp.dto.ts","../src/modules/auth/dto/verify-otp.dto.ts","../src/modules/auth/guards/jwt-auth.guard.ts","../src/modules/auth/auth.controller.ts","../node_modules/@types/passport-strategy/index.d.ts","../node_modules/@types/passport-jwt/index.d.ts","../src/modules/auth/strategies/jwt.strategy.ts","../src/modules/users/users.module.ts","../src/modules/auth/auth.module.ts","../node_modules/minio/dist/main/internal/copy-conditions.d.ts","../node_modules/minio/dist/main/internal/type.d.ts","../node_modules/minio/dist/main/helpers.d.ts","../node_modules/minio/dist/main/credentials.d.ts","../node_modules/minio/dist/main/credentialprovider.d.ts","../node_modules/eventemitter3/index.d.ts","../node_modules/minio/dist/main/notification.d.ts","../node_modules/minio/dist/main/internal/extensions.d.ts","../node_modules/minio/dist/main/internal/post-policy.d.ts","../node_modules/minio/dist/main/internal/s3-endpoints.d.ts","../node_modules/minio/dist/main/internal/xml-parser.d.ts","../node_modules/minio/dist/main/internal/client.d.ts","../node_modules/minio/dist/main/errors.d.ts","../node_modules/minio/dist/main/iamawsprovider.d.ts","../node_modules/minio/dist/main/minio.d.ts","../src/modules/storage/storage.service.ts","../src/modules/storage/storage.module.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser-options.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/serve-static-options.interface.d.ts","../node_modules/@nestjs/platform-express/adapters/express-adapter.d.ts","../node_modules/@nestjs/platform-express/adapters/index.d.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-application.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/index.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/multer-options.interface.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/any-files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/file-fields.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/file.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/no-files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/index.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/files-upload-module.interface.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/index.d.ts","../node_modules/@nestjs/platform-express/multer/multer.module.d.ts","../node_modules/@nestjs/platform-express/multer/index.d.ts","../node_modules/@nestjs/platform-express/index.d.ts","../src/modules/media/dto/filter-media-assets.dto.ts","../src/common/utils/json-transform.util.ts","../src/modules/media/dto/upload-media.dto.ts","../src/modules/media/dto/update-media-asset.dto.ts","../src/modules/media/media.service.ts","../src/modules/media/media.controller.ts","../src/modules/media/media.module.ts","../src/modules/catalog/dto/check-product-slug.dto.ts","../src/modules/catalog/dto/product-attribute-input.dto.ts","../src/modules/catalog/dto/product-meta.dto.ts","../src/modules/catalog/dto/create-product.dto.ts","../src/modules/catalog/dto/filter-product-reviews.dto.ts","../src/modules/catalog/dto/filter-products.dto.ts","../src/modules/catalog/dto/moderate-product-review.dto.ts","../src/modules/catalog/dto/update-product.dto.ts","../src/modules/catalog/dto/create-attribute-definition.dto.ts","../src/modules/catalog/dto/create-product-review.dto.ts","../src/modules/catalog/dto/update-attribute-definition.dto.ts","../src/modules/catalog/products.service.ts","../src/modules/catalog/admin-products.controller.ts","../src/modules/catalog/attribute-definitions.controller.ts","../src/modules/catalog/dto/create-brand.dto.ts","../src/modules/catalog/dto/update-brand.dto.ts","../src/modules/catalog/brand.service.ts","../src/modules/catalog/brand.controller.ts","../src/modules/catalog/dto/create-category.dto.ts","../src/modules/catalog/dto/update-category.dto.ts","../src/modules/catalog/category.service.ts","../src/modules/catalog/category.controller.ts","../src/modules/catalog/products.controller.ts","../src/modules/catalog/catalog.module.ts","../src/app.module.ts","../src/common/interceptors/response.interceptor.ts","../src/main.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/eslint/use-at-your-own-risk.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@eslint/core/dist/esm/types.d.ts","../node_modules/eslint/lib/types/use-at-your-own-risk.d.ts","../node_modules/eslint/lib/types/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/multer/index.d.ts"],"fileIdsList":[[476,525,542,543,1404],[476,525,542,543],[316,476,525,542,543],[416,476,525,542,543],[65,317,318,319,320,321,322,323,324,325,326,327,328,329,476,525,542,543],[268,302,476,525,542,543],[275,476,525,542,543],[265,316,416,476,525,542,543],[334,335,336,337,338,339,340,342,476,525,542,543],[270,476,525,542,543],[316,416,476,525,542,543],[270,341,476,525,542,543],[330,333,343,476,525,542,543],[331,332,476,525,542,543],[306,476,525,542,543],[270,271,272,273,476,525,542,543],[346,476,525,542,543],[288,345,476,525,542,543],[345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,476,525,542,543],[375,476,525,542,543],[372,373,476,525,542,543],[371,374,476,525,542,543,557],[64,274,316,344,368,371,376,383,408,413,415,476,525,542,543],[70,268,476,525,542,543],[69,476,525,542,543],[70,260,261,476,525,542,543,1232,1237],[260,268,476,525,542,543],[69,259,476,525,542,543],[268,396,476,525,542,543],[262,398,476,525,542,543],[259,263,476,525,542,543],[263,476,525,542,543],[69,316,476,525,542,543],[267,268,476,525,542,543],[280,476,525,542,543],[282,283,284,285,286,476,525,542,543],[274,476,525,542,543],[274,275,294,476,525,542,543],[288,289,295,296,297,476,525,542,543],[66,67,68,69,70,260,261,262,263,264,265,266,267,268,269,275,280,281,287,294,298,299,300,302,310,311,312,313,314,315,476,525,542,543],[293,476,525,542,543],[276,277,278,279,476,525,542,543],[268,276,277,476,525,542,543],[268,274,275,476,525,542,543],[268,278,476,525,542,543],[268,306,476,525,542,543],[301,303,304,305,306,307,308,309,476,525,542,543],[66,268,476,525,542,543],[302,476,525,542,543],[66,268,301,305,307,476,525,542,543],[277,476,525,542,543],[303,476,525,542,543],[268,302,303,304,476,525,542,543],[292,476,525,542,543],[268,272,292,293,310,311,476,525,542,543],[290,291,293,476,525,542,543],[264,266,275,281,295,312,313,316,476,525,542,543],[70,259,264,266,269,312,313,476,525,542,543],[273,476,525,542,543],[259,476,525,542,543],[292,316,377,381,476,525,542,543],[381,382,476,525,542,543],[316,377,476,525,542,543],[316,377,378,476,525,542,543],[378,379,476,525,542,543],[378,379,380,476,525,542,543],[269,476,525,542,543],[386,387,388,476,525,542,543],[386,476,525,542,543],[388,389,390,392,393,394,476,525,542,543],[385,476,525,542,543],[388,391,476,525,542,543],[388,389,390,392,393,476,525,542,543],[269,386,388,392,476,525,542,543],[384,395,400,401,402,403,404,405,406,407,476,525,542,543],[269,316,400,476,525,542,543],[269,391,476,525,542,543],[269,391,416,476,525,542,543],[262,268,269,391,396,397,398,399,476,525,542,543],[259,316,396,397,409,476,525,542,543],[316,396,476,525,542,543],[411,476,525,542,543],[344,409,476,525,542,543],[409,410,412,476,525,542,543],[292,476,525,542,543,569],[292,369,370,476,525,542,543],[301,476,525,542,543],[274,316,476,525,542,543],[414,476,525,542,543],[416,476,525,542,543,578],[259,464,469,476,525,542,543],[463,469,476,525,542,543,578,579,580,583],[469,476,525,542,543],[470,476,525,542,543,576],[464,470,476,525,542,543,577],[465,466,467,468,476,525,542,543],[476,525,542,543,581,582],[469,476,525,542,543,578,584],[476,525,542,543,584],[294,316,416,476,525,542,543],[476,525,542,543,1202],[316,416,476,525,542,543,1221,1222],[341,476,525,542,543],[416,476,525,542,543,1215,1220,1221],[476,525,542,543,1225,1226],[70,316,476,525,542,543,1216,1221,1235],[416,476,525,542,543,1203,1228],[69,416,476,525,542,543,1229,1232],[316,476,525,542,543,1216,1221,1223,1234,1236,1240],[69,476,525,542,543,1238,1239],[476,525,542,543,1229],[259,316,416,476,525,542,543,1243],[316,416,476,525,542,543,1216,1221,1223,1235],[476,525,542,543,1242,1244,1245],[316,476,525,542,543,1221],[476,525,542,543,1221],[316,416,476,525,542,543,1243],[69,316,416,476,525,542,543],[316,416,476,525,542,543,1215,1216,1221,1241,1243,1246,1249,1254,1255,1268,1269],[259,476,525,542,543,1202],[476,525,542,543,1228,1231,1270],[476,525,542,543,1255,1267],[64,476,525,542,543,1203,1223,1224,1227,1230,1262,1267,1271,1274,1278,1279,1280,1282,1284,1290,1292],[316,416,476,525,542,543,1209,1217,1220,1221],[316,476,525,542,543,1213],[293,316,341,416,476,525,542,543,1212,1213,1214,1215,1220,1221,1223,1293],[476,525,542,543,1215,1216,1219,1221,1257,1266],[316,416,476,525,542,543,1208,1220,1221],[476,525,542,543,1256],[416,476,525,542,543,1216,1221],[416,476,525,542,543,1209,1216,1220,1261],[316,341,416,476,525,542,543,1208,1220],[416,476,525,542,543,1214,1215,1219,1259,1263,1264,1265],[416,476,525,542,543,1209,1216,1217,1218,1220,1221],[316,341,476,525,542,543,1216,1219,1221],[259,476,525,542,543,1220],[268,301,307,476,525,542,543],[476,525,542,543,1205,1206,1207,1216,1220,1221,1260],[476,525,542,543,1212,1261,1272,1273],[341,416,476,525,542,543,1221],[341,416,476,525,542,543],[476,525,542,543,1204,1205,1206,1207,1210,1212],[476,525,542,543,1209],[476,525,542,543,1211,1212],[416,476,525,542,543,1204,1205,1206,1207,1210,1211],[476,525,542,543,1247,1248],[316,476,525,542,543,1216,1221,1223,1235],[476,525,542,543,1258],[299,476,525,542,543],[280,316,476,525,542,543,1275,1276],[476,525,542,543,1277],[316,476,525,542,543,1223],[316,476,525,542,543,1216,1223],[293,316,416,476,525,542,543,1209,1216,1217,1218,1220,1221],[292,316,416,476,525,542,543,1203,1216,1223,1261,1279],[293,294,416,476,525,542,543,1202,1281],[476,525,542,543,1251,1252,1253],[416,476,525,542,543,1250],[476,525,542,543,1283],[416,476,525,542,543,554],[476,525,542,543,1286,1288,1289],[476,525,542,543,1285],[476,525,542,543,1287],[416,476,525,542,543,1215,1220,1286],[476,525,542,543,1233],[316,341,416,476,525,542,543,1216,1220,1221,1223,1258,1259,1261,1262],[476,525,542,543,1291],[476,525,542,543,1172,1174,1175,1176,1177],[476,525,542,543,1173],[416,476,525,542,543,1172],[416,476,525,542,543,1173],[476,525,542,543,1172,1174],[476,525,542,543,1178],[416,476,525,542,543,1181,1183],[476,525,542,543,1180,1183,1184,1185,1196,1197],[476,525,542,543,1181,1182],[416,476,525,542,543,1181],[476,525,542,543,1195],[476,525,542,543,1183],[476,525,542,543,1198],[290,294,316,416,476,525,539,541,542,543,1194,1202,1350,1351,1352],[476,525,542,543,1353],[476,525,542,543,1354,1356,1367],[476,525,542,543,1350,1351,1355],[290,416,476,525,539,541,542,543,1194,1350,1351,1352],[476,525,539,542,543],[476,525,542,543,1363,1365,1366],[416,476,525,542,543,1357],[476,525,542,543,1358,1359,1360,1361,1362],[316,476,525,542,543,1357],[476,525,542,543,1364],[416,476,525,542,543,1364],[416,419,420,476,525,542,543],[442,476,525,542,543],[419,420,476,525,542,543],[419,476,525,542,543],[416,419,420,433,476,525,542,543],[416,433,436,476,525,542,543],[416,419,476,525,542,543],[436,476,525,542,543],[417,418,421,422,423,424,425,426,427,428,429,430,431,432,434,435,437,438,439,440,441,443,444,445,476,525,542,543],[419,439,450,476,525,542,543],[64,446,450,451,452,457,459,476,525,542,543],[419,448,449,476,525,542,543],[416,419,433,476,525,542,543],[419,447,476,525,542,543],[295,416,450,476,525,542,543],[453,454,455,456,476,525,542,543],[458,476,525,542,543],[476,525,542,543,973,974],[416,476,525,542,543,971,972],[259,416,476,525,542,543,971,972],[476,525,542,543,975,977,978],[476,525,542,543,971],[476,525,542,543,976],[416,476,525,542,543,971],[416,476,525,542,543,971,972,976],[476,525,542,543,979],[476,525,539,542,543,575,1192],[476,525,539,542,543,575],[476,525,542,543,1403,1409],[476,525,542,543,1403,1404,1405],[476,525,542,543,1406],[476,525,536,539,542,543,575,1186,1187,1188],[476,525,542,543,1189,1191,1193],[476,525,530,542,543,575,1171],[476,525,542,543,557,1194],[476,522,523,525,542,543],[476,524,525,542,543],[525,542,543],[476,525,530,542,543,560],[476,525,526,531,536,542,543,545,557,568],[476,525,526,527,536,542,543,545],[471,472,473,476,525,542,543],[476,525,528,542,543,569],[476,525,529,530,537,542,543,546],[476,525,530,542,543,557,565],[476,525,531,533,536,542,543,545],[476,524,525,532,542,543],[476,525,533,534,542,543],[476,525,535,536,542,543],[476,524,525,536,542,543],[476,525,536,537,538,542,543,557,568],[476,525,536,537,538,542,543,552,557,560],[476,518,525,533,536,539,542,543,545,557,568],[476,525,536,537,539,540,542,543,545,557,565,568],[476,525,539,541,542,543,557,565,568],[474,475,476,477,478,479,480,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574],[476,525,536,542,543],[476,525,542,543,544,568],[476,525,533,536,542,543,545,557],[476,525,542,543,546],[476,525,542,543,547],[476,524,525,542,543,548],[476,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574],[476,525,542,543,550],[476,525,542,543,551],[476,525,536,542,543,552,553],[476,525,542,543,552,554,569,571],[476,525,537,542,543],[476,525,536,542,543,557,558,560],[476,525,542,543,559,560],[476,525,542,543,557,558],[476,525,542,543,560],[476,525,542,543,561],[476,522,525,542,543,557,562,568],[476,525,536,542,543,563,564],[476,525,542,543,563,564],[476,525,530,542,543,545,557,565],[476,525,542,543,566],[476,525,542,543,545,567],[476,525,539,542,543,551,568],[476,525,530,542,543,569],[476,525,542,543,557,570],[476,525,542,543,544,571],[476,525,542,543,572],[476,518,525,542,543],[476,518,525,536,538,542,543,548,557,560,568,570,571,573],[476,525,542,543,557,574],[476,525,542,543,1172,1328],[476,525,542,543,1194,1195],[476,525,539,542,543,1194],[476,525,537,542,543,557,575],[476,525,539,542,543,575,1190],[476,525,542,543,1042,1043,1044,1045,1046,1047,1048,1049,1050],[476,525,542,543,998],[476,525,542,543,1000,1001,1002,1003,1004,1005,1006],[476,525,542,543,989],[476,525,542,543,990,998,999,1007],[476,525,542,543,991],[476,525,542,543,985],[476,525,542,543,982,983,984,985,986,987,988,991,992,993,994,995,996,997],[476,525,542,543,990,992],[476,525,542,543,993,998],[476,525,542,543,1014],[476,525,542,543,1013,1014,1019],[476,525,542,543,1015,1016,1017,1018,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138],[476,525,542,543,1014,1051],[476,525,542,543,1014,1091],[476,525,542,543,1013],[476,525,542,543,1009,1010,1011,1012,1013,1014,1019,1139,1140,1141,1142,1146],[476,525,542,543,1019],[476,525,542,543,1011,1144,1145],[476,525,542,543,1013,1143],[476,525,542,543,1014,1019],[476,525,542,543,1009,1010],[476,525,542,543,575],[476,525,542,543,1403,1407,1408],[476,525,542,543,1409],[476,525,542,543,1090],[476,525,542,543,1336],[476,525,542,543,1334],[476,525,539,542,543,575,1336,1337],[476,525,539,541,542,543,557,575,1333,1334,1335,1337,1339,1340,1341,1342,1343],[476,525,542,543,1334,1344],[476,525,539,542,543,557,575,1333,1335],[476,525,539,542,543,575,1334,1335],[476,525,542,543,1333,1334,1335,1339,1341,1342,1344,1345,1346],[476,525,542,543,1338,1344],[71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,190,191,192,194,203,205,206,207,208,209,210,212,213,215,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,476,525,542,543],[116,476,525,542,543],[72,75,476,525,542,543],[74,476,525,542,543],[74,75,476,525,542,543],[71,72,73,75,476,525,542,543],[72,74,75,232,476,525,542,543],[75,476,525,542,543],[71,74,116,476,525,542,543],[74,75,232,476,525,542,543],[74,240,476,525,542,543],[72,74,75,476,525,542,543],[84,476,525,542,543],[107,476,525,542,543],[128,476,525,542,543],[74,75,116,476,525,542,543],[75,123,476,525,542,543],[74,75,116,134,476,525,542,543],[74,75,134,476,525,542,543],[75,175,476,525,542,543],[75,116,476,525,542,543],[71,75,193,476,525,542,543],[71,75,194,476,525,542,543],[216,476,525,542,543],[200,202,476,525,542,543],[211,476,525,542,543],[200,476,525,542,543],[71,75,193,200,201,476,525,542,543],[193,194,202,476,525,542,543],[214,476,525,542,543],[71,75,200,201,202,476,525,542,543],[73,74,75,476,525,542,543],[71,75,476,525,542,543],[72,74,194,195,196,197,476,525,542,543],[116,194,195,196,197,476,525,542,543],[194,196,476,525,542,543],[74,195,196,198,199,203,476,525,542,543],[71,74,476,525,542,543],[75,218,476,525,542,543],[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,476,525,542,543],[204,476,525,542,543],[476,525,536,542,543,1301,1304,1305],[476,525,537,542,543,1301,1305],[476,525,542,543,1305],[476,525,542,543,1307,1308,1309,1310,1311,1312,1313,1314,1315],[476,525,542,543,1305,1313],[476,525,542,543,1305,1312,1313],[476,525,536,539,542,543,1304,1305],[476,525,542,543,1304,1305,1306,1316,1317,1318,1319],[476,525,537,542,543,1301,1304],[476,525,542,543,1304,1305],[476,525,542,543,1302,1303,1305],[476,525,542,543,653,772],[476,525,542,543,592,971],[476,525,542,543,656],[476,525,542,543,763],[476,525,542,543,759,763],[476,525,542,543,759],[476,525,542,543,607,649,650,651,652,654,655,763],[476,525,542,543,592,593,602,607,650,654,657,661,693,709,710,712,714,720,721,722,723,759,760,761,762,765,772,789],[476,525,542,543,725,727,729,730,740,742,743,744,745,746,747,748,750,752,753,754,755,758],[476,525,542,543,596,598,599,629,871,872,873,874,875,876],[476,525,542,543,599],[476,525,542,543,596,599],[476,525,542,543,880,881,882],[476,525,542,543,889],[476,525,542,543,596,887],[476,525,542,543,917],[476,525,542,543,905],[476,525,542,543,649],[476,525,542,543,592,630],[476,525,542,543,904],[476,525,542,543,597],[476,525,542,543,596,597,598],[476,525,542,543,637],[476,525,542,543,587,588,589],[476,525,542,543,633],[476,525,542,543,596],[476,525,542,543,628],[476,525,542,543,587],[476,525,542,543,596,597],[476,525,542,543,634,635],[476,525,542,543,590,592],[476,525,542,543,789],[476,525,542,543,645,646],[476,525,542,543,588],[476,525,542,543,925],[476,525,542,543,656,749],[476,525,542,543,565],[476,525,542,543,656,657,724],[476,525,542,543,588,589,596,602,604,606,620,621,622,625,626,656,657,659,660,765,771,772],[476,525,542,543,656,667],[476,525,542,543,604,606,624,657,659,665,667,681,694,698,702,709,763,769,771,772],[476,525,533,542,543,545,565,665,666],[476,525,542,543,656,657,726],[476,525,542,543,656,741],[476,525,542,543,656,657,728],[476,525,542,543,656,751],[476,525,542,543,657,756,757],[476,525,542,543,623],[476,525,542,543,731,732,733,734,735,736,737,738],[476,525,542,543,656,657,739],[476,525,542,543,592,593,602,667,669,673,674,675,676,677,704,706,707,708,710,712,713,714,718,719,721,763,772,789],[476,525,542,543,593,602,620,667,670,674,678,679,703,704,706,707,708,720,763,765],[476,525,542,543,720,763,772],[476,525,542,543,648],[476,525,542,543,593,630],[476,525,542,543,596,597,629,631],[476,525,542,543,627,632,636,637,638,639,640,641,642,643,644,647,971],[476,525,542,543,586,587,588,589,593,633,634,635],[476,525,542,543,807],[476,525,542,543,765,807],[476,525,542,543,596,620,652,807],[476,525,542,543,593,807],[476,525,542,543,723,807],[476,525,542,543,807,808,809,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869],[476,525,542,543,609,807],[476,525,542,543,609,765,807],[476,525,542,543,807,811],[476,525,542,543,661,807],[476,525,542,543,664],[476,525,542,543,673],[476,525,542,543,662,669,670,671,672],[476,525,542,543,597,602,663],[476,525,542,543,667],[476,525,542,543,602,673,674,711,765,789],[476,525,542,543,664,667,668],[476,525,542,543,678],[476,525,542,543,602,673],[476,525,542,543,664,668],[476,525,542,543,602,664],[476,525,542,543,592,593,602,709,710,712,720,721,759,760,763,789,802,803],[64,476,525,542,543,590,592,593,596,597,599,602,603,604,605,606,607,627,628,632,633,635,636,637,648,649,650,651,652,655,657,658,659,661,662,663,664,667,668,669,670,671,672,673,674,675,676,677,680,681,683,684,685,686,687,688,689,690,691,692,693,695,698,699,702,704,705,706,707,708,709,710,711,712,715,716,720,721,722,723,759,763,765,768,769,770,771,772,782,783,785,786,787,788,789,803,804,805,806,870,877,878,879,883,884,885,886,888,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,918,919,920,921,922,923,924,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,958,959,960,961,962,963,964,965,966,968,970],[476,525,542,543,650,651,772],[476,525,542,543,650,772,951],[476,525,542,543,650,651,772,951],[476,525,542,543,772],[476,525,542,543,650],[476,525,542,543,599,600],[476,525,542,543,614],[476,525,542,543,593],[476,525,542,543,587,588,589,591,594],[476,525,542,543,792],[476,525,542,543,595,601,610,611,615,617,647,696,700,764,766,790,791,792,793,794,795,796,797,798,799,800,801],[476,525,542,543,586,590,591,594],[476,525,542,543,637,638,971],[476,525,542,543,607,696,765],[476,525,542,543,596,597,601,602,609,619,763,765],[476,525,542,543,609,610,612,613,616,618,620,763,765,767],[476,525,542,543,602,614,615,619,765],[476,525,542,543,602,608,609,612,613,616,618,619,620,637,638,645,646,647,697,701,763,764,767,971],[476,525,542,543,607,700,765],[476,525,542,543,587,588,589,607,620,765],[476,525,542,543,607,619,620,765,766],[476,525,542,543,609,765,789,790],[476,525,542,543,602,609,611,765,789],[476,525,542,543,586,587,588,589,591,595,602,608,619,620,765],[476,525,542,543,620],[476,525,542,543,587,607,617,619,620,765],[476,525,542,543,722],[476,525,542,543,723,763,772],[476,525,542,543,607,771],[476,525,542,543,607,964],[476,525,542,543,606,771],[476,525,542,543,602,609,620,765,810],[476,525,542,543,609,620,811],[476,525,536,537,542,543,557,652],[476,525,542,543,765],[476,525,542,543,715],[476,525,542,543,593,602,708,715,716,763,772,788],[476,525,542,543,602,660,716],[476,525,542,543,593,602,620,704,706,717,788],[476,525,542,543,609,763,765,774,781],[476,525,542,543,716],[476,525,542,543,593,602,620,661,704,716,763,765,772,773,774,780,781,782,783,784,785,786,787,789],[476,525,542,543,602,609,620,637,660,763,765,773,774,775,776,777,778,779,780,788],[476,525,542,543,602],[476,525,542,543,609,765,781,789],[476,525,542,543,602,609,763,772,789],[476,525,542,543,602,788],[476,525,542,543,705],[476,525,542,543,602,705],[476,525,542,543,593,602,609,637,665,669,670,671,672,674,715,716,765,772,778,779,781,788],[476,525,542,543,593,602,637,707,715,716,763,772,788],[476,525,542,543,602,765],[476,525,542,543,602,637,704,707,715,716,763,772,788],[476,525,542,543,602,716],[476,525,542,543,602,604,606,624,657,659,665,681,694,698,702,705,714,720,763,769,771],[476,525,542,543,592,602,712,720,721,789],[476,525,542,543,593,667,669,673,674,675,676,677,704,706,707,708,718,719,721,789,957],[476,525,542,543,602,667,673,674,678,679,709,721,772,789],[476,525,542,543,593,602,667,669,673,674,675,676,677,704,706,707,708,718,719,720,772,789,971],[476,525,542,543,602,711,721,789],[476,525,542,543,660,717],[476,525,542,543,603,658,680,695,699,768],[476,525,542,543,603,620,624,625,763,765,772],[476,525,542,543,624],[476,525,542,543,604,659,661,681,698,702,765,769,770],[476,525,542,543,695,697],[476,525,542,543,603],[476,525,542,543,699,701],[476,525,542,543,608,658,661],[476,525,542,543,767,768],[476,525,542,543,618,680],[476,525,542,543,605,971],[476,525,542,543,602,609,620,682,693,765,772],[476,525,542,543,683,684,685,686,687,688,689,690,691,692],[476,525,542,543,602,720,763,765,772],[476,525,542,543,720,763,765,772],[476,525,542,543,687],[476,525,542,543,602,609,620,720,763,765,772],[476,525,542,543,604,606,620,623,649,659,664,668,681,698,702,709,716,760,765,769,771,782,783,784,785,786,787,789,811,957,958,959,967],[476,525,542,543,720,765,969],[476,490,494,525,542,543,568],[476,490,525,542,543,557,568],[476,485,525,542,543],[476,487,490,525,542,543,565,568],[476,525,542,543,545,565],[476,485,525,542,543,575],[476,487,490,525,542,543,545,568],[476,482,483,486,489,525,536,542,543,557,568],[476,490,497,525,542,543],[476,482,488,525,542,543],[476,490,511,512,525,542,543],[476,486,490,525,542,543,560,568,575],[476,511,525,542,543,575],[476,484,485,525,542,543,575],[476,490,525,542,543],[476,484,485,486,487,488,489,490,491,492,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,512,513,514,515,516,517,525,542,543],[476,490,505,525,542,543],[476,490,497,498,525,542,543],[476,488,490,498,499,525,542,543],[476,489,525,542,543],[476,482,485,490,525,542,543],[476,490,494,498,499,525,542,543],[476,494,525,542,543],[476,488,490,493,525,542,543,568],[476,482,487,490,497,525,542,543],[476,525,542,543,557],[476,485,490,511,525,542,543,573,575],[416,460,461,476,525,542,543],[416,461,462,476,525,542,543,585,980,981,1148,1149,1152,1153,1154,1155,1156,1157,1161,1162,1163,1164,1165,1166,1167,1169,1170,1331,1332,1349,1375,1399],[416,476,525,542,543,1150],[416,476,525,542,543,1200,1293,1294],[416,476,525,542,543,1201,1293,1294],[259,416,476,525,542,543,1293],[476,525,542,543,1008],[476,525,542,543,1008,1147],[476,525,542,543,585,980,1149,1152,1153,1154,1155,1156,1157,1161,1162,1163,1164,1165,1166,1167,1169],[416,460,476,525,542,543,1293,1400,1401],[416,460,476,525,542,543,1150,1194,1200,1201,1294,1295,1296,1299,1300,1322,1323,1324,1325,1326],[416,476,525,542,543,585,980,1149,1157,1179,1199,1295,1296,1321,1322,1327,1330,1331],[416,476,525,542,543,585,971,980,1149,1150,1151,1156,1157,1171,1179,1294,1297,1298,1299,1300,1321],[476,525,542,543,1147],[476,525,542,543,971,1156],[416,476,525,542,543,1199],[476,525,542,543,1150,1151],[416,476,525,542,543,585,1320],[416,476,525,542,543,585,1199,1294,1329],[416,460,476,525,542,543,1150,1200,1201,1295,1296,1326,1368,1376,1379,1380,1381,1382,1383,1387],[416,460,476,525,542,543,1150,1200,1201,1295,1296,1326,1384,1386,1387],[416,460,476,525,542,543,1150,1200,1201,1295,1296,1326,1368,1390,1391,1392],[416,476,525,542,543,971,980,1161,1348,1390,1391],[416,476,525,542,543,980,1161,1162,1163,1164,1165,1166,1167,1349,1387,1388,1389,1392,1393,1396,1397,1398],[416,460,476,525,542,543,1150,1200,1201,1295,1296,1326,1368,1394,1395,1396],[416,476,525,542,543,971,980,1162,1348,1394,1395],[460,476,525,542,543,1147],[460,476,525,542,543,1008,1147,1158,1370],[460,476,525,542,543,1147,1160],[460,476,525,542,543,1008,1147,1159,1160,1370,1377,1378],[476,525,542,543,1008,1147,1159,1160,1370],[460,476,525,542,543,1008,1147],[460,476,525,542,543,1384],[460,476,525,542,543,1390],[460,476,525,542,543,1394],[460,476,525,542,543,1379],[476,525,542,543,971,1158,1166],[476,525,542,543,971,1160,1165],[476,525,542,543,971,1165,1167],[476,525,542,543,971,1165],[476,525,542,543,971,1159,1160,1161,1162,1163,1164,1166],[416,460,476,525,542,543,1381,1385,1387],[416,476,525,542,543,971,980,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1348,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386],[476,525,542,543,1008,1147,1168],[460,476,525,542,543,1371],[460,476,525,542,543,1008,1147,1168,1370],[476,525,542,543,971,1168],[416,460,476,525,542,543,1150,1200,1201,1295,1296,1326,1368,1369,1371,1372,1373],[416,476,525,542,543,980,1169,1349,1373,1374],[416,476,525,542,543,547,971,980,1168,1169,1348,1369,1371,1372],[416,476,525,542,543,1348],[416,476,525,530,542,543,585,1347],[476,525,542,543,971,1151,1152,1156],[476,525,542,543,971,1151,1153],[476,525,542,543,971,1150,1153,1155,1157],[476,525,542,543,971,1155],[476,525,542,543,971,1154,1156],[416,476,525,542,543,980,1152,1153,1154,1155,1156,1298],[416,476,525,542,543,971,980,1150,1151,1152,1153,1155,1156]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d8dedbec739bc79642c1e96e9bfc0b83b25b104a0486aebf016fc7b85b39f48","impliedFormat":1},{"version":"e89535c3ec439608bcd0f68af555d0e5ddf121c54abe69343549718bd7506b9c","impliedFormat":1},{"version":"622a984b60c294ffb2f9152cf1d4d12e91d2b733d820eec949cf54d63a3c1025","impliedFormat":1},{"version":"81aae92abdeaccd9c1723cef39232c90c1aed9d9cf199e6e2a523b7d8e058a11","impliedFormat":1},{"version":"a63a6c6806a1e519688ef7bd8ca57be912fc0764485119dbd923021eb4e79665","impliedFormat":1},{"version":"75b57b109d774acca1e151df21cf5cb54c7a1df33a273f0457b9aee4ebd36fb9","impliedFormat":1},{"version":"073ca26c96184db9941b5ec0ddea6981c9b816156d9095747809e524fdd90e35","impliedFormat":1},{"version":"e41d17a2ec23306d953cda34e573ed62954ca6ea9b8c8b74e013d07a6886ce47","impliedFormat":1},{"version":"241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","impliedFormat":1},{"version":"2ae3787e1498b20aad1b9c2ee9ea517ec30e89b70d242d8e3e52d1e091039695","impliedFormat":1},{"version":"c7c72c4cffb1bc83617eefed71ed68cc89df73cab9e19507ccdecb3e72b4967e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","impliedFormat":1},{"version":"38b38db08e7121828294dec10957a7a9ff263e33e2a904b346516d4a4acca482","impliedFormat":1},{"version":"a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","impliedFormat":1},{"version":"8a2aaea564939c22be05d665cc955996721bad6d43148f8fa21ae8f64afecd37","impliedFormat":1},{"version":"e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","impliedFormat":1},{"version":"e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","impliedFormat":1},{"version":"95950a187596e206d32d5d9c7b932901088c65ed8f9040e614aa8e321e0225ef","impliedFormat":1},{"version":"89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","impliedFormat":1},{"version":"e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","impliedFormat":1},{"version":"71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","impliedFormat":1},{"version":"7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","impliedFormat":1},{"version":"78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","impliedFormat":1},{"version":"5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","impliedFormat":1},{"version":"f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","impliedFormat":1},{"version":"9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","impliedFormat":1},{"version":"3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","impliedFormat":1},{"version":"2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","impliedFormat":1},{"version":"4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","impliedFormat":1},{"version":"61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","impliedFormat":1},{"version":"64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","impliedFormat":1},{"version":"0521108c9f8ddb17654a0a54dae6ba9667c99eddccfd6af5748113e022d1c37a","impliedFormat":1},{"version":"c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","impliedFormat":1},{"version":"ee764e6e9a7f2b987cc1a2c0a9afd7a8f4d5ebc4fdb66ad557a7f14a8c2bd320","impliedFormat":1},{"version":"0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","impliedFormat":1},{"version":"5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","impliedFormat":1},{"version":"e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","impliedFormat":1},{"version":"b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","impliedFormat":1},{"version":"6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","impliedFormat":1},{"version":"d7058e75920120b142a9d57be25562a3cd9a936269fd52908505f530105f2ec4","impliedFormat":1},{"version":"6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","impliedFormat":1},{"version":"0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","impliedFormat":1},{"version":"91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","impliedFormat":1},{"version":"db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","impliedFormat":1},{"version":"758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","impliedFormat":1},{"version":"2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","impliedFormat":1},{"version":"6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","impliedFormat":1},{"version":"a472a1d3f25ce13a1d44911cd3983956ac040ce2018e155435ea34afb25f864c","impliedFormat":1},{"version":"b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","impliedFormat":1},{"version":"792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","impliedFormat":1},{"version":"a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","impliedFormat":1},{"version":"93181bac0d90db185bb730c95214f6118ae997fe836a98a49664147fbcaf1988","impliedFormat":1},{"version":"8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","impliedFormat":1},{"version":"b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","impliedFormat":1},{"version":"4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","impliedFormat":1},{"version":"cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","impliedFormat":1},{"version":"75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","impliedFormat":1},{"version":"b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","impliedFormat":1},{"version":"c54166a85bd60f86d1ebb90ce0117c0ecb850b8a33b366691629fdf26f1bbbd8","impliedFormat":1},{"version":"0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","impliedFormat":1},{"version":"80f23f1d60fbed356f726b3b26f9d348dddbb34027926d10d59fad961e70a730","impliedFormat":1},{"version":"cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","impliedFormat":1},{"version":"cc20bb2227dd5de0aab0c8d697d1572f8000550e62c7bf5c92f212f657dd88c5","impliedFormat":1},{"version":"06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","impliedFormat":1},{"version":"860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","impliedFormat":1},{"version":"f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","impliedFormat":1},{"version":"d0da80c845999a16c24d0783033fb5366ada98df17867c98ad433ede05cd87fd","impliedFormat":1},{"version":"bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","impliedFormat":1},{"version":"fd9a991b51870325e46ebb0e6e18722d313f60cd8e596e645ec5ac15b96dbf4e","impliedFormat":1},{"version":"c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","impliedFormat":1},{"version":"a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","impliedFormat":1},{"version":"d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","impliedFormat":1},{"version":"fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","impliedFormat":1},{"version":"063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","impliedFormat":1},{"version":"314e402cd481370d08f63051ae8b8c8e6370db5ee3b8820eeeaaf8d722a6dac6","impliedFormat":1},{"version":"9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","impliedFormat":1},{"version":"4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","impliedFormat":1},{"version":"656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","impliedFormat":1},{"version":"3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","impliedFormat":1},{"version":"1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","impliedFormat":1},{"version":"af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","impliedFormat":1},{"version":"70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","impliedFormat":1},{"version":"af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","impliedFormat":1},{"version":"cefc20054d20b85b534206dbcedd509bb74f87f3d8bc45c58c7be3a76caa45e1","impliedFormat":1},{"version":"ad6eee4877d0f7e5244d34bc5026fd6e9cf8e66c5c79416b73f9f6ebf132f924","impliedFormat":1},{"version":"4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","impliedFormat":1},{"version":"f4749c102ced952aa6f40f0b579865429c4869f6d83df91000e98005476bee87","impliedFormat":1},{"version":"56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","impliedFormat":1},{"version":"8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","impliedFormat":1},{"version":"05f56cd4b929977d18df8f3d08a4c929a2592ef5af083e79974b20a063f30940","impliedFormat":1},{"version":"547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","impliedFormat":1},{"version":"b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","impliedFormat":1},{"version":"3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","impliedFormat":1},{"version":"140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","impliedFormat":1},{"version":"0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","impliedFormat":1},{"version":"cb46b38d5e791acaa243bf342b8b5f8491639847463ac965b93896d4fb0af0d9","impliedFormat":1},{"version":"7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","impliedFormat":1},{"version":"af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","impliedFormat":1},{"version":"006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","impliedFormat":1},{"version":"7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","impliedFormat":1},{"version":"339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","impliedFormat":1},{"version":"34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","impliedFormat":1},{"version":"9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","impliedFormat":1},{"version":"18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","impliedFormat":1},{"version":"5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","impliedFormat":1},{"version":"5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","impliedFormat":1},{"version":"907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","impliedFormat":1},{"version":"ce60a562cd2a92f37a88f2ddd99a3abfbc5848d7baf38c48fb8d3243701fcb75","impliedFormat":1},{"version":"a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","impliedFormat":1},{"version":"f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","impliedFormat":1},{"version":"75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","impliedFormat":1},{"version":"9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","impliedFormat":1},{"version":"b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","impliedFormat":1},{"version":"b6e2b0448ced813b8c207810d96551a26e7d7bb73255eea4b9701698f78846d6","impliedFormat":1},{"version":"8ae10cd85c1bd94d2f2d17c4cbd25c068a4b2471c70c2d96434239f97040747a","impliedFormat":1},{"version":"9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","impliedFormat":1},{"version":"b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","impliedFormat":1},{"version":"e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","impliedFormat":1},{"version":"ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","impliedFormat":1},{"version":"8776a368617ce51129b74db7d55c3373dadcce5d0701e61d106e99998922a239","impliedFormat":1},{"version":"5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","impliedFormat":1},{"version":"9108ab5af05418f599ab48186193b1b07034c79a4a212a7f73535903ba4ca249","impliedFormat":1},{"version":"bb4e2cdcadf9c9e6ee2820af23cee6582d47c9c9c13b0dca1baaffe01fbbcb5f","impliedFormat":1},{"version":"6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","impliedFormat":1},{"version":"423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","impliedFormat":1},{"version":"fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","impliedFormat":1},{"version":"2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","impliedFormat":1},{"version":"c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","impliedFormat":1},{"version":"02ae43d5bae42efcd5a00d3923e764895ce056bca005a9f4e623aa6b4797c8af","impliedFormat":1},{"version":"db6e01f17012a9d7b610ae764f94a1af850f5d98c9c826ad61747dca0fb800bd","impliedFormat":1},{"version":"8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","impliedFormat":1},{"version":"24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","impliedFormat":1},{"version":"33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","impliedFormat":1},{"version":"0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","impliedFormat":1},{"version":"16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","impliedFormat":1},{"version":"8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","impliedFormat":1},{"version":"d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","impliedFormat":1},{"version":"97f9169882d393e6f303f570168ca86b5fe9aab556e9a43672dae7e6bb8e6495","impliedFormat":1},{"version":"7c9adb3fcd7851497818120b7e151465406e711d6a596a71b807f3a17853cb58","impliedFormat":1},{"version":"6752d402f9282dd6f6317c8c048aaaac27295739a166eed27e00391b358fed9a","impliedFormat":1},{"version":"9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","impliedFormat":1},{"version":"fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","impliedFormat":1},{"version":"85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","impliedFormat":1},{"version":"84794e3abd045880e0fadcf062b648faf982aa80cfc56d28d80120e298178626","impliedFormat":1},{"version":"053d8b827286a16a669a36ffc8ccc8acdf8cc154c096610aa12348b8c493c7b8","impliedFormat":1},{"version":"3cce4ce031710970fe12d4f7834375f5fd455aa129af4c11eb787935923ff551","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","impliedFormat":1},{"version":"c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","impliedFormat":1},{"version":"ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","impliedFormat":1},{"version":"a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","impliedFormat":1},{"version":"aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","impliedFormat":1},{"version":"0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","impliedFormat":1},{"version":"40f06693e2e3e58526b713c937895c02e113552dc8ba81ecd49cdd9596567ddb","impliedFormat":1},{"version":"4ed5e1992aedb174fb8f5aa8796aa6d4dcb8bd819b4af1b162a222b680a37fa0","impliedFormat":1},{"version":"d7f4bd46a8b97232ea6f8c28012b8d2b995e55e729d11405f159d3e00c51420a","impliedFormat":1},{"version":"d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","impliedFormat":1},{"version":"e4f4f9cf1e3ac9fd91ada072e4d428ecbf0aa6dc57138fb797b8a0ca3a1d521c","impliedFormat":1},{"version":"12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","impliedFormat":1},{"version":"340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","impliedFormat":1},{"version":"c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","impliedFormat":1},{"version":"7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","impliedFormat":1},{"version":"5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","impliedFormat":1},{"version":"9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","impliedFormat":1},{"version":"1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","impliedFormat":1},{"version":"8018dd2e95e7ce6e613ddd81672a54532614dc745520a2f9e3860ff7fb1be0ca","impliedFormat":1},{"version":"b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","impliedFormat":1},{"version":"0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","impliedFormat":1},{"version":"3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","impliedFormat":1},{"version":"032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","impliedFormat":1},{"version":"69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","impliedFormat":1},{"version":"0e704ee6e9fd8b6a5a7167886f4d8915f4bc22ed79f19cb7b32bd28458f50643","impliedFormat":1},{"version":"06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","impliedFormat":1},{"version":"904a96f84b1bcee9a7f0f258d17f8692e6652a0390566515fe6741a5c6db8c1c","impliedFormat":1},{"version":"11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","impliedFormat":1},{"version":"2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","impliedFormat":1},{"version":"1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","impliedFormat":1},{"version":"1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","impliedFormat":1},{"version":"07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","impliedFormat":1},{"version":"619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","impliedFormat":1},{"version":"f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","impliedFormat":1},{"version":"f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","impliedFormat":1},{"version":"350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","impliedFormat":1},{"version":"eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","impliedFormat":1},{"version":"45b74185005ed45bec3f07cac6e4d68eaf02ead9ff5a66721679fb28020e5e7c","impliedFormat":1},{"version":"0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","impliedFormat":1},{"version":"c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","impliedFormat":1},{"version":"5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","impliedFormat":1},{"version":"ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","impliedFormat":1},{"version":"795a08ae4e193f345073b49f68826ab6a9b280400b440906e4ec5c237ae777e6","impliedFormat":1},{"version":"8153df63cf65122809db17128e5918f59d6bb43a371b5218f4430c4585f64085","impliedFormat":1},{"version":"a8150bc382dd12ce58e00764d2366e1d59a590288ee3123af8a4a2cb4ef7f9df","impliedFormat":1},{"version":"5adfaf2f9f33957264ad199a186456a4676b2724ed700fc313ff945d03372169","impliedFormat":1},{"version":"d5c41a741cd408c34cb91f84468f70e9bda3dfeabf33251a61039b3cdb8b22d8","impliedFormat":1},{"version":"a20c3e0fe86a1d8fc500a0e9afec9a872ad3ab5b746ceb3dd7118c6d2bff4328","impliedFormat":1},{"version":"cbaf4a4aa8a8c02aa681c5870d5c69127974de29b7e01df570edec391a417959","impliedFormat":1},{"version":"c7135e329a18b0e712378d5c7bc2faec6f5ab0e955ea0002250f9e232af8b3e4","impliedFormat":1},{"version":"340a45cd77b41d8a6deda248167fa23d3dc67ec798d411bd282f7b3d555b1695","impliedFormat":1},{"version":"fae330f86bc10db6841b310f32367aaa6f553036a3afc426e0389ddc5566cd74","impliedFormat":1},{"version":"2bee1efe53481e93bb8b31736caba17353e7bb6fc04520bd312f4e344afd92f9","impliedFormat":1},{"version":"357b67529139e293a0814cb5b980c3487717c6fbf7c30934d67bc42dad316871","impliedFormat":1},{"version":"99d99a765426accf8133737843fb024a154dc6545fc0ffbba968a7c0b848959d","impliedFormat":1},{"version":"c782c5fd5fa5491c827ecade05c3af3351201dd1c7e77e06711c8029b7a9ee4d","impliedFormat":1},{"version":"883d2104e448bb351c49dd9689a7e8117b480b614b2622732655cef03021bf6d","impliedFormat":1},{"version":"d9b00ee2eca9b149663fdba1c1956331841ae296ee03eaaff6c5becbc0ff1ea8","impliedFormat":1},{"version":"09a7e04beb0547c43270b327c067c85a4e2154372417390731dfe092c4350998","impliedFormat":1},{"version":"eee530aaa93e9ec362e3941ee8355e2d073c7b21d88c2af4713e3d701dab8fef","impliedFormat":1},{"version":"28d47319b97dbeee9130b78eae03b2061d46dedbf92b0d9de13ed7ab8399ccd0","impliedFormat":1},{"version":"6559a36671052ca93cab9a289279a6cef6f9d1a72c34c34546a8848274a9c66c","impliedFormat":1},{"version":"7a0e4cd92545ad03910fd019ae9838718643bd4dde39881c745f236914901dfa","impliedFormat":1},{"version":"c99ebd20316217e349004ee1a0bc74d32d041fb6864093f10f31984c737b8cad","impliedFormat":1},{"version":"6f622e7f054f5ab86258362ac0a64a2d6a27f1e88732d6f5f052f422e08a70e7","impliedFormat":1},{"version":"d62d2ef93ceeb41cf9dfab25989a1e5f9ca5160741aac7f1453c69a6c14c69be","impliedFormat":1},{"version":"1491e80d72873fc586605283f2d9056ee59b166333a769e64378240df130d1c9","impliedFormat":1},{"version":"c32c073d389cfaa3b3e562423e16c2e6d26b8edebbb7d73ccffff4aa66f2171d","impliedFormat":1},{"version":"eca72bf229eecadb63e758613c62fab13815879053539a22477d83a48a21cd73","impliedFormat":1},{"version":"633db46fd1765736409a4767bfc670861468dde60dbb9a501fba4c1b72f8644d","impliedFormat":1},{"version":"f379412f2c0dddd193ff66dcdd9d9cc169162e441d86804c98c84423f993aa8a","impliedFormat":1},{"version":"f2ee748883723aa9325e5d7f30fce424f6a786706e1b91a5a55237c78ee89c4a","impliedFormat":1},{"version":"eda4760e5d7b171132265e970b67c322bcfffacb84248f44def26ed160eb722e","impliedFormat":1},{"version":"142f5190d730259339be1433931c0eb31ae7c7806f4e325f8a470bd9221b6533","impliedFormat":1},{"version":"cbd19f594f0ee7beffeb37dc0367af3908815acf4ce46d86b0515478718cfed8","impliedFormat":1},{"version":"3cdb96f128133efd129c798ac11f959e59d278ae439f69983224774d79ed11db","impliedFormat":1},{"version":"8776e64e6165838ac152fa949456732755b0976d1867ae5534ce248f0ccd7f41","impliedFormat":1},{"version":"896bbc7402b3a403cda96813c8ea595470ff76d31f32869d053317c00ca2589a","impliedFormat":1},{"version":"5c4c5b49bbb01828402bb04af1d71673b18852c11b7e95bfd5cf4c3d80d352c8","impliedFormat":1},{"version":"7030df3d920343df00324df59dc93a959a33e0f4940af3fefef8c07b7ee329bf","impliedFormat":1},{"version":"a96bc00e0c356e29e620eaec24a56d6dd7f4e304feefcc99066a1141c6fe05a7","impliedFormat":1},{"version":"d12cc0e5b09943c4cd0848f787eb9d07bf78b60798e4588c50582db9d4decc70","impliedFormat":1},{"version":"7333ee6354964fd396297958e52e5bf62179aa2c88ca0a35c6d3a668293b7e0e","impliedFormat":1},{"version":"19c3760af3cbc9da99d5b7763b9e33aaf8d018bc2ed843287b7ff4343adf4634","impliedFormat":1},{"version":"9d1e38aeb76084848d2fcd39b458ec88246de028c0f3f448b304b15d764b23d2","impliedFormat":1},{"version":"d406da1eccf18cec56fd29730c24af69758fe3ff49c4f94335e797119cbc0554","impliedFormat":1},{"version":"4898c93890a136da9156c75acd1a80a941a961b3032a0cf14e1fa09a764448b7","impliedFormat":1},{"version":"f5d7a845e3e1c6c27351ea5f358073d0b0681537a2da6201fab254aa434121d3","impliedFormat":1},{"version":"3a47d4582ef0697cccf1f3d03b620002f03fb0ff098f630e284433c417d6c61b","impliedFormat":1},{"version":"d7c30f0abfe9e197e376b016086cf66b2ffb84015139963f37301ed0da9d3d0d","impliedFormat":1},{"version":"ff75bba0148f07775bcb54bf4823421ed4ebdb751b3bf79cc003bd22e49d7d73","impliedFormat":1},{"version":"d40d20ac633703a7333770bfd60360126fc3302d5392d237bbb76e8c529a4f95","impliedFormat":1},{"version":"35a9867207c488061fb4f6fe4715802fbc164b4400018d2fa0149ad02db9a61c","impliedFormat":1},{"version":"b5fd805b7c578ca6a42c42bbfa6fda95a85d9e332106d810bb18116dc13a45f8","impliedFormat":1},{"version":"3abd9ab4fb3a035c865e6a68cb9f4260515354d5ebebacd5c681aee52c046d1f","impliedFormat":1},{"version":"13e82862532619a727cff9a9ba78df7ca66e8a9b69e4cbd18e9809257b6bf7ba","impliedFormat":1},{"version":"601fe4e366b99181cd0244d96418cffeaaa987a7e310c6f0ed0f06ce63dfe3e9","impliedFormat":1},{"version":"c66a4f2b1362abc4aeee0870c697691618b423c8c6e75624a40ef14a06f787b7","impliedFormat":1},{"version":"8808b1c4f84f2e43da98757a959fe7282cb1795737e16534a97b7d4d33e84dfc","impliedFormat":1},{"version":"cd0565ace87a2d7802bf4c20ea23a997c54e598b9eb89f9c75e69478c1f7a0b4","impliedFormat":1},{"version":"738020d2c8fc9df92d5dee4b682d35a776eaedfe2166d12bc8f186e1ea57cc52","impliedFormat":1},{"version":"86dd7c5657a0b0bc6bee8002edcfd544458d3d3c60974555746eb9b2583dc35e","impliedFormat":1},{"version":"d97b96b6ecd4ee03f9f1170722c825ef778430a6a0d7aab03b8929012bf773cd","impliedFormat":1},{"version":"e84e9b89251a57da26a339e75f4014f52e8ef59b77c2ee1e0171cde18d17b3b8","impliedFormat":1},{"version":"272dbfe04cfa965d6fff63fdaba415c1b5a515b1881ae265148f8a84ddeb318f","impliedFormat":1},{"version":"2035fb009b5fafa9a4f4e3b3fdb06d9225b89f2cbbf17a5b62413bf72cea721a","impliedFormat":1},{"version":"eefafec7c059f07b885b79b327d381c9a560e82b439793de597441a4e68d774a","impliedFormat":1},{"version":"72636f59b635c378dc9ea5246b9b3517b1214e340e468e54cb80126353053b2e","impliedFormat":1},{"version":"ebb79f267a3bf2de5f8edc1995c5d31777b539935fab8b7d863e8efb06c8e9ea","impliedFormat":1},{"version":"ada033e6a4c7f4e147e6d76bb881069dc66750619f8cc2472d65beeec1100145","impliedFormat":1},{"version":"0c04cc14a807a5dc0e3752d18a3b2655a135fefbf76ddcdabd0c5df037530d41","impliedFormat":1},{"version":"605d29d619180fbec287d1701e8b1f51f2d16747ec308d20aba3e9a0dac43a0f","impliedFormat":1},{"version":"67c19848b442d77c767414084fc571ce118b08301c4ddff904889d318f3a3363","impliedFormat":1},{"version":"c704ff0e0cb86d1b791767a88af21dadfee259180720a14c12baee668d0eb8fb","impliedFormat":1},{"version":"195c50e15d5b3ea034e01fbdca6f8ad4b35ad47463805bb0360bdffd6fce3009","impliedFormat":1},{"version":"da665f00b6877ae4adb39cd548257f487a76e3d99e006a702a4f38b4b39431cb","impliedFormat":1},{"version":"083aebdd7c96aee90b71ec970f81c48984d9c8ab863e7d30084f048ddcc9d6af","impliedFormat":1},{"version":"1c3bde1951add95d54a05e6628a814f2f43bf9d49902729eaf718dc9eb9f4e02","impliedFormat":1},{"version":"d7a4309673b06223537bc9544b1a5fe9425628e1c8ab5605f3c5ebc27ecb8074","impliedFormat":1},{"version":"0be3da88f06100e2291681bbda2592816dd804004f0972296b20725138ebcddf","impliedFormat":1},{"version":"3eadfd083d40777b403f4f4eecfa40f93876f2a01779157cc114b2565a7afb51","impliedFormat":1},{"version":"cb6789ce3eba018d5a7996ccbf50e27541d850e9b4ee97fdcb3cbd8c5093691f","impliedFormat":1},{"version":"a3684ea9719122f9477902acd08cd363a6f3cff6d493df89d4dc12fa58204e27","impliedFormat":1},{"version":"ff3c48a17bf10dfbb62448152042e4a48a56c9972059997ab9e7ed03b191809b","impliedFormat":1},{"version":"bc3561e460de5a2c19123f618fc1d5a96a484d168884d00666997d847f502bf9","impliedFormat":1},{"version":"c0c46113b4cd5ec9e7cf56e6dbfb3930ef6cbba914c0883eeced396988ae8320","impliedFormat":1},{"version":"118ea3f4e7b9c12e92551be0766706f57a411b4f18a1b4762cfde3cd6d4f0a96","impliedFormat":1},{"version":"01acd7f315e2493395292d9a02841f3b0300e77ccf42f84f4f11460e7623107d","impliedFormat":1},{"version":"656d1ce5b8fbed896bb803d849d6157242261030967b821d01e72264774cab55","impliedFormat":1},{"version":"da66c1b41d833858fe61947432130d39649f0b53d992dfd7d00f0bbe57191ef4","impliedFormat":1},{"version":"835739c6dcf0a9a1533d1e95b7d7cf8e44ca1341652856b897f4573078b23a31","impliedFormat":1},{"version":"774a3bcc0700036313c57a079e2e1161a506836d736203aa0463efa7b11a7e54","impliedFormat":1},{"version":"96577e3f8e0f9ea07ddf748d72dc1908581ef2aafd4ae7418a4574c26027cf02","impliedFormat":1},{"version":"f55971cb3ede99c17443b03788fe27b259dcd0f890ac31badcb74e3ffb4bb371","impliedFormat":1},{"version":"0ef0c246f8f255a5d798727c40d6d2231d2b0ebda5b1ec75e80eadb02022c548","impliedFormat":1},{"version":"ea127752a5ec75f2ac6ef7f1440634e6ae5bc8d09e6f98b61a8fb600def6a861","impliedFormat":1},{"version":"862320e775649dcca8915f8886865e9c6d8affc1e70ed4b97199f3b70a843b47","impliedFormat":1},{"version":"561764374e9f37cb895263d5c8380885972d75d09d0db64c12e0cb10ba90ae3e","impliedFormat":1},{"version":"ee889da857c29fa7375ad500926748ef2e029a6645d7c080e57769923d15dfef","impliedFormat":1},{"version":"56984ba2d781bd742b6bc0fa34c10df2eae59b42ec8b1b731d297f1590fa4071","impliedFormat":1},{"version":"7521de5e64e2dd022be87fce69d956a52d4425286fbc5697ecfec386da896d7e","impliedFormat":1},{"version":"f50b072ec1f4839b54fd1269a4fa7b03efbc9c59940224c7939632c0f70a39c3","impliedFormat":1},{"version":"a5b7ec6f1ff3f1d19a2547f7e1a50ab1284e6b4755d260a481ea01ed2c7cec60","impliedFormat":1},{"version":"1747f9eebf5beb8cfc46cf0303e300950b7bff20cff60b9c46818caced3226e3","impliedFormat":1},{"version":"9d969f36abb62139a90345ee5d03f1c2479831bd84c8f843d87ec304cad96ead","impliedFormat":1},{"version":"e972b52218fd5919aec6cd0e5e2a5fb75f5d2234cf05597a9441837a382b2b29","impliedFormat":1},{"version":"d1e292b0837d0ef5ede4f52363c9d8e93f5d5234086adc796e11eae390305b36","impliedFormat":1},{"version":"0a9e10028a96865d0f25aeca9e3b1ff0691b9b662aa186d9d490728434cf8261","impliedFormat":1},{"version":"1aed740b674839c89f427f48737bad435ee5a39d80b5929f9dc9cc9ac10a7700","impliedFormat":1},{"version":"6e9e3690dc3a6e99a845482e33ee78915893f2d0d579a55b6a0e9b4c44193371","impliedFormat":1},{"version":"4e7a76cce3b537b6cdb1c4b97e29cb4048ee8e7d829cf3a85f4527e92eb573f2","impliedFormat":1},{"version":"bedbf6e1e952560ff250828c494da56976ca88860f8ba3dfb17dc89eac2e3463","impliedFormat":1},{"version":"46f1fe93f199a419172d7480407d9572064b54712b69406efa97e0244008b24e","impliedFormat":1},{"version":"044e6aaa3f612833fb80e323c65e9d816c3148b397e93630663cda5c2d8f4de1","impliedFormat":1},{"version":"deaf8eb392c46ea2c88553d3cc38d46cfd5ee498238dbc466e3f5be63ae0f651","impliedFormat":1},{"version":"6a79b61f57699de0a381c8a13f4c4bcd120556bfab0b4576994b6917cb62948b","impliedFormat":1},{"version":"c5133d7bdec65f465df12f0b507fbc0d96c78bfa5a012b0eb322cf1ff654e733","impliedFormat":1},{"version":"7905c052681cbe9286797ec036942618e1e8d698dcc2e60f4fb7a0013d470442","impliedFormat":1},{"version":"89049878a456b5e0870bb50289ea8ece28a2abd0255301a261fa8ab6a3e9a07d","impliedFormat":1},{"version":"d0da4f4fd66f37c13deabc1a641edd629141c333ccf862733788bd27e89436ac","impliedFormat":1},{"version":"d4a4f10062a6d82ba60d3ffde9154ef24b1baf2ce28c6439f5bdfb97aa0d18fc","impliedFormat":1},{"version":"f13310c360ecffddb3858dcb33a7619665369d465f55e7386c31d45dfc3847bf","impliedFormat":1},{"version":"e7bde95a05a0564ee1450bc9a53797b0ac7944bf24d87d6f645baca3aa60df48","impliedFormat":1},{"version":"62e68ce120914431a7d34232d3eca643a7ddd67584387936a5202ae1c4dd9a1b","impliedFormat":1},{"version":"91d695bba902cc2eda7edc076cd17c5c9340f7bb254597deb6679e343effadbb","impliedFormat":1},{"version":"e1cb8168c7e0bd4857a66558fe7fe6c66d08432a0a943c51bacdac83773d5745","impliedFormat":1},{"version":"a464510505f31a356e9833963d89ce39f37a098715fc2863e533255af4410525","impliedFormat":1},{"version":"0612b149cabbc136cb25de9daf062659f306b67793edc5e39755c51c724e2949","impliedFormat":1},{"version":"2579b150b86b5f644d86a6d58f17e3b801772c78866c34d41f86f3fc9eb523fe","impliedFormat":1},{"version":"e4b3a3e1b21a194b29d35488ec880948fc2ef8e937288463ea2981ad62a7b106","impliedFormat":1},{"version":"0353e05b0d8475c10ddd88056e0483b191aa5cdea00a25e0505b96e023f1a2d9","impliedFormat":1},{"version":"6a312caabb43c284a4b0da60d5c24f285338096eb9e977af1faca38d32a34685","impliedFormat":1},{"version":"b6eda93163beb978dd0d3042b11c60373506400c94613c0b40d1c0a9a9f1020e","impliedFormat":1},{"version":"a8af4739274959d70f7da4bfdd64f71cfc08d825c2d5d3561bc7baed760b33ef","impliedFormat":1},{"version":"99193bafaa9ce112889698de25c4b8c80b1209bb7402189aea1c7ada708a8a54","impliedFormat":1},{"version":"70473538c6eb9494d53bf1539fe69df68d87c348743d8f7244dcb02ca3619484","impliedFormat":1},{"version":"c48932ab06a4e7531bdca7b0f739ace5fa273f9a1b9009bcd26902f8c0b851f0","impliedFormat":1},{"version":"df6c83e574308f6540c19e3409370482a7d8f448d56c65790b4ac0ab6f6fedd8","impliedFormat":1},{"version":"ebbe6765a836bfa7f03181bc433c8984ca29626270ca1e240c009851222cb8a7","impliedFormat":1},{"version":"20f630766b73752f9d74aab6f4367dba9664e8122ea2edcb00168e4f8b667627","impliedFormat":1},{"version":"468df9d24a6e2bc6b4351417e3b5b4c2ca08264d6d5045fe18eb42e7996e58b4","impliedFormat":1},{"version":"954523d1f4856180cbf79b35bd754e14d3b2aea06c7efd71b254c745976086e9","impliedFormat":1},{"version":"31a030f1225ab463dd0189a11706f0eb413429510a7490192a170114b2af8697","impliedFormat":1},{"version":"6f48f244cd4b5b7e9a0326c74f480b179432397580504726de7c3c65d6304b36","impliedFormat":1},{"version":"5520e6defac8e6cdced6dd28808fafe795cb2cd87407bb1012e13a2b061f50b7","impliedFormat":1},{"version":"c3451661fb058f4e15971bbed29061dd960d02d9f8db1038e08b90d294a05c68","impliedFormat":1},{"version":"1f21aefa51f03629582568f97c20ef138febe32391012828e2a0149c2c393f62","impliedFormat":1},{"version":"b18141cda681d82b2693aef045107a910b90a7409ecff0830e1283f0bb2a53e6","impliedFormat":1},{"version":"18eb53924f27af2a5e9734dce28cf5985df7b2828dade1239241e95b639e9bf1","impliedFormat":1},{"version":"a9f1c52f4e7c2a2c4988b5638bd3dbfe38e408b358d02dd2fb8c8920e877f088","impliedFormat":1},{"version":"a7e10a8ad6536dd0225029e46108b18cee0d3c15c2f6e49bd62798ad85bc57b6","impliedFormat":1},{"version":"8db1ed144dd2304b9bd6e41211e22bad5f4ab1d8006e6ac127b29599f4b36083","impliedFormat":1},{"version":"843a5e3737f2abbbbd43bf2014b70f1c69a80530814a27ae1f8be213ae9ec222","impliedFormat":1},{"version":"6fc1be224ad6b3f3ec11535820def2d21636a47205c2c9de32238ba1ac8d82e6","impliedFormat":1},{"version":"5a44788293f9165116c9c183be66cefef0dc5d718782a04847de53bf664f3cc1","impliedFormat":1},{"version":"afd653ae63ce07075b018ba5ce8f4e977b6055c81cc65998410b904b94003c0a","impliedFormat":1},{"version":"9172155acfeb17b9d75f65b84f36cb3eb0ff3cd763db3f0d1ad5f6d10d55662f","impliedFormat":1},{"version":"71807b208e5f15feffb3ff530bec5b46b1217af0d8cc96dde00d549353bcb864","impliedFormat":1},{"version":"1a6eca5c2bc446481046c01a54553c3ffb856f81607a074f9f0256c59dd0ab13","impliedFormat":1},{"version":"6ecc423e71318bafbd230e6059e082c377170dfc7e02fccfa600586f8604d452","impliedFormat":1},{"version":"772f9bdd2bf50c9c01b0506001545e9b878faa7394ad6e7d90b49b179a024584","impliedFormat":1},{"version":"ccb26251684230c0e18bdc9fdffa313a9f92ba9f1e1c590bf4638cd5ca08b3e5","impliedFormat":1},{"version":"7467736a77548887faa90a7d0e074459810a5db4bbc6de302a2be6c05287ccae","impliedFormat":1},{"version":"39504a2c1278ee4d0dc1a34e27c80e58b4c53c08c87e3a7fc924f18c936bebb5","impliedFormat":1},{"version":"cd1ccdd9fd7980d43dfede5d42ee3d18064baed98b136089cf7c8221d562f058","impliedFormat":1},{"version":"d60f9a4fd1e734e7b79517f02622426ea1000deb7d6549dfdece043353691a4e","impliedFormat":1},{"version":"ec05ccc3a2e35ef2800a5b5ed2eb2ad4cd004955447bebd86883ddf49625b400","impliedFormat":1},{"version":"403d28b5e5f8fcff795ac038902033ec5890143e950af45bd91a3ed231e8b59c","impliedFormat":1},{"version":"c73b59f91088c00886d44ca296d53a75c263c3bda31e3b2f37ceb137382282be","impliedFormat":1},{"version":"e7aa2c584edb0970cb4bb01eb10344200286055f9a22bc3dadcc5a1f9199af3e","impliedFormat":1},{"version":"bfeb476eb0049185cb94c2bfcadb3ce1190554bbcf170d2bf7c68ed9bb00458e","impliedFormat":1},{"version":"ae23a65a2b664ffe979b0a2a98842e10bdf3af67a356f14bbc9d77eb3ab13585","impliedFormat":1},{"version":"2db00053dff66774bc4216209acf094dd70d9dfd8211e409fc4bd8d10f7f66f6","impliedFormat":1},{"version":"eccf6ad2a8624329653896e8dbd03f30756cbd902a81b5d3942d6cf0e1a21575","impliedFormat":1},{"version":"1930c964051c04b4b5475702613cd5a27fcc2d33057aa946ff52bfca990dbc84","impliedFormat":1},{"version":"762992adfa3fbf42c0bce86caed3dc185786855b21a20265089770485e6aa9d3","impliedFormat":1},{"version":"1dbdb9a095f0619197019e870f3481a91e9281c77b0092a19ddfd1903066cd54","impliedFormat":1},{"version":"62463aa3d299ae0cdc5473d2ac32213a05753c3adce87a8801c6d2b114a64116","impliedFormat":1},{"version":"16d1ff93435f6e81a94d2993b290e708ed84131e23a70c5838d80ed77c006618","impliedFormat":1},{"version":"bd3e38cbf8108b661c591dcd03290d5cf2f2a8a1c74b045ba6b6bf4118b0a967","impliedFormat":1},{"version":"40abfc1faa2971acedb69bde8d8c4bbd4edce4af12f786e747dfb8298e6a05a1","impliedFormat":1},{"version":"4423628def6b7993f94afbddba7dd2b0668f85f6dac83c4b8f8a578ee95524f9","impliedFormat":1},{"version":"f689c0633e8c95f550d36af943d775f3fae3dac81a28714b45c7af0bbb76a980","impliedFormat":1},{"version":"fef736cfb404b4db9aa942f377dbbac6edb76d18aabd3b647713fa75da8939e9","impliedFormat":1},{"version":"0495afa06118083a11cd4da27acfd96a01b989aff0fc633823c5febe9668ef15","impliedFormat":1},{"version":"67feb4436be89f58ba899dec57f6e703bee1bb7205ba21ab50fca237f6753787","impliedFormat":1},{"version":"75849f5ead7684bf85ee9cce7e84683ed4332fa187f8ee0978ba9df96c5cee06","impliedFormat":1},{"version":"b5325ff5c9dc488bb9c87711faf2b73f639c45f190b81df88ed056807206958b","impliedFormat":1},{"version":"cc4f5179acd0a8efad722a44c4621d0da29169e03d78a452a27f73e1e7f27985","impliedFormat":1},{"version":"a743cf98667fdbb6989d9a7629d25a9824a484ce639bbf2740dc809341e6dbce","impliedFormat":1},{"version":"a16d79b3c260525e9637a0d224d8461305097bb255e4a53b4c3d2d08ec3463fa","impliedFormat":1},{"version":"bb732222ec0c3c23753dcfbafd78ea3eba480c068d5b5c28d6f12d5bc1516cf0","impliedFormat":1},{"version":"8fc97ef271771dc6f81a9c846d007ac4f0cb5779e3f441c1de54dfda5046fe7b","impliedFormat":1},{"version":"649bc33e15b742fdfe68157f0c08dde7f7355d027515c321ca076f13c2b207e2","impliedFormat":1},{"version":"7b36f5bce24167f089e4d3601e5fde14f0a233e1a0954df5ec56ae07f36e2219","impliedFormat":1},{"version":"1c225a18846203fafc4334658715b0d3fd3ee842c4cfd42e628a535eda17730d","impliedFormat":1},{"version":"7ce93da38595d1caf57452d57e0733474564c2b290459d34f6e9dcf66e2d8beb","impliedFormat":1},{"version":"d7b672c1c583e9e34ff6df2549d6a55d7ca3adaf72e6a05081ea9ee625dac59f","impliedFormat":1},{"version":"f3a2902e84ebdef6525ed6bf116387a1256ea9ae8eeb36c22f070b7c9ea4cf09","impliedFormat":1},{"version":"33bb0d96cea9782d701332e6b7390f8efae3af92fd3e2aa2ac45e4a610e705d6","impliedFormat":1},{"version":"ae3e98448468e46474d817b5ebe74db11ab22c2feb60e292d96ce1a4ee963623","impliedFormat":1},{"version":"f0a2fdee9e801ac9320a8660dd6b8a930bf8c5b658d390ae0feafdba8b633688","impliedFormat":1},{"version":"7beb7f04f6186bdac5e622d44e4cac38d9f2b9fcad984b10d3762e369524dd77","impliedFormat":1},{"version":"946b83193d14911c8701e8f9c54a3a3a2b79d148bffa1578b50e5172f80a47f1","signature":"16c83ed8a0c184ba85af8a082994b859cd0f0395ff9a597b4cc60c22bac9649f"},{"version":"48c8accb000f1b033455339d31a81559f2b3e6badd1fd89e765f9608edf9f8d8","signature":"52b4c685448151ef2595e9074761cd0fc141e624c257c20f4f484c7c5d69cf19"},{"version":"dff93e0997c4e64ff29e9f70cad172c0b438c4f58c119f17a51c94d48164475a","impliedFormat":1},{"version":"fd1ddf926b323dfa439be49c1d41bbe233fe5656975a11183aeb3bf2addfa3bb","impliedFormat":1},{"version":"6dda11db28da6bcc7ff09242cd1866bdddd0ae91e2db3bea03ba66112399641a","impliedFormat":1},{"version":"ea4cd1e72af1aa49cf208b9cb4caf542437beb7a7a5b522f50a5f1b7480362ed","impliedFormat":1},{"version":"903a7d68a222d94da11a5a89449fdd5dd75d83cd95af34c0242e10b85ec33a93","impliedFormat":1},{"version":"e7fe2e7ed5c3a7beff60361632be19a8943e53466b7dd69c34f89faf473206d7","impliedFormat":1},{"version":"b4896cee83379e159f83021e262223354db79e439092e485611163e2082224ff","impliedFormat":1},{"version":"5243e79a643e41d9653011d6c66e95048fc0478eb8593dc079b70877a2e3990e","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"76e7352249c42b9d54fe1f9e1ebcef777da1cb2eb33038366af49469d433597b","impliedFormat":1},{"version":"88cb622dd0ec1ef860e5c27fa884e60d2eba5ae22c7907dff82c56a69bdd2c8a","impliedFormat":1},{"version":"eb234b3e285e8bc071bdddc1ec0460095e13ead6222d44b02c4e0869522f9ba3","impliedFormat":1},{"version":"c85114872760189e50fef131944427b0fb367f0cc0b6dce164bb427a6fd89381","impliedFormat":1},{"version":"5ad69b0d7e7bdbcd3adfdb6a3e306e935c9c2711b1c60493646504a2f991346e","impliedFormat":1},{"version":"a12a667efdeb03b529bd4ebb4032998ddd32743799f59f9f18b186f8e63a2cf1","impliedFormat":1},{"version":"cee7efa0ae4c58deab218d1df0d1bf84abfd5c356cff28bca1421489cba13a19","impliedFormat":1},{"version":"f9e034b1ae29825c00532e08ea852b0c72885c343ee48d2975db0a6481218ab3","impliedFormat":1},{"version":"1193f49cbb883f40326461fe379e58ffa4c18d15bf6d6a1974ad2894e4fb20f3","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"2e2bc02af7b535d267be8cecbc5831466dd71c5af294401821791b26cb363c47","impliedFormat":1},{"version":"986affe0f60331f20df7d708ee097056b0973d85422ec2ce754af19c1fa4e4b1","impliedFormat":1},{"version":"8f06c2807459f1958b297f4ad09c6612d7dbd7997c9ccfc6ea384f7538e0cea8","impliedFormat":1},{"version":"a7de30cd043d7299bfe9daaca3732b086e734341587c3e923b01f3fd74d31126","impliedFormat":1},{"version":"78f7fad319e4ac305ffe8e03027423279b53a8af4db305096aa75d446b1ec7af","impliedFormat":1},{"version":"3bf58923a1d27819745bdad52bca1bdced9fef12cc0c7f8a3fd5f4e0206b684a","impliedFormat":1},{"version":"8fc11f102df58f03d36fcbf0da3efa37c177f5f18f534c76179ceef0c3a672cd","impliedFormat":1},{"version":"e6935ab0f64a886e778c12a54ed6e9075ce7e7f44723ff0d52020a654b025a09","impliedFormat":1},{"version":"9829af7653a29f1b85d3dd688a6c6256087c0b737b85d84b630e7f93fd420faf","impliedFormat":1},{"version":"3d9d985d41e536fcf79fc95082925c2f1ae5ade75814ad2bd70c0944747f7ac4","impliedFormat":1},{"version":"03b419ce598d77fe4d1705c8281a797a908f57ce24a15d6174d7e7276d355a65","impliedFormat":1},{"version":"b0e6f1b1569779cf567317c2265d67460d1d3b4de4e79126533109d87dc16d50","impliedFormat":1},{"version":"18cb8be1326ffa4158abd8d84c9b0a189c0f52201f12f7af2d2af830c077f2bf","impliedFormat":1},{"version":"9c15e2b87cd3d8b18881bcc7d72b2d1dc6d5fe078b674ae12c12c19ec09a6a1a","impliedFormat":1},{"version":"0de68916e23c1e3df800f9f61cdd7c506ceb0656fcbc245ee9974aad26786781","impliedFormat":1},{"version":"80c538ee6a62249e77ba3de07efb23d4a7ca8946499c065261bf5079f1cd3cf0","impliedFormat":1},{"version":"ad4277862bdcbe1cf5c1e0d43b39770e1ccc033da92f5b9ff75ca8c3a03a569b","impliedFormat":1},{"version":"46a86c47400a564df04a1604fcac41cb599ebbada392527a1462c9dfe4713d78","impliedFormat":1},{"version":"f342dcb96ad26855757929a9f6632704b7013f65786573d4fdcd4da09f475923","impliedFormat":1},{"version":"dcd467dc444953a537502d9e140d4f2dc13010664d4216cc8e6977b3c5c3efa3","impliedFormat":1},{"version":"ca476924dfa6120b807a14e0a8aea7b061b8bdaa7eecdb303d7957c769102e96","impliedFormat":1},{"version":"848fe622fac070f8af9255e5d63fe829e3da079cae30be48fb6deb5dbf2c27c6","impliedFormat":1},{"version":"f3bb275073b5db8931c042d347fdce888775436a4774836221af57fdccec32ff","impliedFormat":1},{"version":"03cb8cb2f8ef002a5cac9b8c9a0c02e5fd09de128b9769c5b920a6cbfc080087","impliedFormat":1},{"version":"3e5ebc3a6a938a03a361f4cdb9a26c9f5a1bac82b46273e11d5d37cd8eccc918","impliedFormat":1},{"version":"a0a7800e71c504c21f3051a29f0f6f948f0b8296c9ebffeb67033822aabf92e0","impliedFormat":1},{"version":"6a219f12b3e853398d51192736707e320699a355052687bad4729784649ff519","impliedFormat":1},{"version":"4294a84634c56529e67301a3258448019e41c101de6b9646ea41c0ecdc70df92","impliedFormat":1},{"version":"80fc027e10234b809a9a40086114a8154657dcb8478d58c85ef850592d352870","impliedFormat":1},{"version":"27f24ba43083d406b372e9eff72dbc378afa0503dac1c1dd32499cc92fc9cb22","impliedFormat":1},{"version":"12594611a054ca7fe69962f690a4e79922d563b4b434716eb855d63a9d11a78f","impliedFormat":1},{"version":"1440eca2d8bc47ebdbc5a901b369de1b7b39c3297e5b4ac9631899f49ea9740b","impliedFormat":1},{"version":"fc9897fbada879bda954603ea204c6e5df913262a90ad848b5efaab182b58033","impliedFormat":1},{"version":"93443b2da120bea58eb48bd7da86559d4cf868dc2d581eebf9b48b51ba1e8894","impliedFormat":1},{"version":"94be5c5f8cf26bbf53554cba4b112e30134349b14f3c0fd0ede3b51ec25a7174","impliedFormat":1},{"version":"c2956026078814be6dc01515213aeb1eb816e81715085952bbc97b7c81fe3f6d","impliedFormat":1},{"version":"ac3a69c529ab256532825b08902aec65d0d88c66963e39ae19a3d214953aedc5","impliedFormat":1},{"version":"fe29108f3ddf7030c3d573c5226ebe03213170b3beca5200ca7cb33755184017","impliedFormat":1},{"version":"04d5bfb0a0eecd66c0b3f522477bf69065a9703be8300fbea5566a0fc4a97b9d","impliedFormat":1},{"version":"d5e3e13faca961679bed01d80bc38b3336e7de598ebf9b03ec7d31081af735ad","impliedFormat":1},{"version":"de05a488fb501de32c1ec0af2a6ddfe0fdef46935b9f4ffb3922d355b15da674","impliedFormat":1},{"version":"9f00f2bc49f0c10275a52cb4f9e2991860d8b7b0922bfab6eafe14178377aa72","impliedFormat":1},{"version":"7bd94408358caf1794ad24546ca0aa56f9be6be2d3245d0972fcb924b84a81fd","impliedFormat":1},{"version":"0e7c3660d1df392b6f6ae7fa697f0629ae4404e5b7bac05dd81136247aff32d5","impliedFormat":1},{"version":"b0b3636502dc0c50295f67747968f202f7b775eac5016329606d1bc2888d5dd9","impliedFormat":1},{"version":"f9ede7ea553dc197fd5d2604f62cda1be1aea50024ed73237d9e3144f0c93608","impliedFormat":1},{"version":"b1005ae67226fd9b7b65333d9a351917f517d421a0c63b7cde59bec3b8e3562f","impliedFormat":1},{"version":"c6688fd4c2a8a24c9b80da3660a7a06b93ed37d12d84f3ba4aa071ffc125e75f","impliedFormat":1},{"version":"20efc25890a0b2f09e4d224afaaf84917baa77b1aee60d9dfd11ff8078d73f93","impliedFormat":1},{"version":"d00b48096854d711cee688e7ff1ca796c1bf0d27ca509633c2a98b85cc23d47d","impliedFormat":1},{"version":"30f116226d0e53c6cbbdbc967479d5c8036935f771b2af51987c2e8d4cc7fc6a","impliedFormat":1},{"version":"8be98ffc3c54fb40b220796b796388f8ade50c8ba813a811bffccf98006566d5","impliedFormat":1},{"version":"4e82eed3c1b5084132708ce030f8ec90b69e4b7bb844dcaacd808045ae24c0e2","impliedFormat":1},{"version":"eae8c7cbcb175b997ce8e76cd6e770eca5dba07228f6cb4a44e1b0a11eb87685","impliedFormat":1},{"version":"b3ded8e50b3cdf548d7c8d3b3b5b2105932b04a2f08b392564f4bc499407e4e5","impliedFormat":1},{"version":"4ed2d8fb4c598719985b8fbef65f7de9c3f5ae6a233fc0fe20bd00193c490908","impliedFormat":1},{"version":"6da51da9b74383988b89e17298ceca510357f63830f78b40f72afe4d5a9cee3e","impliedFormat":1},{"version":"512a079a1a3de2492c80aa599e173b2ea8cc6afb2800e3e99f14330b34155fe1","impliedFormat":1},{"version":"f281f20b801830f2f94b2bc0b18aba01d4fb50c2f4a847ffcadff39de31c8b80","impliedFormat":1},{"version":"738ddac5ab5b61d70d3466f3906d6b3c83c8786e922c6e726a6597296181ae87","impliedFormat":1},{"version":"90d202ace592f7b51b131a5890ec93e4df774c8677a485391c280cef0ea53f48","impliedFormat":1},{"version":"b34e1861949a545916696ef40f4a7fe71793661e72dd4db5e04cacc60ef23f7a","impliedFormat":1},{"version":"dd3f42651cfa863ded8fa0b0608fb892b826e254a0a6cbc447388cb5e11bffd5","impliedFormat":1},{"version":"8e3842ba15690ab4b340893a4552a8c3670b8f347fbb835afe14be98891eef10","impliedFormat":1},{"version":"e7b9673dcd3d1825dbd70ad1d1f848d68189afc302ecdafc6eb30cbe7bd420b5","impliedFormat":1},{"version":"15911b87a2ad4b65b30c445802d55fa6186c66068603113042e8c3dfa4a35e2a","impliedFormat":1},{"version":"a9dc7b8d06b1f69d219f61fa3f7ac621e6e3a8d5a430e800cd7d1a755cc058c3","impliedFormat":1},{"version":"f8c496656cb5fd737931b4d6c60bd72a97c48f37c07dcb74a593dd24ac3f684a","impliedFormat":1},{"version":"f2cf1d33c458ac091983e5dac1613f264d48a69b281e43c5b055321320082358","impliedFormat":1},{"version":"0fa43815d4b05eafe97c056dae73c313f23a9f00b559f1e942d042c7a04db93c","impliedFormat":1},{"version":"e769097e5ea39d2ed548eeb9c093e90f26dde167f95eb80fbdd4efb041778387","impliedFormat":1},{"version":"a02db6aabaa291a85cf52b0c3f02a75301b80be856db63d44af4feea2179f37b","impliedFormat":1},{"version":"e1e94e41f47a4496566a9f40e815687a2eca1e7b7910b67704813cf61248b869","impliedFormat":1},{"version":"557ba6713b2a6fefd943399d5fb6c64e315dc461e9e05eaa6300fdbeeda5d0a1","impliedFormat":1},{"version":"1f7eeb69504ad94d16f4731f707d2af879adc7487dc35b146e2d86825bb779b4","impliedFormat":1},{"version":"c1b5c480e4d38377c82f9f517c12014d3d4475c0e607c4845e0836e0e89bbf7d","impliedFormat":1},{"version":"1a014a8365354f37ea245349a4361d3b46589be7921fe7f1dbf408cc0f084bab","impliedFormat":1},{"version":"87fc4a324b9fa5c9b93a13b5ae1b55ea390929ec1b0450afebff9620921a9cc1","impliedFormat":1},{"version":"73c0b8df0e282e26a53820f53502847a043bd77a9cda78782207d5349842fba2","impliedFormat":1},{"version":"5c7391307b9a7c540d678f015d687c277269aa9171f441467e20bab15694db40","impliedFormat":1},{"version":"082aa8710bbf3d16b877e798341c69599fdd487b4dc34d374ab3e3ec6d46f690","impliedFormat":1},{"version":"acb9367f45f12526ea808d6da48ab77eee1ceb2b6fe47ab02bbcc7cce4c972b0","impliedFormat":1},{"version":"d6db974317fd9ff66a923555464850dcf87976054a7adacf09d53323f64686d1","impliedFormat":1},{"version":"79f4812dffe8f933c12c341d68eee731cb6dd7f2a4bb20097c411560c97a6263","impliedFormat":1},{"version":"c446e8f3bd5b16e121252e05ba7696524ca95ec3f819c12fb8c37e7836744769","impliedFormat":1},{"version":"23386bb0bcb20fcb367149f22f5c6468b53f1987e86fd25de875ffb769e4d241","impliedFormat":1},{"version":"3913806467307a4bd874b105ac3e79ac261ab986fbdce7f0feea26cbcee95765","impliedFormat":1},{"version":"a9417a980a4300048d179d0295e5b7dd76e4db7b566344779ee576cbd084b3c4","impliedFormat":1},{"version":"b96760c030c41fa078b35ea05fc3e7e4d2a81710a8329271d42b6abc110d5dbe","impliedFormat":1},{"version":"ef8ff23609cec5eb95e2beb98132ad90c0c5075415b50228b12f89ffaf981a4a","impliedFormat":1},{"version":"80bbc9365ca8398c69eae77cdf7284d07192a17dacf1904095ab4c89f4520a5d","impliedFormat":1},{"version":"174a3381f98fc78c451528cb1aa1baaa37a51852ec6fa90d42efd876301537c1","impliedFormat":1},{"version":"2c0de27d99a9331cfac8bc5c6bbd174e0593628bf3df268faa6c4188962a9549","impliedFormat":1},{"version":"1a17bcbc124a098987f7b1adbbcd412f8372ecb37e352b1c50165dac439eee5e","impliedFormat":1},{"version":"0ef49170735d9e5902f55b72465accadd0db93cae52544e3c469cbc8fbdbf654","impliedFormat":1},{"version":"f68a30e88dfa7d12d8dd4609bc9d5226a31d260bf3526de5554feed3f0bf0cb6","impliedFormat":1},{"version":"d8acc6f92c85e784acbbc72036156a4c1168a18cba5390c7d363040479c39396","impliedFormat":1},{"version":"1fffef141820a0556f60aa6050eccb17dbcdc29ecd8a17ee4366573fd9c96ce3","impliedFormat":1},{"version":"d2598c755c11170e3b5f85cd0c237033e783fd4896070c06c35b2246879612b8","impliedFormat":1},{"version":"8d2044a28963c6c85a2cf4e334eb49bb6f3dd0c0dfe316233148a9be74510a0e","impliedFormat":1},{"version":"2660eb7dba5976c2dcbea02ec146b1f27109e7bee323392db584f8c78a6477dd","impliedFormat":1},{"version":"54a4f21be5428d7bff9240efb4e8cae3cb771cad37f46911978e013ff7289238","impliedFormat":1},{"version":"10837df0382365c2544fb75cb9a8f6e481e68c64915362941b4ea4468fd0ef61","impliedFormat":1},{"version":"cc4483c79688bd3f69c11cb3299a07d5dcf87646c35b869c77cde553c42893cf","impliedFormat":1},{"version":"faf76eeb5dd5d4d1e37c6eb875d114fa97297c2b50b10e25066fed09e325a77a","impliedFormat":1},{"version":"b741703daf465b44177ef31cc637bde5cd5345e6c048d5807108e6e868182b01","impliedFormat":1},{"version":"9c3e59360437a3e2a22f7f1032559a4c24aba697365b62fb4816b7c8c66035b8","impliedFormat":1},{"version":"393446ab3f0dd3449ad6fd4c8abd0c82b711c514b9e8dfbf75222bbc48eb0cb6","impliedFormat":1},{"version":"ea02a962453ec628e886a6c5d0fc03bf4da9dfa38e1f8d42e65e07b2651edd85","impliedFormat":1},{"version":"5eb09226bfa1928721a438e37c004647fc19d8d1f4817bddcc350e57fb32935f","impliedFormat":1},{"version":"5994ed389d7fc28c03dad647ecb62e5349160bde443b0c7a54e0e10d6368bcbd","impliedFormat":1},{"version":"e1ff7df643e1aa1dbf1863113a913358844ed66f1af452e774834b0008e578b2","impliedFormat":1},{"version":"c5114285d0283d05e09cd959e605a4f76e5816c2fbe712241993fd66496083e5","impliedFormat":1},{"version":"2752e949c871f2cbd146efa21ebc34e4693c0ac8020401f90a45d4e150682181","impliedFormat":1},{"version":"c349cea980e28566998972522156daac849af8a9e4a9d59074845e319b975f5d","impliedFormat":1},{"version":"0370682454d1d243b75a7c7031bc8589531a472e927b67854c1b53b55ee496ea","impliedFormat":1},{"version":"cf6b4dbb5a1ac9ece24761c3a08682029851b292b67113a93b5e2bfd2e64e49d","impliedFormat":1},{"version":"baa9fbd480342a1d5e3e11ba3629f2826d18d4a765f1f9693ab87bfb3ce54adb","impliedFormat":1},{"version":"cb2fea712720bb7951d7e5d63db8670bf4a400d3e0fb197bceb6ef44efe36ec3","impliedFormat":1},{"version":"1b4fcfc691980d63a730d47d5309d9f85cdddc18a4c83f6e3af20936d103e3ff","impliedFormat":1},{"version":"ef19d5fe42541f8b529bccd10f488d12caefa3b57a0deb1ed6143219cba716b4","impliedFormat":1},{"version":"84b5e6269d7cf53008a479eeb533ef09d025eafb4febe3729301b8d4daf37ff2","impliedFormat":1},{"version":"04196b5d9edd60b9648daa329c3355d7c95f33b7e520e7835eb21002174a8b8c","impliedFormat":1},{"version":"637c0d7d8cedbc64a3c228c3fa6bef884746f7a16a631e7532f9828c9ac06b8a","impliedFormat":1},{"version":"9e665aea79b702fd612ffb7ac741e4160d35d8d696a789129ebcbaea003beb3d","impliedFormat":1},{"version":"c8eeffebe6c2c6800f73aa59d1436d4dadbad7f3ddda02a831ffa66114c3122d","impliedFormat":1},{"version":"caf3f141f93cbf527ad18ecce326311d70342fe1e16ce93e5ce8d6bcdf02bd48","impliedFormat":1},{"version":"4283d88023e6e9645626475e392565464eae99068f17e324cfc40a27d10fe94f","impliedFormat":1},{"version":"51e3b73dea24e2a9638345fb7a2a7ef5d3aa2e7a285ad6bd446b45fab826def1","impliedFormat":1},{"version":"77c4c9f71f3736ed179043a72c4fad9832023855804fbe5261a956428b26a7a6","impliedFormat":1},{"version":"7232467057ec57666b884924f84fd21cd3a79cc826430c312e61a5bc5758f879","impliedFormat":1},{"version":"624f5dbfd76f2d77f20ace318e8cb918608a296106e55587fb443ef3030c595d","impliedFormat":1},{"version":"c78bb1275f640e4902ad5c3383ab4f54f73322a59c95924ab671125ba9546294","impliedFormat":1},{"version":"1cb0838371e8213ce116a1497bb86bcf01a11a755b77587980ee7cfb2d625ece","impliedFormat":1},{"version":"f5d29fd7099274774c203d94d8c0238770ab411b922b978be15a2c3ec8ab845c","impliedFormat":1},{"version":"6d99b5b226a65890ce27796e086d58c6351f601757c1e9f217a69e944d05e7e6","impliedFormat":1},{"version":"10b322f5bc001bec9bf08513c978c120adb0abe3c82793b11bdaf75873426c05","impliedFormat":1},{"version":"51b4efdc8dc92bc6ae2c44d4edad265decad70e8577d5653fc7f85200cbf6c6e","impliedFormat":1},{"version":"c3fa40ac56aa2598d9133c90b115eeb39bbad56c6dfca350dc8435b8b107fe26","impliedFormat":1},{"version":"cc542183b68b048a8cf64eb6231b3d0852f7f4d0191d4637c9d1d4c3f44b83b5","impliedFormat":1},{"version":"4b954a3d432dca82c787c06d2f1cca0fe673a4b440c5e0195429bd1fe43b324a","impliedFormat":1},{"version":"c6fd975d319a70d6ba90bf38c34ac8efebe531214038fe561a27f89f2203f78e","impliedFormat":1},{"version":"a818204639081cf07d80885b88aff5120e5a4135211162f5e08cfc00ef3bf5b6","impliedFormat":1},{"version":"c194ca06da86829b836bb188dffc05543bbea3cbda797667c7a7cade2f907646","impliedFormat":1},{"version":"6df6afb0424a7c7581ee98a9333d30e893b943d0a4709b88f18c252ddc3101b4","impliedFormat":1},{"version":"59c2cbf84c22fae87f4f506f36a7258a72b931b602115067dfd6008ee526f8c0","impliedFormat":1},{"version":"1e09cd1bc6b6baa0733e1e799c4533105ea79cbb109937c71e8c870e14693216","impliedFormat":1},{"version":"0b60cfcd94fa9bd9fa58176650c7e4c72f99b9d30a50d0b55aa08b510276af96","impliedFormat":1},{"version":"ba25681012e5117866a2456dd3557e24aa5a946ed641126aa4469880db526883","impliedFormat":1},{"version":"2b1e058a8c3944890c7ce7c712ecfd0f2645420ee67537ac031d7afe6feda6e0","impliedFormat":1},{"version":"175dbcd1f226eebd93fd9628e9180fb537bb1171489b33db7b388ef0f4e73b37","impliedFormat":1},{"version":"69ec6331ee3a7cd6bade5d5f683f1705c1041ff77432aa18c50d2097e61f93db","impliedFormat":1},{"version":"06f34a0f2151b619314fc8a54e4352a40fd5606bda50623c326c3be365cc1ef9","impliedFormat":1},{"version":"6c6dcb49af3d72d823334f74a554b2f9917e3a59b3219934b7ae9e6b03a3e8b4","impliedFormat":1},{"version":"9628be9799a060a3f7fe2e1f08fab2b21cdd7e97a2bbc3ef2f0029be46e0d7da","impliedFormat":1},{"version":"3d24aec533fe2f035b0675ba1c0e55e8680a714fff2a517e0fb388279476701c","impliedFormat":1},{"version":"224e2edff4c1e67d9c5179aa70e31d0dc7dd4ea5a9e80ffde121df9e5254eef2","impliedFormat":1},{"version":"e324c3b2058f9525cf5c11915284f9dfdf7550c98f103429b271fe723c4f8e14","impliedFormat":1},{"version":"70a3659d557bb683091f9d318762a330a3acb3954f5e89e5134d24c9272192f1","impliedFormat":1},{"version":"d9fe2c804f7db2f19e4323601278b748dc2984798f265c37cd37bb84e6c88ab8","impliedFormat":1},{"version":"3525647a73ae2124fa8f353f0a078b44ff1ee6f82958c2bb507de61575f12fff","impliedFormat":1},{"version":"d7238315cbd18ebeed93f41ad756a0ed9759824b9b158c3d7a1e0b71682d8966","impliedFormat":1},{"version":"eeba7376ce9721610d3282a4159f3c60154b7b3877fb251f7b3211b085cfdc18","impliedFormat":1},{"version":"643efb9d7747ee1dd50ff5bd4b7a87351157e55988c7d2f90ffbdf124f063931","impliedFormat":1},{"version":"788c870cac6b39980a5cc41bf610b1873952ecdd339b781f0687d42682ffc5dc","impliedFormat":1},{"version":"d51a2e050c8a131b13ec9330a0869e5ac75b9ac4ebde52d5f474e819510b5263","impliedFormat":1},{"version":"b694593470a9bf370987e5b0757d5a9a88a46a703c9cf7921969f3379ce16148","impliedFormat":1},{"version":"6c034655fa83236bd779cacfc1d5b469d6e2150a1993e66ecca92376a8b2c6a7","impliedFormat":1},{"version":"6bd6933efe9d6263d9f1a534a28a8f88b1e4c331b95d85d39350cf02eca8dce0","impliedFormat":1},{"version":"658cf468a05b2b591fcd5455a76d9927face59ac4a21b4965982b3c234f5d289","impliedFormat":1},{"version":"6bf893d1b824bde22ee5880c0c760c1dd0a5163c38d22311441a3341b6965d2d","impliedFormat":1},{"version":"579d9d3c25058b854a6f7cc6368a473efcaa0740f45db13cb508761d35fc0156","impliedFormat":1},{"version":"68705604f0666ba3862670153eb4f965c3079415e7ab30a35b3126e36277dc9e","impliedFormat":1},{"version":"28b415e70f9da0346545b7d2bcf361844a8e5778bd6b45bc1a2859f99700ff5b","impliedFormat":1},{"version":"a905f2f6785e3971bd97c42191394209d97f2aefb11841f7353dd9789821fa8c","impliedFormat":1},{"version":"e099c5ebddf80ae7285d380c7dd3b5d49c1347346ced51ae121b846833a8d102","impliedFormat":1},{"version":"aec91730b9f4d83758b4a45596317d34d6ecdbe9330a44629f53af47641b96ee","impliedFormat":1},{"version":"2321197343254570a8d4c868572059bfdfb683cf9d4099b6d4694250dac69471","impliedFormat":1},{"version":"18a3be03c31356b60ea1090bcc905d99e4983ca911cc70b34ad0b9b4d4e050c3","impliedFormat":1},{"version":"9833a67663f960dc2d1908a19365ddde55c0651235596ac60d7078a9be6f6e56","impliedFormat":1},{"version":"2bcb8920601b80911430979b6db4a58a7908a31334e74e4e22b75c65edce3587","impliedFormat":1},{"version":"c3186dc74d62d0fb6fba29841ccbf995614992526c37fac5c082d0f28b351e54","impliedFormat":1},{"version":"2306daed18f7f59542a99857a678ef818058eefa30c2a556af123a1cf53889cd","impliedFormat":1},{"version":"b41ed9285a09710807ce2c423e038dfe538e46e9183c0c05aadc27bfb9ae256a","impliedFormat":1},{"version":"56b9f9de03f28eb5922750a213d3f47b21a4f00a48c7c9b89bf1733623873d3a","impliedFormat":1},{"version":"2bdd736078e445858cb1d9df809ff3a2f00445d78664dd70b6794fb2156bdd53","impliedFormat":1},{"version":"2653fb2893a65c610ec17d0e454e2b16726f16118425f0bc8a38c801943ef7f5","impliedFormat":1},{"version":"74ffa4541a56571f379060acaf9ab86da6c889dfe1f588425807e0117e62bba5","impliedFormat":1},{"version":"cf4dc15ca9dc6c0995dd2a9264e5ec37d09d9d551c85f395034e812abdf60a99","impliedFormat":1},{"version":"73e8b003f39c7ce46d2811749dab1dd1b309235fd5c277bd672c30a98b5cf90f","impliedFormat":1},{"version":"4cb49e79595c6413fcb01af55a8a574705bf385bd2ec5cf8b777778952e2914a","impliedFormat":1},{"version":"d6b44382b2670f38c8473e7c16b6e8a9bfa546b396b920afc4c53410eeb22abf","impliedFormat":1},{"version":"3b5c6f451b7ad87e3fcd2008d3a6cb69bd33803e541e9c0fe35754201389158f","impliedFormat":1},{"version":"8329556a2e85e3c3ff3dff43141790ff624b0f5138cedec5bb793164cf8b088f","impliedFormat":1},{"version":"4c889ce7e61ca7f3b7733e0d2be80b3af373e080c922e04639aa25f22963ae63","impliedFormat":1},{"version":"2239a8cd90c48e0b5c075e51099e7e3b4fc3d4741e4d9cc4410d2544d4216946","impliedFormat":1},{"version":"f5aa57712223d7438799be67b0c4a0e5ac3841f6397b5e692673944374f58a83","impliedFormat":1},{"version":"774c37f8faed74c238915868ccc36d0afedfbafb1d2329d6a230966457f57cbd","impliedFormat":1},{"version":"bc41b711477270e8d6f1110d57863284d084b089a22592c7c09df8d4cc3d1d20","impliedFormat":1},{"version":"0c792fe4e5f383b4f085a0033553fb84ed9322b7923fd59d4575aa43135e050d","impliedFormat":1},{"version":"228ed3721f42cc25bfebceef33754ce4766414d975ff71d012f01f141dbe3549","impliedFormat":1},{"version":"08985cdb65bbfe3c70d0037794a3d0f0a5613f55c278c77277a7acc17205db57","impliedFormat":1},{"version":"22bdefb6b2107006ab203073218566443a52ab65eb5e4e8e86c3d38efe776588","impliedFormat":1},{"version":"0f01b48cee64391fabef3f344e6e86197dc921f0f88a6d45d133ac58283d9690","impliedFormat":1},{"version":"c86fea295c21ea01c93410eba2ec6e4f918b97d0c3bf9f1bb1960eabe417e7eb","impliedFormat":1},{"version":"05d41b3e7789381ff4d7f06d8739bf54cc8e75b835cb28f22e59c1d212e48ff3","impliedFormat":1},{"version":"6fbcfc270125b77808679b682663c7c6ad36518f5a528c5f7258bcd635096770","impliedFormat":1},{"version":"9d3bd4ee558de42e9d8434f7293b404c4b7a09b344e77c36bbe959696328d594","impliedFormat":1},{"version":"f63be9b46a22ee5894316cf71a4ba7581809dd98cf046109060a1214ee9e2977","impliedFormat":1},{"version":"dd3cc41b5764c9435b7cae3cc830be4ee6071f41a607188e43aa1edeba4fbb3e","impliedFormat":1},{"version":"b2dbb9485701a1d8250d9a35b74afd41b9a403c32484ed40ed195e8aa369ae70","impliedFormat":1},{"version":"5aa7565991c306061181bd0148c458bcce3472d912e2af6a98a0a54904cd84fc","impliedFormat":1},{"version":"9629e70ae80485928a562adb978890c53c7be47c3b3624dbb82641e1da48fd2f","impliedFormat":1},{"version":"c33d86e1d4753d035c4ea8d0fdb2377043bc894e4227be3ceabc8e6a5411ab2e","impliedFormat":1},{"version":"f9ec74382c95cbc85804daf0e9dabed56511a6dfb72f8a2868aa46a0b9b5eafc","impliedFormat":1},{"version":"1ff7a67731e575e9f31837883ddfc6bfcef4a09630267e433bc5aea65ad2ced4","impliedFormat":1},{"version":"0c4f6b6eb73b0fa4d27ce6eef6c2f1e7bd93d953b941e486b55d5d4b22883350","impliedFormat":1},{"version":"af9692ce3b9db8b94dcfbaa672cb6a87472f8c909b83b5aeea043d6e53e8b107","impliedFormat":1},{"version":"782f2628a998fd03f4ccbe9884da532b8c9be645077556e235149ca9e6bd8c7d","impliedFormat":1},{"version":"269b7db8b769d5677f8d5d219e74ea2390b72ea2c65676b307e172e8f605a74a","impliedFormat":1},{"version":"ae731d469fae328ba73d6928e4466b72e3966f92f14cd1a711f9a489c6f93839","impliedFormat":1},{"version":"90878ed33999d4ff8da72bd2ca3efb1cde76d81940767adc8c229a70eb9332b2","impliedFormat":1},{"version":"d7236656e70e3a7005dba52aa27b2c989ba676aff1cab0863795ac6185f8d54f","impliedFormat":1},{"version":"e327901e9f31d1ad13928a95d95604ee4917d72ad96092da65612879d89aba42","impliedFormat":1},{"version":"868914e3630910e58d4ad917f44b045d05303adc113931e4b197357f59c3e93e","impliedFormat":1},{"version":"7d59adb080be18e595f1ce421fc50facd0073672b8e67abac5665ba7376b29b9","impliedFormat":1},{"version":"275344839c4df9f991bcf5d99c98d61ef3ce3425421e63eeb4641f544cb76e25","impliedFormat":1},{"version":"c4f1cc0bd56665694e010a6096a1d31b689fa33a4dd2e3aa591c4e343dd5181c","impliedFormat":1},{"version":"81c3d9b4d90902aa6b3cbd22e4d956b6eb5c46c4ea2d42c8ff63201c3e9676da","impliedFormat":1},{"version":"5bfc3a4bd84a6f4b992b3d285193a8140c80bbb49d50a98c4f28ad14d10e0acc","impliedFormat":1},{"version":"a7cf6a2391061ca613649bc3497596f96c1e933f7b166fa9b6856022b68783ab","impliedFormat":1},{"version":"864c844c424536df0f6f745101d90d69dd14b36aa8bd6dde11268bb91e7de88e","impliedFormat":1},{"version":"c74a70a215bbd8b763610f195459193ab05c877b3654e74f6c8881848b9ddb7f","impliedFormat":1},{"version":"3fa94513af13055cd79ea0b70078521e4484e576f8973e0712db9aab2f5dd436","impliedFormat":1},{"version":"48ffc1a6b67d61110c44d786d520a0cba81bb89667c7cdc35d4157263bfb7175","impliedFormat":1},{"version":"7cb4007e1e7b6192af196dc1dacd29a0c3adc44df23190752bef6cbbc94b5e0b","impliedFormat":1},{"version":"3d409649b4e73004b7561219ce791874818239913cac47accc083fad58f4f985","impliedFormat":1},{"version":"051908114dee3ca6d0250aacb0a4a201e60f458085177d5eda1fc3cde2e570f3","impliedFormat":1},{"version":"3e8240b75f97eb4495679f6031fb02ad889a43017cae4b17d572324513559372","impliedFormat":1},{"version":"d82609394127fb33eed0b58e33f8a0f55b62b21c2b6c10f1d7348b4781e392cb","impliedFormat":1},{"version":"b0f8a6436fbaf3fb7b707e2551b3029650bfaeb51d4b98e089e9a104d5b559b5","impliedFormat":1},{"version":"eae0ac4f87d56dcf9fbcf9314540cc1447e7a206eee8371b44afa3e2911e520c","impliedFormat":1},{"version":"b585e7131070c77b28cc682f9b1be6710e5506c196a4b6b94c3028eb865de4a7","impliedFormat":1},{"version":"b92ac4cc40d551450a87f9154a8d088e31cff02c36e81db2976d9ff070ba9929","impliedFormat":1},{"version":"6f99b4a552fbdc6afd36d695201712901d9b3f009e340db8b8d1d3415f2776f5","impliedFormat":1},{"version":"43700e8832b12f82e6f519b56fae2695e93bb18dddb485ddea6583a0d1482992","impliedFormat":1},{"version":"e8165ea64af5de7f400d851aeea5703a3b8ac021c08bebc958859d341fa53387","impliedFormat":1},{"version":"6db546ea3ced87efda943e6016c2a748e150941a0704af013dfe535936e820e1","impliedFormat":1},{"version":"f521c4293b6d8f097e885be50c2fef97de3dd512ad26f978360bb70c766e7eae","impliedFormat":1},{"version":"a0666dfd499f319cc51a1e6d9722ed9c830b040801427bbdd2984b73f98d292a","impliedFormat":1},{"version":"a7d86611d7882643dd8c529d56d2e2b698afd3a13a5adc2d9e8157b57927c0da","impliedFormat":1},{"version":"7e4615c366c93399f288c7bfbaa00a1dc123578be9d8ac96b15d489efc3f4851","impliedFormat":1},{"version":"f2e6c87a2c322ee1473cb0bd776eb20ee7bff041bc56619e5d245134ab73e83d","impliedFormat":1},{"version":"ee89bc94431b2dfaf6a7e690f8d9a5473b9d61de4ddcb637217d11229fe5b69f","impliedFormat":1},{"version":"a19c1014936f60281156dd4798395ad4ab26b7578b5a6a062b344a3e924a4333","impliedFormat":1},{"version":"5608be84dd2ca55fc6d9b6da43f67194182f40af00291198b6487229403a98fe","impliedFormat":1},{"version":"4a800f1d740379122c473c18343058f4bd63c3dffdef4d0edba668caa9c75f54","impliedFormat":1},{"version":"8e6868a58ca21e92e09017440fdb42ebfe78361803be2c1e7f49883b7113fdc2","impliedFormat":1},{"version":"2fbb72a22faefa3c9ae0dfb2a7e83d7b3d82ec625a74a8800a9da973511b0672","impliedFormat":1},{"version":"3e8c1a811bad9e5cd313c3d90c39a99867befa746098cdad81a9578ac3392541","impliedFormat":1},{"version":"d88f78b4e272864f414d98e5ed0996cd09f7a3bb01c5b7528320386f7383153d","impliedFormat":1},{"version":"0b9c34da2c6f0170e6a357112b91f2351712c5a537b76e42adfee9a91308b122","impliedFormat":1},{"version":"47adac87ec85a52ed2562cb4a3b441383551727ed802e471aa05c12e7cc7e27e","impliedFormat":1},{"version":"d1cacf181763c5d0960986f6d0abd1a36fc58fc06a707c9f5060b6b5526179ca","impliedFormat":1},{"version":"92610d503212366ff87801c2b9dc2d1bccfa427f175261a5c11331bc3588bb3f","impliedFormat":1},{"version":"805e2737ce5d94d7da549ed51dfa2e27c2f06114b19573687e9bde355a20f0ff","impliedFormat":1},{"version":"a37b576e17cf09938090a0e7feaec52d5091a1d2bbd73d7335d350e5f0e8be95","impliedFormat":1},{"version":"98971aa63683469692fef990fcba8b7ba3bae3077de26ac4be3e1545d09874b8","impliedFormat":1},{"version":"c6d36fa611917b6177e9c103a2719a61421044fb81cdd0accd19eba08d1b54de","impliedFormat":1},{"version":"088592cf2e218b99b02a5029ed8d1a763a3856cd25e012cfbb536b7494f08971","impliedFormat":1},{"version":"5eb39c56462b29c90cb373676a9a9a179f348a8684b85990367b3bbc6be5a6e9","impliedFormat":1},{"version":"52252b11bcbfaeb4c04dc9ec92ea3f1481684eee62c0c913e8ff1421dc0807e5","impliedFormat":1},{"version":"731d07940d9b4313122e6cc58829ea57dcc5748003df9a0cad7eb444b0644685","impliedFormat":1},{"version":"b3ead4874138ce39966238b97f758fdb06f56a14df3f5e538d77596195ece0b5","impliedFormat":1},{"version":"032b40b5529f2ecce0524974dbec04e9c674278ae39760b2ee0d7fce1bb0b165","impliedFormat":1},{"version":"c25736b0cb086cd2afa4206c11959cb8141cea9700f95a766ad37c2712b7772b","impliedFormat":1},{"version":"033c269cd9631b3f56bb69a9f912c1f0d6f83cf2cff4d436ee1c98f6e655e3b5","impliedFormat":1},{"version":"bd6d692a4a950abbfabe29131420abe804e7f3cc187c3c451f9811e9cf4408ce","impliedFormat":1},{"version":"a9b6411417d4bffd9a89c41dc9dedda7d39fb4fa378eaa0ab55ec9ea1a94eb6a","impliedFormat":1},{"version":"1329e7cd7aca4d223ef5a088d82bc3f6f302ce70581c8d3823a050ea155eec3b","impliedFormat":1},{"version":"09248c76437c5b1efce189b4050c398f76a9385135af75c5fb46308b0d1432e0","impliedFormat":1},{"version":"b8df115bf7b30cceeb4550c0be507082b9930ee6268539a1a1aaffb0791cc299","impliedFormat":1},{"version":"dde00f41a2d2b1e70df6df8ac33de7cb3a658956212c7bee326245cc01c990c2","impliedFormat":1},{"version":"115d092e2748990ff0f67f376f47e9a45a2f21f7c7784102419c14b32c4362d1","impliedFormat":1},{"version":"4ba068163c800094cd81b237f86f22c3a33c23cf2a70b9252aca373cfdf59677","impliedFormat":1},{"version":"53e65282ab040a9f535f4ad2e3c8d8346034d8d69941370886d17055874b348d","impliedFormat":1},{"version":"e6db934da4b03c1f4f1da6f4165a981ec004e9e7d956c585775326b392d4d886","impliedFormat":1},{"version":"6ecb85c8cbb289fe72e1d302684e659cc01ef76ae8e0ad01e8b2203706af1d56","impliedFormat":1},{"version":"fca410876e0302680190982f2fc5102d896e65e4f4f20547a185b60364838910","impliedFormat":1},{"version":"601bc70ff67ae9855fc65bad9bb2d135f72147cf22e2490f58ea0d209d95f2ee","impliedFormat":1},{"version":"5cd5a999e218c635ea6c3e0d64da34a0f112757e793f29bc097fd18b5267f427","impliedFormat":1},{"version":"de8a12540370f9f18b160a07ed57917d69fe24525d360531d42d4b1b5d0d9f0f","impliedFormat":1},{"version":"4a397c8a3d1cccf28751bcca469d57faeb637e76b74f6826e76ad66a3c57c7b8","impliedFormat":1},{"version":"34c1bb0d4cf216f2acb3d013ad2c79f906fe89ce829e23a899029dfa738f97e0","impliedFormat":1},{"version":"5c744f3cc0a266dd95b5769a70ddc85c8b6019adbb0954d4de61f89182202ce3","impliedFormat":1},{"version":"b50f05738b1e82cbb7318eb35a7aaf25036f5585b75bbf4377cfa2bad15c40bf","impliedFormat":1},{"version":"c682cb23f38a786bb37901b3f64727bd3c6210292f5bb36f3b11b63fbe2b23ee","impliedFormat":1},{"version":"d6592cf10dc7797d138af32800d53ff4707fdcd6e053812ce701404f5f533351","impliedFormat":1},{"version":"997f6604cd3d35281083706aa2862e8181ed1929a6cbb004c087557d6c7f23c4","impliedFormat":1},{"version":"9584dd669a3bf285e079502ebbb683e7da0bf7f7c1eb3d63f6ef929350667541","impliedFormat":1},{"version":"41a10e2db052a8bf53ed4d933d9b4f5caa30bdaee5a9d978af95f6641ce44860","impliedFormat":1},{"version":"d84761f8a994b5444529c7c294b194de6fd5350ccda974929ea7e8b3893b753a","impliedFormat":1},{"version":"652e51858bafd77e1abcc4d4e9d5e48cc4426c3dd2910021abd8cc664961e135","impliedFormat":1},{"version":"8c5c602045ffdfebeffc7a71cd2bf201fe147a371274b5fcbded765a92f2af78","impliedFormat":1},{"version":"6392ce794eef6f9b57818264bb0eeb24a46cf923f7695a957c15d3d087fbb6cc","impliedFormat":1},{"version":"b10f123e8100aa98723c133af16f1226a6360ec5b6990a0fe82b165d289549db","impliedFormat":1},{"version":"93d20368cdb5fff7f7398bfc9b2b474b2a2d5867277a0631a33b7db7fd53d5b4","impliedFormat":1},{"version":"b1e69b9834104482fabf7fba40e86a282ee10e0600ffd75123622f4610b0ef9e","impliedFormat":1},{"version":"ad5bb6c450cb574289db945ff82be103ed5d0ad8ee8c76164cee7999c695ae01","impliedFormat":1},{"version":"217761e8a5482b3ad20588a801521c2f5f9f7fb2fbb416d4eff3aff9b57f8471","impliedFormat":1},{"version":"7ad780687331f05998c62277d73b6f15ee3e8045b0187a515ffc49c0ad993606","impliedFormat":1},{"version":"e9aa5ccb42e118f5418721d2ac8c0ebdebeb9502007db9b4c1b7c9b8d493013e","impliedFormat":1},{"version":"d300868212b3cc4d13228f5dc2e9880d5959dc742c0c55be2fc43bcda8504c8f","impliedFormat":1},{"version":"0c55daad827669843bd2401f1ddd163b74d9f922680b08ae6e162ceb6c11b078","impliedFormat":1},{"version":"fe45a9bc654dfd1550c9466c0dad9c8017f2626476ed9d25c65ddfc1943f6b74","impliedFormat":1},{"version":"03abcbc7b5b68887525be71a194dd7f9f68276b5fb5b8989abae9a91585ddc33","impliedFormat":1},{"version":"5055e86e689cfe39104ab71298757e5aac839c2ea9d1f12299e76fa79303d47d","impliedFormat":1},{"version":"42266c387025558423c19d624f671352aac3e449c23906cb636f9ae317b72d7e","impliedFormat":1},{"version":"e578a36b3683d233e045a85c9adb0f10e83d2b48f777b9c05fbc363ccc6bdd34","impliedFormat":1},{"version":"0235d0ba0c7b64244d4703b7d6cabd88ba809abeb01da0c13e9ed111bf5e7059","impliedFormat":1},{"version":"9b21e8a79f4213c1cf29f3c408f85a622f9eb6f4902549ccb9a2c00717a0b220","impliedFormat":1},{"version":"d556e498591413e254793f9d64d3108b369a97bd50f9dd4015b5552888e975ef","impliedFormat":1},{"version":"e2c652c7a45072e408c1749908ca39528d3a9a0eb6634a8999b8cf0e35ef20c8","impliedFormat":1},{"version":"ec08224b320739d26aaf61cead7f1e0f82e6581df0216f6fe048aa6f5042cb8c","impliedFormat":1},{"version":"4eadaa271acca9bd20fc6ac1ea5e4bf9ab6698b8ccf3ec07c33df4970f8130f1","impliedFormat":1},{"version":"3238d2eee64423c8d41972c88673b0327d8b40174a78ea346bcd10954a8f3373","impliedFormat":1},{"version":"8f773ddff9070d725dd23f5cf6c8e62bd86984a57b5d5e3fc7583010b48cd8ac","impliedFormat":1},{"version":"5ecd8fdeb6c87db9c320eefbfa9ea27efccbdce853ed38d5ba58e2da482edf1f","impliedFormat":1},{"version":"19a4d116285e7d77e91411966930761a2204ce2d20915afdb12652681a4a88d7","impliedFormat":1},{"version":"c30ca82112586c5dae7477d7e82cc91a7e0d1e658c581f9ec3df07c4485bba84","impliedFormat":1},{"version":"68fca1813d17ee736f41124ccc958d0364cdef79ad1222951bfacc36b2630a58","impliedFormat":1},{"version":"7813329e568df1d42e5a6c52312b1a7c69700e35a561cf085158c345be155b22","impliedFormat":1},{"version":"561067dc7b6b7635277d3cad0a0e11f698d377063dd2c15dfac43ef78847eef4","impliedFormat":1},{"version":"438247e782a8a9b9abdce618e963667cf95157cc6d3f5194a452d3c7d9e9655c","impliedFormat":1},{"version":"0c293195f800014f1fa3ffacf979002c8c1886ab71750432813fb590738eeef5","impliedFormat":1},{"version":"7673348e0cc2f4e33d1db02ecda02f39e66e56ab2cc3c5602246e5532f2715ab","impliedFormat":1},{"version":"83724b26b711d85d6cfc9dd92fd5d666ffaae27fcfb1a0110401b98814ea26c0","impliedFormat":1},{"version":"869a27c929366c3c864013a991fd4c4c86af73eba25513e8ae915f814d3d349c","impliedFormat":1},{"version":"bfa105c32ed586b227188f7b568776d03202dc7aa4c3af2746579450c7d5e7f2","impliedFormat":1},{"version":"756e3f41a7f2501a34e1a070283c7f5550e200eeb43fed3c806e3f2edd924a75","impliedFormat":1},{"version":"59935cc13dcb7c3c7825e770a61e6696bfd11b65e3e47c28acc410dbdf8461c0","impliedFormat":1},{"version":"85e2808cc73ab3ac07774802b34a6ff0d7e1e46c26de7bc2dbe08e04b3340edb","impliedFormat":1},{"version":"f766e5cdea938e0c9d214533fd4501ab0ee23ab4efca9edba334fa02d2869f11","impliedFormat":1},{"version":"eb380820a3a1feda3a182a3d078da18e0d5b7da08ae531ce11133a84b479678c","impliedFormat":1},{"version":"7fba5cc3088ad9acada3daeff52dae0f2cac8d84d19508abd78af5924dc96bea","impliedFormat":1},{"version":"14176cfdbc3d1d633ad9b5daf044ab4c7d0d73be61ca2f14388800e21f0989cd","impliedFormat":1},{"version":"a24f510afe4d938d625a4b5a5374ac0478e56305e8743dd7d37d86d709754286","impliedFormat":1},{"version":"648acdbcbcd01b1a91e8b0ad390ed59fada685977f44b90e148b65bd8159dfe8","impliedFormat":1},{"version":"8309898ba0ac6f2856a94a11723d499091253a6d5df34ddebc6149d43480bfd2","impliedFormat":1},{"version":"a317ae0eb092da3fd799d1717a2da319a74abebe85e2914cb259222969f95705","impliedFormat":1},{"version":"36d76e2dbd5f5243bd566b018c589e2ba707e34b24ec7d285feb11ba6bf23fbe","impliedFormat":1},{"version":"f780879a2ca63dbb59b36f772bc28dccd2840f1377d8d632e8c978b99c26a45f","impliedFormat":1},{"version":"335c2e013b572967a9a282a70f9dded38631189b992381f1df50e966c7f315d6","impliedFormat":1},{"version":"8b7a519edbd0b7654491300d8e3cbd2cb3ef921003569ca39ebd33e77479bb99","impliedFormat":1},{"version":"c90f8038c75600e55db93d97bab73c0ab8fb618d75392d1d1ad32e2f6e9c7908","impliedFormat":1},{"version":"ca083f3bf68e813b5bded56ecbf177636aa75833eb86c7b40e3d75b8ce4c2f78","impliedFormat":1},{"version":"3c8bf00283ef468da8389119d3f5662c81106e302c8810f40ea86b1018df647e","impliedFormat":1},{"version":"67b248e4bac845c5139898b44cbd3e1213674bcc9831039701b5f0f957243a24","impliedFormat":1},{"version":"63d49516f359186f7b3e3115f2c829ed75c319b34022c97b56beead032a073b7","impliedFormat":1},{"version":"9f5f256c7b5cc4a98ef557ea9720f81e96319d569f731c897ddb4514936242b4","impliedFormat":1},{"version":"a20ded6c920f6e566537e93d69cbad79bc57d7e3ce85686003078cf88c1c9cfc","impliedFormat":1},{"version":"40b2d781df7b4a76d33454cb917c3883655ec1d8d05424b7a80d01610ad5082f","impliedFormat":1},{"version":"703ea2acd8b4741248897a5709cd46e22fcd9d13f01ff3481322a86505f0b77c","impliedFormat":1},{"version":"e09c56f8c446225e061b53cb2f95fcbbc8555483ab29165f6b0f39bc82c8d773","impliedFormat":1},{"version":"a571973bc2e34c898c3202452f957e6757f0c08cb66d50d6785f4a9042d74bad","impliedFormat":1},{"version":"a6a059446e66fbf5072eccce94eb5587cef2f99aa04d4bbd4ebe63d0a6592a4f","impliedFormat":1},{"version":"6e2533e27eba5ff02d6eed37e0a7eb69ae7982e0f72fd8f74c90ab201f061867","impliedFormat":1},{"version":"9c10dd3d85b7620ed3105b3f018125d0bb54198bf5847e39622afb22c651a1ad","impliedFormat":1},{"version":"58c62e415bf74b1423bf443587e33d7951a8bf19d7b03073f26e86d9b43ba9ea","impliedFormat":1},{"version":"dd6ec67ad168e92b8bf79ba975c6e0be8c60e403ba704d1c1b31a6059c12f967","impliedFormat":1},{"version":"bcaf468eea143f8e68ca40e5da58d640656b4f36697170c339042500be78ac5d","impliedFormat":1},{"version":"92de961d1db5fe075db8c0b6414a6eec430adaf9022465fe9d0a23f437aafcb3","impliedFormat":1},{"version":"7610ecdae59cea1a8db7580941ebc24d522d8ac1751ce718a6af22d41e1a1279","impliedFormat":1},{"version":"3e55a65822875e85f96e444b79787f619b9473e36c143dedc6d5441a2544b8ab","impliedFormat":1},{"version":"d49275f9098a8e7a5df7c55321b0242cef0bfdde51018b7b2709c4dc74917822","impliedFormat":1},{"version":"b25556c4111afad4cb174aa4674db2e5b23a6b191dc6a3e42c7c3417ea446a68","impliedFormat":1},{"version":"f9568a3a6c74013aee8b09d73ef04175596b51ce6f5d9dcd4885418170fe9306","impliedFormat":1},{"version":"bd3910ccd4fcd05ebd83fbfeb62f5a82a6674c85c6c0e4755c16298df7abe4d7","impliedFormat":1},{"version":"7c0541d0addc3007e5f5776023d5e6e44f96eae0684cdabe59ef04f2a294b116","impliedFormat":1},{"version":"70137204b720e4dd1b81260a70578f0f4f417c53837f8a13859b2f58e20d7150","impliedFormat":1},{"version":"b28b6875a761fd153ebf120fecb359660de80fd36e90c9b3d72a12318bd5d789","impliedFormat":1},{"version":"56d092bd6225f6e67d9acab3fd65ce0a4edb36cadba2f0370e67322e2f6f1bc8","impliedFormat":1},{"version":"a4709d5d466ad8dcf4ddccb905ad95348131df1616f964185be9739f96526bde","impliedFormat":1},{"version":"73b0fd6255f24e82be861f800a264f0175984062b6ccca3052578b03ed6f397b","impliedFormat":1},{"version":"4a3f7c6f02cb01eb7a9800548b41cfa03a57e476fc92a72869983f37efa8067a","impliedFormat":1},{"version":"ee428614fde0db27939b30094352fc85b58d1bdba6d63be6d8b2aec5929fd9a2","impliedFormat":1},{"version":"bc0b17d3fd0e34083fbc886367ed53563b569d1d05214f60b21117e2dbfb7fdd","impliedFormat":1},{"version":"c1cc2a1ac9ae043fd05e07193d408c0f0bf4628e54c19871621ce1049d4c200e","impliedFormat":1},{"version":"d005c21b9c42bd1ccde99f183dc2d3c992be407aa63c4ba3371e4f81cf36b2aa","impliedFormat":1},{"version":"9a7638d62db8cfa1466093d7d413fdf85c5e4a7c663ed76f2bfc8739c8e01505","impliedFormat":1},{"version":"e608cfd08fb30d374ba4b822fb2329a850d515bee8599117c9f53e925f7a548c","impliedFormat":1},{"version":"c338859b98f8a11f80e3e47e33767299e7a4facdf0870c01c8694fa8fa048d16","impliedFormat":1},{"version":"4f64016165565f743356812e33ac22f5ef91891738927e413121f502b186210c","impliedFormat":1},{"version":"b113e9770d5be136c5e2add9e6cdf40d85051762ff2391f71d552975e66b1500","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"746311aebb10eaf3f4b4a73627181b407140d057c5893317aa8c128cfe2a4429","signature":"87db3afd26e2a310e6e50749eee26aba15b825a64ee32edbf5681cbab6dd1ab4"},{"version":"b6e995b5ef6661f5636ff738e67e4ec90150768ef119ad74b473c404304408a1","impliedFormat":1},{"version":"5d470930bf6142d7cbda81c157869024527dc7911ba55d90b8387ef6e1585aa1","impliedFormat":1},{"version":"074483fdbf20b30bd450e54e6892e96ea093430c313e61be5fdfe51588baa2d6","impliedFormat":1},{"version":"b7e6a6a3495301360edb9e1474702db73d18be7803b3f5c6c05571212acccd16","impliedFormat":1},{"version":"aa7527285c94043f21baf6e337bc60a92c20b6efaa90859473f6476954ac5f79","impliedFormat":1},{"version":"dd3be6d9dcd79e46d192175a756546630f2dc89dab28073823c936557b977f26","impliedFormat":1},{"version":"8d0566152618a1da6536c75a5659c139522d67c63a9ae27e8228d76ab0420584","impliedFormat":1},{"version":"ba06bf784edafe0db0e2bd1f6ecf3465b81f6b1819871bf190a0e0137b5b7f18","impliedFormat":1},{"version":"a0500233cb989bcb78f5f1a81f51eabc06b5c39e3042c560a7489f022f1f55a3","impliedFormat":1},{"version":"220508b3fb6b773f49d8fb0765b04f90ef15caacf0f3d260e3412ed38f71ef09","impliedFormat":1},{"version":"1ad113089ad5c188fec4c9a339cb53d1bcbb65682407d6937557bb23a6e1d4e5","impliedFormat":1},{"version":"e56427c055602078cbf0e58e815960541136388f4fc62554813575508def98b6","impliedFormat":1},{"version":"1f58b0676a80db38df1ce19d15360c20ce9e983b35298a5d0b4aa4eb4fb67e0f","impliedFormat":1},{"version":"3d67e7eb73c6955ee27f1d845cae88923f75c8b0830d4b5440eea2339958e8ec","impliedFormat":1},{"version":"11fec302d58b56033ab07290a3abc29e9908e29d504db9468544b15c4cd7670d","impliedFormat":1},{"version":"c66d6817c931633650edf19a8644eea61aeeb84190c7219911cefa8ddea8bd9a","impliedFormat":1},{"version":"ab1359707e4fc610c5f37f1488063af65cda3badca6b692d44b95e8380e0f6c2","impliedFormat":1},{"version":"37deda160549729287645b3769cf126b0a17e7e2218737352676705a01d5957e","impliedFormat":1},{"version":"d80ffdd55e7f4bc69cde66933582b8592d3736d3b0d1d8cc63995a7b2bcca579","impliedFormat":1},{"version":"c9b71952b2178e8737b63079dba30e1b29872240b122905cbaba756cb60b32f5","impliedFormat":1},{"version":"b596585338b0d870f0e19e6b6bcbf024f76328f2c4f4e59745714e38ee9b0582","impliedFormat":1},{"version":"e6717fc103dfa1635947bf2b41161b5e4f2fabbcaf555754cc1b4340ec4ca587","impliedFormat":1},{"version":"c36186d7bdf1f525b7685ee5bf639e4b157b1e803a70c25f234d4762496f771f","impliedFormat":1},{"version":"026726932a4964341ab8544f12b912c8dfaa388d2936b71cc3eca0cffb49cc1d","impliedFormat":1},{"version":"83188d037c81bd27076218934ba9e1742ddb69cd8cc64cdb8a554078de38eb12","impliedFormat":1},{"version":"7d82f2d6a89f07c46c7e3e9071ab890124f95931d9c999ba8f865fa6ef6cbf72","impliedFormat":1},{"version":"4fc523037d14d9bb6ddb586621a93dd05b6c6d8d59919a40c436ca3ac29d9716","impliedFormat":1},{"version":"cb5eaaa2a079305b1c5344af739b29c479746f7a7aefffc7175d23d8b7c8dbb0","impliedFormat":1},{"version":"bd324dccada40f2c94aaa1ebc82b11ce3927b7a2fe74a5ab92b431d495a86e6f","impliedFormat":1},{"version":"56749bf8b557c4c76181b2fd87e41bde2b67843303ae2eabb299623897d704d6","impliedFormat":1},{"version":"5a6fbec8c8e62c37e9685a91a6ef0f6ecaddb1ee90f7b2c2b71b454b40a0d9a6","impliedFormat":1},{"version":"e7435f2f56c50688250f3b6ef99d8f3a1443f4e3d65b4526dfb31dfd4ba532f8","impliedFormat":1},{"version":"6fc56a681a637069675b2e11b4aa105efe146f7a88876f23537e9ea139297cf9","impliedFormat":1},{"version":"33b7f4106cf45ae7ccbb95acd551e9a5cd3c27f598d48216bda84213b8ae0c7e","impliedFormat":1},{"version":"176d6f604b228f727afb8e96fd6ff78c7ca38102e07acfb86a0034d8f8a2064a","impliedFormat":1},{"version":"1b1a02c54361b8c222392054648a2137fc5983ad5680134a653b1d9f655fe43d","impliedFormat":1},{"version":"8bcb884d06860a129dbffa3500d51116d9d1040bb3bf1c9762eb2f1e7fd5c85c","impliedFormat":1},{"version":"e55c0f31407e1e4eee10994001a4f570e1817897a707655f0bbe4d4a66920e9e","impliedFormat":1},{"version":"a37c2194c586faa8979f50a5c5ca165b0903d31ee62a9fe65e4494aa099712c0","impliedFormat":1},{"version":"6602339ddc9cd7e54261bda0e70fb356d9cdc10e3ec7feb5fa28982f8a4d9e34","impliedFormat":1},{"version":"7ffaa736b8a04b0b8af66092da536f71ef13a5ef0428c7711f32b94b68f7c8c8","impliedFormat":1},{"version":"7b4930d666bbe5d10a19fcc8f60cfa392d3ad3383b7f61e979881d2c251bc895","impliedFormat":1},{"version":"46342f04405a2be3fbfb5e38fe3411325769f14482b8cd48077f2d14b64abcfb","impliedFormat":1},{"version":"8fa675c4f44e6020328cf85fdf25419300f35d591b4f56f56e00f9d52b6fbb3b","impliedFormat":1},{"version":"ba98f23160cfa6b47ee8072b8f54201f21a1ee9addc2ef461ebadf559fe5c43a","impliedFormat":1},{"version":"45a4591b53459e21217dc9803367a651e5a1c30358a015f27de0b3e719db816b","impliedFormat":1},{"version":"9ef22bee37885193b9fae7f4cad9502542c12c7fe16afe61e826cdd822643d84","impliedFormat":1},{"version":"b0451895b894c102eed19d50bd5fcb3afd116097f77a7d83625624fafcca8939","impliedFormat":1},{"version":"bce17120b679ff4f1be70f5fe5c56044e07ed45f1e555db6486c6ded8e1da1c8","impliedFormat":1},{"version":"7590477bfa2e309e677ff7f31cb466f377fcd0e10a72950439c3203175309958","impliedFormat":1},{"version":"3f9ebd554335d2c4c4e7dc67af342d37dc8f2938afa64605d8a93236022cc8a5","impliedFormat":1},{"version":"1c077c9f6c0bc02a36207994a6e92a8fbf72d017c4567f640b52bf32984d2392","impliedFormat":1},{"version":"600b42323925b32902b17563654405968aa12ee39e665f83987b7759224cc317","impliedFormat":1},{"version":"32c8f85f6b4e145537dfe61b94ddd98b47dbdd1d37dc4b7042a8d969cd63a1aa","impliedFormat":1},{"version":"2426ed0e9982c3d734a6896b697adf5ae93d634b73eb15b48da8106634f6d911","impliedFormat":1},{"version":"057431f69d565fb44c246f9f64eac09cf309a9af7afb97e588ebef19cc33c779","impliedFormat":1},{"version":"960d026ca8bf27a8f7a3920ee50438b50ec913d635aa92542ca07558f9c59eca","impliedFormat":1},{"version":"71f5d895cc1a8a935c40c070d3d0fade53ae7e303fd76f443b8b541dee19a90c","impliedFormat":1},{"version":"252eb4750d0439d1674ad0dc30d2a2a3e4655e08ad9e58a7e236b21e78d1d540","impliedFormat":1},{"version":"e344b4a389bb2dfa98f144f3f195387a02b6bdb69deed4a96d16cc283c567778","impliedFormat":1},{"version":"c6cdcd12d577032b84eed1de4d2de2ae343463701a25961b202cff93989439fb","impliedFormat":1},{"version":"3dc633586d48fcd04a4f8acdbf7631b8e4a334632f252d5707e04b299069721e","impliedFormat":1},{"version":"3322858f01c0349ee7968a5ce93a1ca0c154c4692aa8f1721dc5192a9191a168","impliedFormat":1},{"version":"6dde0a77adad4173a49e6de4edd6ef70f5598cbebb5c80d76c111943854636ca","impliedFormat":1},{"version":"09acacae732e3cc67a6415026cfae979ebe900905500147a629837b790a366b3","impliedFormat":1},{"version":"f7b622759e094a3c2e19640e0cb233b21810d2762b3e894ef7f415334125eb22","impliedFormat":1},{"version":"99236ea5c4c583082975823fd19bcce6a44963c5c894e20384bc72e7eccf9b03","impliedFormat":1},{"version":"f6688a02946a3f7490aa9e26d76d1c97a388e42e77388cbab010b69982c86e9e","impliedFormat":1},{"version":"9f642953aba68babd23de41de85d4e97f0c39ef074cb8ab8aa7d55237f62aff6","impliedFormat":1},{"version":"159d95163a0ed369175ae7838fa21a9e9e703de5fdb0f978721293dd403d9f4a","impliedFormat":1},{"version":"2d2ec3235e01474f45a68f28cf826c2f5228b79f7d474d12ca3604cdcfdac80c","impliedFormat":1},{"version":"6dd249868034c0434e170ba6e0451d67a0c98e5a74fd57a7999174ee22a0fa7b","impliedFormat":1},{"version":"9716553c72caf4ff992be810e650707924ec6962f6812bd3fbdb9ac3544fd38f","impliedFormat":1},{"version":"506bc8f4d2d639bebb120e18d3752ddeee11321fd1070ad2ce05612753c628d6","impliedFormat":1},{"version":"053c51bbc32db54be396654ab5ecd03a66118d64102ac9e22e950059bc862a5e","impliedFormat":1},{"version":"1977f62a560f3b0fc824281fd027a97ce06c4b2d47b408f3a439c29f1e9f7e10","impliedFormat":1},{"version":"627570f2487bd8d899dd4f36ecb20fe0eb2f8c379eff297e24caba0c985a6c43","impliedFormat":1},{"version":"0f6e0b1a1deb1ab297103955c8cd3797d18f0f7f7d30048ae73ba7c9fb5a1d89","impliedFormat":1},{"version":"0a051f254f9a16cdde942571baab358018386830fed9bdfff42478e38ba641ce","impliedFormat":1},{"version":"17269f8dfc30c4846ab7d8b5d3c97ac76f50f33de96f996b9bf974d817ed025b","impliedFormat":1},{"version":"9e82194af3a7d314ccbc64bb94bfb62f4bfea047db3422a7f6c5caf2d06540a9","impliedFormat":1},{"version":"083d6f3547ccbf25dfa37b950c50bee6691ed5c42107f038cc324dbca1e173ae","impliedFormat":1},{"version":"952a9eab21103b79b7a6cca8ad970c3872883aa71273f540285cad360c35da40","impliedFormat":1},{"version":"8ba48776335db39e0329018c04486907069f3d7ee06ce8b1a6134b7d745271cc","impliedFormat":1},{"version":"e6d5809e52ed7ef1860d1c483e005d1f71bab36772ef0fd80d5df6db1da0e815","impliedFormat":1},{"version":"893e5cfbae9ed690b75b8b2118b140665e08d182ed8531e1363ec050905e6cb2","impliedFormat":1},{"version":"6ae7c7ada66314a0c3acfbf6f6edf379a12106d8d6a1a15bd35bd803908f2c31","impliedFormat":1},{"version":"e4b1e912737472765e6d2264b8721995f86a463a1225f5e2a27f783ecc013a7b","impliedFormat":1},{"version":"97146bbe9e6b1aab070510a45976faaf37724c747a42d08563aeae7ba0334b4f","impliedFormat":1},{"version":"c40d552bd2a4644b0617ec2f0f1c58618a25d098d2d4aa7c65fb446f3c305b54","impliedFormat":1},{"version":"09e64dea2925f3a0ef972d7c11e7fa75fec4c0824e9383db23eacf17b368532f","impliedFormat":1},{"version":"424ddba00938bb9ae68138f1d03c669f43556fc3e9448ed676866c864ca3f1d6","impliedFormat":1},{"version":"a0fe12181346c8404aab9d9a938360133b770a0c08b75a2fce967d77ca4b543f","impliedFormat":1},{"version":"3cc6eb7935ff45d7628b93bb6aaf1a32e8cb3b24287f9e75694b607484b377b3","impliedFormat":1},{"version":"ced02e78a2e10f89f4d70440d0a8de952a5946623519c54747bc84214d644bac","impliedFormat":1},{"version":"efd463021ccc91579ed8ae62584176baab2cd407c555c69214152480531a2072","impliedFormat":1},{"version":"29647c3b79320cfeecb5862e1f79220e059b26db2be52ea256df9cf9203fb401","impliedFormat":1},{"version":"e8cdefd2dc293cb4866ee8f04368e7001884650bb0f43357c4fe044cc2e1674f","impliedFormat":1},{"version":"582a3578ebba9238eb0c5d30b4d231356d3e8116fea497119920208fb48ccf85","impliedFormat":1},{"version":"185eae4a1e8a54e38f36cd6681cfa54c975a2fc3bc2ba6a39bf8163fac85188d","impliedFormat":1},{"version":"0c0a02625cf59a0c7be595ccc270904042bea523518299b754c705f76d2a6919","impliedFormat":1},{"version":"c44fc1bbdb5d1c8025073cb7c5eab553aa02c069235a1fc4613cd096d578ab80","impliedFormat":1},{"version":"cee72255e129896f0240ceb58c22e207b83d2cc81d8446190d1b4ef9b507ccd6","impliedFormat":1},{"version":"3b54670e11a8d3512f87e46645aa9c83ae93afead4a302299a192ac5458aa586","impliedFormat":1},{"version":"c2fc4d3a130e9dc0e40f7e7d192ef2494a39c37da88b5454c8adf143623e5979","impliedFormat":1},{"version":"2e693158fc1eedba3a5766e032d3620c0e9c8ad0418e4769be8a0f103fdb52cd","impliedFormat":1},{"version":"516275ccf3e66dc391533afd4d326c44dd750345b68bb573fc592e4e4b74545f","impliedFormat":1},{"version":"07c342622568693847f6cb898679402dd19740f815fd43bec996daf24a1e2b85","impliedFormat":1},{"version":"fa40d705f9813843d47f19321591499f14d1a18fa5e8ca9beaee5aac633c3d0d","impliedFormat":1},{"version":"a7a6330fb015f72d821e23004e63a3827e0c632b614ef3a310b3c81b66de61fd","impliedFormat":1},{"version":"89968316b7069339433bd42d53fe56df98b6990783dfe00c9513fb4bd01c2a1c","impliedFormat":1},{"version":"a4096686f982f6977433ee9759ecbef49da29d7e6a5d8278f0fbc7b9f70fce12","impliedFormat":1},{"version":"62e62a477c56cda719013606616dd856cfdc37c60448d0feb53654860d3113bb","impliedFormat":1},{"version":"207c107dd2bd23fa9febac2fe05c7c72cdac02c3f57003ab2e1c6794a6db0c05","impliedFormat":1},{"version":"55133e906c4ddabecdfcbc6a2efd4536a3ac47a8fa0a3fe6d0b918cac882e0d4","impliedFormat":1},{"version":"2147f8d114cf58c05106c3dccea9924d069c69508b5980ed4011d2b648af2ffe","impliedFormat":1},{"version":"2eb4012a758b9a7ba9121951d7c4b9f103fe2fc626f13bec3e29037bb9420dc6","impliedFormat":1},{"version":"fe61f001bd4bd0a374daa75a2ba6d1bb12c849060a607593a3d9a44e6b1df590","impliedFormat":1},{"version":"cfe8221c909ad721b3da6080570553dea2f0e729afbdbcf2c141252cf22f39b5","impliedFormat":1},{"version":"34e89249b6d840032b9acdec61d136877f84f2cd3e3980355b8a18f119809956","impliedFormat":1},{"version":"6f36ff8f8a898184277e7c6e3bf6126f91c7a8b6a841f5b5e6cb415cfc34820e","impliedFormat":1},{"version":"4b6378c9b1b3a2521316c96f5c777e32a1b14d05b034ccd223499e26de8a379c","impliedFormat":1},{"version":"07be5ae9bf5a51f3d98ffcfacf7de2fe4842a7e5016f741e9fad165bb929be93","impliedFormat":1},{"version":"cb1b37eda1afc730d2909a0f62cac4a256276d5e62fea36db1473981a5a65ab1","impliedFormat":1},{"version":"195f855b39c8a6e50eb1f37d8f794fbd98e41199dffbc98bf629506b6def73d7","impliedFormat":1},{"version":"471386a0a7e4eb88c260bdde4c627e634a772bf22f830c4ec1dad823154fd6f5","impliedFormat":1},{"version":"108314a60f3cb2454f2d889c1fb8b3826795399e5d92e87b2918f14d70c01e69","impliedFormat":1},{"version":"d75cc838286d6b1260f0968557cd5f28495d7341c02ac93989fb5096deddfb47","impliedFormat":1},{"version":"d531dc11bb3a8a577bd9ff83e12638098bfc9e0856b25852b91aac70b0887f2a","impliedFormat":1},{"version":"19968b998a2ab7dfd39de0c942fc738b2b610895843fec25477bc393687babd8","impliedFormat":1},{"version":"c0e6319f0839d76beed6e37b45ec4bb80b394d836db308ae9db4dea0fe8a9297","impliedFormat":1},{"version":"1a7b11be5c442dab3f4af9faf20402798fddf1d3c904f7b310f05d91423ba870","impliedFormat":1},{"version":"079d3f1ddcaf6c0ff28cfc7851b0ce79fcd694b3590afa6b8efa6d1656216924","impliedFormat":1},{"version":"2c817fa37b3d2aa72f01ce4d3f93413a7fbdecafe1b9fb7bd7baaa1bbd46eb08","impliedFormat":1},{"version":"682203aed293a0986cc2fccc6321d862742b48d7359118ac8f36b290d28920d2","impliedFormat":1},{"version":"7406d75a4761b34ce126f099eafe6643b929522e9696e5db5043f4e5c74a9e40","impliedFormat":1},{"version":"7e9c4e62351e3af1e5e49e88ebb1384467c9cd7a03c132a3b96842ccdc8045c4","impliedFormat":1},{"version":"ea1f9c60a912065c08e0876bd9500e8fa194738855effb4c7962f1bfb9b1da86","impliedFormat":1},{"version":"903f34c920e699dacbc483780b45d1f1edcb1ebf4b585a999ece78e403bb2db3","impliedFormat":1},{"version":"100ebfd0470433805c43be5ae377b7a15f56b5d7181c314c21789c4fe9789595","impliedFormat":1},{"version":"12533f60d36d03d3cf48d91dc0b1d585f530e4c9818a4d695f672f2901a74a86","impliedFormat":1},{"version":"21d9968dad7a7f021080167d874b718197a60535418e240389d0b651dd8110e7","impliedFormat":1},{"version":"2ef7349b243bce723d67901991d5ad0dfc534da994af61c7c172a99ff599e135","impliedFormat":1},{"version":"fa103f65225a4b42576ae02d17604b02330aea35b8aaf889a8423d38c18fa253","impliedFormat":1},{"version":"1b9173f64a1eaee88fa0c66ab4af8474e3c9741e0b0bd1d83bfca6f0574b6025","impliedFormat":1},{"version":"1b212f0159d984162b3e567678e377f522d7bee4d02ada1cc770549c51087170","impliedFormat":1},{"version":"46bd71615bdf9bfa8499b9cfce52da03507f7140c93866805d04155fa19caa1b","impliedFormat":1},{"version":"86cb49eb242fe19c5572f58624354ffb8743ff0f4522428ebcabc9d54a837c73","impliedFormat":1},{"version":"fc2fb9f11e930479d03430ee5b6588c3788695372b0ab42599f3ec7e78c0f6d5","impliedFormat":1},{"version":"bb1e5cf70d99c277c9f1fe7a216b527dd6bd2f26b307a8ab65d24248fb3319f5","impliedFormat":1},{"version":"817547eacf93922e22570ba411f23e9164544dead83e379c7ae9c1cfc700c2cf","impliedFormat":1},{"version":"a728478cb11ab09a46e664c0782610d7dd5c9db3f9a249f002c92918ca0308f7","impliedFormat":1},{"version":"9e91ef9c3e057d6d9df8bcbfbba0207e83ef9ab98aa302cf9223e81e32fdfe8d","impliedFormat":1},{"version":"66d30ef7f307f95b3f9c4f97e6c1a5e4c462703de03f2f81aca8a1a2f8739dbd","impliedFormat":1},{"version":"293ca178fd6c23ed33050052c6544c9d630f9d3b11d42c36aa86218472129243","impliedFormat":1},{"version":"90a4be0e17ba5824558c38c93894e7f480b3adf5edd1fe04877ab56c56111595","impliedFormat":1},{"version":"fadd55cddab059940934df39ce2689d37110cfe37cc6775f06b0e8decf3092d7","impliedFormat":1},{"version":"91324fe0902334523537221b6c0bef83901761cfd3bd1f140c9036fa6710fa2b","impliedFormat":1},{"version":"b4f3b4e20e2193179481ab325b8bd0871b986e1e8a8ed2961ce020c2dba7c02d","impliedFormat":1},{"version":"41744c67366a0482db029a21f0df4b52cd6f1c85cbc426b981b83b378ccb6e65","impliedFormat":1},{"version":"c3f3cf7561dd31867635c22f3c47c8491af4cfa3758c53e822a136828fc24e5d","impliedFormat":1},{"version":"a88ddea30fae38aa071a43b43205312dc5ff86f9e21d85ba26b14690dc19d95e","impliedFormat":1},{"version":"b5b2d0510e5455234016bbbaba3839ca21adbc715d1b9c3d6dede7d411a28545","impliedFormat":1},{"version":"5515f17f45c6aafe6459afa3318bba040cb466a8d91617041566808a5fd77a44","impliedFormat":1},{"version":"4df1f0c17953b0450aa988c9930061f8861b114e1649e1a16cfd70c5cbdf8d83","impliedFormat":1},{"version":"441104b363d80fe57eb79a50d495e0b7e3ebeb45a5f0d1a4067d71ef75e8fbfa","impliedFormat":1},{"version":"8119bd2b78cc0f0cf8833000eb048fb1557739f880283ea29822037e7f75a7e6","signature":"6fff5a4eedcbf521243fa2d18b670e4ffdd55cc89dfb8ab8e4bca317394db3bc"},{"version":"fa9b7cfaf33975c017c701d48ebe35ca10fcf5526b0bb7a65939465b2d3ce272","signature":"ca43717eb49cf4298fd734e232ff05a26be705747120d8dc1213f26f94d6164a"},{"version":"47c379d4dc05527275d940c0cf1e87ec9566ebf30c85e39268efcec0a25811fe","signature":"e872e8512f095960b6def94756792de6e46b1e75b95f192fde1af665ef4566a0"},{"version":"19b0f8c5dcad3e8e7bce031fe690bc1005b1304d99cb24d46662a76c24e8651b","signature":"97e29bcfe3dc28b5987674fc234355237ea31ab61d1fae8fda008766fb22e861"},{"version":"90a297909b8fc7aba5d59715a6f4ee96c3d7711f7e9b26e1e87d1aca59633efb","signature":"4c81e39456fcbe8479b34064f8976f4c0ada8817ecbda5d7cd90ab3735cb880b"},{"version":"fab89b4943cc419f4cafc55cdf0b86d70b3ff7f9979da698ef142e46f067a1d8","signature":"5e1d8c1ebc60d6d5183e9767d8b288df5ca56f753a3ab676e53b8f9ef2e6eb06"},{"version":"6bd899eeb73a1d3b4e32cb41137dbeef01bb96d700f10b87810dc3e2b0d044f3","signature":"359e485cb253c4a77c20c9466e921e51906770e89d16c4fadce22b1ee199c9bc"},{"version":"6b655eece0915c1065913c9481dcb6fd34090b4d66ac92faba5b1c722ee7be17","signature":"eb9d647334abf98f90f47dac77a9c854b808af92c8034250e03068ae20feacd5"},{"version":"d7b4f3d5b792756ad27b377feb0f31bb0611dbb020e311ddbefee577273fc945","signature":"be2875b982b2cf95ac418f0f6ffcb596d851ed15d5019b019cd86a8058d7dd6b"},{"version":"3d5abccd7c01e54304689f1d9d4ed05b05142ffa9f60ae45945d059708178281","signature":"2f364255ceffd29d1b84a277912575d10531fd6b00ade42554e38dd611bf99d4"},{"version":"71cefc3e842466a87b9ce42fc88d343fc17cef4963740a8e89c78cfc47cf7f4b","signature":"3f86c0db3731ec362c2f978720910c05b88936e8df01a4dd885810192a545566"},{"version":"555ef2e7480b71479c9a32d9b8ba33e957c3858840765f484c07f4edead3bcde","signature":"fd64e90dc43d61871f161c269648625941ed1b992a0c28c5541b2290dabe52d6"},{"version":"82c61fe3a27562373dc8998d59de829697fa5d9795ca4db9f760d24e8cae146a","signature":"b4fac6802d370ddf4451531695b3ebb5a9aa88d29d657b07692ed27ca5f4792f"},"4293f083e903a2f82b60f7c56b4049ce91f40dc6b1ef354fa104cda0fadcfe94","f309feec215f02a2771f3ea9650ffd1a7b76ad28eefd99b44426af2e988b9164","a61a2b04239baf7980568de067b6741dd125d275a1f3d87499ccc90bf0fff0b3","145bdaf3318734e30465e074f19a11c2a9bc1a0240b6e1e281c496e181d0dad3",{"version":"f5c4b2aebb6908ff0e9f4f3093239f4ce3549f53ec183c33a66450ca9765470a","signature":"7d90282c8d23495f676310832d56cbbae79817ddb9dc2a59341ca2ee2754c8b8"},{"version":"7e3d64941214f0bbab2a238006a9f8f38ffb55f6886d673005ee86e9f4b5249d","signature":"b594525d2ae2b4eb0a37f503b4667abf599b74151e422ee9658342301b5edbc5"},{"version":"9b711b5d5251e5e994899b1f049b23ed884a0a6efd09352800488546288cb36e","signature":"b011db8699bf46eb0ad8cbe69270dfe5fda0bdc1e82bd598fe5a4e325e60074e"},{"version":"8ea350162653609a324e02310519e74fe3c7e4c2fcce488c18fae3eb40211bfb","signature":"4a361842de84e5deb5b390c1964ed6b6219a51e99cec23509f692e524f4ae57d"},{"version":"1c407c914328b3a64a5e98ad345cf0699ea5de8663b106c2a2ec9aacda3f9826","signature":"b2bbf4500dcca8af86e53de0fa1a63a48110e257391ba7d419495a7d8fd3e0fa"},{"version":"c63f1dbcdbd4967c79701dd8865377ee64c43cc99fe7f37d0bdc7b113542a511","signature":"9386877e14f0a6215f64e5359c2efcdad0d81f669ad4630e9f9eb60006257fdf"},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"95da3c365e3d45709ad6e0b4daa5cdaf05e9076ba3c201e8f8081dd282c02f57","impliedFormat":1},{"version":"7245fa556a63e4c5997642422fe4250df16a56694cc1a1f50108dc80fe3018ba","impliedFormat":1},{"version":"7c14e702387296711c1a829bc95052ff02f533d4aa27d53cc0186c795094a3a9","impliedFormat":1},{"version":"4c72d080623b3dcd8ebd41f38f7ac7804475510449d074ca9044a1cbe95517ae","impliedFormat":1},{"version":"579f8828da42ae02db6915a0223d23b0da07157ff484fecdbf8a96fffa0fa4df","impliedFormat":1},{"version":"5f6beb8c43a52e9119cf31a7583ceca88dc910d7de29caad1f81e98497f808ba","impliedFormat":1},{"version":"3ae3b86c48ae3b092e5d5548acbf4416b427fed498730c227180b5b1a8aa86e3","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"ba63131c5e91f797736444933af16ffa42f9f8c150d859ec65f568f037a416ea","impliedFormat":1},{"version":"44372b8b42e8916b0ab379da38dcf4de11227bad4221aba3e2dbe718999bdfab","impliedFormat":1},{"version":"43ebfcc5a9e9a9306ea4de9fda3abdd9e018040e246434b48ad56d93b14d4a3d","impliedFormat":1},{"version":"0e9aa853b5eb2ca09e0e3e3eb94cbd1d5fb3d682ab69817d4d11fe225953fc57","impliedFormat":1},{"version":"179683df1e78572988152d598f44297da79ac302545770710bba87563ce53e06","impliedFormat":1},{"version":"793c353144f16601da994fa4e62c09b7525836ce999c44f69c28929072ca206a","impliedFormat":1},{"version":"d34aa8df2d0b18fb56b1d772ff9b3c7aea7256cf0d692f969be6e1d27b74d660","impliedFormat":1},{"version":"f4db16820c99b6db923ab18af5fecb02331d785c4c2a8a88373a0cfc08256589","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"6823ccc7b5b77bbf898d878dbcad18aa45e0fa96bdd0abd0de98d514845d9ed9","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"168d88e14e0d81fe170e0dadd38ae9d217476c11435ea640ddb9b7382bdb6c1f","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"8e04cf0688e0d921111659c2b55851957017148fa7b977b02727477d155b3c47","impliedFormat":1},{"version":"ff155930718467b27e379e4a195e4607ce277f805cad9d2fa5f4fd5dec224df6","affectsGlobalScope":true,"impliedFormat":1},{"version":"599ac4a84b7aa6a298731179ec1663a623ff8ac324cdc1dabb9c73c1259dc854","impliedFormat":1},{"version":"95c2ab3597d7d38e990bf212231a6def6f6af7e3d12b3bb1b67c15fc8bfd4f4a","impliedFormat":1},{"version":"585bc61f439c027640754dd26e480afa202f33e51db41ee283311a59c12c62e7","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"8bc2e4d4cbca2b9f95b14209e9a75f468ec9bc6844125e747c514ccfe897bc5d","signature":"fe248bb461cf0ad424534856b35857ec68e952b8fb54febd88f0b283999c9d71"},{"version":"9ac9d5a030d0adfa85048a45b38d5867e33674994336466130938bfa6fba9a7a","signature":"e99e1d36a5480d0920ea115be209f5b8d0934eabfcb2a511f2eb97e857242729"},{"version":"04de5584b953b03611eeef01ba9948607def8f64f1e7fbc840752b13b4521b52","impliedFormat":1},{"version":"8b0b6a4c032a56d5651f7dd02ba3f05fbfe4131c4095093633cda3cae0991972","impliedFormat":1},{"version":"192a0c215bffe5e4ac7b9ff1e90e94bf4dfdad4f0f69a5ae07fccc36435ebb87","impliedFormat":1},{"version":"3ef8565e3d254583cced37534f161c31e3a8f341ff005c98b582c6d8c9274538","impliedFormat":1},{"version":"d7e42a3800e287d2a1af8479c7dd58c8663e80a01686cb89e0068be6c777d687","impliedFormat":1},{"version":"1098034333d3eb3c1d974435cacba9bd5a625711453412b3a514774fec7ca748","impliedFormat":1},{"version":"f2388b97b898a93d5a864e85627e3af8638695ebfa6d732ecd39d382824f0e63","impliedFormat":1},{"version":"73a3180fe69bf6e8d61f8fbbf969a3e4c9d19e1b3570768a281d371f85aa2dec","impliedFormat":1},{"version":"f477375e6f0bf2a638a71d4e7a3da8885e3a03f3e5350688541d136b10b762a6","impliedFormat":1},{"version":"a44d6ea4dc70c3d789e9cef3cc42b79c78d17d3ce07f5fd278a7e1cbe824da56","impliedFormat":1},{"version":"55cd8cbc22fe648429a787e16a9cd2dc501a2aafd28c00254ad120ef68a581c0","impliedFormat":1},{"version":"ba4900e9d6f9795a72e8f5ca13c18861821a3fc3ae7858acb0a3366091a47afb","impliedFormat":1},{"version":"7778e2cc5f74ef263a880159aa7fa67254d6232e94dd03429a75597a622537a7","impliedFormat":1},{"version":"8e06a1ef49502a62039eeb927a1bd7561b0bce48bd423a929e2e478fd827c273","impliedFormat":1},{"version":"7ec3d0b061da85d6ff50c337e3248a02a72088462739d88f33b9337dba488c4f","impliedFormat":1},{"version":"2f554c6798b731fc39ff4e3d86aadc932fdeaa063e3cbab025623ff5653c0031","impliedFormat":1},{"version":"fe4613c6c0d23edc04cd8585bdd86bc7337dc6265fb52037d11ca19eeb5e5aaf","impliedFormat":1},{"version":"53b26fbee1a21a6403cf4625d0e501a966b9ccf735754b854366cee8984b711c","impliedFormat":1},{"version":"9ff247206ec5dffdfadddfded2c9d9ad5f714821bb56760be40ed89121f192f4","impliedFormat":1},{"version":"98c6ddd06251098b3302e7094cbc9ab54a2ea88069f5416b7d0b8daee2ff8aa2","impliedFormat":1},{"version":"8c59d8256086ed17676139ee43c1155673e357ab956fb9d00711a7cac73e059d","impliedFormat":1},{"version":"cfe88132f67aa055a3f49d59b01585fa8d890f5a66a0a13bb71973d57573eee7","impliedFormat":1},{"version":"53ce488a97f0b50686ade64252f60a1e491591dd7324f017b86d78239bd232ca","impliedFormat":1},{"version":"50fd11b764194f06977c162c37e5a70bcf0d3579bf82dd4de4eee3ac68d0f82f","impliedFormat":1},{"version":"e0ceb647dcdf6b27fd37e8b0406c7eafb8adfc99414837f3c9bfd28ffed6150a","impliedFormat":1},{"version":"99579aa074ed298e7a3d6a47e68f0cd099e92411212d5081ce88344a5b1b528d","impliedFormat":1},{"version":"096e4ddaa8f0aa8b0ceadd6ab13c3fab53e8a0280678c405160341332eca3cd7","impliedFormat":1},{"version":"415b55892d813a74be51742edd777bbced1f1417848627bf71725171b5325133","impliedFormat":1},{"version":"942ab34f62ac3f3d20014615b6442b6dc51815e30a878ebc390dd70e0dec63bf","impliedFormat":1},{"version":"7a671bf8b4ad81b8b8aea76213ca31b8a5de4ba39490fbdee249fc5ba974a622","impliedFormat":1},{"version":"8e07f13fb0f67e12863b096734f004e14c5ebfd34a524ed4c863c80354c25a44","impliedFormat":1},{"version":"9faa56e38ed5637228530065a9bab19a4dc5a326fbdd1c99e73a310cfed4fcde","impliedFormat":1},{"version":"7d4ad85174f559d8e6ed28a5459aebfc0a7b0872f7775ca147c551e7765e3285","impliedFormat":1},{"version":"d422f0c340060a53cb56d0db24dd170e31e236a808130ab106f7ab2c846f1cdb","impliedFormat":1},{"version":"424403ef35c4c97a7f00ea85f4a5e2f088659c731e75dbe0c546137cb64ef8d8","impliedFormat":1},{"version":"16900e9a60518461d7889be8efeca3fe2cbcd3f6ce6dee70fea81dfbf8990a76","impliedFormat":1},{"version":"6daf17b3bd9499bd0cc1733ab227267d48cd0145ed9967c983ccb8f52eb72d6e","impliedFormat":1},{"version":"e4177e6220d0fef2500432c723dbd2eb9a27dcb491344e6b342be58cc1379ec0","impliedFormat":1},{"version":"ddc62031f48165334486ad1943a1e4ed40c15c94335697cb1e1fd19a182e3102","impliedFormat":1},{"version":"b3f4224eb155d7d13eb377ef40baa1f158f4637aa6de6297dfeeacefd6247476","impliedFormat":1},{"version":"4a168e11fe0f46918721d2f6fcdb676333395736371db1c113ae30b6fde9ccd2","impliedFormat":1},{"version":"5b0a75a5cced0bed0d733bde2da0bbb5d8c8c83d3073444ae52df5f16aefb6ab","impliedFormat":1},{"version":"ef2c1585cad462bdf65f2640e7bcd75cd0dbc45bae297e75072e11fe3db017fa","impliedFormat":1},{"version":"ef809928a4085de826f5b0c84175a56d32dd353856f5b9866d78b8419f8ea9bc","impliedFormat":1},{"version":"6f6eadb32844b0ec7b322293b011316486894f110443197c4c9fbcba01b3b2fa","impliedFormat":1},{"version":"a51e08f41e3e948c287268a275bfe652856a10f68ddd2bf3e3aaf5b8cdb9ef85","impliedFormat":1},{"version":"862f7d760ef37f0ae2c17de82e5fbf336b37d5c1b0dcf39dcd5468f90a7fdd54","impliedFormat":1},{"version":"af48a76b75041e2b3e7bd8eed786c07f39ea896bb2ff165e27e18208d09b8bee","impliedFormat":1},{"version":"cb524ec077f3963e13e85747c6b53fbdf6bf407c84ca1873c6e43da1e96bee6d","impliedFormat":1},{"version":"deb092bc337b2cb0a1b14f3d43f56bc663e1447694e6d479d6df8296bdd452d6","impliedFormat":1},{"version":"041bc1c3620322cb6152183857601707ef6626e9d99f736e8780533689fb1bf9","impliedFormat":1},{"version":"22bd7c75de7d68e075975bf1123de5bccecfd06688afff2e2022b4c70bfc91c3","impliedFormat":1},{"version":"128e7c2ffd37aa29e05367400d718b0e4770cefb1e658d8783ec80a16bc0643a","impliedFormat":1},{"version":"076ac4f2d642c473fa7f01c8c1b7b4ef58f921130174d9cf78430651f44c43ec","impliedFormat":1},{"version":"396c1e5a39706999ec8cc582916e05fcb4f901631d2c192c1292e95089a494d9","impliedFormat":1},{"version":"89df75d28f34fc698fe261f9489125b4e5828fbd62d863bbe93373d3ed995056","impliedFormat":1},{"version":"8ccf5843249a042f4553a308816fe8a03aa423e55544637757d0cfa338bb5186","impliedFormat":1},{"version":"93b44aa4a7b27ba57d9e2bad6fb7943956de85c5cc330d2c3e30cd25b4583d44","impliedFormat":1},{"version":"a0c6216075f54cafdfa90412596b165ff85e2cadd319c49557cc8410f487b77c","impliedFormat":1},{"version":"3c359d811ec0097cba00fb2afd844b125a2ddf4cad88afaf864e88c8d3d358bd","impliedFormat":1},{"version":"3c0b38e8bf11bf3ab87b5116ae8e7b2cad0147b1c80f2b77989dea6f0b93e024","impliedFormat":1},{"version":"8df06e1cd5bb3bf31529cc0db74fa2e57f7de1f6042726679eb8bc1f57083a99","impliedFormat":1},{"version":"d62f09256941e92a95b78ae2267e4cf5ff2ca8915d62b9561b1bc85af1baf428","impliedFormat":1},{"version":"e6223b7263dd7a49f4691bf8df2b1e69f764fb46972937e6f9b28538d050b1ba","impliedFormat":1},{"version":"d9b59eb4e79a0f7a144ee837afb3f1afbc4dab031e49666067a2b5be94b36bd4","impliedFormat":1},{"version":"1db014db736a09668e0c0576585174dbcfd6471bb5e2d79f151a241e0d18d66b","impliedFormat":1},{"version":"8a153d30edde9cefd102e5523b5a9673c298fc7cf7af5173ae946cbb8dd48f11","impliedFormat":1},{"version":"abaaf8d606990f505ee5f76d0b45a44df60886a7d470820fcfb2c06eafa99659","impliedFormat":1},{"version":"51a66bfa412057e786a712733107547ceb6f539061f5bf1c6e5a96e4ccf4f83c","impliedFormat":1},{"version":"d92a80c2c05cf974704088f9da904fe5eadc0b3ad49ddd1ef70ca8028b5adda1","impliedFormat":1},{"version":"fbd7450f20b4486c54f8a90486c395b14f76da66ba30a7d83590e199848f0660","impliedFormat":1},{"version":"ece5b0e45c865645ab65880854899a5422a0b76ada7baa49300c76d38a530ee1","impliedFormat":1},{"version":"62d89ac385aeab821e2d55b4f9a23a277d44f33c67fefe4859c17b80fdb397ea","impliedFormat":1},{"version":"f4dee11887c5564886026263c6ee65c0babc971b2b8848d85c35927af25da827","impliedFormat":1},{"version":"fb8dd49a4cd6d802be4554fbab193bb06e2035905779777f32326cb57cf6a2c2","impliedFormat":1},{"version":"e403ecdfba83013b5eb0e648a92ce182bff2a45ccb81db3035a69081563c2830","impliedFormat":1},{"version":"82d3e00d56a71fc169f3cf9ec5f5ffcc92f6c0e67d4dfc130dafe9f1886d5515","impliedFormat":1},{"version":"b8d57effce2d49a5493debbd8c644e8d52fbe66e2c6d451371375ef5f7bccb8e","impliedFormat":1},{"version":"9963d9857df2df335d1232a12eccbe5c777537a244f4b39406b27bf4736202f6","impliedFormat":1},{"version":"1b33478647aa1b771314745807397002a410c746480e9447db959110999873ce","impliedFormat":1},{"version":"b8d58ef4128a6e8e4b80803e5b67b2aaf1436c133ce39e514b9c004e21b2867e","impliedFormat":1},{"version":"7e6a96b383da9f5acb848bb9dedb9ac8489df7cec46bbf26aeaed2610f709078","impliedFormat":1},{"version":"9fac6ebf3c60ced53dd21def30a679ec225fc3ff4b8d66b86326c285a4eebb5a","impliedFormat":1},{"version":"8cb83cb98c460cd716d2a98b64eb1a07a3a65c7362436550e02f5c2d212871d1","impliedFormat":1},{"version":"07bc8a3551e39e70c38e7293b1a09916867d728043e352b119f951742cb91624","impliedFormat":1},{"version":"e47adc2176f43c617c0ab47f2d9b2bb1706d9e0669bf349a30c3fe09ddd63261","impliedFormat":1},{"version":"7fec79dfd7319fec7456b1b53134edb54c411ba493a0aef350eee75a4f223eeb","impliedFormat":1},{"version":"189c489705bb96a308dcde9b3336011d08bfbca568bcaf5d5d55c05468e9de7a","impliedFormat":1},{"version":"98f4b1074567341764b580bf14c5aabe82a4390d11553780814f7e932970a6f7","impliedFormat":1},{"version":"1dd24cbf39199100fbe2f3dbd1c7203c240c41d95f66301ecc7650ae77875be1","impliedFormat":1},{"version":"2e252235037a2cd8feebfbf74aa460f783e5d423895d13f29a934d7655a1f8be","impliedFormat":1},{"version":"763f4ac187891a6d71ae8821f45eef7ff915b5d687233349e2c8a76c22b3bf2a","impliedFormat":1},{"version":"7fc2d49f27de76f4836ce6b459d310342160d53750c9fb3856084dc0463a6c68","signature":"25a613678ce6683785c22e96b7b0bb2ea72629cc0e36bd0ec345faa528d5a498"},{"version":"9fe5d102a0f00ec8fe228e584d308b10d8e6a1c3358c095da37891830a4ab08d","signature":"531d318f7778e6d6e813e9b985d73c6f1f32e9ffc3fa3b9f1b828a0a423479b7"},{"version":"9927b326acad849eb7d682565b857558de24ba3bede1de962c3c214d8d18a835","signature":"45c429d63eb8a2b51deba2398a6357a6a7b2e4dd05852323bda135de9be4bad7"},{"version":"a3d3f704c5339a36da3ca8c62b29072f87e86c783b8452d235992142ec71aa2d","impliedFormat":1},{"version":"2cea959343a87551cdacd5053a510aea1db6eb1d5dbac9cba0d45e96f91a6577","signature":"21bef51e0650ef57ab1e11200d7adf8c51d111269e16f7ea33311d0ad00764e8"},{"version":"70a8f9ce5a28aad6fe99f6dd229e4b9b8a09e9173f65821a858b7d7d6430f44f","signature":"cbf6393bf0de87fa826ff2760d6f20da539d70087ce04ec9973005e60eb28591"},{"version":"7250df311e6ae91e69c92d61feb1d6394bfba2fc69bafa8a8d013d31d772136a","signature":"c6a11c41e3900384f43e49225708d53571964553c39ac7918168184fb4650ecf"},{"version":"faf770b3935c2ba6558b2bb65af5d5de58945d81f496dc1a5938c41a1abb358b","impliedFormat":99},{"version":"88942ba174e8dbe55b367b73653fdba16cccf260e808746fc6f3c249d98d8be4","impliedFormat":1},{"version":"13bde1a8ad275ad5540a0d2a7fb468fd4e91e7ef65d7576a495c4fed67998668","impliedFormat":1},{"version":"f9f04b6753480b68a94cba84e529b95d0bc47069fe0bc95704791b491c0a96b9","impliedFormat":1},{"version":"983901ec7b6a7548e62bc871fedb5f7b9595890485acaca1552b9116ef643174","impliedFormat":1},{"version":"ec89b64352b1d7785638f4e03be5c35003f902e90380201f13aba32bcdb30424","impliedFormat":1},{"version":"7d64373ce65cbb99be5cc1799646865fd94e5bc18f7e83e9c41ce7c03989a068","impliedFormat":1},{"version":"2eeb02a34bdabb885ba8c5c23efcebeb851fc2554bef7164272ac1631c4f9121","impliedFormat":1},{"version":"a62d4d3847f1a59e906746dbdd5c1d867d396fdf6a2844859a32fa5eeef92c01","impliedFormat":1},{"version":"db28584249938f1cb8d506966b9a22392574acda9ac65e45b33349249aaea034","impliedFormat":1},{"version":"162f412490dc0da52cb5e01d823a19190c8ef744407c4616648f919bc6daf83e","impliedFormat":1},{"version":"8a96e6e5a4ada21bd995c15a39133a7bd9758659e5c077fef278412b437726b4","impliedFormat":1},{"version":"2aa1aa577894d82e6ec4365683697cb64ee6e79e364558e97ed1889dcb87a1d0","impliedFormat":1},{"version":"c060f27ed9e681baf6abc53b6db08aada85c4ed3664dc66340bf40f77d09024f","impliedFormat":1},{"version":"d404053912c5b1ce3e55a8779403a09558919446f3e50a154cac39a70b7e2906","impliedFormat":1},{"version":"e1447229d408f83a051f212ee0bfe04465d32a2fb2ced462c9be9fd77b008446","impliedFormat":1},{"version":"d7a0a54a73d805fe66f9aea8371bd248f20a0c36ac4be451408f35bb342eaa6f","impliedFormat":1},{"version":"ffe4c8aef16bef21a590c8570c27125a110f24daf44129f912d34b3d5b345c9d","impliedFormat":1},{"version":"3b38d55fbdaf66d51c9e0914b99432a34fa878dc183b679fe475e330590783dc","impliedFormat":1},{"version":"4e1eee276c5e89ad7436aeda5904cf5090f37cf8c98f32d6ddfc2a78268d9048","impliedFormat":1},{"version":"8ce004f2ea0504a79abe04574513292d372b2f8c6581cb3bb29876dfe3733e74","signature":"47592e968e0b3185699f2d01f6c42cd2e51b8058f6996393500bae560427800d"},{"version":"42ca7968dcf6f84c6ce4093b295a8758e7056fd1bbfa6a6f332ef2c99897a841","signature":"2435b5bea0880a672e7cf5068f102db35942bdd0ac5817ac282365eb97924260"},{"version":"089143e6cfedcc7543c592f5221b9684edc0348ff84e0c61de1d9727bacbb6c1","signature":"598d4ea87a856fc33e9378ae009e9ab3b1399dd95134ea297f2a71299a0b7b88"},{"version":"673a24b703879e2b820bd75c9da5d1ac30319d514d45129dd7e9af13e2313733","signature":"765ac1009ca86fb7cf7f9f50c72f9331b2234a893c8f840a197eb2ac15094c30"},{"version":"c06b664ade920bf0c796c9d6e55676fa33ddf548ec5f1f1986c95591bc587f74","signature":"74e5948d566cf73b1689912d6853c153a803e8f55c05dbdd50ba7aeb98cef148"},{"version":"51fc903ffa25cb72c7ecc1aa1fed8c9d5bf7c6dd2f7f0efe9d5fa1d7490b020c","signature":"e9629b89f6cd33a040577695d89edf882e66287d30c87121f5fc07f404decd25"},{"version":"1d2500b2a6ee06ad6fbcce3bc4bc545fb2a983f4eea493795487ede0be1b9a38","signature":"fadda0126d42deb0230f5759abca119f01de0e629a05052a5a1460a469415145"},{"version":"03c92769f389dbd9e45232f7eb01c3e0f482b62555aaf2029dcbf380d5cee9e4","impliedFormat":1},{"version":"32d7f70fd3498bc76a46dab8b03af4215f445f490f8e213c80cf06b636a4e413","impliedFormat":1},{"version":"af39a976e2abde1259a013ed00af748f483ce0913e4761757a290c284c5fe207","signature":"2d91f1c2cbccd1b14799f73431cd16464df8a9854823f1ebbf6759a3af391969"},{"version":"2366b83544f8abdd4d972e12531783fa88eabc2e577978469f5f0a05b8640caf","signature":"aa1725e38b5a0b4009f6a74f296f173e7926c119a60454dbd2e523861735df69"},{"version":"ca3a3a8f2e3cc00e58fccb1ad7fc4595e1f73af9329c53819158a85dc0deb1f0","signature":"a28b5c0c372fb375910b3fe3c3ce4331509bc18ccef7cc39c9ee9d8daf8225d1"},{"version":"6bde3e00980f7ec94aa825e94c5f7a5c4c3c2342a41a8ffd5bc23c750251e58d","impliedFormat":1},{"version":"717b120720ab5a9ed26d119eb1e4024d161a9e4676ec44fb43f95a27d163ec5a","impliedFormat":1},{"version":"67c4e219bccbd87b8e054213e80b1278be8da8b099d45af747dccfb4dfd7af6f","impliedFormat":1},{"version":"c2621930ef221aff59317993158f5d87662eb5bca09d5ce3ae1e41d7187c9384","impliedFormat":1},{"version":"f1a60cadab021078f04200daf4c66ee70d93e5a9123f6fa05ba4128fcf69c0d9","impliedFormat":1},{"version":"27679e96d1bd38c5938178aaf4abe8627493090b63d6bae2ce8436e6a87ebe4d","impliedFormat":1},{"version":"eb967aca6a70476eabb2b2de534f94cf58dd266e7c038d8c54f8d17f990eac96","impliedFormat":1},{"version":"f95c1b0910c4e0432b76a5dbec026aa8b725ac0b107b7bcff20b25ae8101c1bb","impliedFormat":1},{"version":"30ce903610d8fff81c1587d01c033eaaa5f3a9cbdf7daa9da87706cc52f5aa04","impliedFormat":1},{"version":"4c5d2a6d41a3ae593c805120d0eb155036d161eda42cc5d5214b27def43c4ee1","impliedFormat":1},{"version":"dbca9f6a3e220261be9b53a01de40279c841130cc416e284bb1727a56010c43f","impliedFormat":1},{"version":"09beee23a66f0bdf7dc331f4a02e92c2b5394007b64370ed2d27734bc5536491","impliedFormat":1},{"version":"27562a4464551037e4287cf3261d164427754c5bd7c6ad27bf028bec82fc86b2","impliedFormat":1},{"version":"e13b50da243d4d0fd5e2ec6397c1be56a131f0da2c124ffa1fcedd98807f182b","impliedFormat":1},{"version":"35605aa025dccd05aa7bcf114ee4d41f44f6c9d3a7bb7a00aee12b261134e1be","impliedFormat":1},{"version":"73b5fe0bb04c20d5419f314e75a043adedb467ce2fd39e1ebd663aa491366bd2","signature":"8ddcb5b760b1d1a59390fa8541817ae542d27e8d8b324d8171102070a2ca731e"},{"version":"86e1ab6620867b1a98e038a6eb1da215001694f2dcdb7baffa2db98bacd88eba","signature":"ba84f5ccecfa9a5266331cabd2be71fb35bf4b4ffd43f1b2e5af699df8830501"},{"version":"25e5c8b73c6ad21f39e8e72f954090f30b431a993252bccea5bdad4a3d93c760","impliedFormat":1},{"version":"5bf595f68b7c1d46ae8385e3363c6e0d4695b6da58a84c6340489fc07ffc73f8","impliedFormat":1},{"version":"b87682ddc9e2c3714ca66991cdd86ff7e18cae6fd010742a93bd612a07d19697","impliedFormat":1},{"version":"0d621d4e5ae0224d434f840a32f871bad9e9236dd18b13bb34164a769c4a964e","impliedFormat":1},{"version":"86bf2bfe29d0bc3fbc68e64c25ea6eab9bcb3c518ae941012ed75b1e87d391ae","impliedFormat":1},{"version":"3c74d80d1dd95437cc9bbf22d88199e7410fd85af06171327125bcf4025deae8","impliedFormat":1},{"version":"00b4f8b82e78f658b7e269c95d07e55d391235ce34d432764687441177ae7f64","impliedFormat":1},{"version":"57880096566780d72e02a5b34d8577e78cdf072bfd624452a95d65bd8f07cbe0","impliedFormat":1},{"version":"10ac50eaf9eb62c048efe576592b14830a757f7ea7ed28ee8deafc19c9845297","impliedFormat":1},{"version":"e75af112e5487476f7c427945fbd76ca46b28285586ad349a25731d196222d56","impliedFormat":1},{"version":"e91adad3da69c366d57067fcf234030b8a05bcf98c25a759a7a5cd22398ac201","impliedFormat":1},{"version":"d7d6e1974124a2dad1a1b816ba2436a95f44feeda0573d6c9fb355f590cf9086","impliedFormat":1},{"version":"464413fcd7e7a3e1d3f2676dc5ef4ebe211c10e3107e126d4516d79439e4e808","impliedFormat":1},{"version":"18f912e4672327b3dd17d70e91da6fcd79d497ba01dde9053a23e7691f56908c","impliedFormat":1},{"version":"2974e2f06de97e1d6e61d1462b54d7da2c03b3e8458ee4b3dc36273bc6dda990","impliedFormat":1},{"version":"d8c1697db4bb3234ff3f8481545284992f1516bc712421b81ee3ef3f226ae112","impliedFormat":1},{"version":"59b6cce93747f7eb2c0405d9f32b77874e059d9881ec8f1b65ff6c068fcce6f2","impliedFormat":1},{"version":"e2c3c3ca3818d610599392a9431e60ec021c5d59262ecd616538484990f6e331","impliedFormat":1},{"version":"e3cd60be3c4f95c43420be67eaa21637585b7c1a8129f9b39983bbd294f9513c","impliedFormat":1},{"version":"b89578f21ad071695b7a802015c9b8397fd908bd5cfda4148d7f063e2dede508","signature":"4e662355c42385af0c5591a949bdcb150a2d2aedceea4ca68b989acac2ab00ce"},{"version":"80555dbf131cb31d4de7bc1d49145ac5d491762abfcc8346dc1be5ad2bd2a0ae","signature":"88a7d531e09d147c1d82566f3b6c73205378f10edf36b3065095995f2c1acea0"},{"version":"d30f798272e9e005f5be5db692f272767dab4369d31aab021f9668aac827a749","signature":"ac4f81021ff5739e9fe40b8efe432369a8fa63e6831003555afa84517f9c09b3"},{"version":"07e3fba4a630fd7ee166fd4a31c4eb8a16bb168bbcfb6f925679ff146ed44053","signature":"318b6e6012925a182c67854830453a972c19016912012789ec1f76908f9f7298"},{"version":"e95a18d6064d7c0c711aecd67b4b58aed5cf3ac0c6136cd60e21eeedea8a1910","signature":"6a2d4806f5f8a4561db6b3bc22ca7ec5bde42dbf7b3e004c17790432d130ebcb"},{"version":"7a7658ac8276fc5207d58a322c98d0912908f46b8fbc1bd33292d67f3699c25c","signature":"051e4ca5ba2bdb4f36efaf95db28a58235b3bc20f697eb347a562ad822f56371"},{"version":"6e52ffc617c35f09cfb9ed56d0a90a60277c658cca7bdd3d31abfc4dcfcf4487","signature":"7511a389505669f877f4c4a5eb7715fba76b8d1fc7a8c9b1bcdedebd0c5db123"},{"version":"04258c249a73ecde29f43485733d01254cdcb87d6ab858dddcbbf1e80dafcb88","signature":"642517d50ff1786eb698278feb4c38fa3a64fe82594b8fe6ebf51250cef3dcae"},{"version":"1752fd0fd70859e760be622b88e3f5749781eb31c3e0a298e30e982a2ae6b741","signature":"4a7279fa2d6ce9db42762610b5b95d9c32bd0886dea33bbfb8172fdaef60ca21"},{"version":"eebc5e79aa32b4e6edf5c79f4a5f4b5e8ee08a544200540235068196ca460dca","signature":"88d19a620e42a9cf3b09ce0224558f7f79cfdaad54149571560d8946a7186a71"},{"version":"fd1c481a9fdd5de4512a0930e6475cd2404ecddcbc5f0b652c138a9c5622fa89","signature":"53533fb273a798dfa574c1b0233d019aef31611b4b03e6e7d3b29daa3fa5823e"},{"version":"36484ce5c5f78ca2227f4a8d2af7a8a73fc98f220d439bb5d54f5f5c446ddbca","signature":"87ee273641a056f044cd411e0423f8df3a62c6384affa7e93b40605d282e6fa6"},{"version":"e582390cf7cccaa2af44f94012d1da4fa36a1ee16d83aff4fac5208f9887145f","signature":"1c88d019d7bdda9a467884dbc0d2e40ab2f6ef99f40d605b4425d4073bfa5812"},{"version":"76a72146723977f32b357308a37ceabe4f0d4230188e5f0a2aa39ea164908d89","signature":"aee01a967ddab43948df6a651db9180038ed1e020ece10427b6887aa5da93ec9"},"d04347d2e3e9595c0123b0176daca2dc2d73d72f91c30b3dd8858eb177b4d8c6",{"version":"a64b6ddc116d0fc3923b42203415e09ec008f060378417833708344e4d142d3a","signature":"f5b67d768c1537bd319d5821ac78f36f555f90aa2d8b0cb2dbbac8b7367f57ce"},{"version":"4629856344a1611bf6c9b35dca1c96fae5237feb5a612394674ff34aa88c1dcd","signature":"a6699c439d3232049318a5436d946e8c0d6189c8504bc8b4d92d1b2e2a4f0978"},{"version":"e796d69f77320b216d4379faa63a6ed62f01b4b8efdab3cf49a08d0c05db056a","signature":"577f3b6469325d93db91dcda11ca6ad759e7857d7543a7b86a14d6c079fe2a0b"},{"version":"327d66c9196954ab5f66946eff4a971cd184d3fee37b4530ad7885c6f02349fe","signature":"615d6570f87c32454d945b095e8d1c48e3139d8453a93c04cd9bf58650fae915"},{"version":"32971c5dd503884f0b53fdd3637d6afc010fa07ea9167101cd96629f269055fa","signature":"d792d8948c00892b6b553b1af54078fef19bbafce64e283fbe27853d1ab3646a"},{"version":"fd92a5abd59ec9ff3be9f05e8bf52cebd694b4f210adcf190934044e92af8417","signature":"5aba5d88dc8ffb2ad2b6681eb4b2a31b908981cf3fe829883e80c95ee31ae9d6"},{"version":"452f85eea4743ae4e17fa6e15a410720b3830e3a37032111c7e090d938f745a6","signature":"ece9580f9ef81ee4920d1b84c3e2ac8c32a75856b597213de9cb05a38ce9308f"},{"version":"5287c9d935dcfd1e4de4397773d42457a72569888fb417e146781ea2ca63bf45","signature":"b15d7464cdf975252b45a1cb1e782fbd85f33d0ab665ec5e593e2b9eacbd0cb3"},"e134c7e4589d40f50a423fcb29b4037d5873ae669f0b2ff9077cceb380909170","7aee25d7c8966c3e8ede8256b9de7082db981e20c29042c5024a1a9875467df5",{"version":"7ed76b325d1fb66530a47027cc45545a31c41f5542f14f16f56d625b8edfee40","signature":"5657dbc03853bfef2a924a1f3e5ac67cc2ba65f68eb5f46c275e5e299c210762"},{"version":"eb20c26a9c90a53e9820dbc974ea52cb0d9f63d446c56a32bda53106e8d7207d","signature":"8a51520f9004fbb45f8eed5af9d64b8d9541496fb754aec5a7f60d51eb6418b4"},"99a387ee33b8ac75d948bbf4456100ab7ed8424af71b6b7afc00767e1eefa3ce","f4af00d291814e4b8f0b3a6650ff8fcf84e914365f2bde797cb612c68b8cedcd",{"version":"8d082991775f9ae44c7b5f1b4dc798fcdb04a326a215bde24d689ed220616a0b","signature":"93dd84ee2766099c6f89f50ab64681f3a09802827e01fd3ff524b49af03ee528"},{"version":"0399e12cc6f824f9927db91d6284c36a33ba2fa3b10261cd594d44dfe734341b","signature":"7098d426408d8ef6710172fca0cb5bb0194a472253cfdba0ca2da5cdd7491a82"},{"version":"cdc08833e5932c033bfead5222229ef46b0e59d87269c032bec3019aa414294d","signature":"b82491e2990291580288c5602d4c017238977749d52b17391f0e45d9a29be644"},{"version":"ab04199505825c43c89783ce9d530e78f33729c94b148d0dc267a4999534eca9","signature":"db329b7a110dc85e20e4698125e8833844d0fa44231eca13b115b7ffdb387f14"},"e360c7c6f7ad448c786ab0e40214e11c4be24287abf75114e30d3485fda0141a",{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"ac450542cbfd50a4d7bf0f3ec8aeedb9e95791ecc6f2b2b19367696bd303e8c6","impliedFormat":99},{"version":"8a190298d0ff502ad1c7294ba6b0abb3a290fc905b3a00603016a97c363a4c7a","impliedFormat":1},{"version":"3cf631a6ae0060fddf4898c816958e39f47e16570faf7bc7048c774c83cd7a7e","impliedFormat":1},{"version":"1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","impliedFormat":1},{"version":"95f26e134cf46f4c2aec8c70a79dcbc00c5811bdc9734bd3f3535fa63f8448c3","affectsGlobalScope":true,"impliedFormat":1}],"root":[461,462,981,[1148,1170],1200,1201,[1294,1296],[1298,1300],[1321,1327],[1330,1332],1348,1349,[1369,1402]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"module":1,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":9},"referencedMap":[[1407,1],[341,2],[328,2],[65,2],[317,3],[318,3],[319,2],[320,4],[330,5],[321,3],[322,6],[323,2],[324,2],[325,3],[326,3],[327,3],[329,7],[337,8],[339,2],[336,2],[343,9],[340,2],[338,2],[334,10],[335,11],[342,12],[344,13],[331,2],[333,14],[332,15],[271,2],[274,16],[270,2],[1250,2],[272,2],[273,2],[347,17],[348,17],[349,17],[350,17],[351,17],[352,17],[353,17],[346,18],[354,17],[368,19],[355,17],[345,2],[356,17],[357,17],[358,17],[359,17],[360,17],[361,17],[362,17],[363,17],[364,17],[365,17],[366,17],[367,17],[376,20],[374,21],[373,2],[372,2],[375,22],[416,23],[66,2],[67,2],[68,2],[1232,24],[70,25],[1238,26],[1237,27],[260,28],[261,25],[396,2],[290,2],[291,2],[397,29],[262,2],[398,2],[399,30],[69,2],[264,31],[265,32],[263,33],[266,31],[267,2],[269,34],[281,35],[282,2],[287,36],[283,2],[284,2],[285,2],[286,2],[288,2],[289,37],[295,38],[298,39],[296,2],[297,2],[316,40],[299,2],[300,2],[1281,41],[280,42],[278,43],[276,44],[277,45],[279,2],[307,46],[301,2],[310,47],[303,48],[308,49],[306,50],[309,51],[304,52],[305,53],[293,54],[312,55],[294,56],[314,57],[315,58],[302,2],[311,2],[268,2],[275,59],[313,60],[382,61],[377,2],[383,62],[378,63],[379,64],[380,65],[381,66],[384,67],[389,68],[387,69],[388,69],[395,70],[385,2],[386,71],[390,68],[392,72],[394,73],[393,74],[408,75],[401,76],[402,77],[403,77],[404,78],[405,78],[406,77],[407,77],[400,79],[410,80],[409,81],[412,82],[411,83],[413,84],[369,85],[371,86],[292,2],[370,54],[414,87],[391,88],[415,89],[463,4],[579,90],[580,91],[584,92],[464,2],[470,93],[577,94],[578,95],[465,2],[466,2],[469,96],[467,2],[468,2],[582,2],[583,97],[581,98],[585,99],[1202,100],[1203,101],[1223,102],[1224,103],[1225,2],[1226,104],[1227,105],[1236,106],[1229,107],[1233,108],[1241,109],[1239,4],[1240,110],[1230,111],[1242,2],[1244,112],[1245,113],[1246,114],[1235,115],[1231,116],[1255,117],[1243,118],[1270,119],[1228,120],[1271,121],[1268,122],[1269,4],[1293,123],[1218,124],[1214,125],[1216,126],[1267,127],[1209,128],[1257,129],[1256,2],[1217,130],[1264,131],[1221,132],[1265,2],[1266,133],[1219,134],[1220,135],[1215,136],[1213,137],[1208,2],[1261,138],[1274,139],[1272,4],[1204,4],[1260,140],[1205,11],[1206,103],[1207,141],[1211,142],[1210,143],[1273,144],[1212,145],[1249,146],[1247,112],[1248,147],[1258,11],[1259,148],[1262,149],[1277,150],[1278,151],[1275,152],[1276,153],[1279,154],[1280,155],[1282,156],[1254,157],[1251,158],[1252,3],[1253,147],[1284,159],[1283,160],[1290,161],[1222,4],[1286,162],[1285,4],[1288,163],[1287,2],[1289,164],[1234,165],[1263,166],[1292,167],[1291,4],[1178,168],[1174,169],[1173,170],[1175,2],[1176,171],[1177,172],[1179,173],[1180,2],[1184,174],[1198,175],[1181,4],[1183,176],[1182,2],[1185,177],[1196,178],[1197,179],[1199,180],[1353,181],[1354,182],[1368,183],[1356,184],[1355,185],[1350,186],[1351,2],[1352,2],[1367,187],[1358,188],[1359,188],[1360,188],[1361,188],[1363,189],[1362,188],[1364,190],[1365,191],[1357,2],[1366,192],[417,2],[418,2],[421,193],[443,194],[422,2],[423,2],[424,4],[426,2],[425,2],[444,2],[427,2],[428,195],[429,2],[430,4],[431,2],[432,196],[434,197],[435,2],[437,198],[438,197],[439,199],[445,200],[440,196],[441,2],[446,201],[451,202],[460,203],[442,2],[433,196],[450,204],[419,2],[436,205],[448,206],[449,2],[447,2],[452,207],[457,208],[453,4],[454,4],[455,4],[456,4],[420,2],[458,2],[459,209],[975,210],[973,211],[974,212],[979,213],[972,214],[977,215],[976,216],[978,217],[980,218],[1297,2],[1193,219],[1192,220],[1410,221],[1406,222],[1405,223],[1403,2],[1189,224],[1194,225],[1190,2],[1404,2],[1172,226],[1171,2],[1411,227],[522,228],[523,228],[524,229],[476,230],[525,231],[526,232],[527,233],[471,2],[474,234],[472,2],[473,2],[528,235],[529,236],[530,237],[531,238],[532,239],[533,240],[534,240],[535,241],[536,242],[537,243],[538,244],[477,2],[475,2],[539,245],[540,246],[541,247],[575,248],[542,249],[543,2],[544,250],[545,251],[546,252],[547,253],[548,254],[549,255],[550,256],[551,257],[552,258],[553,258],[554,259],[555,2],[556,260],[557,261],[559,262],[558,263],[560,264],[561,265],[562,266],[563,267],[564,268],[565,269],[566,270],[567,271],[568,272],[569,273],[570,274],[571,275],[572,276],[478,2],[479,2],[480,2],[519,277],[520,2],[521,2],[573,278],[574,279],[1329,280],[1328,281],[1195,282],[1187,2],[1188,2],[1186,283],[1191,284],[1051,285],[1042,2],[1043,2],[1044,2],[1045,2],[1046,2],[1047,2],[1048,2],[1049,2],[1050,2],[1301,2],[481,2],[999,286],[1000,286],[1001,286],[1007,287],[1002,286],[1003,286],[1004,286],[1005,286],[1006,286],[990,288],[989,2],[1008,289],[996,2],[992,290],[983,2],[982,2],[984,2],[985,286],[986,291],[998,292],[987,286],[988,286],[993,293],[994,294],[995,286],[991,2],[997,2],[1012,2],[1131,295],[1135,295],[1134,295],[1132,295],[1133,295],[1136,295],[1015,295],[1027,295],[1016,295],[1029,295],[1031,295],[1025,295],[1024,295],[1026,295],[1030,295],[1032,295],[1017,295],[1028,295],[1018,295],[1020,296],[1021,295],[1022,295],[1023,295],[1039,295],[1038,295],[1139,297],[1033,295],[1035,295],[1034,295],[1036,295],[1037,295],[1138,295],[1137,295],[1040,295],[1122,295],[1121,295],[1052,298],[1053,298],[1055,295],[1099,295],[1120,295],[1056,298],[1100,295],[1097,295],[1101,295],[1057,295],[1058,295],[1059,298],[1102,295],[1096,298],[1054,298],[1103,295],[1060,298],[1104,295],[1084,295],[1061,298],[1062,295],[1063,295],[1094,298],[1066,295],[1065,295],[1105,295],[1106,295],[1107,298],[1068,295],[1070,295],[1071,295],[1077,295],[1078,295],[1072,298],[1108,295],[1095,298],[1073,295],[1074,295],[1109,295],[1075,295],[1067,298],[1110,295],[1093,295],[1111,295],[1076,298],[1079,295],[1080,295],[1098,298],[1112,295],[1113,295],[1092,299],[1069,295],[1114,298],[1115,295],[1116,295],[1117,295],[1118,298],[1081,295],[1119,295],[1085,295],[1082,298],[1083,298],[1064,295],[1086,295],[1089,295],[1087,295],[1088,295],[1041,295],[1129,295],[1123,295],[1124,295],[1126,295],[1127,295],[1125,295],[1130,295],[1128,295],[1014,300],[1147,301],[1145,302],[1146,303],[1144,304],[1143,295],[1142,305],[1011,2],[1013,2],[1009,2],[1140,2],[1141,306],[1019,300],[1010,2],[576,307],[1409,308],[1408,309],[1338,2],[1091,310],[1090,2],[1337,311],[1336,2],[1345,2],[1335,312],[1346,313],[1344,314],[1333,2],[1340,315],[1341,312],[1342,2],[1334,316],[1343,317],[1347,318],[1339,319],[64,2],[259,320],[232,2],[210,321],[208,321],[258,322],[223,323],[222,323],[123,324],[74,325],[230,324],[231,324],[233,326],[234,324],[235,327],[134,328],[236,324],[207,324],[237,324],[238,329],[239,324],[240,323],[241,330],[242,324],[243,324],[244,324],[245,324],[246,323],[247,324],[248,324],[249,324],[250,324],[251,331],[252,324],[253,324],[254,324],[255,324],[256,324],[73,322],[76,327],[77,327],[78,327],[79,327],[80,327],[81,327],[82,327],[83,324],[85,332],[86,327],[84,327],[87,327],[88,327],[89,327],[90,327],[91,327],[92,327],[93,324],[94,327],[95,327],[96,327],[97,327],[98,327],[99,324],[100,327],[101,327],[102,327],[103,327],[104,327],[105,327],[106,324],[108,333],[107,327],[109,327],[110,327],[111,327],[112,327],[113,331],[114,324],[115,324],[129,334],[117,335],[118,327],[119,327],[120,324],[121,327],[122,327],[124,336],[125,327],[126,327],[127,327],[128,327],[130,327],[131,327],[132,327],[133,327],[135,337],[136,327],[137,327],[138,327],[139,324],[140,327],[141,338],[142,338],[143,338],[144,324],[145,327],[146,327],[147,327],[152,327],[148,327],[149,324],[150,327],[151,324],[153,327],[154,327],[155,327],[156,327],[157,327],[158,327],[159,324],[160,327],[161,327],[162,327],[163,327],[164,327],[165,327],[166,327],[167,327],[168,327],[169,327],[170,327],[171,327],[172,327],[173,327],[174,327],[175,327],[176,339],[177,327],[178,327],[179,327],[180,327],[181,327],[182,327],[183,324],[184,324],[185,324],[186,324],[187,324],[188,327],[189,327],[190,327],[191,327],[209,340],[257,324],[194,341],[193,342],[217,343],[216,344],[212,345],[211,344],[213,346],[202,347],[200,348],[215,349],[214,346],[201,2],[203,350],[116,351],[72,352],[71,327],[206,2],[198,353],[199,354],[196,2],[197,355],[195,327],[204,356],[75,357],[224,2],[225,2],[218,2],[221,323],[220,2],[226,2],[227,2],[219,358],[228,2],[229,2],[192,359],[205,360],[1306,361],[1318,362],[1302,2],[1307,363],[1308,363],[1309,363],[1310,363],[1316,364],[1311,363],[1312,363],[1313,363],[1314,365],[1315,366],[1317,367],[1320,368],[1305,369],[1319,370],[1303,363],[1304,371],[654,372],[653,2],[675,2],[593,373],[655,2],[602,2],[592,2],[719,2],[806,2],[756,374],[962,375],[803,376],[961,377],[960,377],[805,2],[656,378],[763,379],[759,380],[957,376],[927,2],[877,381],[878,382],[879,382],[891,382],[884,383],[883,384],[885,382],[886,382],[890,385],[888,386],[918,387],[915,2],[914,388],[916,382],[930,389],[928,2],[924,390],[929,2],[923,391],[892,2],[893,2],[896,2],[894,2],[895,2],[897,2],[898,2],[901,2],[899,2],[900,2],[902,2],[903,2],[598,392],[871,2],[872,2],[873,2],[874,2],[599,393],[875,2],[876,2],[905,394],[630,395],[904,2],[633,2],[634,396],[635,396],[882,397],[880,397],[881,2],[590,395],[629,398],[925,399],[597,2],[889,392],[917,214],[887,400],[906,396],[907,401],[908,402],[909,402],[910,402],[911,402],[912,403],[913,403],[922,404],[921,2],[919,2],[920,405],[926,406],[749,2],[750,407],[753,374],[754,374],[755,374],[724,408],[725,409],[744,374],[661,410],[748,374],[666,2],[743,411],[703,412],[667,413],[726,2],[727,414],[747,374],[741,2],[742,415],[728,408],[729,416],[623,2],[746,374],[751,2],[752,417],[757,2],[758,418],[624,419],[730,374],[745,374],[732,2],[733,2],[734,2],[735,2],[736,2],[737,2],[731,2],[738,2],[959,2],[739,420],[740,421],[596,2],[621,2],[652,2],[626,2],[628,2],[714,2],[622,397],[657,2],[660,2],[720,422],[709,423],[760,424],[649,425],[640,2],[631,426],[632,427],[966,389],[641,2],[644,426],[627,2],[642,382],[648,428],[643,403],[636,429],[639,399],[809,430],[832,430],[813,430],[816,431],[818,430],[867,430],[844,430],[808,430],[836,430],[864,430],[815,430],[845,430],[830,430],[833,430],[821,430],[854,432],[850,430],[843,430],[825,433],[824,433],[841,431],[851,430],[869,434],[870,435],[855,436],[847,430],[828,430],[814,430],[817,430],[849,430],[834,431],[842,430],[839,437],[856,437],[840,431],[826,430],[835,430],[868,430],[858,430],[846,430],[866,430],[848,430],[827,430],[862,430],[852,430],[829,430],[857,430],[865,430],[831,430],[853,433],[837,430],[861,438],[812,438],[823,430],[822,430],[820,439],[807,2],[819,430],[863,437],[859,437],[838,437],[860,437],[668,440],[674,441],[673,442],[664,443],[663,2],[672,444],[671,444],[670,444],[950,445],[669,446],[711,2],[662,2],[679,447],[678,448],[931,440],[933,440],[934,440],[935,440],[936,440],[937,440],[938,449],[943,440],[939,440],[940,440],[949,440],[941,440],[942,440],[944,440],[945,440],[946,440],[947,440],[932,440],[948,450],[637,2],[804,451],[971,452],[951,453],[952,454],[955,455],[953,454],[650,456],[651,457],[954,454],[696,2],[601,458],[796,2],[610,2],[615,459],[797,460],[794,2],[700,2],[801,461],[800,2],[766,2],[795,382],[792,2],[793,462],[802,463],[791,2],[790,403],[611,403],[595,464],[764,465],[798,2],[799,2],[647,404],[600,2],[617,399],[697,466],[620,467],[619,468],[616,469],[765,470],[701,471],[608,472],[767,473],[613,474],[612,475],[609,476],[646,477],[587,2],[614,2],[588,2],[589,2],[591,2],[594,460],[586,2],[638,2],[645,2],[618,478],[723,479],[963,480],[722,456],[964,481],[965,482],[607,483],[811,484],[810,485],[665,486],[774,487],[716,488],[783,489],[717,490],[785,491],[775,492],[787,493],[788,494],[773,2],[781,495],[704,496],[777,497],[776,497],[762,498],[761,498],[786,499],[708,500],[706,501],[707,501],[778,2],[789,502],[779,2],[784,503],[713,504],[782,505],[780,2],[715,506],[705,2],[772,507],[956,508],[958,509],[969,2],[710,510],[677,2],[721,511],[676,2],[712,512],[718,513],[695,2],[603,2],[699,2],[658,2],[768,2],[770,514],[680,2],[605,214],[967,515],[625,516],[771,517],[698,518],[604,519],[702,520],[659,521],[769,522],[681,523],[606,524],[694,525],[682,2],[693,526],[688,527],[689,528],[692,424],[691,529],[687,528],[690,529],[683,424],[684,424],[685,424],[686,530],[968,531],[970,532],[61,2],[62,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[63,2],[57,2],[58,2],[60,2],[59,2],[1,2],[14,2],[13,2],[497,533],[507,534],[496,533],[517,535],[488,536],[487,537],[516,307],[510,538],[515,539],[490,540],[504,541],[489,542],[513,543],[485,544],[484,307],[514,545],[486,546],[491,547],[492,2],[495,547],[482,2],[518,548],[508,549],[499,550],[500,551],[502,552],[498,553],[501,554],[511,307],[493,555],[494,556],[503,557],[483,558],[506,549],[505,547],[509,2],[512,559],[462,560],[1400,561],[461,4],[1200,4],[1201,562],[1295,563],[1296,564],[1401,565],[1370,566],[981,2],[1148,567],[1170,568],[1402,569],[1327,570],[1332,571],[1322,572],[1299,573],[1323,573],[1300,573],[1324,573],[1325,573],[1149,214],[1157,574],[1326,575],[1294,576],[1321,577],[1330,578],[1388,579],[1389,580],[1393,581],[1392,582],[1399,583],[1397,584],[1396,585],[1376,586],[1384,587],[1390,588],[1394,588],[1385,586],[1379,589],[1380,567],[1381,590],[1382,591],[1377,587],[1378,586],[1386,592],[1391,593],[1395,594],[1383,595],[1167,596],[1161,597],[1162,597],[1166,598],[1163,599],[1164,599],[1165,600],[1158,2],[1159,2],[1160,2],[1398,601],[1387,602],[1369,603],[1372,604],[1371,605],[1169,606],[1168,2],[1374,607],[1375,608],[1373,609],[1349,610],[1348,611],[1153,612],[1152,613],[1156,614],[1154,615],[1155,616],[1151,2],[1150,2],[1331,617],[1298,618]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411],"version":"5.9.3"} \ No newline at end of file diff --git a/tmp-start.err b/tmp-start.err deleted file mode 100644 index f1c0e235..00000000 --- a/tmp-start.err +++ /dev/null @@ -1,35 +0,0 @@ -[Nest] 24228 - 03/24/2026, 1:50:10 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:50:34 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (2)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:50:58 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (3)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:51:22 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (4)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:51:46 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (5)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:52:10 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (6)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:52:34 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (7)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:52:58 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (8)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:53:22 PM  ERROR [TypeOrmModule] Unable to connect to the database. Retrying (9)... -Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) -[Nest] 24228 - 03/24/2026, 1:53:22 PM  ERROR [ExceptionHandler] Error: connect ETIMEDOUT 62.3.14.124:6986 - at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) { - errno: -4039, - code: 'ETIMEDOUT', - syscall: 'connect', - address: '62.3.14.124', - port: 6986 -} diff --git a/tmp-start.out b/tmp-start.out deleted file mode 100644 index b94b845d..00000000 --- a/tmp-start.out +++ /dev/null @@ -1,13 +0,0 @@ - -> parsshop-back@0.1.0 start -> nest start - -[Nest] 24228 - 03/24/2026, 1:49:48 PM  LOG [NestFactory] Starting Nest application... -[Nest] 24228 - 03/24/2026, 1:49:48 PM  LOG [InstanceLoader] TypeOrmModule dependencies initialized +19ms -[Nest] 24228 - 03/24/2026, 1:49:48 PM  LOG [InstanceLoader] PassportModule dependencies initialized +2ms -[Nest] 24228 - 03/24/2026, 1:49:48 PM  LOG [InstanceLoader] ConfigHostModule dependencies initialized +3ms -[Nest] 24228 - 03/24/2026, 1:49:48 PM  LOG [InstanceLoader] AppModule dependencies initialized +4ms -[Nest] 24228 - 03/24/2026, 1:49:48 PM  LOG [InstanceLoader] ConfigModule dependencies initialized +1ms -[Nest] 24228 - 03/24/2026, 1:49:48 PM  LOG [InstanceLoader] ConfigModule dependencies initialized +0ms -[Nest] 24228 - 03/24/2026, 1:49:49 PM  LOG [InstanceLoader] StorageModule dependencies initialized +45ms -[Nest] 24228 - 03/24/2026, 1:49:49 PM  LOG [InstanceLoader] JwtModule dependencies initialized +1ms