@fplpool/fpl-models 3.4.1 → 3.5.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 (36) hide show
  1. package/dist/config/index.d.ts +3 -0
  2. package/dist/config/index.d.ts.map +1 -1
  3. package/dist/config/index.js +3 -0
  4. package/dist/config/index.js.map +1 -1
  5. package/dist/index.d.ts +2 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/models/pool-gameweek.model.d.ts +1 -1
  10. package/dist/models/pool-gameweek.model.d.ts.map +1 -1
  11. package/dist/models/pool-gameweek.model.js +2 -30
  12. package/dist/models/pool-gameweek.model.js.map +1 -1
  13. package/dist/models/pool-wallet.model.d.ts +8 -2
  14. package/dist/models/pool-wallet.model.d.ts.map +1 -1
  15. package/dist/models/pool-wallet.model.js +94 -59
  16. package/dist/models/pool-wallet.model.js.map +1 -1
  17. package/dist/models/pool.model.d.ts +0 -2
  18. package/dist/models/pool.model.d.ts.map +1 -1
  19. package/dist/models/pool.model.js.map +1 -1
  20. package/dist/models/session.model.js +1 -1
  21. package/dist/models/session.model.js.map +1 -1
  22. package/dist/models/wallet.model.d.ts +5 -2
  23. package/dist/models/wallet.model.d.ts.map +1 -1
  24. package/dist/models/wallet.model.js +52 -61
  25. package/dist/models/wallet.model.js.map +1 -1
  26. package/dist/types/job.d.ts.map +1 -1
  27. package/dist/types/job.js.map +1 -1
  28. package/dist/types/notification.d.ts.map +1 -1
  29. package/dist/types/notification.js.map +1 -1
  30. package/dist/types/pool.d.ts.map +1 -1
  31. package/dist/types/pool.js.map +1 -1
  32. package/dist/utils/num.util.d.ts +3 -0
  33. package/dist/utils/num.util.d.ts.map +1 -0
  34. package/dist/utils/num.util.js +18 -0
  35. package/dist/utils/num.util.js.map +1 -0
  36. package/package.json +1 -1
