@deepintel-ltd/buildlink-api-contracts 0.2.23

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 (278) hide show
  1. package/README.md +27 -0
  2. package/contracts/auth.d.ts +3641 -0
  3. package/contracts/auth.d.ts.map +1 -0
  4. package/contracts/auth.js +266 -0
  5. package/contracts/auth.js.map +1 -0
  6. package/contracts/billing.d.ts +2167 -0
  7. package/contracts/billing.d.ts.map +1 -0
  8. package/contracts/billing.js +55 -0
  9. package/contracts/billing.js.map +1 -0
  10. package/contracts/boq.d.ts +1214 -0
  11. package/contracts/boq.d.ts.map +1 -0
  12. package/contracts/boq.js +31 -0
  13. package/contracts/boq.js.map +1 -0
  14. package/contracts/budget.d.ts +10677 -0
  15. package/contracts/budget.d.ts.map +1 -0
  16. package/contracts/budget.js +599 -0
  17. package/contracts/budget.js.map +1 -0
  18. package/contracts/commercial.d.ts +1475 -0
  19. package/contracts/commercial.d.ts.map +1 -0
  20. package/contracts/commercial.js +40 -0
  21. package/contracts/commercial.js.map +1 -0
  22. package/contracts/communication.d.ts +5389 -0
  23. package/contracts/communication.d.ts.map +1 -0
  24. package/contracts/communication.js +255 -0
  25. package/contracts/communication.js.map +1 -0
  26. package/contracts/contractor-ledger.d.ts +1293 -0
  27. package/contracts/contractor-ledger.d.ts.map +1 -0
  28. package/contracts/contractor-ledger.js +41 -0
  29. package/contracts/contractor-ledger.js.map +1 -0
  30. package/contracts/daily-logs.d.ts +9132 -0
  31. package/contracts/daily-logs.d.ts.map +1 -0
  32. package/contracts/daily-logs.js +188 -0
  33. package/contracts/daily-logs.js.map +1 -0
  34. package/contracts/deficiencies.d.ts +11786 -0
  35. package/contracts/deficiencies.d.ts.map +1 -0
  36. package/contracts/deficiencies.js +312 -0
  37. package/contracts/deficiencies.js.map +1 -0
  38. package/contracts/directory.d.ts +3116 -0
  39. package/contracts/directory.d.ts.map +1 -0
  40. package/contracts/directory.js +117 -0
  41. package/contracts/directory.js.map +1 -0
  42. package/contracts/documents.d.ts +4944 -0
  43. package/contracts/documents.d.ts.map +1 -0
  44. package/contracts/documents.js +251 -0
  45. package/contracts/documents.js.map +1 -0
  46. package/contracts/drawings.d.ts +10552 -0
  47. package/contracts/drawings.d.ts.map +1 -0
  48. package/contracts/drawings.js +321 -0
  49. package/contracts/drawings.js.map +1 -0
  50. package/contracts/hub.d.ts +1174 -0
  51. package/contracts/hub.d.ts.map +1 -0
  52. package/contracts/hub.js +42 -0
  53. package/contracts/hub.js.map +1 -0
  54. package/contracts/index.d.ts +128 -0
  55. package/contracts/index.d.ts.map +1 -0
  56. package/contracts/index.js +119 -0
  57. package/contracts/index.js.map +1 -0
  58. package/contracts/integrations.d.ts +4163 -0
  59. package/contracts/integrations.d.ts.map +1 -0
  60. package/contracts/integrations.js +326 -0
  61. package/contracts/integrations.js.map +1 -0
  62. package/contracts/maps.d.ts +4911 -0
  63. package/contracts/maps.d.ts.map +1 -0
  64. package/contracts/maps.js +276 -0
  65. package/contracts/maps.js.map +1 -0
  66. package/contracts/meetings.d.ts +4194 -0
  67. package/contracts/meetings.d.ts.map +1 -0
  68. package/contracts/meetings.js +115 -0
  69. package/contracts/meetings.js.map +1 -0
  70. package/contracts/monitoring.d.ts +2749 -0
  71. package/contracts/monitoring.d.ts.map +1 -0
  72. package/contracts/monitoring.js +289 -0
  73. package/contracts/monitoring.js.map +1 -0
  74. package/contracts/packages.d.ts +1470 -0
  75. package/contracts/packages.d.ts.map +1 -0
  76. package/contracts/packages.js +74 -0
  77. package/contracts/packages.js.map +1 -0
  78. package/contracts/projects.d.ts +6281 -0
  79. package/contracts/projects.d.ts.map +1 -0
  80. package/contracts/projects.js +448 -0
  81. package/contracts/projects.js.map +1 -0
  82. package/contracts/proof.d.ts +962 -0
  83. package/contracts/proof.d.ts.map +1 -0
  84. package/contracts/proof.js +34 -0
  85. package/contracts/proof.js.map +1 -0
  86. package/contracts/qaqc.d.ts +1184 -0
  87. package/contracts/qaqc.d.ts.map +1 -0
  88. package/contracts/qaqc.js +35 -0
  89. package/contracts/qaqc.js.map +1 -0
  90. package/contracts/rbac.d.ts +5227 -0
  91. package/contracts/rbac.d.ts.map +1 -0
  92. package/contracts/rbac.js +357 -0
  93. package/contracts/rbac.js.map +1 -0
  94. package/contracts/reports.d.ts +8468 -0
  95. package/contracts/reports.d.ts.map +1 -0
  96. package/contracts/reports.js +377 -0
  97. package/contracts/reports.js.map +1 -0
  98. package/contracts/resources.d.ts +15870 -0
  99. package/contracts/resources.d.ts.map +1 -0
  100. package/contracts/resources.js +869 -0
  101. package/contracts/resources.js.map +1 -0
  102. package/contracts/rfi-submittal.d.ts +2545 -0
  103. package/contracts/rfi-submittal.d.ts.map +1 -0
  104. package/contracts/rfi-submittal.js +159 -0
  105. package/contracts/rfi-submittal.js.map +1 -0
  106. package/contracts/safety.d.ts +7162 -0
  107. package/contracts/safety.d.ts.map +1 -0
  108. package/contracts/safety.js +519 -0
  109. package/contracts/safety.js.map +1 -0
  110. package/contracts/schedule.d.ts +9456 -0
  111. package/contracts/schedule.d.ts.map +1 -0
  112. package/contracts/schedule.js +460 -0
  113. package/contracts/schedule.js.map +1 -0
  114. package/contracts/spec-equal.d.ts +841 -0
  115. package/contracts/spec-equal.d.ts.map +1 -0
  116. package/contracts/spec-equal.js +28 -0
  117. package/contracts/spec-equal.js.map +1 -0
  118. package/contracts/specifications.d.ts +15478 -0
  119. package/contracts/specifications.d.ts.map +1 -0
  120. package/contracts/specifications.js +521 -0
  121. package/contracts/specifications.js.map +1 -0
  122. package/contracts/tasks.d.ts +11037 -0
  123. package/contracts/tasks.d.ts.map +1 -0
  124. package/contracts/tasks.js +693 -0
  125. package/contracts/tasks.js.map +1 -0
  126. package/contracts/timecards.d.ts +3130 -0
  127. package/contracts/timecards.d.ts.map +1 -0
  128. package/contracts/timecards.js +133 -0
  129. package/contracts/timecards.js.map +1 -0
  130. package/contracts/transmittals.d.ts +3921 -0
  131. package/contracts/transmittals.d.ts.map +1 -0
  132. package/contracts/transmittals.js +156 -0
  133. package/contracts/transmittals.js.map +1 -0
  134. package/contracts/valuations.d.ts +3266 -0
  135. package/contracts/valuations.d.ts.map +1 -0
  136. package/contracts/valuations.js +116 -0
  137. package/contracts/valuations.js.map +1 -0
  138. package/package.json +216 -0
  139. package/schemas/auth.d.ts +449 -0
  140. package/schemas/auth.d.ts.map +1 -0
  141. package/schemas/auth.js +103 -0
  142. package/schemas/auth.js.map +1 -0
  143. package/schemas/billing.d.ts +710 -0
  144. package/schemas/billing.d.ts.map +1 -0
  145. package/schemas/billing.js +82 -0
  146. package/schemas/billing.js.map +1 -0
  147. package/schemas/boq.d.ts +385 -0
  148. package/schemas/boq.d.ts.map +1 -0
  149. package/schemas/boq.js +49 -0
  150. package/schemas/boq.js.map +1 -0
  151. package/schemas/budget.d.ts +737 -0
  152. package/schemas/budget.d.ts.map +1 -0
  153. package/schemas/budget.js +272 -0
  154. package/schemas/budget.js.map +1 -0
  155. package/schemas/commercial.d.ts +358 -0
  156. package/schemas/commercial.d.ts.map +1 -0
  157. package/schemas/commercial.js +36 -0
  158. package/schemas/commercial.js.map +1 -0
  159. package/schemas/common.d.ts +865 -0
  160. package/schemas/common.d.ts.map +1 -0
  161. package/schemas/common.js +193 -0
  162. package/schemas/common.js.map +1 -0
  163. package/schemas/communication.d.ts +884 -0
  164. package/schemas/communication.d.ts.map +1 -0
  165. package/schemas/communication.js +245 -0
  166. package/schemas/communication.js.map +1 -0
  167. package/schemas/contractor-ledger.d.ts +364 -0
  168. package/schemas/contractor-ledger.d.ts.map +1 -0
  169. package/schemas/contractor-ledger.js +36 -0
  170. package/schemas/contractor-ledger.js.map +1 -0
  171. package/schemas/cursor-pagination.d.ts +258 -0
  172. package/schemas/cursor-pagination.d.ts.map +1 -0
  173. package/schemas/cursor-pagination.js +84 -0
  174. package/schemas/cursor-pagination.js.map +1 -0
  175. package/schemas/daily-logs.d.ts +2339 -0
  176. package/schemas/daily-logs.d.ts.map +1 -0
  177. package/schemas/daily-logs.js +235 -0
  178. package/schemas/daily-logs.js.map +1 -0
  179. package/schemas/deficiencies.d.ts +2496 -0
  180. package/schemas/deficiencies.d.ts.map +1 -0
  181. package/schemas/deficiencies.js +338 -0
  182. package/schemas/deficiencies.js.map +1 -0
  183. package/schemas/directory.d.ts +783 -0
  184. package/schemas/directory.d.ts.map +1 -0
  185. package/schemas/directory.js +122 -0
  186. package/schemas/directory.js.map +1 -0
  187. package/schemas/documents.d.ts +202 -0
  188. package/schemas/documents.d.ts.map +1 -0
  189. package/schemas/documents.js +76 -0
  190. package/schemas/documents.js.map +1 -0
  191. package/schemas/drawings.d.ts +2042 -0
  192. package/schemas/drawings.d.ts.map +1 -0
  193. package/schemas/drawings.js +350 -0
  194. package/schemas/drawings.js.map +1 -0
  195. package/schemas/hub.d.ts +288 -0
  196. package/schemas/hub.d.ts.map +1 -0
  197. package/schemas/hub.js +32 -0
  198. package/schemas/hub.js.map +1 -0
  199. package/schemas/integrations.d.ts +508 -0
  200. package/schemas/integrations.d.ts.map +1 -0
  201. package/schemas/integrations.js +119 -0
  202. package/schemas/integrations.js.map +1 -0
  203. package/schemas/maps.d.ts +793 -0
  204. package/schemas/maps.d.ts.map +1 -0
  205. package/schemas/maps.js +118 -0
  206. package/schemas/maps.js.map +1 -0
  207. package/schemas/meetings.d.ts +888 -0
  208. package/schemas/meetings.d.ts.map +1 -0
  209. package/schemas/meetings.js +138 -0
  210. package/schemas/meetings.js.map +1 -0
  211. package/schemas/packages.d.ts +236 -0
  212. package/schemas/packages.d.ts.map +1 -0
  213. package/schemas/packages.js +53 -0
  214. package/schemas/packages.js.map +1 -0
  215. package/schemas/projects.d.ts +306 -0
  216. package/schemas/projects.d.ts.map +1 -0
  217. package/schemas/projects.js +92 -0
  218. package/schemas/projects.js.map +1 -0
  219. package/schemas/proof.d.ts +210 -0
  220. package/schemas/proof.d.ts.map +1 -0
  221. package/schemas/proof.js +26 -0
  222. package/schemas/proof.js.map +1 -0
  223. package/schemas/qaqc.d.ts +235 -0
  224. package/schemas/qaqc.d.ts.map +1 -0
  225. package/schemas/qaqc.js +47 -0
  226. package/schemas/qaqc.js.map +1 -0
  227. package/schemas/rbac.d.ts +730 -0
  228. package/schemas/rbac.d.ts.map +1 -0
  229. package/schemas/rbac.js +230 -0
  230. package/schemas/rbac.js.map +1 -0
  231. package/schemas/reports.d.ts +5729 -0
  232. package/schemas/reports.d.ts.map +1 -0
  233. package/schemas/reports.js +589 -0
  234. package/schemas/reports.js.map +1 -0
  235. package/schemas/resources.d.ts +5190 -0
  236. package/schemas/resources.d.ts.map +1 -0
  237. package/schemas/resources.js +678 -0
  238. package/schemas/resources.js.map +1 -0
  239. package/schemas/rfi.d.ts +877 -0
  240. package/schemas/rfi.d.ts.map +1 -0
  241. package/schemas/rfi.js +84 -0
  242. package/schemas/rfi.js.map +1 -0
  243. package/schemas/safety.d.ts +1080 -0
  244. package/schemas/safety.d.ts.map +1 -0
  245. package/schemas/safety.js +237 -0
  246. package/schemas/safety.js.map +1 -0
  247. package/schemas/schedule.d.ts +4657 -0
  248. package/schemas/schedule.d.ts.map +1 -0
  249. package/schemas/schedule.js +441 -0
  250. package/schemas/schedule.js.map +1 -0
  251. package/schemas/spec-equal.d.ts +162 -0
  252. package/schemas/spec-equal.d.ts.map +1 -0
  253. package/schemas/spec-equal.js +29 -0
  254. package/schemas/spec-equal.js.map +1 -0
  255. package/schemas/specifications.d.ts +5241 -0
  256. package/schemas/specifications.d.ts.map +1 -0
  257. package/schemas/specifications.js +426 -0
  258. package/schemas/specifications.js.map +1 -0
  259. package/schemas/submittal.d.ts +867 -0
  260. package/schemas/submittal.d.ts.map +1 -0
  261. package/schemas/submittal.js +87 -0
  262. package/schemas/submittal.js.map +1 -0
  263. package/schemas/tasks.d.ts +610 -0
  264. package/schemas/tasks.d.ts.map +1 -0
  265. package/schemas/tasks.js +133 -0
  266. package/schemas/tasks.js.map +1 -0
  267. package/schemas/timecards.d.ts +618 -0
  268. package/schemas/timecards.d.ts.map +1 -0
  269. package/schemas/timecards.js +80 -0
  270. package/schemas/timecards.js.map +1 -0
  271. package/schemas/transmittals.d.ts +662 -0
  272. package/schemas/transmittals.d.ts.map +1 -0
  273. package/schemas/transmittals.js +132 -0
  274. package/schemas/transmittals.js.map +1 -0
  275. package/schemas/valuations.d.ts +713 -0
  276. package/schemas/valuations.d.ts.map +1 -0
  277. package/schemas/valuations.js +116 -0
  278. package/schemas/valuations.js.map +1 -0
