udp-schema 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/field-helpers.d.ts +10 -38
  2. package/dist/field-helpers.d.ts.map +1 -1
  3. package/dist/field-helpers.js +40 -66
  4. package/dist/field-helpers.js.map +1 -1
  5. package/dist/field-meta.d.ts +46 -28
  6. package/dist/field-meta.d.ts.map +1 -1
  7. package/dist/field-meta.js +304 -1988
  8. package/dist/field-meta.js.map +1 -1
  9. package/dist/index.d.ts +17 -17
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +32 -32
  12. package/dist/index.js.map +1 -1
  13. package/dist/onboarding-config.d.ts +44 -0
  14. package/dist/onboarding-config.d.ts.map +1 -0
  15. package/dist/onboarding-config.js +705 -0
  16. package/dist/onboarding-config.js.map +1 -0
  17. package/dist/progress-fields.d.ts +3 -3
  18. package/dist/progress-fields.d.ts.map +1 -1
  19. package/dist/progress-fields.js +76 -94
  20. package/dist/progress-fields.js.map +1 -1
  21. package/dist/step-01.schema.d.ts +84 -111
  22. package/dist/step-01.schema.d.ts.map +1 -1
  23. package/dist/step-01.schema.js +94 -101
  24. package/dist/step-01.schema.js.map +1 -1
  25. package/dist/step-02.schema.d.ts +31 -21
  26. package/dist/step-02.schema.d.ts.map +1 -1
  27. package/dist/step-02.schema.js +34 -27
  28. package/dist/step-02.schema.js.map +1 -1
  29. package/dist/step-03.schema.d.ts +24 -300
  30. package/dist/step-03.schema.d.ts.map +1 -1
  31. package/dist/step-03.schema.js +24 -60
  32. package/dist/step-03.schema.js.map +1 -1
  33. package/dist/step-04.schema.d.ts +56 -50
  34. package/dist/step-04.schema.d.ts.map +1 -1
  35. package/dist/step-04.schema.js +48 -43
  36. package/dist/step-04.schema.js.map +1 -1
  37. package/dist/step-05.schema.d.ts +13 -52
  38. package/dist/step-05.schema.d.ts.map +1 -1
  39. package/dist/step-05.schema.js +19 -40
  40. package/dist/step-05.schema.js.map +1 -1
  41. package/dist/step-06.schema.d.ts +101 -117
  42. package/dist/step-06.schema.d.ts.map +1 -1
  43. package/dist/step-06.schema.js +70 -75
  44. package/dist/step-06.schema.js.map +1 -1
  45. package/dist/step-07.schema.d.ts +44 -95
  46. package/dist/step-07.schema.d.ts.map +1 -1
  47. package/dist/step-07.schema.js +51 -78
  48. package/dist/step-07.schema.js.map +1 -1
  49. package/dist/step-08.schema.d.ts +31 -44
  50. package/dist/step-08.schema.d.ts.map +1 -1
  51. package/dist/step-08.schema.js +30 -47
  52. package/dist/step-08.schema.js.map +1 -1
  53. package/dist/step-09.schema.d.ts +48 -85
  54. package/dist/step-09.schema.d.ts.map +1 -1
  55. package/dist/step-09.schema.js +42 -120
  56. package/dist/step-09.schema.js.map +1 -1
  57. package/dist/step-10.schema.d.ts +32 -86
  58. package/dist/step-10.schema.d.ts.map +1 -1
  59. package/dist/step-10.schema.js +44 -120
  60. package/dist/step-10.schema.js.map +1 -1
  61. package/dist/step-11.schema.d.ts +36 -92
  62. package/dist/step-11.schema.d.ts.map +1 -1
  63. package/dist/step-11.schema.js +32 -111
  64. package/dist/step-11.schema.js.map +1 -1
  65. package/dist/step-12.schema.d.ts +56 -93
  66. package/dist/step-12.schema.d.ts.map +1 -1
  67. package/dist/step-12.schema.js +77 -133
  68. package/dist/step-12.schema.js.map +1 -1
  69. package/package.json +1 -1
