@flusys/nestjs-shared 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/cjs/classes-index.js +46 -0
  2. package/cjs/constants-index.js +1 -0
  3. package/cjs/decorators-index.js +1 -0
  4. package/cjs/dtos-index.js +1 -0
  5. package/cjs/entities-index.js +1 -0
  6. package/cjs/exceptions-index.js +1 -0
  7. package/cjs/guards-index.js +22 -0
  8. package/cjs/index.js +151 -0
  9. package/cjs/interceptors-index.js +106 -0
  10. package/cjs/interfaces-index.js +1 -0
  11. package/cjs/middlewares-index.js +22 -0
  12. package/cjs/modules-index.js +106 -0
  13. package/cjs/utils-index.js +1 -0
  14. package/classes/api-controller.class.d.ts +30 -0
  15. package/classes/api-service.class.d.ts +72 -0
  16. package/classes/hybrid-cache.class.d.ts +10 -0
  17. package/classes/index.d.ts +6 -0
  18. package/classes/request-scoped-api.service.d.ts +13 -0
  19. package/classes/winston-logger-adapter.class.d.ts +20 -0
  20. package/classes/winston.logger.class.d.ts +2 -0
  21. package/constants/index.d.ts +10 -0
  22. package/decorators/api-response.decorator.d.ts +3 -0
  23. package/decorators/current-user.decorator.d.ts +1 -0
  24. package/decorators/index.d.ts +4 -0
  25. package/decorators/public.decorator.d.ts +1 -0
  26. package/decorators/require-permission.decorator.d.ts +4 -0
  27. package/dtos/delete.dto.d.ts +4 -0
  28. package/dtos/filter-and-pagination.dto.d.ts +13 -0
  29. package/dtos/identity-response.dto.d.ts +9 -0
  30. package/dtos/index.d.ts +5 -0
  31. package/dtos/pagination.dto.d.ts +4 -0
  32. package/dtos/response-payload.dto.d.ts +63 -0
  33. package/entities/identity.d.ts +9 -0
  34. package/entities/index.d.ts +2 -0
  35. package/entities/user-root.d.ts +19 -0
  36. package/exceptions/index.d.ts +1 -0
  37. package/exceptions/permission.exception.d.ts +10 -0
  38. package/fesm/classes-index.js +46 -0
  39. package/fesm/constants-index.js +1 -0
  40. package/fesm/decorators-index.js +1 -0
  41. package/fesm/dtos-index.js +1 -0
  42. package/fesm/entities-index.js +1 -0
  43. package/fesm/exceptions-index.js +1 -0
  44. package/fesm/guards-index.js +22 -0
  45. package/fesm/index.js +151 -0
  46. package/fesm/interceptors-index.js +106 -0
  47. package/fesm/interfaces-index.js +0 -0
  48. package/fesm/middlewares-index.js +22 -0
  49. package/fesm/modules-index.js +106 -0
  50. package/fesm/utils-index.js +1 -0
  51. package/guards/index.d.ts +2 -0
  52. package/guards/jwt-auth.guard.d.ts +10 -0
  53. package/guards/permission.guard.d.ts +18 -0
  54. package/index.d.ts +12 -0
  55. package/interceptors/delete-empty-id-from-body.interceptor.d.ts +5 -0
  56. package/interceptors/idempotency.interceptor.d.ts +10 -0
  57. package/interceptors/index.d.ts +8 -0
  58. package/interceptors/query-performance.interceptor.d.ts +8 -0
  59. package/interceptors/response-meta.interceptor.d.ts +5 -0
  60. package/interceptors/set-create-by-on-body.interceptor.d.ts +5 -0
  61. package/interceptors/set-delete-by-on-body.interceptor.d.ts +5 -0
  62. package/interceptors/set-update-by-on-body.interceptor.d.ts +5 -0
  63. package/interceptors/slug.interceptor.d.ts +7 -0
  64. package/interfaces/api.interface.d.ts +14 -0
  65. package/interfaces/base-query.interface.d.ts +7 -0
  66. package/interfaces/identity.interface.d.ts +9 -0
  67. package/interfaces/index.d.ts +6 -0
  68. package/interfaces/logged-user-info.interface.d.ts +11 -0
  69. package/interfaces/logger.interface.d.ts +7 -0
  70. package/interfaces/permission.interface.d.ts +17 -0
  71. package/middlewares/index.d.ts +1 -0
  72. package/middlewares/logger.middleware.d.ts +23 -0
  73. package/modules/cache/cache.module.d.ts +4 -0
  74. package/modules/datasource/datasource.module.d.ts +18 -0
  75. package/modules/datasource/index.d.ts +2 -0
  76. package/modules/datasource/multi-tenant-datasource.service.d.ts +45 -0
  77. package/modules/index.d.ts +4 -0
  78. package/modules/utils/utils.module.d.ts +2 -0
  79. package/modules/utils/utils.service.d.ts +21 -0
  80. package/package.json +100 -0
  81. package/utils/error-handler.util.d.ts +24 -0
  82. package/utils/index.d.ts +1 -0
