@crm-rocketlink/crm-model 1.0.0 → 1.0.2

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 (66) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +8 -0
  4. package/dist/model/subscription.model.d.ts +1 -0
  5. package/dist/model/subscription.model.d.ts.map +1 -1
  6. package/dist/model/transaction.model.d.ts.map +1 -1
  7. package/dist/util/dateUtils.d.ts +21 -0
  8. package/dist/util/dateUtils.d.ts.map +1 -0
  9. package/dist/util/dateUtils.js +85 -0
  10. package/package.json +4 -2
  11. package/src/dtos/campaign.request.dto.ts +5 -0
  12. package/src/dtos/category.request.dto.ts +8 -0
  13. package/src/dtos/common/base.request.dto.ts +4 -0
  14. package/src/dtos/common/paginated.request.dto.ts +7 -0
  15. package/src/dtos/common/paginated.response.dto.ts +11 -0
  16. package/src/dtos/csv.request.dto.ts +9 -0
  17. package/src/dtos/csv.response.dto.ts +10 -0
  18. package/src/dtos/csvRow.request.dto.ts +14 -0
  19. package/src/dtos/emailTemplate.request.dto.ts +0 -0
  20. package/src/dtos/empTransactions.request.dto.ts +5 -0
  21. package/src/dtos/event.request.dto.ts +9 -0
  22. package/src/dtos/fastify.d.ts +19 -0
  23. package/src/dtos/field.request.dto.ts +4 -0
  24. package/src/dtos/hook.request.dto.ts +9 -0
  25. package/src/dtos/hookProfile.request.dto.ts +7 -0
  26. package/src/dtos/lead.request.dto.ts +12 -0
  27. package/src/dtos/offer.request.dto.ts +15 -0
  28. package/src/dtos/order.request.dto.ts +22 -0
  29. package/src/dtos/product.request.dto.ts +9 -0
  30. package/src/dtos/subscription.request.dto.ts +20 -0
  31. package/src/dtos/transaction.request.dto.ts +13 -0
  32. package/src/dtos/transactionError.request.dto.ts +10 -0
  33. package/src/gateways/adapters/dtos/transaction-emp.request.dto.ts +21 -0
  34. package/src/gateways/adapters/dtos/transaction-finxp.request.dto.ts +9 -0
  35. package/src/gateways/adapters/dtos/transaction-novalnet.request.dto.ts +21 -0
  36. package/src/gateways/adapters/model/transactionEmp.model.ts +223 -0
  37. package/src/gateways/adapters/model/transactionFinXP.model.ts +193 -0
  38. package/src/gateways/adapters/model/transactionNovalNet.model.ts +224 -0
  39. package/src/gateways/providers/model/genesis.constants.ts +30 -0
  40. package/src/gateways/providers/model/genesis.model.ts +89 -0
  41. package/src/gateways/providers/model/novalNetManual.model.ts +119 -0
  42. package/src/index.ts +64 -0
  43. package/src/model/campaign.model.ts +16 -0
  44. package/src/model/category.model.ts +7 -0
  45. package/src/model/csv.model.ts +77 -0
  46. package/src/model/emailTemplate.model.ts +0 -0
  47. package/src/model/empTransactions.model.ts +9 -0
  48. package/src/model/event.model.ts +6 -0
  49. package/src/model/fastify.d.ts +19 -0
  50. package/src/model/field.model.ts +17 -0
  51. package/src/model/gateway.model.ts +50 -0
  52. package/src/model/hook.model.ts +13 -0
  53. package/src/model/hookOutbox.model.ts +12 -0
  54. package/src/model/hookProfile.model.ts +19 -0
  55. package/src/model/lead.model.ts +28 -0
  56. package/src/model/mid.model.ts +26 -0
  57. package/src/model/offer.model.ts +26 -0
  58. package/src/model/order.model.ts +41 -0
  59. package/src/model/paymentData.model.ts +59 -0
  60. package/src/model/product.model.ts +11 -0
  61. package/src/model/subscription.model.ts +29 -0
  62. package/src/model/transaction.model.ts +32 -0
  63. package/src/model/transactionError.model.ts +17 -0
  64. package/src/util/constants.ts +104 -0
  65. package/src/util/dateUtils.ts +71 -0
  66. package/tsconfig.json +27 -0
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from './util/constants';
2
+ export * from './util/dateUtils';
3
+ export { isDateString, dateToString, stringToDate, getCurrentDateCompacted, FORMATS } from './util/dateUtils';
2
4
  export * from './dtos/common/base.request.dto';
