@fplpool/fpl-models 1.0.0 → 1.1.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 (115) hide show
  1. package/dist/config/index.d.ts +34 -0
  2. package/dist/config/index.d.ts.map +1 -0
  3. package/{src/config/index.ts → dist/config/index.js} +7 -8
  4. package/dist/config/index.js.map +1 -0
  5. package/dist/enums/status-code.enum.d.ts +32 -0
  6. package/dist/enums/status-code.enum.d.ts.map +1 -0
  7. package/dist/enums/status-code.enum.js +36 -0
  8. package/dist/enums/status-code.enum.js.map +1 -0
  9. package/dist/enums/status.enum.d.ts +7 -0
  10. package/dist/enums/status.enum.d.ts.map +1 -0
  11. package/dist/enums/status.enum.js +10 -0
  12. package/dist/enums/status.enum.js.map +1 -0
  13. package/dist/errors/advanced.error.d.ts +5 -0
  14. package/dist/errors/advanced.error.d.ts.map +1 -0
  15. package/dist/errors/advanced.error.js +10 -0
  16. package/dist/errors/advanced.error.js.map +1 -0
  17. package/dist/index.d.ts +41 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +82 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/models/card.model.d.ts +22 -0
  22. package/dist/models/card.model.d.ts.map +1 -0
  23. package/{src/models/card.model.ts → dist/models/card.model.js} +20 -35
  24. package/dist/models/card.model.js.map +1 -0
  25. package/dist/models/config.model.d.ts +21 -0
  26. package/dist/models/config.model.d.ts.map +1 -0
  27. package/{src/models/config.model.ts → dist/models/config.model.js} +8 -23
  28. package/dist/models/config.model.js.map +1 -0
  29. package/dist/models/invoice.model.d.ts +35 -0
  30. package/dist/models/invoice.model.d.ts.map +1 -0
  31. package/dist/models/invoice.model.js +79 -0
  32. package/dist/models/invoice.model.js.map +1 -0
  33. package/dist/models/job.model.d.ts +26 -0
  34. package/dist/models/job.model.d.ts.map +1 -0
  35. package/dist/models/job.model.js +48 -0
  36. package/dist/models/job.model.js.map +1 -0
  37. package/dist/models/pool-gameweek-deadline.model.d.ts +21 -0
  38. package/dist/models/pool-gameweek-deadline.model.d.ts.map +1 -0
  39. package/dist/models/pool-gameweek-deadline.model.js +37 -0
  40. package/dist/models/pool-gameweek-deadline.model.js.map +1 -0
  41. package/dist/models/pool-gameweek-winner.model.d.ts +24 -0
  42. package/dist/models/pool-gameweek-winner.model.d.ts.map +1 -0
  43. package/dist/models/pool-gameweek-winner.model.js +43 -0
  44. package/dist/models/pool-gameweek-winner.model.js.map +1 -0
  45. package/dist/models/pool-gameweek.model.d.ts +27 -0
  46. package/dist/models/pool-gameweek.model.d.ts.map +1 -0
  47. package/dist/models/pool-gameweek.model.js +99 -0
  48. package/dist/models/pool-gameweek.model.js.map +1 -0
  49. package/dist/models/pool-invite.model.d.ts +26 -0
  50. package/dist/models/pool-invite.model.d.ts.map +1 -0
  51. package/dist/models/pool-invite.model.js +54 -0
  52. package/dist/models/pool-invite.model.js.map +1 -0
  53. package/dist/models/pool-member.model.d.ts +22 -0
  54. package/dist/models/pool-member.model.d.ts.map +1 -0
  55. package/dist/models/pool-member.model.js +45 -0
  56. package/dist/models/pool-member.model.js.map +1 -0
  57. package/dist/models/pool-transaction.model.d.ts +31 -0
  58. package/dist/models/pool-transaction.model.d.ts.map +1 -0
  59. package/dist/models/pool-transaction.model.js +109 -0
  60. package/dist/models/pool-transaction.model.js.map +1 -0
  61. package/dist/models/pool-wallet.model.d.ts +18 -0
  62. package/dist/models/pool-wallet.model.d.ts.map +1 -0
  63. package/dist/models/pool-wallet.model.js +86 -0
  64. package/dist/models/pool-wallet.model.js.map +1 -0
  65. package/dist/models/pool.model.d.ts +42 -0
  66. package/dist/models/pool.model.d.ts.map +1 -0
  67. package/{src/models/pool.model.ts → dist/models/pool.model.js} +33 -65
  68. package/dist/models/pool.model.js.map +1 -0
  69. package/dist/models/session.model.d.ts +19 -0
  70. package/dist/models/session.model.d.ts.map +1 -0
  71. package/dist/models/session.model.js +28 -0
  72. package/dist/models/session.model.js.map +1 -0
  73. package/dist/models/transaction.model.d.ts +32 -0
  74. package/dist/models/transaction.model.d.ts.map +1 -0
  75. package/{src/models/transaction.model.ts → dist/models/transaction.model.js} +38 -65
  76. package/dist/models/transaction.model.js.map +1 -0
  77. package/dist/models/user-settings.model.d.ts +20 -0
  78. package/dist/models/user-settings.model.d.ts.map +1 -0
  79. package/{src/models/user-settings.model.ts → dist/models/user-settings.model.js} +14 -29
  80. package/dist/models/user-settings.model.js.map +1 -0
  81. package/dist/models/user.model.d.ts +23 -0
  82. package/dist/models/user.model.d.ts.map +1 -0
  83. package/{src/models/user.model.ts → dist/models/user.model.js} +20 -37
  84. package/dist/models/user.model.js.map +1 -0
  85. package/dist/models/wallet.model.d.ts +23 -0
  86. package/dist/models/wallet.model.d.ts.map +1 -0
  87. package/dist/models/wallet.model.js +141 -0
  88. package/dist/models/wallet.model.js.map +1 -0
  89. package/dist/repositories/generic.repository.d.ts +17 -0
  90. package/dist/repositories/generic.repository.d.ts.map +1 -0
  91. package/dist/repositories/generic.repository.js +55 -0
  92. package/dist/repositories/generic.repository.js.map +1 -0
  93. package/dist/types/pool.d.ts +6 -0
  94. package/dist/types/pool.d.ts.map +1 -0
  95. package/dist/types/pool.js +10 -0
  96. package/dist/types/pool.js.map +1 -0
  97. package/dist/types/wallet.d.ts +16 -0
  98. package/dist/types/wallet.d.ts.map +1 -0
  99. package/dist/types/wallet.js +22 -0
  100. package/dist/types/wallet.js.map +1 -0
  101. package/package.json +11 -4
  102. package/src/index.ts +0 -19
  103. package/src/models/invoice.model.ts +0 -100
  104. package/src/models/job.model.ts +0 -62
  105. package/src/models/pool-gameweek-deadline.model.ts +0 -46
  106. package/src/models/pool-gameweek-winner.model.ts +0 -55
  107. package/src/models/pool-gameweek.model.ts +0 -114
  108. package/src/models/pool-invite.model.ts +0 -65
  109. package/src/models/pool-member.model.ts +0 -53
  110. package/src/models/pool-transaction.model.ts +0 -130
  111. package/src/models/pool-wallet.model.ts +0 -89
  112. package/src/models/session.model.ts +0 -45
  113. package/src/models/wallet.model.ts +0 -154
  114. package/src/repositories/generic.repository.ts +0 -86
  115. package/tsconfig.json +0 -103
