@collctiv/l2s-models 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +2 -0
  2. package/dist/entities/giftCard.d.ts +24 -0
  3. package/dist/entities/giftCard.d.ts.map +1 -0
  4. package/dist/entities/giftCard.js +34 -0
  5. package/dist/entities/kyc.d.ts +21 -0
  6. package/dist/entities/kyc.d.ts.map +1 -0
  7. package/dist/entities/kyc.js +19 -0
  8. package/dist/entities/kycEvent.d.ts +37 -0
  9. package/dist/entities/kycEvent.d.ts.map +1 -0
  10. package/dist/entities/kycEvent.js +26 -0
  11. package/dist/entities/kycRequest.d.ts +35 -0
  12. package/dist/entities/kycRequest.d.ts.map +1 -0
  13. package/dist/entities/kycRequest.js +61 -0
  14. package/dist/entities/ledgerItem.d.ts +45 -0
  15. package/dist/entities/ledgerItem.d.ts.map +1 -0
  16. package/dist/entities/ledgerItem.js +56 -0
  17. package/dist/entities/order.d.ts +131 -0
  18. package/dist/entities/order.d.ts.map +1 -0
  19. package/dist/entities/order.js +86 -0
  20. package/dist/entities/payment.d.ts +73 -0
  21. package/dist/entities/payment.d.ts.map +1 -0
  22. package/dist/entities/payment.js +91 -0
  23. package/dist/entities/paymentRequest.d.ts +29 -0
  24. package/dist/entities/paymentRequest.d.ts.map +1 -0
  25. package/dist/entities/paymentRequest.js +55 -0
  26. package/dist/entities/pot.d.ts +33 -0
  27. package/dist/entities/pot.d.ts.map +1 -0
  28. package/dist/entities/pot.js +78 -0
  29. package/dist/entities/setting.d.ts +11 -0
  30. package/dist/entities/setting.d.ts.map +1 -0
  31. package/dist/entities/setting.js +25 -0
  32. package/dist/entities/user.d.ts +45 -0
  33. package/dist/entities/user.d.ts.map +1 -0
  34. package/dist/entities/user.js +130 -0
  35. package/dist/global/balance.d.ts +207 -0
  36. package/dist/global/balance.d.ts.map +1 -0
  37. package/dist/global/balance.js +510 -0
  38. package/dist/global/decorators.d.ts +8 -0
  39. package/dist/global/decorators.d.ts.map +1 -0
  40. package/dist/global/decorators.js +31 -0
  41. package/dist/global/enums.d.ts +16 -0
  42. package/dist/global/enums.d.ts.map +1 -0
  43. package/dist/global/enums.js +20 -0
  44. package/dist/global/errors.d.ts +22 -0
  45. package/dist/global/errors.d.ts.map +1 -0
  46. package/dist/global/errors.js +35 -0
  47. package/dist/global/interfaces.d.ts +14 -0
  48. package/dist/global/interfaces.d.ts.map +1 -0
  49. package/dist/global/interfaces.js +1 -0
  50. package/dist/global/kyc.d.ts +22 -0
  51. package/dist/global/kyc.d.ts.map +1 -0
  52. package/dist/global/kyc.js +22 -0
  53. package/dist/index.d.ts +18 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +17 -0
  56. package/package.json +32 -0
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # l2s-models
2
+ L2S models, interfaces, types and enums
@@ -0,0 +1,24 @@
1
+ import { type IDataEntity, type ICreatable } from "../global/interfaces.js";
2
+ import { Country, Currency } from "../global/enums.js";
3
+ export declare class GiftCard implements IDataEntity, ICreatable {
4
+ id: string;
5
+ create_date: Date;
6
+ name: string;
7
+ description: string;
8
+ categories: string[];
9
+ image: string;
10
+ terms_conditions: string;
11
+ current_provider: GiftCardProviderType;
12
+ providers: Partial<Record<GiftCardProviderType, GiftCardProvider>>;
13
+ region: Country;
14
+ currency: Currency;
15
+ in_stock: boolean;
16
+ constructor(args?: Partial<GiftCard>);
17
+ }
18
+ export type GiftCardProviderType = "mbl" | "tillo";
19
+ export type GiftCardProvider = {
20
+ min_value: number;
21
+ max_value: number;
22
+ product_code: string;
23
+ };
24
+ //# sourceMappingURL=giftCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"giftCard.d.ts","sourceRoot":"","sources":["../../entities/giftCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBACa,QAAS,YAAW,WAAW,EAAE,UAAU;IAE7C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;gBAEN,IAAI,GAAE,OAAO,CAAC,QAAQ,CAAM;CAGlD;AAED,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAA"}
@@ -0,0 +1,34 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import {} from "../global/interfaces.js";
11
+ import { Collection } from "../global/decorators.js";
12
+ import { Country, Currency } from "../global/enums.js";
13
+ let GiftCard = class GiftCard {
14
+ id;
15
+ create_date;
16
+ name;
17
+ description;
18
+ categories = [];
19
+ image;
20
+ terms_conditions;
21
+ current_provider;
22
+ providers;
23
+ region;
24
+ currency;
25
+ in_stock;
26
+ constructor(args = {}) {
27
+ Object.assign(this, args);
28
+ }
29
+ };
30
+ GiftCard = __decorate([
31
+ Collection("gift_cards"),
32
+ __metadata("design:paramtypes", [Object])
33
+ ], GiftCard);
34
+ export { GiftCard };
@@ -0,0 +1,21 @@
1
+ import { KycProviderType } from "../global/enums.js";
2
+ import { KycEvent } from "./kycEvent.js";
3
+ export declare class Kyc {
4
+ status: KycStatus;
5
+ session: KycSession;
6
+ current: KycEvent;
7
+ date: Date;
8
+ constructor(args?: Partial<Kyc>);
9
+ }
10
+ export declare enum KycStatus {
11
+ Approved = "approved",
12
+ AwaitingReview = "awaiting_review",
13
+ NotCompleted = "not_completed",
14
+ Rejected = "rejected",
15
+ Retry = "retry"
16
+ }
17
+ export type KycSession = {
18
+ id: string;
19
+ provider: KycProviderType;
20
+ };
21
+ //# sourceMappingURL=kyc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kyc.d.ts","sourceRoot":"","sources":["../../entities/kyc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,qBAAa,GAAG;IAEL,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;gBAEC,IAAI,GAAE,OAAO,CAAC,GAAG,CAAM;CAG7C;AAED,oBAAY,SAAS;IACjB,QAAQ,aAAa;IACrB,cAAc,oBAAoB;IAClC,YAAY,kBAAkB;IAC9B,QAAQ,aAAa;IACrB,KAAK,UAAU;CAClB;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,eAAe,CAAC;CAC7B,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { KycProviderType } from "../global/enums.js";
2
+ import { KycEvent } from "./kycEvent.js";
3
+ export class Kyc {
4
+ status;
5
+ session;
6
+ current;
7
+ date;
8
+ constructor(args = {}) {
9
+ Object.assign(this, args);
10
+ }
11
+ }
12
+ export var KycStatus;
13
+ (function (KycStatus) {
14
+ KycStatus["Approved"] = "approved";
15
+ KycStatus["AwaitingReview"] = "awaiting_review";
16
+ KycStatus["NotCompleted"] = "not_completed";
17
+ KycStatus["Rejected"] = "rejected";
18
+ KycStatus["Retry"] = "retry";
19
+ })(KycStatus || (KycStatus = {}));
@@ -0,0 +1,37 @@
1
+ import { type ICreatable } from "../global/interfaces.js";
2
+ import { KycDeclineSelfieCode, KycDeclineGovIdCode, KycDeclineSupDocCode, type KycDeclineType } from "../global/kyc.js";
3
+ export declare class KycEvent implements ICreatable {
4
+ id: string;
5
+ create_date: Date;
6
+ event: KycEventType;
7
+ message: string;
8
+ data: KycEventDataPersona;
9
+ constructor(args?: Partial<KycEvent>);
10
+ }
11
+ export declare enum KycEventType {
12
+ Created = "created",
13
+ Started = "started",
14
+ Completed = "completed",
15
+ Expired = "expired",
16
+ Declined = "declined",
17
+ Approved = "approved",
18
+ Failed = "failed",
19
+ ReviewRejected = "review_rejected",
20
+ ReviewApproved = "review_approved",
21
+ InReview = "in_review",
22
+ Retry = "retry"
23
+ }
24
+ export type KycEventDataPersona = {
25
+ tags: string[];
26
+ known: {
27
+ declines: KycKnownDecline[];
28
+ };
29
+ unknown?: {
30
+ declines?: string[];
31
+ };
32
+ };
33
+ export type KycKnownDecline = {
34
+ type: KycDeclineType;
35
+ codes: (KycDeclineSelfieCode | KycDeclineGovIdCode | KycDeclineSupDocCode)[];
36
+ };
37
+ //# sourceMappingURL=kycEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kycEvent.d.ts","sourceRoot":"","sources":["../../entities/kycEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAExH,qBAAa,QAAS,YAAW,UAAU;IAEhC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,IAAI,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAM;IACrB,IAAI,EAAE,mBAAmB,CAAQ;gBAErB,IAAI,GAAE,OAAO,CAAC,QAAQ,CAAM;CAGlD;AAED,oBAAY,YAAY;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,QAAQ,cAAc;IACtB,KAAK,UAAU;CAClB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE;QACH,QAAQ,EAAE,eAAe,EAAE,CAAC;KAC/B,CAAC;IACF,OAAO,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACL,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,CAAC,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC,EAAE,CAAC;CAChF,CAAA"}
@@ -0,0 +1,26 @@
1
+ import {} from "../global/interfaces.js";
2
+ import { KycDeclineSelfieCode, KycDeclineGovIdCode, KycDeclineSupDocCode } from "../global/kyc.js";
3
+ export class KycEvent {
4
+ id;
5
+ create_date;
6
+ event;
7
+ message = "";
8
+ data = null;
9
+ constructor(args = {}) {
10
+ Object.assign(this, args);
11
+ }
12
+ }
13
+ export var KycEventType;
14
+ (function (KycEventType) {
15
+ KycEventType["Created"] = "created";
16
+ KycEventType["Started"] = "started";
17
+ KycEventType["Completed"] = "completed";
18
+ KycEventType["Expired"] = "expired";
19
+ KycEventType["Declined"] = "declined";
20
+ KycEventType["Approved"] = "approved";
21
+ KycEventType["Failed"] = "failed";
22
+ KycEventType["ReviewRejected"] = "review_rejected";
23
+ KycEventType["ReviewApproved"] = "review_approved";
24
+ KycEventType["InReview"] = "in_review";
25
+ KycEventType["Retry"] = "retry";
26
+ })(KycEventType || (KycEventType = {}));
@@ -0,0 +1,35 @@
1
+ import { type IDataEntity, type ICreatable, type IModifiable } from "../global/interfaces.js";
2
+ import { KycProviderType } from "../global/enums.js";
3
+ import { KycEvent } from "./kycEvent.js";
4
+ import { User } from "./user.js";
5
+ export declare class KycRequest implements IDataEntity, ICreatable, IModifiable {
6
+ id: string;
7
+ create_date: Date;
8
+ modified_date: Date | null;
9
+ session: KycRequestSession;
10
+ user_id: string;
11
+ status: KycRequestStatus;
12
+ events: KycEvent[];
13
+ kyc_name?: string;
14
+ constructor(args?: Partial<KycRequest>);
15
+ }
16
+ export declare enum KycRequestStatus {
17
+ Created = "created",
18
+ Started = "started",
19
+ Completed = "completed",
20
+ Expired = "expired",
21
+ Rejected = "rejected",
22
+ Approved = "approved",
23
+ Failed = "failed",
24
+ AwaitingReview = "awaiting_review",
25
+ InReview = "in_review",
26
+ Retry = "retry"
27
+ }
28
+ export type KycRequestSession = {
29
+ id: string;
30
+ provider: KycProviderType;
31
+ };
32
+ export declare class UserKycRequest extends KycRequest {
33
+ user: User;
34
+ }
35
+ //# sourceMappingURL=kycRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kycRequest.d.ts","sourceRoot":"","sources":["../../entities/kycRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAEa,UAAW,YAAW,WAAW,EAAE,UAAU,EAAE,WAAW;IAE5D,EAAE,EAAE,MAAM,CAAQ;IAClB,WAAW,EAAE,IAAI,CAAc;IAC/B,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAE3B,OAAO,EAAE,iBAAiB,CAAQ;IAClC,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,gBAAgB,CAA4B;IAGpD,MAAM,EAAE,QAAQ,EAAE,CAAM;IAGxB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEN,IAAI,GAAE,OAAO,CAAC,UAAU,CAAM;CAGpD;AAED,oBAAY,gBAAgB;IACxB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,cAAc,oBAAoB;IAClC,QAAQ,cAAc;IACtB,KAAK,UAAU;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,eAAe,CAAC;CAC7B,CAAA;AAED,qBAAa,cAAe,SAAQ,UAAU;IACnC,IAAI,EAAE,IAAI,CAAC;CACrB"}
@@ -0,0 +1,61 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Collection, Updatable, Topic } from "../global/decorators.js";
11
+ import {} from "../global/interfaces.js";
12
+ import { KycProviderType } from "../global/enums.js";
13
+ import { KycEvent } from "./kycEvent.js";
14
+ import { User } from "./user.js";
15
+ let KycRequest = class KycRequest {
16
+ id = null;
17
+ create_date = new Date();
18
+ modified_date;
19
+ session = null;
20
+ user_id;
21
+ status = KycRequestStatus.Created;
22
+ events = [];
23
+ kyc_name;
24
+ constructor(args = {}) {
25
+ Object.assign(this, args);
26
+ }
27
+ };
28
+ __decorate([
29
+ Updatable(),
30
+ __metadata("design:type", String)
31
+ ], KycRequest.prototype, "status", void 0);
32
+ __decorate([
33
+ Updatable(),
34
+ __metadata("design:type", Array)
35
+ ], KycRequest.prototype, "events", void 0);
36
+ __decorate([
37
+ Updatable(),
38
+ __metadata("design:type", String)
39
+ ], KycRequest.prototype, "kyc_name", void 0);
40
+ KycRequest = __decorate([
41
+ Collection("kyc_requests"),
42
+ Topic("kyc"),
43
+ __metadata("design:paramtypes", [Object])
44
+ ], KycRequest);
45
+ export { KycRequest };
46
+ export var KycRequestStatus;
47
+ (function (KycRequestStatus) {
48
+ KycRequestStatus["Created"] = "created";
49
+ KycRequestStatus["Started"] = "started";
50
+ KycRequestStatus["Completed"] = "completed";
51
+ KycRequestStatus["Expired"] = "expired";
52
+ KycRequestStatus["Rejected"] = "rejected";
53
+ KycRequestStatus["Approved"] = "approved";
54
+ KycRequestStatus["Failed"] = "failed";
55
+ KycRequestStatus["AwaitingReview"] = "awaiting_review";
56
+ KycRequestStatus["InReview"] = "in_review";
57
+ KycRequestStatus["Retry"] = "retry";
58
+ })(KycRequestStatus || (KycRequestStatus = {}));
59
+ export class UserKycRequest extends KycRequest {
60
+ user;
61
+ }
@@ -0,0 +1,45 @@
1
+ import { type IDataEntity } from "../global/interfaces.js";
2
+ import { Currency } from "../global/enums.js";
3
+ import { LedgerOperation, LedgerStatus, LedgerTypeInternal } from "../global/balance.js";
4
+ export declare class LedgerItem implements IDataEntity {
5
+ id: string;
6
+ create_date: Date;
7
+ processed_date?: Date;
8
+ user: string;
9
+ operation: LedgerOperation;
10
+ message_id: string;
11
+ type: LedgerItemType;
12
+ status: LedgerStatus;
13
+ currency: Currency;
14
+ amount: number;
15
+ pot: LedgerItemPot;
16
+ entity?: string;
17
+ metadata: {
18
+ [key: string]: string;
19
+ };
20
+ }
21
+ export declare class LedgerItemType {
22
+ internal: LedgerTypeInternal;
23
+ regulatory: string;
24
+ entity: string;
25
+ }
26
+ export declare class LedgerItemPot {
27
+ _id: string;
28
+ old_balance?: number;
29
+ new_balance?: number;
30
+ }
31
+ export declare class LedgerClosingBalance {
32
+ date: string;
33
+ balance: number;
34
+ }
35
+ export declare class LedgerAmountResult {
36
+ amount: number;
37
+ }
38
+ export declare class LedgerAvailableBalance {
39
+ readonly balance: number;
40
+ constructor(balance?: number);
41
+ }
42
+ export declare enum CtvPotId {
43
+ Revenue = "ctv:revenue"
44
+ }
45
+ //# sourceMappingURL=ledgerItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledgerItem.d.ts","sourceRoot":"","sources":["../../entities/ledgerItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGzF,qBACa,UAAW,YAAW,WAAW;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,IAAI,CAAC;IAClB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,qBAAa,cAAc;IAChB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,aAAa;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,oBAAoB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAkB;IAC3B,MAAM,EAAE,MAAM,CAAK;CACtB;AAED,qBAAa,sBAAsB;aACI,OAAO,EAAE,MAAM;gBAAf,OAAO,GAAE,MAAU;CACzD;AAED,oBAAY,QAAQ;IAChB,OAAO,gBAAgB;CAC1B"}
@@ -0,0 +1,56 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import {} from "../global/interfaces.js";
8
+ import { Currency } from "../global/enums.js";
9
+ import { LedgerOperation, LedgerStatus, LedgerTypeInternal } from "../global/balance.js";
10
+ import { Collection } from "../global/decorators.js";
11
+ let LedgerItem = class LedgerItem {
12
+ id;
13
+ create_date;
14
+ processed_date;
15
+ user;
16
+ operation;
17
+ message_id;
18
+ type;
19
+ status;
20
+ currency;
21
+ amount;
22
+ pot;
23
+ entity;
24
+ metadata;
25
+ };
26
+ LedgerItem = __decorate([
27
+ Collection("ledger")
28
+ ], LedgerItem);
29
+ export { LedgerItem };
30
+ export class LedgerItemType {
31
+ internal;
32
+ regulatory;
33
+ entity;
34
+ }
35
+ export class LedgerItemPot {
36
+ _id;
37
+ old_balance;
38
+ new_balance;
39
+ }
40
+ export class LedgerClosingBalance {
41
+ date; // yyyy-mm-dd
42
+ balance;
43
+ }
44
+ export class LedgerAmountResult {
45
+ amount = 0;
46
+ }
47
+ export class LedgerAvailableBalance {
48
+ balance;
49
+ constructor(balance = 0) {
50
+ this.balance = balance;
51
+ }
52
+ }
53
+ export var CtvPotId;
54
+ (function (CtvPotId) {
55
+ CtvPotId["Revenue"] = "ctv:revenue";
56
+ })(CtvPotId || (CtvPotId = {}));
@@ -0,0 +1,131 @@
1
+ import { type IDataEntity, type ICreatable, type IModifiable } from "../global/interfaces.js";
2
+ import { Currency } from "../global/enums.js";
3
+ export declare class Order implements IDataEntity, ICreatable, IModifiable {
4
+ id: string;
5
+ create_date: Date;
6
+ modified_date: Date | null;
7
+ status: OrderStatus;
8
+ order_no: string;
9
+ items: OrderItem[];
10
+ totals: OrderTotals;
11
+ shipping: OrderShipping;
12
+ payment: OrderPayment;
13
+ user_id: string;
14
+ delivery?: OrderDelivery[];
15
+ constructor(args?: Partial<Order>);
16
+ }
17
+ export declare class OrderRedemption implements IDataEntity {
18
+ readonly id: string;
19
+ readonly create_date: Date;
20
+ readonly user_id: string;
21
+ readonly order_no: string;
22
+ readonly delivery: OrderRedemptionDelivery;
23
+ readonly access: OrderRedemptionAccess;
24
+ constructor(args?: Partial<OrderRedemption>);
25
+ }
26
+ export type OrderShippingType = "email" | "user";
27
+ export type OrderPaymentMethod = "pot";
28
+ export declare enum OrderStatus {
29
+ New = "new",
30
+ InProgress = "in_progress",
31
+ Complete = "complete",
32
+ Cancelled = "cancelled",
33
+ Failed = "failed",
34
+ AwaitingDelivery = "awaiting_delivery"
35
+ }
36
+ export declare enum SupplierType {
37
+ Mbl = "mbl",
38
+ Tillo = "tillo"
39
+ }
40
+ export declare enum CourierType {
41
+ Mbl = "mbl",
42
+ Tillo = "tillo"
43
+ }
44
+ export declare enum OrderItemType {
45
+ GiftCard = "gift_card"
46
+ }
47
+ export type OrderItem = {
48
+ product_id: string;
49
+ item_id: string;
50
+ quantity: number;
51
+ sub_total: number;
52
+ type: OrderItemType;
53
+ };
54
+ export type OrderTotals = {
55
+ sub_total: number;
56
+ shipping: number;
57
+ tax: number;
58
+ grand_total: number;
59
+ };
60
+ export type OrderShipping = {
61
+ type: OrderShippingType;
62
+ email?: string;
63
+ name?: string;
64
+ user_id?: string;
65
+ };
66
+ export type OrderPayment = {
67
+ method: OrderPaymentMethod;
68
+ pot_id: string;
69
+ };
70
+ export type OrderDeliveryStatus = "pending" | "delivered" | "failed";
71
+ export type OrderDelivery = {
72
+ supplier: SupplierType;
73
+ courier: CourierType;
74
+ status: OrderDeliveryStatus;
75
+ data: OrderDeliveryData[];
76
+ };
77
+ export type OrderRedemptionDelivery = {
78
+ supplier: SupplierType;
79
+ courier: CourierType;
80
+ status: OrderDeliveryStatus;
81
+ data: OrderDeliveryData;
82
+ };
83
+ export type OrderRedemptionAccess = {
84
+ user_id: string | null;
85
+ };
86
+ export type OrderDeliveryData = {
87
+ product_code: string;
88
+ product?: MblDelivery | TilloDelivery;
89
+ product_id: string;
90
+ product_name: string;
91
+ product_description: string;
92
+ product_image: string;
93
+ product_terms: string;
94
+ product_categories: string[];
95
+ item_id: string;
96
+ item_idx: number;
97
+ amount: number;
98
+ currency: Currency;
99
+ type: OrderItemType;
100
+ processed_date?: Date;
101
+ };
102
+ export type MblDelivery = {
103
+ value: number;
104
+ product: string;
105
+ processor_reference: string;
106
+ details: {
107
+ serial: string;
108
+ code: string;
109
+ pin: string;
110
+ url: string;
111
+ activation: Date;
112
+ expiration: Date;
113
+ };
114
+ };
115
+ export type TilloDelivery = {
116
+ reference: string;
117
+ status: string;
118
+ face_value: {
119
+ amount: number;
120
+ currency: string;
121
+ };
122
+ cost_value: {
123
+ amount: number;
124
+ currency: string;
125
+ };
126
+ discount: string;
127
+ brand: string;
128
+ url: string;
129
+ expiration_date: Date;
130
+ };
131
+ //# sourceMappingURL=order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../entities/order.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import {} from "../global/interfaces.js";
11
+ import { Collection, Topic, Updatable, TransactionId } from "../global/decorators.js";
12
+ import { Currency } from "../global/enums.js";
13
+ let Order = class Order {
14
+ id;
15
+ create_date = new Date();
16
+ modified_date;
17
+ status = OrderStatus.New;
18
+ order_no;
19
+ items;
20
+ totals;
21
+ shipping;
22
+ payment;
23
+ user_id;
24
+ delivery;
25
+ constructor(args = {}) {
26
+ Object.assign(this, args);
27
+ }
28
+ };
29
+ __decorate([
30
+ Updatable(),
31
+ __metadata("design:type", String)
32
+ ], Order.prototype, "status", void 0);
33
+ __decorate([
34
+ Updatable(),
35
+ __metadata("design:type", String)
36
+ ], Order.prototype, "order_no", void 0);
37
+ __decorate([
38
+ Updatable(),
39
+ __metadata("design:type", Array)
40
+ ], Order.prototype, "delivery", void 0);
41
+ Order = __decorate([
42
+ Collection("orders"),
43
+ Topic("orders"),
44
+ TransactionId("order_no"),
45
+ __metadata("design:paramtypes", [Object])
46
+ ], Order);
47
+ export { Order };
48
+ let OrderRedemption = class OrderRedemption {
49
+ id;
50
+ create_date;
51
+ user_id;
52
+ order_no;
53
+ delivery;
54
+ access;
55
+ constructor(args = {}) {
56
+ Object.assign(this, args);
57
+ }
58
+ };
59
+ OrderRedemption = __decorate([
60
+ Collection("orders"),
61
+ __metadata("design:paramtypes", [Object])
62
+ ], OrderRedemption);
63
+ export { OrderRedemption };
64
+ export var OrderStatus;
65
+ (function (OrderStatus) {
66
+ OrderStatus["New"] = "new";
67
+ OrderStatus["InProgress"] = "in_progress";
68
+ OrderStatus["Complete"] = "complete";
69
+ OrderStatus["Cancelled"] = "cancelled";
70
+ OrderStatus["Failed"] = "failed";
71
+ OrderStatus["AwaitingDelivery"] = "awaiting_delivery";
72
+ })(OrderStatus || (OrderStatus = {}));
73
+ export var SupplierType;
74
+ (function (SupplierType) {
75
+ SupplierType["Mbl"] = "mbl";
76
+ SupplierType["Tillo"] = "tillo";
77
+ })(SupplierType || (SupplierType = {}));
78
+ export var CourierType;
79
+ (function (CourierType) {
80
+ CourierType["Mbl"] = "mbl";
81
+ CourierType["Tillo"] = "tillo";
82
+ })(CourierType || (CourierType = {}));
83
+ export var OrderItemType;
84
+ (function (OrderItemType) {
85
+ OrderItemType["GiftCard"] = "gift_card";
86
+ })(OrderItemType || (OrderItemType = {}));