@@ -1,4 +1,7 @@
1
1
  declare const _default: {
2
+ app: {
3
+ basis: number;
4
+ };
2
5
  db: {
3
6
  mongo: {
4
7
  uri: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAiCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAoCC"}
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const dotenv_1 = require("dotenv");
4
4
  (0, dotenv_1.config)();
5
5
  exports.default = {
6
+ app: {
7
+ basis: 10000,
8
+ },
6
9
  db: {
7
10
  mongo: {
8
11
  uri: process.env.MONGO_URI || ``,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;AAAA,mCAA8B;AAG9B,IAAA,eAAM,GAAE,CAAC;AAGT,kBAAe;IACX,EAAE,EAAE;QACA,KAAK,EAAE;YACH,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW;YAC3C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK;YACrC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,KAAK;SAChD;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,cAAc;QAC5B,oBAAoB,EAAE,sBAAsB;QAC5C,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,YAAY;QACxB,YAAY,EAAE,cAAc;QAC5B,kBAAkB,EAAE,oBAAoB;QACxC,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,iBAAiB;QAClC,WAAW,EAAE,aAAa;QAC1B,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,aAAa;KAC7B;CACJ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;AAAA,mCAA8B;AAG9B,IAAA,eAAM,GAAE,CAAC;AAGT,kBAAe;IACX,GAAG,EAAE;QACD,KAAK,EAAE,KAAM;KAChB;IACD,EAAE,EAAE;QACA,KAAK,EAAE;YACH,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW;YAC3C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK;YACrC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,KAAK;SAChD;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,cAAc;QAC5B,oBAAoB,EAAE,sBAAsB;QAC5C,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,YAAY;QACxB,YAAY,EAAE,cAAc;QAC5B,kBAAkB,EAAE,oBAAoB;QACxC,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,iBAAiB;QAClC,WAAW,EAAE,aAAa;QAC1B,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,aAAa;KAC7B;CACJ,CAAA"}
package/dist/index.d.ts CHANGED
@@ -38,13 +38,14 @@ export * from "./models/notification.model";
38
38
  export { default as Notification } from "./models/notification.model";
39
39
  export * from "./models/device-token.model";
40
40
  export { default as DeviceToken } from "./models/device-token.model";
41
- export { default as GenericRepository } from "./repositories/generic.repository";
42
41
  export * from "./types/wallet";
43
42
  export * from "./types/pool";
44
43
  export * from "./types/notification";
45
44
  export * from "./types/fpl";
46
45
  export * from "./types/job";
46
+ export * from "./utils/num.util";
47
47
  export { default as StatusCode } from "./enums/status-code.enum";
48
48
  export { default as Status } from "./enums/status.enum";
49
49
  export { default as AdvancedError } from "./errors/advanced.error";
50
+ export { default as GenericRepository } from "./repositories/generic.repository";
50
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvE,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE5D,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEpE,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAc,uCAAuC,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAExF,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvE,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEpF,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAE7E,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEpD,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE5D,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAErE,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEtE,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAE7B,cAAc,sBAAsB,CAAC;AAErC,cAAc,aAAa,CAAC;AAE5B,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvE,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE5D,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEpE,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAc,uCAAuC,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAExF,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvE,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEpF,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAE7E,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEpD,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE5D,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAErE,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEtE,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAErE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,mCAAmC,CAAC"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.AdvancedError = exports.Status = exports.StatusCode = exports.GenericRepository = exports.DeviceToken = exports.Notification = exports.PoolSettings = exports.Config = exports.Invoice = exports.Job = exports.PoolTransaction = exports.PoolInvite = exports.PoolGameweekWinner = exports.PoolGameweek = exports.PoolWallet = exports.PoolMember = exports.PoolGameweekDeadline = exports.Pool = exports.Transaction = exports.Card = exports.Wallet = exports.Session = exports.UserSettings = exports.User = void 0;
20
+ exports.GenericRepository = exports.AdvancedError = exports.Status = exports.StatusCode = exports.DeviceToken = exports.Notification = exports.PoolSettings = exports.Config = exports.Invoice = exports.Job = exports.PoolTransaction = exports.PoolInvite = exports.PoolGameweekWinner = exports.PoolGameweek = exports.PoolWallet = exports.PoolMember = exports.PoolGameweekDeadline = exports.Pool = exports.Transaction = exports.Card = exports.Wallet = exports.Session = exports.UserSettings = exports.User = void 0;
21
21
  __exportStar(require("./models/user.model"), exports);
22
22
  var user_model_1 = require("./models/user.model");
23
23
  Object.defineProperty(exports, "User", { enumerable: true, get: function () { return __importDefault(user_model_1).default; } });
@@ -78,17 +78,18 @@ Object.defineProperty(exports, "Notification", { enumerable: true, get: function
78
78
  __exportStar(require("./models/device-token.model"), exports);
79
79
  var device_token_model_1 = require("./models/device-token.model");
80
80
  Object.defineProperty(exports, "DeviceToken", { enumerable: true, get: function () { return __importDefault(device_token_model_1).default; } });
81
- var generic_repository_1 = require("./repositories/generic.repository");
82
- Object.defineProperty(exports, "GenericRepository", { enumerable: true, get: function () { return __importDefault(generic_repository_1).default; } });
83
81
  __exportStar(require("./types/wallet"), exports);
84
82
  __exportStar(require("./types/pool"), exports);
85
83
  __exportStar(require("./types/notification"), exports);
86
84
  __exportStar(require("./types/fpl"), exports);
87
85
  __exportStar(require("./types/job"), exports);
86
+ __exportStar(require("./utils/num.util"), exports);
88
87
  var status_code_enum_1 = require("./enums/status-code.enum");
89
88
  Object.defineProperty(exports, "StatusCode", { enumerable: true, get: function () { return __importDefault(status_code_enum_1).default; } });
90
89
  var status_enum_1 = require("./enums/status.enum");
91
90
  Object.defineProperty(exports, "Status", { enumerable: true, get: function () { return __importDefault(status_enum_1).default; } });
92
91
  var advanced_error_1 = require("./errors/advanced.error");
93
92
  Object.defineProperty(exports, "AdvancedError", { enumerable: true, get: function () { return __importDefault(advanced_error_1).default; } });
93
+ var generic_repository_1 = require("./repositories/generic.repository");
94
+ Object.defineProperty(exports, "GenericRepository", { enumerable: true, get: function () { return __importDefault(generic_repository_1).default; } });
94
95
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,kDAAsD;AAA7C,mHAAA,OAAO,OAAQ;AAExB,+DAA6C;AAC7C,oEAAuE;AAA9D,oIAAA,OAAO,OAAgB;AAEhC,yDAAuC;AACvC,wDAA4D;AAAnD,yHAAA,OAAO,OAAW;AAE3B,wDAAsC;AACtC,sDAA0D;AAAjD,uHAAA,OAAO,OAAU;AAE1B,sDAAoC;AACpC,kDAAsD;AAA7C,mHAAA,OAAO,OAAQ;AAExB,6DAA2C;AAC3C,gEAAoE;AAA3D,iIAAA,OAAO,OAAe;AAE/B,sDAAoC;AACpC,kDAAsD;AAA7C,mHAAA,OAAO,OAAQ;AAExB,wEAAsD;AACtD,sFAAwF;AAA/E,qJAAA,OAAO,OAAwB;AAExC,6DAA2C;AAC3C,gEAAmE;AAA1D,gIAAA,OAAO,OAAc;AAE9B,6DAA2C;AAC3C,gEAAmE;AAA1D,gIAAA,OAAO,OAAc;AAE9B,+DAA6C;AAC7C,oEAAuE;AAA9D,oIAAA,OAAO,OAAgB;AAEhC,sEAAoD;AACpD,kFAAoF;AAA3E,iJAAA,OAAO,OAAsB;AAEtC,6DAA2C;AAC3C,gEAAmE;AAA1D,gIAAA,OAAO,OAAc;AAE9B,kEAAgD;AAChD,0EAA6E;AAApE,0IAAA,OAAO,OAAmB;AAEnC,qDAAmC;AACnC,gDAAoD;AAA3C,iHAAA,OAAO,OAAO;AAEvB,yDAAuC;AACvC,wDAA4D;AAAnD,yHAAA,OAAO,OAAW;AAE3B,wDAAsC;AACtC,sDAA0D;AAAjD,uHAAA,OAAO,OAAU;AAE1B,+DAA6C;AAC7C,oEAAqE;AAA7D,oIAAA,OAAO,OAAgB;AAE/B,8DAA4C;AAC5C,kEAAsE;AAA7D,mIAAA,OAAO,OAAgB;AAEhC,8DAA4C;AAC5C,kEAAqE;AAA5D,kIAAA,OAAO,OAAe;AAE/B,wEAAiF;AAAxE,wIAAA,OAAO,OAAqB;AAErC,iDAA+B;AAE/B,+CAA6B;AAE7B,uDAAqC;AAErC,8CAA4B;AAE5B,8CAA4B;AAE5B,6DAAiE;AAAxD,+HAAA,OAAO,OAAc;AAC9B,mDAAwD;AAA/C,sHAAA,OAAO,OAAU;AAC1B,0DAAmE;AAA1D,gIAAA,OAAO,OAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,kDAAsD;AAA7C,mHAAA,OAAO,OAAQ;AAExB,+DAA6C;AAC7C,oEAAuE;AAA9D,oIAAA,OAAO,OAAgB;AAEhC,yDAAuC;AACvC,wDAA4D;AAAnD,yHAAA,OAAO,OAAW;AAE3B,wDAAsC;AACtC,sDAA0D;AAAjD,uHAAA,OAAO,OAAU;AAE1B,sDAAoC;AACpC,kDAAsD;AAA7C,mHAAA,OAAO,OAAQ;AAExB,6DAA2C;AAC3C,gEAAoE;AAA3D,iIAAA,OAAO,OAAe;AAE/B,sDAAoC;AACpC,kDAAsD;AAA7C,mHAAA,OAAO,OAAQ;AAExB,wEAAsD;AACtD,sFAAwF;AAA/E,qJAAA,OAAO,OAAwB;AAExC,6DAA2C;AAC3C,gEAAmE;AAA1D,gIAAA,OAAO,OAAc;AAE9B,6DAA2C;AAC3C,gEAAmE;AAA1D,gIAAA,OAAO,OAAc;AAE9B,+DAA6C;AAC7C,oEAAuE;AAA9D,oIAAA,OAAO,OAAgB;AAEhC,sEAAoD;AACpD,kFAAoF;AAA3E,iJAAA,OAAO,OAAsB;AAEtC,6DAA2C;AAC3C,gEAAmE;AAA1D,gIAAA,OAAO,OAAc;AAE9B,kEAAgD;AAChD,0EAA6E;AAApE,0IAAA,OAAO,OAAmB;AAEnC,qDAAmC;AACnC,gDAAoD;AAA3C,iHAAA,OAAO,OAAO;AAEvB,yDAAuC;AACvC,wDAA4D;AAAnD,yHAAA,OAAO,OAAW;AAE3B,wDAAsC;AACtC,sDAA0D;AAAjD,uHAAA,OAAO,OAAU;AAE1B,+DAA6C;AAC7C,oEAAqE;AAA7D,oIAAA,OAAO,OAAgB;AAE/B,8DAA4C;AAC5C,kEAAsE;AAA7D,mIAAA,OAAO,OAAgB;AAEhC,8DAA4C;AAC5C,kEAAqE;AAA5D,kIAAA,OAAO,OAAe;AAE/B,iDAA+B;AAC/B,+CAA6B;AAC7B,uDAAqC;AACrC,8CAA4B;AAC5B,8CAA4B;AAC5B,mDAAiC;AAEjC,6DAAiE;AAAxD,+HAAA,OAAO,OAAc;AAC9B,mDAAwD;AAA/C,sHAAA,OAAO,OAAU;AAC1B,0DAAmE;AAA1D,gIAAA,OAAO,OAAiB;AACjC,wEAAiF;AAAxE,wIAAA,OAAO,OAAqB"}
@@ -9,7 +9,7 @@ export interface IPoolGameweek extends Document {
9
9
  score: number;
10
10
  }[];
11
11
  winner: Types.ObjectId | null;
12
- balance: string;
12
+ balance: number;
13
13
  startedAt: Date | null;
14
14
  participationRateBps: number;
15
15
  createdAt: Date;
@@ -1 +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"}
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;AAkED,QAAA,MAAM,YAAY;;;;;;sBAAuE,CAAC;AAE1F,eAAe,YAAY,CAAC"}
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const mongoose_1 = require("mongoose");
7
7
  const config_1 = __importDefault(require("../config"));
8
- const pool_transaction_model_1 = require("./pool-transaction.model");
9
8
  const advanced_error_1 = __importDefault(require("../errors/advanced.error"));
10
9
  const status_code_enum_1 = __importDefault(require("../enums/status-code.enum"));
11
10
  const poolGameweekSchema = new mongoose_1.Schema({
@@ -44,36 +43,9 @@ const poolGameweekSchema = new mongoose_1.Schema({
44
43
  default: 0
45
44
  },
46
45
  balance: {
47
- type: String,
46
+ type: Number,
48
47
  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
- }
48
+ default: 0,
77
49
  },
78
50
  winner: {
79
51
  type: mongoose_1.Schema.Types.ObjectId,
@@ -1 +1 @@
1
- {"version":3,"file":"pool-gameweek.model.js","sourceRoot":"","sources":["../../src/models/pool-gameweek.model.ts"],"names":[],"mappings":";;;;;AAAA,uCAA0D;AAC1D,uDAA+B;AAC/B,qEAA6D;AAC7D,8EAAqD;AACrD,iFAAmD;AAqBnD,MAAM,kBAAkB,GAAG,IAAI,iBAAM,CAAgB;IACjD,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;KACjB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB;IACD,aAAa,EAAE,CAAC;YACZ,MAAM,EAAE;gBACJ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;gBAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,UAAU;aAChC;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,CAAC;aACb;SACJ,CAAC;IACF,MAAM,EAAE;QACJ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACjB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;KAChB;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC;KACb;IACD,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,0CAAiB;QACxB,GAAG,EAAE,UAAS,KAAa;YACvB,qEAAqE;YACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,0CAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,qDAAqD;oBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACzC,IAAI,QAAQ,KAAK,SAAS;4BAAE,OAAO,KAAK,GAAG,KAAK,CAAC;wBACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,KAAK,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;wBAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,KAAK,CAAC;wBACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;4BAAE,OAAO,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;oBACtE,CAAC;oBACD,sBAAsB;oBACtB,OAAO,KAAK,GAAG,KAAK,CAAC;gBACzB,CAAC;gBACD,8BAA8B;gBAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,KAAK,GAAG,KAAK,CAAC;gBACzB,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,kBAAkB;QACrC,QAAQ,EAAE,KAAK;QACf,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;AAGF,kBAAkB,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,WAAU,QAAwB;IACxE,IAAG,CAAC;QACA,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC,MAAM,EAA0C,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3I,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAID,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAgB,gBAAM,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAE1F,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"pool-gameweek.model.js","sourceRoot":"","sources":["../../src/models/pool-gameweek.model.ts"],"names":[],"mappings":";;;;;AAAA,uCAA0D;AAC1D,uDAA+B;AAE/B,8EAAqD;AACrD,iFAAmD;AAqBnD,MAAM,kBAAkB,GAAG,IAAI,iBAAM,CAAgB;IACjD,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;KACjB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB;IACD,aAAa,EAAE,CAAC;YACZ,MAAM,EAAE;gBACJ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;gBAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,UAAU;aAChC;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,CAAC;aACb;SACJ,CAAC;IACF,MAAM,EAAE;QACJ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACjB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;KAChB;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC;KACb;IACD,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC;KACb;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,kBAAkB;QACrC,QAAQ,EAAE,KAAK;QACf,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;AAGF,kBAAkB,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,WAAU,QAAwB;IACxE,IAAG,CAAC;QACA,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC,MAAM,EAA0C,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3I,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAID,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAgB,gBAAM,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAE1F,kBAAe,YAAY,CAAC"}
@@ -1,11 +1,17 @@
1
1
  import { Types, Document } from "mongoose";
2
+ import { IPoolTransaction } from "./pool-transaction.model";
2
3
  export interface IPoolWallet extends Document {
3
4
  _id: Types.ObjectId;
4
5
  pool: Types.ObjectId;
5
- balance: string;
6
- availableBalance: string;
6
+ balance: number;
7
+ availableBalance: number;
7
8
  createdAt: Date;
8
9
  updatedAt: Date;
10
+ credit: (transaction: IPoolTransaction) => Promise<void>;
11
+ debit: (transaction: IPoolTransaction) => Promise<void>;
12
+ debitBalance: (amount: number) => Promise<void>;
13
+ debitAvailableBalance: (amount: number) => Promise<void>;
14
+ refund: (transaction: IPoolTransaction) => Promise<void>;
9
15
  }
10
16
  declare const PoolWallet: import("mongoose").Model<IPoolWallet, {}, {}, {}, Document<unknown, {}, IPoolWallet, {}, import("mongoose").DefaultSchemaOptions> & IPoolWallet & Required<{
11
17
  _id: Types.ObjectId;
@@ -1 +1 @@
1
- {"version":3,"file":"pool-wallet.model.d.ts","sourceRoot":"","sources":["../../src/models/pool-wallet.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAM1D,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB;AAyED,QAAA,MAAM,UAAU;;;;;;oBAAiE,CAAC;AAElF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"pool-wallet.model.d.ts","sourceRoot":"","sources":["../../src/models/pool-wallet.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQ5D,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAuHD,QAAA,MAAM,UAAU;;;;;;oBAAiE,CAAC;AAElF,eAAe,UAAU,CAAC"}
@@ -5,7 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const mongoose_1 = require("mongoose");
7
7
  const config_1 = __importDefault(require("../config"));
8
- const pool_transaction_model_1 = require("./pool-transaction.model");
8
+ const wallet_1 = require("../types/wallet");
9
+ const advanced_error_1 = __importDefault(require("../errors/advanced.error"));
10
+ const num_util_1 = require("../utils/num.util");
11
+ const status_code_enum_1 = __importDefault(require("../enums/status-code.enum"));
9
12
  const poolWalletSchema = new mongoose_1.Schema({
10
13
  pool: {
11
14
  type: mongoose_1.Schema.Types.ObjectId,
@@ -13,74 +16,106 @@ const poolWalletSchema = new mongoose_1.Schema({
13
16
  required: true
14
17
  },
15
18
  balance: {
16
- type: String,
19
+ type: Number,
17
20
  required: true,
18
- match: pool_transaction_model_1.poolAmountPattern,
19
- set: function (value) {
20
- // If value already looks like a float (has a .), ensure two decimals
21
- if (typeof value === "string") {
22
- if (pool_transaction_model_1.poolAmountPattern.test(value)) {
23
- // If it has a dot but is not two decimals, pad right
24
- if (value.indexOf('.') !== -1) {
25
- let [whole, decimals] = value.split('.');
26
- if (decimals === undefined)
27
- return whole + ".00";
28
- if (decimals.length === 1)
29
- return whole + "." + decimals + "0";
30
- if (decimals.length === 2)
31
- return value;
32
- if (decimals.length > 2)
33
- return whole + "." + decimals.slice(0, 2);
34
- }
35
- // No decimal: add .00
36
- return value + ".00";
37
- }
38
- // If it's an integer, add .00
39
- if (/^\d+$/.test(value)) {
40
- return value + ".00";
41
- }
42
- }
43
- return value;
44
- },
45
- default: "0.00"
21
+ default: 0
46
22
  },
47
23
  availableBalance: {
48
- type: String,
24
+ type: Number,
49
25
  required: false,
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
- default: "0.00"
26
+ default: 0
78
27
  }
79
28
  }, {
80
29
  timestamps: true,
81
30
  toJSON: { virtuals: true },
82
31
  toObject: { virtuals: true }
83
32
  });
33
+ poolWalletSchema.methods.credit = async function (transaction) {
34
+ try {
35
+ if (transaction.type !== wallet_1.TransactionType.Credit)
36
+ throw new advanced_error_1.default('Invalid credit transaction', status_code_enum_1.default.BAD_REQUEST);
37
+ if (transaction.status === wallet_1.TransactionStatus.Failed)
38
+ throw new advanced_error_1.default('This transaction has already failed', status_code_enum_1.default.BAD_REQUEST);
39
+ if (transaction.status !== wallet_1.TransactionStatus.Completed)
40
+ throw new advanced_error_1.default('This transaction is not completed', status_code_enum_1.default.BAD_REQUEST);
41
+ let amount = (0, num_util_1.parseToBasis)(parseFloat(transaction.amount));
42
+ this.availableBalance = this.availableBalance + amount;
43
+ this.balance = this.balance + amount;
44
+ console.log("[*] Wallet credited", { wallet: this.toJSON(), transaction: transaction.toJSON() });
45
+ await this.save();
46
+ }
47
+ catch (e) {
48
+ console.error("[*] Error crediting wallet", { error: e.message, stack: e.stack });
49
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
50
+ }
51
+ };
52
+ poolWalletSchema.methods.debit = async function (transaction) {
53
+ try {
54
+ if (transaction.type !== wallet_1.TransactionType.Debit)
55
+ throw new advanced_error_1.default('Invalid debit transaction', status_code_enum_1.default.BAD_REQUEST);
56
+ if (transaction.status === wallet_1.TransactionStatus.Failed)
57
+ throw new advanced_error_1.default('This transaction has already failed', status_code_enum_1.default.BAD_REQUEST);
58
+ //at this point the wallet was found
59
+ let amount = (0, num_util_1.parseToBasis)(parseFloat(transaction.amount));
60
+ let hasEnoughBalance = this.balance >= amount;
61
+ if (!hasEnoughBalance)
62
+ throw new advanced_error_1.default('Insufficient balance', status_code_enum_1.default.BAD_REQUEST);
63
+ //at this point the wallet has enough funds to make the debit
64
+ if (transaction.status === wallet_1.TransactionStatus.Pending)
65
+ throw new advanced_error_1.default('This transaction is still pending', status_code_enum_1.default.BAD_REQUEST);
66
+ //at this point the status is completed
67
+ this.balance = this.balance - amount;
68
+ this.availableBalance = this.availableBalance - amount;
69
+ console.log("[*] Wallet debited", { wallet: this.toJSON(), transaction: transaction.toJSON() });
70
+ await this.save();
71
+ }
72
+ catch (e) {
73
+ console.error("[*] Error debiting wallet", { error: e.message, stack: e.stack });
74
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
75
+ }
76
+ };
77
+ poolWalletSchema.methods.debitBalance = async function (amount) {
78
+ try {
79
+ if (this.balance < amount)
80
+ throw new advanced_error_1.default('Insufficient balance', status_code_enum_1.default.BAD_REQUEST);
81
+ this.balance = this.balance - amount;
82
+ await this.save();
83
+ }
84
+ catch (e) {
85
+ console.error("[*] Error debiting available balance", { error: e.message, stack: e.stack });
86
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
87
+ }
88
+ };
89
+ poolWalletSchema.methods.debitAvailableBalance = async function (amount) {
90
+ try {
91
+ if (this.availableBalance < amount)
92
+ throw new advanced_error_1.default('Insufficient available balance', status_code_enum_1.default.BAD_REQUEST);
93
+ this.availableBalance = this.availableBalance - amount;
94
+ await this.save();
95
+ }
96
+ catch (e) {
97
+ console.error("[*] Error debiting available balance", { error: e.message, stack: e.stack });
98
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
99
+ }
100
+ };
101
+ poolWalletSchema.methods.refund = async function (transaction) {
102
+ try {
103
+ //check that the transaction is a debit transaction
104
+ if (transaction.type !== wallet_1.TransactionType.Debit)
105
+ throw new advanced_error_1.default("Cannot refund a credit transaction", status_code_enum_1.default.BAD_REQUEST);
106
+ if (transaction.status !== wallet_1.TransactionStatus.Failed)
107
+ throw new advanced_error_1.default("Cannot refund a successful or pending transaction", status_code_enum_1.default.BAD_REQUEST);
108
+ //at this point the transaction checks out
109
+ //now we can refund the balance to their available balance, since we deducted it from their available balance only
110
+ this.availableBalance = parseFloat(this.availableBalance) + parseFloat(transaction.amount);
111
+ console.log("[*] Wallet refunded", { wallet: this.toJSON(), transaction: transaction.toJSON() });
112
+ await this.save();
113
+ }
114
+ catch (e) {
115
+ console.error("[*] Error refunding wallet", { error: e.message, stack: e.stack });
116
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
117
+ }
118
+ };
84
119
  const PoolWallet = (0, mongoose_1.model)(config_1.default.models.poolWallet, poolWalletSchema);
85
120
  exports.default = PoolWallet;
86
121
  //# sourceMappingURL=pool-wallet.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pool-wallet.model.js","sourceRoot":"","sources":["../../src/models/pool-wallet.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool-wallet.model.js","sourceRoot":"","sources":["../../src/models/pool-wallet.model.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,7 @@ export interface IPool extends Document {
11
11
  description: string;
12
12
  amount: number;
13
13
  startGameweek: number;
14
- currency: string;
15
14
  members: number;
16
- maxMembers: number;
17
15
  type: PoolType;
18
16
  status: PoolStatus;
19
17
  createdAt: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"pool.model.d.ts","sourceRoot":"","sources":["../../src/models/pool.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,KAAK,EAAS,MAAM,UAAU,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtD,MAAM,WAAW,KAAM,SAAQ,QAAQ;IACnC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CAC3B;AAED,oBAAY,UAAU;IAClB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACxB;AA8ED,QAAA,MAAM,IAAI;;;;;;cAA+C,CAAC;AAG1D,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"pool.model.d.ts","sourceRoot":"","sources":["../../src/models/pool.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,KAAK,EAAS,MAAM,UAAU,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtD,MAAM,WAAW,KAAM,SAAQ,QAAQ;IACnC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CAC3B;AAED,oBAAY,UAAU;IAClB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACxB;AA8ED,QAAA,MAAM,IAAI;;;;;;cAA+C,CAAC;AAG1D,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool.model.js","sourceRoot":"","sources":["../../src/models/pool.model.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA0D;AAE1D,uDAA+B;AAC/B,wCAAyC;AA0BzC,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;AACzB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAGD,MAAM,UAAU,GAAG,IAAI,iBAAM,CAAQ;IACjC,GAAG,EAAE;QACD,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;KAChB;IACD,KAAK,EAAE;QACH,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,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACpC,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,EAAE,EAAE,4BAA4B,CAAC;KAC7C;IACD,OAAO,EAAE;QACL,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC;QACvC,OAAO,EAAE,KAAK;KACjB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACpC,IAAI,EAAE,IAAI,EAAE,mGAAmG;QAC/G,MAAM,EAAE,CAAC,IAAI,EAAE,0BAA0B,CAAC;QAC1C,SAAS,EAAE,CAAC,EAAE,EAAE,sCAAsC,CAAC;KAC1D;IACD,WAAW,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC;QAC3C,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC,GAAG,EAAE,8CAA8C,CAAC;KACnE;IACD,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACb;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC;QACtC,OAAO,EAAE,CAAC;KACb;IACD,aAAa,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,4BAA4B,CAAC;QAC9C,OAAO,EAAE,CAAC;KACb;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACpC,IAAI,EAAE,eAAQ;QACd,OAAO,EAAE,eAAQ,CAAC,MAAM;KAC3B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC;QACtC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,UAAU,CAAC,MAAM;KAC7B;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,YAAY;QAC/B,QAAQ,EAAE,IAAI;KACjB;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,IAAI,GAAG,IAAA,gBAAK,EAAQ,gBAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG1D,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"pool.model.js","sourceRoot":"","sources":["../../src/models/pool.model.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA0D;AAE1D,uDAA+B;AAC/B,wCAAyC;AAwBzC,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;AACzB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAGD,MAAM,UAAU,GAAG,IAAI,iBAAM,CAAQ;IACjC,GAAG,EAAE;QACD,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;KAChB;IACD,KAAK,EAAE;QACH,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,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACpC,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,EAAE,EAAE,4BAA4B,CAAC;KAC7C;IACD,OAAO,EAAE;QACL,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC;QACvC,OAAO,EAAE,KAAK;KACjB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACpC,IAAI,EAAE,IAAI,EAAE,mGAAmG;QAC/G,MAAM,EAAE,CAAC,IAAI,EAAE,0BAA0B,CAAC;QAC1C,SAAS,EAAE,CAAC,EAAE,EAAE,sCAAsC,CAAC;KAC1D;IACD,WAAW,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC;QAC3C,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC,GAAG,EAAE,8CAA8C,CAAC;KACnE;IACD,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACb;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC;QACtC,OAAO,EAAE,CAAC;KACb;IACD,aAAa,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,4BAA4B,CAAC;QAC9C,OAAO,EAAE,CAAC;KACb;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACpC,IAAI,EAAE,eAAQ;QACd,OAAO,EAAE,eAAQ,CAAC,MAAM;KAC3B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC;QACtC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,UAAU,CAAC,MAAM;KAC7B;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,YAAY;QAC/B,QAAQ,EAAE,IAAI;KACjB;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,IAAI,GAAG,IAAA,gBAAK,EAAQ,gBAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG1D,kBAAe,IAAI,CAAC"}
@@ -17,7 +17,7 @@ const sessionSchema = new mongoose_1.Schema({
17
17
  expiresAt: {
18
18
  required: true,
19
19
  type: Date,
20
- default: new Date(Date.now()) //30 days
20
+ default: new Date(Date.now() + (1000 * 60 * 60 * 24 * 30)) //30 days
21
21
  },
22
22
  }, {
23
23
  timestamps: true,
@@ -1 +1 @@
1
- {"version":3,"file":"session.model.js","sourceRoot":"","sources":["../../src/models/session.model.ts"],"names":[],"mappings":";;;;;AAAA,uCAAwD;AAExD,uDAA+B;AAiB/B,MAAM,aAAa,GAAG,IAAI,iBAAM,CAAW;IACvC,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;KACjB;IACD,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE;QACP,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,CAAC,SAAS;KAC3C;CACJ,EACD;IACI,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;IACxB,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;CAC7B,CAAC,CAAC;AAIH,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAW,gBAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAGtE,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"session.model.js","sourceRoot":"","sources":["../../src/models/session.model.ts"],"names":[],"mappings":";;;;;AAAA,uCAAwD;AAExD,uDAA+B;AAiB/B,MAAM,aAAa,GAAG,IAAI,iBAAM,CAAW;IACvC,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;KACjB;IACD,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE;QACP,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;KACvE;CACJ,EACD;IACI,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;IACxB,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC;CAC7B,CAAC,CAAC;AAIH,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAW,gBAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAGtE,kBAAe,OAAO,CAAC"}
@@ -4,12 +4,15 @@ export interface IWallet extends Document {
4
4
  _id: Types.ObjectId;
5
5
  user: Types.ObjectId;
6
6
  cards: Types.ObjectId[];
7
- balance: string;
8
- availableBalance: string;
7
+ balance: number;
8
+ availableBalance: number;
9
9
  customerId?: string;
10
10
  createdAt: Date;
11
11
  updatedAt: Date;
12
+ credit: (transaction: ITransaction) => Promise<void>;
12
13
  debit: (transaction: ITransaction) => Promise<void>;
14
+ debitBalance: (amount: number) => Promise<void>;
15
+ debitAvailableBalance: (amount: number) => Promise<void>;
13
16
  refund: (transaction: ITransaction) => Promise<void>;
14
17
  }
15
18
  declare const Wallet: import("mongoose").Model<IWallet, {}, {}, {}, Document<unknown, {}, IWallet, {}, import("mongoose").DefaultSchemaOptions> & IWallet & Required<{
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.model.d.ts","sourceRoot":"","sources":["../../src/models/wallet.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACrC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AA+HD,QAAA,MAAM,MAAM;;;;;;gBAAqD,CAAC;AAGlE,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"wallet.model.d.ts","sourceRoot":"","sources":["../../src/models/wallet.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQnD,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACrC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAgID,QAAA,MAAM,MAAM;;;;;;gBAAqD,CAAC;AAGlE,eAAe,MAAM,CAAC"}
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const mongoose_1 = require("mongoose");
7
7
  const config_1 = __importDefault(require("../config"));
8
- const pool_transaction_model_1 = require("./pool-transaction.model");
9
8
  const advanced_error_1 = __importDefault(require("../errors/advanced.error"));
10
9
  const status_code_enum_1 = __importDefault(require("../enums/status-code.enum"));
11
10
  const wallet_1 = require("../types/wallet");
11
+ const num_util_1 = require("../utils/num.util");
12
12
  const walletSchema = new mongoose_1.Schema({
13
13
  user: {
14
14
  type: mongoose_1.Schema.Types.ObjectId,
@@ -27,74 +27,39 @@ const walletSchema = new mongoose_1.Schema({
27
27
  ref: config_1.default.models.card
28
28
  }],
29
29
  balance: {
30
- type: String,
30
+ type: Number,
31
31
  required: true,
32
- match: pool_transaction_model_1.poolAmountPattern,
33
- set: function (value) {
34
- // If value already looks like a float (has a .), ensure two decimals
35
- if (typeof value === "string") {
36
- if (pool_transaction_model_1.poolAmountPattern.test(value)) {
37
- // If it has a dot but is not two decimals, pad right
38
- if (value.indexOf('.') !== -1) {
39
- let [whole, decimals] = value.split('.');
40
- if (decimals === undefined)
41
- return whole + ".00";
42
- if (decimals.length === 1)
43
- return whole + "." + decimals + "0";
44
- if (decimals.length === 2)
45
- return value;
46
- if (decimals.length > 2)
47
- return whole + "." + decimals.slice(0, 2);
48
- }
49
- // No decimal: add .00
50
- return value + ".00";
51
- }
52
- // If it's an integer, add .00
53
- if (/^\d+$/.test(value)) {
54
- return value + ".00";
55
- }
56
- }
57
- return value;
58
- },
59
- default: "0.00"
32
+ default: 0
60
33
  },
61
34
  availableBalance: {
62
- type: String,
35
+ type: Number,
63
36
  required: false,
64
- match: pool_transaction_model_1.poolAmountPattern,
65
- set: function (value) {
66
- // If value already looks like a float (has a .), ensure two decimals
67
- if (typeof value === "string") {
68
- if (pool_transaction_model_1.poolAmountPattern.test(value)) {
69
- // If it has a dot but is not two decimals, pad right
70
- if (value.indexOf('.') !== -1) {
71
- let [whole, decimals] = value.split('.');
72
- if (decimals === undefined)
73
- return whole + ".00";
74
- if (decimals.length === 1)
75
- return whole + "." + decimals + "0";
76
- if (decimals.length === 2)
77
- return value;
78
- if (decimals.length > 2)
79
- return whole + "." + decimals.slice(0, 2);
80
- }
81
- // No decimal: add .00
82
- return value + ".00";
83
- }
84
- // If it's an integer, add .00
85
- if (/^\d+$/.test(value)) {
86
- return value + ".00";
87
- }
88
- }
89
- return value;
90
- },
91
- default: "0.00"
37
+ default: 0
92
38
  }
93
39
  }, {
94
40
  timestamps: true,
95
41
  toJSON: { virtuals: true },
96
42
  toObject: { virtuals: true }
97
43
  });
44
+ walletSchema.methods.credit = async function (transaction) {
45
+ try {
46
+ if (transaction.type !== wallet_1.TransactionType.Credit)
47
+ throw new advanced_error_1.default('Invalid credit transaction', status_code_enum_1.default.BAD_REQUEST);
48
+ if (transaction.status === wallet_1.TransactionStatus.Failed)
49
+ throw new advanced_error_1.default('This transaction has already failed', status_code_enum_1.default.BAD_REQUEST);
50
+ if (transaction.status !== wallet_1.TransactionStatus.Completed)
51
+ throw new advanced_error_1.default('This transaction is not completed', status_code_enum_1.default.BAD_REQUEST);
52
+ let amount = (0, num_util_1.parseToBasis)(parseFloat(transaction.amount));
53
+ this.availableBalance = this.availableBalance + amount;
54
+ this.balance = this.balance + amount;
55
+ console.log("[*] Wallet credited", { wallet: this.toJSON(), transaction: transaction.toJSON() });
56
+ await this.save();
57
+ }
58
+ catch (e) {
59
+ console.error("[*] Error crediting wallet", { error: e.message, stack: e.stack });
60
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
61
+ }
62
+ };
98
63
  walletSchema.methods.debit = async function (transaction) {
99
64
  try {
100
65
  if (transaction.type !== wallet_1.TransactionType.Debit)
@@ -102,14 +67,16 @@ walletSchema.methods.debit = async function (transaction) {
102
67
  if (transaction.status === wallet_1.TransactionStatus.Failed)
103
68
  throw new advanced_error_1.default('This transaction has already failed', status_code_enum_1.default.BAD_REQUEST);
104
69
  //at this point the wallet was found
105
- let hasEnoughBalance = parseFloat(this.balance) >= parseFloat(transaction.amount);
70
+ let amount = (0, num_util_1.parseToBasis)(parseFloat(transaction.amount));
71
+ let hasEnoughBalance = this.balance >= amount;
106
72
  if (!hasEnoughBalance)
107
73
  throw new advanced_error_1.default('Insufficient balance', status_code_enum_1.default.BAD_REQUEST);
108
74
  //at this point the wallet has enough funds to make the debit
109
75
  if (transaction.status === wallet_1.TransactionStatus.Pending)
110
76
  throw new advanced_error_1.default('This transaction is still pending', status_code_enum_1.default.BAD_REQUEST);
111
77
  //at this point the status is completed
112
- this.balance = (parseFloat(this.balance) - parseFloat(transaction.amount)).toString();
78
+ this.balance = this.balance - amount;
79
+ this.availableBalance = this.availableBalance - amount;
113
80
  console.log("[*] Wallet debited", { wallet: this.toJSON(), transaction: transaction.toJSON() });
114
81
  await this.save();
115
82
  }
@@ -118,6 +85,30 @@ walletSchema.methods.debit = async function (transaction) {
118
85
  throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
119
86
  }
120
87
  };
88
+ walletSchema.methods.debitBalance = async function (amount) {
89
+ try {
90
+ if (this.balance < amount)
91
+ throw new advanced_error_1.default('Insufficient balance', status_code_enum_1.default.BAD_REQUEST);
92
+ this.balance = this.balance - amount;
93
+ await this.save();
94
+ }
95
+ catch (e) {
96
+ console.error("[*] Error debiting available balance", { error: e.message, stack: e.stack });
97
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
98
+ }
99
+ };
100
+ walletSchema.methods.debitAvailableBalance = async function (amount) {
101
+ try {
102
+ if (this.availableBalance < amount)
103
+ throw new advanced_error_1.default('Insufficient available balance', status_code_enum_1.default.BAD_REQUEST);
104
+ this.availableBalance = this.availableBalance - amount;
105
+ await this.save();
106
+ }
107
+ catch (e) {
108
+ console.error("[*] Error debiting available balance", { error: e.message, stack: e.stack });
109
+ throw new advanced_error_1.default(e.message, e.statusCode || status_code_enum_1.default.INTERNAL_SERVER_ERROR);
110
+ }
111
+ };
121
112
  walletSchema.methods.refund = async function (transaction) {
122
113
  try {
123
114
  //check that the transaction is a debit transaction
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.model.js","sourceRoot":"","sources":["../../src/models/wallet.model.ts"],"names":[],"mappings":";;;;;AAAA,uCAAwD;AAExD,uDAA+B;AAC/B,qEAA6D;AAE7D,8EAAqD;AACrD,iFAAmD;AACnD,4CAAqE;AAmBrE,MAAM,YAAY,GAAG,IAAI,iBAAM,CAAU;IACrC,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CAAC,IAAI,EAAE,2BAA2B,CAAC;KAC9C;IACD,UAAU,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACf;IACD,KAAK,EAAE,CAAC;YACJ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;YAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;SAC1B,CAAC;IACF,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,0CAAiB;QACxB,GAAG,EAAE,UAAS,KAAa;YACvB,qEAAqE;YACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,0CAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,qDAAqD;oBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACzC,IAAI,QAAQ,KAAK,SAAS;4BAAE,OAAO,KAAK,GAAG,KAAK,CAAC;wBACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,KAAK,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;wBAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,KAAK,CAAC;wBACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;4BAAE,OAAO,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;oBACtE,CAAC;oBACD,sBAAsB;oBACtB,OAAO,KAAK,GAAG,KAAK,CAAC;gBACzB,CAAC;gBACD,8BAA8B;gBAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,KAAK,GAAG,KAAK,CAAC;gBACzB,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,MAAM;KAClB;IACD,gBAAgB,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,0CAAiB;QACxB,GAAG,EAAE,UAAS,KAAa;YACvB,qEAAqE;YACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,0CAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,qDAAqD;oBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACzC,IAAI,QAAQ,KAAK,SAAS;4BAAE,OAAO,KAAK,GAAG,KAAK,CAAC;wBACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,KAAK,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC;wBAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,KAAK,CAAC;wBACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;4BAAE,OAAO,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;oBACtE,CAAC;oBACD,sBAAsB;oBACtB,OAAO,KAAK,GAAG,KAAK,CAAC;gBACzB,CAAC;gBACD,8BAA8B;gBAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,KAAK,GAAG,KAAK,CAAC;gBACzB,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,MAAM;KAClB;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;AAGF,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,WAAU,WAAyB;IACjE,IAAG,CAAC;QACA,IAAG,WAAW,CAAC,IAAI,KAAK,wBAAe,CAAC,KAAK;YAAE,MAAM,IAAI,wBAAa,CAAC,2BAA2B,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAC5H,IAAG,WAAW,CAAC,MAAM,KAAK,0BAAiB,CAAC,MAAM;YAAE,MAAM,IAAI,wBAAa,CAAC,qCAAqC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAE3I,oCAAoC;QACpC,IAAI,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClF,IAAG,CAAC,gBAAgB;YAAE,MAAM,IAAI,wBAAa,CAAC,sBAAsB,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAE9F,6DAA6D;QAC7D,IAAG,WAAW,CAAC,MAAM,KAAK,0BAAiB,CAAC,OAAO;YAAE,MAAM,IAAI,wBAAa,CAAC,mCAAmC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAE1I,uCAAuC;QACvC,IAAI,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;QAE9F,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;QAC/E,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAGD,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,WAAU,WAAyB;IAClE,IAAG,CAAC;QACA,mDAAmD;QACnD,IAAG,WAAW,CAAC,IAAI,KAAK,wBAAe,CAAC,KAAK;YAAE,MAAM,IAAI,wBAAa,CAAC,oCAAoC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QACrI,IAAG,WAAW,CAAC,MAAM,KAAK,0BAAiB,CAAC,MAAM;YAAE,MAAM,IAAI,wBAAa,CAAC,mDAAmD,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAEzJ,0CAA0C;QAC1C,kHAAkH;QAClH,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;QAE/F,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;QAChF,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAGD,MAAM,MAAM,GAAG,IAAA,gBAAK,EAAU,gBAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAGlE,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"wallet.model.js","sourceRoot":"","sources":["../../src/models/wallet.model.ts"],"names":[],"mappings":";;;;;AAAA,uCAAwD;AAExD,uDAA+B;AAG/B,8EAAqD;AACrD,iFAAmD;AACnD,4CAAqE;AACrE,gDAAiD;AAsBjD,MAAM,YAAY,GAAG,IAAI,iBAAM,CAAU;IACrC,IAAI,EAAE;QACF,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CAAC,IAAI,EAAE,2BAA2B,CAAC;KAC9C;IACD,UAAU,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACf;IACD,KAAK,EAAE,CAAC;YACJ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;YAC3B,GAAG,EAAE,gBAAM,CAAC,MAAM,CAAC,IAAI;SAC1B,CAAC;IACF,OAAO,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC;KACb;IACD,gBAAgB,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC;KACb;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;AAGF,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,WAAU,WAAyB;IAClE,IAAG,CAAC;QACA,IAAG,WAAW,CAAC,IAAI,KAAK,wBAAe,CAAC,MAAM;YAAE,MAAM,IAAI,wBAAa,CAAC,4BAA4B,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAC9H,IAAG,WAAW,CAAC,MAAM,KAAK,0BAAiB,CAAC,MAAM;YAAE,MAAM,IAAI,wBAAa,CAAC,qCAAqC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAC3I,IAAG,WAAW,CAAC,MAAM,KAAK,0BAAiB,CAAC,SAAS;YAAE,MAAM,IAAI,wBAAa,CAAC,mCAAmC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAE5I,IAAI,MAAM,GAAG,IAAA,uBAAY,EAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;QAE/F,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;QAChF,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAGD,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,WAAU,WAAyB;IACjE,IAAG,CAAC;QACA,IAAG,WAAW,CAAC,IAAI,KAAK,wBAAe,CAAC,KAAK;YAAE,MAAM,IAAI,wBAAa,CAAC,2BAA2B,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAC5H,IAAG,WAAW,CAAC,MAAM,KAAK,0BAAiB,CAAC,MAAM;YAAE,MAAM,IAAI,wBAAa,CAAC,qCAAqC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAE3I,oCAAoC;QACpC,IAAI,MAAM,GAAG,IAAA,uBAAY,EAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;QAC9C,IAAG,CAAC,gBAAgB;YAAE,MAAM,IAAI,wBAAa,CAAC,sBAAsB,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAE9F,6DAA6D;QAC7D,IAAG,WAAW,CAAC,MAAM,KAAK,0BAAiB,CAAC,OAAO;YAAE,MAAM,IAAI,wBAAa,CAAC,mCAAmC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAE1I,uCAAuC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;QAE9F,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;QAC/E,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAGD,YAAY,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,WAAU,MAAc;IAC7D,IAAG,CAAC;QACA,IAAG,IAAI,CAAC,OAAO,GAAG,MAAM;YAAE,MAAM,IAAI,wBAAa,CAAC,sBAAsB,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAElG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACrC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;QAC1F,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAGD,YAAY,CAAC,OAAO,CAAC,qBAAqB,GAAG,KAAK,WAAU,MAAc;IACtE,IAAG,CAAC;QACA,IAAG,IAAI,CAAC,gBAAgB,GAAG,MAAM;YAAE,MAAM,IAAI,wBAAa,CAAC,gCAAgC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAErH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACvD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;QAC1F,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAGD,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,WAAU,WAAyB;IAClE,IAAG,CAAC;QACA,mDAAmD;QACnD,IAAG,WAAW,CAAC,IAAI,KAAK,wBAAe,CAAC,KAAK;YAAE,MAAM,IAAI,wBAAa,CAAC,oCAAoC,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QACrI,IAAG,WAAW,CAAC,MAAM,KAAK,0BAAiB,CAAC,MAAM;YAAE,MAAM,IAAI,wBAAa,CAAC,mDAAmD,EAAE,0BAAU,CAAC,WAAW,CAAC,CAAC;QAEzJ,0CAA0C;QAC1C,kHAAkH;QAClH,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;QAE/F,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAA,OAAM,CAAM,EAAC,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;QAChF,MAAM,IAAI,wBAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,0BAAU,CAAC,qBAAqB,CAAC,CAAA;IACxF,CAAC;AACL,CAAC,CAAA;AAGD,MAAM,MAAM,GAAG,IAAA,gBAAK,EAAU,gBAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAGlE,kBAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/types/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK7C,oBAAY,YAAY;IACpB,QAAQ,YAAY;IACpB,KAAK,UAAU;IACf,UAAU,gBAAgB;IAC1B,uBAAuB,+BAA+B;IACtD,uBAAuB,+BAA+B;IACtD,wBAAwB,gCAAgC;IACxD,eAAe,qBAAqB;IACpC,oBAAoB,2BAA2B;CAClD;AAGD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE;QACL,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7B,CAAA;CACJ;AAED,oBAAY,SAAS;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/types/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK7C,oBAAY,YAAY;IACpB,QAAQ,YAAY;IACpB,KAAK,UAAU;IACf,UAAU,gBAAgB;IAC1B,uBAAuB,+BAA+B;IACtD,uBAAuB,+BAA+B;IACtD,wBAAwB,gCAAgC;IACxD,eAAe,qBAAqB;IACpC,oBAAoB,2BAA2B;CAClD;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE;QACL,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7B,CAAA;CACJ;AAED,oBAAY,SAAS;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/types/job.ts"],"names":[],"mappings":";;;AAQA,IAAY,YASX;AATD,WAAY,YAAY;IACpB,oCAAoB,CAAA;IACpB,+BAAe,CAAA;IACf,0CAA0B,CAAA;IAC1B,sEAAsD,CAAA;IACtD,sEAAsD,CAAA;IACtD,wEAAwD,CAAA;IACxD,oDAAoC,CAAA;IACpC,+DAA+C,CAAA;AACnD,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB;AAcD,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,8BAAiB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/types/job.ts"],"names":[],"mappings":";;;AAQA,IAAY,YASX;AATD,WAAY,YAAY;IACpB,oCAAoB,CAAA;IACpB,+BAAe,CAAA;IACf,0CAA0B,CAAA;IAC1B,sEAAsD,CAAA;IACtD,sEAAsD,CAAA;IACtD,wEAAwD,CAAA;IACxD,oDAAoC,CAAA;IACpC,+DAA+C,CAAA;AACnD,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB;AAaD,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,8BAAiB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,oBAAY,kBAAkB;IAC1B,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED,oBAAY,gBAAgB;IACxB,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,aAAa,oBAAoB;IACjC,YAAY,mBAAmB;IAC/B,UAAU,gBAAgB;IAC1B,cAAc,oBAAoB;IAClC,UAAU,gBAAgB;IAC1B,aAAa,mBAAmB;IAChC,eAAe,sBAAsB;IACrC,mBAAmB,0BAA0B;IAC7C,eAAe,qBAAqB;IACpC,WAAW,iBAAiB;IAC5B,WAAW,kBAAkB;IAC7B,eAAe,qBAAqB;IACpC,mBAAmB,yBAAyB;IAC5C,mBAAmB,yBAAyB;IAC5C,gBAAgB,sBAAsB;IACtC,oBAAoB,0BAA0B;IAC9C,gBAAgB,uBAAuB;IACvC,iBAAiB,wBAAwB;IACzC,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,UAAU,gBAAgB;IAC1B,QAAQ,cAAc;IACtB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;CAChC;AAGD,oBAAY,YAAY;IACpB,KAAK,UAAU;CAClB;AAED,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAGD,oBAAY,kBAAkB;IAC1B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;CAChB"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,oBAAY,kBAAkB;IAC1B,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED,oBAAY,gBAAgB;IACxB,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,aAAa,oBAAoB;IACjC,YAAY,mBAAmB;IAC/B,UAAU,gBAAgB;IAC1B,cAAc,oBAAoB;IAClC,UAAU,gBAAgB;IAC1B,aAAa,mBAAmB;IAChC,eAAe,sBAAsB;IACrC,mBAAmB,0BAA0B;IAC7C,eAAe,qBAAqB;IACpC,WAAW,iBAAiB;IAC5B,WAAW,kBAAkB;IAC7B,eAAe,qBAAqB;IACpC,mBAAmB,yBAAyB;IAC5C,mBAAmB,yBAAyB;IAC5C,gBAAgB,sBAAsB;IACtC,oBAAoB,0BAA0B;IAC9C,gBAAgB,uBAAuB;IACvC,iBAAiB,wBAAwB;IACzC,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,UAAU,gBAAgB;IAC1B,QAAQ,cAAc;IACtB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;CAChC;AAED,oBAAY,YAAY;IACpB,KAAK,UAAU;CAClB;AAED,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,oBAAY,kBAAkB;IAC1B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":";;;AAGA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,uCAAiB,CAAA;AACrB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,gBA4BX;AA5BD,WAAY,gBAAgB;IACxB,wDAAoC,CAAA;IACpC,wDAAoC,CAAA;IACpC,qDAAiC,CAAA;IACjC,mDAA+B,CAAA;IAC/B,8CAA0B,CAAA;IAC1B,sDAAkC,CAAA;IAClC,8CAA0B,CAAA;IAC1B,oDAAgC,CAAA;IAChC,yDAAqC,CAAA;IACrC,iEAA6C,CAAA;IAC7C,wDAAoC,CAAA;IACpC,gDAA4B,CAAA;IAC5B,iDAA6B,CAAA;IAC7B,wDAAoC,CAAA;IACpC,gEAA4C,CAAA;IAC5C,gEAA4C,CAAA;IAC5C,0DAAsC,CAAA;IACtC,kEAA8C,CAAA;IAC9C,2DAAuC,CAAA;IACvC,6DAAyC,CAAA;IACzC,gDAA4B,CAAA;IAC5B,gDAA4B,CAAA;IAC5B,gDAA4B,CAAA;IAC5B,8CAA0B,CAAA;IAC1B,0CAAsB,CAAA;IACtB,yCAAqB,CAAA;IACrB,iDAA6B,CAAA;AACjC,CAAC,EA5BW,gBAAgB,gCAAhB,gBAAgB,QA4B3B;AAGD,IAAY,YAEX;AAFD,WAAY,YAAY;IACpB,+BAAe,CAAA;AACnB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAUD,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,mCAAa,CAAA;AACjB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":";;;AAGA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,uCAAiB,CAAA;AACrB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,gBA4BX;AA5BD,WAAY,gBAAgB;IACxB,wDAAoC,CAAA;IACpC,wDAAoC,CAAA;IACpC,qDAAiC,CAAA;IACjC,mDAA+B,CAAA;IAC/B,8CAA0B,CAAA;IAC1B,sDAAkC,CAAA;IAClC,8CAA0B,CAAA;IAC1B,oDAAgC,CAAA;IAChC,yDAAqC,CAAA;IACrC,iEAA6C,CAAA;IAC7C,wDAAoC,CAAA;IACpC,gDAA4B,CAAA;IAC5B,iDAA6B,CAAA;IAC7B,wDAAoC,CAAA;IACpC,gEAA4C,CAAA;IAC5C,gEAA4C,CAAA;IAC5C,0DAAsC,CAAA;IACtC,kEAA8C,CAAA;IAC9C,2DAAuC,CAAA;IACvC,6DAAyC,CAAA;IACzC,gDAA4B,CAAA;IAC5B,gDAA4B,CAAA;IAC5B,gDAA4B,CAAA;IAC5B,8CAA0B,CAAA;IAC1B,0CAAsB,CAAA;IACtB,yCAAqB,CAAA;IACrB,iDAA6B,CAAA;AACjC,CAAC,EA5BW,gBAAgB,gCAAhB,gBAAgB,QA4B3B;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACpB,+BAAe,CAAA;AACnB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AASD,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,mCAAa,CAAA;AACjB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/types/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,oBAAY,QAAQ;IAChB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,UAAU,gBAAgB;CAC7B;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC;IACvD,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC;CAC9D;AAGD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACL;AAED,oBAAY,SAAS;IACjB,MAAM,WAAS;IACf,OAAO,YAAU;IACjB,SAAS,cAAY;IACrB,QAAQ,aAAW;IACnB,MAAM,WAAS;IACf,QAAQ,aAAW;IACnB,MAAM,WAAS;CAClB;AAGD,MAAM,WAAW,eAAe;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAGD,MAAM,WAAW,kBAAkB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE;QACX,CAAC,QAAQ,EAAE,MAAM,GAAG;YAChB,MAAM,EAAE,WAAW,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;SAChB,CAAA;KACJ,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/types/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAK1D,oBAAY,QAAQ;IAChB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,UAAU,gBAAgB;CAC7B;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC;IACvD,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC;CAC9D;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACL;AAED,oBAAY,SAAS;IACjB,MAAM,WAAS;IACf,OAAO,YAAU;IACjB,SAAS,cAAY;IACrB,QAAQ,aAAW;IACnB,MAAM,WAAS;IACf,QAAQ,aAAW;IACnB,MAAM,WAAS;CAClB;AAED,MAAM,WAAW,eAAe;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,kBAAkB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE;QACX,CAAC,QAAQ,EAAE,MAAM,GAAG;YAChB,MAAM,EAAE,WAAW,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;SAChB,CAAA;KACJ,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/types/pool.ts"],"names":[],"mappings":";;;AAGA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,sCAA0B,CAAA;AAC9B,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AA8BD,IAAY,SAQX;AARD,WAAY,SAAS;IACjB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,8BAAe,CAAA;AACnB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/types/pool.ts"],"names":[],"mappings":";;;AAMA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,sCAA0B,CAAA;AAC9B,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AA6BD,IAAY,SAQX;AARD,WAAY,SAAS;IACjB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,8BAAe,CAAA;AACnB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB"}
@@ -0,0 +1,3 @@
1
+ export declare const parseToBasis: (value: number) => number;
2
+ export declare const parseFromBasis: (value: number) => number;
3
+ //# sourceMappingURL=num.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"num.util.d.ts","sourceRoot":"","sources":["../../src/utils/num.util.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAG5C,CAAA;AAGD,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAG9C,CAAA"}
@@ -0,0 +1,18 @@
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.parseFromBasis = exports.parseToBasis = void 0;
7
+ const config_1 = __importDefault(require("../config"));
8
+ const parseToBasis = (value) => {
9
+ let newValue = value * config_1.default.app.basis;
10
+ return newValue;
11
+ };
12
+ exports.parseToBasis = parseToBasis;
13
+ const parseFromBasis = (value) => {
14
+ let newValue = value / config_1.default.app.basis;
15
+ return parseFloat(newValue.toFixed(2));
16
+ };
17
+ exports.parseFromBasis = parseFromBasis;
18
+ //# sourceMappingURL=num.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"num.util.js","sourceRoot":"","sources":["../../src/utils/num.util.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAIxB,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;IAClD,IAAI,QAAQ,GAAG,KAAK,GAAG,gBAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA;AAHY,QAAA,YAAY,gBAGxB;AAGM,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,IAAI,QAAQ,GAAG,KAAK,GAAG,gBAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fplpool/fpl-models",
3
- "version": "3.4.1",
3
+ "version": "3.5.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [