@lyxa.ai/core 1.3.40 → 1.3.42

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 (30) hide show
  1. package/dist/libraries/event/index.d.ts +4 -1
  2. package/dist/libraries/event/index.js +55 -18
  3. package/dist/libraries/event/index.js.map +1 -1
  4. package/dist/libraries/mongo/models/embedded/order-refund.model.d.ts +6 -1
  5. package/dist/libraries/mongo/models/embedded/order-refund.model.js +13 -1
  6. package/dist/libraries/mongo/models/embedded/order-refund.model.js.map +1 -1
  7. package/dist/libraries/mongo/models/embedded/replacement-order.model.d.ts +7 -0
  8. package/dist/libraries/mongo/models/embedded/replacement-order.model.js +18 -0
  9. package/dist/libraries/mongo/models/embedded/replacement-order.model.js.map +1 -1
  10. package/dist/libraries/mongo/models/index.d.ts +3 -3
  11. package/dist/libraries/mongo/models/index.js +4 -4
  12. package/dist/libraries/mongo/models/index.js.map +1 -1
  13. package/dist/libraries/mongo/models/providers/{professional-review.model.d.ts → service-order-review.model.d.ts} +1 -3
  14. package/dist/libraries/mongo/models/providers/{professional-review.model.js → service-order-review.model.js} +5 -11
  15. package/dist/libraries/mongo/models/providers/service-order-review.model.js.map +1 -0
  16. package/dist/libraries/socket/core/socket-event-consumer.js +1 -1
  17. package/dist/libraries/socket/core/socket-event-consumer.js.map +1 -1
  18. package/dist/libraries/socket/core/socket-event-publisher.js +1 -1
  19. package/dist/libraries/socket/core/socket-event-publisher.js.map +1 -1
  20. package/dist/types/README.md +1 -1
  21. package/dist/types/package.json +1 -1
  22. package/dist/types/utilities/enum.d.ts +2 -1
  23. package/dist/types/utilities/enum.js +1 -0
  24. package/dist/types/utilities/enum.js.map +1 -1
  25. package/dist/types/utilities/validation/common-validation.d.ts +12 -12
  26. package/dist/utilities/enum.d.ts +2 -1
  27. package/dist/utilities/enum.js +1 -0
  28. package/dist/utilities/enum.js.map +1 -1
  29. package/package.json +1 -1
  30. package/dist/libraries/mongo/models/providers/professional-review.model.js.map +0 -1
@@ -3,7 +3,10 @@ import { BaseEvent } from './BaseEvent';
3
3
  export declare const EXCHANGE_NAME = "lyxa.events";
4
4
  export declare const INSTANCE_ROUTE_PREFIX = "instance";
5
5
  export declare function initEventBus(rabbitUrl: string): Promise<void>;
6
- export declare function getChannel(): amqp.Channel;
6
+ export declare function getChannel(): {
7
+ pubChannel: amqp.ConfirmChannel;
8
+ subChannel: amqp.Channel;
9
+ };
7
10
  export declare function publishEvent<TPayload extends Record<string, unknown>>(event: BaseEvent<TPayload>): Promise<void>;
8
11
  export declare function subscribeToEvent(eventId: string, onMessage: (payload: any) => Promise<void>): Promise<void>;
9
12
  export declare function closeEventBus(): Promise<void>;
@@ -12,31 +12,42 @@ exports.closeEventBus = closeEventBus;
12
12
  const amqplib_1 = __importDefault(require("amqplib"));
13
13
  const instance_utils_1 = require("../../utilities/instance.utils");
14
14
  let connection;
15
- let channel;
15
+ let pubChannel;
16
+ let subChannel;
16
17
  exports.EXCHANGE_NAME = 'lyxa.events';
17
18
  exports.INSTANCE_ROUTE_PREFIX = 'instance';
18
19
  async function initEventBus(rabbitUrl) {
19
20
  connection = await amqplib_1.default.connect(rabbitUrl);
20
- channel = await connection.createChannel();
21
- await channel.assertExchange(exports.EXCHANGE_NAME, 'topic', { durable: true });
21
+ pubChannel = await connection.createConfirmChannel();
22
+ attachGuards(pubChannel, 'pub');
23
+ subChannel = await connection.createChannel();
24
+ attachGuards(subChannel, 'sub');
25
+ await pubChannel.assertExchange(exports.EXCHANGE_NAME, 'topic', { durable: true });
22
26
  console.log(`EventBus initialized with instance ID: ${(0, instance_utils_1.getInstanceId)()}`);
23
27
  }
24
28
  function getChannel() {
25
- if (!channel)
29
+ if (!pubChannel)
26
30
  throw new Error('Channel not initialized. Call initEventBus first.');
27
- return channel;
31
+ if (!subChannel)
32
+ throw new Error('Channel not initialized. Call initEventBus first.');
33
+ return {
34
+ pubChannel,
35
+ subChannel,
36
+ };
28
37
  }
29
38
  async function publishEvent(event) {
30
39
  console.log('taking event', event);
31
- const ch = getChannel();
40
+ const ch = getChannel().pubChannel;
32
41
  const messageBuffer = Buffer.from(JSON.stringify(event.payload));
33
42
  ch.publish(exports.EXCHANGE_NAME, event.eventId, messageBuffer, {
34
43
  contentType: 'application/json',
44
+ persistent: true,
35
45
  });
46
+ await ch.waitForConfirms();
36
47
  }
37
48
  async function subscribeToEvent(eventId, onMessage) {
38
- const ch = getChannel();
39
- const queueName = `${eventId}`;
49
+ const ch = getChannel().subChannel;
50
+ const queueName = `${eventId}.${(0, instance_utils_1.getInstanceId)()}`;
40
51
  await ch.assertQueue(queueName, {
41
52
  durable: true,
42
53
  exclusive: false,
@@ -44,24 +55,50 @@ async function subscribeToEvent(eventId, onMessage) {
44
55
  });
45
56
  await ch.bindQueue(queueName, exports.EXCHANGE_NAME, eventId);
46
57
  await ch.consume(queueName, async (msg) => {
47
- if (msg !== null) {
58
+ if (!msg)
59
+ return;
60
+ let processed = false;
61
+ try {
48
62
  const payload = JSON.parse(msg.content.toString());
49
- try {
50
- await onMessage(payload);
63
+ await onMessage(payload);
64
+ processed = true;
65
+ }
66
+ catch (err) {
67
+ console.error(`Error handling event [${eventId}]`, err);
68
+ }
69
+ finally {
70
+ if (processed)
51
71
  ch.ack(msg);
52
- }
53
- catch (err) {
54
- console.error(`Error handling event [${eventId}] on instance [${(0, instance_utils_1.getInstanceId)()}]`, err);
55
- }
72
+ else
73
+ ch.nack(msg, false, true);
56
74
  }
57
- }, { noAck: false });
75
+ });
58
76
  console.log(`Subscribed to event [${eventId}]`);
59
77
  }
60
78
  async function closeEventBus() {
61
- if (channel)
62
- await channel.close();
79
+ if (pubChannel)
80
+ await pubChannel.close();
81
+ if (subChannel)
82
+ await subChannel.close();
63
83
  if (connection)
64
84
  await connection.close();
65
85
  console.log(`EventBus closed for instance [${(0, instance_utils_1.getInstanceId)()}]`);
66
86
  }
87
+ function attachGuards(ch, type) {
88
+ ch.on('close', async () => {
89
+ console.error(`${type} channel closed, recreating...`);
90
+ if (type === 'pub') {
91
+ pubChannel = await connection.createConfirmChannel();
92
+ await pubChannel.assertExchange(exports.EXCHANGE_NAME, 'topic', { durable: true });
93
+ attachGuards(pubChannel, 'pub');
94
+ }
95
+ else {
96
+ subChannel = await connection.createChannel();
97
+ attachGuards(subChannel, 'sub');
98
+ }
99
+ });
100
+ ch.on('error', err => {
101
+ console.error(`${type} channel error`, err);
102
+ });
103
+ }
67
104
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/event/index.ts"],"names":[],"mappings":";;;;;;AASA,oCAKC;AAED,gCAGC;AAED,oCAWC;AAED,4CAiCC;AAED,sCAIC;AAzED,sDAA2B;AAE3B,mEAA+D;AAE/D,IAAI,UAA6B,CAAC;AAClC,IAAI,OAAqB,CAAC;AACb,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAEzC,KAAK,UAAU,YAAY,CAAC,SAAiB;IACnD,UAAU,GAAG,MAAM,iBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;IAC3C,MAAM,OAAO,CAAC,cAAc,CAAC,qBAAa,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAA,8BAAa,GAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,UAAU;IACzB,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACnF,OAAO,OAAO,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,YAAY,CACjC,KAA0B;IAE1B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAEnC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,EAAE,CAAC,OAAO,CAAC,qBAAa,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE;QACvD,WAAW,EAAE,kBAAkB;KAC/B,CAAC,CAAC;AAEJ,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACrC,OAAe,EACf,SAA0C;IAE1C,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,GAAG,OAAO,EAAE,CAAC;IAE/B,MAAM,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE;QAC/B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,qBAAa,EAAE,OAAO,CAAC,CAAC;IAEtD,MAAM,EAAE,CAAC,OAAO,CACf,SAAS,EACT,KAAK,EAAC,GAAG,EAAC,EAAE;QACX,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC;gBACJ,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBACzB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,yBAAyB,OAAO,kBAAkB,IAAA,8BAAa,GAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1F,CAAC;QACF,CAAC;IACF,CAAC,EACD,EAAE,KAAK,EAAE,KAAK,EAAE,CAChB,CAAC;IAGF,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC;AACjD,CAAC;AAEM,KAAK,UAAU,aAAa;IAClC,IAAI,OAAO;QAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACnC,IAAI,UAAU;QAAE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAA,8BAAa,GAAE,GAAG,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import amqp from 'amqplib';\nimport { BaseEvent } from './BaseEvent';\nimport { getInstanceId } from '../../utilities/instance.utils';\n\nlet connection: amqp.ChannelModel;\nlet channel: amqp.Channel;\nexport const EXCHANGE_NAME = 'lyxa.events';\nexport const INSTANCE_ROUTE_PREFIX = 'instance'; // routing key: instance.{instanceName}.{eventType}\n\nexport async function initEventBus(rabbitUrl: string) {\n\tconnection = await amqp.connect(rabbitUrl);\n\tchannel = await connection.createChannel();\n\tawait channel.assertExchange(EXCHANGE_NAME, 'topic', { durable: true });\n\tconsole.log(`EventBus initialized with instance ID: ${getInstanceId()}`);\n}\n\nexport function getChannel(): amqp.Channel {\n\tif (!channel) throw new Error('Channel not initialized. Call initEventBus first.');\n\treturn channel;\n}\n\nexport async function publishEvent<TPayload extends Record<string, unknown>>(\n\tevent: BaseEvent<TPayload>\n): Promise<void> {\n\tconsole.log('taking event', event);\n\n\tconst ch = getChannel();\n\tconst messageBuffer = Buffer.from(JSON.stringify(event.payload));\n\tch.publish(EXCHANGE_NAME, event.eventId, messageBuffer, {\n\t\tcontentType: 'application/json',\n\t});\n\t// console.log(`Published event [${event.eventId}] with payload`, event.payload);\n}\n\nexport async function subscribeToEvent(\n\teventId: string,\n\tonMessage: (payload: any) => Promise<void>\n): Promise<void> {\n\tconst ch = getChannel();\n\tconst queueName = `${eventId}`;\n\n\tawait ch.assertQueue(queueName, {\n\t\tdurable: true, // survive broker restart\n\t\texclusive: false, // Allow multiple consumers to attach. Only one connection can use it (each pod has own queue). Set to TRUE if each pod needs it's own queue\n\t\tautoDelete: false, // Queue removed when pod disconnects when set to TRUE\n\t});\n\n\tawait ch.bindQueue(queueName, EXCHANGE_NAME, eventId);\n\n\tawait ch.consume(\n\t\tqueueName,\n\t\tasync msg => {\n\t\t\tif (msg !== null) {\n\t\t\t\tconst payload = JSON.parse(msg.content.toString());\n\t\t\t\ttry {\n\t\t\t\t\tawait onMessage(payload);\n\t\t\t\t\tch.ack(msg);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error(`Error handling event [${eventId}] on instance [${getInstanceId()}]`, err);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ noAck: false }\n\t);\n\n\t// console.log(`Subscribed to event [${eventId}] on queue [${queueName}]`);\n\tconsole.log(`Subscribed to event [${eventId}]`);\n}\n\nexport async function closeEventBus(): Promise<void> {\n\tif (channel) await channel.close();\n\tif (connection) await connection.close();\n\tconsole.log(`EventBus closed for instance [${getInstanceId()}]`);\n}"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/event/index.ts"],"names":[],"mappings":"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","sourcesContent":["import amqp from 'amqplib';\nimport { BaseEvent } from './BaseEvent';\nimport { getInstanceId } from '../../utilities/instance.utils';\n\nlet connection: amqp.ChannelModel;\n// let channel: amqp.Channel;\n// let pubChannel: amqp.Channel;\n// let subChannel: amqp.Channel;\nlet pubChannel: amqp.ConfirmChannel;\nlet subChannel: amqp.Channel;\nexport const EXCHANGE_NAME = 'lyxa.events';\nexport const INSTANCE_ROUTE_PREFIX = 'instance'; // routing key: instance.{instanceName}.{eventType}\n\nexport async function initEventBus(rabbitUrl: string) {\n\tconnection = await amqp.connect(rabbitUrl);\n\t// channel = await connection.createChannel();\n\tpubChannel = await connection.createConfirmChannel();\n\tattachGuards(pubChannel, 'pub');\n\n\tsubChannel = await connection.createChannel();\n\tattachGuards(subChannel, 'sub');\n\t// await channel.assertExchange(EXCHANGE_NAME, 'topic', { durable: true });\n\tawait pubChannel.assertExchange(EXCHANGE_NAME, 'topic', { durable: true });\n\tconsole.log(`EventBus initialized with instance ID: ${getInstanceId()}`);\n}\n\n// export function getChannel(): amqp.Channel {\n// \tif (!channel) throw new Error('Channel not initialized. Call initEventBus first.');\n// \treturn channel;\n// }\n\nexport function getChannel(): { pubChannel: amqp.ConfirmChannel; subChannel: amqp.Channel } {\n\tif (!pubChannel) throw new Error('Channel not initialized. Call initEventBus first.');\n\tif (!subChannel) throw new Error('Channel not initialized. Call initEventBus first.');\n\treturn {\n\t\tpubChannel,\n\t\tsubChannel,\n\t};\n}\n\nexport async function publishEvent<TPayload extends Record<string, unknown>>(\n\tevent: BaseEvent<TPayload>\n): Promise<void> {\n\tconsole.log('taking event', event);\n\n\tconst ch = getChannel().pubChannel;\n\tconst messageBuffer = Buffer.from(JSON.stringify(event.payload));\n\tch.publish(EXCHANGE_NAME, event.eventId, messageBuffer, {\n\t\tcontentType: 'application/json',\n\t\tpersistent: true,\n\t});\n\tawait ch.waitForConfirms();\n\t// console.log(`Published event [${event.eventId}] with payload`, event.payload);\n}\n\nexport async function subscribeToEvent(\n\teventId: string,\n\tonMessage: (payload: any) => Promise<void>\n): Promise<void> {\n\tconst ch = getChannel().subChannel;\n\t// const queueName = `${eventId}`;\n\tconst queueName = `${eventId}.${getInstanceId()}`;\n\n\tawait ch.assertQueue(queueName, {\n\t\tdurable: true, // survive broker restart\n\t\texclusive: false, // Allow multiple consumers to attach. Only one connection can use it (each pod has own queue). Set to TRUE if each pod needs it's own queue\n\t\tautoDelete: false, // Queue removed when pod disconnects when set to TRUE\n\t});\n\n\tawait ch.bindQueue(queueName, EXCHANGE_NAME, eventId);\n\n\tawait ch.consume(queueName, async msg => {\n\t\tif (!msg) return;\n\t\tlet processed = false;\n\t\ttry {\n\t\t\tconst payload = JSON.parse(msg.content.toString());\n\t\t\tawait onMessage(payload);\n\t\t\tprocessed = true;\n\t\t} catch (err) {\n\t\t\tconsole.error(`Error handling event [${eventId}]`, err);\n\t\t} finally {\n\t\t\tif (processed) ch.ack(msg);\n\t\t\telse ch.nack(msg, false, true); // retry\n\t\t}\n\t});\n\n\t// console.log(`Subscribed to event [${eventId}] on queue [${queueName}]`);\n\tconsole.log(`Subscribed to event [${eventId}]`);\n}\n\n// export async function closeEventBus(): Promise<void> {\n// \tif (channel) await channel.close();\n// \tif (connection) await connection.close();\n// \tconsole.log(`EventBus closed for instance [${getInstanceId()}]`);\n// }\nexport async function closeEventBus(): Promise<void> {\n\tif (pubChannel) await pubChannel.close();\n\tif (subChannel) await subChannel.close();\n\tif (connection) await connection.close();\n\tconsole.log(`EventBus closed for instance [${getInstanceId()}]`);\n}\n\nfunction attachGuards(ch: amqp.Channel | amqp.ConfirmChannel, type: 'pub' | 'sub') {\n\tch.on('close', async () => {\n\t\tconsole.error(`${type} channel closed, recreating...`);\n\t\tif (type === 'pub') {\n\t\t\tpubChannel = await connection.createConfirmChannel();\n\t\t\tawait pubChannel.assertExchange(EXCHANGE_NAME, 'topic', { durable: true });\n\t\t\tattachGuards(pubChannel, 'pub');\n\t\t} else {\n\t\t\tsubChannel = await connection.createChannel();\n\t\t\tattachGuards(subChannel, 'sub');\n\t\t}\n\t});\n\n\tch.on('error', err => {\n\t\tconsole.error(`${type} channel error`, err);\n\t});\n}\n"]}
@@ -1,8 +1,12 @@
1
1
  import { Ref } from '@typegoose/typegoose';