@@ -1,310 +1,34 @@
1
1
  /**
2
- * Step 03 — Residence / Address Schema
2
+ * Step 03 — Electoral Behaviour
3
3
  *
4
- * Single source of truth used by both frontend and backend.
4
+ * Fields: epicNumber, willVoteThisTime, didVoteLastTime,
5
+ * votingFrequency, primaryVotingIssues
5
6
  *
6
7
  * @module udp-schema/step-03
7
8
  */
8
9
  import { z } from 'zod';
9
- /**
10
- * Area entity reference — accepts:
11
- * • `{ _id, name }` — existing area entity selected in frontend
12
- * • `{ name }` — custom / manually entered
13
- * • raw string — legacy ObjectId stored in DB
14
- */
15
- export declare const areaRefSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
16
- _id: z.ZodString;
17
- name: z.ZodString;
18
- }, z.core.$loose>, z.ZodObject<{
19
- name: z.ZodString;
20
- }, z.core.$loose>, z.ZodString]>>;
21
- /** Full address block (current or permanent). */
22
- export declare const addressSchema: z.ZodObject<{
23
- country: z.ZodOptional<z.ZodString>;
24
- state: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
25
- _id: z.ZodString;
26
- name: z.ZodString;
27
- }, z.core.$loose>, z.ZodObject<{
28
- name: z.ZodString;
29
- }, z.core.$loose>, z.ZodString]>>;
30
- areaType: z.ZodOptional<z.ZodEnum<{
31
- RURAL: "RURAL";
32
- URBAN: "URBAN";
10
+ export declare const step03ElectoralSchema: z.ZodObject<{
11
+ epicNumber: z.ZodOptional<z.ZodString>;
12
+ willVoteThisTime: z.ZodOptional<z.ZodEnum<{
13
+ prefer_not_to_say: "prefer_not_to_say";
14
+ yes: "yes";
15
+ no: "no";
16
+ maybe: "maybe";
33
17
  }>>;
34
- division: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
35
- _id: z.ZodString;
36
- name: z.ZodString;
37
- }, z.core.$loose>, z.ZodObject<{
38
- name: z.ZodString;
39
- }, z.core.$loose>, z.ZodString]>>;
40
- district: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
41
- _id: z.ZodString;
42
- name: z.ZodString;
43
- }, z.core.$loose>, z.ZodObject<{
44
- name: z.ZodString;
45
- }, z.core.$loose>, z.ZodString]>>;
46
- subDistrict: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
47
- _id: z.ZodString;
48
- name: z.ZodString;
49
- }, z.core.$loose>, z.ZodObject<{
50
- name: z.ZodString;
51
- }, z.core.$loose>, z.ZodString]>>;
52
- block: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
53
- _id: z.ZodString;
54
- name: z.ZodString;
55
- }, z.core.$loose>, z.ZodObject<{
56
- name: z.ZodString;
57
- }, z.core.$loose>, z.ZodString]>>;
58
- gramPanchayat: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
59
- _id: z.ZodString;
60
- name: z.ZodString;
61
- }, z.core.$loose>, z.ZodObject<{
62
- name: z.ZodString;
63
- }, z.core.$loose>, z.ZodString]>>;
64
- village: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
65
- _id: z.ZodString;
66
- name: z.ZodString;
67
- }, z.core.$loose>, z.ZodObject<{
68
- name: z.ZodString;
69
- }, z.core.$loose>, z.ZodString]>>;
70
- hamlet: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
71
- _id: z.ZodString;
72
- name: z.ZodString;
73
- }, z.core.$loose>, z.ZodObject<{
74
- name: z.ZodString;
75
- }, z.core.$loose>, z.ZodString]>>;
76
- ruralWard: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
77
- _id: z.ZodString;
78
- name: z.ZodString;
79
- }, z.core.$loose>, z.ZodObject<{
80
- name: z.ZodString;
81
- }, z.core.$loose>, z.ZodString]>>;
82
- urbanBody: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
83
- _id: z.ZodString;
84
- name: z.ZodString;
85
- }, z.core.$loose>, z.ZodObject<{
86
- name: z.ZodString;
87
- }, z.core.$loose>, z.ZodString]>>;
88
- urbanWard: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
89
- _id: z.ZodString;
90
- name: z.ZodString;
91
- }, z.core.$loose>, z.ZodObject<{
92
- name: z.ZodString;
93
- }, z.core.$loose>, z.ZodString]>>;
94
- locality: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
95
- _id: z.ZodString;
96
- name: z.ZodString;
97
- }, z.core.$loose>, z.ZodObject<{
98
- name: z.ZodString;
99
- }, z.core.$loose>, z.ZodString]>>;
100
- policeStation: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
101
- _id: z.ZodString;
102
- name: z.ZodString;
103
- }, z.core.$loose>, z.ZodObject<{
104
- name: z.ZodString;
105
- }, z.core.$loose>, z.ZodString]>>;
106
- housePlotDetails: z.ZodOptional<z.ZodString>;
107
- pincode: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
108
- landmark: z.ZodOptional<z.ZodString>;
109
- directions: z.ZodOptional<z.ZodString>;
110
- latitude: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
111
- longitude: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
112
- }, z.core.$strip>;
113
- export declare const step03ResidenceSchema: z.ZodObject<{
114
- domicileSource: z.ZodOptional<z.ZodEnum<{
115
- BIRTH_PLACE: "BIRTH_PLACE";
116
- HOME_NATIVE_PLACE: "HOME_NATIVE_PLACE";
117
- ANCESTRAL_NATIVE_PLACE: "ANCESTRAL_NATIVE_PLACE";
18
+ didVoteLastTime: z.ZodOptional<z.ZodEnum<{
19
+ prefer_not_to_say: "prefer_not_to_say";
20
+ yes: "yes";
21
+ no: "no";
22
+ }>>;
23
+ votingFrequency: z.ZodOptional<z.ZodEnum<{
24
+ never: "never";
25
+ every_election: "every_election";
26
+ most_elections: "most_elections";
27
+ sometimes: "sometimes";
28
+ rarely: "rarely";
29
+ first_time_voter: "first_time_voter";
118
30
  }>>;
119
- birthPlace: z.ZodOptional<z.ZodString>;
120
- homeNativePlace: z.ZodOptional<z.ZodString>;
121
- ancestralNativePlace: z.ZodOptional<z.ZodString>;
122
- yearsAtCurrentAddress: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
123
- sameAsCurrentAddress: z.ZodOptional<z.ZodBoolean>;
124
- currentAddress: z.ZodOptional<z.ZodObject<{
125
- country: z.ZodOptional<z.ZodString>;
126
- state: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
127
- _id: z.ZodString;
128
- name: z.ZodString;
129
- }, z.core.$loose>, z.ZodObject<{
130
- name: z.ZodString;
131
- }, z.core.$loose>, z.ZodString]>>;
132
- areaType: z.ZodOptional<z.ZodEnum<{
133
- RURAL: "RURAL";
134
- URBAN: "URBAN";
135
- }>>;
136
- division: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
137
- _id: z.ZodString;
138
- name: z.ZodString;
139
- }, z.core.$loose>, z.ZodObject<{
140
- name: z.ZodString;
141
- }, z.core.$loose>, z.ZodString]>>;
142
- district: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
143
- _id: z.ZodString;
144
- name: z.ZodString;
145
- }, z.core.$loose>, z.ZodObject<{
146
- name: z.ZodString;
147
- }, z.core.$loose>, z.ZodString]>>;
148
- subDistrict: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
149
- _id: z.ZodString;
150
- name: z.ZodString;
151
- }, z.core.$loose>, z.ZodObject<{
152
- name: z.ZodString;
153
- }, z.core.$loose>, z.ZodString]>>;
154
- block: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
155
- _id: z.ZodString;
156
- name: z.ZodString;
157
- }, z.core.$loose>, z.ZodObject<{
158
- name: z.ZodString;
159
- }, z.core.$loose>, z.ZodString]>>;
160
- gramPanchayat: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
161
- _id: z.ZodString;
162
- name: z.ZodString;
163
- }, z.core.$loose>, z.ZodObject<{
164
- name: z.ZodString;
165
- }, z.core.$loose>, z.ZodString]>>;
166
- village: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
167
- _id: z.ZodString;
168
- name: z.ZodString;
169
- }, z.core.$loose>, z.ZodObject<{
170
- name: z.ZodString;
171
- }, z.core.$loose>, z.ZodString]>>;
172
- hamlet: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
173
- _id: z.ZodString;
174
- name: z.ZodString;
175
- }, z.core.$loose>, z.ZodObject<{
176
- name: z.ZodString;
177
- }, z.core.$loose>, z.ZodString]>>;
178
- ruralWard: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
179
- _id: z.ZodString;
180
- name: z.ZodString;
181
- }, z.core.$loose>, z.ZodObject<{
182
- name: z.ZodString;
183
- }, z.core.$loose>, z.ZodString]>>;
184
- urbanBody: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
185
- _id: z.ZodString;
186
- name: z.ZodString;
187
- }, z.core.$loose>, z.ZodObject<{
188
- name: z.ZodString;
189
- }, z.core.$loose>, z.ZodString]>>;
190
- urbanWard: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
191
- _id: z.ZodString;
192
- name: z.ZodString;
193
- }, z.core.$loose>, z.ZodObject<{
194
- name: z.ZodString;
195
- }, z.core.$loose>, z.ZodString]>>;
196
- locality: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
197
- _id: z.ZodString;
198
- name: z.ZodString;
199
- }, z.core.$loose>, z.ZodObject<{
200
- name: z.ZodString;
201
- }, z.core.$loose>, z.ZodString]>>;
202
- policeStation: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
203
- _id: z.ZodString;
204
- name: z.ZodString;
205
- }, z.core.$loose>, z.ZodObject<{
206
- name: z.ZodString;
207
- }, z.core.$loose>, z.ZodString]>>;
208
- housePlotDetails: z.ZodOptional<z.ZodString>;
209
- pincode: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
210
- landmark: z.ZodOptional<z.ZodString>;
211
- directions: z.ZodOptional<z.ZodString>;
212
- latitude: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
213
- longitude: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
214
- }, z.core.$strip>>;
215
- permanentAddress: z.ZodOptional<z.ZodObject<{
216
- country: z.ZodOptional<z.ZodString>;
217
- state: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
218
- _id: z.ZodString;
219
- name: z.ZodString;
220
- }, z.core.$loose>, z.ZodObject<{
221
- name: z.ZodString;
222
- }, z.core.$loose>, z.ZodString]>>;
223
- areaType: z.ZodOptional<z.ZodEnum<{
224
- RURAL: "RURAL";
225
- URBAN: "URBAN";
226
- }>>;
227
- division: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
228
- _id: z.ZodString;
229
- name: z.ZodString;
230
- }, z.core.$loose>, z.ZodObject<{
231
- name: z.ZodString;
232
- }, z.core.$loose>, z.ZodString]>>;
233
- district: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
234
- _id: z.ZodString;
235
- name: z.ZodString;
236
- }, z.core.$loose>, z.ZodObject<{
237
- name: z.ZodString;
238
- }, z.core.$loose>, z.ZodString]>>;
239
- subDistrict: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
240
- _id: z.ZodString;
241
- name: z.ZodString;
242
- }, z.core.$loose>, z.ZodObject<{
243
- name: z.ZodString;
244
- }, z.core.$loose>, z.ZodString]>>;
245
- block: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
246
- _id: z.ZodString;
247
- name: z.ZodString;
248
- }, z.core.$loose>, z.ZodObject<{
249
- name: z.ZodString;
250
- }, z.core.$loose>, z.ZodString]>>;
251
- gramPanchayat: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
252
- _id: z.ZodString;
253
- name: z.ZodString;
254
- }, z.core.$loose>, z.ZodObject<{
255
- name: z.ZodString;
256
- }, z.core.$loose>, z.ZodString]>>;
257
- village: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
258
- _id: z.ZodString;
259
- name: z.ZodString;
260
- }, z.core.$loose>, z.ZodObject<{
261
- name: z.ZodString;
262
- }, z.core.$loose>, z.ZodString]>>;
263
- hamlet: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
264
- _id: z.ZodString;
265
- name: z.ZodString;
266
- }, z.core.$loose>, z.ZodObject<{
267
- name: z.ZodString;
268
- }, z.core.$loose>, z.ZodString]>>;
269
- ruralWard: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
270
- _id: z.ZodString;
271
- name: z.ZodString;
272
- }, z.core.$loose>, z.ZodObject<{
273
- name: z.ZodString;
274
- }, z.core.$loose>, z.ZodString]>>;
275
- urbanBody: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
276
- _id: z.ZodString;
277
- name: z.ZodString;
278
- }, z.core.$loose>, z.ZodObject<{
279
- name: z.ZodString;
280
- }, z.core.$loose>, z.ZodString]>>;
281
- urbanWard: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
282
- _id: z.ZodString;
283
- name: z.ZodString;
284
- }, z.core.$loose>, z.ZodObject<{
285
- name: z.ZodString;
286
- }, z.core.$loose>, z.ZodString]>>;
287
- locality: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
288
- _id: z.ZodString;
289
- name: z.ZodString;
290
- }, z.core.$loose>, z.ZodObject<{
291
- name: z.ZodString;
292
- }, z.core.$loose>, z.ZodString]>>;
293
- policeStation: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
294
- _id: z.ZodString;
295
- name: z.ZodString;
296
- }, z.core.$loose>, z.ZodObject<{
297
- name: z.ZodString;
298
- }, z.core.$loose>, z.ZodString]>>;
299
- housePlotDetails: z.ZodOptional<z.ZodString>;
300
- pincode: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
301
- landmark: z.ZodOptional<z.ZodString>;
302
- directions: z.ZodOptional<z.ZodString>;
303
- latitude: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
304
- longitude: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
305
- }, z.core.$strip>>;
306
- addressNotes: z.ZodOptional<z.ZodString>;
31
+ primaryVotingIssues: z.ZodOptional<z.ZodArray<z.ZodString>>;
307
32
  }, z.core.$strip>;