@@ -0,0 +1 @@
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var index_exports={};__export(index_exports,{CACHE_INSTANCE:()=>CACHE_INSTANCE,CLIENT_TYPE_HEADER:()=>CLIENT_TYPE_HEADER,IDEMPOTENCY_CACHE_PREFIX:()=>IDEMPOTENCY_CACHE_PREFIX,IDEMPOTENCY_KEY_HEADER:()=>IDEMPOTENCY_KEY_HEADER,IS_PUBLIC_KEY:()=>IS_PUBLIC_KEY,LOGGER_INSTANCE:()=>LOGGER_INSTANCE,PERMISSIONS_CACHE_PREFIX:()=>PERMISSIONS_CACHE_PREFIX,PERMISSIONS_KEY:()=>PERMISSIONS_KEY,PERMISSION_GUARD_CONFIG:()=>PERMISSION_GUARD_CONFIG,REQUEST_ID_HEADER:()=>REQUEST_ID_HEADER});module.exports=__toCommonJS(index_exports);var IS_PUBLIC_KEY="isPublic";var PERMISSIONS_KEY="permissions";var CACHE_INSTANCE="CACHE_INSTANCE";var PERMISSION_GUARD_CONFIG="PERMISSION_GUARD_CONFIG";var LOGGER_INSTANCE="LOGGER_INSTANCE";var IDEMPOTENCY_KEY_HEADER="x-idempotency-key";var REQUEST_ID_HEADER="x-request-id";var CLIENT_TYPE_HEADER="x-client-type";var PERMISSIONS_CACHE_PREFIX="permissions";var IDEMPOTENCY_CACHE_PREFIX="idempotency";0&&(module.exports={CACHE_INSTANCE,CLIENT_TYPE_HEADER,IDEMPOTENCY_CACHE_PREFIX,IDEMPOTENCY_KEY_HEADER,IS_PUBLIC_KEY,LOGGER_INSTANCE,PERMISSIONS_CACHE_PREFIX,PERMISSIONS_KEY,PERMISSION_GUARD_CONFIG,REQUEST_ID_HEADER});
@@ -0,0 +1 @@
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var index_exports={};__export(index_exports,{ApiResponseDto:()=>ApiResponseDto,CurrentUser:()=>CurrentUser,Public:()=>Public,RequireAnyPermission:()=>RequireAnyPermission,RequirePermission:()=>RequirePermission,RequirePermissionCondition:()=>RequirePermissionCondition});module.exports=__toCommonJS(index_exports);var import_dtos=require("@flusys/nestjs-shared/dtos");var import_common=require("@nestjs/common");var import_swagger=require("@nestjs/swagger");var ApiResponseDto=__name((dto,isArray=false,arrayType="list")=>{let wrapperDto;let metaDto=null;if(!isArray){wrapperDto=import_dtos.SingleResponseDto}else if(arrayType==="bulk"){wrapperDto=import_dtos.BulkResponseDto;metaDto=import_dtos.BulkMetaDto}else{wrapperDto=import_dtos.ListResponseDto;metaDto=import_dtos.PaginationMetaDto}return(0,import_common.applyDecorators)((0,import_swagger.ApiExtraModels)(import_dtos.SingleResponseDto,import_dtos.ListResponseDto,import_dtos.BulkResponseDto,import_dtos.PaginationMetaDto,import_dtos.BulkMetaDto,dto),(0,import_swagger.ApiOkResponse)({schema:{allOf:[{$ref:(0,import_swagger.getSchemaPath)(wrapperDto)},{properties:{data:isArray?{type:"array",items:{$ref:(0,import_swagger.getSchemaPath)(dto)}}:{$ref:(0,import_swagger.getSchemaPath)(dto)},...metaDto?{meta:{$ref:(0,import_swagger.getSchemaPath)(metaDto)}}:{}}}]}}))},"ApiResponseDto");var import_common2=require("@nestjs/common");var CurrentUser=(0,import_common2.createParamDecorator)((data,ctx)=>{const request=ctx.switchToHttp().getRequest();const user=request.user;return data?user?.[data]:user});var import_common3=require("@nestjs/common");var IS_PUBLIC_KEY="isPublic";var PERMISSIONS_KEY="permissions";var Public=__name(()=>(0,import_common3.SetMetadata)(IS_PUBLIC_KEY,true),"Public");var import_common4=require("@nestjs/common");var RequirePermission=__name((...permissions)=>(0,import_common4.SetMetadata)(PERMISSIONS_KEY,{permissions,operator:"and"}),"RequirePermission");var RequireAnyPermission=__name((...permissions)=>(0,import_common4.SetMetadata)(PERMISSIONS_KEY,{permissions,operator:"or"}),"RequireAnyPermission");var RequirePermissionCondition=__name(condition=>(0,import_common4.SetMetadata)(PERMISSIONS_KEY,condition),"RequirePermissionCondition");0&&(module.exports={ApiResponseDto,CurrentUser,Public,RequireAnyPermission,RequirePermission,RequirePermissionCondition});
@@ -0,0 +1 @@
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var __decorateClass=(decorators,target,key,kind)=>{var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target;for(var i=decorators.length-1,decorator;i>=0;i--)if(decorator=decorators[i])result=(kind?decorator(target,key,result):decorator(result))||result;if(kind&&result)__defProp(target,key,result);return result};var index_exports={};__export(index_exports,{BulkMetaDto:()=>BulkMetaDto,BulkResponseDto:()=>BulkResponseDto,DeleteDto:()=>DeleteDto,ErrorResponseDto:()=>ErrorResponseDto,FilterAndPaginationDto:()=>FilterAndPaginationDto,GetByIdBodyDto:()=>GetByIdBodyDto,IdentityResponseDto:()=>IdentityResponseDto,ListResponseDto:()=>ListResponseDto,MessageResponseDto:()=>MessageResponseDto,PaginationDto:()=>PaginationDto,PaginationMetaDto:()=>PaginationMetaDto,RequestMetaDto:()=>RequestMetaDto,ResponsePayloadDto:()=>ResponsePayloadDto,SingleResponseDto:()=>SingleResponseDto,ValidationErrorDto:()=>ValidationErrorDto});module.exports=__toCommonJS(index_exports);var import_swagger=require("@nestjs/swagger");var import_class_validator=require("class-validator");var DeleteDto=class{static{__name(this,"DeleteDto")}id;type};__decorateClass([(0,import_swagger.ApiProperty)({description:"ID or array of IDs to delete",example:"12345",oneOf:[{type:"string",example:"12345"},{type:"array",items:{type:"string"},example:["12345","67890"]}]}),(0,import_class_validator.IsNotEmpty)()],DeleteDto.prototype,"id",2);__decorateClass([(0,import_swagger.ApiProperty)({description:"Type of deletion: delete (soft), restore, or permanent delete",enum:["delete","restore","permanent"],example:"delete"}),(0,import_class_validator.IsNotEmpty)(),(0,import_class_validator.IsIn)(["delete","restore","permanent"])],DeleteDto.prototype,"type",2);var import_swagger3=require("@nestjs/swagger");var import_class_transformer2=require("class-transformer");var import_class_validator3=require("class-validator");var import_swagger2=require("@nestjs/swagger");var import_class_transformer=require("class-transformer");var import_class_validator2=require("class-validator");var PaginationDto=class{static{__name(this,"PaginationDto")}pageSize=10;currentPage=0};__decorateClass([(0,import_swagger2.ApiPropertyOptional)({description:"Number of items per page. Defaults to 10 when not provided or invalid.",example:10}),(0,import_class_validator2.IsOptional)(),(0,import_class_transformer.Transform)(({value})=>{const n=Number(value);return Number.isFinite(n)&&n>0?Math.trunc(n):10}),(0,import_class_validator2.IsNumber)()],PaginationDto.prototype,"pageSize",2);__decorateClass([(0,import_swagger2.ApiPropertyOptional)({description:"Zero-based page index. Defaults to 0 when not provided or invalid.",example:0}),(0,import_class_validator2.IsOptional)(),(0,import_class_transformer.Transform)(({value})=>{const n=Number(value);return Number.isFinite(n)&&n>=0?Math.trunc(n):0}),(0,import_class_validator2.IsNumber)()],PaginationDto.prototype,"currentPage",2);var FilterAndPaginationDto=class{static{__name(this,"FilterAndPaginationDto")}filter;pagination;sort;select;withDeleted;extraKey};__decorateClass([(0,import_swagger3.ApiPropertyOptional)({type:Object,description:"Field-based filters. Keys are field names, values are filter conditions.",example:{isActive:true,category:"electronics"}}),(0,import_class_validator3.IsOptional)(),(0,import_class_validator3.IsObject)()],FilterAndPaginationDto.prototype,"filter",2);__decorateClass([(0,import_swagger3.ApiPropertyOptional)({type:PaginationDto,description:"Pagination settings",example:{currentPage:0,pageSize:10}}),(0,import_class_validator3.IsOptional)(),(0,import_class_validator3.ValidateNested)(),(0,import_class_transformer2.Type)(()=>PaginationDto)],FilterAndPaginationDto.prototype,"pagination",2);__decorateClass([(0,import_swagger3.ApiPropertyOptional)({type:Object,description:"Sorting options. Keys are field names, values are ASC or DESC.",example:{createdAt:"DESC",name:"ASC"}}),(0,import_class_validator3.IsOptional)(),(0,import_class_validator3.IsObject)()],FilterAndPaginationDto.prototype,"sort",2);__decorateClass([(0,import_swagger3.ApiPropertyOptional)({type:[String],description:"Fields to return. If empty, returns all fields.",example:["id","name","price","createdAt"]}),(0,import_class_validator3.IsOptional)(),(0,import_class_validator3.IsArray)()],FilterAndPaginationDto.prototype,"select",2);__decorateClass([(0,import_swagger3.ApiPropertyOptional)({description:"Include soft-deleted items in results",example:false,default:false}),(0,import_class_validator3.IsOptional)(),(0,import_class_validator3.IsBoolean)()],FilterAndPaginationDto.prototype,"withDeleted",2);__decorateClass([(0,import_swagger3.ApiPropertyOptional)({type:[String],description:"Additional relation keys to include",example:["category","createdBy"]}),(0,import_class_validator3.IsOptional)(),(0,import_class_validator3.IsArray)()],FilterAndPaginationDto.prototype,"extraKey",2);var GetByIdBodyDto=class{static{__name(this,"GetByIdBodyDto")}select;extraKey};__decorateClass([(0,import_swagger3.ApiPropertyOptional)({type:[String],description:"Fields to return. If empty, returns all fields.",example:["id","name","price","createdAt"]}),(0,import_class_validator3.IsOptional)(),(0,import_class_validator3.IsArray)()],GetByIdBodyDto.prototype,"select",2);__decorateClass([(0,import_swagger3.ApiPropertyOptional)({type:[String],description:"Additional relation keys to include",example:["category","createdBy"]}),(0,import_class_validator3.IsOptional)(),(0,import_class_validator3.IsArray)()],GetByIdBodyDto.prototype,"extraKey",2);var import_class_transformer3=require("class-transformer");var import_swagger4=require("@nestjs/swagger");var IdentityResponseDto=class{static{__name(this,"IdentityResponseDto")}id;createdAt;updatedAt;deletedAt;createdById;updatedById;deletedById};__decorateClass([(0,import_swagger4.ApiProperty)({type:String,format:"uuid"}),(0,import_class_transformer3.Expose)()],IdentityResponseDto.prototype,"id",2);__decorateClass([(0,import_swagger4.ApiProperty)({type:String,format:"date-time"}),(0,import_class_transformer3.Expose)(),(0,import_class_transformer3.Type)(()=>Date)],IdentityResponseDto.prototype,"createdAt",2);__decorateClass([(0,import_swagger4.ApiProperty)({type:String,format:"date-time"}),(0,import_class_transformer3.Expose)(),(0,import_class_transformer3.Type)(()=>Date)],IdentityResponseDto.prototype,"updatedAt",2);__decorateClass([(0,import_swagger4.ApiProperty)({type:String,format:"date-time",nullable:true,required:false}),(0,import_class_transformer3.Expose)(),(0,import_class_transformer3.Type)(()=>Date)],IdentityResponseDto.prototype,"deletedAt",2);__decorateClass([(0,import_swagger4.ApiProperty)({type:String,format:"uuid",nullable:true,required:false}),(0,import_class_transformer3.Expose)()],IdentityResponseDto.prototype,"createdById",2);__decorateClass([(0,import_swagger4.ApiProperty)({type:String,format:"uuid",nullable:true,required:false}),(0,import_class_transformer3.Expose)()],IdentityResponseDto.prototype,"updatedById",2);__decorateClass([(0,import_swagger4.ApiProperty)({type:String,format:"uuid",nullable:true,required:false}),(0,import_class_transformer3.Expose)()],IdentityResponseDto.prototype,"deletedById",2);var import_swagger5=require("@nestjs/swagger");var RequestMetaDto=class{static{__name(this,"RequestMetaDto")}requestId;timestamp;responseTime};__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:"req_abc123",description:"Unique request ID"})],RequestMetaDto.prototype,"requestId",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:"2024-12-19T10:30:00.000Z",description:"Request timestamp"})],RequestMetaDto.prototype,"timestamp",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:45,description:"Response time in milliseconds"})],RequestMetaDto.prototype,"responseTime",2);var SingleResponseDto=class{success;message;data;_meta};__name(SingleResponseDto,"SingleResponseDto");__decorateClass([(0,import_swagger5.ApiProperty)({example:true,description:"Whether the operation was successful"})],SingleResponseDto.prototype,"success",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:"Operation successful",description:"Response message"})],SingleResponseDto.prototype,"message",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({description:"Response data (single item)"})],SingleResponseDto.prototype,"data",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({type:RequestMetaDto,description:"Request metadata"})],SingleResponseDto.prototype,"_meta",2);SingleResponseDto=__decorateClass([(0,import_swagger5.ApiExtraModels)()],SingleResponseDto);var PaginationMetaDto=class{static{__name(this,"PaginationMetaDto")}total;page;pageSize;count;hasMore;totalPages};__decorateClass([(0,import_swagger5.ApiProperty)({example:100,description:"Total records in database"})],PaginationMetaDto.prototype,"total",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:0,description:"Current page number (0-based)"})],PaginationMetaDto.prototype,"page",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:10,description:"Items per page"})],PaginationMetaDto.prototype,"pageSize",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:10,description:"Number of items in current response"})],PaginationMetaDto.prototype,"count",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:true,description:"Whether there are more pages"})],PaginationMetaDto.prototype,"hasMore",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:10,description:"Total number of pages"})],PaginationMetaDto.prototype,"totalPages",2);var ListResponseDto=class{success;message;data;meta;_meta};__name(ListResponseDto,"ListResponseDto");__decorateClass([(0,import_swagger5.ApiProperty)({example:true,description:"Whether the operation was successful"})],ListResponseDto.prototype,"success",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:"Data retrieved successfully",description:"Response message"})],ListResponseDto.prototype,"message",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({description:"Response data (array of items)",isArray:true})],ListResponseDto.prototype,"data",2);__decorateClass([(0,import_swagger5.ApiProperty)({type:PaginationMetaDto,description:"Pagination metadata"})],ListResponseDto.prototype,"meta",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({type:RequestMetaDto,description:"Request metadata"})],ListResponseDto.prototype,"_meta",2);ListResponseDto=__decorateClass([(0,import_swagger5.ApiExtraModels)()],ListResponseDto);var BulkMetaDto=class{static{__name(this,"BulkMetaDto")}count;failed;total};__decorateClass([(0,import_swagger5.ApiProperty)({example:5,description:"Number of items successfully processed"})],BulkMetaDto.prototype,"count",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:0,description:"Number of items that failed"})],BulkMetaDto.prototype,"failed",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:5,description:"Total items in request"})],BulkMetaDto.prototype,"total",2);var BulkResponseDto=class{success;message;data;meta;_meta};__name(BulkResponseDto,"BulkResponseDto");__decorateClass([(0,import_swagger5.ApiProperty)({example:true,description:"Whether the operation was successful"})],BulkResponseDto.prototype,"success",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:"Items processed successfully",description:"Response message"})],BulkResponseDto.prototype,"message",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({description:"Response data (array of items)",isArray:true})],BulkResponseDto.prototype,"data",2);__decorateClass([(0,import_swagger5.ApiProperty)({type:BulkMetaDto,description:"Bulk operation metadata"})],BulkResponseDto.prototype,"meta",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({type:RequestMetaDto,description:"Request metadata"})],BulkResponseDto.prototype,"_meta",2);BulkResponseDto=__decorateClass([(0,import_swagger5.ApiExtraModels)()],BulkResponseDto);var MessageResponseDto=class{success;message;_meta};__name(MessageResponseDto,"MessageResponseDto");__decorateClass([(0,import_swagger5.ApiProperty)({example:true,description:"Whether the operation was successful"})],MessageResponseDto.prototype,"success",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:"Operation completed successfully",description:"Response message"})],MessageResponseDto.prototype,"message",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({type:RequestMetaDto,description:"Request metadata"})],MessageResponseDto.prototype,"_meta",2);MessageResponseDto=__decorateClass([(0,import_swagger5.ApiExtraModels)()],MessageResponseDto);var ValidationErrorDto=class{static{__name(this,"ValidationErrorDto")}field;message;constraint};__decorateClass([(0,import_swagger5.ApiProperty)({example:"email",description:"Field that failed validation"})],ValidationErrorDto.prototype,"field",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:"Invalid email format",description:"Error message"})],ValidationErrorDto.prototype,"message",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:"isEmail",description:"Validation constraint that failed"})],ValidationErrorDto.prototype,"constraint",2);var ErrorResponseDto=class{success;message;code;errors;_meta};__name(ErrorResponseDto,"ErrorResponseDto");__decorateClass([(0,import_swagger5.ApiProperty)({example:false,description:"Always false for errors"})],ErrorResponseDto.prototype,"success",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:"Validation failed",description:"Error message"})],ErrorResponseDto.prototype,"message",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({example:"VALIDATION_ERROR",description:"Error code"})],ErrorResponseDto.prototype,"code",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({type:[ValidationErrorDto],description:"Validation errors (for 400 responses)"})],ErrorResponseDto.prototype,"errors",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({type:RequestMetaDto,description:"Request metadata"})],ErrorResponseDto.prototype,"_meta",2);ErrorResponseDto=__decorateClass([(0,import_swagger5.ApiExtraModels)()],ErrorResponseDto);var ResponsePayloadDto=class{success;message;data;meta;_meta};__name(ResponsePayloadDto,"ResponsePayloadDto");__decorateClass([(0,import_swagger5.ApiProperty)({example:true,description:"Whether the operation was successful"})],ResponsePayloadDto.prototype,"success",2);__decorateClass([(0,import_swagger5.ApiProperty)({example:"Operation successful",description:"Response message"})],ResponsePayloadDto.prototype,"message",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({description:"Response data"})],ResponsePayloadDto.prototype,"data",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({description:"Response metadata"})],ResponsePayloadDto.prototype,"meta",2);__decorateClass([(0,import_swagger5.ApiPropertyOptional)({type:RequestMetaDto,description:"Request metadata"})],ResponsePayloadDto.prototype,"_meta",2);ResponsePayloadDto=__decorateClass([(0,import_swagger5.ApiExtraModels)()],ResponsePayloadDto);0&&(module.exports={BulkMetaDto,BulkResponseDto,DeleteDto,ErrorResponseDto,FilterAndPaginationDto,GetByIdBodyDto,IdentityResponseDto,ListResponseDto,MessageResponseDto,PaginationDto,PaginationMetaDto,RequestMetaDto,ResponsePayloadDto,SingleResponseDto,ValidationErrorDto});
@@ -0,0 +1 @@
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var __decorateClass=(decorators,target,key,kind)=>{var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target;for(var i=decorators.length-1,decorator;i>=0;i--)if(decorator=decorators[i])result=(kind?decorator(target,key,result):decorator(result))||result;if(kind&&result)__defProp(target,key,result);return result};var index_exports={};__export(index_exports,{Identity:()=>Identity,UserRoot:()=>UserRoot});module.exports=__toCommonJS(index_exports);var import_typeorm=require("typeorm");var Identity=class{static{__name(this,"Identity")}id;createdAt;updatedAt;deletedAt;createdById;updatedById;deletedById};__decorateClass([(0,import_typeorm.PrimaryGeneratedColumn)("uuid")],Identity.prototype,"id",2);__decorateClass([(0,import_typeorm.CreateDateColumn)({name:"created_at",type:"timestamp"})],Identity.prototype,"createdAt",2);__decorateClass([(0,import_typeorm.UpdateDateColumn)({name:"updated_at",type:"timestamp"})],Identity.prototype,"updatedAt",2);__decorateClass([(0,import_typeorm.DeleteDateColumn)({name:"deleted_at",type:"timestamp",nullable:true})],Identity.prototype,"deletedAt",2);__decorateClass([(0,import_typeorm.Column)({name:"created_by_id",type:"uuid",nullable:true})],Identity.prototype,"createdById",2);__decorateClass([(0,import_typeorm.Column)({name:"updated_by_id",type:"uuid",nullable:true})],Identity.prototype,"updatedById",2);__decorateClass([(0,import_typeorm.Column)({name:"deleted_by_id",type:"uuid",nullable:true})],Identity.prototype,"deletedById",2);var import_typeorm2=require("typeorm");var UserRoot=class{static{__name(this,"UserRoot")}id;name;password;email;phone;isActive;emailVerified;phoneVerified;profilePictureId;lastLoginAt;additionalFields;createdAt;updatedAt;deletedAt;createdById;updatedById;deletedById};__decorateClass([(0,import_typeorm2.PrimaryGeneratedColumn)("uuid")],UserRoot.prototype,"id",2);__decorateClass([(0,import_typeorm2.Column)({type:"varchar",length:255,nullable:true})],UserRoot.prototype,"name",2);__decorateClass([(0,import_typeorm2.Column)({type:"text",nullable:true})],UserRoot.prototype,"password",2);__decorateClass([(0,import_typeorm2.Column)({type:"varchar",length:255,unique:true,nullable:false})],UserRoot.prototype,"email",2);__decorateClass([(0,import_typeorm2.Column)({type:"varchar",length:255,nullable:true})],UserRoot.prototype,"phone",2);__decorateClass([(0,import_typeorm2.Column)({type:"boolean",nullable:false,default:true,name:"is_active"})],UserRoot.prototype,"isActive",2);__decorateClass([(0,import_typeorm2.Column)({type:"boolean",nullable:false,default:false,name:"email_verified"})],UserRoot.prototype,"emailVerified",2);__decorateClass([(0,import_typeorm2.Column)({type:"boolean",nullable:false,default:false,name:"phone_verified"})],UserRoot.prototype,"phoneVerified",2);__decorateClass([(0,import_typeorm2.Column)({name:"profile_picture_id",type:"char",length:36,nullable:true})],UserRoot.prototype,"profilePictureId",2);__decorateClass([(0,import_typeorm2.Column)({type:"timestamp",name:"last_login_at",nullable:true})],UserRoot.prototype,"lastLoginAt",2);__decorateClass([(0,import_typeorm2.Column)({type:"json",nullable:true,name:"additional_fields"})],UserRoot.prototype,"additionalFields",2);__decorateClass([(0,import_typeorm2.CreateDateColumn)({type:"timestamp",name:"created_at"})],UserRoot.prototype,"createdAt",2);__decorateClass([(0,import_typeorm2.UpdateDateColumn)({type:"timestamp",name:"updated_at"})],UserRoot.prototype,"updatedAt",2);__decorateClass([(0,import_typeorm2.DeleteDateColumn)({type:"timestamp",name:"deleted_at",nullable:true})],UserRoot.prototype,"deletedAt",2);__decorateClass([(0,import_typeorm2.Column)({name:"created_by_id",type:"uuid",nullable:true})],UserRoot.prototype,"createdById",2);__decorateClass([(0,import_typeorm2.Column)({name:"updated_by_id",type:"uuid",nullable:true})],UserRoot.prototype,"updatedById",2);__decorateClass([(0,import_typeorm2.Column)({name:"deleted_by_id",type:"uuid",nullable:true})],UserRoot.prototype,"deletedById",2);0&&(module.exports={Identity,UserRoot});
@@ -0,0 +1 @@
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var index_exports={};__export(index_exports,{InsufficientPermissionsException:()=>InsufficientPermissionsException,NoPermissionsFoundException:()=>NoPermissionsFoundException,PermissionSystemUnavailableException:()=>PermissionSystemUnavailableException});module.exports=__toCommonJS(index_exports);var import_common=require("@nestjs/common");var PermissionSystemUnavailableException=class extends import_common.InternalServerErrorException{static{__name(this,"PermissionSystemUnavailableException")}constructor(message="Permission system temporarily unavailable. Please try again later."){super({success:false,message,code:"PERMISSION_SYSTEM_UNAVAILABLE"})}};var InsufficientPermissionsException=class extends import_common.ForbiddenException{static{__name(this,"InsufficientPermissionsException")}constructor(missingPermissions,operator="and"){const message=operator==="or"?`Requires at least one of: ${missingPermissions.join(", ")}`:`Missing required permissions: ${missingPermissions.join(", ")}`;super({success:false,message,code:"INSUFFICIENT_PERMISSIONS",missingPermissions,operator})}};var NoPermissionsFoundException=class extends import_common.ForbiddenException{static{__name(this,"NoPermissionsFoundException")}constructor(){super({success:false,message:"No permissions found. Please contact administrator.",code:"NO_PERMISSIONS_FOUND"})}};0&&(module.exports={InsufficientPermissionsException,NoPermissionsFoundException,PermissionSystemUnavailableException});