3
5
  export * from './dtos/common/paginated.request.dto';
4
6
  export * from './dtos/common/paginated.response.dto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AAGpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAElC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,kDAAkD,CAAC;AAGjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,wDAAwD,CAAC;AAGvE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,iDAAiD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG9G,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AAGpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAElC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,kDAAkD,CAAC;AAGjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,wDAAwD,CAAC;AAGvE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,iDAAiD,CAAC"}
package/dist/index.js CHANGED
@@ -14,8 +14,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.FORMATS = exports.getCurrentDateCompacted = exports.stringToDate = exports.dateToString = exports.isDateString = void 0;
17
18
  // Export constants
18
19
  __exportStar(require("./util/constants"), exports);
20
+ __exportStar(require("./util/dateUtils"), exports);
21
+ var dateUtils_1 = require("./util/dateUtils");
22
+ Object.defineProperty(exports, "isDateString", { enumerable: true, get: function () { return dateUtils_1.isDateString; } });
23
+ Object.defineProperty(exports, "dateToString", { enumerable: true, get: function () { return dateUtils_1.dateToString; } });
24
+ Object.defineProperty(exports, "stringToDate", { enumerable: true, get: function () { return dateUtils_1.stringToDate; } });
25
+ Object.defineProperty(exports, "getCurrentDateCompacted", { enumerable: true, get: function () { return dateUtils_1.getCurrentDateCompacted; } });
26
+ Object.defineProperty(exports, "FORMATS", { enumerable: true, get: function () { return dateUtils_1.FORMATS; } });
19
27
  // Export all DTOs
20
28
  __exportStar(require("./dtos/common/base.request.dto"), exports);
21
29
  __exportStar(require("./dtos/common/paginated.request.dto"), exports);
@@ -22,5 +22,6 @@ export interface Subscription {
22
22
  leadId?: number;
23
23
  leadName?: string;
24
24
  leadEmail?: string;
25
+ bankName?: string;
25
26
  }
26
27
  //# sourceMappingURL=subscription.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.model.d.ts","sourceRoot":"","sources":["../../src/model/subscription.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IAGjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"subscription.model.d.ts","sourceRoot":"","sources":["../../src/model/subscription.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IAGjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.model.d.ts","sourceRoot":"","sources":["../../src/model/transaction.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE9F,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEpG,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,oBAAoB,CAAC;IAC/C,yBAAyB,CAAC,EAAE,kBAAkB,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"transaction.model.d.ts","sourceRoot":"","sources":["../../src/model/transaction.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE9F,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEpG,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,oBAAoB,CAAC;IAC/C,yBAAyB,CAAC,EAAE,kBAAkB,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
