@temboplus/afloat 0.1.12 → 0.1.30

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 (120) hide show
  1. package/README.md +120 -2
  2. package/esm/src/features/auth/access/contract.d.ts +14 -0
  3. package/esm/src/features/auth/access/contract.d.ts.map +1 -0
  4. package/esm/src/features/auth/access/contract.js +14 -0
  5. package/esm/src/features/auth/contract.d.ts +20 -20
  6. package/esm/src/features/auth/contract.js +2 -2
  7. package/esm/src/features/auth/identity/contract.d.ts +0 -7
  8. package/esm/src/features/auth/identity/contract.d.ts.map +1 -1
  9. package/esm/src/features/auth/identity/contract.js +0 -1
  10. package/esm/src/features/auth/identity/repository.d.ts +2 -2
  11. package/esm/src/features/auth/identity/repository.d.ts.map +1 -1
  12. package/esm/src/features/auth/identity/repository.js +5 -5
  13. package/esm/src/features/auth/manager.js +1 -1
  14. package/esm/src/features/auth/profile/contract.d.ts +17 -25
  15. package/esm/src/features/auth/profile/contract.d.ts.map +1 -1
  16. package/esm/src/features/auth/profile/contract.js +2 -4
  17. package/esm/src/features/auth/repository.d.ts +0 -1
  18. package/esm/src/features/auth/repository.d.ts.map +1 -1
  19. package/esm/src/features/auth/repository.js +3 -11
  20. package/esm/src/features/auth/storage/server_token_handler.d.ts +7 -6
  21. package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -1
  22. package/esm/src/features/auth/storage/server_token_handler.js +73 -26
  23. package/esm/src/features/contact/contract.d.ts +10 -10
  24. package/esm/src/features/payout/contract.d.ts +12 -12
  25. package/esm/src/features/wallet/repository.d.ts +1 -28
  26. package/esm/src/features/wallet/repository.d.ts.map +1 -1
  27. package/esm/src/features/wallet/repository.js +0 -51
  28. package/esm/src/models/contact/derivatives/contact.js +2 -2
  29. package/esm/src/models/contact/derivatives/contact_info.d.ts +8 -8
  30. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -1
  31. package/esm/src/models/contact/derivatives/contact_info.js +12 -12
  32. package/esm/src/models/payout/channel.d.ts +4 -4
  33. package/esm/src/models/payout/channel.d.ts.map +1 -1
  34. package/esm/src/models/payout/channel.js +2 -2
  35. package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -1
  36. package/esm/src/models/payout/derivatives/payout.js +2 -2
  37. package/esm/src/models/user/profile.d.ts +135 -12
  38. package/esm/src/models/user/profile.d.ts.map +1 -1
  39. package/esm/src/models/user/profile.js +318 -12
  40. package/esm/src/models/user/user.d.ts +14 -17
  41. package/esm/src/models/user/user.d.ts.map +1 -1
  42. package/esm/src/models/user/user.js +109 -26
  43. package/esm/src/models/wallet/index.d.ts +0 -1
  44. package/esm/src/models/wallet/index.d.ts.map +1 -1
  45. package/esm/src/models/wallet/index.js +0 -1
  46. package/esm/src/shared/token_required_repository.d.ts +78 -0
  47. package/esm/src/shared/token_required_repository.d.ts.map +1 -0
  48. package/esm/src/shared/token_required_repository.js +128 -0
  49. package/package.json +7 -7
  50. package/script/src/features/auth/access/contract.d.ts +14 -0
  51. package/script/src/features/auth/access/contract.d.ts.map +1 -0
  52. package/script/src/features/auth/access/contract.js +17 -0
  53. package/script/src/features/auth/contract.d.ts +20 -20
  54. package/script/src/features/auth/contract.js +1 -1
  55. package/script/src/features/auth/identity/contract.d.ts +0 -7
  56. package/script/src/features/auth/identity/contract.d.ts.map +1 -1
  57. package/script/src/features/auth/identity/contract.js +0 -1
  58. package/script/src/features/auth/identity/repository.d.ts +2 -2
  59. package/script/src/features/auth/identity/repository.d.ts.map +1 -1
  60. package/script/src/features/auth/identity/repository.js +5 -5
  61. package/script/src/features/auth/manager.js +1 -1
  62. package/script/src/features/auth/profile/contract.d.ts +17 -25
  63. package/script/src/features/auth/profile/contract.d.ts.map +1 -1
  64. package/script/src/features/auth/profile/contract.js +1 -3
  65. package/script/src/features/auth/repository.d.ts +0 -1
  66. package/script/src/features/auth/repository.d.ts.map +1 -1
  67. package/script/src/features/auth/repository.js +3 -11
  68. package/script/src/features/auth/storage/server_token_handler.d.ts +7 -6
  69. package/script/src/features/auth/storage/server_token_handler.d.ts.map +1 -1
  70. package/script/src/features/auth/storage/server_token_handler.js +72 -25
  71. package/script/src/features/contact/contract.d.ts +10 -10
  72. package/script/src/features/payout/contract.d.ts +12 -12
  73. package/script/src/features/wallet/repository.d.ts +1 -28
  74. package/script/src/features/wallet/repository.d.ts.map +1 -1
  75. package/script/src/features/wallet/repository.js +0 -51
  76. package/script/src/models/contact/derivatives/contact.js +1 -1
  77. package/script/src/models/contact/derivatives/contact_info.d.ts +8 -8
  78. package/script/src/models/contact/derivatives/contact_info.d.ts.map +1 -1
  79. package/script/src/models/contact/derivatives/contact_info.js +11 -11
  80. package/script/src/models/payout/channel.d.ts +4 -4
  81. package/script/src/models/payout/channel.d.ts.map +1 -1
  82. package/script/src/models/payout/channel.js +2 -2
  83. package/script/src/models/payout/derivatives/payout.d.ts.map +1 -1
  84. package/script/src/models/payout/derivatives/payout.js +1 -1
  85. package/script/src/models/user/profile.d.ts +135 -12
  86. package/script/src/models/user/profile.d.ts.map +1 -1
  87. package/script/src/models/user/profile.js +320 -13
  88. package/script/src/models/user/user.d.ts +14 -17
  89. package/script/src/models/user/user.d.ts.map +1 -1
  90. package/script/src/models/user/user.js +109 -26
  91. package/script/src/models/wallet/index.d.ts +0 -1
  92. package/script/src/models/wallet/index.d.ts.map +1 -1
  93. package/script/src/models/wallet/index.js +0 -1
  94. package/script/src/shared/token_required_repository.d.ts +78 -0
  95. package/script/src/shared/token_required_repository.d.ts.map +1 -0
  96. package/script/src/shared/token_required_repository.js +132 -0
  97. package/esm/src/features/auth/profile/repository.d.ts +0 -11
  98. package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
  99. package/esm/src/features/auth/profile/repository.js +0 -21
  100. package/esm/src/features/files-gen/contract.d.ts +0 -67
  101. package/esm/src/features/files-gen/contract.d.ts.map +0 -1
  102. package/esm/src/features/files-gen/contract.js +0 -40
  103. package/esm/src/features/files-gen/repository.d.ts +0 -50
  104. package/esm/src/features/files-gen/repository.d.ts.map +0 -1
  105. package/esm/src/features/files-gen/repository.js +0 -56
  106. package/esm/src/models/wallet/statement.d.ts +0 -27
  107. package/esm/src/models/wallet/statement.d.ts.map +0 -1
  108. package/esm/src/models/wallet/statement.js +0 -13
  109. package/script/src/features/auth/profile/repository.d.ts +0 -11
  110. package/script/src/features/auth/profile/repository.d.ts.map +0 -1
  111. package/script/src/features/auth/profile/repository.js +0 -25
  112. package/script/src/features/files-gen/contract.d.ts +0 -67
  113. package/script/src/features/files-gen/contract.d.ts.map +0 -1
  114. package/script/src/features/files-gen/contract.js +0 -43
  115. package/script/src/features/files-gen/repository.d.ts +0 -50
  116. package/script/src/features/files-gen/repository.d.ts.map +0 -1
  117. package/script/src/features/files-gen/repository.js +0 -60
  118. package/script/src/models/wallet/statement.d.ts +0 -27
  119. package/script/src/models/wallet/statement.d.ts.map +0 -1
  120. package/script/src/models/wallet/statement.js +0 -16
@@ -71,7 +71,7 @@ class Contact {
71
71
  */
72
72
  get info() {
73
73
  if (this.data.type === "Mobile") {
74
- const phone = frontend_core_1.PhoneNumber.from(this.data.accountNo);
74
+ const phone = frontend_core_1.TZPhoneNumber.from(this.data.accountNo);
75
75
  if (phone) {
76
76
  return new index_js_1.MobileContactInfo(this.data.displayName, phone);
77
77
  }
@@ -1,5 +1,5 @@
1
1
  import type { ContactType } from "../index.js";
2
- import { Bank, PhoneNumber } from "@temboplus/frontend-core";
2
+ import { Bank, TZPhoneNumber } from "@temboplus/frontend-core";
3
3
  /**
4
4
  * Abstract base class that provides a common interface for different types of contact information.
5
5
  * This class defines the structure and validation requirements for both mobile and bank contacts.
@@ -65,17 +65,17 @@ declare abstract class BaseContactInfo {
65
65
  * @extends BaseContactInfo
66
66
  * @class MobileContactInfo
67
67
  * @property {string} name - The contact's personal name
68
- * @property {PhoneNumber} phoneNumber - The contact's phone number object
68
+ * @property {TZPhoneNumber} phoneNumber - The contact's phone number object
69
69
  */
70
70
  export declare class MobileContactInfo extends BaseContactInfo {
71
71
  readonly name: string;
72
- readonly phoneNumber: PhoneNumber;
72
+ readonly phoneNumber: TZPhoneNumber;
73
73
  /**
74
74
  * Creates a new mobile contact
75
75
  * @param {string} name - The contact's personal name
76
- * @param {PhoneNumber} phoneNumber - The contact's phone number
76
+ * @param {TZPhoneNumber} phoneNumber - The contact's phone number
77
77
  */
78
- constructor(name: string, phoneNumber: PhoneNumber);
78
+ constructor(name: string, phoneNumber: TZPhoneNumber);
79
79
  /**
80
80
  * Validates the mobile contact information
81
81
  * Checks that:
@@ -96,14 +96,14 @@ export declare class MobileContactInfo extends BaseContactInfo {
96
96
  * if (MobileContactInfo.is(maybeContact)) {
97
97
  * // maybeContact is typed as MobileContactInfo
98
98
  * console.log(maybeContact.name);
99
- * console.log(maybeContact.phoneNumber.label);
99
+ * console.log(maybeContact.TZPhoneNumber.label);
100
100
  * }
101
101
  *
102
102
  * @remarks
103
103
  * - Name must be a non-empty string
104
104
  * - Phone number can be either:
105
- * - A string that can be parsed into a valid PhoneNumber
106
- * - A PhoneNumber object with valid properties
105
+ * - A string that can be parsed into a valid TZPhoneNumber
106
+ * - A TZPhoneNumber object with valid properties
107
107
  * - Returns false if either property is invalid or missing
108
108
  */
109
109
  static is(obj: unknown): obj is MobileContactInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"contact_info.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/contact/derivatives/contact_info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAsB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMjF;;;;;;;GAOG;AACH,uBAAe,eAAe;IAC5B,SAAgB,IAAI,EAAE,WAAW,CAAC;IAElC;;;OAGG;gBACS,IAAI,EAAE,WAAW;IAI7B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,IAAI,OAAO;IAE5B;;;;OAIG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,KAAK,gBAAgB,IAAI,MAAM,CAAC;IAExC;;;;OAIG;IACH,QAAQ,KAAK,cAAc,IAAI,MAAM,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;aAOlC,IAAI,EAAE,MAAM;aACZ,WAAW,EAAE,WAAW;IAP1C;;;;OAIG;gBAEe,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW;IAK1C;;;;;;OAMG;IACH,QAAQ,IAAI,OAAO;IAMnB;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB;IA6BxD,IAAa,WAAW,IAAI,MAAM,CAEjC;IAED;;;OAGG;IACH,IAAa,SAAS,IAAI,MAAM,CAE/B;IAED,IAAa,OAAO,IAAI,MAAM,CAE7B;IAED,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IAED,IAAa,cAAc,IAAI,MAAM,CAEpC;IAED,IAAa,YAAY,IAAI,MAAM,CAElC;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,eAAe;aAQhC,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,IAAI;aACV,KAAK,EAAE,MAAM;IAT/B;;;;;OAKG;gBAEe,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM;IAK/B;;;;;;;OAOG;IACH,QAAQ,IAAI,OAAO;IAMnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe;IA8BtD,IAAa,WAAW,IAAI,MAAM,CAEjC;IAED,IAAa,SAAS,IAAI,MAAM,CAE/B;IAED,IAAa,OAAO,IAAI,MAAM,CAE7B;IAED,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IAED,IAAa,cAAc,IAAI,MAAM,CAEpC;IAED,IAAa,YAAY,IAAI,MAAM,CAElC;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"contact_info.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/contact/derivatives/contact_info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,IAAI,EAEJ,aAAa,EACd,MAAM,0BAA0B,CAAC;AAMlC;;;;;;;GAOG;AACH,uBAAe,eAAe;IAC5B,SAAgB,IAAI,EAAE,WAAW,CAAC;IAElC;;;OAGG;gBACS,IAAI,EAAE,WAAW;IAI7B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,IAAI,OAAO;IAE5B;;;;OAIG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,KAAK,gBAAgB,IAAI,MAAM,CAAC;IAExC;;;;OAIG;IACH,QAAQ,KAAK,cAAc,IAAI,MAAM,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;aAOlC,IAAI,EAAE,MAAM;aACZ,WAAW,EAAE,aAAa;IAP5C;;;;OAIG;gBAEe,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,aAAa;IAK5C;;;;;;OAMG;IACH,QAAQ,IAAI,OAAO;IAMnB;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB;IA6BxD,IAAa,WAAW,IAAI,MAAM,CAEjC;IAED;;;OAGG;IACH,IAAa,SAAS,IAAI,MAAM,CAE/B;IAED,IAAa,OAAO,IAAI,MAAM,CAE7B;IAED,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IAED,IAAa,cAAc,IAAI,MAAM,CAEpC;IAED,IAAa,YAAY,IAAI,MAAM,CAElC;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,eAAe;aAQhC,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,IAAI;aACV,KAAK,EAAE,MAAM;IAT/B;;;;;OAKG;gBAEe,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM;IAK/B;;;;;;;OAOG;IACH,QAAQ,IAAI,OAAO;IAMnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe;IA8BtD,IAAa,WAAW,IAAI,MAAM,CAEjC;IAED,IAAa,SAAS,IAAI,MAAM,CAE/B;IAED,IAAa,OAAO,IAAI,MAAM,CAE7B;IAED,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IAED,IAAa,cAAc,IAAI,MAAM,CAEpC;IAED,IAAa,YAAY,IAAI,MAAM,CAElC;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC"}
@@ -33,13 +33,13 @@ class BaseContactInfo {
33
33
  * @extends BaseContactInfo
34
34
  * @class MobileContactInfo
35
35
  * @property {string} name - The contact's personal name
36
- * @property {PhoneNumber} phoneNumber - The contact's phone number object
36
+ * @property {TZPhoneNumber} phoneNumber - The contact's phone number object
37
37
  */
38
38
  class MobileContactInfo extends BaseContactInfo {
39
39
  /**
40
40
  * Creates a new mobile contact
41
41
  * @param {string} name - The contact's personal name
42
- * @param {PhoneNumber} phoneNumber - The contact's phone number
42
+ * @param {TZPhoneNumber} phoneNumber - The contact's phone number
43
43
  */
44
44
  constructor(name, phoneNumber) {
45
45
  super("Mobile");
@@ -65,7 +65,7 @@ class MobileContactInfo extends BaseContactInfo {
65
65
  */
66
66
  validate() {
67
67
  return this.phoneNumber !== undefined &&
68
- frontend_core_1.PhoneNumber.canConstruct(this.phoneNumber.compactNumber) &&
68
+ frontend_core_1.TZPhoneNumber.canConstruct(this.phoneNumber.compactNumber) &&
69
69
  this.name.length > 0;
70
70
  }
71
71
  /**
@@ -80,14 +80,14 @@ class MobileContactInfo extends BaseContactInfo {
80
80
  * if (MobileContactInfo.is(maybeContact)) {
81
81
  * // maybeContact is typed as MobileContactInfo
82
82
  * console.log(maybeContact.name);
83
- * console.log(maybeContact.phoneNumber.label);
83
+ * console.log(maybeContact.TZPhoneNumber.label);
84
84
  * }
85
85
  *
86
86
  * @remarks
87
87
  * - Name must be a non-empty string
88
88
  * - Phone number can be either:
89
- * - A string that can be parsed into a valid PhoneNumber
90
- * - A PhoneNumber object with valid properties
89
+ * - A string that can be parsed into a valid TZPhoneNumber
90
+ * - A TZPhoneNumber object with valid properties
91
91
  * - Returns false if either property is invalid or missing
92
92
  */
93
93
  static is(obj) {
@@ -98,14 +98,14 @@ class MobileContactInfo extends BaseContactInfo {
98
98
  if (typeof mobileContactInfo.name !== "string")
99
99
  return false;
100
100
  const name = mobileContactInfo.name;
101
- // checks if phoneNumber exists and is valid
101
+ // checks if TZPhoneNumber exists and is valid
102
102
  let phone_number = undefined;
103
103
  if (typeof mobileContactInfo.phoneNumber === "string") {
104
- phone_number = frontend_core_1.PhoneNumber.from(mobileContactInfo.phoneNumber);
104
+ phone_number = frontend_core_1.TZPhoneNumber.from(mobileContactInfo.phoneNumber);
105
105
  }
106
106
  if (typeof mobileContactInfo.phoneNumber === "object") {
107
107
  const obj = mobileContactInfo.phoneNumber;
108
- const isValidPhone = frontend_core_1.PhoneNumber.is(obj);
108
+ const isValidPhone = frontend_core_1.TZPhoneNumber.is(obj);
109
109
  if (isValidPhone) {
110
110
  phone_number = obj;
111
111
  }
@@ -122,7 +122,7 @@ class MobileContactInfo extends BaseContactInfo {
122
122
  * @returns {string} Formatted phone number
123
123
  */
124
124
  get accNumber() {
125
- return this.phoneNumber.getNumberWithFormat(frontend_core_1.MobileNumberFormat.s255);
125
+ return this.phoneNumber.getWithFormat(frontend_core_1.PhoneNumberFormat.INTERNATIONAL);
126
126
  }
127
127
  get channel() {
128
128
  return this.phoneNumber.networkOperator.mobileMoneyService;
@@ -224,7 +224,7 @@ class BankContactInfo extends BaseContactInfo {
224
224
  if (typeof bankContactInfo.accNumber !== "string")
225
225
  return false;
226
226
  const accNumber = bankContactInfo.accNumber;
227
- // checks if phoneNumber exists and is valid
227
+ // checks if TZPhoneNumber exists and is valid
228
228
  let bank = undefined;
229
229
  if (typeof bankContactInfo.bank === "object") {
230
230
  const obj = bankContactInfo.bank;
@@ -1,4 +1,4 @@
1
- import type { PhoneNumber } from "@temboplus/frontend-core";
1
+ import type { TZPhoneNumber } from "@temboplus/frontend-core";
2
2
  /**
3
3
  * Represents the available channels through which payouts can be processed.
4
4
  * @enum {string}
@@ -48,11 +48,11 @@ export declare const createPayoutChannelCode: {
48
48
  verto: () => "TZ-VERTO-B2C";
49
49
  /**
50
50
  * Creates a mobile money channel code based on the telecom provider
51
- * @param {PhoneNumber} phoneNumber - Phone number object containing telecom information
51
+ * @param {TZPhoneNumber} phoneNumber - Phone number object containing telecom information
52
52
  * @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
53
53
  *
54
- * @see {@link PhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
54
+ * @see {@link TZPhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
55
55
  */
56
- mobile: (phoneNumber: PhoneNumber) => PayoutChannelCode;
56
+ mobile: (phoneNumber: TZPhoneNumber) => PayoutChannelCode;
57
57
  };
58
58
  //# sourceMappingURL=channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/src/models/payout/channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D;;;;GAIG;AACH,oBAAY,cAAc;IACxB,sDAAsD;IACtD,MAAM,WAAW;IACjB,6DAA6D;IAC7D,IAAI,SAAS;IACb,mDAAmD;IACnD,cAAc,mBAAmB;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,cAAc,GACd,MAAM,MAAM,MAAM,CAAC;AAEvB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;gBACO,aAAa;IAEvB;;;OAGG;iBACQ,cAAc;IAEzB;;;;;;OAMG;0BACmB,WAAW,KAAG,iBAAiB;CAEtD,CAAC"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/src/models/payout/channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE7D;;;;GAIG;AACH,oBAAY,cAAc;IACxB,sDAAsD;IACtD,MAAM,WAAW;IACjB,6DAA6D;IAC7D,IAAI,SAAS;IACb,mDAAmD;IACnD,cAAc,mBAAmB;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,cAAc,GACd,MAAM,MAAM,MAAM,CAAC;AAEvB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;gBACO,aAAa;IAEvB;;;OAGG;iBACQ,cAAc;IAEzB;;;;;;OAMG;0BACmB,aAAa,KAAG,iBAAiB;CAExD,CAAC"}
@@ -40,10 +40,10 @@ exports.createPayoutChannelCode = {
40
40
  verto: () => "TZ-VERTO-B2C",
41
41
  /**
42
42
  * Creates a mobile money channel code based on the telecom provider
43
- * @param {PhoneNumber} phoneNumber - Phone number object containing telecom information
43
+ * @param {TZPhoneNumber} phoneNumber - Phone number object containing telecom information
44
44
  * @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
45
45
  *
46
- * @see {@link PhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
46
+ * @see {@link TZPhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
47
47
  */
48
48
  mobile: (phoneNumber) => `TZ-${phoneNumber.networkOperator.id.toString().toUpperCase()}-B2C`,
49
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"payout.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/payout/derivatives/payout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,sBAAsB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG1E;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC;;OAEG;IACH,OAAO;IAKP,uCAAuC;IACvC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,kCAAkC;IAClC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,2CAA2C;IAC3C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,+CAA+C;IAC/C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,wCAAwC;IACxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,iDAAiD;IACjD,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;;;;;;;;;;OAWG;IACH,IAAI,MAAM,IAAI,aAAa,CAe1B;IAED,2DAA2D;IAC3D,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,iDAAiD;IACjD,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,wCAAwC;IACxC,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,4CAA4C;IAC5C,IAAI,cAAc,IAAI,sBAAsB,CAE3C;IAED,+CAA+C;IAC/C,IAAI,SAAS,IAAI,cAAc,GAAG,SAAS,CAE1C;IAED,qDAAqD;IACrD,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAE3C;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CA8BzC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAIvC;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;IAIpD;;;OAGG;WACW,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAQzD;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAUvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAO7C;;OAEG;IACI,MAAM,IAAI,UAAU;CAG5B"}
1
+ {"version":3,"file":"payout.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/payout/derivatives/payout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,sBAAsB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG1E;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC;;OAEG;IACH,OAAO;IAKP,uCAAuC;IACvC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,kCAAkC;IAClC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,2CAA2C;IAC3C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,+CAA+C;IAC/C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,wCAAwC;IACxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,iDAAiD;IACjD,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;;;;;;;;;;OAWG;IACH,IAAI,MAAM,IAAI,aAAa,CAe1B;IAED,2DAA2D;IAC3D,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,iDAAiD;IACjD,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,wCAAwC;IACxC,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,4CAA4C;IAC5C,IAAI,cAAc,IAAI,sBAAsB,CAE3C;IAED,+CAA+C;IAC/C,IAAI,SAAS,IAAI,cAAc,GAAG,SAAS,CAE1C;IAED,qDAAqD;IACrD,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAE3C;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CA8BzC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAIvC;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;IAIpD;;;OAGG;WACW,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAQzD;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAUvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAO7C;;OAEG;IACI,MAAM,IAAI,UAAU;CAG5B"}
@@ -136,7 +136,7 @@ class Payout {
136
136
  get contactInfo() {
137
137
  let contactInfo;
138
138
  // extracting mobile contact information
139
- const phone = frontend_core_1.PhoneNumber.from(this.data.msisdn);
139
+ const phone = frontend_core_1.TZPhoneNumber.from(this.data.msisdn);
140
140
  if (phone) {
141
141
  contactInfo = new index_js_1.MobileContactInfo(this.data.payeeName, phone);
142
142
  }
@@ -1,16 +1,17 @@
1
1
  import { z } from "zod";
2
+ import { PhoneNumber } from "@temboplus/frontend-core";
2
3
  /**
3
4
  * Type definition for profile schema using Zod.
4
5
  * This type helper ensures type safety when implementing the actual schema.
5
6
  */
6
- type ProfileType = z.ZodObject<{
7
+ type ProfileZodSchemaType = z.ZodObject<{
7
8
  id: z.ZodString;
8
- firstName: z.ZodString;
9
- lastName: z.ZodString;
9
+ firstName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
10
+ lastName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
10
11
  displayName: z.ZodString;
11
- phone: z.ZodString;
12
+ phone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
12
13
  accountNo: z.ZodString;
13
- email: z.ZodString;
14
+ email: z.ZodNullable<z.ZodOptional<z.ZodString>>;
14
15
  }>;
15
16
  /**
16
17
  * Zod schema for validating user profile data.
@@ -19,20 +20,142 @@ type ProfileType = z.ZodObject<{
19
20
  * @const {ProfileType}
20
21
  *
21
22
  * @property {string} id - Unique identifier for the profile
22
- * @property {string} firstName - User's first name
23
- * @property {string} lastName - User's last name
23
+ * @property {string | null | undefined} firstName - User's first name, can be null or undefined
24
+ * @property {string | null | undefined} lastName - User's last name, can be null or undefined
24
25
  * @property {string} displayName - User's display name
25
- * @property {string} phone - User's contact phone number
26
+ * @property {string | null | undefined} phone - User's contact phone number, can be null or undefined
26
27
  * @property {string} accountNo - User's account number
27
- * @property {string} email - User's email address
28
+ * @property {string | null | undefined} email - User's email address, can be null or undefined
28
29
  */
29
- export declare const profileSchema: ProfileType;
30
+ export declare const profileSchema: ProfileZodSchemaType;
30
31
  /**
31
32
  * TypeScript type representing a validated user profile.
32
33
  * Use this type for profile instances that have been validated against the schema.
34
+ */
35
+ export type ProfileType = z.infer<typeof profileSchema>;
36
+ /**
37
+ * Represents a user profile in the system.
33
38
  *
34
- * @see {@link profileSchema} for validation rules
39
+ * This class provides methods for creating, validating, and manipulating user profile data.
40
+ * It integrates with the Zod schema validation for data integrity.
35
41
  */
36
- export type Profile = z.infer<typeof profileSchema>;
42
+ export declare class Profile {
43
+ /** Unique identifier for the profile */
44
+ private _id;
45
+ /** User's first name */
46
+ private _firstName?;
47
+ /** User's last name */
48
+ private _lastName?;
49
+ /** User's display name, can be used for presentation */
50
+ private _displayName;
51
+ /** User's phone number, stored as a PhoneNumber object */
52
+ private _phone?;
53
+ /** User's account number */
54
+ private _accountNo;
55
+ /** User's email address */
56
+ private _email?;
57
+ /**
58
+ * Gets the profile schema used for validation.
59
+ */
60
+ static get schema(): ProfileZodSchemaType;
61
+ /**
62
+ * Creates a new Profile instance with the provided data.
63
+ *
64
+ * Private constructor to enforce use of static factory methods.
65
+ *
66
+ * @param data - Object containing profile information
67
+ */
68
+ private constructor();
69
+ /**
70
+ * Creates a new Profile instance with the provided data.
71
+ *
72
+ * @param data - Object containing profile information.
73
+ */
74
+ static create(data: {
75
+ id: string;
76
+ firstName?: string | null;
77
+ lastName?: string | null;
78
+ displayName: string;
79
+ phone?: string | null;
80
+ accountNo: string;
81
+ email?: string | null;
82
+ }): Profile | undefined;
83
+ /**
84
+ * Gets the profile's unique identifier.
85
+ */
86
+ get id(): string;
87
+ /**
88
+ * Gets the user's first name.
89
+ */
90
+ get firstName(): string | null | undefined;
91
+ /**
92
+ * Gets the user's last name.
93
+ */
94
+ get lastName(): string | null | undefined;
95
+ /**
96
+ * Gets the user's display name.
97
+ */
98
+ get displayName(): string;
99
+ /**
100
+ * Gets the user's phone number object.
101
+ */
102
+ get phone(): PhoneNumber | null | undefined;
103
+ /**
104
+ * Gets the user's account number.
105
+ */
106
+ get accountNo(): string;
107
+ /**
108
+ * Gets the user's email address.
109
+ */
110
+ get email(): string | null | undefined;
111
+ /**
112
+ * Gets the user's formatted phone number in international format.
113
+ */
114
+ get formattedPhone(): string | null | undefined;
115
+ /**
116
+ * Gets the user's name for display purposes.
117
+ * Returns the display name if it exists, otherwise returns the first and last name combined.
118
+ */
119
+ getName(): string;
120
+ /**
121
+ * Creates a plain object representation of the profile for validation or serialization.
122
+ *
123
+ * @returns A plain object matching the ProfileType interface
124
+ */
125
+ toObject(): ProfileType;
126
+ /**
127
+ * Converts the profile to a JSON string.
128
+ *
129
+ * @returns A JSON string representation of the profile
130
+ */
131
+ toJSON(): string;
132
+ /**
133
+ * Validates the profile data against the Zod schema.
134
+ *
135
+ * @returns True if the profile is valid, false otherwise
136
+ */
137
+ validate(): boolean;
138
+ /**
139
+ * Creates a Profile instance from a JSON string.
140
+ *
141
+ * @param jsonString - JSON string containing profile data
142
+ * @returns A new Profile instance, or undefined if parsing failed
143
+ */
144
+ static fromJSON(jsonString: string): Profile | undefined;
145
+ /**
146
+ * Creates a Profile instance from a plain object.
147
+ *
148
+ * @param data - Object containing profile data
149
+ * @returns A new Profile instance, or undefined if parsing failed
150
+ */
151
+ static from(data: any): Profile | undefined;
152
+ /**
153
+ * Type guard to check if an unknown object is a valid Profile instance.
154
+ *
155
+ * @param obj - The object to check
156
+ * @returns Type predicate indicating if the object is a valid Profile
157
+ */
158
+ static is(obj: unknown): obj is Profile;
159
+ }
37
160
  export {};
38
161
  //# sourceMappingURL=profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/src/models/user/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,KAAK,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC;IAC7B,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC;IACtB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;IACnB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;CACpB,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,EAAE,WAS1B,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/src/models/user/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;GAGG;AACH,KAAK,oBAAoB,GAAG,CAAC,CAAC,SAAS,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACpD,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CAClD,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,EAAE,oBAQ1B,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,OAAO;IAClB,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAS;IACpB,wBAAwB;IACxB,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,uBAAuB;IACvB,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,wDAAwD;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,CAAqB;IACpC,4BAA4B;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,2BAA2B;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAgB;IAE/B;;OAEG;IACH,MAAM,KAAK,MAAM,yBAEhB;IAED;;;;;;OAMG;IACH,OAAO;IAkBP;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,GAAG,OAAO,GAAG,SAAS;IAwBvB;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAEzC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAExC;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,GAAG,SAAS,CAE1C;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAErC;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAK9C;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM;IAWjB;;;;OAIG;IACH,QAAQ,IAAI,WAAW;IAkBvB;;;;OAIG;IACH,MAAM,IAAI,MAAM;IAIhB;;;;OAIG;IACH,QAAQ,IAAI,OAAO;IAUnB;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAUxD;;;;;OAKG;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;IAgC3C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,OAAO;CAmDxC"}