@managesome/knotr-toolkit 0.1.1 → 0.8.1

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 (300) hide show
  1. package/dist/backend/config.d.ts +43 -0
  2. package/dist/backend/config.d.ts.map +1 -0
  3. package/dist/backend/config.js +82 -0
  4. package/dist/backend/config.js.map +1 -0
  5. package/dist/backend/database.d.ts +28 -0
  6. package/dist/backend/database.d.ts.map +1 -0
  7. package/dist/backend/database.js +112 -0
  8. package/dist/backend/database.js.map +1 -0
  9. package/dist/backend/firebase.d.ts +68 -0
  10. package/dist/backend/firebase.d.ts.map +1 -0
  11. package/dist/backend/firebase.js +233 -0
  12. package/dist/backend/firebase.js.map +1 -0
  13. package/dist/backend/index.d.ts +8 -0
  14. package/dist/backend/index.d.ts.map +1 -0
  15. package/dist/backend/index.js +19 -0
  16. package/dist/backend/index.js.map +1 -0
  17. package/dist/backend/logger.d.ts +23 -0
  18. package/dist/backend/logger.d.ts.map +1 -0
  19. package/dist/backend/logger.js +107 -0
  20. package/dist/backend/logger.js.map +1 -0
  21. package/dist/backend/redis.d.ts +59 -0
  22. package/dist/backend/redis.d.ts.map +1 -0
  23. package/dist/backend/redis.js +169 -0
  24. package/dist/backend/redis.js.map +1 -0
  25. package/dist/backend/socket.d.ts +81 -0
  26. package/dist/backend/socket.d.ts.map +1 -0
  27. package/dist/backend/socket.js +132 -0
  28. package/dist/backend/socket.js.map +1 -0
  29. package/dist/backend/worker-queue.d.ts +40 -0
  30. package/dist/backend/worker-queue.d.ts.map +1 -0
  31. package/dist/backend/worker-queue.js +140 -0
  32. package/dist/backend/worker-queue.js.map +1 -0
  33. package/dist/client/api-client.d.ts +101 -0
  34. package/dist/client/api-client.d.ts.map +1 -0
  35. package/dist/client/api-client.js +261 -0
  36. package/dist/client/api-client.js.map +1 -0
  37. package/dist/client/api-error.d.ts +100 -0
  38. package/dist/client/api-error.d.ts.map +1 -0
  39. package/dist/client/api-error.js +111 -0
  40. package/dist/client/api-error.js.map +1 -0
  41. package/dist/client/endpoints.d.ts +510 -0
  42. package/dist/client/endpoints.d.ts.map +1 -0
  43. package/dist/client/endpoints.js +306 -0
  44. package/dist/client/endpoints.js.map +1 -0
  45. package/dist/client/index.d.ts +4 -0
  46. package/dist/client/index.d.ts.map +1 -0
  47. package/dist/client/index.js +7 -0
  48. package/dist/client/index.js.map +1 -0
  49. package/dist/constants/index.d.ts +2 -1
  50. package/dist/constants/index.d.ts.map +1 -1
  51. package/dist/constants/index.js +2 -1
  52. package/dist/constants/index.js.map +1 -1
  53. package/dist/constants/socket.d.ts +165 -0
  54. package/dist/constants/socket.d.ts.map +1 -0
  55. package/dist/constants/socket.js +204 -0
  56. package/dist/constants/socket.js.map +1 -0
  57. package/dist/helpers/ApiError.d.ts +74 -0
  58. package/dist/helpers/ApiError.d.ts.map +1 -0
  59. package/dist/helpers/ApiError.js +105 -0
  60. package/dist/helpers/ApiError.js.map +1 -0
  61. package/dist/helpers/asyncHandler.d.ts +42 -0
  62. package/dist/helpers/asyncHandler.d.ts.map +1 -0
  63. package/dist/helpers/asyncHandler.js +47 -0
  64. package/dist/helpers/asyncHandler.js.map +1 -0
  65. package/dist/helpers/id-generator.d.ts +98 -0
  66. package/dist/helpers/id-generator.d.ts.map +1 -0
  67. package/dist/helpers/id-generator.js +128 -0
  68. package/dist/helpers/id-generator.js.map +1 -0
  69. package/dist/helpers/index.d.ts +5 -0
  70. package/dist/helpers/index.d.ts.map +1 -0
  71. package/dist/helpers/index.js +8 -0
  72. package/dist/helpers/index.js.map +1 -0
  73. package/dist/helpers/response-timing.d.ts +91 -0
  74. package/dist/helpers/response-timing.d.ts.map +1 -0
  75. package/dist/helpers/response-timing.js +176 -0
  76. package/dist/helpers/response-timing.js.map +1 -0
  77. package/dist/index.d.ts +7 -3
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +21 -3
  80. package/dist/index.js.map +1 -1
  81. package/dist/schemas/account.schema.d.ts +4500 -0
  82. package/dist/schemas/account.schema.d.ts.map +1 -0
  83. package/dist/schemas/account.schema.js +123 -0
  84. package/dist/schemas/account.schema.js.map +1 -0
  85. package/dist/schemas/chat.schema.d.ts +4796 -0
  86. package/dist/schemas/chat.schema.d.ts.map +1 -0
  87. package/dist/schemas/chat.schema.js +107 -0
  88. package/dist/schemas/chat.schema.js.map +1 -0
  89. package/dist/schemas/collaboration-request.schema.d.ts +3960 -0
  90. package/dist/schemas/collaboration-request.schema.d.ts.map +1 -0
  91. package/dist/schemas/collaboration-request.schema.js +92 -0
  92. package/dist/schemas/collaboration-request.schema.js.map +1 -0
  93. package/dist/schemas/company-review.schema.d.ts +3465 -0
  94. package/dist/schemas/company-review.schema.d.ts.map +1 -0
  95. package/dist/schemas/company-review.schema.js +73 -0
  96. package/dist/schemas/company-review.schema.js.map +1 -0
  97. package/dist/schemas/company.schema.d.ts +6152 -0
  98. package/dist/schemas/company.schema.d.ts.map +1 -0
  99. package/dist/schemas/company.schema.js +192 -0
  100. package/dist/schemas/company.schema.js.map +1 -0
  101. package/dist/schemas/contract.schema.d.ts +5286 -0
  102. package/dist/schemas/contract.schema.d.ts.map +1 -0
  103. package/dist/schemas/contract.schema.js +115 -0
  104. package/dist/schemas/contract.schema.js.map +1 -0
  105. package/dist/schemas/dispute-evidence.schema.d.ts +3788 -0
  106. package/dist/schemas/dispute-evidence.schema.d.ts.map +1 -0
  107. package/dist/schemas/dispute-evidence.schema.js +71 -0
  108. package/dist/schemas/dispute-evidence.schema.js.map +1 -0
  109. package/dist/schemas/dispute.schema.d.ts +4970 -0
  110. package/dist/schemas/dispute.schema.d.ts.map +1 -0
  111. package/dist/schemas/dispute.schema.js +152 -0
  112. package/dist/schemas/dispute.schema.js.map +1 -0
  113. package/dist/schemas/donation.schema.d.ts +3594 -0
  114. package/dist/schemas/donation.schema.d.ts.map +1 -0
  115. package/dist/schemas/donation.schema.js +95 -0
  116. package/dist/schemas/donation.schema.js.map +1 -0
  117. package/dist/schemas/escrow.schema.d.ts +4322 -0
  118. package/dist/schemas/escrow.schema.d.ts.map +1 -0
  119. package/dist/schemas/escrow.schema.js +93 -0
  120. package/dist/schemas/escrow.schema.js.map +1 -0
  121. package/dist/schemas/flag.schema.d.ts +4375 -0
  122. package/dist/schemas/flag.schema.d.ts.map +1 -0
  123. package/dist/schemas/flag.schema.js +133 -0
  124. package/dist/schemas/flag.schema.js.map +1 -0
  125. package/dist/schemas/index.d.ts +33 -0
  126. package/dist/schemas/index.d.ts.map +1 -0
  127. package/dist/schemas/index.js +39 -0
  128. package/dist/schemas/index.js.map +1 -0
  129. package/dist/schemas/interest.schema.d.ts +3804 -0
  130. package/dist/schemas/interest.schema.d.ts.map +1 -0
  131. package/dist/schemas/interest.schema.js +107 -0
  132. package/dist/schemas/interest.schema.js.map +1 -0
  133. package/dist/schemas/match.schema.d.ts +4013 -0
  134. package/dist/schemas/match.schema.d.ts.map +1 -0
  135. package/dist/schemas/match.schema.js +118 -0
  136. package/dist/schemas/match.schema.js.map +1 -0
  137. package/dist/schemas/message.schema.d.ts +4213 -0
  138. package/dist/schemas/message.schema.d.ts.map +1 -0
  139. package/dist/schemas/message.schema.js +134 -0
  140. package/dist/schemas/message.schema.js.map +1 -0
  141. package/dist/schemas/milestone.schema.d.ts +4310 -0
  142. package/dist/schemas/milestone.schema.d.ts.map +1 -0
  143. package/dist/schemas/milestone.schema.js +99 -0
  144. package/dist/schemas/milestone.schema.js.map +1 -0
  145. package/dist/schemas/notification.schema.d.ts +4641 -0
  146. package/dist/schemas/notification.schema.d.ts.map +1 -0
  147. package/dist/schemas/notification.schema.js +139 -0
  148. package/dist/schemas/notification.schema.js.map +1 -0
  149. package/dist/schemas/profile.schema.d.ts +9589 -0
  150. package/dist/schemas/profile.schema.d.ts.map +1 -0
  151. package/dist/schemas/profile.schema.js +360 -0
  152. package/dist/schemas/profile.schema.js.map +1 -0
  153. package/dist/schemas/profit-share-agreement.schema.d.ts +3789 -0
  154. package/dist/schemas/profit-share-agreement.schema.d.ts.map +1 -0
  155. package/dist/schemas/profit-share-agreement.schema.js +76 -0
  156. package/dist/schemas/profit-share-agreement.schema.js.map +1 -0
  157. package/dist/schemas/profit-share.schema.d.ts +4051 -0
  158. package/dist/schemas/profit-share.schema.d.ts.map +1 -0
  159. package/dist/schemas/profit-share.schema.js +96 -0
  160. package/dist/schemas/profit-share.schema.js.map +1 -0
  161. package/dist/schemas/promo-code.schema.d.ts +3924 -0
  162. package/dist/schemas/promo-code.schema.d.ts.map +1 -0
  163. package/dist/schemas/promo-code.schema.js +112 -0
  164. package/dist/schemas/promo-code.schema.js.map +1 -0
  165. package/dist/schemas/proposal.schema.d.ts +5182 -0
  166. package/dist/schemas/proposal.schema.d.ts.map +1 -0
  167. package/dist/schemas/proposal.schema.js +114 -0
  168. package/dist/schemas/proposal.schema.js.map +1 -0
  169. package/dist/schemas/purchase.schema.d.ts +3724 -0
  170. package/dist/schemas/purchase.schema.d.ts.map +1 -0
  171. package/dist/schemas/purchase.schema.js +89 -0
  172. package/dist/schemas/purchase.schema.js.map +1 -0
  173. package/dist/schemas/requirement-post.schema.d.ts +6315 -0
  174. package/dist/schemas/requirement-post.schema.d.ts.map +1 -0
  175. package/dist/schemas/requirement-post.schema.js +153 -0
  176. package/dist/schemas/requirement-post.schema.js.map +1 -0
  177. package/dist/schemas/review.schema.d.ts +4512 -0
  178. package/dist/schemas/review.schema.d.ts.map +1 -0
  179. package/dist/schemas/review.schema.js +121 -0
  180. package/dist/schemas/review.schema.js.map +1 -0
  181. package/dist/schemas/service-listing.schema.d.ts +5152 -0
  182. package/dist/schemas/service-listing.schema.d.ts.map +1 -0
  183. package/dist/schemas/service-listing.schema.js +137 -0
  184. package/dist/schemas/service-listing.schema.js.map +1 -0
  185. package/dist/schemas/subscription.schema.d.ts +3985 -0
  186. package/dist/schemas/subscription.schema.d.ts.map +1 -0
  187. package/dist/schemas/subscription.schema.js +94 -0
  188. package/dist/schemas/subscription.schema.js.map +1 -0
  189. package/dist/schemas/tmc-application.schema.d.ts +4357 -0
  190. package/dist/schemas/tmc-application.schema.d.ts.map +1 -0
  191. package/dist/schemas/tmc-application.schema.js +96 -0
  192. package/dist/schemas/tmc-application.schema.js.map +1 -0
  193. package/dist/schemas/tmc-membership.schema.d.ts +3985 -0
  194. package/dist/schemas/tmc-membership.schema.d.ts.map +1 -0
  195. package/dist/schemas/tmc-membership.schema.js +84 -0
  196. package/dist/schemas/tmc-membership.schema.js.map +1 -0
  197. package/dist/schemas/trust-badge.schema.d.ts +3919 -0
  198. package/dist/schemas/trust-badge.schema.d.ts.map +1 -0
  199. package/dist/schemas/trust-badge.schema.js +83 -0
  200. package/dist/schemas/trust-badge.schema.js.map +1 -0
  201. package/dist/schemas/verification.schema.d.ts +4606 -0
  202. package/dist/schemas/verification.schema.d.ts.map +1 -0
  203. package/dist/schemas/verification.schema.js +114 -0
  204. package/dist/schemas/verification.schema.js.map +1 -0
  205. package/dist/schemas/webhook-event.schema.d.ts +3534 -0
  206. package/dist/schemas/webhook-event.schema.d.ts.map +1 -0
  207. package/dist/schemas/webhook-event.schema.js +83 -0
  208. package/dist/schemas/webhook-event.schema.js.map +1 -0
  209. package/dist/types/account.d.ts +30 -7
  210. package/dist/types/account.d.ts.map +1 -1
  211. package/dist/types/account.js +3 -1
  212. package/dist/types/account.js.map +1 -1
  213. package/dist/types/admin.d.ts +20 -10
  214. package/dist/types/admin.d.ts.map +1 -1
  215. package/dist/types/admin.js +3 -1
  216. package/dist/types/admin.js.map +1 -1
  217. package/dist/types/api.d.ts +184 -109
  218. package/dist/types/api.d.ts.map +1 -1
  219. package/dist/types/api.js +2 -1
  220. package/dist/types/api.js.map +1 -1
  221. package/dist/types/chat.d.ts +38 -20
  222. package/dist/types/chat.d.ts.map +1 -1
  223. package/dist/types/chat.js +3 -1
  224. package/dist/types/chat.js.map +1 -1
  225. package/dist/types/common.d.ts +39 -12
  226. package/dist/types/common.d.ts.map +1 -1
  227. package/dist/types/common.js +4 -1
  228. package/dist/types/common.js.map +1 -1
  229. package/dist/types/company.d.ts +61 -44
  230. package/dist/types/company.d.ts.map +1 -1
  231. package/dist/types/company.js +3 -1
  232. package/dist/types/company.js.map +1 -1
  233. package/dist/types/flag.d.ts +19 -8
  234. package/dist/types/flag.d.ts.map +1 -1
  235. package/dist/types/flag.js +3 -1
  236. package/dist/types/flag.js.map +1 -1
  237. package/dist/types/forms.d.ts +334 -0
  238. package/dist/types/forms.d.ts.map +1 -0
  239. package/dist/types/forms.js +5 -0
  240. package/dist/types/forms.js.map +1 -0
  241. package/dist/types/index.d.ts +18 -13
  242. package/dist/types/index.d.ts.map +1 -1
  243. package/dist/types/index.js +18 -13
  244. package/dist/types/index.js.map +1 -1
  245. package/dist/types/marketplace.d.ts +174 -104
  246. package/dist/types/marketplace.d.ts.map +1 -1
  247. package/dist/types/marketplace.js +2 -0
  248. package/dist/types/marketplace.js.map +1 -1
  249. package/dist/types/match.d.ts +36 -19
  250. package/dist/types/match.d.ts.map +1 -1
  251. package/dist/types/match.js +3 -1
  252. package/dist/types/match.js.map +1 -1
  253. package/dist/types/navigation.d.ts +305 -0
  254. package/dist/types/navigation.d.ts.map +1 -0
  255. package/dist/types/navigation.js +18 -0
  256. package/dist/types/navigation.js.map +1 -0
  257. package/dist/types/notification.d.ts +92 -0
  258. package/dist/types/notification.d.ts.map +1 -0
  259. package/dist/types/notification.js +5 -0
  260. package/dist/types/notification.js.map +1 -0
  261. package/dist/types/payment.d.ts +70 -38
  262. package/dist/types/payment.d.ts.map +1 -1
  263. package/dist/types/payment.js +3 -1
  264. package/dist/types/payment.js.map +1 -1
  265. package/dist/types/policy.d.ts +173 -80
  266. package/dist/types/policy.d.ts.map +1 -1
  267. package/dist/types/policy.js.map +1 -1
  268. package/dist/types/profile.d.ts +48 -37
  269. package/dist/types/profile.d.ts.map +1 -1
  270. package/dist/types/profile.js +3 -1
  271. package/dist/types/profile.js.map +1 -1
  272. package/dist/types/socket.d.ts +431 -0
  273. package/dist/types/socket.d.ts.map +1 -0
  274. package/dist/types/socket.js +5 -0
  275. package/dist/types/socket.js.map +1 -0
  276. package/dist/types/verification.d.ts +18 -9
  277. package/dist/types/verification.d.ts.map +1 -1
  278. package/dist/types/verification.js +3 -1
  279. package/dist/types/verification.js.map +1 -1
  280. package/dist/types/worker.d.ts +452 -0
  281. package/dist/types/worker.d.ts.map +1 -0
  282. package/dist/types/worker.js +5 -0
  283. package/dist/types/worker.js.map +1 -0
  284. package/dist/validation/index.d.ts +5 -0
  285. package/dist/validation/index.d.ts.map +1 -0
  286. package/dist/validation/index.js +9 -0
  287. package/dist/validation/index.js.map +1 -0
  288. package/dist/validation/messages.d.ts +124 -0
  289. package/dist/validation/messages.d.ts.map +1 -0
  290. package/dist/validation/messages.js +160 -0
  291. package/dist/validation/messages.js.map +1 -0
  292. package/dist/validation/schemas.d.ts +1127 -0
  293. package/dist/validation/schemas.d.ts.map +1 -0
  294. package/dist/validation/schemas.js +376 -0
  295. package/dist/validation/schemas.js.map +1 -0
  296. package/dist/validation/validators.d.ts +229 -0
  297. package/dist/validation/validators.d.ts.map +1 -0
  298. package/dist/validation/validators.js +307 -0
  299. package/dist/validation/validators.js.map +1 -0
  300. package/package.json +37 -3
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Validation error message keys for i18n
3
+ * Values are default English messages, keys can be used for translation lookup
4
+ */
5
+ export declare const VALIDATION_MESSAGES: {
6
+ readonly REQUIRED: "This field is required";
7
+ readonly INVALID_FORMAT: "Invalid format";
8
+ readonly TOO_SHORT: "Too short";
9
+ readonly TOO_LONG: "Too long";
10
+ readonly INVALID_TYPE: "Invalid type";
11
+ readonly MUST_BE_NUMBER: "Must be a number";
12
+ readonly MUST_BE_STRING: "Must be text";
13
+ readonly MUST_BE_BOOLEAN: "Must be true or false";
14
+ readonly MUST_BE_ARRAY: "Must be a list";
15
+ readonly MUST_BE_OBJECT: "Must be an object";
16
+ readonly EMAIL_REQUIRED: "Email is required";
17
+ readonly EMAIL_INVALID: "Please enter a valid email address";
18
+ readonly EMAIL_TOO_LONG: "Email is too long";
19
+ readonly PHONE_REQUIRED: "Phone number is required";
20
+ readonly PHONE_INVALID: "Please enter a valid phone number (e.g., +1234567890)";
21
+ readonly PASSWORD_REQUIRED: "Password is required";
22
+ readonly PASSWORD_TOO_SHORT: "Password must be at least 8 characters";
23
+ readonly PASSWORD_TOO_LONG: "Password is too long";
24
+ readonly PASSWORD_NEEDS_LOWERCASE: "Password must contain a lowercase letter";
25
+ readonly PASSWORD_NEEDS_UPPERCASE: "Password must contain an uppercase letter";
26
+ readonly PASSWORD_NEEDS_NUMBER: "Password must contain a number";
27
+ readonly PASSWORD_NEEDS_SPECIAL: "Password must contain a special character";
28
+ readonly PASSWORDS_DONT_MATCH: "Passwords do not match";
29
+ readonly NAME_REQUIRED: "Name is required";
30
+ readonly NAME_TOO_SHORT: "Name must be at least 2 characters";
31
+ readonly NAME_TOO_LONG: "Name is too long";
32
+ readonly NAME_INVALID_CHARS: "Name contains invalid characters";
33
+ readonly AGE_REQUIRED: "Age is required";
34
+ readonly AGE_TOO_YOUNG: "You must be at least 18 years old";
35
+ readonly AGE_TOO_OLD: "Age must be less than 70";
36
+ readonly AGE_INVALID: "Please enter a valid age";
37
+ readonly AGE_MIN_GREATER_THAN_MAX: "Minimum age cannot be greater than maximum age";
38
+ readonly DOB_REQUIRED: "Date of birth is required";
39
+ readonly DOB_INVALID: "Please enter a valid date of birth";
40
+ readonly DOB_FUTURE: "Date of birth cannot be in the future";
41
+ readonly DOB_TOO_YOUNG: "You must be at least 18 years old";
42
+ readonly DOB_TOO_OLD: "Please enter a valid date of birth";
43
+ readonly HEIGHT_REQUIRED: "Height is required";
44
+ readonly HEIGHT_TOO_SHORT: "Height must be at least 120 cm";
45
+ readonly HEIGHT_TOO_TALL: "Height must be less than 220 cm";
46
+ readonly HEIGHT_MIN_GREATER_THAN_MAX: "Minimum height cannot be greater than maximum height";
47
+ readonly WEIGHT_REQUIRED: "Weight is required";
48
+ readonly WEIGHT_TOO_LOW: "Weight must be at least 30 kg";
49
+ readonly WEIGHT_TOO_HIGH: "Weight must be less than 200 kg";
50
+ readonly ABOUT_REQUIRED: "Please tell us about yourself";
51
+ readonly ABOUT_TOO_SHORT: "Please write at least 50 characters about yourself";
52
+ readonly ABOUT_TOO_LONG: "About section is too long (max 2000 characters)";
53
+ readonly EXPECTATIONS_REQUIRED: "Please describe what you're looking for";
54
+ readonly EXPECTATIONS_TOO_SHORT: "Please write at least 30 characters";
55
+ readonly EXPECTATIONS_TOO_LONG: "Expectations section is too long (max 1000 characters)";
56
+ readonly GENDER_REQUIRED: "Please select your gender";
57
+ readonly GENDER_INVALID: "Please select a valid gender";
58
+ readonly MARITAL_STATUS_REQUIRED: "Please select your marital status";
59
+ readonly MARITAL_STATUS_INVALID: "Please select a valid marital status";
60
+ readonly EDUCATION_REQUIRED: "Please select your education level";
61
+ readonly EDUCATION_INVALID: "Please select a valid education level";
62
+ readonly COUNTRY_REQUIRED: "Please select your country";
63
+ readonly CITY_REQUIRED: "Please enter your city";
64
+ readonly LOCATION_INVALID: "Please enter a valid location";
65
+ readonly PROFILE_NOT_FOUND: "Profile not found";
66
+ readonly PROFILE_BLOCKED: "This profile is blocked";
67
+ readonly PROFILE_UNAVAILABLE: "This profile is no longer available";
68
+ readonly PHOTO_REQUIRED: "Please upload at least one photo";
69
+ readonly PHOTO_TOO_LARGE: "Photo is too large (max 5MB)";
70
+ readonly PHOTO_INVALID_TYPE: "Please upload a JPEG, PNG, or WebP image";
71
+ readonly PHOTO_LIMIT_EXCEEDED: "Maximum 6 photos allowed";
72
+ readonly MESSAGE_REQUIRED: "Message cannot be empty";
73
+ readonly MESSAGE_TOO_LONG: "Message is too long";
74
+ readonly MESSAGE_TOO_SHORT: "Message is too short";
75
+ readonly INTEREST_MESSAGE_REQUIRED: "Please write a message with your interest";
76
+ readonly INTEREST_MESSAGE_TOO_SHORT: "Please write at least 10 characters";
77
+ readonly INTEREST_MESSAGE_TOO_LONG: "Message is too long (max 500 characters)";
78
+ readonly ALREADY_SENT_INTEREST: "You've already sent an interest to this profile";
79
+ readonly CANNOT_SEND_TO_SELF: "You cannot send an interest to yourself";
80
+ readonly CANNOT_SEND_TO_BLOCKED: "You cannot send an interest to a blocked profile";
81
+ readonly MATCH_NOT_FOUND: "Match not found";
82
+ readonly MATCH_ALREADY_ENDED: "This match has already ended";
83
+ readonly REASON_REQUIRED: "Please select a reason";
84
+ readonly PROMO_CODE_INVALID: "Invalid promo code";
85
+ readonly PROMO_CODE_EXPIRED: "This promo code has expired";
86
+ readonly PROMO_CODE_ALREADY_USED: "This promo code has already been used";
87
+ readonly PAYMENT_FAILED: "Payment failed. Please try again.";
88
+ readonly PAYMENT_CANCELLED: "Payment was cancelled";
89
+ readonly INSUFFICIENT_FUNDS: "Insufficient funds";
90
+ readonly VERIFICATION_DOCUMENT_REQUIRED: "Please upload your ID document";
91
+ readonly VERIFICATION_SELFIE_REQUIRED: "Please upload a selfie";
92
+ readonly VERIFICATION_EXPIRED: "Your ID document has expired";
93
+ readonly COMPANY_NAME_REQUIRED: "Company name is required";
94
+ readonly COMPANY_DESCRIPTION_TOO_SHORT: "Description must be at least 50 characters";
95
+ readonly COMPANY_ALREADY_EXISTS: "A company with this name already exists";
96
+ readonly REPORT_REASON_REQUIRED: "Please select a reason for your report";
97
+ readonly REPORT_DESCRIPTION_REQUIRED: "Please describe the issue";
98
+ readonly REPORT_DESCRIPTION_TOO_SHORT: "Please provide more details (at least 10 characters)";
99
+ readonly NETWORK_ERROR: "Network error. Please check your connection.";
100
+ readonly REQUEST_TIMEOUT: "Request timed out. Please try again.";
101
+ readonly SERVER_ERROR: "Something went wrong. Please try again later.";
102
+ readonly SERVICE_UNAVAILABLE: "Service temporarily unavailable. Please try again later.";
103
+ readonly RATE_LIMITED: "Too many requests. Please wait a moment.";
104
+ readonly UNAUTHORIZED: "Please log in to continue";
105
+ readonly FORBIDDEN: "You don't have permission to do this";
106
+ readonly SESSION_EXPIRED: "Your session has expired. Please log in again.";
107
+ };
108
+ export type ValidationMessageKey = keyof typeof VALIDATION_MESSAGES;
109
+ export type ValidationMessage = (typeof VALIDATION_MESSAGES)[ValidationMessageKey];
110
+ /**
111
+ * Get validation message by key
112
+ * Can be extended to support i18n by passing a translation function
113
+ */
114
+ export declare function getValidationMessage(key: ValidationMessageKey, translate?: (key: string) => string): string;
115
+ /**
116
+ * Create field-specific error messages
117
+ */
118
+ export declare function createFieldMessages(field: string): {
119
+ required: string;
120
+ invalid: string;
121
+ tooShort: string;
122
+ tooLong: string;
123
+ };
124
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/validation/messages.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2JtB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAEnF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAK3G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM;;;;;EAOhD"}
@@ -0,0 +1,160 @@
1
+ // ============================================
2
+ // Validation Error Messages
3
+ // i18n-ready error message constants
4
+ // ============================================
5
+ /**
6
+ * Validation error message keys for i18n
7
+ * Values are default English messages, keys can be used for translation lookup
8
+ */
9
+ export const VALIDATION_MESSAGES = {
10
+ // Generic
11
+ REQUIRED: 'This field is required',
12
+ INVALID_FORMAT: 'Invalid format',
13
+ TOO_SHORT: 'Too short',
14
+ TOO_LONG: 'Too long',
15
+ INVALID_TYPE: 'Invalid type',
16
+ MUST_BE_NUMBER: 'Must be a number',
17
+ MUST_BE_STRING: 'Must be text',
18
+ MUST_BE_BOOLEAN: 'Must be true or false',
19
+ MUST_BE_ARRAY: 'Must be a list',
20
+ MUST_BE_OBJECT: 'Must be an object',
21
+ // Email
22
+ EMAIL_REQUIRED: 'Email is required',
23
+ EMAIL_INVALID: 'Please enter a valid email address',
24
+ EMAIL_TOO_LONG: 'Email is too long',
25
+ // Phone
26
+ PHONE_REQUIRED: 'Phone number is required',
27
+ PHONE_INVALID: 'Please enter a valid phone number (e.g., +1234567890)',
28
+ // Password
29
+ PASSWORD_REQUIRED: 'Password is required',
30
+ PASSWORD_TOO_SHORT: 'Password must be at least 8 characters',
31
+ PASSWORD_TOO_LONG: 'Password is too long',
32
+ PASSWORD_NEEDS_LOWERCASE: 'Password must contain a lowercase letter',
33
+ PASSWORD_NEEDS_UPPERCASE: 'Password must contain an uppercase letter',
34
+ PASSWORD_NEEDS_NUMBER: 'Password must contain a number',
35
+ PASSWORD_NEEDS_SPECIAL: 'Password must contain a special character',
36
+ PASSWORDS_DONT_MATCH: 'Passwords do not match',
37
+ // Name
38
+ NAME_REQUIRED: 'Name is required',
39
+ NAME_TOO_SHORT: 'Name must be at least 2 characters',
40
+ NAME_TOO_LONG: 'Name is too long',
41
+ NAME_INVALID_CHARS: 'Name contains invalid characters',
42
+ // Age
43
+ AGE_REQUIRED: 'Age is required',
44
+ AGE_TOO_YOUNG: 'You must be at least 18 years old',
45
+ AGE_TOO_OLD: 'Age must be less than 70',
46
+ AGE_INVALID: 'Please enter a valid age',
47
+ AGE_MIN_GREATER_THAN_MAX: 'Minimum age cannot be greater than maximum age',
48
+ // Date of Birth
49
+ DOB_REQUIRED: 'Date of birth is required',
50
+ DOB_INVALID: 'Please enter a valid date of birth',
51
+ DOB_FUTURE: 'Date of birth cannot be in the future',
52
+ DOB_TOO_YOUNG: 'You must be at least 18 years old',
53
+ DOB_TOO_OLD: 'Please enter a valid date of birth',
54
+ // Height
55
+ HEIGHT_REQUIRED: 'Height is required',
56
+ HEIGHT_TOO_SHORT: 'Height must be at least 120 cm',
57
+ HEIGHT_TOO_TALL: 'Height must be less than 220 cm',
58
+ HEIGHT_MIN_GREATER_THAN_MAX: 'Minimum height cannot be greater than maximum height',
59
+ // Weight
60
+ WEIGHT_REQUIRED: 'Weight is required',
61
+ WEIGHT_TOO_LOW: 'Weight must be at least 30 kg',
62
+ WEIGHT_TOO_HIGH: 'Weight must be less than 200 kg',
63
+ // Bio/About
64
+ ABOUT_REQUIRED: 'Please tell us about yourself',
65
+ ABOUT_TOO_SHORT: 'Please write at least 50 characters about yourself',
66
+ ABOUT_TOO_LONG: 'About section is too long (max 2000 characters)',
67
+ // Expectations
68
+ EXPECTATIONS_REQUIRED: "Please describe what you're looking for",
69
+ EXPECTATIONS_TOO_SHORT: 'Please write at least 30 characters',
70
+ EXPECTATIONS_TOO_LONG: 'Expectations section is too long (max 1000 characters)',
71
+ // Gender
72
+ GENDER_REQUIRED: 'Please select your gender',
73
+ GENDER_INVALID: 'Please select a valid gender',
74
+ // Marital Status
75
+ MARITAL_STATUS_REQUIRED: 'Please select your marital status',
76
+ MARITAL_STATUS_INVALID: 'Please select a valid marital status',
77
+ // Education
78
+ EDUCATION_REQUIRED: 'Please select your education level',
79
+ EDUCATION_INVALID: 'Please select a valid education level',
80
+ // Location
81
+ COUNTRY_REQUIRED: 'Please select your country',
82
+ CITY_REQUIRED: 'Please enter your city',
83
+ LOCATION_INVALID: 'Please enter a valid location',
84
+ // Profile
85
+ PROFILE_NOT_FOUND: 'Profile not found',
86
+ PROFILE_BLOCKED: 'This profile is blocked',
87
+ PROFILE_UNAVAILABLE: 'This profile is no longer available',
88
+ // Photos
89
+ PHOTO_REQUIRED: 'Please upload at least one photo',
90
+ PHOTO_TOO_LARGE: 'Photo is too large (max 5MB)',
91
+ PHOTO_INVALID_TYPE: 'Please upload a JPEG, PNG, or WebP image',
92
+ PHOTO_LIMIT_EXCEEDED: 'Maximum 6 photos allowed',
93
+ // Message
94
+ MESSAGE_REQUIRED: 'Message cannot be empty',
95
+ MESSAGE_TOO_LONG: 'Message is too long',
96
+ MESSAGE_TOO_SHORT: 'Message is too short',
97
+ // Interest
98
+ INTEREST_MESSAGE_REQUIRED: 'Please write a message with your interest',
99
+ INTEREST_MESSAGE_TOO_SHORT: 'Please write at least 10 characters',
100
+ INTEREST_MESSAGE_TOO_LONG: 'Message is too long (max 500 characters)',
101
+ ALREADY_SENT_INTEREST: "You've already sent an interest to this profile",
102
+ CANNOT_SEND_TO_SELF: 'You cannot send an interest to yourself',
103
+ CANNOT_SEND_TO_BLOCKED: 'You cannot send an interest to a blocked profile',
104
+ // Match
105
+ MATCH_NOT_FOUND: 'Match not found',
106
+ MATCH_ALREADY_ENDED: 'This match has already ended',
107
+ REASON_REQUIRED: 'Please select a reason',
108
+ // Promo Code
109
+ PROMO_CODE_INVALID: 'Invalid promo code',
110
+ PROMO_CODE_EXPIRED: 'This promo code has expired',
111
+ PROMO_CODE_ALREADY_USED: 'This promo code has already been used',
112
+ // Payment
113
+ PAYMENT_FAILED: 'Payment failed. Please try again.',
114
+ PAYMENT_CANCELLED: 'Payment was cancelled',
115
+ INSUFFICIENT_FUNDS: 'Insufficient funds',
116
+ // Verification
117
+ VERIFICATION_DOCUMENT_REQUIRED: 'Please upload your ID document',
118
+ VERIFICATION_SELFIE_REQUIRED: 'Please upload a selfie',
119
+ VERIFICATION_EXPIRED: 'Your ID document has expired',
120
+ // Company/TMC
121
+ COMPANY_NAME_REQUIRED: 'Company name is required',
122
+ COMPANY_DESCRIPTION_TOO_SHORT: 'Description must be at least 50 characters',
123
+ COMPANY_ALREADY_EXISTS: 'A company with this name already exists',
124
+ // Report
125
+ REPORT_REASON_REQUIRED: 'Please select a reason for your report',
126
+ REPORT_DESCRIPTION_REQUIRED: 'Please describe the issue',
127
+ REPORT_DESCRIPTION_TOO_SHORT: 'Please provide more details (at least 10 characters)',
128
+ // Generic Network
129
+ NETWORK_ERROR: 'Network error. Please check your connection.',
130
+ REQUEST_TIMEOUT: 'Request timed out. Please try again.',
131
+ SERVER_ERROR: 'Something went wrong. Please try again later.',
132
+ SERVICE_UNAVAILABLE: 'Service temporarily unavailable. Please try again later.',
133
+ RATE_LIMITED: 'Too many requests. Please wait a moment.',
134
+ // Auth
135
+ UNAUTHORIZED: 'Please log in to continue',
136
+ FORBIDDEN: "You don't have permission to do this",
137
+ SESSION_EXPIRED: 'Your session has expired. Please log in again.',
138
+ };
139
+ /**
140
+ * Get validation message by key
141
+ * Can be extended to support i18n by passing a translation function
142
+ */
143
+ export function getValidationMessage(key, translate) {
144
+ if (translate) {
145
+ return translate(`validation.${key}`);
146
+ }
147
+ return VALIDATION_MESSAGES[key];
148
+ }
149
+ /**
150
+ * Create field-specific error messages
151
+ */
152
+ export function createFieldMessages(field) {
153
+ return {
154
+ required: `${field} is required`,
155
+ invalid: `Please enter a valid ${field.toLowerCase()}`,
156
+ tooShort: `${field} is too short`,
157
+ tooLong: `${field} is too long`,
158
+ };
159
+ }
160
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/validation/messages.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,4BAA4B;AAC5B,qCAAqC;AACrC,+CAA+C;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,QAAQ,EAAE,wBAAwB;IAClC,cAAc,EAAE,gBAAgB;IAChC,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,kBAAkB;IAClC,cAAc,EAAE,cAAc;IAC9B,eAAe,EAAE,uBAAuB;IACxC,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,mBAAmB;IAEnC,QAAQ;IACR,cAAc,EAAE,mBAAmB;IACnC,aAAa,EAAE,oCAAoC;IACnD,cAAc,EAAE,mBAAmB;IAEnC,QAAQ;IACR,cAAc,EAAE,0BAA0B;IAC1C,aAAa,EAAE,uDAAuD;IAEtE,WAAW;IACX,iBAAiB,EAAE,sBAAsB;IACzC,kBAAkB,EAAE,wCAAwC;IAC5D,iBAAiB,EAAE,sBAAsB;IACzC,wBAAwB,EAAE,0CAA0C;IACpE,wBAAwB,EAAE,2CAA2C;IACrE,qBAAqB,EAAE,gCAAgC;IACvD,sBAAsB,EAAE,2CAA2C;IACnE,oBAAoB,EAAE,wBAAwB;IAE9C,OAAO;IACP,aAAa,EAAE,kBAAkB;IACjC,cAAc,EAAE,oCAAoC;IACpD,aAAa,EAAE,kBAAkB;IACjC,kBAAkB,EAAE,kCAAkC;IAEtD,MAAM;IACN,YAAY,EAAE,iBAAiB;IAC/B,aAAa,EAAE,mCAAmC;IAClD,WAAW,EAAE,0BAA0B;IACvC,WAAW,EAAE,0BAA0B;IACvC,wBAAwB,EAAE,gDAAgD;IAE1E,gBAAgB;IAChB,YAAY,EAAE,2BAA2B;IACzC,WAAW,EAAE,oCAAoC;IACjD,UAAU,EAAE,uCAAuC;IACnD,aAAa,EAAE,mCAAmC;IAClD,WAAW,EAAE,oCAAoC;IAEjD,SAAS;IACT,eAAe,EAAE,oBAAoB;IACrC,gBAAgB,EAAE,gCAAgC;IAClD,eAAe,EAAE,iCAAiC;IAClD,2BAA2B,EAAE,sDAAsD;IAEnF,SAAS;IACT,eAAe,EAAE,oBAAoB;IACrC,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EAAE,iCAAiC;IAElD,YAAY;IACZ,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EAAE,oDAAoD;IACrE,cAAc,EAAE,iDAAiD;IAEjE,eAAe;IACf,qBAAqB,EAAE,yCAAyC;IAChE,sBAAsB,EAAE,qCAAqC;IAC7D,qBAAqB,EAAE,wDAAwD;IAE/E,SAAS;IACT,eAAe,EAAE,2BAA2B;IAC5C,cAAc,EAAE,8BAA8B;IAE9C,iBAAiB;IACjB,uBAAuB,EAAE,mCAAmC;IAC5D,sBAAsB,EAAE,sCAAsC;IAE9D,YAAY;IACZ,kBAAkB,EAAE,oCAAoC;IACxD,iBAAiB,EAAE,uCAAuC;IAE1D,WAAW;IACX,gBAAgB,EAAE,4BAA4B;IAC9C,aAAa,EAAE,wBAAwB;IACvC,gBAAgB,EAAE,+BAA+B;IAEjD,UAAU;IACV,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,yBAAyB;IAC1C,mBAAmB,EAAE,qCAAqC;IAE1D,SAAS;IACT,cAAc,EAAE,kCAAkC;IAClD,eAAe,EAAE,8BAA8B;IAC/C,kBAAkB,EAAE,0CAA0C;IAC9D,oBAAoB,EAAE,0BAA0B;IAEhD,UAAU;IACV,gBAAgB,EAAE,yBAAyB;IAC3C,gBAAgB,EAAE,qBAAqB;IACvC,iBAAiB,EAAE,sBAAsB;IAEzC,WAAW;IACX,yBAAyB,EAAE,2CAA2C;IACtE,0BAA0B,EAAE,qCAAqC;IACjE,yBAAyB,EAAE,0CAA0C;IACrE,qBAAqB,EAAE,iDAAiD;IACxE,mBAAmB,EAAE,yCAAyC;IAC9D,sBAAsB,EAAE,kDAAkD;IAE1E,QAAQ;IACR,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,8BAA8B;IACnD,eAAe,EAAE,wBAAwB;IAEzC,aAAa;IACb,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,6BAA6B;IACjD,uBAAuB,EAAE,uCAAuC;IAEhE,UAAU;IACV,cAAc,EAAE,mCAAmC;IACnD,iBAAiB,EAAE,uBAAuB;IAC1C,kBAAkB,EAAE,oBAAoB;IAExC,eAAe;IACf,8BAA8B,EAAE,gCAAgC;IAChE,4BAA4B,EAAE,wBAAwB;IACtD,oBAAoB,EAAE,8BAA8B;IAEpD,cAAc;IACd,qBAAqB,EAAE,0BAA0B;IACjD,6BAA6B,EAAE,4CAA4C;IAC3E,sBAAsB,EAAE,yCAAyC;IAEjE,SAAS;IACT,sBAAsB,EAAE,wCAAwC;IAChE,2BAA2B,EAAE,2BAA2B;IACxD,4BAA4B,EAAE,sDAAsD;IAEpF,kBAAkB;IAClB,aAAa,EAAE,8CAA8C;IAC7D,eAAe,EAAE,sCAAsC;IACvD,YAAY,EAAE,+CAA+C;IAC7D,mBAAmB,EAAE,0DAA0D;IAC/E,YAAY,EAAE,0CAA0C;IAExD,OAAO;IACP,YAAY,EAAE,2BAA2B;IACzC,SAAS,EAAE,sCAAsC;IACjD,eAAe,EAAE,gDAAgD;CACzD,CAAC;AAKX;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAyB,EAAE,SAAmC;IACjG,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO;QACL,QAAQ,EAAE,GAAG,KAAK,cAAc;QAChC,OAAO,EAAE,wBAAwB,KAAK,CAAC,WAAW,EAAE,EAAE;QACtD,QAAQ,EAAE,GAAG,KAAK,eAAe;QACjC,OAAO,EAAE,GAAG,KAAK,cAAc;KAChC,CAAC;AACJ,CAAC"}