2
2
  import { LineItem } from '../line-item.model';
3
+ declare class SelectedLineItemsInfo {
4
+ lineItemId: Ref<LineItem>;
5
+ quantity: number;
6
+ }
3
7
  export declare class OrderRefund {
4
8
  isFullRefund?: boolean;
5
- selectedLineItems?: Ref<LineItem>[];
9
+ selectedLineItems?: SelectedLineItemsInfo[];
6
10
  refundedAmountByShopForItems?: number;
7
11
  secondaryRefundedAmountByShopForItems?: number;
8
12
  refundedAmountByShopForDelivery?: number;
@@ -14,3 +18,4 @@ export declare class OrderRefund {
14
18
  totalRefund?: number;
15
19
  secondaryTotalRefund?: number;
16
20
  }
21
+ export {};
@@ -12,6 +12,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OrderRefund = void 0;
13
13
  const typegoose_1 = require("@typegoose/typegoose");
14
14
  const line_item_model_1 = require("../line-item.model");
15
+ class SelectedLineItemsInfo {
16
+ lineItemId;
17
+ quantity;
18
+ }
19
+ __decorate([
20
+ (0, typegoose_1.prop)({ required: true, ref: () => line_item_model_1.LineItem }),
21
+ __metadata("design:type", Object)
22
+ ], SelectedLineItemsInfo.prototype, "lineItemId", void 0);
23
+ __decorate([
24
+ (0, typegoose_1.prop)({ type: Number, default: 1 }),
25
+ __metadata("design:type", Number)
26
+ ], SelectedLineItemsInfo.prototype, "quantity", void 0);
15
27
  class OrderRefund {
16
28
  isFullRefund;
17
29
  selectedLineItems;
@@ -32,7 +44,7 @@ __decorate([
32
44
  __metadata("design:type", Boolean)
33
45
  ], OrderRefund.prototype, "isFullRefund", void 0);
34
46
  __decorate([
35
- (0, typegoose_1.prop)({ ref: () => line_item_model_1.LineItem, default: [] }),
47
+ (0, typegoose_1.prop)({ ref: () => SelectedLineItemsInfo, default: [] }),
36
48
  __metadata("design:type", Array)
37
49
  ], OrderRefund.prototype, "selectedLineItems", void 0);
38
50
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"order-refund.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/order-refund.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiD;AACjD,wDAA8C;AAE9C,MAAa,WAAW;IAEhB,YAAY,CAAW;IAGvB,iBAAiB,CAAmB;IAGpC,4BAA4B,CAAU;IAGtC,qCAAqC,CAAU;IAG/C,+BAA+B,CAAU;IAGzC,wCAAwC,CAAU;IAGlD,+BAA+B,CAAU;IAGzC,wCAAwC,CAAU;IAGlD,kCAAkC,CAAU;IAG5C,2CAA2C,CAAU;IAGrD,WAAW,CAAU;IAGrB,oBAAoB,CAAU;CACrC;AApCD,kCAoCC;AAlCO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;iDACV;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;sDACA;AAGpC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iEACU;AAGtC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0EACmB;AAG/C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oEACa;AAGzC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6EACsB;AAGlD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oEACa;AAGzC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6EACsB;AAGlD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uEACgB;AAG5C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gFACyB;AAGrD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gDACP;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;yDACE","sourcesContent":["import { prop, Ref } from '@typegoose/typegoose';\nimport { LineItem } from '../line-item.model';\n\nexport class OrderRefund {\n\t@prop({ type: Boolean, default: false })\n\tpublic isFullRefund?: boolean;\n\n\t@prop({ ref: () => LineItem, default: [] })\n\tpublic selectedLineItems?: Ref<LineItem>[];\n\n\t@prop({ type: Number, default: 0 })\n\tpublic refundedAmountByShopForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryRefundedAmountByShopForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic refundedAmountByShopForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryRefundedAmountByShopForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic refundedAmountByCompanyForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryRefundedAmountByCompanyForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic refundedAmountByCompanyForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryRefundedAmountByCompanyForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic totalRefund?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryTotalRefund?: number;\n}\n"]}
1
+ {"version":3,"file":"order-refund.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/order-refund.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiD;AACjD,wDAA8C;AAE9C,MAAM,qBAAqB;IAE1B,UAAU,CAAgB;IAG1B,QAAQ,CAAS;CACjB;AAJA;IADC,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;yDACpB;AAG1B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDAClB;AAGlB,MAAa,WAAW;IAEhB,YAAY,CAAW;IAGvB,iBAAiB,CAA2B;IAG5C,4BAA4B,CAAU;IAGtC,qCAAqC,CAAU;IAG/C,+BAA+B,CAAU;IAGzC,wCAAwC,CAAU;IAGlD,+BAA+B,CAAU;IAGzC,wCAAwC,CAAU;IAGlD,kCAAkC,CAAU;IAG5C,2CAA2C,CAAU;IAGrD,WAAW,CAAU;IAGrB,oBAAoB,CAAU;CACrC;AApCD,kCAoCC;AAlCO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;iDACV;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;sDACL;AAG5C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iEACU;AAGtC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0EACmB;AAG/C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oEACa;AAGzC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6EACsB;AAGlD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oEACa;AAGzC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;6EACsB;AAGlD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uEACgB;AAG5C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gFACyB;AAGrD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gDACP;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;yDACE","sourcesContent":["import { prop, Ref } from '@typegoose/typegoose';\nimport { LineItem } from '../line-item.model';\n\nclass SelectedLineItemsInfo {\n\t@prop({ required: true, ref: () => LineItem })\n\tlineItemId: Ref<LineItem>;\n\n\t@prop({ type: Number, default: 1 })\n\tquantity: number;\n}\n\nexport class OrderRefund {\n\t@prop({ type: Boolean, default: false })\n\tpublic isFullRefund?: boolean;\n\n\t@prop({ ref: () => SelectedLineItemsInfo, default: [] })\n\tpublic selectedLineItems?: SelectedLineItemsInfo[];\n\n\t@prop({ type: Number, default: 0 })\n\tpublic refundedAmountByShopForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryRefundedAmountByShopForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic refundedAmountByShopForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryRefundedAmountByShopForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic refundedAmountByCompanyForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryRefundedAmountByCompanyForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic refundedAmountByCompanyForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryRefundedAmountByCompanyForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic totalRefund?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryTotalRefund?: number;\n}\n"]}
@@ -1,8 +1,14 @@
1
1
  import { Ref } from '@typegoose/typegoose';
2
2
  import { ReplacementType } from '../../../../utilities/enum';
3
3
  import { Order } from '../order.model';
4
+ import { LineItem } from '../line-item.model';
5
+ declare class SelectedLineItemsInfo {
6
+ lineItemId: Ref<LineItem>;
7
+ quantity: number;
8
+ }
4
9
  export declare class ReplacementOrder {
5
10
  originalOrder: Ref<Order>;
11
+ selectedLineItems?: SelectedLineItemsInfo[];
6
12
  replacementType: ReplacementType;
7
13
  replacementByShopForItems?: number;
8
14
  secondaryReplacementByShopForItems?: number;
@@ -14,3 +20,4 @@ export declare class ReplacementOrder {
14
20
  secondaryReplacementByCompanyForDelivery?: number;
15
21
  bringItem?: string;
16
22
  }
23
+ export {};
@@ -13,8 +13,22 @@ exports.ReplacementOrder = void 0;
13
13
  const typegoose_1 = require("@typegoose/typegoose");
14
14
  const enum_1 = require("../../../../utilities/enum");
15
15
  const order_model_1 = require("../order.model");
16
+ const line_item_model_1 = require("../line-item.model");
17
+ class SelectedLineItemsInfo {
18
+ lineItemId;
19
+ quantity;
20
+ }
21
+ __decorate([
22
+ (0, typegoose_1.prop)({ required: true, ref: () => line_item_model_1.LineItem }),
23
+ __metadata("design:type", Object)
24
+ ], SelectedLineItemsInfo.prototype, "lineItemId", void 0);
25
+ __decorate([
26
+ (0, typegoose_1.prop)({ type: Number, default: 1 }),
27
+ __metadata("design:type", Number)
28
+ ], SelectedLineItemsInfo.prototype, "quantity", void 0);
16
29
  class ReplacementOrder {
17
30
  originalOrder;
31
+ selectedLineItems;
18
32
  replacementType;
19
33
  replacementByShopForItems;
20
34
  secondaryReplacementByShopForItems;
@@ -31,6 +45,10 @@ __decorate([
31
45
  (0, typegoose_1.prop)({ required: true, ref: () => order_model_1.Order }),
32
46
  __metadata("design:type", Object)
33
47
  ], ReplacementOrder.prototype, "originalOrder", void 0);
48
+ __decorate([
49
+ (0, typegoose_1.prop)({ ref: () => SelectedLineItemsInfo, default: [] }),
50
+ __metadata("design:type", Array)
51
+ ], ReplacementOrder.prototype, "selectedLineItems", void 0);
34
52
  __decorate([
35
53
  (0, typegoose_1.prop)({ required: true, type: String, enum: enum_1.ReplacementType }),
36
54
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"replacement-order.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/replacement-order.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiD;AACjD,qDAA6D;AAC7D,gDAAuC;AAEvC,MAAa,gBAAgB;IAErB,aAAa,CAAc;IAG3B,eAAe,CAAkB;IAGjC,yBAAyB,CAAU;IAGnC,kCAAkC,CAAU;IAG5C,4BAA4B,CAAU;IAGtC,qCAAqC,CAAU;IAG/C,4BAA4B,CAAU;IAGtC,qCAAqC,CAAU;IAG/C,+BAA+B,CAAU;IAGzC,wCAAwC,CAAU;IAGlD,SAAS,CAAU;CAC1B;AAjCD,4CAiCC;AA/BO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;uDACT;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAe,EAAE,CAAC;;yDACtB;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mEACO;AAGnC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4EACgB;AAG5C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sEACU;AAGtC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+EACmB;AAG/C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sEACU;AAGtC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+EACmB;AAG/C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;yEACa;AAGzC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;kFACsB;AAGlD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACG","sourcesContent":["import { prop, Ref } from '@typegoose/typegoose';\nimport { ReplacementType } from '../../../../utilities/enum';\nimport { Order } from '../order.model';\n\nexport class ReplacementOrder {\n\t@prop({ required: true, ref: () => Order })\n\tpublic originalOrder!: Ref<Order>;\n\n\t@prop({ required: true, type: String, enum: ReplacementType })\n\tpublic replacementType: ReplacementType;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic replacementByShopForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryReplacementByShopForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic replacementByShopForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryReplacementByShopForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic replacementByCompanyForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryReplacementByCompanyForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic replacementByCompanyForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryReplacementByCompanyForDelivery?: number;\n\n\t@prop({ type: String })\n\tpublic bringItem?: string;\n}\n"]}
1
+ {"version":3,"file":"replacement-order.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/replacement-order.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiD;AACjD,qDAA6D;AAC7D,gDAAuC;AACvC,wDAA8C;AAE9C,MAAM,qBAAqB;IAE1B,UAAU,CAAgB;IAG1B,QAAQ,CAAS;CACjB;AAJA;IADC,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;;yDACpB;AAG1B;IADC,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDAClB;AAGlB,MAAa,gBAAgB;IAErB,aAAa,CAAc;IAG3B,iBAAiB,CAA2B;IAG5C,eAAe,CAAkB;IAGjC,yBAAyB,CAAU;IAGnC,kCAAkC,CAAU;IAG5C,4BAA4B,CAAU;IAGtC,qCAAqC,CAAU;IAG/C,4BAA4B,CAAU;IAGtC,qCAAqC,CAAU;IAG/C,+BAA+B,CAAU;IAGzC,wCAAwC,CAAU;IAGlD,SAAS,CAAU;CAC1B;AApCD,4CAoCC;AAlCO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;uDACT;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2DACL;AAG5C;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAe,EAAE,CAAC;;yDACtB;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mEACO;AAGnC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;4EACgB;AAG5C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sEACU;AAGtC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+EACmB;AAG/C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sEACU;AAGtC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+EACmB;AAG/C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;yEACa;AAGzC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;kFACsB;AAGlD;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACG","sourcesContent":["import { prop, Ref } from '@typegoose/typegoose';\nimport { ReplacementType } from '../../../../utilities/enum';\nimport { Order } from '../order.model';\nimport { LineItem } from '../line-item.model';\n\nclass SelectedLineItemsInfo {\n\t@prop({ required: true, ref: () => LineItem })\n\tlineItemId: Ref<LineItem>;\n\n\t@prop({ type: Number, default: 1 })\n\tquantity: number;\n}\n\nexport class ReplacementOrder {\n\t@prop({ required: true, ref: () => Order })\n\tpublic originalOrder!: Ref<Order>;\n\n\t@prop({ ref: () => SelectedLineItemsInfo, default: [] })\n\tpublic selectedLineItems?: SelectedLineItemsInfo[];\n\n\t@prop({ required: true, type: String, enum: ReplacementType })\n\tpublic replacementType: ReplacementType;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic replacementByShopForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryReplacementByShopForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic replacementByShopForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryReplacementByShopForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic replacementByCompanyForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryReplacementByCompanyForItems?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic replacementByCompanyForDelivery?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryReplacementByCompanyForDelivery?: number;\n\n\t@prop({ type: String })\n\tpublic bringItem?: string;\n}\n"]}
@@ -101,7 +101,7 @@ import { Flag } from './flag.model';
101
101
  import { Review } from './review.model';
102
102
  import { ShopReview } from './providers/shop-review.model';
103
103
  import { RiderReview } from './providers/rider-review.model';
104
- import { ProfessionalReview } from './providers/professional-review.model';
104
+ import { ServiceOrderReview } from './providers/service-order-review.model';
105
105
  import { GalleryUpload } from './gallery-upload.model';
106
106
  import { ProductUpload } from './product-upload.model';
107
107
  import { ShopsCategoriesCoupon } from './providers/shops-categories-coupon.model';
@@ -243,11 +243,11 @@ export * from './request-area.model';
243
243
  export declare const ReviewModel: ReturnModelType<typeof Review>;
244
244
  export declare const ShopReviewModel: ReturnModelType<typeof ShopReview>;
245
245
  export declare const RiderReviewModel: ReturnModelType<typeof RiderReview>;
246
- export declare const ProfessionalReviewModel: ReturnModelType<typeof ProfessionalReview>;
246
+ export declare const ServiceOrderReviewModel: ReturnModelType<typeof ServiceOrderReview>;
247
247
  export * from './review.model';
248
248
  export * from './providers/shop-review.model';
249
249
  export * from './providers/rider-review.model';
250
- export * from './providers/professional-review.model';
250
+ export * from './providers/service-order-review.model';
251
251
  export declare const RiderTimeoutModel: ReturnModelType<typeof RiderTimeout>;
252
252
  export * from './rider-timeout.model';
253
253
  export declare const RiderTrackingModel: ReturnModelType<typeof RiderTracking>;
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.RiderPayoutModel = exports.ShopPayoutModel = exports.PayoutModel = exports.ParentModel = exports.ShopCourierOrderModel = exports.CourierOrderModel = exports.RegularOrderModel = exports.OrderModel = exports.NutritionModel = exports.NotificationModel = exports.MealPlanModel = exports.PunchMarketingModel = exports.FreeDeliveryMarketingModel = exports.FeaturedMarketingModel = exports.DiscountMarketingModel = exports.Buy1Get1MarketingModel = exports.MarketingModel = exports.ListContainerModel = exports.LineItemModel = exports.GalleryUploadModel = exports.GalleryModel = exports.FlagModel = exports.FinanceSettlementModel = exports.FilterContainerModel = exports.FeaturedSettingModel = exports.FavouriteModel = exports.FaqModel = exports.DishModel = exports.DealSettingModel = exports.ReferralRewardCouponModel = exports.ReferralCodeCouponModel = exports.IndividualUserCouponModel = exports.IndividualStoreCouponModel = exports.ShopsCategoriesCouponModel = exports.GlobalCouponModel = exports.CustomCouponModel = exports.BaseCouponModel = exports.CouponModel = exports.CounterModel = exports.CategoryModel = exports.CartParticipantModel = exports.CartModel = exports.BrandModel = exports.BOBFinanceModel = exports.BannerModel = exports.AttributeModel = exports.UserAppSectionSettingModel = exports.AdminModel = exports.AdminAccessControlModel = exports.ActivityLogModel = void 0;
18
- exports.ZoneExtraTimeModel = exports.ServicePromotionModel = exports.TicketActionModel = exports.BlockedTimeModel = exports.ProfessionalScheduleModel = exports.ServiceOrderModel = exports.ServiceLineItemModel = exports.ServiceCartModel = exports.ProfessionalModel = exports.ServicePackageModel = exports.AddOnModel = exports.ServiceCategoryModel = exports.VendorAccessControlModel = exports.VendorModel = exports.VendorParentModel = exports.ServiceModel = exports.ChatroomModel = exports.AgentPerformanceModel = exports.MessageModel = exports.TicketModel = exports.RewardModel = exports.CancellationReasonModel = exports.SupportReasonModel = exports.TermsAndConditionsModel = exports.DefaultChatModel = exports.ZoneModel = exports.UserModel = exports.TagModel = exports.SubscriptionModel = exports.SubscriptionSettingModel = exports.ShopModel = exports.ShopMealPlanModel = exports.ShopCategoryModel = exports.ShopAccessControlModel = exports.SettingModel = exports.RiderModel = exports.RiderTrackingModel = exports.RiderTimeoutModel = exports.ProfessionalReviewModel = exports.RiderReviewModel = exports.ShopReviewModel = exports.ReviewModel = exports.RequestAreaModel = exports.ReferralSettingModel = exports.RatingSettingModel = exports.PunchMarketingHistoryModel = exports.ProductUploadModel = exports.ProductModel = exports.ProductMarketingModel = void 0;
18
+ exports.ZoneExtraTimeModel = exports.ServicePromotionModel = exports.TicketActionModel = exports.BlockedTimeModel = exports.ProfessionalScheduleModel = exports.ServiceOrderModel = exports.ServiceLineItemModel = exports.ServiceCartModel = exports.ProfessionalModel = exports.ServicePackageModel = exports.AddOnModel = exports.ServiceCategoryModel = exports.VendorAccessControlModel = exports.VendorModel = exports.VendorParentModel = exports.ServiceModel = exports.ChatroomModel = exports.AgentPerformanceModel = exports.MessageModel = exports.TicketModel = exports.RewardModel = exports.CancellationReasonModel = exports.SupportReasonModel = exports.TermsAndConditionsModel = exports.DefaultChatModel = exports.ZoneModel = exports.UserModel = exports.TagModel = exports.SubscriptionModel = exports.SubscriptionSettingModel = exports.ShopModel = exports.ShopMealPlanModel = exports.ShopCategoryModel = exports.ShopAccessControlModel = exports.SettingModel = exports.RiderModel = exports.RiderTrackingModel = exports.RiderTimeoutModel = exports.ServiceOrderReviewModel = exports.RiderReviewModel = exports.ShopReviewModel = exports.ReviewModel = exports.RequestAreaModel = exports.ReferralSettingModel = exports.RatingSettingModel = exports.PunchMarketingHistoryModel = exports.ProductUploadModel = exports.ProductModel = exports.ProductMarketingModel = void 0;
19
19
  exports.getCardModel = getCardModel;
20
20
  exports.getAreebaCardModel = getAreebaCardModel;
21
21
  exports.getCoreAuthIdentityModel = getCoreAuthIdentityModel;
@@ -131,7 +131,7 @@ const flag_model_1 = require("./flag.model");
131
131
  const review_model_1 = require("./review.model");
132
132
  const shop_review_model_1 = require("./providers/shop-review.model");
133
133
  const rider_review_model_1 = require("./providers/rider-review.model");
134
- const professional_review_model_1 = require("./providers/professional-review.model");
134
+ const service_order_review_model_1 = require("./providers/service-order-review.model");
135
135
  const id_generator_1 = require("../../../utilities/id-generator");
136
136
  const gallery_upload_model_1 = require("./gallery-upload.model");
137
137
  const product_upload_model_1 = require("./product-upload.model");
@@ -337,11 +337,11 @@ __exportStar(require("./request-area.model"), exports);
337
337
  exports.ReviewModel = (0, typegoose_1.getModelForClass)(review_model_1.Review);
338
338
  exports.ShopReviewModel = (0, typegoose_1.getDiscriminatorModelForClass)(exports.ReviewModel, shop_review_model_1.ShopReview, enum_1.ReviewType.SHOP);
339
339
  exports.RiderReviewModel = (0, typegoose_1.getDiscriminatorModelForClass)(exports.ReviewModel, rider_review_model_1.RiderReview, enum_1.ReviewType.RIDER);
340
- exports.ProfessionalReviewModel = (0, typegoose_1.getDiscriminatorModelForClass)(exports.ReviewModel, professional_review_model_1.ProfessionalReview, enum_1.ReviewType.PROFESSIONAL);
340
+ exports.ServiceOrderReviewModel = (0, typegoose_1.getDiscriminatorModelForClass)(exports.ReviewModel, service_order_review_model_1.ServiceOrderReview, enum_1.ReviewType.SERVICE_ORDER);
341
341
  __exportStar(require("./review.model"), exports);
342
342
  __exportStar(require("./providers/shop-review.model"), exports);
343
343
  __exportStar(require("./providers/rider-review.model"), exports);
344
- __exportStar(require("./providers/professional-review.model"), exports);
344
+ __exportStar(require("./providers/service-order-review.model"), exports);
345
345
  exports.RiderTimeoutModel = (0, typegoose_1.getModelForClass)(rider_timeout_model_1.RiderTimeout);
346
346
  __exportStar(require("./rider-timeout.model"), exports);
347
347
  exports.RiderTrackingModel = (0, typegoose_1.getModelForClass)(rider_tracking_model_1.RiderTracking);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/models/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { ServiceLineItem } from './service-line-item.model';\nimport { RiderPayout } from './providers/rider-payout.model';\nimport { ShopPayout } from './providers/shop-payout.model';\nimport { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\nimport { Admin } from './admin.model';\nimport { AdminAccessControl } from './admin-access-control.model';\nimport { ActivityLog } from './activity-log.model';\nimport { UserAppSectionSetting } from './user-app-section-setting.model';\nimport { Attribute } from './attribute.model';\nimport { Banner } from './banner.model';\nimport { BaseCoupon } from './base/base-coupon.model';\nimport { BOBFinance } from './bob-finance.model';\nimport { Brand } from './brand.model';\nimport { Category } from './category.model';\nimport { Counter } from './counter.model';\nimport { Coupon } from './coupon.model';\nimport { DealSetting } from './deal-setting.model';\nimport { Dish } from './dish.model';\nimport { Faq } from './faq.model';\nimport { Favourite } from './favourite.model';\nimport { FeaturedSetting } from './featured-setting.model';\nimport { FilterContainer } from './filter-container.model';\nimport { ListContainer } from './list-container.model';\nimport { Marketing } from './marketing.model';\nimport { MealPlan } from './meal-plan.model';\nimport { Nutrition } from './nutrition.model';\nimport { Parent } from './parent.model';\nimport { ProductMarketing } from './product-marketing.model';\nimport { Product } from './product.model';\nimport { PunchMarketingHistory } from './punch-marketing-history.model';\nimport { RatingSetting } from './rating-setting.model';\nimport { ReferralSetting } from './referral-setting.model';\nimport { RequestArea } from './request-area.model';\nimport { Role } from './role.model';\nimport { Setting } from './setting.model';\nimport { ShopAccessControl } from './shop-access-control.model';\nimport { ShopCategory } from './shop-category.model';\nimport { ShopMealPlan } from './shop-meal-plan.model';\nimport { Shop } from './shop.model';\nimport { SubscriptionSetting } from './subscription-setting.model';\nimport { Subscription } from './subscription.model';\nimport { Tag } from './tag.model';\nimport { Zone } from './zone.model';\nimport { Buy1Get1Marketing } from './providers/buy1-get1-marketing.model';\nimport {\n\tCardType,\n\tCoreAuthIdentityType,\n\tCounterType,\n\tCouponType,\n\tMarketingType,\n\tOrderType,\n\tPayoutType,\n\tReviewType,\n} from '../../../utilities/enum';\nimport { AddOn } from './addon.model';\nimport { CustomCoupon } from './providers/custom-coupon.model';\nimport { DiscountMarketing } from './providers/discount-marketing.model';\nimport { FeaturedMarketing } from './providers/featured-marketing.model';\nimport { FreeDeliveryMarketing } from './providers/free-delivery-marketing.model';\nimport { GlobalCoupon } from './providers/global-coupon.model';\nimport { IndividualStoreCoupon } from './providers/individual-store-coupon.model';\nimport { IndividualUserCoupon } from './providers/individual-user-coupon.model';\nimport { PunchMarketing } from './providers/punch-marketing.model';\nimport { ReferralCodeCoupon } from './providers/referral-code-coupon.model';\nimport { ReferralRewardCoupon } from './providers/referral-reward-coupon.model';\nimport { Notification } from './notification.model';\nimport { CoreAuthIdentity } from './core-auth-identity.model';\nimport { CoreEmailAuthIdentity } from './providers/core-email-auth-identity.model';\nimport { CorePhoneAuthIdentity } from './providers/core-phone-auth-identity.model';\nimport { CoreGoogleAuthIdentity } from './providers/core-google-auth-identity.model';\nimport { CoreAppleAuthIdentity } from './providers/core-apple-auth-identity.model';\nimport { CoreUser } from './core-user.model';\nimport { Card } from './card.model';\nimport { AreebaCard } from './providers/areeba-card.model';\nimport { RiderTracking } from './rider-tracking.model';\nimport { Rider } from './rider.model';\nimport { RiderTimeout } from './rider-timeout.model';\nimport { User } from './user.model';\nimport { Cart } from './cart.model';\nimport { LineItem } from './line-item.model';\nimport { CartParticipant } from './cart-participant.model';\nimport { Gallery } from './gallery.model';\nimport { Order } from './order.model';\nimport { RegularOrder } from './providers/regular-order.model';\nimport { CourierOrder } from './providers/courier-order.model';\nimport { FinanceSettlement } from './finance-settlement.model';\nimport { DefaultChat } from './default-chat.model';\nimport { TermsAndConditions } from './terms-and-conditions.model';\nimport { SupportReason } from './support-reason.model';\nimport { CancellationReason } from './cancellation-reason.model';\nimport { Payout } from './payout.model';\nimport { Reward } from './reward.model';\nimport { Ticket } from './ticket.model';\nimport { Message } from './message.model';\nimport { AgentPerformance } from './agent-performance.model';\nimport { Chatroom } from './chat-room.model';\nimport { initializeRefreshTokenModel } from '../../auth';\nimport { VendorParent } from './vendor-parent.model';\nimport { Vendor } from './vendor.model';\nimport { VendorAccessControl } from './vendor-access-control.model';\nimport { ServiceCategory } from './service-category.model';\nimport { ServicePackage } from './service-package.model';\nimport { Professional } from './professional.model';\nimport { ServiceOrder } from './service-order.model';\nimport { ProfessionalSchedule } from './professional-schedule';\nimport { Service } from './service.model';\nimport { TicketAction } from './ticket-action.model';\nimport { ServiceCart } from './service-cart.model';\nimport { ShopCourierOrder } from './providers/shop-courier.model';\nimport { ServicePromotion } from './service-promotion.model';\nimport { Flag } from './flag.model';\nimport { Review } from './review.model';\nimport { ShopReview } from './providers/shop-review.model';\nimport { RiderReview } from './providers/rider-review.model';\nimport { ProfessionalReview } from './providers/professional-review.model';\nimport { assignIdsToDocuments } from '../../../utilities/id-generator';\nimport { GalleryUpload } from './gallery-upload.model';\nimport { ProductUpload } from './product-upload.model';\nimport { ShopsCategoriesCoupon } from './providers/shops-categories-coupon.model';\nimport { BlockedTime } from './blocked-time.model';\nimport { ZoneExtraTime } from './zone-extra-time';\n\n// Regular models (using standard getModelForClass)\nexport const ActivityLogModel: ReturnModelType<typeof ActivityLog> = getModelForClass(ActivityLog);\nexport * from './activity-log.model';\n\nexport const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl> =\n\tgetModelForClass(AdminAccessControl);\nexport * from './admin-access-control.model';\n\nexport const AdminModel: ReturnModelType<typeof Admin> = getModelForClass(Admin);\nexport * from './admin.model';\n\nexport const UserAppSectionSettingModel: ReturnModelType<typeof UserAppSectionSetting> =\n\tgetModelForClass(UserAppSectionSetting);\nexport * from './user-app-section-setting.model';\n\nexport const AttributeModel: ReturnModelType<typeof Attribute> = getModelForClass(Attribute);\nexport * from './attribute.model';\n\nexport const BannerModel: ReturnModelType<typeof Banner> = getModelForClass(Banner);\nexport * from './banner.model';\n\nexport const BOBFinanceModel: ReturnModelType<typeof BOBFinance> = getModelForClass(BOBFinance);\nexport * from './bob-finance.model';\n\nexport const BrandModel: ReturnModelType<typeof Brand> = getModelForClass(Brand);\nexport * from './brand.model';\n\n// Global models - will be set after initGlobalConnection()\nlet actualCardModel: ReturnModelType<typeof Card> | null = null;\nlet actualCoreAuthIdentityModel: ReturnModelType<typeof CoreAuthIdentity> | null = null;\nlet actualCoreUserModel: ReturnModelType<typeof CoreUser> | null = null;\nlet actualRoleModel: ReturnModelType<typeof Role> | null = null;\n\n// Global discriminator models - will be set after initGlobalConnection()\nlet actualAreebaCardModel: ReturnModelType<typeof AreebaCard> | null = null;\nlet actualCoreEmailAuthIdentityModel: ReturnModelType<typeof CoreEmailAuthIdentity> | null = null;\nlet actualCorePhoneAuthIdentityModel: ReturnModelType<typeof CorePhoneAuthIdentity> | null = null;\nlet actualCoreGoogleAuthIdentityModel: ReturnModelType<typeof CoreGoogleAuthIdentity> | null = null;\nlet actualCoreAppleAuthIdentityModel: ReturnModelType<typeof CoreAppleAuthIdentity> | null = null;\n\n// Export getter functions for global models\nexport function getCardModel(): ReturnModelType<typeof Card> {\n\tif (!actualCardModel) throw new Error('Card model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCardModel;\n}\n\nexport function getAreebaCardModel(): ReturnModelType<typeof AreebaCard> {\n\tif (!actualAreebaCardModel)\n\t\tthrow new Error('AreebaCard model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualAreebaCardModel;\n}\n\nexport function getCoreAuthIdentityModel(): ReturnModelType<typeof CoreAuthIdentity> {\n\tif (!actualCoreAuthIdentityModel)\n\t\tthrow new Error('CoreAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreAuthIdentityModel;\n}\n\nexport function getCoreEmailAuthIdentityModel(): ReturnModelType<typeof CoreEmailAuthIdentity> {\n\tif (!actualCoreEmailAuthIdentityModel)\n\t\tthrow new Error('CoreEmailAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreEmailAuthIdentityModel;\n}\n\nexport function getCorePhoneAuthIdentityModel(): ReturnModelType<typeof CorePhoneAuthIdentity> {\n\tif (!actualCorePhoneAuthIdentityModel)\n\t\tthrow new Error('CorePhoneAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCorePhoneAuthIdentityModel;\n}\n\nexport function getCoreGoogleAuthIdentityModel(): ReturnModelType<typeof CoreGoogleAuthIdentity> {\n\tif (!actualCoreGoogleAuthIdentityModel)\n\t\tthrow new Error('CoreGoogleAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreGoogleAuthIdentityModel;\n}\n\nexport function getCoreAppleAuthIdentityModel(): ReturnModelType<typeof CoreAppleAuthIdentity> {\n\tif (!actualCoreAppleAuthIdentityModel)\n\t\tthrow new Error('CoreAppleAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreAppleAuthIdentityModel;\n}\n\nexport function getCoreUserModel(): ReturnModelType<typeof CoreUser> {\n\tif (!actualCoreUserModel)\n\t\tthrow new Error('CoreUser model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreUserModel;\n}\n\nexport function getRoleModel(): ReturnModelType<typeof Role> {\n\tif (!actualRoleModel) throw new Error('Role model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualRoleModel;\n}\n\n// Function to initialize all global models (called from initGlobalConnection)\nexport function initializeGlobalModels(globalConnection: any) {\n\t// Initialize base global models\n\tactualCardModel = getModelForClass(Card, { existingConnection: globalConnection });\n\tactualCoreAuthIdentityModel = getModelForClass(CoreAuthIdentity, { existingConnection: globalConnection });\n\tactualCoreUserModel = getModelForClass(CoreUser, { existingConnection: globalConnection });\n\tactualRoleModel = getModelForClass(Role, { existingConnection: globalConnection });\n\n\t// Initialize discriminator models\n\tactualAreebaCardModel = getDiscriminatorModelForClass(actualCardModel, AreebaCard, CardType.AREEEBA, {\n\t\texistingConnection: globalConnection,\n\t});\n\n\tactualCoreEmailAuthIdentityModel = getDiscriminatorModelForClass(\n\t\tactualCoreAuthIdentityModel,\n\t\tCoreEmailAuthIdentity,\n\t\tCoreAuthIdentityType.EMAIL,\n\t\t{ existingConnection: globalConnection }\n\t);\n\n\tactualCorePhoneAuthIdentityModel = getDiscriminatorModelForClass(\n\t\tactualCoreAuthIdentityModel,\n\t\tCorePhoneAuthIdentity,\n\t\tCoreAuthIdentityType.PHONE,\n\t\t{ existingConnection: globalConnection }\n\t);\n\n\tactualCoreGoogleAuthIdentityModel = getDiscriminatorModelForClass(\n\t\tactualCoreAuthIdentityModel,\n\t\tCoreGoogleAuthIdentity,\n\t\tCoreAuthIdentityType.GOOGLE,\n\t\t{ existingConnection: globalConnection }\n\t);\n\n\tactualCoreAppleAuthIdentityModel = getDiscriminatorModelForClass(\n\t\tactualCoreAuthIdentityModel,\n\t\tCoreAppleAuthIdentity,\n\t\tCoreAuthIdentityType.APPLE,\n\t\t{ existingConnection: globalConnection }\n\t);\n\n\tinitializeRefreshTokenModel(globalConnection);\n\n\tconsole.log('✅ All global models initialized');\n}\n\nexport * from './card.model';\nexport * from './providers/areeba-card.model';\n\nexport const CartModel: ReturnModelType<typeof Cart> = getModelForClass(Cart);\nexport * from './cart.model';\n\nexport const CartParticipantModel: ReturnModelType<typeof CartParticipant> =\n\tgetModelForClass(CartParticipant);\nexport * from './cart-participant.model';\n\nexport const CategoryModel: ReturnModelType<typeof Category> = getModelForClass(Category);\nexport * from './category.model';\n\nexport * from './core-auth-identity.model';\nexport * from './providers/core-apple-auth-identity.model';\nexport * from './providers/core-email-auth-identity.model';\nexport * from './providers/core-google-auth-identity.model';\nexport * from './providers/core-phone-auth-identity.model';\nexport * from './core-user.model';\nexport * from './role.model';\n\nexport const CounterModel: ReturnModelType<typeof Counter> = getModelForClass(Counter);\nexport * from './counter.model';\n\nexport const CouponModel: ReturnModelType<typeof Coupon> = getModelForClass(Coupon);\nexport const BaseCouponModel: ReturnModelType<typeof BaseCoupon> = getModelForClass(BaseCoupon);\nexport const CustomCouponModel: ReturnModelType<typeof CustomCoupon> = getDiscriminatorModelForClass(\n\tCouponModel,\n\tCustomCoupon,\n\tCouponType.CUSTOM_COUPON\n);\nexport const GlobalCouponModel: ReturnModelType<typeof GlobalCoupon> = getDiscriminatorModelForClass(\n\tCouponModel,\n\tGlobalCoupon,\n\tCouponType.GLOBAL\n);\nexport const ShopsCategoriesCouponModel: ReturnModelType<typeof ShopsCategoriesCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, ShopsCategoriesCoupon, CouponType.SHOPS_CATEGORIES);\nexport const IndividualStoreCouponModel: ReturnModelType<typeof IndividualStoreCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, IndividualStoreCoupon, CouponType.INDIVIDUAL_STORE);\nexport const IndividualUserCouponModel: ReturnModelType<typeof IndividualUserCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, IndividualUserCoupon, CouponType.INDIVIDUAL_USER);\nexport const ReferralCodeCouponModel: ReturnModelType<typeof ReferralCodeCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, ReferralCodeCoupon, CouponType.REFERRAL_CODE);\nexport const ReferralRewardCouponModel: ReturnModelType<typeof ReferralRewardCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, ReferralRewardCoupon, CouponType.REFERRAL_REWARD);\nexport * from './coupon.model';\nexport * from './base/base-coupon.model';\nexport * from './providers/custom-coupon.model';\nexport * from './providers/global-coupon.model';\nexport * from './providers/shops-categories-coupon.model';\nexport * from './providers/individual-store-coupon.model';\nexport * from './providers/individual-user-coupon.model';\nexport * from './providers/referral-code-coupon.model';\nexport * from './providers/referral-reward-coupon.model';\n\nexport const DealSettingModel: ReturnModelType<typeof DealSetting> = getModelForClass(DealSetting);\nexport * from './deal-setting.model';\n\nexport const DishModel: ReturnModelType<typeof Dish> = getModelForClass(Dish);\nexport * from './dish.model';\n\nexport const FaqModel: ReturnModelType<typeof Faq> = getModelForClass(Faq);\nexport * from './faq.model';\n\nexport const FavouriteModel: ReturnModelType<typeof Favourite> = getModelForClass(Favourite);\nexport * from './favourite.model';\n\nexport const FeaturedSettingModel: ReturnModelType<typeof FeaturedSetting> =\n\tgetModelForClass(FeaturedSetting);\nexport * from './featured-setting.model';\n\nexport const FilterContainerModel: ReturnModelType<typeof FilterContainer> =\n\tgetModelForClass(FilterContainer);\nexport * from './filter-container.model';\n\nexport const FinanceSettlementModel: ReturnModelType<typeof FinanceSettlement> =\n\tgetModelForClass(FinanceSettlement);\nexport * from './finance-settlement.model';\n\nexport const FlagModel: ReturnModelType<typeof Flag> = getModelForClass(Flag);\nexport * from './flag.model';\n\nexport const GalleryModel: ReturnModelType<typeof Gallery> = getModelForClass(Gallery);\nexport * from './gallery.model';\n\nexport const GalleryUploadModel: ReturnModelType<typeof GalleryUpload> = getModelForClass(GalleryUpload);\nexport * from './gallery-upload.model';\n\nexport const LineItemModel: ReturnModelType<typeof LineItem> = getModelForClass(LineItem);\nexport * from './line-item.model';\n\nexport const ListContainerModel: ReturnModelType<typeof ListContainer> = getModelForClass(ListContainer);\nexport * from './list-container.model';\n\nexport const MarketingModel: ReturnModelType<typeof Marketing> = getModelForClass(Marketing);\nexport const Buy1Get1MarketingModel: ReturnModelType<typeof Buy1Get1Marketing> =\n\tgetDiscriminatorModelForClass(MarketingModel, Buy1Get1Marketing, MarketingType.BUY1GET1);\nexport const DiscountMarketingModel: ReturnModelType<typeof DiscountMarketing> =\n\tgetDiscriminatorModelForClass(MarketingModel, DiscountMarketing, MarketingType.DISCOUNT);\nexport const FeaturedMarketingModel: ReturnModelType<typeof FeaturedMarketing> =\n\tgetDiscriminatorModelForClass(MarketingModel, FeaturedMarketing, MarketingType.FEATURED);\nexport const FreeDeliveryMarketingModel: ReturnModelType<typeof FreeDeliveryMarketing> =\n\tgetDiscriminatorModelForClass(MarketingModel, FreeDeliveryMarketing, MarketingType.FREE_DELIVERY);\nexport const PunchMarketingModel: ReturnModelType<typeof PunchMarketing> = getDiscriminatorModelForClass(\n\tMarketingModel,\n\tPunchMarketing,\n\tMarketingType.PUNCH_MARKETING\n);\nexport * from './marketing.model';\nexport * from './providers/buy1-get1-marketing.model';\nexport * from './providers/discount-marketing.model';\nexport * from './providers/featured-marketing.model';\nexport * from './providers/free-delivery-marketing.model';\nexport * from './providers/punch-marketing.model';\n\nexport const MealPlanModel: ReturnModelType<typeof MealPlan> = getModelForClass(MealPlan);\nexport * from './meal-plan.model';\n\nexport const NotificationModel: ReturnModelType<typeof Notification> = getModelForClass(Notification);\nexport * from './notification.model';\n\nexport const NutritionModel: ReturnModelType<typeof Nutrition> = getModelForClass(Nutrition);\nexport * from './nutrition.model';\n\nexport const OrderModel: ReturnModelType<typeof Order> = getModelForClass(Order);\nexport const RegularOrderModel: ReturnModelType<typeof RegularOrder> = getDiscriminatorModelForClass(\n\tOrderModel,\n\tRegularOrder,\n\tOrderType.REGULAR\n);\nexport const CourierOrderModel: ReturnModelType<typeof CourierOrder> = getDiscriminatorModelForClass(\n\tOrderModel,\n\tCourierOrder,\n\tOrderType.COURIER\n);\n\nexport const ShopCourierOrderModel: ReturnModelType<typeof ShopCourierOrder> = getDiscriminatorModelForClass(\n\tOrderModel,\n\tShopCourierOrder,\n\tOrderType.SHOP_COURIER\n);\n\nexport * from './order.model';\nexport * from './providers/regular-order.model';\nexport * from './providers/courier-order.model';\nexport * from './providers/shop-courier.model';\n\nexport const ParentModel: ReturnModelType<typeof Parent> = getModelForClass(Parent);\nexport * from './parent.model';\n\nexport const PayoutModel: ReturnModelType<typeof Payout> = getModelForClass(Payout);\nexport const ShopPayoutModel: ReturnModelType<typeof ShopPayout> = getDiscriminatorModelForClass(\n\tPayoutModel,\n\tShopPayout,\n\tPayoutType.SHOP\n);\nexport const RiderPayoutModel: ReturnModelType<typeof RiderPayout> = getDiscriminatorModelForClass(\n\tPayoutModel,\n\tRiderPayout,\n\tPayoutType.RIDER\n);\nexport * from './payout.model';\nexport * from './providers/shop-payout.model';\nexport * from './providers/rider-payout.model';\n\nexport const ProductMarketingModel: ReturnModelType<typeof ProductMarketing> =\n\tgetModelForClass(ProductMarketing);\nexport * from './product-marketing.model';\n\nexport const ProductModel: ReturnModelType<typeof Product> = getModelForClass(Product);\nexport * from './product.model';\nProductModel.schema.pre('insertMany', async function (next, docs: Product[]) {\n\t// Generate all IDs at once (ATOMIC)\n\tawait assignIdsToDocuments(CounterModel, CounterType.ITEM, docs, 'productId');\n\tnext();\n});\n\nexport const ProductUploadModel: ReturnModelType<typeof ProductUpload> = getModelForClass(ProductUpload);\nexport * from './product-upload.model';\n\nexport const PunchMarketingHistoryModel: ReturnModelType<typeof PunchMarketingHistory> =\n\tgetModelForClass(PunchMarketingHistory);\nexport * from './punch-marketing-history.model';\n\nexport const RatingSettingModel: ReturnModelType<typeof RatingSetting> = getModelForClass(RatingSetting);\nexport * from './rating-setting.model';\n\nexport const ReferralSettingModel: ReturnModelType<typeof ReferralSetting> =\n\tgetModelForClass(ReferralSetting);\nexport * from './referral-setting.model';\n\nexport const RequestAreaModel: ReturnModelType<typeof RequestArea> = getModelForClass(RequestArea);\nexport * from './request-area.model';\n\nexport const ReviewModel: ReturnModelType<typeof Review> = getModelForClass(Review);\nexport const ShopReviewModel: ReturnModelType<typeof ShopReview> = getDiscriminatorModelForClass(\n\tReviewModel,\n\tShopReview,\n\tReviewType.SHOP\n);\nexport const RiderReviewModel: ReturnModelType<typeof RiderReview> = getDiscriminatorModelForClass(\n\tReviewModel,\n\tRiderReview,\n\tReviewType.RIDER\n);\nexport const ProfessionalReviewModel: ReturnModelType<typeof ProfessionalReview> =\n\tgetDiscriminatorModelForClass(ReviewModel, ProfessionalReview, ReviewType.PROFESSIONAL);\nexport * from './review.model';\nexport * from './providers/shop-review.model';\nexport * from './providers/rider-review.model';\nexport * from './providers/professional-review.model';\n\nexport const RiderTimeoutModel: ReturnModelType<typeof RiderTimeout> = getModelForClass(RiderTimeout);\nexport * from './rider-timeout.model';\n\nexport const RiderTrackingModel: ReturnModelType<typeof RiderTracking> = getModelForClass(RiderTracking);\nexport * from './rider-tracking.model';\n\nexport const RiderModel: ReturnModelType<typeof Rider> = getModelForClass(Rider);\nexport * from './rider.model';\n\nexport const SettingModel: ReturnModelType<typeof Setting> = getModelForClass(Setting);\nexport * from './setting.model';\n\nexport const ShopAccessControlModel: ReturnModelType<typeof ShopAccessControl> =\n\tgetModelForClass(ShopAccessControl);\nexport * from './shop-access-control.model';\n\nexport const ShopCategoryModel: ReturnModelType<typeof ShopCategory> = getModelForClass(ShopCategory);\nexport * from './shop-category.model';\n\nexport const ShopMealPlanModel: ReturnModelType<typeof ShopMealPlan> = getModelForClass(ShopMealPlan);\nexport * from './shop-meal-plan.model';\n\nexport const ShopModel: ReturnModelType<typeof Shop> = getModelForClass(Shop);\nexport * from './shop.model';\n\nexport const SubscriptionSettingModel: ReturnModelType<typeof SubscriptionSetting> =\n\tgetModelForClass(SubscriptionSetting);\nexport * from './subscription-setting.model';\n\nexport const SubscriptionModel: ReturnModelType<typeof Subscription> = getModelForClass(Subscription);\nexport * from './subscription.model';\n\nexport const TagModel: ReturnModelType<typeof Tag> = getModelForClass(Tag);\nexport * from './tag.model';\n\nexport const UserModel: ReturnModelType<typeof User> = getModelForClass(User);\nexport * from './user.model';\n\nexport const ZoneModel: ReturnModelType<typeof Zone> = getModelForClass(Zone);\nexport * from './zone.model';\n\nexport const DefaultChatModel: ReturnModelType<typeof DefaultChat> = getModelForClass(DefaultChat);\nexport * from './default-chat.model';\n\nexport const TermsAndConditionsModel: ReturnModelType<typeof TermsAndConditions> =\n\tgetModelForClass(TermsAndConditions);\nexport * from './terms-and-conditions.model';\n\nexport const SupportReasonModel: ReturnModelType<typeof SupportReason> = getModelForClass(SupportReason);\nexport * from './support-reason.model';\n\nexport const CancellationReasonModel: ReturnModelType<typeof CancellationReason> =\n\tgetModelForClass(CancellationReason);\nexport * from './cancellation-reason.model';\n\nexport * from './embedded/trip-leg.mode';\nexport * from './embedded/rider-assignment-model';\n\nexport const RewardModel: ReturnModelType<typeof Reward> = getModelForClass(Reward);\nexport * from './reward.model';\n\nexport const TicketModel: ReturnModelType<typeof Ticket> = getModelForClass(Ticket);\nexport * from './ticket.model';\n\nexport const MessageModel: ReturnModelType<typeof Message> = getModelForClass(Message);\nexport * from './message.model';\n\nexport const AgentPerformanceModel: ReturnModelType<typeof AgentPerformance> =\n\tgetModelForClass(AgentPerformance);\nexport * from './agent-performance.model';\n\nexport const ChatroomModel: ReturnModelType<typeof Chatroom> = getModelForClass(Chatroom);\nexport * from './chat-room.model';\n\nexport * from './embedded/chat-participant.model';\n\nexport const ServiceModel: ReturnModelType<typeof Service> = getModelForClass(Service);\nexport * from './service.model';\n\nexport const VendorParentModel: ReturnModelType<typeof VendorParent> = getModelForClass(VendorParent);\nexport * from './vendor-parent.model';\n\nexport const VendorModel: ReturnModelType<typeof Vendor> = getModelForClass(Vendor);\nexport * from './vendor.model';\n\nexport const VendorAccessControlModel: ReturnModelType<typeof VendorAccessControl> =\n\tgetModelForClass(VendorAccessControl);\nexport * from './vendor-access-control.model';\n\nexport const ServiceCategoryModel: ReturnModelType<typeof ServiceCategory> =\n\tgetModelForClass(ServiceCategory);\nexport * from './service-category.model';\n\nexport const AddOnModel: ReturnModelType<typeof AddOn> = getModelForClass(AddOn);\nexport * from './addon.model';\n\nexport const ServicePackageModel: ReturnModelType<typeof ServicePackage> = getModelForClass(ServicePackage);\nexport * from './service-package.model';\n\nexport const ProfessionalModel: ReturnModelType<typeof Professional> = getModelForClass(Professional);\nexport * from './professional.model';\n\nexport const ServiceCartModel: ReturnModelType<typeof ServiceCart> = getModelForClass(ServiceCart);\nexport * from './service-cart.model';\n\nexport const ServiceLineItemModel: ReturnModelType<typeof ServiceLineItem> =\n\tgetModelForClass(ServiceLineItem);\nexport * from './service-line-item.model';\n\nexport const ServiceOrderModel: ReturnModelType<typeof ServiceOrder> = getModelForClass(ServiceOrder);\nexport * from './service-order.model';\n\nexport const ProfessionalScheduleModel: ReturnModelType<typeof ProfessionalSchedule> =\n\tgetModelForClass(ProfessionalSchedule);\nexport * from './professional-schedule';\n\nexport const BlockedTimeModel: ReturnModelType<typeof BlockedTime> = getModelForClass(BlockedTime);\nexport * from './blocked-time.model';\n\nexport const TicketActionModel: ReturnModelType<typeof TicketAction> = getModelForClass(TicketAction);\nexport * from './ticket-action.model';\n\nexport const ServicePromotionModel: ReturnModelType<typeof ServicePromotion> =\n\tgetModelForClass(ServicePromotion);\nexport * from './service-promotion.model';\n\nexport const ZoneExtraTimeModel: ReturnModelType<typeof ZoneExtraTime> = getModelForClass(ZoneExtraTime);\nexport * from './zone-extra-time';\n\nexport * from './google-maps-usage.model';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/models/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { ServiceLineItem } from './service-line-item.model';\nimport { RiderPayout } from './providers/rider-payout.model';\nimport { ShopPayout } from './providers/shop-payout.model';\nimport { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\nimport { Admin } from './admin.model';\nimport { AdminAccessControl } from './admin-access-control.model';\nimport { ActivityLog } from './activity-log.model';\nimport { UserAppSectionSetting } from './user-app-section-setting.model';\nimport { Attribute } from './attribute.model';\nimport { Banner } from './banner.model';\nimport { BaseCoupon } from './base/base-coupon.model';\nimport { BOBFinance } from './bob-finance.model';\nimport { Brand } from './brand.model';\nimport { Category } from './category.model';\nimport { Counter } from './counter.model';\nimport { Coupon } from './coupon.model';\nimport { DealSetting } from './deal-setting.model';\nimport { Dish } from './dish.model';\nimport { Faq } from './faq.model';\nimport { Favourite } from './favourite.model';\nimport { FeaturedSetting } from './featured-setting.model';\nimport { FilterContainer } from './filter-container.model';\nimport { ListContainer } from './list-container.model';\nimport { Marketing } from './marketing.model';\nimport { MealPlan } from './meal-plan.model';\nimport { Nutrition } from './nutrition.model';\nimport { Parent } from './parent.model';\nimport { ProductMarketing } from './product-marketing.model';\nimport { Product } from './product.model';\nimport { PunchMarketingHistory } from './punch-marketing-history.model';\nimport { RatingSetting } from './rating-setting.model';\nimport { ReferralSetting } from './referral-setting.model';\nimport { RequestArea } from './request-area.model';\nimport { Role } from './role.model';\nimport { Setting } from './setting.model';\nimport { ShopAccessControl } from './shop-access-control.model';\nimport { ShopCategory } from './shop-category.model';\nimport { ShopMealPlan } from './shop-meal-plan.model';\nimport { Shop } from './shop.model';\nimport { SubscriptionSetting } from './subscription-setting.model';\nimport { Subscription } from './subscription.model';\nimport { Tag } from './tag.model';\nimport { Zone } from './zone.model';\nimport { Buy1Get1Marketing } from './providers/buy1-get1-marketing.model';\nimport {\n\tCardType,\n\tCoreAuthIdentityType,\n\tCounterType,\n\tCouponType,\n\tMarketingType,\n\tOrderType,\n\tPayoutType,\n\tReviewType,\n} from '../../../utilities/enum';\nimport { AddOn } from './addon.model';\nimport { CustomCoupon } from './providers/custom-coupon.model';\nimport { DiscountMarketing } from './providers/discount-marketing.model';\nimport { FeaturedMarketing } from './providers/featured-marketing.model';\nimport { FreeDeliveryMarketing } from './providers/free-delivery-marketing.model';\nimport { GlobalCoupon } from './providers/global-coupon.model';\nimport { IndividualStoreCoupon } from './providers/individual-store-coupon.model';\nimport { IndividualUserCoupon } from './providers/individual-user-coupon.model';\nimport { PunchMarketing } from './providers/punch-marketing.model';\nimport { ReferralCodeCoupon } from './providers/referral-code-coupon.model';\nimport { ReferralRewardCoupon } from './providers/referral-reward-coupon.model';\nimport { Notification } from './notification.model';\nimport { CoreAuthIdentity } from './core-auth-identity.model';\nimport { CoreEmailAuthIdentity } from './providers/core-email-auth-identity.model';\nimport { CorePhoneAuthIdentity } from './providers/core-phone-auth-identity.model';\nimport { CoreGoogleAuthIdentity } from './providers/core-google-auth-identity.model';\nimport { CoreAppleAuthIdentity } from './providers/core-apple-auth-identity.model';\nimport { CoreUser } from './core-user.model';\nimport { Card } from './card.model';\nimport { AreebaCard } from './providers/areeba-card.model';\nimport { RiderTracking } from './rider-tracking.model';\nimport { Rider } from './rider.model';\nimport { RiderTimeout } from './rider-timeout.model';\nimport { User } from './user.model';\nimport { Cart } from './cart.model';\nimport { LineItem } from './line-item.model';\nimport { CartParticipant } from './cart-participant.model';\nimport { Gallery } from './gallery.model';\nimport { Order } from './order.model';\nimport { RegularOrder } from './providers/regular-order.model';\nimport { CourierOrder } from './providers/courier-order.model';\nimport { FinanceSettlement } from './finance-settlement.model';\nimport { DefaultChat } from './default-chat.model';\nimport { TermsAndConditions } from './terms-and-conditions.model';\nimport { SupportReason } from './support-reason.model';\nimport { CancellationReason } from './cancellation-reason.model';\nimport { Payout } from './payout.model';\nimport { Reward } from './reward.model';\nimport { Ticket } from './ticket.model';\nimport { Message } from './message.model';\nimport { AgentPerformance } from './agent-performance.model';\nimport { Chatroom } from './chat-room.model';\nimport { initializeRefreshTokenModel } from '../../auth';\nimport { VendorParent } from './vendor-parent.model';\nimport { Vendor } from './vendor.model';\nimport { VendorAccessControl } from './vendor-access-control.model';\nimport { ServiceCategory } from './service-category.model';\nimport { ServicePackage } from './service-package.model';\nimport { Professional } from './professional.model';\nimport { ServiceOrder } from './service-order.model';\nimport { ProfessionalSchedule } from './professional-schedule';\nimport { Service } from './service.model';\nimport { TicketAction } from './ticket-action.model';\nimport { ServiceCart } from './service-cart.model';\nimport { ShopCourierOrder } from './providers/shop-courier.model';\nimport { ServicePromotion } from './service-promotion.model';\nimport { Flag } from './flag.model';\nimport { Review } from './review.model';\nimport { ShopReview } from './providers/shop-review.model';\nimport { RiderReview } from './providers/rider-review.model';\nimport { ServiceOrderReview } from './providers/service-order-review.model';\nimport { assignIdsToDocuments } from '../../../utilities/id-generator';\nimport { GalleryUpload } from './gallery-upload.model';\nimport { ProductUpload } from './product-upload.model';\nimport { ShopsCategoriesCoupon } from './providers/shops-categories-coupon.model';\nimport { BlockedTime } from './blocked-time.model';\nimport { ZoneExtraTime } from './zone-extra-time';\n\n// Regular models (using standard getModelForClass)\nexport const ActivityLogModel: ReturnModelType<typeof ActivityLog> = getModelForClass(ActivityLog);\nexport * from './activity-log.model';\n\nexport const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl> =\n\tgetModelForClass(AdminAccessControl);\nexport * from './admin-access-control.model';\n\nexport const AdminModel: ReturnModelType<typeof Admin> = getModelForClass(Admin);\nexport * from './admin.model';\n\nexport const UserAppSectionSettingModel: ReturnModelType<typeof UserAppSectionSetting> =\n\tgetModelForClass(UserAppSectionSetting);\nexport * from './user-app-section-setting.model';\n\nexport const AttributeModel: ReturnModelType<typeof Attribute> = getModelForClass(Attribute);\nexport * from './attribute.model';\n\nexport const BannerModel: ReturnModelType<typeof Banner> = getModelForClass(Banner);\nexport * from './banner.model';\n\nexport const BOBFinanceModel: ReturnModelType<typeof BOBFinance> = getModelForClass(BOBFinance);\nexport * from './bob-finance.model';\n\nexport const BrandModel: ReturnModelType<typeof Brand> = getModelForClass(Brand);\nexport * from './brand.model';\n\n// Global models - will be set after initGlobalConnection()\nlet actualCardModel: ReturnModelType<typeof Card> | null = null;\nlet actualCoreAuthIdentityModel: ReturnModelType<typeof CoreAuthIdentity> | null = null;\nlet actualCoreUserModel: ReturnModelType<typeof CoreUser> | null = null;\nlet actualRoleModel: ReturnModelType<typeof Role> | null = null;\n\n// Global discriminator models - will be set after initGlobalConnection()\nlet actualAreebaCardModel: ReturnModelType<typeof AreebaCard> | null = null;\nlet actualCoreEmailAuthIdentityModel: ReturnModelType<typeof CoreEmailAuthIdentity> | null = null;\nlet actualCorePhoneAuthIdentityModel: ReturnModelType<typeof CorePhoneAuthIdentity> | null = null;\nlet actualCoreGoogleAuthIdentityModel: ReturnModelType<typeof CoreGoogleAuthIdentity> | null = null;\nlet actualCoreAppleAuthIdentityModel: ReturnModelType<typeof CoreAppleAuthIdentity> | null = null;\n\n// Export getter functions for global models\nexport function getCardModel(): ReturnModelType<typeof Card> {\n\tif (!actualCardModel) throw new Error('Card model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCardModel;\n}\n\nexport function getAreebaCardModel(): ReturnModelType<typeof AreebaCard> {\n\tif (!actualAreebaCardModel)\n\t\tthrow new Error('AreebaCard model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualAreebaCardModel;\n}\n\nexport function getCoreAuthIdentityModel(): ReturnModelType<typeof CoreAuthIdentity> {\n\tif (!actualCoreAuthIdentityModel)\n\t\tthrow new Error('CoreAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreAuthIdentityModel;\n}\n\nexport function getCoreEmailAuthIdentityModel(): ReturnModelType<typeof CoreEmailAuthIdentity> {\n\tif (!actualCoreEmailAuthIdentityModel)\n\t\tthrow new Error('CoreEmailAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreEmailAuthIdentityModel;\n}\n\nexport function getCorePhoneAuthIdentityModel(): ReturnModelType<typeof CorePhoneAuthIdentity> {\n\tif (!actualCorePhoneAuthIdentityModel)\n\t\tthrow new Error('CorePhoneAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCorePhoneAuthIdentityModel;\n}\n\nexport function getCoreGoogleAuthIdentityModel(): ReturnModelType<typeof CoreGoogleAuthIdentity> {\n\tif (!actualCoreGoogleAuthIdentityModel)\n\t\tthrow new Error('CoreGoogleAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreGoogleAuthIdentityModel;\n}\n\nexport function getCoreAppleAuthIdentityModel(): ReturnModelType<typeof CoreAppleAuthIdentity> {\n\tif (!actualCoreAppleAuthIdentityModel)\n\t\tthrow new Error('CoreAppleAuthIdentity model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreAppleAuthIdentityModel;\n}\n\nexport function getCoreUserModel(): ReturnModelType<typeof CoreUser> {\n\tif (!actualCoreUserModel)\n\t\tthrow new Error('CoreUser model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualCoreUserModel;\n}\n\nexport function getRoleModel(): ReturnModelType<typeof Role> {\n\tif (!actualRoleModel) throw new Error('Role model not initialized yet. Call initGlobalConnection() first.');\n\treturn actualRoleModel;\n}\n\n// Function to initialize all global models (called from initGlobalConnection)\nexport function initializeGlobalModels(globalConnection: any) {\n\t// Initialize base global models\n\tactualCardModel = getModelForClass(Card, { existingConnection: globalConnection });\n\tactualCoreAuthIdentityModel = getModelForClass(CoreAuthIdentity, { existingConnection: globalConnection });\n\tactualCoreUserModel = getModelForClass(CoreUser, { existingConnection: globalConnection });\n\tactualRoleModel = getModelForClass(Role, { existingConnection: globalConnection });\n\n\t// Initialize discriminator models\n\tactualAreebaCardModel = getDiscriminatorModelForClass(actualCardModel, AreebaCard, CardType.AREEEBA, {\n\t\texistingConnection: globalConnection,\n\t});\n\n\tactualCoreEmailAuthIdentityModel = getDiscriminatorModelForClass(\n\t\tactualCoreAuthIdentityModel,\n\t\tCoreEmailAuthIdentity,\n\t\tCoreAuthIdentityType.EMAIL,\n\t\t{ existingConnection: globalConnection }\n\t);\n\n\tactualCorePhoneAuthIdentityModel = getDiscriminatorModelForClass(\n\t\tactualCoreAuthIdentityModel,\n\t\tCorePhoneAuthIdentity,\n\t\tCoreAuthIdentityType.PHONE,\n\t\t{ existingConnection: globalConnection }\n\t);\n\n\tactualCoreGoogleAuthIdentityModel = getDiscriminatorModelForClass(\n\t\tactualCoreAuthIdentityModel,\n\t\tCoreGoogleAuthIdentity,\n\t\tCoreAuthIdentityType.GOOGLE,\n\t\t{ existingConnection: globalConnection }\n\t);\n\n\tactualCoreAppleAuthIdentityModel = getDiscriminatorModelForClass(\n\t\tactualCoreAuthIdentityModel,\n\t\tCoreAppleAuthIdentity,\n\t\tCoreAuthIdentityType.APPLE,\n\t\t{ existingConnection: globalConnection }\n\t);\n\n\tinitializeRefreshTokenModel(globalConnection);\n\n\tconsole.log('✅ All global models initialized');\n}\n\nexport * from './card.model';\nexport * from './providers/areeba-card.model';\n\nexport const CartModel: ReturnModelType<typeof Cart> = getModelForClass(Cart);\nexport * from './cart.model';\n\nexport const CartParticipantModel: ReturnModelType<typeof CartParticipant> =\n\tgetModelForClass(CartParticipant);\nexport * from './cart-participant.model';\n\nexport const CategoryModel: ReturnModelType<typeof Category> = getModelForClass(Category);\nexport * from './category.model';\n\nexport * from './core-auth-identity.model';\nexport * from './providers/core-apple-auth-identity.model';\nexport * from './providers/core-email-auth-identity.model';\nexport * from './providers/core-google-auth-identity.model';\nexport * from './providers/core-phone-auth-identity.model';\nexport * from './core-user.model';\nexport * from './role.model';\n\nexport const CounterModel: ReturnModelType<typeof Counter> = getModelForClass(Counter);\nexport * from './counter.model';\n\nexport const CouponModel: ReturnModelType<typeof Coupon> = getModelForClass(Coupon);\nexport const BaseCouponModel: ReturnModelType<typeof BaseCoupon> = getModelForClass(BaseCoupon);\nexport const CustomCouponModel: ReturnModelType<typeof CustomCoupon> = getDiscriminatorModelForClass(\n\tCouponModel,\n\tCustomCoupon,\n\tCouponType.CUSTOM_COUPON\n);\nexport const GlobalCouponModel: ReturnModelType<typeof GlobalCoupon> = getDiscriminatorModelForClass(\n\tCouponModel,\n\tGlobalCoupon,\n\tCouponType.GLOBAL\n);\nexport const ShopsCategoriesCouponModel: ReturnModelType<typeof ShopsCategoriesCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, ShopsCategoriesCoupon, CouponType.SHOPS_CATEGORIES);\nexport const IndividualStoreCouponModel: ReturnModelType<typeof IndividualStoreCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, IndividualStoreCoupon, CouponType.INDIVIDUAL_STORE);\nexport const IndividualUserCouponModel: ReturnModelType<typeof IndividualUserCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, IndividualUserCoupon, CouponType.INDIVIDUAL_USER);\nexport const ReferralCodeCouponModel: ReturnModelType<typeof ReferralCodeCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, ReferralCodeCoupon, CouponType.REFERRAL_CODE);\nexport const ReferralRewardCouponModel: ReturnModelType<typeof ReferralRewardCoupon> =\n\tgetDiscriminatorModelForClass(CouponModel, ReferralRewardCoupon, CouponType.REFERRAL_REWARD);\nexport * from './coupon.model';\nexport * from './base/base-coupon.model';\nexport * from './providers/custom-coupon.model';\nexport * from './providers/global-coupon.model';\nexport * from './providers/shops-categories-coupon.model';\nexport * from './providers/individual-store-coupon.model';\nexport * from './providers/individual-user-coupon.model';\nexport * from './providers/referral-code-coupon.model';\nexport * from './providers/referral-reward-coupon.model';\n\nexport const DealSettingModel: ReturnModelType<typeof DealSetting> = getModelForClass(DealSetting);\nexport * from './deal-setting.model';\n\nexport const DishModel: ReturnModelType<typeof Dish> = getModelForClass(Dish);\nexport * from './dish.model';\n\nexport const FaqModel: ReturnModelType<typeof Faq> = getModelForClass(Faq);\nexport * from './faq.model';\n\nexport const FavouriteModel: ReturnModelType<typeof Favourite> = getModelForClass(Favourite);\nexport * from './favourite.model';\n\nexport const FeaturedSettingModel: ReturnModelType<typeof FeaturedSetting> =\n\tgetModelForClass(FeaturedSetting);\nexport * from './featured-setting.model';\n\nexport const FilterContainerModel: ReturnModelType<typeof FilterContainer> =\n\tgetModelForClass(FilterContainer);\nexport * from './filter-container.model';\n\nexport const FinanceSettlementModel: ReturnModelType<typeof FinanceSettlement> =\n\tgetModelForClass(FinanceSettlement);\nexport * from './finance-settlement.model';\n\nexport const FlagModel: ReturnModelType<typeof Flag> = getModelForClass(Flag);\nexport * from './flag.model';\n\nexport const GalleryModel: ReturnModelType<typeof Gallery> = getModelForClass(Gallery);\nexport * from './gallery.model';\n\nexport const GalleryUploadModel: ReturnModelType<typeof GalleryUpload> = getModelForClass(GalleryUpload);\nexport * from './gallery-upload.model';\n\nexport const LineItemModel: ReturnModelType<typeof LineItem> = getModelForClass(LineItem);\nexport * from './line-item.model';\n\nexport const ListContainerModel: ReturnModelType<typeof ListContainer> = getModelForClass(ListContainer);\nexport * from './list-container.model';\n\nexport const MarketingModel: ReturnModelType<typeof Marketing> = getModelForClass(Marketing);\nexport const Buy1Get1MarketingModel: ReturnModelType<typeof Buy1Get1Marketing> =\n\tgetDiscriminatorModelForClass(MarketingModel, Buy1Get1Marketing, MarketingType.BUY1GET1);\nexport const DiscountMarketingModel: ReturnModelType<typeof DiscountMarketing> =\n\tgetDiscriminatorModelForClass(MarketingModel, DiscountMarketing, MarketingType.DISCOUNT);\nexport const FeaturedMarketingModel: ReturnModelType<typeof FeaturedMarketing> =\n\tgetDiscriminatorModelForClass(MarketingModel, FeaturedMarketing, MarketingType.FEATURED);\nexport const FreeDeliveryMarketingModel: ReturnModelType<typeof FreeDeliveryMarketing> =\n\tgetDiscriminatorModelForClass(MarketingModel, FreeDeliveryMarketing, MarketingType.FREE_DELIVERY);\nexport const PunchMarketingModel: ReturnModelType<typeof PunchMarketing> = getDiscriminatorModelForClass(\n\tMarketingModel,\n\tPunchMarketing,\n\tMarketingType.PUNCH_MARKETING\n);\nexport * from './marketing.model';\nexport * from './providers/buy1-get1-marketing.model';\nexport * from './providers/discount-marketing.model';\nexport * from './providers/featured-marketing.model';\nexport * from './providers/free-delivery-marketing.model';\nexport * from './providers/punch-marketing.model';\n\nexport const MealPlanModel: ReturnModelType<typeof MealPlan> = getModelForClass(MealPlan);\nexport * from './meal-plan.model';\n\nexport const NotificationModel: ReturnModelType<typeof Notification> = getModelForClass(Notification);\nexport * from './notification.model';\n\nexport const NutritionModel: ReturnModelType<typeof Nutrition> = getModelForClass(Nutrition);\nexport * from './nutrition.model';\n\nexport const OrderModel: ReturnModelType<typeof Order> = getModelForClass(Order);\nexport const RegularOrderModel: ReturnModelType<typeof RegularOrder> = getDiscriminatorModelForClass(\n\tOrderModel,\n\tRegularOrder,\n\tOrderType.REGULAR\n);\nexport const CourierOrderModel: ReturnModelType<typeof CourierOrder> = getDiscriminatorModelForClass(\n\tOrderModel,\n\tCourierOrder,\n\tOrderType.COURIER\n);\n\nexport const ShopCourierOrderModel: ReturnModelType<typeof ShopCourierOrder> = getDiscriminatorModelForClass(\n\tOrderModel,\n\tShopCourierOrder,\n\tOrderType.SHOP_COURIER\n);\n\nexport * from './order.model';\nexport * from './providers/regular-order.model';\nexport * from './providers/courier-order.model';\nexport * from './providers/shop-courier.model';\n\nexport const ParentModel: ReturnModelType<typeof Parent> = getModelForClass(Parent);\nexport * from './parent.model';\n\nexport const PayoutModel: ReturnModelType<typeof Payout> = getModelForClass(Payout);\nexport const ShopPayoutModel: ReturnModelType<typeof ShopPayout> = getDiscriminatorModelForClass(\n\tPayoutModel,\n\tShopPayout,\n\tPayoutType.SHOP\n);\nexport const RiderPayoutModel: ReturnModelType<typeof RiderPayout> = getDiscriminatorModelForClass(\n\tPayoutModel,\n\tRiderPayout,\n\tPayoutType.RIDER\n);\nexport * from './payout.model';\nexport * from './providers/shop-payout.model';\nexport * from './providers/rider-payout.model';\n\nexport const ProductMarketingModel: ReturnModelType<typeof ProductMarketing> =\n\tgetModelForClass(ProductMarketing);\nexport * from './product-marketing.model';\n\nexport const ProductModel: ReturnModelType<typeof Product> = getModelForClass(Product);\nexport * from './product.model';\nProductModel.schema.pre('insertMany', async function (next, docs: Product[]) {\n\t// Generate all IDs at once (ATOMIC)\n\tawait assignIdsToDocuments(CounterModel, CounterType.ITEM, docs, 'productId');\n\tnext();\n});\n\nexport const ProductUploadModel: ReturnModelType<typeof ProductUpload> = getModelForClass(ProductUpload);\nexport * from './product-upload.model';\n\nexport const PunchMarketingHistoryModel: ReturnModelType<typeof PunchMarketingHistory> =\n\tgetModelForClass(PunchMarketingHistory);\nexport * from './punch-marketing-history.model';\n\nexport const RatingSettingModel: ReturnModelType<typeof RatingSetting> = getModelForClass(RatingSetting);\nexport * from './rating-setting.model';\n\nexport const ReferralSettingModel: ReturnModelType<typeof ReferralSetting> =\n\tgetModelForClass(ReferralSetting);\nexport * from './referral-setting.model';\n\nexport const RequestAreaModel: ReturnModelType<typeof RequestArea> = getModelForClass(RequestArea);\nexport * from './request-area.model';\n\nexport const ReviewModel: ReturnModelType<typeof Review> = getModelForClass(Review);\nexport const ShopReviewModel: ReturnModelType<typeof ShopReview> = getDiscriminatorModelForClass(\n\tReviewModel,\n\tShopReview,\n\tReviewType.SHOP\n);\nexport const RiderReviewModel: ReturnModelType<typeof RiderReview> = getDiscriminatorModelForClass(\n\tReviewModel,\n\tRiderReview,\n\tReviewType.RIDER\n);\nexport const ServiceOrderReviewModel: ReturnModelType<typeof ServiceOrderReview> =\n\tgetDiscriminatorModelForClass(ReviewModel, ServiceOrderReview, ReviewType.SERVICE_ORDER);\nexport * from './review.model';\nexport * from './providers/shop-review.model';\nexport * from './providers/rider-review.model';\nexport * from './providers/service-order-review.model';\n\nexport const RiderTimeoutModel: ReturnModelType<typeof RiderTimeout> = getModelForClass(RiderTimeout);\nexport * from './rider-timeout.model';\n\nexport const RiderTrackingModel: ReturnModelType<typeof RiderTracking> = getModelForClass(RiderTracking);\nexport * from './rider-tracking.model';\n\nexport const RiderModel: ReturnModelType<typeof Rider> = getModelForClass(Rider);\nexport * from './rider.model';\n\nexport const SettingModel: ReturnModelType<typeof Setting> = getModelForClass(Setting);\nexport * from './setting.model';\n\nexport const ShopAccessControlModel: ReturnModelType<typeof ShopAccessControl> =\n\tgetModelForClass(ShopAccessControl);\nexport * from './shop-access-control.model';\n\nexport const ShopCategoryModel: ReturnModelType<typeof ShopCategory> = getModelForClass(ShopCategory);\nexport * from './shop-category.model';\n\nexport const ShopMealPlanModel: ReturnModelType<typeof ShopMealPlan> = getModelForClass(ShopMealPlan);\nexport * from './shop-meal-plan.model';\n\nexport const ShopModel: ReturnModelType<typeof Shop> = getModelForClass(Shop);\nexport * from './shop.model';\n\nexport const SubscriptionSettingModel: ReturnModelType<typeof SubscriptionSetting> =\n\tgetModelForClass(SubscriptionSetting);\nexport * from './subscription-setting.model';\n\nexport const SubscriptionModel: ReturnModelType<typeof Subscription> = getModelForClass(Subscription);\nexport * from './subscription.model';\n\nexport const TagModel: ReturnModelType<typeof Tag> = getModelForClass(Tag);\nexport * from './tag.model';\n\nexport const UserModel: ReturnModelType<typeof User> = getModelForClass(User);\nexport * from './user.model';\n\nexport const ZoneModel: ReturnModelType<typeof Zone> = getModelForClass(Zone);\nexport * from './zone.model';\n\nexport const DefaultChatModel: ReturnModelType<typeof DefaultChat> = getModelForClass(DefaultChat);\nexport * from './default-chat.model';\n\nexport const TermsAndConditionsModel: ReturnModelType<typeof TermsAndConditions> =\n\tgetModelForClass(TermsAndConditions);\nexport * from './terms-and-conditions.model';\n\nexport const SupportReasonModel: ReturnModelType<typeof SupportReason> = getModelForClass(SupportReason);\nexport * from './support-reason.model';\n\nexport const CancellationReasonModel: ReturnModelType<typeof CancellationReason> =\n\tgetModelForClass(CancellationReason);\nexport * from './cancellation-reason.model';\n\nexport * from './embedded/trip-leg.mode';\nexport * from './embedded/rider-assignment-model';\n\nexport const RewardModel: ReturnModelType<typeof Reward> = getModelForClass(Reward);\nexport * from './reward.model';\n\nexport const TicketModel: ReturnModelType<typeof Ticket> = getModelForClass(Ticket);\nexport * from './ticket.model';\n\nexport const MessageModel: ReturnModelType<typeof Message> = getModelForClass(Message);\nexport * from './message.model';\n\nexport const AgentPerformanceModel: ReturnModelType<typeof AgentPerformance> =\n\tgetModelForClass(AgentPerformance);\nexport * from './agent-performance.model';\n\nexport const ChatroomModel: ReturnModelType<typeof Chatroom> = getModelForClass(Chatroom);\nexport * from './chat-room.model';\n\nexport * from './embedded/chat-participant.model';\n\nexport const ServiceModel: ReturnModelType<typeof Service> = getModelForClass(Service);\nexport * from './service.model';\n\nexport const VendorParentModel: ReturnModelType<typeof VendorParent> = getModelForClass(VendorParent);\nexport * from './vendor-parent.model';\n\nexport const VendorModel: ReturnModelType<typeof Vendor> = getModelForClass(Vendor);\nexport * from './vendor.model';\n\nexport const VendorAccessControlModel: ReturnModelType<typeof VendorAccessControl> =\n\tgetModelForClass(VendorAccessControl);\nexport * from './vendor-access-control.model';\n\nexport const ServiceCategoryModel: ReturnModelType<typeof ServiceCategory> =\n\tgetModelForClass(ServiceCategory);\nexport * from './service-category.model';\n\nexport const AddOnModel: ReturnModelType<typeof AddOn> = getModelForClass(AddOn);\nexport * from './addon.model';\n\nexport const ServicePackageModel: ReturnModelType<typeof ServicePackage> = getModelForClass(ServicePackage);\nexport * from './service-package.model';\n\nexport const ProfessionalModel: ReturnModelType<typeof Professional> = getModelForClass(Professional);\nexport * from './professional.model';\n\nexport const ServiceCartModel: ReturnModelType<typeof ServiceCart> = getModelForClass(ServiceCart);\nexport * from './service-cart.model';\n\nexport const ServiceLineItemModel: ReturnModelType<typeof ServiceLineItem> =\n\tgetModelForClass(ServiceLineItem);\nexport * from './service-line-item.model';\n\nexport const ServiceOrderModel: ReturnModelType<typeof ServiceOrder> = getModelForClass(ServiceOrder);\nexport * from './service-order.model';\n\nexport const ProfessionalScheduleModel: ReturnModelType<typeof ProfessionalSchedule> =\n\tgetModelForClass(ProfessionalSchedule);\nexport * from './professional-schedule';\n\nexport const BlockedTimeModel: ReturnModelType<typeof BlockedTime> = getModelForClass(BlockedTime);\nexport * from './blocked-time.model';\n\nexport const TicketActionModel: ReturnModelType<typeof TicketAction> = getModelForClass(TicketAction);\nexport * from './ticket-action.model';\n\nexport const ServicePromotionModel: ReturnModelType<typeof ServicePromotion> =\n\tgetModelForClass(ServicePromotion);\nexport * from './service-promotion.model';\n\nexport const ZoneExtraTimeModel: ReturnModelType<typeof ZoneExtraTime> = getModelForClass(ZoneExtraTime);\nexport * from './zone-extra-time';\n\nexport * from './google-maps-usage.model';"]}
@@ -1,10 +1,8 @@
1
1
  import { Ref } from '@typegoose/typegoose';
2
- import { Professional } from '../professional.model';
3
2
  import { ServiceOrder } from '../service-order.model';
4
3
  import { ReviewType } from '../../../../utilities/enum';
5
4
  import { Review } from '../review.model';
6
- export declare class ProfessionalReview extends Review {
5
+ export declare class ServiceOrderReview extends Review {
7
6
  reviewType: ReviewType.PROFESSIONAL;
8
7
  serviceOrder: Ref<ServiceOrder>;
9
- professional: Ref<Professional>;
10
8
  }
@@ -9,24 +9,18 @@ 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.ProfessionalReview = void 0;
12
+ exports.ServiceOrderReview = void 0;
13
13
  const typegoose_1 = require("@typegoose/typegoose");
14
- const professional_model_1 = require("../professional.model");
15
14
  const service_order_model_1 = require("../service-order.model");
16
15
  const enum_1 = require("../../../../utilities/enum");
17
16
  const review_model_1 = require("../review.model");
18
- class ProfessionalReview extends review_model_1.Review {
17
+ class ServiceOrderReview extends review_model_1.Review {
19
18
  reviewType = enum_1.ReviewType.PROFESSIONAL;
20
19
  serviceOrder;
21
- professional;
22
20
  }
23
- exports.ProfessionalReview = ProfessionalReview;
21
+ exports.ServiceOrderReview = ServiceOrderReview;
24
22
  __decorate([
25
23
  (0, typegoose_1.prop)({ required: true, ref: () => service_order_model_1.ServiceOrder }),
26
24
  __metadata("design:type", Object)
27
- ], ProfessionalReview.prototype, "serviceOrder", void 0);
28
- __decorate([
29
- (0, typegoose_1.prop)({ required: true, ref: () => professional_model_1.Professional }),
30
- __metadata("design:type", Object)
31
- ], ProfessionalReview.prototype, "professional", void 0);
32
- //# sourceMappingURL=professional-review.model.js.map
25
+ ], ServiceOrderReview.prototype, "serviceOrder", void 0);
26
+ //# sourceMappingURL=service-order-review.model.js.map