@@ -0,0 +1,26 @@
1
+ import { Document, Types } from "mongoose";
2
+ export declare enum JobStatus {
3
+ Pending = "pending",
4
+ Completed = "completed",
5
+ Failed = "failed"
6
+ }
7
+ export interface IJob extends Document {
8
+ _id: Types.ObjectId;
9
+ queueName: string;
10
+ payload: Record<string, any>;
11
+ status: JobStatus;
12
+ createdAt: Date;
13
+ updatedAt: Date;
14
+ lastAttemptedAt: Date | null;
15
+ finalizedAt: Date | null;
16
+ errorLogs: Array<any> | null;
17
+ }
18
+ declare const Job: import("mongoose").Model<IJob, {}, {}, {}, Document<unknown, {}, IJob, {}, import("mongoose").DefaultSchemaOptions> & IJob & Required<{
19
+ _id: Types.ObjectId;
20
+ }> & {
21
+ __v: number;
22
+ } & {
23
+ id: string;
24
+ }, any, IJob>;
25
+ export default Job;
26
+ //# sourceMappingURL=job.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.model.d.ts","sourceRoot":"","sources":["../../src/models/job.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAU,KAAK,EAAQ,MAAM,UAAU,CAAC;AAMxD,oBAAY,SAAS;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,IAAK,SAAQ,QAAQ;IAClC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CAChC;AAqCD,QAAA,MAAM,GAAG;;;;;;aAA4C,CAAA;AAErD,eAAe,GAAG,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.JobStatus = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const config_1 = __importDefault(require("../config"));
9
+ var JobStatus;
10
+ (function (JobStatus) {
11
+ JobStatus["Pending"] = "pending";
12
+ JobStatus["Completed"] = "completed";
13
+ JobStatus["Failed"] = "failed";
14
+ })(JobStatus || (exports.JobStatus = JobStatus = {}));
15
+ const jobSchema = new mongoose_1.Schema({
16
+ queueName: {
17
+ type: String,
18
+ required: [true, 'Queue name is required'],
19
+ },
20
+ payload: {
21
+ type: Object
22
+ },
23
+ errorLogs: {
24
+ type: Array,
25
+ default: null
26
+ },
27
+ status: {
28
+ type: String,
29
+ required: [true, 'Status is required'],
30
+ enum: JobStatus,
31
+ default: JobStatus.Pending
32
+ },
33
+ lastAttemptedAt: {
34
+ type: Date,
35
+ default: null,
36
+ },
37
+ finalizedAt: {
38
+ type: Date,
39
+ default: null,
40
+ },
41
+ }, {
42
+ timestamps: true,
43
+ toJSON: { virtuals: true },
44
+ toObject: { virtuals: true }
45
+ });
46
+ const Job = (0, mongoose_1.model)(config_1.default.models.job, jobSchema);
47
+ exports.default = Job;
48
+ //# sourceMappingURL=job.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.model.js","sourceRoot":"","sources":["../../src/models/job.model.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAwD;AAExD,uDAA+B;AAI/B,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,8BAAiB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAeD,MAAM,SAAS,GAAG,IAAI,iBAAM,CAAO;IAC/B,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC;KAC7C;IACD,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;KACf;IACD,SAAS,EAAE;QACP,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,IAAI;KAChB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC;QACtC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS,CAAC,OAAO;KAC7B;IACD,eAAe,EAAE;QACb,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;KAChB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;KAChB;CACJ,EAAE;IACC,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;IACxB,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;CAC7B,CAAC,CAAA;AAIF,MAAM,GAAG,GAAG,IAAA,gBAAK,EAAO,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AAErD,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Document, Types } from "mongoose";
2
+ import { IPool } from "./pool.model";
3
+ export declare enum PoolGameweekDeadlineType {
4
+ Personal = "personal",
5
+ Members = "members"
6
+ }
7
+ export interface IPoolGameweekDeadline extends Document {
8
+ _id: Types.ObjectId;
9
+ pool: IPool;
10
+ type: PoolGameweekDeadlineType;
11
+ msBeforeDeadline: number;
12
+ }
13
+ declare const PoolGameweekDeadline: import("mongoose").Model<IPoolGameweekDeadline, {}, {}, {}, Document<unknown, {}, IPoolGameweekDeadline, {}, import("mongoose").DefaultSchemaOptions> & IPoolGameweekDeadline & Required<{
14
+ _id: Types.ObjectId;
15
+ }> & {
16
+ __v: number;
17
+ } & {
18
+ id: string;
19
+ }, any, IPoolGameweekDeadline>;
20
+ export default PoolGameweekDeadline;
21
+ //# sourceMappingURL=pool-gameweek-deadline.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-gameweek-deadline.model.d.ts","sourceRoot":"","sources":["../../src/models/pool-gameweek-deadline.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,KAAK,EAAS,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,oBAAY,wBAAwB;IAChC,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ;IACnD,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,wBAAwB,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AA4BD,QAAA,MAAM,oBAAoB;;;;;;8BAA+F,CAAC;AAE1H,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PoolGameweekDeadlineType = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const config_1 = __importDefault(require("../config"));
9
+ var PoolGameweekDeadlineType;
10
+ (function (PoolGameweekDeadlineType) {
11
+ PoolGameweekDeadlineType["Personal"] = "personal";
12
+ PoolGameweekDeadlineType["Members"] = "members";
13
+ })(PoolGameweekDeadlineType || (exports.PoolGameweekDeadlineType = PoolGameweekDeadlineType = {}));
14
+ const poolGameweekDeadlineSchema = new mongoose_1.Schema({
15
+ pool: {
16
+ type: mongoose_1.Schema.Types.ObjectId,
17
+ ref: config_1.default.models.pool,
18
+ required: true
19
+ },
20
+ type: {
21
+ type: String,
22
+ enum: PoolGameweekDeadlineType,
23
+ default: PoolGameweekDeadlineType.Members
24
+ },
25
+ msBeforeDeadline: {
26
+ type: Number,
27
+ required: true,
28
+ default: 1000 * 60 * 30 //30 minutes before deadline
29
+ }
30
+ }, {
31
+ timestamps: true,
32
+ toJSON: { virtuals: true },
33
+ toObject: { virtuals: true }
34
+ });
35
+ const PoolGameweekDeadline = (0, mongoose_1.model)(config_1.default.models.poolGameweekDeadline, poolGameweekDeadlineSchema);
36
+ exports.default = PoolGameweekDeadline;
37
+ //# sourceMappingURL=pool-gameweek-deadline.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-gameweek-deadline.model.js","sourceRoot":"","sources":["../../src/models/pool-gameweek-deadline.model.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA0D;AAC1D,uDAA+B;AAI/B,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAChC,iDAAqB,CAAA;IACrB,+CAAmB,CAAA;AACvB,CAAC,EAHW,wBAAwB,wCAAxB,wBAAwB,QAGnC;AAUD,MAAM,0BAA0B,GAAG,IAAI,iBAAM,CAAwB;IACjE,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;KACjB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,wBAAwB,CAAC,OAAO;KAC5C;IACD,gBAAgB,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,4BAA4B;KACvD;CACJ,EACD;IACI,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;IACxB,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;CAC7B,CACA,CAAC;AAGF,MAAM,oBAAoB,GAAG,IAAA,gBAAK,EAAwB,gBAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;AAE1H,kBAAe,oBAAoB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Types, Document } from "mongoose";
2
+ export declare enum PoolGameweekWinnerStatus {
3
+ Pending = "pending",
4
+ Paid = "paid",
5
+ Failed = "failed"
6
+ }
7
+ export interface IPoolGameweekWinner extends Document {
8
+ _id: Types.ObjectId;
9
+ gameweek: Types.ObjectId;
10
+ winner: Types.ObjectId;
11
+ score: number;
12
+ status: PoolGameweekWinnerStatus;
13
+ createdAt: Date;
14
+ updatedAt: Date;
15
+ }
16
+ declare const PoolGameweekWinner: import("mongoose").Model<IPoolGameweekWinner, {}, {}, {}, Document<unknown, {}, IPoolGameweekWinner, {}, import("mongoose").DefaultSchemaOptions> & IPoolGameweekWinner & Required<{
17
+ _id: Types.ObjectId;
18
+ }> & {
19
+ __v: number;
20
+ } & {
21
+ id: string;
22
+ }, any, IPoolGameweekWinner>;
23
+ export default PoolGameweekWinner;
24
+ //# sourceMappingURL=pool-gameweek-winner.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-gameweek-winner.model.d.ts","sourceRoot":"","sources":["../../src/models/pool-gameweek-winner.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAM1D,oBAAY,wBAAwB;IAChC,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACjD,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB;AAgCD,QAAA,MAAM,kBAAkB;;;;;;4BAAyF,CAAC;AAElH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PoolGameweekWinnerStatus = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const config_1 = __importDefault(require("../config"));
9
+ var PoolGameweekWinnerStatus;
10
+ (function (PoolGameweekWinnerStatus) {
11
+ PoolGameweekWinnerStatus["Pending"] = "pending";
12
+ PoolGameweekWinnerStatus["Paid"] = "paid";
13
+ PoolGameweekWinnerStatus["Failed"] = "failed";
14
+ })(PoolGameweekWinnerStatus || (exports.PoolGameweekWinnerStatus = PoolGameweekWinnerStatus = {}));
15
+ const poolGameweekWinnerSchema = new mongoose_1.Schema({
16
+ gameweek: {
17
+ type: mongoose_1.Schema.Types.ObjectId,
18
+ ref: config_1.default.models.poolGameweek,
19
+ required: true
20
+ },
21
+ winner: {
22
+ type: mongoose_1.Schema.Types.ObjectId,
23
+ ref: config_1.default.models.poolMember,
24
+ required: true
25
+ },
26
+ score: {
27
+ type: Number,
28
+ required: true,
29
+ default: 0
30
+ },
31
+ status: {
32
+ type: String,
33
+ enum: PoolGameweekWinnerStatus,
34
+ default: PoolGameweekWinnerStatus.Pending
35
+ },
36
+ }, {
37
+ timestamps: true,
38
+ toJSON: { virtuals: true },
39
+ toObject: { virtuals: true }
40
+ });
41
+ const PoolGameweekWinner = (0, mongoose_1.model)(config_1.default.models.poolGameweekWinner, poolGameweekWinnerSchema);
42
+ exports.default = PoolGameweekWinner;
43
+ //# sourceMappingURL=pool-gameweek-winner.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-gameweek-winner.model.js","sourceRoot":"","sources":["../../src/models/pool-gameweek-winner.model.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA0D;AAC1D,uDAA+B;AAK/B,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAChC,+CAAmB,CAAA;IACnB,yCAAa,CAAA;IACb,6CAAiB,CAAA;AACrB,CAAC,EAJW,wBAAwB,wCAAxB,wBAAwB,QAInC;AAaD,MAAM,wBAAwB,GAAG,IAAI,iBAAM,CAAsB;IAC7D,QAAQ,EAAE;QACN,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,YAAY;QAC/B,QAAQ,EAAE,IAAI;KACjB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,IAAI;KACjB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC;KACb;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,wBAAwB,CAAC,OAAO;KAC5C;CACJ,EAAE;IACC,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;IACxB,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;CAC7B,CAAC,CAAA;AAIF,MAAM,kBAAkB,GAAG,IAAA,gBAAK,EAAsB,gBAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;AAElH,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Types, Document } from "mongoose";
2
+ export interface IPoolGameweek extends Document {
3
+ _id: Types.ObjectId;
4
+ pool: Types.ObjectId;
5
+ gameweek: number;
6
+ active: boolean;
7
+ activePlayers: {
8
+ member: Types.ObjectId;
9
+ score: number;
10
+ }[];
11
+ winner: Types.ObjectId | null;
12
+ balance: string;
13
+ startedAt: Date | null;
14
+ participationRateBps: number;
15
+ createdAt: Date;
16
+ updatedAt: Date;
17
+ hasPaid: (memberId: Types.ObjectId) => Promise<boolean>;
18
+ }
19
+ declare const PoolGameweek: import("mongoose").Model<IPoolGameweek, {}, {}, {}, Document<unknown, {}, IPoolGameweek, {}, import("mongoose").DefaultSchemaOptions> & IPoolGameweek & Required<{
20
+ _id: Types.ObjectId;
21
+ }> & {
22
+ __v: number;
23
+ } & {
24
+ id: string;
25
+ }, any, IPoolGameweek>;
26
+ export default PoolGameweek;
27
+ //# sourceMappingURL=pool-gameweek.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-gameweek.model.d.ts","sourceRoot":"","sources":["../../src/models/pool-gameweek.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAS1D,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC3C,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE;QAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IACzD,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAyFD,QAAA,MAAM,YAAY;;;;;;sBAAuE,CAAC;AAE1F,eAAe,YAAY,CAAC"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const mongoose_1 = require("mongoose");
7
+ const config_1 = __importDefault(require("../config"));
8
+ const pool_transaction_model_1 = require("./pool-transaction.model");
9
+ const advanced_error_1 = __importDefault(require("../errors/advanced.error"));
10
+ const status_code_enum_1 = __importDefault(require("../enums/status-code.enum"));
11
+ const poolGameweekSchema = new mongoose_1.Schema({
12
+ pool: {
13
+ type: mongoose_1.Schema.Types.ObjectId,
14
+ ref: config_1.default.models.pool,
15
+ required: true
16
+ },
17
+ gameweek: {
18
+ type: Number,
19
+ required: true
20
+ },
21
+ activePlayers: [{
22
+ member: {
23
+ type: mongoose_1.Schema.Types.ObjectId,
24
+ ref: config_1.default.models.poolMember,
25
+ },
26
+ score: {
27
+ type: Number,
28
+ required: true,
29
+ default: 0
30
+ }
31
+ }],
32
+ active: {
33
+ type: Boolean,
34
+ default: false
35
+ },
36
+ startedAt: {
37
+ type: Date,
38
+ required: false,
39
+ default: null
40
+ },
41
+ participationRateBps: {
42
+ type: Number,
43
+ required: false,
44
+ default: 0
45
+ },
46
+ balance: {
47
+ type: String,
48
+ required: false,
49
+ default: "0.00",
50
+ match: pool_transaction_model_1.poolAmountPattern,
51
+ set: function (value) {
52
+ // If value already looks like a float (has a .), ensure two decimals
53
+ if (typeof value === "string") {
54
+ if (pool_transaction_model_1.poolAmountPattern.test(value)) {
55
+ // If it has a dot but is not two decimals, pad right
56
+ if (value.indexOf('.') !== -1) {
57
+ let [whole, decimals] = value.split('.');
58
+ if (decimals === undefined)
59
+ return whole + ".00";
60
+ if (decimals.length === 1)
61
+ return whole + "." + decimals + "0";
62
+ if (decimals.length === 2)
63
+ return value;
64
+ if (decimals.length > 2)
65
+ return whole + "." + decimals.slice(0, 2);
66
+ }
67
+ // No decimal: add .00
68
+ return value + ".00";
69
+ }
70
+ // If it's an integer, add .00
71
+ if (/^\d+$/.test(value)) {
72
+ return value + ".00";
73
+ }
74
+ }
75
+ return value;
76
+ }
77
+ },
78
+ winner: {
79
+ type: mongoose_1.Schema.Types.ObjectId,
80
+ ref: config_1.default.models.poolGameweekWinner,
81
+ required: false,
82
+ default: null
83
+ }
84
+ }, {
85
+ timestamps: true,
86
+ toJSON: { virtuals: true },
87
+ toObject: { virtuals: true }
88
+ });
89
+ poolGameweekSchema.methods.hasPaid = async function (memberId) {
90
+ try {
91
+ return await this.activePlayers.some(({ member }) => member.toString() === memberId.toString());
92
+ }
93
+ catch (e) {
94
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
95
+ }
96
+ };
97
+ const PoolGameweek = (0, mongoose_1.model)(config_1.default.models.poolGameweek, poolGameweekSchema);
98
+ exports.default = PoolGameweek;
99
+ //# sourceMappingURL=pool-gameweek.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-gameweek.model.js","sourceRoot":"","sources":["../../src/models/pool-gameweek.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Types, Document } from "mongoose";
2
+ export interface IPoolInvite extends Document {
3
+ _id: Types.ObjectId;
4
+ pool: Types.ObjectId;
5
+ email: string;
6
+ status: PoolInviteStatus;
7
+ invitedAt: Date;
8
+ expiresAt: Date;
9
+ updatedAt: Date;
10
+ hasExpired: () => Promise<boolean>;
11
+ }
12
+ export declare enum PoolInviteStatus {
13
+ Pending = "pending",
14
+ Accepted = "accepted",
15
+ Declined = "declined",
16
+ Expired = "expired"
17
+ }
18
+ declare const PoolInvite: import("mongoose").Model<IPoolInvite, {}, {}, {}, Document<unknown, {}, IPoolInvite, {}, import("mongoose").DefaultSchemaOptions> & IPoolInvite & Required<{
19
+ _id: Types.ObjectId;
20
+ }> & {
21
+ __v: number;
22
+ } & {
23
+ id: string;
24
+ }, any, IPoolInvite>;
25
+ export default PoolInvite;
26
+ //# sourceMappingURL=pool-invite.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-invite.model.d.ts","sourceRoot":"","sources":["../../src/models/pool-invite.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAI1D,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAED,oBAAY,gBAAgB;IACxB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AA0CD,QAAA,MAAM,UAAU;;;;;;oBAAiE,CAAC;AAElF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PoolInviteStatus = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const config_1 = __importDefault(require("../config"));
9
+ var PoolInviteStatus;
10
+ (function (PoolInviteStatus) {
11
+ PoolInviteStatus["Pending"] = "pending";
12
+ PoolInviteStatus["Accepted"] = "accepted";
13
+ PoolInviteStatus["Declined"] = "declined";
14
+ PoolInviteStatus["Expired"] = "expired";
15
+ })(PoolInviteStatus || (exports.PoolInviteStatus = PoolInviteStatus = {}));
16
+ const poolInviteSchema = new mongoose_1.Schema({
17
+ pool: {
18
+ type: mongoose_1.Schema.Types.ObjectId,
19
+ ref: config_1.default.models.pool,
20
+ required: true
21
+ },
22
+ email: {
23
+ type: String,
24
+ required: true
25
+ },
26
+ status: {
27
+ type: String,
28
+ required: true,
29
+ enum: PoolInviteStatus,
30
+ default: PoolInviteStatus.Pending
31
+ },
32
+ expiresAt: {
33
+ type: Date,
34
+ required: true,
35
+ default: new Date(Date.now() + (1000 * 60 * 60 * 24 * 7)) //7 days
36
+ }
37
+ }, {
38
+ timestamps: {
39
+ createdAt: 'invitedAt',
40
+ updatedAt: true
41
+ },
42
+ toJSON: { virtuals: true },
43
+ toObject: { virtuals: true }
44
+ });
45
+ poolInviteSchema.methods.hasExpired = async function () {
46
+ if (Date.now() >= this.expiresAt.getTime() && this.status.toString() !== PoolInviteStatus.Expired.toString()) {
47
+ this.status = PoolInviteStatus.Expired;
48
+ await this.save();
49
+ }
50
+ return this.status.toString() === PoolInviteStatus.Expired.toString();
51
+ };
52
+ const PoolInvite = (0, mongoose_1.model)(config_1.default.models.poolInvite, poolInviteSchema);
53
+ exports.default = PoolInvite;
54
+ //# sourceMappingURL=pool-invite.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-invite.model.js","sourceRoot":"","sources":["../../src/models/pool-invite.model.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA0D;AAC1D,uDAA+B;AAc/B,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,uCAAmB,CAAA;IACnB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;AACvB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAGD,MAAM,gBAAgB,GAAG,IAAI,iBAAM,CAAc;IAC7C,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;KACjB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gBAAgB,CAAC,OAAO;KACpC;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ;KACrE;CACJ,EAAE;IACC,UAAU,EAAE;QACR,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,IAAI;KAClB;IACD,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;IACxB,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;CAC7B,CAAC,CAAA;AAEF,gBAAgB,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK;IACvC,IAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAC,CAAC;QACzG,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;QACvC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC1E,CAAC,CAAA;AAGD,MAAM,UAAU,GAAG,IAAA,gBAAK,EAAc,gBAAM,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAElF,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Document, Types } from "mongoose";
2
+ export interface IPoolMember extends Document {
3
+ _id: Types.ObjectId;
4
+ pool: Types.ObjectId;
5
+ user: Types.ObjectId;
6
+ isAdmin: boolean;
7
+ status: PoolMemberStatus;
8
+ joinedAt: Date;
9
+ }
10
+ export declare enum PoolMemberStatus {
11
+ Active = "active",
12
+ Inactive = "inactive"
13
+ }
14
+ declare const PoolMember: import("mongoose").Model<IPoolMember, {}, {}, {}, Document<unknown, {}, IPoolMember, {}, import("mongoose").DefaultSchemaOptions> & IPoolMember & Required<{
15
+ _id: Types.ObjectId;
16
+ }> & {
17
+ __v: number;
18
+ } & {
19
+ id: string;
20
+ }, any, IPoolMember>;
21
+ export default PoolMember;
22
+ //# sourceMappingURL=pool-member.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-member.model.d.ts","sourceRoot":"","sources":["../../src/models/pool-member.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,KAAK,EAAS,MAAM,UAAU,CAAC;AAI1D,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,IAAI,CAAC;CAClB;AAED,oBAAY,gBAAgB;IACxB,MAAM,WAAW;IACjB,QAAQ,aAAa;CAExB;AAgCD,QAAA,MAAM,UAAU;;;;;;oBAAiE,CAAC;AAGlF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PoolMemberStatus = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const config_1 = __importDefault(require("../config"));
9
+ var PoolMemberStatus;
10
+ (function (PoolMemberStatus) {
11
+ PoolMemberStatus["Active"] = "active";
12
+ PoolMemberStatus["Inactive"] = "inactive";
13
+ // Banned = "banned"
14
+ })(PoolMemberStatus || (exports.PoolMemberStatus = PoolMemberStatus = {}));
15
+ const poolMemberSchema = new mongoose_1.Schema({
16
+ user: {
17
+ type: mongoose_1.Schema.Types.ObjectId,
18
+ ref: config_1.default.models.user,
19
+ required: true
20
+ },
21
+ pool: {
22
+ type: mongoose_1.Schema.Types.ObjectId,
23
+ ref: config_1.default.models.pool,
24
+ required: true
25
+ },
26
+ isAdmin: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ status: {
31
+ type: String,
32
+ enum: PoolMemberStatus,
33
+ default: PoolMemberStatus.Active
34
+ }
35
+ }, {
36
+ timestamps: {
37
+ createdAt: 'joinedAt',
38
+ updatedAt: false
39
+ },
40
+ toJSON: { virtuals: true },
41
+ toObject: { virtuals: true }
42
+ });
43
+ const PoolMember = (0, mongoose_1.model)(config_1.default.models.poolMember, poolMemberSchema);
44
+ exports.default = PoolMember;
45
+ //# sourceMappingURL=pool-member.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-member.model.js","sourceRoot":"","sources":["../../src/models/pool-member.model.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA0D;AAC1D,uDAA+B;AAY/B,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,oBAAoB;AACxB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAED,MAAM,gBAAgB,GAAG,IAAI,iBAAM,CAAc;IAC7C,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;KACjB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;KACjB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gBAAgB,CAAC,MAAM;KACnC;CACJ,EAAE;IACC,UAAU,EAAE;QACR,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,KAAK;KACnB;IACD,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;IACxB,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;CAC7B,CAAC,CAAA;AAGF,MAAM,UAAU,GAAG,IAAA,gBAAK,EAAc,gBAAM,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAGlF,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { Types, Document } from "mongoose";
2
+ import { TransactionMethod, TransactionStatus, TransactionType } from "../types/wallet";
3
+ export interface IPoolTransaction extends Document {
4
+ _id: Types.ObjectId;
5
+ key: Types.UUID;
6
+ wallet: Types.ObjectId;
7
+ member: Types.ObjectId;
8
+ paymentIntentId?: string;
9
+ amount: string;
10
+ description: string;
11
+ method: TransactionMethod;
12
+ type: TransactionType;
13
+ status: TransactionStatus;
14
+ metadata: {
15
+ cardId?: Types.ObjectId;
16
+ receiver?: Types.ObjectId;
17
+ gameweeks?: number[];
18
+ };
19
+ createdAt: Date;
20
+ updatedAt: Date;
21
+ }
22
+ export declare const poolAmountPattern: RegExp;
23
+ declare const PoolTransaction: import("mongoose").Model<IPoolTransaction, {}, {}, {}, Document<unknown, {}, IPoolTransaction, {}, import("mongoose").DefaultSchemaOptions> & IPoolTransaction & Required<{
24
+ _id: Types.ObjectId;
25
+ }> & {
26
+ __v: number;
27
+ } & {
28
+ id: string;
29
+ }, any, IPoolTransaction>;
30
+ export default PoolTransaction;
31
+ //# sourceMappingURL=pool-transaction.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-transaction.model.d.ts","sourceRoot":"","sources":["../../src/models/pool-transaction.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMxF,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAC9C,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE;QACN,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;QACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,QAAsB,CAAC;AA+FrD,QAAA,MAAM,eAAe;;;;;;yBAAgF,CAAC;AAGtG,eAAe,eAAe,CAAC"}