@lyxa.ai/core 1.0.15-debug-0.10 → 1.0.15-debug-0.11

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.
@@ -6,7 +6,6 @@ exports.createGlobalDiscriminatorModel = createGlobalDiscriminatorModel;
6
6
  const mongoose_1 = require("mongoose");
7
7
  const typegoose_1 = require("@typegoose/typegoose");
8
8
  const soft_delete_plugin_1 = require("./plugins/soft-delete-plugin");
9
- const models_1 = require("./models");
10
9
  (0, soft_delete_plugin_1.applySoftDeletePlugin)();
11
10
  let globalConnection;
12
11
  let connectionPromise = null;
@@ -22,7 +21,6 @@ async function initGlobalConnection(uri, environment) {
22
21
  connection.once('connected', () => {
23
22
  console.log('Global connection successfully established');
24
23
  globalConnection = connection;
25
- (0, models_1.ensureModelsLoaded)();
26
24
  for (const [modelName, { Class, options, resolve }] of pendingModels.entries()) {
27
25
  const model = (0, typegoose_1.getModelForClass)(Class, {
28
26
  existingConnection: globalConnection,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/index.ts"],"names":[],"mappings":"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","sourcesContent":["import mongoose, { Connection, createConnection } from 'mongoose';\r\nimport { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\r\nimport { AnyParamConstructor, IModelOptions } from \"@typegoose/typegoose/lib/types\";\r\nimport { applySoftDeletePlugin } from './plugins/soft-delete-plugin';\r\nimport { ensureModelsLoaded } from './models';\r\n\r\n// Apply the soft delete plugin globally before any connections or models\r\napplySoftDeletePlugin();\r\n\r\n// Track connection status\r\nlet globalConnection: Connection | undefined;\r\nlet connectionPromise: Promise<Connection> | null = null;\r\nlet pendingModels = new Map<string, {\r\n Class: AnyParamConstructor<any>,\r\n options?: IModelOptions,\r\n resolve: (model: any) => void\r\n}>();\r\n\r\nlet pendingDiscriminatorModels = new Map<string, {\r\n baseModel: any,\r\n subClass: AnyParamConstructor<any>,\r\n discriminatorName?: string,\r\n options?: IModelOptions,\r\n resolve: (model: any) => void\r\n}>();\r\n\r\n/**\r\n * Initialize the global database connection\r\n */\r\nexport async function initGlobalConnection(uri: string, environment: string): Promise<Connection> {\r\n if (!connectionPromise) {\r\n connectionPromise = new Promise<Connection>((resolve) => {\r\n console.log(`Initializing global connection for environment: ${environment}`);\r\n const connection = createConnection(uri, {\r\n dbName: `lyxa-${environment}-global`,\r\n });\r\n\r\n connection.once('connected', () => {\r\n console.log('Global connection successfully established');\r\n globalConnection = connection;\r\n ensureModelsLoaded()\r\n\r\n // Initialize any pending models with the real connection\r\n for (const [modelName, { Class, options, resolve }] of pendingModels.entries()) {\r\n const model = getModelForClass(Class, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n resolve(model);\r\n }\r\n pendingModels.clear();\r\n\r\n // Initialize any pending discriminator models\r\n for (const [modelName, { baseModel, subClass, discriminatorName, options, resolve }] of pendingDiscriminatorModels.entries()) {\r\n const model = getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n resolve(model);\r\n }\r\n pendingDiscriminatorModels.clear();\r\n\r\n resolve(connection);\r\n });\r\n });\r\n }\r\n return connectionPromise;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose model that will use the global connection when it's ready.\r\n * Safe to call during module initialization before initGlobalConnection.\r\n */\r\nexport function createGlobalModel<T extends AnyParamConstructor<any>>(\r\n Class: T,\r\n options?: IModelOptions\r\n): ReturnModelType<T> {\r\n const modelName = options?.schemaOptions?.collection || Class.name;\r\n\r\n // If the connection is already initialized, create the model directly\r\n if (globalConnection) {\r\n return getModelForClass(Class, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n }\r\n\r\n console.log(`Registering model ${modelName} to be initialized when global connection is ready`);\r\n\r\n // Create a lazy-loaded model instance that will initialize once the connection is ready\r\n let actualModel: ReturnModelType<T> | null = null;\r\n let modelReadyPromise: Promise<ReturnModelType<T>> | null = null;\r\n\r\n // Setup the promise that will resolve once the model is ready\r\n modelReadyPromise = new Promise<ReturnModelType<T>>((resolve) => {\r\n // Register this model to be initialized when connection is ready\r\n pendingModels.set(modelName, { Class, options, resolve });\r\n });\r\n\r\n // Create a proxy that forwards operations to the real model once it's available\r\n const modelProxy = new Proxy({} as ReturnModelType<T>, {\r\n get(target, prop, receiver) {\r\n return async function(...args: any[]) {\r\n if (!actualModel) {\r\n actualModel = await modelReadyPromise!;\r\n }\r\n\r\n const propValue = (actualModel as any)[prop];\r\n if (typeof propValue === 'function') {\r\n return propValue.apply(actualModel, args);\r\n }\r\n return propValue;\r\n };\r\n }\r\n });\r\n\r\n return modelProxy;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose discriminator model that will use the global connection when it's ready.\r\n * Safe to call during module initialization before initGlobalConnection.\r\n */\r\nexport function createGlobalDiscriminatorModel<\r\n Base extends AnyParamConstructor<any>,\r\n Sub extends AnyParamConstructor<any>,\r\n>(\r\n baseModel: ReturnModelType<Base>,\r\n subClass: Sub,\r\n discriminatorName?: string,\r\n options?: IModelOptions,\r\n): ReturnModelType<Sub> {\r\n const modelName = discriminatorName || subClass.name;\r\n\r\n // If the connection is already initialized, create the model directly\r\n if (globalConnection) {\r\n return getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n }\r\n\r\n console.log(`Registering discriminator model ${modelName} to be initialized when global connection is ready`);\r\n\r\n // Create a lazy-loaded model instance that will initialize once the connection is ready\r\n let actualModel: ReturnModelType<Sub> | null = null;\r\n let modelReadyPromise: Promise<ReturnModelType<Sub>> | null = null;\r\n\r\n // Setup the promise that will resolve once the model is ready\r\n modelReadyPromise = new Promise<ReturnModelType<Sub>>((resolve) => {\r\n // Register this discriminator model to be initialized when connection is ready\r\n pendingDiscriminatorModels.set(modelName, {\r\n baseModel,\r\n subClass,\r\n discriminatorName,\r\n options,\r\n resolve\r\n });\r\n });\r\n\r\n // Create a proxy that forwards operations to the real model once it's available\r\n const modelProxy = new Proxy({} as ReturnModelType<Sub>, {\r\n get(target, prop, receiver) {\r\n return async function(...args: any[]) {\r\n if (!actualModel) {\r\n actualModel = await modelReadyPromise!;\r\n }\r\n\r\n const propValue = (actualModel as any)[prop];\r\n if (typeof propValue === 'function') {\r\n return propValue.apply(actualModel, args);\r\n }\r\n return propValue;\r\n };\r\n }\r\n });\r\n\r\n return modelProxy;\r\n}\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/index.ts"],"names":[],"mappings":"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","sourcesContent":["import mongoose, { Connection, createConnection } from 'mongoose';\r\nimport { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\r\nimport { AnyParamConstructor, IModelOptions } from \"@typegoose/typegoose/lib/types\";\r\nimport { applySoftDeletePlugin } from './plugins/soft-delete-plugin';\r\n\r\n// Apply the soft delete plugin globally before any connections or models\r\napplySoftDeletePlugin();\r\n\r\n// Track connection status\r\nlet globalConnection: Connection | undefined;\r\nlet connectionPromise: Promise<Connection> | null = null;\r\nlet pendingModels = new Map<string, {\r\n Class: AnyParamConstructor<any>,\r\n options?: IModelOptions,\r\n resolve: (model: any) => void\r\n}>();\r\n\r\nlet pendingDiscriminatorModels = new Map<string, {\r\n baseModel: any,\r\n subClass: AnyParamConstructor<any>,\r\n discriminatorName?: string,\r\n options?: IModelOptions,\r\n resolve: (model: any) => void\r\n}>();\r\n\r\n/**\r\n * Initialize the global database connection\r\n */\r\nexport async function initGlobalConnection(uri: string, environment: string): Promise<Connection> {\r\n if (!connectionPromise) {\r\n connectionPromise = new Promise<Connection>((resolve) => {\r\n console.log(`Initializing global connection for environment: ${environment}`);\r\n const connection = createConnection(uri, {\r\n dbName: `lyxa-${environment}-global`,\r\n });\r\n\r\n connection.once('connected', () => {\r\n console.log('Global connection successfully established');\r\n globalConnection = connection;\r\n\r\n // Initialize any pending models with the real connection\r\n for (const [modelName, { Class, options, resolve }] of pendingModels.entries()) {\r\n const model = getModelForClass(Class, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n resolve(model);\r\n }\r\n pendingModels.clear();\r\n\r\n // Initialize any pending discriminator models\r\n for (const [modelName, { baseModel, subClass, discriminatorName, options, resolve }] of pendingDiscriminatorModels.entries()) {\r\n const model = getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n resolve(model);\r\n }\r\n pendingDiscriminatorModels.clear();\r\n\r\n resolve(connection);\r\n });\r\n });\r\n }\r\n return connectionPromise;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose model that will use the global connection when it's ready.\r\n * Safe to call during module initialization before initGlobalConnection.\r\n */\r\nexport function createGlobalModel<T extends AnyParamConstructor<any>>(\r\n Class: T,\r\n options?: IModelOptions\r\n): ReturnModelType<T> {\r\n const modelName = options?.schemaOptions?.collection || Class.name;\r\n\r\n // If the connection is already initialized, create the model directly\r\n if (globalConnection) {\r\n return getModelForClass(Class, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n }\r\n\r\n console.log(`Registering model ${modelName} to be initialized when global connection is ready`);\r\n\r\n // Create a lazy-loaded model instance that will initialize once the connection is ready\r\n let actualModel: ReturnModelType<T> | null = null;\r\n let modelReadyPromise: Promise<ReturnModelType<T>> | null = null;\r\n\r\n // Setup the promise that will resolve once the model is ready\r\n modelReadyPromise = new Promise<ReturnModelType<T>>((resolve) => {\r\n // Register this model to be initialized when connection is ready\r\n pendingModels.set(modelName, { Class, options, resolve });\r\n });\r\n\r\n // Create a proxy that forwards operations to the real model once it's available\r\n const modelProxy = new Proxy({} as ReturnModelType<T>, {\r\n get(target, prop, receiver) {\r\n return async function(...args: any[]) {\r\n if (!actualModel) {\r\n actualModel = await modelReadyPromise!;\r\n }\r\n\r\n const propValue = (actualModel as any)[prop];\r\n if (typeof propValue === 'function') {\r\n return propValue.apply(actualModel, args);\r\n }\r\n return propValue;\r\n };\r\n }\r\n });\r\n\r\n return modelProxy;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose discriminator model that will use the global connection when it's ready.\r\n * Safe to call during module initialization before initGlobalConnection.\r\n */\r\nexport function createGlobalDiscriminatorModel<\r\n Base extends AnyParamConstructor<any>,\r\n Sub extends AnyParamConstructor<any>,\r\n>(\r\n baseModel: ReturnModelType<Base>,\r\n subClass: Sub,\r\n discriminatorName?: string,\r\n options?: IModelOptions,\r\n): ReturnModelType<Sub> {\r\n const modelName = discriminatorName || subClass.name;\r\n\r\n // If the connection is already initialized, create the model directly\r\n if (globalConnection) {\r\n return getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n }\r\n\r\n console.log(`Registering discriminator model ${modelName} to be initialized when global connection is ready`);\r\n\r\n // Create a lazy-loaded model instance that will initialize once the connection is ready\r\n let actualModel: ReturnModelType<Sub> | null = null;\r\n let modelReadyPromise: Promise<ReturnModelType<Sub>> | null = null;\r\n\r\n // Setup the promise that will resolve once the model is ready\r\n modelReadyPromise = new Promise<ReturnModelType<Sub>>((resolve) => {\r\n // Register this discriminator model to be initialized when connection is ready\r\n pendingDiscriminatorModels.set(modelName, {\r\n baseModel,\r\n subClass,\r\n discriminatorName,\r\n options,\r\n resolve\r\n });\r\n });\r\n\r\n // Create a proxy that forwards operations to the real model once it's available\r\n const modelProxy = new Proxy({} as ReturnModelType<Sub>, {\r\n get(target, prop, receiver) {\r\n return async function(...args: any[]) {\r\n if (!actualModel) {\r\n actualModel = await modelReadyPromise!;\r\n }\r\n\r\n const propValue = (actualModel as any)[prop];\r\n if (typeof propValue === 'function') {\r\n return propValue.apply(actualModel, args);\r\n }\r\n return propValue;\r\n };\r\n }\r\n });\r\n\r\n return modelProxy;\r\n}\r\n"]}
@@ -1,4 +1,4 @@
1
- import { ReturnModelType, Ref } from '@typegoose/typegoose';
1
+ import { Ref } from '@typegoose/typegoose';
2
2
  import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
3
3
  import { AdminRole } from '../../../utilities/enum';
4
4
  import { Admin } from './admin.model';
@@ -8,4 +8,3 @@ export declare class AdminAccessControl extends TimeStamps {
8
8
  admin: Ref<Admin>;
9
9
  role: AdminRole;
10
10
  }
11
- export declare const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl>;
@@ -12,11 +12,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AdminAccessControlModel = exports.AdminAccessControl = void 0;
15
+ exports.AdminAccessControl = void 0;
16
16
  const typegoose_1 = require("@typegoose/typegoose");
17
17
  const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
18
18
  const bcryptjs_1 = __importDefault(require("bcryptjs"));
19
19
  const enum_1 = require("../../../utilities/enum");
20
+ const admin_model_1 = require("./admin.model");
20
21
  let AdminAccessControl = class AdminAccessControl extends defaultClasses_1.TimeStamps {
21
22
  email;
22
23
  password;
@@ -33,7 +34,7 @@ __decorate([
33
34
  __metadata("design:type", String)
34
35
  ], AdminAccessControl.prototype, "password", void 0);
35
36
  __decorate([
36
- (0, typegoose_1.prop)({ required: true, ref: () => 'admins' }),
37
+ (0, typegoose_1.prop)({ required: true, ref: () => admin_model_1.Admin }),
37
38
  __metadata("design:type", Object)
38
39
  ], AdminAccessControl.prototype, "admin", void 0);
39
40
  __decorate([
@@ -50,5 +51,4 @@ exports.AdminAccessControl = AdminAccessControl = __decorate([
50
51
  }),
51
52
  (0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'adminAccessControls' } })
52
53
  ], AdminAccessControl);
53
- exports.AdminAccessControlModel = (0, typegoose_1.getModelForClass)(AdminAccessControl);
54
54
  //# sourceMappingURL=admin-access-control.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-access-control.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin-access-control.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAuG;AACvG,4EAAqE;AACrE,wDAA8B;AAC9B,kDAAoD;AAW7C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,2BAAU;IAE1C,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,KAAK,CAAc;IAGnB,IAAI,CAAa;CACxB,CAAA;AAZY,gDAAkB;AAEvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;iDAC/B;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDACd;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;iDACpB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;gDAChC;6BAXZ,kBAAkB;IAR9B,IAAA,eAAG,EAAqB,MAAM,EAAE,KAAK,WAAW,IAAI;QACpD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,kBAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,kBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IACD,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,EAAE,CAAC;GAC1D,kBAAkB,CAY9B;AAEY,QAAA,uBAAuB,GACnC,IAAA,4BAAgB,EAAC,kBAAkB,CAAC,CAAC","sourcesContent":["import { modelOptions, prop, getModelForClass, pre, ReturnModelType, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport bcrypt from 'bcryptjs';\r\nimport { AdminRole } from '../../../utilities/enum';\r\nimport { Admin } from './admin.model';\r\n\r\n@pre<AdminAccessControl>('save', async function (next) {\r\n\tif (this.isModified('password')) {\r\n\t\tconst salt = await bcrypt.genSalt(10);\r\n\t\tthis.password = await bcrypt.hash(this.password, salt);\r\n\t}\r\n\tnext();\r\n})\r\n@modelOptions({ schemaOptions: { collection: 'adminAccessControls' } })\r\nexport class AdminAccessControl extends TimeStamps {\r\n\t@prop({ required: true, type: String, unique: true })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic password!: string;\r\n\r\n\t@prop({ required: true, ref: () => 'admins' })\r\n\tpublic admin!: Ref<Admin>;\r\n\r\n\t@prop({ required: true, type: String, enum: AdminRole })\r\n\tpublic role!: AdminRole;\r\n}\r\n\r\nexport const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl> =\r\n\tgetModelForClass(AdminAccessControl);\r\n"]}
1
+ {"version":3,"file":"admin-access-control.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin-access-control.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAuG;AACvG,4EAAqE;AACrE,wDAA8B;AAC9B,kDAAoD;AACpD,+CAAsC;AAU/B,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,2BAAU;IAE1C,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,KAAK,CAAc;IAGnB,IAAI,CAAa;CACxB,CAAA;AAZY,gDAAkB;AAEvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;iDAC/B;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDACd;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;iDACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;gDAChC;6BAXZ,kBAAkB;IAR9B,IAAA,eAAG,EAAqB,MAAM,EAAE,KAAK,WAAW,IAAI;QACpD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,kBAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,kBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IACD,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,EAAE,CAAC;GAC1D,kBAAkB,CAY9B","sourcesContent":["import { modelOptions, prop, getModelForClass, pre, ReturnModelType, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport bcrypt from 'bcryptjs';\r\nimport { AdminRole } from '../../../utilities/enum';\r\nimport { Admin } from './admin.model';\r\n\r\n@pre<AdminAccessControl>('save', async function (next) {\r\n\tif (this.isModified('password')) {\r\n\t\tconst salt = await bcrypt.genSalt(10);\r\n\t\tthis.password = await bcrypt.hash(this.password, salt);\r\n\t}\r\n\tnext();\r\n})\r\n@modelOptions({ schemaOptions: { collection: 'adminAccessControls' } })\r\nexport class AdminAccessControl extends TimeStamps {\r\n\t@prop({ required: true, type: String, unique: true })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic password!: string;\r\n\r\n\t@prop({ required: true, ref: () => Admin })\r\n\tpublic admin!: Ref<Admin>;\r\n\r\n\t@prop({ required: true, type: String, enum: AdminRole })\r\n\tpublic role!: AdminRole;\r\n}\r\n\r\n\r\n"]}
@@ -9,3 +9,4 @@ export declare class Admin extends TimeStamps {
9
9
  accessControl: Ref<AdminAccessControl>;
10
10
  }
11
11
  export declare const AdminModel: ReturnModelType<typeof Admin>;
12
+ export declare const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl>;
@@ -9,10 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AdminModel = exports.Admin = void 0;
12
+ exports.AdminAccessControlModel = exports.AdminModel = exports.Admin = void 0;
13
13
  const typegoose_1 = require("@typegoose/typegoose");
14
14
  const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
15
  const enum_1 = require("../../../utilities/enum");
16
+ const admin_access_control_model_1 = require("./admin-access-control.model");
16
17
  let Admin = class Admin extends defaultClasses_1.TimeStamps {
17
18
  name;
18
19
  profilePhoto;
@@ -39,7 +40,7 @@ __decorate([
39
40
  ], Admin.prototype, "status", void 0);
40
41
  __decorate([
41
42
  (0, typegoose_1.prop)({
42
- ref: () => 'adminAccessControls',
43
+ ref: () => admin_access_control_model_1.AdminAccessControl,
43
44
  foreignField: "admin",
44
45
  localField: "_id",
45
46
  justOne: true,
@@ -56,4 +57,5 @@ exports.Admin = Admin = __decorate([
56
57
  })
57
58
  ], Admin);
58
59
  exports.AdminModel = (0, typegoose_1.getModelForClass)(Admin);
60
+ exports.AdminAccessControlModel = (0, typegoose_1.getModelForClass)(admin_access_control_model_1.AdminAccessControl);
59
61
  //# sourceMappingURL=admin.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAM8B;AAC9B,4EAAqE;AACrE,kDAAiD;AAU1C,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE5B,IAAI,CAAU;IAGd,YAAY,CAAU;IAGtB,WAAW,CAAU;IAGrB,MAAM,CAAU;IAQhB,aAAa,CAA0B;CAC/C,CAAA;AApBY,sBAAK;AAET;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACM;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;qCACtC;AAQhB;IANN,IAAA,gBAAI,EAAC;QACJ,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAqB;QAChC,YAAY,EAAE,OAAO;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACd,CAAC;;4CAC4C;gBAnBnC,KAAK;IAPjB,IAAA,wBAAY,EAAC;QACZ,aAAa,EAAE;YACb,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC7B;KACF,CAAC;GACW,KAAK,CAoBjB;AAEY,QAAA,UAAU,GACrB,IAAA,4BAAgB,EAAC,KAAK,CAAC,CAAC","sourcesContent":["import {\r\n modelOptions,\r\n prop,\r\n getModelForClass,\r\n ReturnModelType,\r\n Ref,\r\n} from \"@typegoose/typegoose\";\r\nimport { TimeStamps } from \"@typegoose/typegoose/lib/defaultClasses\";\r\nimport { Status } from \"../../../utilities/enum\";\r\nimport { AdminAccessControl } from \"./admin-access-control.model\";\r\n\r\n@modelOptions({\r\n schemaOptions: {\r\n collection: \"admins\",\r\n toJSON: { virtuals: true },\r\n toObject: { virtuals: true },\r\n },\r\n})\r\nexport class Admin extends TimeStamps {\r\n @prop({ required: true, type: String })\r\n public name!: string;\r\n\r\n @prop({ type: String })\r\n public profilePhoto?: string;\r\n\r\n @prop({ required: true, type: String })\r\n public phoneNumber!: string;\r\n\r\n @prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n public status?: string;\r\n\r\n @prop({\r\n ref: () => 'adminAccessControls',\r\n foreignField: \"admin\",\r\n localField: \"_id\",\r\n justOne: true, \r\n })\r\n public accessControl: Ref<AdminAccessControl>;\r\n}\r\n\r\nexport const AdminModel: ReturnModelType<typeof Admin> =\r\n getModelForClass(Admin);\r\n"]}
1
+ {"version":3,"file":"admin.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAM8B;AAC9B,4EAAqE;AACrE,kDAAiD;AACjD,6EAAkE;AAS3D,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE5B,IAAI,CAAU;IAGd,YAAY,CAAU;IAGtB,WAAW,CAAU;IAGrB,MAAM,CAAU;IAQhB,aAAa,CAA0B;CAC/C,CAAA;AApBY,sBAAK;AAET;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACM;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;qCACtC;AAQhB;IANN,IAAA,gBAAI,EAAC;QACJ,GAAG,EAAE,GAAG,EAAE,CAAC,+CAAkB;QAC7B,YAAY,EAAE,OAAO;QACrB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACd,CAAC;;4CAC4C;gBAnBnC,KAAK;IAPjB,IAAA,wBAAY,EAAC;QACZ,aAAa,EAAE;YACb,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC7B;KACF,CAAC;GACW,KAAK,CAoBjB;AAEY,QAAA,UAAU,GACrB,IAAA,4BAAgB,EAAC,KAAK,CAAC,CAAC;AACb,QAAA,uBAAuB,GAEhC,IAAA,4BAAgB,EAAC,+CAAkB,CAAC,CAAC","sourcesContent":["import {\r\n modelOptions,\r\n prop,\r\n getModelForClass,\r\n ReturnModelType,\r\n Ref,\r\n} from \"@typegoose/typegoose\";\r\nimport { TimeStamps } from \"@typegoose/typegoose/lib/defaultClasses\";\r\nimport { Status } from \"../../../utilities/enum\";\r\nimport { AdminAccessControl } from \"./admin-access-control.model\";\r\n\r\n@modelOptions({\r\n schemaOptions: {\r\n collection: \"admins\",\r\n toJSON: { virtuals: true },\r\n toObject: { virtuals: true },\r\n },\r\n})\r\nexport class Admin extends TimeStamps {\r\n @prop({ required: true, type: String })\r\n public name!: string;\r\n\r\n @prop({ type: String })\r\n public profilePhoto?: string;\r\n\r\n @prop({ required: true, type: String })\r\n public phoneNumber!: string;\r\n\r\n @prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n public status?: string;\r\n\r\n @prop({\r\n ref: () => AdminAccessControl,\r\n foreignField: \"admin\",\r\n localField: \"_id\",\r\n justOne: true,\r\n })\r\n public accessControl: Ref<AdminAccessControl>;\r\n}\r\n\r\nexport const AdminModel: ReturnModelType<typeof Admin> =\r\n getModelForClass(Admin);\r\nexport const AdminAccessControlModel: ReturnModelType<\r\n typeof AdminAccessControl\r\n> = getModelForClass(AdminAccessControl);\r\n"]}
@@ -1,61 +1,66 @@
1
- export * from "./activity-log.model";
2
- export * from "./admin.model";
3
- export * from "./admin-access-control.model";
4
- export * from "./app-screen-setting.model";
5
- export * from "./attribute.model";
6
- export * from "./banner.model";
7
- export * from "./bob-finance.model";
8
- export * from "./brand.model";
9
- export * from "./category.model";
10
- export * from "./counter.model";
11
- export * from "./coupon.model";
12
- export * from "./deal-setting.model";
13
- export * from "./dish.model";
14
- export * from "./faq.model";
15
- export * from "./favourite.model";
16
- export * from "./featured-setting.model";
17
- export * from "./filter-container.model";
18
- export * from "./list-container.model";
19
- export * from "./loyalty-point-category.model";
20
- export * from "./loyalty-point-setting.model";
21
- export * from "./marketing.model";
22
- export * from "./meal-plan.model";
23
- export * from "./notification.model";
24
- export * from "./nutrition.model";
25
- export * from "./order.model";
26
- export * from "./parent.model";
27
- export * from "./payout.model";
28
- export * from "./product-marketing.model";
29
- export * from "./product.model";
30
- export * from "./punch-marketing-history.model";
31
- export * from "./rating-setting.model";
32
- export * from "./referral-setting.model";
33
- export * from "./request-area.model";
34
- export * from "./rider-review.model";
35
- export * from "./rider.model";
36
- export * from "./role.model";
37
- export * from "./setting.model";
38
- export * from "./shop-access-control.model";
39
- export * from "./shop-category.model";
40
- export * from "./shop-meal-plan.model";
41
- export * from "./shop-product.model";
42
- export * from "./shop-review.model";
43
- export * from "./shop.model";
44
- export * from "./subscription-setting.model";
45
- export * from "./subscription.model";
46
- export * from "./tag.model";
47
- export * from "./transaction.model";
48
- export * from "./zone.model";
49
- export * from "./providers/buy1-get1-marketing.model";
50
- export * from "./providers/custom-coupon.model";
51
- export * from "./providers/discount-marketing.model";
52
- export * from "./providers/featured-marketing.model";
53
- export * from "./providers/free-delivery-marketing.model";
54
- export * from "./providers/global-coupon.model";
55
- export * from "./providers/individual-store-coupon.model";
56
- export * from "./providers/individual-user-coupon.model";
57
- export * from "./providers/loyalty-point-marketing.model";
58
- export * from "./providers/punch-marketing.model";
59
- export * from "./providers/referral-code-coupon.model";
60
- export * from "./providers/referral-reward-coupon.model";
61
- export declare function ensureModelsLoaded(): boolean;
1
+ export * from './activity-log.model';
2
+ export * from './admin-access-control.model';
3
+ export * from './admin.model';
4
+ export * from './app-screen-setting.model';
5
+ export * from './attribute.model';
6
+ export * from './banner.model';
7
+ export * from './bob-finance.model';
8
+ export * from './brand.model';
9
+ export * from './category.model';
10
+ export * from './core-auth-identity.model';
11
+ export * from './core-user.model';
12
+ export * from './counter.model';
13
+ export * from './coupon.model';
14
+ export * from './deal-setting.model';
15
+ export * from './dish.model';
16
+ export * from './faq.model';
17
+ export * from './favourite.model';
18
+ export * from './featured-setting.model';
19
+ export * from './filter-container.model';
20
+ export * from './list-container.model';
21
+ export * from './loyalty-point-category.model';
22
+ export * from './loyalty-point-setting.model';
23
+ export * from './marketing.model';
24
+ export * from './meal-plan.model';
25
+ export * from './notification.model';
26
+ export * from './nutrition.model';
27
+ export * from './order.model';
28
+ export * from './parent.model';
29
+ export * from './payout.model';
30
+ export * from './product-marketing.model';
31
+ export * from './product.model';
32
+ export * from './punch-marketing-history.model';
33
+ export * from './rating-setting.model';
34
+ export * from './referral-setting.model';
35
+ export * from './request-area.model';
36
+ export * from './rider-review.model';
37
+ export * from './rider.model';
38
+ export * from './role.model';
39
+ export * from './setting.model';
40
+ export * from './shop-access-control.model';
41
+ export * from './shop-category.model';
42
+ export * from './shop-meal-plan.model';
43
+ export * from './shop-product.model';
44
+ export * from './shop-review.model';
45
+ export * from './shop.model';
46
+ export * from './subscription-setting.model';
47
+ export * from './subscription.model';
48
+ export * from './tag.model';
49
+ export * from './transaction.model';
50
+ export * from './zone.model';
51
+ export * from './providers/buy1-get1-marketing.model';
52
+ export * from './providers/core-apple-auth-identity.model';
53
+ export * from './providers/core-email-auth-identity.model';
54
+ export * from './providers/core-google-auth-identity.model';
55
+ export * from './providers/core-phone-auth-identity.model';
56
+ export * from './providers/custom-coupon.model';
57
+ export * from './providers/discount-marketing.model';
58
+ export * from './providers/featured-marketing.model';
59
+ export * from './providers/free-delivery-marketing.model';
60
+ export * from './providers/global-coupon.model';
61
+ export * from './providers/individual-store-coupon.model';
62
+ export * from './providers/individual-user-coupon.model';
63
+ export * from './providers/loyalty-point-marketing.model';
64
+ export * from './providers/punch-marketing.model';
65
+ export * from './providers/referral-code-coupon.model';
66
+ export * from './providers/referral-reward-coupon.model';
@@ -14,16 +14,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ensureModelsLoaded = ensureModelsLoaded;
18
17
  __exportStar(require("./activity-log.model"), exports);
19
- __exportStar(require("./admin.model"), exports);
20
18
  __exportStar(require("./admin-access-control.model"), exports);
19
+ __exportStar(require("./admin.model"), exports);
21
20
  __exportStar(require("./app-screen-setting.model"), exports);
22
21
  __exportStar(require("./attribute.model"), exports);
23
22
  __exportStar(require("./banner.model"), exports);
24
23
  __exportStar(require("./bob-finance.model"), exports);
25
24
  __exportStar(require("./brand.model"), exports);
26
25
  __exportStar(require("./category.model"), exports);
26
+ __exportStar(require("./core-auth-identity.model"), exports);
27
+ __exportStar(require("./core-user.model"), exports);
27
28
  __exportStar(require("./counter.model"), exports);
28
29
  __exportStar(require("./coupon.model"), exports);
29
30
  __exportStar(require("./deal-setting.model"), exports);
@@ -64,6 +65,10 @@ __exportStar(require("./tag.model"), exports);
64
65
  __exportStar(require("./transaction.model"), exports);
65
66
  __exportStar(require("./zone.model"), exports);
66
67
  __exportStar(require("./providers/buy1-get1-marketing.model"), exports);
68
+ __exportStar(require("./providers/core-apple-auth-identity.model"), exports);
69
+ __exportStar(require("./providers/core-email-auth-identity.model"), exports);
70
+ __exportStar(require("./providers/core-google-auth-identity.model"), exports);
71
+ __exportStar(require("./providers/core-phone-auth-identity.model"), exports);
67
72
  __exportStar(require("./providers/custom-coupon.model"), exports);
68
73
  __exportStar(require("./providers/discount-marketing.model"), exports);
69
74
  __exportStar(require("./providers/featured-marketing.model"), exports);
@@ -75,8 +80,4 @@ __exportStar(require("./providers/loyalty-point-marketing.model"), exports);
75
80
  __exportStar(require("./providers/punch-marketing.model"), exports);
76
81
  __exportStar(require("./providers/referral-code-coupon.model"), exports);
77
82
  __exportStar(require("./providers/referral-reward-coupon.model"), exports);
78
- function ensureModelsLoaded() {
79
- console.log("All models have been registered");
80
- return true;
81
- }
82
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAmEA,gDAGC;AAtED,uDAAqC;AACrC,gDAA8B;AAC9B,+DAA6C;AAC7C,6DAA2C;AAC3C,oDAAkC;AAClC,iDAA+B;AAC/B,sDAAoC;AACpC,gDAA8B;AAC9B,mDAAiC;AAGjC,kDAAgC;AAChC,iDAA+B;AAC/B,uDAAqC;AACrC,+CAA6B;AAC7B,8CAA4B;AAC5B,oDAAkC;AAClC,2DAAyC;AACzC,2DAAyC;AACzC,yDAAuC;AACvC,iEAA+C;AAC/C,gEAA8C;AAC9C,oDAAkC;AAClC,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,4DAA0C;AAC1C,kDAAgC;AAChC,kEAAgD;AAChD,yDAAuC;AACvC,2DAAyC;AACzC,uDAAqC;AACrC,uDAAqC;AACrC,gDAA8B;AAC9B,+CAA6B;AAC7B,kDAAgC;AAChC,8DAA4C;AAC5C,wDAAsC;AACtC,yDAAuC;AACvC,uDAAqC;AACrC,sDAAoC;AACpC,+CAA6B;AAC7B,+DAA6C;AAC7C,uDAAqC;AACrC,8CAA4B;AAC5B,sDAAoC;AACpC,+CAA6B;AAC7B,wEAAsD;AAKtD,kEAAgD;AAChD,uEAAqD;AACrD,uEAAqD;AACrD,4EAA0D;AAC1D,kEAAgD;AAChD,4EAA0D;AAC1D,2EAAyD;AACzD,4EAA0D;AAC1D,oEAAkD;AAClD,yEAAuD;AACvD,2EAAyD;AAEzD,SAAgB,kBAAkB;IAChC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["export * from \"./activity-log.model\";\r\nexport * from \"./admin.model\";\r\nexport * from \"./admin-access-control.model\";\r\nexport * from \"./app-screen-setting.model\";\r\nexport * from \"./attribute.model\";\r\nexport * from \"./banner.model\";\r\nexport * from \"./bob-finance.model\";\r\nexport * from \"./brand.model\";\r\nexport * from \"./category.model\";\r\n// export * from './core-auth-identity.model';\r\n// export * from './core-user.model';\r\nexport * from \"./counter.model\";\r\nexport * from \"./coupon.model\";\r\nexport * from \"./deal-setting.model\";\r\nexport * from \"./dish.model\";\r\nexport * from \"./faq.model\";\r\nexport * from \"./favourite.model\";\r\nexport * from \"./featured-setting.model\";\r\nexport * from \"./filter-container.model\";\r\nexport * from \"./list-container.model\";\r\nexport * from \"./loyalty-point-category.model\";\r\nexport * from \"./loyalty-point-setting.model\";\r\nexport * from \"./marketing.model\";\r\nexport * from \"./meal-plan.model\";\r\nexport * from \"./notification.model\";\r\nexport * from \"./nutrition.model\";\r\nexport * from \"./order.model\";\r\nexport * from \"./parent.model\";\r\nexport * from \"./payout.model\";\r\nexport * from \"./product-marketing.model\";\r\nexport * from \"./product.model\";\r\nexport * from \"./punch-marketing-history.model\";\r\nexport * from \"./rating-setting.model\";\r\nexport * from \"./referral-setting.model\";\r\nexport * from \"./request-area.model\";\r\nexport * from \"./rider-review.model\";\r\nexport * from \"./rider.model\";\r\nexport * from \"./role.model\";\r\nexport * from \"./setting.model\";\r\nexport * from \"./shop-access-control.model\";\r\nexport * from \"./shop-category.model\";\r\nexport * from \"./shop-meal-plan.model\";\r\nexport * from \"./shop-product.model\";\r\nexport * from \"./shop-review.model\";\r\nexport * from \"./shop.model\";\r\nexport * from \"./subscription-setting.model\";\r\nexport * from \"./subscription.model\";\r\nexport * from \"./tag.model\";\r\nexport * from \"./transaction.model\";\r\nexport * from \"./zone.model\";\r\nexport * from \"./providers/buy1-get1-marketing.model\";\r\n// export * from './providers/core-apple-auth-identity.model';\r\n// export * from './providers/core-email-auth-identity.model';\r\n// export * from './providers/core-google-auth-identity.model';\r\n// export * from './providers/core-phone-auth-identity.model';\r\nexport * from \"./providers/custom-coupon.model\";\r\nexport * from \"./providers/discount-marketing.model\";\r\nexport * from \"./providers/featured-marketing.model\";\r\nexport * from \"./providers/free-delivery-marketing.model\";\r\nexport * from \"./providers/global-coupon.model\";\r\nexport * from \"./providers/individual-store-coupon.model\";\r\nexport * from \"./providers/individual-user-coupon.model\";\r\nexport * from \"./providers/loyalty-point-marketing.model\";\r\nexport * from \"./providers/punch-marketing.model\";\r\nexport * from \"./providers/referral-code-coupon.model\";\r\nexport * from \"./providers/referral-reward-coupon.model\";\r\n\r\nexport function ensureModelsLoaded() {\r\n console.log(\"All models have been registered\");\r\n return true;\r\n}\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,+DAA6C;AAC7C,gDAA8B;AAC9B,6DAA2C;AAC3C,oDAAkC;AAClC,iDAA+B;AAC/B,sDAAoC;AACpC,gDAA8B;AAC9B,mDAAiC;AACjC,6DAA2C;AAC3C,oDAAkC;AAClC,kDAAgC;AAChC,iDAA+B;AAC/B,uDAAqC;AACrC,+CAA6B;AAC7B,8CAA4B;AAC5B,oDAAkC;AAClC,2DAAyC;AACzC,2DAAyC;AACzC,yDAAuC;AACvC,iEAA+C;AAC/C,gEAA8C;AAC9C,oDAAkC;AAClC,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,4DAA0C;AAC1C,kDAAgC;AAChC,kEAAgD;AAChD,yDAAuC;AACvC,2DAAyC;AACzC,uDAAqC;AACrC,uDAAqC;AACrC,gDAA8B;AAC9B,+CAA6B;AAC7B,kDAAgC;AAChC,8DAA4C;AAC5C,wDAAsC;AACtC,yDAAuC;AACvC,uDAAqC;AACrC,sDAAoC;AACpC,+CAA6B;AAC7B,+DAA6C;AAC7C,uDAAqC;AACrC,8CAA4B;AAC5B,sDAAoC;AACpC,+CAA6B;AAC7B,wEAAsD;AACtD,6EAA2D;AAC3D,6EAA2D;AAC3D,8EAA4D;AAC5D,6EAA2D;AAC3D,kEAAgD;AAChD,uEAAqD;AACrD,uEAAqD;AACrD,4EAA0D;AAC1D,kEAAgD;AAChD,4EAA0D;AAC1D,2EAAyD;AACzD,4EAA0D;AAC1D,oEAAkD;AAClD,yEAAuD;AACvD,2EAAyD","sourcesContent":["export * from './activity-log.model';\r\nexport * from './admin-access-control.model';\r\nexport * from './admin.model';\r\nexport * from './app-screen-setting.model';\r\nexport * from './attribute.model';\r\nexport * from './banner.model';\r\nexport * from './bob-finance.model';\r\nexport * from './brand.model';\r\nexport * from './category.model';\r\nexport * from './core-auth-identity.model';\r\nexport * from './core-user.model';\r\nexport * from './counter.model';\r\nexport * from './coupon.model';\r\nexport * from './deal-setting.model';\r\nexport * from './dish.model';\r\nexport * from './faq.model';\r\nexport * from './favourite.model';\r\nexport * from './featured-setting.model';\r\nexport * from './filter-container.model';\r\nexport * from './list-container.model';\r\nexport * from './loyalty-point-category.model';\r\nexport * from './loyalty-point-setting.model';\r\nexport * from './marketing.model';\r\nexport * from './meal-plan.model';\r\nexport * from './notification.model';\r\nexport * from './nutrition.model';\r\nexport * from './order.model';\r\nexport * from './parent.model';\r\nexport * from './payout.model';\r\nexport * from './product-marketing.model';\r\nexport * from './product.model';\r\nexport * from './punch-marketing-history.model';\r\nexport * from './rating-setting.model';\r\nexport * from './referral-setting.model';\r\nexport * from './request-area.model';\r\nexport * from './rider-review.model';\r\nexport * from './rider.model';\r\nexport * from './role.model';\r\nexport * from './setting.model';\r\nexport * from './shop-access-control.model';\r\nexport * from './shop-category.model';\r\nexport * from './shop-meal-plan.model';\r\nexport * from './shop-product.model';\r\nexport * from './shop-review.model';\r\nexport * from './shop.model';\r\nexport * from './subscription-setting.model';\r\nexport * from './subscription.model';\r\nexport * from './tag.model';\r\nexport * from './transaction.model';\r\nexport * from './zone.model';\r\nexport * from './providers/buy1-get1-marketing.model';\r\nexport * from './providers/core-apple-auth-identity.model';\r\nexport * from './providers/core-email-auth-identity.model';\r\nexport * from './providers/core-google-auth-identity.model';\r\nexport * from './providers/core-phone-auth-identity.model';\r\nexport * from './providers/custom-coupon.model';\r\nexport * from './providers/discount-marketing.model';\r\nexport * from './providers/featured-marketing.model';\r\nexport * from './providers/free-delivery-marketing.model';\r\nexport * from './providers/global-coupon.model';\r\nexport * from './providers/individual-store-coupon.model';\r\nexport * from './providers/individual-user-coupon.model';\r\nexport * from './providers/loyalty-point-marketing.model';\r\nexport * from './providers/punch-marketing.model';\r\nexport * from './providers/referral-code-coupon.model';\r\nexport * from './providers/referral-reward-coupon.model';\r\n\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lyxa.ai/core",
3
- "version": "1.0.15-debug-0.10",
3
+ "version": "1.0.15-debug-0.11",
4
4
  "description": "The Core system of the Lyxa services.",
5
5
  "author": "elie <42282499+Internalizable@users.noreply.github.com>",
6
6
  "license": "MIT",