308
- export type Step03ResidenceInput = z.infer<typeof step03ResidenceSchema>;
309
- export type AddressInput = z.infer<typeof addressSchema>;
33
+ export type Step03ElectoralInput = z.infer<typeof step03ElectoralSchema>;
310
34
  //# sourceMappingURL=step-03.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-03.schema.d.ts","sourceRoot":"","sources":["../src/step-03.schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;iCAMb,CAAC;AAEd,iDAAiD;AACjD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BxB,CAAC;AAIH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUhC,CAAC;AAIH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"step-03.schema.d.ts","sourceRoot":"","sources":["../src/step-03.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;iBAwBhC,CAAC;AAIH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,68 +1,32 @@
1
1
  /**
2
- * Step 03 — Residence / Address Schema
2
+ * Step 03 — Electoral Behaviour
3
3
  *
4
- * Single source of truth used by both frontend and backend.
4
+ * Fields: epicNumber, willVoteThisTime, didVoteLastTime,
5
+ * votingFrequency, primaryVotingIssues
5
6
  *
6
7
  * @module udp-schema/step-03
7
8
  */
8
9
  import { z } from 'zod';
9
- // ─── Sub-schemas ────────────────────────────────────────
10
- /**
11
- * Area entity reference accepts:
12
- * • `{ _id, name }` — existing area entity selected in frontend
13
- * • `{ name }` — custom / manually entered
14
- * • raw string — legacy ObjectId stored in DB
15
- */
16
- export const areaRefSchema = z
17
- .union([
18
- z.object({ _id: z.string(), name: z.string().trim().min(1) }).passthrough(),
19
- z.object({ name: z.string().trim().min(1) }).passthrough(),
20
- z.string().trim().min(1),
21
- ])
22
- .optional();
23
- /** Full address block (current or permanent). */
24
- export const addressSchema = z.object({
25
- country: z.string().trim().optional(),
26
- state: areaRefSchema,
27
- areaType: z.enum(['RURAL', 'URBAN']).optional(),
28
- division: areaRefSchema,
29
- district: areaRefSchema,
30
- subDistrict: areaRefSchema,
31
- // Rural
32
- block: areaRefSchema,
33
- gramPanchayat: areaRefSchema,
34
- village: areaRefSchema,
35
- hamlet: areaRefSchema,
36
- ruralWard: areaRefSchema,
37
- // Urban
38
- urbanBody: areaRefSchema,
39
- urbanWard: areaRefSchema,
40
- locality: areaRefSchema,
41
- // Common
42
- policeStation: areaRefSchema,
43
- // Details
44
- housePlotDetails: z.string().trim().optional(),
45
- pincode: z
46
- .string()
47
- .trim()
48
- .regex(/^\d{6}$/, 'Pincode must be 6 digits')
49
- .optional()
50
- .or(z.literal('')),
51
- landmark: z.string().trim().optional(),
52
- directions: z.string().trim().optional(),
53
- latitude: z.coerce.number().min(-90).max(90).optional(),
54
- longitude: z.coerce.number().min(-180).max(180).optional(),
55
- });
56
- // ─── Main step-03 schema ────────────────────────────────
57
- export const step03ResidenceSchema = z.object({
58
- domicileSource: z.enum(['BIRTH_PLACE', 'HOME_NATIVE_PLACE', 'ANCESTRAL_NATIVE_PLACE']).optional(),
59
- birthPlace: z.string().trim().optional(),
60
- homeNativePlace: z.string().trim().optional(),
61
- ancestralNativePlace: z.string().trim().optional(),
62
- yearsAtCurrentAddress: z.coerce.number().min(0).max(120).optional(),
63
- sameAsCurrentAddress: z.boolean().optional(),
64
- currentAddress: addressSchema.optional(),
65
- permanentAddress: addressSchema.optional(),
66
- addressNotes: z.string().trim().optional(),
10
+ // ─── Main Step 03 Schema ────────────────────────────────────────────────────
11
+ export const step03ElectoralSchema = z.object({
12
+ /** Voter ID / EPIC number */
13
+ epicNumber: z.string().trim().optional(),
14
+ /** Will you vote this time? */
15
+ willVoteThisTime: z.enum(['yes', 'no', 'maybe', 'prefer_not_to_say']).optional(),
16
+ /** Did you vote last time? */
17
+ didVoteLastTime: z.enum(['yes', 'no', 'prefer_not_to_say']).optional(),
18
+ /** Voting frequency */
19
+ votingFrequency: z
20
+ .enum([
21
+ 'every_election',
22
+ 'most_elections',
23
+ 'sometimes',
24
+ 'rarely',
25
+ 'never',
26
+ 'first_time_voter',
27
+ ])
28
+ .optional(),
29
+ /** Primary voting issues (multi-select string array) */
30
+ primaryVotingIssues: z.array(z.string().trim()).optional(),
67
31
  });
68
32
  //# sourceMappingURL=step-03.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-03.schema.js","sourceRoot":"","sources":["../src/step-03.schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Step 03 — Residence / Address Schema\n *\n * Single source of truth used by both frontend and backend.\n *\n * @module udp-schema/step-03\n */\n\nimport { z } from 'zod';\n\n// ─── Sub-schemas ────────────────────────────────────────\n\n/**\n * Area entity reference — accepts:\n * • `{ _id, name }` — existing area entity selected in frontend\n * • `{ name }` — custom / manually entered\n * • raw string — legacy ObjectId stored in DB\n */\nexport const areaRefSchema = z\n .union([\n z.object({ _id: z.string(), name: z.string().trim().min(1) }).passthrough(),\n z.object({ name: z.string().trim().min(1) }).passthrough(),\n z.string().trim().min(1),\n ])\n .optional();\n\n/** Full address block (current or permanent). */\nexport const addressSchema = z.object({\n country: z.string().trim().optional(),\n state: areaRefSchema,\n areaType: z.enum(['RURAL', 'URBAN']).optional(),\n division: areaRefSchema,\n district: areaRefSchema,\n subDistrict: areaRefSchema,\n // Rural\n block: areaRefSchema,\n gramPanchayat: areaRefSchema,\n village: areaRefSchema,\n hamlet: areaRefSchema,\n ruralWard: areaRefSchema,\n // Urban\n urbanBody: areaRefSchema,\n urbanWard: areaRefSchema,\n locality: areaRefSchema,\n // Common\n policeStation: areaRefSchema,\n // Details\n housePlotDetails: z.string().trim().optional(),\n pincode: z\n .string()\n .trim()\n .regex(/^\\d{6}$/, 'Pincode must be 6 digits')\n .optional()\n .or(z.literal('')),\n landmark: z.string().trim().optional(),\n directions: z.string().trim().optional(),\n latitude: z.coerce.number().min(-90).max(90).optional(),\n longitude: z.coerce.number().min(-180).max(180).optional(),\n});\n\n// ─── Main step-03 schema ────────────────────────────────\n\nexport const step03ResidenceSchema = z.object({\n domicileSource: z.enum(['BIRTH_PLACE', 'HOME_NATIVE_PLACE', 'ANCESTRAL_NATIVE_PLACE']).optional(),\n birthPlace: z.string().trim().optional(),\n homeNativePlace: z.string().trim().optional(),\n ancestralNativePlace: z.string().trim().optional(),\n yearsAtCurrentAddress: z.coerce.number().min(0).max(120).optional(),\n sameAsCurrentAddress: z.boolean().optional(),\n currentAddress: addressSchema.optional(),\n permanentAddress: addressSchema.optional(),\n addressNotes: z.string().trim().optional(),\n});\n\n// ─── Inferred types ─────────────────────────────────────\n\nexport type Step03ResidenceInput = z.infer<typeof step03ResidenceSchema>;\nexport type AddressInput = z.infer<typeof addressSchema>;\n"]}
1
+ {"version":3,"file":"step-03.schema.js","sourceRoot":"","sources":["../src/step-03.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,6BAA6B;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAExC,+BAA+B;IAC/B,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEhF,8BAA8B;IAC9B,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEtE,uBAAuB;IACvB,eAAe,EAAE,CAAC;SACf,IAAI,CAAC;QACJ,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;QACX,QAAQ;QACR,OAAO;QACP,kBAAkB;KACnB,CAAC;SACD,QAAQ,EAAE;IAEb,wDAAwD;IACxD,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC,CAAC","sourcesContent":["/**\n * Step 03 — Electoral Behaviour\n *\n * Fields: epicNumber, willVoteThisTime, didVoteLastTime,\n * votingFrequency, primaryVotingIssues\n *\n * @module udp-schema/step-03\n */\n\nimport { z } from 'zod';\n\n// ─── Main Step 03 Schema ────────────────────────────────────────────────────\n\nexport const step03ElectoralSchema = z.object({\n /** Voter ID / EPIC number */\n epicNumber: z.string().trim().optional(),\n\n /** Will you vote this time? */\n willVoteThisTime: z.enum(['yes', 'no', 'maybe', 'prefer_not_to_say']).optional(),\n\n /** Did you vote last time? */\n didVoteLastTime: z.enum(['yes', 'no', 'prefer_not_to_say']).optional(),\n\n /** Voting frequency */\n votingFrequency: z\n .enum([\n 'every_election',\n 'most_elections',\n 'sometimes',\n 'rarely',\n 'never',\n 'first_time_voter',\n ])\n .optional(),\n\n /** Primary voting issues (multi-select string array) */\n primaryVotingIssues: z.array(z.string().trim()).optional(),\n});\n\n// ─── Inferred types ─────────────────────────────────────────────────────────\n\nexport type Step03ElectoralInput = z.infer<typeof step03ElectoralSchema>;\n"]}
@@ -1,54 +1,60 @@
1
+ /**
2
+ * Step 04 — Leadership & Ambitions
3
+ *
4
+ * Fields: participateInRevolution, desiredPoliticalPosition, leadershipSkillset,
5
+ * politicalExposure, comfortWithVisibility, socialInfluenceLevel,
6
+ * pastExperience, changesYouWantToBring
7
+ *
8
+ * @module udp-schema/step-04
9
+ */
1
10
  import { z } from 'zod';
2
- export declare const step04IdentitySchema: z.ZodObject<{
3
- familyReligion: z.ZodEnum<{
4
- HINDU: "HINDU";
5
- MUSLIM: "MUSLIM";
6
- CHRISTIAN: "CHRISTIAN";
7
- SIKH: "SIKH";
8
- BUDDHIST: "BUDDHIST";
9
- JAIN: "JAIN";
10
- OTHER: "OTHER";
11
- }>;
12
- individualReligion: z.ZodEnum<{
13
- HINDU: "HINDU";
14
- MUSLIM: "MUSLIM";
15
- CHRISTIAN: "CHRISTIAN";
16
- SIKH: "SIKH";
17
- BUDDHIST: "BUDDHIST";
18
- JAIN: "JAIN";
19
- OTHER: "OTHER";
20
- SAME_AS_FAMILY: "SAME_AS_FAMILY";
21
- }>;
22
- casteCommunity: z.ZodOptional<z.ZodString>;
23
- casteCategoryReservation: z.ZodEnum<{
24
- SC: "SC";
25
- ST: "ST";
26
- OBC_NC: "OBC_NC";
27
- OBC_C: "OBC_C";
28
- EWS: "EWS";
29
- GENERAL: "GENERAL";
30
- DONT_KNOW: "DONT_KNOW";
31
- PREFER_NOT_SAY: "PREFER_NOT_SAY";
32
- }>;
33
- minorityStatus: z.ZodEnum<{
34
- NO: "NO";
35
- RELIGIOUS: "RELIGIOUS";
36
- LINGUISTIC: "LINGUISTIC";
37
- NOT_SURE: "NOT_SURE";
38
- }>;
39
- tribalOrIndigenousAffiliation: z.ZodOptional<z.ZodString>;
40
- facingCasteDiscrimination: z.ZodOptional<z.ZodEnum<{
41
- PREFER_NOT_SAY: "PREFER_NOT_SAY";
42
- NO: "NO";
43
- YES_OFTEN: "YES_OFTEN";
44
- YES_SOMETIMES: "YES_SOMETIMES";
11
+ export declare const step04LeadershipSchema: z.ZodObject<{
12
+ participateInRevolution: z.ZodOptional<z.ZodEnum<{
13
+ no: "no";
14
+ maybe: "maybe";
15
+ yes_definitely: "yes_definitely";
16
+ not_sure: "not_sure";
45
17
  }>>;
46
- casteDiscriminationType: z.ZodOptional<z.ZodString>;
47
- casteDiscriminationPlaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
48
- viewOnLgbtqStatements: z.ZodOptional<z.ZodArray<z.ZodString>>;
49
- viewOnLgbtqOpinion: z.ZodOptional<z.ZodString>;
50
- viewOnTransgenderInclusionStatements: z.ZodOptional<z.ZodArray<z.ZodString>>;
51
- viewOnTransgenderInclusionOpinion: z.ZodOptional<z.ZodString>;
18
+ desiredPoliticalPosition: z.ZodOptional<z.ZodEnum<{
19
+ other: "other";
20
+ sarpanch: "sarpanch";
21
+ block_pramukh: "block_pramukh";
22
+ zila_panchayat: "zila_panchayat";
23
+ mla: "mla";
24
+ mp: "mp";
25
+ municipal_councillor: "municipal_councillor";
26
+ mayor: "mayor";
27
+ none: "none";
28
+ }>>;
29
+ leadershipSkillset: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
+ politicalExposure: z.ZodOptional<z.ZodEnum<{
31
+ none: "none";
32
+ minimal: "minimal";
33
+ moderate: "moderate";
34
+ high: "high";
35
+ very_high: "very_high";
36
+ }>>;
37
+ comfortWithVisibility: z.ZodOptional<z.ZodEnum<{
38
+ very_comfortable: "very_comfortable";
39
+ somewhat: "somewhat";
40
+ prefer_behind_scenes: "prefer_behind_scenes";
41
+ not_comfortable: "not_comfortable";
42
+ }>>;
43
+ socialInfluenceLevel: z.ZodOptional<z.ZodEnum<{
44
+ not_sure: "not_sure";
45
+ somewhat: "somewhat";
46
+ very_influential: "very_influential";
47
+ average: "average";
48
+ low: "low";
49
+ }>>;
50
+ pastExperience: z.ZodOptional<z.ZodEnum<{
51
+ other: "other";
52
+ yes_party_work: "yes_party_work";
53
+ yes_social_work: "yes_social_work";
54
+ yes_student_politics: "yes_student_politics";
55
+ no_experience: "no_experience";
56
+ }>>;
57
+ changesYouWantToBring: z.ZodOptional<z.ZodString>;
52
58
  }, z.core.$strip>;
53
- export type Step04IdentityInput = z.infer<typeof step04IdentitySchema>;
59
+ export type Step04LeadershipInput = z.infer<typeof step04LeadershipSchema>;
54
60
  //# sourceMappingURL=step-04.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-04.schema.d.ts","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8D/B,CAAC;AAIH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"step-04.schema.d.ts","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8CjC,CAAC;AAIH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}