@@ -0,0 +1,21 @@
1
+ export declare const FORMATS: {
2
+ readonly ISO_DATE: "yyyy-MM-dd";
3
+ readonly ISO_DATE_TIME_TZ: "yyyy-MM-dd'T'HH:mm";
4
+ readonly ISO_DATE_TIME_MINUTES: "yyyy-MM-dd HH:mm";
5
+ readonly ISO_DATE_TIME_SECONDS: "yyyy-MM-dd HH:mm:ss";
6
+ readonly COMPACT_DATETIME: "yyyyMMddHHmmss";
7
+ readonly COMPACT_DATE: "yyyyMMdd";
8
+ };
9
+ export declare function dateToString(date: Date, formatString?: string): string;
10
+ export declare function dateToYYYYMMDD(date: Date): string;
11
+ export declare function dateToTZ(date: Date): string;
12
+ export declare function dateToMinutes(date: Date): string;
13
+ export declare function getCurrentDateCompacted(): string;
14
+ export declare function isDateString(value: string): boolean;
15
+ export declare function stringToDate(value: string): Date;
16
+ export declare function formatDateString(value: string, formatString?: string): string;
17
+ export declare function formatDateAs_yyyymmdd(value: string): string;
18
+ export declare function formatDateAs_tz(value: string): string;
19
+ export declare function formatDateAs_minutes(value: string): string;
20
+ export declare function formatDateAs_seconds(value: string): string;
21
+ //# sourceMappingURL=dateUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateUtils.d.ts","sourceRoot":"","sources":["../../src/util/dateUtils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO;;;;;;;CAOV,CAAC;AAIX,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,GAAE,MAAyB,GAAG,MAAM,CAKxF;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEjD;AACD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE3C;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEhD;AACD,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGnD;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAShD;AAID,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAyB,GAAG,MAAM,CAM/F;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FORMATS = void 0;
4
+ exports.dateToString = dateToString;
5
+ exports.dateToYYYYMMDD = dateToYYYYMMDD;
6
+ exports.dateToTZ = dateToTZ;
7
+ exports.dateToMinutes = dateToMinutes;
8
+ exports.getCurrentDateCompacted = getCurrentDateCompacted;
9
+ exports.isDateString = isDateString;
10
+ exports.stringToDate = stringToDate;
11
+ exports.formatDateString = formatDateString;
12
+ exports.formatDateAs_yyyymmdd = formatDateAs_yyyymmdd;
13
+ exports.formatDateAs_tz = formatDateAs_tz;
14
+ exports.formatDateAs_minutes = formatDateAs_minutes;
15
+ exports.formatDateAs_seconds = formatDateAs_seconds;
16
+ const date_fns_1 = require("date-fns");
17
+ exports.FORMATS = {
18
+ ISO_DATE: 'yyyy-MM-dd', // "2026-01-07"
19
+ ISO_DATE_TIME_TZ: "yyyy-MM-dd'T'HH:mm", // "2026-01-07T14:30"
20
+ ISO_DATE_TIME_MINUTES: 'yyyy-MM-dd HH:mm', // "2026-01-07 14:30
21
+ ISO_DATE_TIME_SECONDS: 'yyyy-MM-dd HH:mm:ss', // "2026-01-07 14:30:23,
22
+ COMPACT_DATETIME: 'yyyyMMddHHmmss', // "20260107143000"
23
+ COMPACT_DATE: 'yyyyMMdd', // "20260107"
24
+ };
25
+ // ============================================
26
+ // Date → String formatted conversions
27
+ // ============================================
28
+ function dateToString(date, formatString = exports.FORMATS.ISO_DATE) {
29
+ if (!date || !(0, date_fns_1.isValid)(date)) {
30
+ throw new Error('Invalid date: ' + date);
31
+ }
32
+ return (0, date_fns_1.format)(date, formatString);
33
+ }
34
+ function dateToYYYYMMDD(date) {
35
+ return dateToString(date, exports.FORMATS.COMPACT_DATETIME);
36
+ }
37
+ function dateToTZ(date) {
38
+ return dateToString(date, exports.FORMATS.ISO_DATE_TIME_TZ);
39
+ }
40
+ function dateToMinutes(date) {
41
+ return dateToString(date, exports.FORMATS.ISO_DATE_TIME_MINUTES);
42
+ }
43
+ function getCurrentDateCompacted() {
44
+ return dateToYYYYMMDD(new Date()); // "20260107143000"
45
+ }
46
+ // Checks if a string matches a date pattern
47
+ function isDateString(value) {
48
+ const datePattern = /^\d{4}-\d{2}-\d{2}(T|\s)\d{2}:\d{2}:\d{2}/;
49
+ return datePattern.test(value);
50
+ }
51
+ // ============================================
52
+ // String → Date conversions
53
+ // ============================================
54
+ function stringToDate(value) {
55
+ if (!value) {
56
+ throw new Error('Date string cannot be empty');
57
+ }
58
+ const date = (0, date_fns_1.parseISO)(value);
59
+ if (!(0, date_fns_1.isValid)(date)) {
60
+ throw new Error('Invalid date string: ' + value);
61
+ }
62
+ return date;
63
+ }
64
+ // ============================================
65
+ // String → String formatted conversions
66
+ // ============================================
67
+ function formatDateString(value, formatString = exports.FORMATS.ISO_DATE) {
68
+ if (!value) {
69
+ return '';
70
+ }
71
+ const date = stringToDate(value);
72
+ return (0, date_fns_1.format)(date, formatString);
73
+ }
74
+ function formatDateAs_yyyymmdd(value) {
75
+ return formatDateString(value, exports.FORMATS.ISO_DATE);
76
+ }
77
+ function formatDateAs_tz(value) {
78
+ return formatDateString(value, exports.FORMATS.ISO_DATE_TIME_TZ);
79
+ }
80
+ function formatDateAs_minutes(value) {
81
+ return formatDateString(value, exports.FORMATS.ISO_DATE_TIME_MINUTES);
82
+ }
83
+ function formatDateAs_seconds(value) {
84
+ return formatDateString(value, exports.FORMATS.ISO_DATE_TIME_SECONDS);
85
+ }
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "@crm-rocketlink/crm-model",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Shared DTOs and Models for CRM Rocketlink",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "files": ["dist"],
8
7
  "scripts": {
9
8
  "build": "tsc",
10
9
  "clean": "rm -rf dist",
@@ -19,6 +18,9 @@
19
18
  "publishConfig": {
20
19
  "access": "restricted"
21
20
  },
21
+ "dependencies": {
22
+ "date-fns": "^3.0.0"
23
+ },
22
24
  "devDependencies": {
23
25
  "@types/node": "^22.10.6",
24
26
  "typescript": "^5.7.3"
@@ -0,0 +1,5 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface CampaignsRequest extends PaginatedRequest {
4
+ id?: number;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface CategoriesRequest extends PaginatedRequest {
4
+ id?: number;
5
+ name?: string;
6
+ createdFrom?: Date;
7
+ createdTo?: Date;
8
+ }
@@ -0,0 +1,4 @@
1
+ export interface BaseRequest {
2
+ createdFrom?: Date;
3
+ createdTo?: Date;
4
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseRequest } from "./base.request.dto";
2
+
3
+ export interface PaginatedRequest extends BaseRequest {
4
+ page?: number | 1;
5
+ pageSize?: number | 50;
6
+ orderBy?: string;
7
+ }
@@ -0,0 +1,11 @@
1
+ export interface PaginatedResponse<M> {
2
+ results: M[];
3
+ pagination?: Pagination;
4
+ }
5
+
6
+ export interface Pagination {
7
+ page: number;
8
+ pageSize: number;
9
+ total: number;
10
+ }
11
+
@@ -0,0 +1,9 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+ import { CSVStatusTypes } from "../util/constants";
3
+
4
+ export interface CSVsRequest extends PaginatedRequest {
5
+ id?: number;
6
+ status?: CSVStatusTypes;
7
+ createdFrom?: Date;
8
+ createdTo?: Date;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { PaginatedResponse } from "./common/paginated.response.dto";
2
+ import { CSV } from "../model/csv.model";
3
+
4
+ export interface CSVsResponse extends PaginatedResponse<CSV> {
5
+ }
6
+
7
+ export interface CSVProcessResponse {
8
+ csvId: number;
9
+ processedSubscriptionIds: number[];
10
+ }
@@ -0,0 +1,14 @@
1
+ import { CSVRowStatusTypes } from "../util/constants";
2
+ import { PaginatedRequest } from "../dtos/common/paginated.request.dto";
3
+
4
+ export interface CSVRowsRequest extends PaginatedRequest {
5
+ id?: number;
6
+ status?: CSVRowStatusTypes;
7
+ createdFrom?: Date;
8
+ createdTo?: Date;
9
+ }
10
+
11
+ export interface CsvRowsStatusStats {
12
+ status: CSVRowStatusTypes;
13
+ count: number;
14
+ }
File without changes
@@ -0,0 +1,5 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface EmpTransactionRequest extends PaginatedRequest {
4
+ }
5
+
@@ -0,0 +1,9 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface EventsRequest extends PaginatedRequest {
4
+ id?: string;
5
+ name?: string;
6
+ createdFrom?: Date;
7
+ createdTo?: Date;
8
+ }
9
+
@@ -0,0 +1,19 @@
1
+ import { FastifyInstance, FastifyReply, FastifyRequest, RouteGenericInterface } from "fastify";
2
+ import "@fastify/jwt";
3
+ import "@fastify/mysql";
4
+
5
+ declare module '@fastify/jwt' {
6
+ interface FastifyJWT {
7
+ payload: { id: number; email: string };
8
+ user: { id: number; email: string };
9
+ }
10
+ }
11
+
12
+ declare module "fastify" {
13
+ interface FastifyInstance {
14
+ authenticate: <T extends RouteGenericInterface = RouteGenericInterface>(
15
+ request: FastifyRequest<T>,
16
+ reply: FastifyReply
17
+ ) => Promise<void>;
18
+ }
19
+ }
@@ -0,0 +1,4 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface FieldsRequest extends PaginatedRequest {
4
+ }
@@ -0,0 +1,9 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface HooksRequest extends PaginatedRequest {
4
+ id?: number;
5
+ name?: string;
6
+ event?: string;
7
+ createdFrom?: Date;
8
+ createdTo?: Date;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface HookProfilesRequest extends PaginatedRequest {
4
+ id?: number;
5
+ createdFrom?: Date;
6
+ createdTo?: Date;
7
+ }
@@ -0,0 +1,12 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface LeadsRequest extends PaginatedRequest {
4
+ id?: number;
5
+ email?: string;
6
+ visitId?: number;
7
+ csvRowId?: number;
8
+ csvId?: number;
9
+ isCustomer?: boolean;
10
+ createdFrom?: Date;
11
+ createdTo?: Date;
12
+ }
@@ -0,0 +1,15 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface OffersRequest extends PaginatedRequest {
4
+ id?: number;
5
+ name?: string;
6
+ type?: string;
7
+ productId?: number;
8
+ oneTimePayment?: boolean;
9
+ price?: string;
10
+ trialPrice?: string;
11
+ midId?: number;
12
+ campaignId?: number;
13
+ createdFrom?: Date;
14
+ createdTo?: Date;
15
+ }
@@ -0,0 +1,22 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface OrdersRequest extends PaginatedRequest {
4
+ id: number;
5
+ paymentId ?: number;
6
+ leadId ?: number;
7
+ leadFirstName?: string
8
+ leadEmail?: string
9
+ amount?: string
10
+ status ?: string;
11
+ leadName ?:string;
12
+ }
13
+
14
+ export interface OrderItemsRequest extends PaginatedRequest {
15
+ id?: number;
16
+ orderId?: number;
17
+ offerId?: number;
18
+ currency?: string;
19
+ price?: number;
20
+ createdFrom?: Date;
21
+ createdTo?: Date;
22
+ }
@@ -0,0 +1,9 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface ProductsRequest extends PaginatedRequest {
4
+ id?: number;
5
+ name?: string;
6
+ categoryId?: string;
7
+ createdFrom?: Date;
8
+ createdTo?: Date;
9
+ }
@@ -0,0 +1,20 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+ import { BANKS } from "../model/gateway.model";
3
+
4
+ export interface SubscriptionsRequest extends PaginatedRequest {
5
+ id?: number;
6
+ status?: string;
7
+ username?: string;
8
+ bankName?: BANKS;
9
+ email?: string;
10
+ orderId?: number;
11
+ offerId?: number;
12
+ midId?: number;
13
+ paymentType?: string;
14
+ leadId?: number;
15
+ leadName?: string;
16
+ leadEmail?: string;
17
+ csvId?: number;
18
+ createdFrom?: Date;
19
+ createdTo?: Date;
20
+ }
@@ -0,0 +1,13 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+ import { BANKS } from "../model/gateway.model";
3
+
4
+ export interface TransactionsRequest extends PaginatedRequest {
5
+ id?: number;
6
+ bank?: BANKS;
7
+ midId?: number;
8
+ orderId?: number;
9
+ internalTransactionType?: string;
10
+ internalTransactionStatus?: string;
11
+ createdFrom?: Date;
12
+ createdTo?: Date;
13
+ }
@@ -0,0 +1,10 @@
1
+ import { PaginatedRequest } from "./common/paginated.request.dto";
2
+
3
+ export interface TransactionErrorRequest extends PaginatedRequest {
4
+ id?: number;
5
+ bank?: string;
6
+ midId?: number;
7
+ orderId?: number;
8
+ createdFrom?: Date;
9
+ createdTo?: Date;
10
+ }
@@ -0,0 +1,21 @@
1
+ import { PaginatedRequest } from "../../../dtos/common/paginated.request.dto";
2
+ import { PaginatedResponse } from "../../../dtos/common/paginated.response.dto";
3
+ import { TransactionEmp } from "../model/transactionEmp.model";
4
+
5
+ export interface TransactionsEmpRequest extends PaginatedRequest, Omit<Partial<TransactionEmp>, 'transaction_id'> {
6
+ email?: string;
7
+ customerEmail?: string;
8
+ unique_id?: string;
9
+ transaction_id?: string;
10
+ iban_account_no?: string;
11
+ amount?: string;
12
+ merchant?: string;
13
+ paymentType?: string;
14
+ orderId?: number;
15
+ midId?: number;
16
+ reportDateFrom?: string;
17
+ reportDateTo?: string;
18
+ }
19
+
20
+ export interface TransactionsEmpResponse extends PaginatedResponse<TransactionEmp> {
21
+ }
@@ -0,0 +1,9 @@
1
+ import { PaginatedRequest } from "../../../dtos/common/paginated.request.dto";
2
+ import { PaginatedResponse } from "../../../dtos/common/paginated.response.dto";
3
+ import { TransactionFinXP } from "../model/transactionFinXP.model";
4
+
5
+ export interface TransactionsFinXPRequest extends PaginatedRequest, TransactionFinXP {
6
+ }
7
+
8
+ export interface TransactionsFinXPResponse extends PaginatedResponse<TransactionFinXP> {
9
+ }
@@ -0,0 +1,21 @@
1
+ import { PaginatedRequest } from "../../../dtos/common/paginated.request.dto";
2
+ import { PaginatedResponse } from "../../../dtos/common/paginated.response.dto";
3
+ import { TransactionNovalNet } from "../model/transactionNovalNet.model";
4
+
5
+ export interface TransactionsNovalNetRequest extends PaginatedRequest, Omit<Partial<TransactionNovalNet>, 'customerNumber' | 'orderNumber'> {
6
+ midId?: number;
7
+ orderId?: number;
8
+ tid?: string;
9
+ statusDesc?: string;
10
+ paymentType?: string;
11
+ amount?: string;
12
+ customerNumber?: string;
13
+ orderNumber?: string;
14
+ firstName?: string;
15
+ email?: string;
16
+ createdFrom?: Date;
17
+ createdTo?: Date;
18
+ }
19
+
20
+ export interface TransactionsNovalNetResponse extends PaginatedResponse<TransactionNovalNet> {
21
+ }