@@ -0,0 +1,449 @@
1
+ import { z } from 'zod';
2
+ export declare const PasswordSchema: z.ZodString;
3
+ export declare const LoginRequestSchema: z.ZodObject<{
4
+ email: z.ZodString;
5
+ password: z.ZodString;
6
+ mfaCode: z.ZodOptional<z.ZodString>;
7
+ companyId: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ email: string;
10
+ password: string;
11
+ companyId?: string | undefined;
12
+ mfaCode?: string | undefined;
13
+ }, {
14
+ email: string;
15
+ password: string;
16
+ companyId?: string | undefined;
17
+ mfaCode?: string | undefined;
18
+ }>;
19
+ export declare const RegisterRequestSchema: z.ZodEffects<z.ZodObject<{
20
+ email: z.ZodString;
21
+ password: z.ZodString;
22
+ firstName: z.ZodString;
23
+ lastName: z.ZodString;
24
+ companyName: z.ZodOptional<z.ZodString>;
25
+ companyId: z.ZodOptional<z.ZodString>;
26
+ inviteToken: z.ZodOptional<z.ZodString>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ email: string;
29
+ password: string;
30
+ firstName: string;
31
+ lastName: string;
32
+ companyId?: string | undefined;
33
+ companyName?: string | undefined;
34
+ inviteToken?: string | undefined;
35
+ }, {
36
+ email: string;
37
+ password: string;
38
+ firstName: string;
39
+ lastName: string;
40
+ companyId?: string | undefined;
41
+ companyName?: string | undefined;
42
+ inviteToken?: string | undefined;
43
+ }>, {
44
+ email: string;
45
+ password: string;
46
+ firstName: string;
47
+ lastName: string;
48
+ companyId?: string | undefined;
49
+ companyName?: string | undefined;
50
+ inviteToken?: string | undefined;
51
+ }, {
52
+ email: string;
53
+ password: string;
54
+ firstName: string;
55
+ lastName: string;
56
+ companyId?: string | undefined;
57
+ companyName?: string | undefined;
58
+ inviteToken?: string | undefined;
59
+ }>;
60
+ export declare const RefreshTokenRequestSchema: z.ZodObject<{
61
+ refreshToken: z.ZodString;
62
+ }, "strip", z.ZodTypeAny, {
63
+ refreshToken: string;
64
+ }, {
65
+ refreshToken: string;
66
+ }>;
67
+ export declare const MfaSetupRequestSchema: z.ZodObject<{
68
+ secret: z.ZodString;
69
+ token: z.ZodString;
70
+ }, "strip", z.ZodTypeAny, {
71
+ secret: string;
72
+ token: string;
73
+ }, {
74
+ secret: string;
75
+ token: string;
76
+ }>;
77
+ export declare const ResetPasswordRequestSchema: z.ZodObject<{
78
+ email: z.ZodString;
79
+ }, "strip", z.ZodTypeAny, {
80
+ email: string;
81
+ }, {
82
+ email: string;
83
+ }>;
84
+ export declare const ConfirmResetPasswordRequestSchema: z.ZodObject<{
85
+ token: z.ZodString;
86
+ newPassword: z.ZodString;
87
+ }, "strip", z.ZodTypeAny, {
88
+ token: string;
89
+ newPassword: string;
90
+ }, {
91
+ token: string;
92
+ newPassword: string;
93
+ }>;
94
+ export declare const ChangePasswordRequestSchema: z.ZodObject<{
95
+ currentPassword: z.ZodString;
96
+ newPassword: z.ZodString;
97
+ mfaCode: z.ZodOptional<z.ZodString>;
98
+ }, "strip", z.ZodTypeAny, {
99
+ newPassword: string;
100
+ currentPassword: string;
101
+ mfaCode?: string | undefined;
102
+ }, {
103
+ newPassword: string;
104
+ currentPassword: string;
105
+ mfaCode?: string | undefined;
106
+ }>;
107
+ export declare const CreateAccountRequestSchema: z.ZodEffects<z.ZodObject<{
108
+ email: z.ZodString;
109
+ password: z.ZodString;
110
+ firstName: z.ZodString;
111
+ lastName: z.ZodString;
112
+ companyName: z.ZodOptional<z.ZodString>;
113
+ companyId: z.ZodOptional<z.ZodString>;
114
+ inviteToken: z.ZodOptional<z.ZodString>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ email: string;
117
+ password: string;
118
+ firstName: string;
119
+ lastName: string;
120
+ companyId?: string | undefined;
121
+ companyName?: string | undefined;
122
+ inviteToken?: string | undefined;
123
+ }, {
124
+ email: string;
125
+ password: string;
126
+ firstName: string;
127
+ lastName: string;
128
+ companyId?: string | undefined;
129
+ companyName?: string | undefined;
130
+ inviteToken?: string | undefined;
131
+ }>, {
132
+ email: string;
133
+ password: string;
134
+ firstName: string;
135
+ lastName: string;
136
+ companyId?: string | undefined;
137
+ companyName?: string | undefined;
138
+ inviteToken?: string | undefined;
139
+ }, {
140
+ email: string;
141
+ password: string;
142
+ firstName: string;
143
+ lastName: string;
144
+ companyId?: string | undefined;
145
+ companyName?: string | undefined;
146
+ inviteToken?: string | undefined;
147
+ }>;
148
+ export declare const UserProfileSchema: z.ZodObject<{
149
+ id: z.ZodString;
150
+ email: z.ZodString;
151
+ firstName: z.ZodString;
152
+ lastName: z.ZodString;
153
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
155
+ companyId: z.ZodOptional<z.ZodString>;
156
+ mfaEnabled: z.ZodBoolean;
157
+ isActive: z.ZodBoolean;
158
+ lastLoginAt: z.ZodNullable<z.ZodString>;
159
+ role: z.ZodEnum<["SUPER_ADMIN", "COMPANY_ADMIN", "EXECUTIVE", "PROJECT_MANAGER", "ASSISTANT_PROJECT_MANAGER", "SITE_MANAGER", "SUPERINTENDENT", "FINANCE_MANAGER", "SAFETY_MANAGER", "QA_MANAGER", "ARCHITECT", "ENGINEER", "ESTIMATOR", "SCHEDULER", "DOCUMENT_CONTROLLER", "ACCOUNTANT", "PROCUREMENT_OFFICER", "CONTRACTOR", "SUBCONTRACTOR", "FIELD_WORKER", "TRADE_SPECIALIST", "EQUIPMENT_OPERATOR", "INSPECTOR", "CLIENT", "CONSULTANT", "VENDOR"]>;
160
+ permissions: z.ZodArray<z.ZodEnum<["manage_all_companies", "create_companies", "view_all_companies", "manage_system_settings", "manage_company", "manage_users", "manage_projects", "manage_company_settings", "view_company_analytics", "create_projects", "manage_project_team", "approve_budgets", "view_all_projects", "review_technical_plans", "approve_technical_changes", "sign_off_designs", "manage_specifications", "supervise_field_work", "assign_daily_tasks", "manage_crew", "approve_timesheets", "view_assigned_tasks", "update_task_status", "report_issues", "upload_field_photos", "record_time", "view_project_status", "view_reports", "comment_on_project", "request_changes", "view_projects", "view_documents", "view_profile", "access_mobile_app", "view_boq", "manage_boq", "certify_valuation", "manage_qaqc", "view_hub", "manage_hub", "view_contractor_ledger", "manage_proof", "manage_commercial"]>, "many">;
161
+ createdAt: z.ZodString;
162
+ updatedAt: z.ZodString;
163
+ }, "strip", z.ZodTypeAny, {
164
+ id: string;
165
+ createdAt: string;
166
+ updatedAt: string;
167
+ isActive: boolean;
168
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
169
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
170
+ email: string;
171
+ firstName: string;
172
+ lastName: string;
173
+ mfaEnabled: boolean;
174
+ lastLoginAt: string | null;
175
+ companyId?: string | undefined;
176
+ title?: string | null | undefined;
177
+ phone?: string | null | undefined;
178
+ }, {
179
+ id: string;
180
+ createdAt: string;
181
+ updatedAt: string;
182
+ isActive: boolean;
183
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
184
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
185
+ email: string;
186
+ firstName: string;
187
+ lastName: string;
188
+ mfaEnabled: boolean;
189
+ lastLoginAt: string | null;
190
+ companyId?: string | undefined;
191
+ title?: string | null | undefined;
192
+ phone?: string | null | undefined;
193
+ }>;
194
+ export declare const AuthTokensSchema: z.ZodObject<{
195
+ accessToken: z.ZodString;
196
+ refreshToken: z.ZodString;
197
+ expiresIn: z.ZodNumber;
198
+ }, "strip", z.ZodTypeAny, {
199
+ refreshToken: string;
200
+ accessToken: string;
201
+ expiresIn: number;
202
+ }, {
203
+ refreshToken: string;
204
+ accessToken: string;
205
+ expiresIn: number;
206
+ }>;
207
+ export declare const LoginResponseSchema: z.ZodObject<{
208
+ user: z.ZodObject<{
209
+ id: z.ZodString;
210
+ email: z.ZodString;
211
+ firstName: z.ZodString;
212
+ lastName: z.ZodString;
213
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
214
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
215
+ companyId: z.ZodOptional<z.ZodString>;
216
+ mfaEnabled: z.ZodBoolean;
217
+ isActive: z.ZodBoolean;
218
+ lastLoginAt: z.ZodNullable<z.ZodString>;
219
+ role: z.ZodEnum<["SUPER_ADMIN", "COMPANY_ADMIN", "EXECUTIVE", "PROJECT_MANAGER", "ASSISTANT_PROJECT_MANAGER", "SITE_MANAGER", "SUPERINTENDENT", "FINANCE_MANAGER", "SAFETY_MANAGER", "QA_MANAGER", "ARCHITECT", "ENGINEER", "ESTIMATOR", "SCHEDULER", "DOCUMENT_CONTROLLER", "ACCOUNTANT", "PROCUREMENT_OFFICER", "CONTRACTOR", "SUBCONTRACTOR", "FIELD_WORKER", "TRADE_SPECIALIST", "EQUIPMENT_OPERATOR", "INSPECTOR", "CLIENT", "CONSULTANT", "VENDOR"]>;
220
+ permissions: z.ZodArray<z.ZodEnum<["manage_all_companies", "create_companies", "view_all_companies", "manage_system_settings", "manage_company", "manage_users", "manage_projects", "manage_company_settings", "view_company_analytics", "create_projects", "manage_project_team", "approve_budgets", "view_all_projects", "review_technical_plans", "approve_technical_changes", "sign_off_designs", "manage_specifications", "supervise_field_work", "assign_daily_tasks", "manage_crew", "approve_timesheets", "view_assigned_tasks", "update_task_status", "report_issues", "upload_field_photos", "record_time", "view_project_status", "view_reports", "comment_on_project", "request_changes", "view_projects", "view_documents", "view_profile", "access_mobile_app", "view_boq", "manage_boq", "certify_valuation", "manage_qaqc", "view_hub", "manage_hub", "view_contractor_ledger", "manage_proof", "manage_commercial"]>, "many">;
221
+ createdAt: z.ZodString;
222
+ updatedAt: z.ZodString;
223
+ }, "strip", z.ZodTypeAny, {
224
+ id: string;
225
+ createdAt: string;
226
+ updatedAt: string;
227
+ isActive: boolean;
228
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
229
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
230
+ email: string;
231
+ firstName: string;
232
+ lastName: string;
233
+ mfaEnabled: boolean;
234
+ lastLoginAt: string | null;
235
+ companyId?: string | undefined;
236
+ title?: string | null | undefined;
237
+ phone?: string | null | undefined;
238
+ }, {
239
+ id: string;
240
+ createdAt: string;
241
+ updatedAt: string;
242
+ isActive: boolean;
243
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
244
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
245
+ email: string;
246
+ firstName: string;
247
+ lastName: string;
248
+ mfaEnabled: boolean;
249
+ lastLoginAt: string | null;
250
+ companyId?: string | undefined;
251
+ title?: string | null | undefined;
252
+ phone?: string | null | undefined;
253
+ }>;
254
+ tokens: z.ZodObject<{
255
+ accessToken: z.ZodString;
256
+ refreshToken: z.ZodString;
257
+ expiresIn: z.ZodNumber;
258
+ }, "strip", z.ZodTypeAny, {
259
+ refreshToken: string;
260
+ accessToken: string;
261
+ expiresIn: number;
262
+ }, {
263
+ refreshToken: string;
264
+ accessToken: string;
265
+ expiresIn: number;
266
+ }>;
267
+ }, "strip", z.ZodTypeAny, {
268
+ user: {
269
+ id: string;
270
+ createdAt: string;
271
+ updatedAt: string;
272
+ isActive: boolean;
273
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
274
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
275
+ email: string;
276
+ firstName: string;
277
+ lastName: string;
278
+ mfaEnabled: boolean;
279
+ lastLoginAt: string | null;
280
+ companyId?: string | undefined;
281
+ title?: string | null | undefined;
282
+ phone?: string | null | undefined;
283
+ };
284
+ tokens: {
285
+ refreshToken: string;
286
+ accessToken: string;
287
+ expiresIn: number;
288
+ };
289
+ }, {
290
+ user: {
291
+ id: string;
292
+ createdAt: string;
293
+ updatedAt: string;
294
+ isActive: boolean;
295
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
296
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
297
+ email: string;
298
+ firstName: string;
299
+ lastName: string;
300
+ mfaEnabled: boolean;
301
+ lastLoginAt: string | null;
302
+ companyId?: string | undefined;
303
+ title?: string | null | undefined;
304
+ phone?: string | null | undefined;
305
+ };
306
+ tokens: {
307
+ refreshToken: string;
308
+ accessToken: string;
309
+ expiresIn: number;
310
+ };
311
+ }>;
312
+ export declare const RegisterResponseSchema: z.ZodObject<{
313
+ user: z.ZodObject<{
314
+ id: z.ZodString;
315
+ email: z.ZodString;
316
+ firstName: z.ZodString;
317
+ lastName: z.ZodString;
318
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
319
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
320
+ companyId: z.ZodOptional<z.ZodString>;
321
+ mfaEnabled: z.ZodBoolean;
322
+ isActive: z.ZodBoolean;
323
+ lastLoginAt: z.ZodNullable<z.ZodString>;
324
+ role: z.ZodEnum<["SUPER_ADMIN", "COMPANY_ADMIN", "EXECUTIVE", "PROJECT_MANAGER", "ASSISTANT_PROJECT_MANAGER", "SITE_MANAGER", "SUPERINTENDENT", "FINANCE_MANAGER", "SAFETY_MANAGER", "QA_MANAGER", "ARCHITECT", "ENGINEER", "ESTIMATOR", "SCHEDULER", "DOCUMENT_CONTROLLER", "ACCOUNTANT", "PROCUREMENT_OFFICER", "CONTRACTOR", "SUBCONTRACTOR", "FIELD_WORKER", "TRADE_SPECIALIST", "EQUIPMENT_OPERATOR", "INSPECTOR", "CLIENT", "CONSULTANT", "VENDOR"]>;
325
+ permissions: z.ZodArray<z.ZodEnum<["manage_all_companies", "create_companies", "view_all_companies", "manage_system_settings", "manage_company", "manage_users", "manage_projects", "manage_company_settings", "view_company_analytics", "create_projects", "manage_project_team", "approve_budgets", "view_all_projects", "review_technical_plans", "approve_technical_changes", "sign_off_designs", "manage_specifications", "supervise_field_work", "assign_daily_tasks", "manage_crew", "approve_timesheets", "view_assigned_tasks", "update_task_status", "report_issues", "upload_field_photos", "record_time", "view_project_status", "view_reports", "comment_on_project", "request_changes", "view_projects", "view_documents", "view_profile", "access_mobile_app", "view_boq", "manage_boq", "certify_valuation", "manage_qaqc", "view_hub", "manage_hub", "view_contractor_ledger", "manage_proof", "manage_commercial"]>, "many">;
326
+ createdAt: z.ZodString;
327
+ updatedAt: z.ZodString;
328
+ }, "strip", z.ZodTypeAny, {
329
+ id: string;
330
+ createdAt: string;
331
+ updatedAt: string;
332
+ isActive: boolean;
333
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
334
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
335
+ email: string;
336
+ firstName: string;
337
+ lastName: string;
338
+ mfaEnabled: boolean;
339
+ lastLoginAt: string | null;
340
+ companyId?: string | undefined;
341
+ title?: string | null | undefined;
342
+ phone?: string | null | undefined;
343
+ }, {
344
+ id: string;
345
+ createdAt: string;
346
+ updatedAt: string;
347
+ isActive: boolean;
348
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
349
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
350
+ email: string;
351
+ firstName: string;
352
+ lastName: string;
353
+ mfaEnabled: boolean;
354
+ lastLoginAt: string | null;
355
+ companyId?: string | undefined;
356
+ title?: string | null | undefined;
357
+ phone?: string | null | undefined;
358
+ }>;
359
+ tokens: z.ZodOptional<z.ZodObject<{
360
+ accessToken: z.ZodString;
361
+ refreshToken: z.ZodString;
362
+ expiresIn: z.ZodNumber;
363
+ }, "strip", z.ZodTypeAny, {
364
+ refreshToken: string;
365
+ accessToken: string;
366
+ expiresIn: number;
367
+ }, {
368
+ refreshToken: string;
369
+ accessToken: string;
370
+ expiresIn: number;
371
+ }>>;
372
+ requiresEmailVerification: z.ZodOptional<z.ZodBoolean>;
373
+ message: z.ZodOptional<z.ZodString>;
374
+ }, "strip", z.ZodTypeAny, {
375
+ user: {
376
+ id: string;
377
+ createdAt: string;
378
+ updatedAt: string;
379
+ isActive: boolean;
380
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
381
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
382
+ email: string;
383
+ firstName: string;
384
+ lastName: string;
385
+ mfaEnabled: boolean;
386
+ lastLoginAt: string | null;
387
+ companyId?: string | undefined;
388
+ title?: string | null | undefined;
389
+ phone?: string | null | undefined;
390
+ };
391
+ message?: string | undefined;
392
+ tokens?: {
393
+ refreshToken: string;
394
+ accessToken: string;
395
+ expiresIn: number;
396
+ } | undefined;
397
+ requiresEmailVerification?: boolean | undefined;
398
+ }, {
399
+ user: {
400
+ id: string;
401
+ createdAt: string;
402
+ updatedAt: string;
403
+ isActive: boolean;
404
+ permissions: ("manage_all_companies" | "create_companies" | "view_all_companies" | "manage_system_settings" | "manage_company" | "manage_users" | "manage_projects" | "manage_company_settings" | "view_company_analytics" | "create_projects" | "manage_project_team" | "approve_budgets" | "view_all_projects" | "review_technical_plans" | "approve_technical_changes" | "sign_off_designs" | "manage_specifications" | "supervise_field_work" | "assign_daily_tasks" | "manage_crew" | "approve_timesheets" | "view_assigned_tasks" | "update_task_status" | "report_issues" | "upload_field_photos" | "record_time" | "view_project_status" | "view_reports" | "comment_on_project" | "request_changes" | "view_projects" | "view_documents" | "view_profile" | "access_mobile_app" | "view_boq" | "manage_boq" | "certify_valuation" | "manage_qaqc" | "view_hub" | "manage_hub" | "view_contractor_ledger" | "manage_proof" | "manage_commercial")[];
405
+ role: "SUPER_ADMIN" | "COMPANY_ADMIN" | "EXECUTIVE" | "PROJECT_MANAGER" | "ASSISTANT_PROJECT_MANAGER" | "SITE_MANAGER" | "SUPERINTENDENT" | "FINANCE_MANAGER" | "SAFETY_MANAGER" | "QA_MANAGER" | "ARCHITECT" | "ENGINEER" | "ESTIMATOR" | "SCHEDULER" | "DOCUMENT_CONTROLLER" | "ACCOUNTANT" | "PROCUREMENT_OFFICER" | "CONTRACTOR" | "SUBCONTRACTOR" | "FIELD_WORKER" | "TRADE_SPECIALIST" | "EQUIPMENT_OPERATOR" | "INSPECTOR" | "CLIENT" | "CONSULTANT" | "VENDOR";
406
+ email: string;
407
+ firstName: string;
408
+ lastName: string;
409
+ mfaEnabled: boolean;
410
+ lastLoginAt: string | null;
411
+ companyId?: string | undefined;
412
+ title?: string | null | undefined;
413
+ phone?: string | null | undefined;
414
+ };
415
+ message?: string | undefined;
416
+ tokens?: {
417
+ refreshToken: string;
418
+ accessToken: string;
419
+ expiresIn: number;
420
+ } | undefined;
421
+ requiresEmailVerification?: boolean | undefined;
422
+ }>;
423
+ export declare const MfaSetupResponseSchema: z.ZodObject<{
424
+ secret: z.ZodString;
425
+ qrCode: z.ZodString;
426
+ backupCodes: z.ZodArray<z.ZodString, "many">;
427
+ }, "strip", z.ZodTypeAny, {
428
+ secret: string;
429
+ qrCode: string;
430
+ backupCodes: string[];
431
+ }, {
432
+ secret: string;
433
+ qrCode: string;
434
+ backupCodes: string[];
435
+ }>;
436
+ export type LoginRequest = z.infer<typeof LoginRequestSchema>;
437
+ export type RegisterRequest = z.infer<typeof RegisterRequestSchema>;
438
+ export type RegisterResponse = z.infer<typeof RegisterResponseSchema>;
439
+ export type CreateAccountRequest = z.infer<typeof CreateAccountRequestSchema>;
440
+ export type RefreshTokenRequest = z.infer<typeof RefreshTokenRequestSchema>;
441
+ export type MfaSetupRequest = z.infer<typeof MfaSetupRequestSchema>;
442
+ export type ResetPasswordRequest = z.infer<typeof ResetPasswordRequestSchema>;
443
+ export type ConfirmResetPasswordRequest = z.infer<typeof ConfirmResetPasswordRequestSchema>;
444
+ export type ChangePasswordRequest = z.infer<typeof ChangePasswordRequestSchema>;
445
+ export type UserProfile = z.infer<typeof UserProfileSchema>;
446
+ export type AuthTokens = z.infer<typeof AuthTokensSchema>;
447
+ export type LoginResponse = z.infer<typeof LoginResponseSchema>;
448
+ export type MfaSetupResponse = z.infer<typeof MfaSetupResponseSchema>;
449
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/schemas/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,cAAc,aAMkE,CAAC;AAG9F,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa9B,CAAC;AAEL,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;EAErC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;EAG5C,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;EAItC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAanC,CAAC;AAGL,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC;AAGH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC5F,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,103 @@
1
+ import { z } from 'zod';
2
+ import { CuidSchema, DateTimeSchema } from './common';
3
+ import { RoleSchema, PermissionSchema } from './rbac';
4
+ // Password validation schema with security requirements
5
+ export const PasswordSchema = z
6
+ .string()
7
+ .min(8, 'Password must be at least 8 characters long')
8
+ .regex(/(?=.*[a-z])/, 'Password must contain at least one lowercase letter')
9
+ .regex(/(?=.*[A-Z])/, 'Password must contain at least one uppercase letter')
10
+ .regex(/(?=.*\d)/, 'Password must contain at least one number')
11
+ .regex(/(?=.*[@$!%*?&])/, 'Password must contain at least one special character (@$!%*?&)');
12
+ // Auth request schemas
13
+ export const LoginRequestSchema = z.object({
14
+ email: z.string().email(),
15
+ password: z.string().min(1),
16
+ mfaCode: z.string().optional(),
17
+ companyId: CuidSchema.optional(),
18
+ });
19
+ export const RegisterRequestSchema = z
20
+ .object({
21
+ email: z.string().email(),
22
+ password: PasswordSchema,
23
+ firstName: z.string().min(1),
24
+ lastName: z.string().min(1),
25
+ companyName: z.string().optional(),
26
+ companyId: CuidSchema.optional(),
27
+ inviteToken: z.string().optional(),
28
+ })
29
+ .refine(data => data.companyName ?? data.companyId, {
30
+ message: 'Either companyName or companyId must be provided',
31
+ path: ['companyName'],
32
+ });
33
+ export const RefreshTokenRequestSchema = z.object({
34
+ refreshToken: z.string(),
35
+ });
36
+ export const MfaSetupRequestSchema = z.object({
37
+ secret: z.string(),
38
+ token: z.string(),
39
+ });
40
+ export const ResetPasswordRequestSchema = z.object({
41
+ email: z.string().email(),
42
+ });
43
+ export const ConfirmResetPasswordRequestSchema = z.object({
44
+ token: z.string(),
45
+ newPassword: PasswordSchema,
46
+ });
47
+ export const ChangePasswordRequestSchema = z.object({
48
+ currentPassword: z.string().min(1),
49
+ newPassword: PasswordSchema,
50
+ mfaCode: z.string().optional(),
51
+ });
52
+ export const CreateAccountRequestSchema = z
53
+ .object({
54
+ email: z.string().email(),
55
+ password: PasswordSchema,
56
+ firstName: z.string().min(1),
57
+ lastName: z.string().min(1),
58
+ companyName: z.string().optional(),
59
+ companyId: CuidSchema.optional(),
60
+ inviteToken: z.string().optional(),
61
+ })
62
+ .refine(data => data.companyName ?? data.companyId, {
63
+ message: 'Either companyName or companyId must be provided',
64
+ path: ['companyName'],
65
+ });
66
+ // Auth response schemas
67
+ export const UserProfileSchema = z.object({
68
+ id: CuidSchema,
69
+ email: z.string().email(),
70
+ firstName: z.string(),
71
+ lastName: z.string(),
72
+ phone: z.string().nullable().optional(),
73
+ title: z.string().nullable().optional(),
74
+ companyId: CuidSchema.optional(),
75
+ mfaEnabled: z.boolean(),
76
+ isActive: z.boolean(),
77
+ lastLoginAt: z.string().datetime().nullable(),
78
+ role: RoleSchema,
79
+ permissions: z.array(PermissionSchema),
80
+ createdAt: DateTimeSchema,
81
+ updatedAt: DateTimeSchema,
82
+ });
83
+ export const AuthTokensSchema = z.object({
84
+ accessToken: z.string(),
85
+ refreshToken: z.string(),
86
+ expiresIn: z.number(),
87
+ });
88
+ export const LoginResponseSchema = z.object({
89
+ user: UserProfileSchema,
90
+ tokens: AuthTokensSchema,
91
+ });
92
+ export const RegisterResponseSchema = z.object({
93
+ user: UserProfileSchema,
94
+ tokens: AuthTokensSchema.optional(),
95
+ requiresEmailVerification: z.boolean().optional(),
96
+ message: z.string().optional(),
97
+ });
98
+ export const MfaSetupResponseSchema = z.object({
99
+ secret: z.string(),
100
+ qrCode: z.string(),
101
+ backupCodes: z.array(z.string()),
102
+ });
103
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/schemas/auth.ts"],"names":[],"mappings":"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"}