@myrjfa/state 1.0.6 → 1.0.7

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.
@@ -0,0 +1,612 @@
1
+ import { z } from "zod";
2
+ export declare const BondSchema: z.ZodObject<{
3
+ bondStartDate: z.ZodDate;
4
+ durationMonths: z.ZodNumber;
5
+ hostFee: z.ZodNumber;
6
+ employeeSecurity: z.ZodNumber;
7
+ }, "strip", z.ZodTypeAny, {
8
+ durationMonths: number;
9
+ hostFee: number;
10
+ bondStartDate: Date;
11
+ employeeSecurity: number;
12
+ }, {
13
+ durationMonths: number;
14
+ hostFee: number;
15
+ bondStartDate: Date;
16
+ employeeSecurity: number;
17
+ }>;
18
+ export declare const RiskHandlingSchema: z.ZodObject<{
19
+ employeeFired: z.ZodBoolean;
20
+ employeeLeft: z.ZodBoolean;
21
+ securityPaidToHost: z.ZodBoolean;
22
+ }, "strip", z.ZodTypeAny, {
23
+ employeeFired: boolean;
24
+ employeeLeft: boolean;
25
+ securityPaidToHost: boolean;
26
+ }, {
27
+ employeeFired: boolean;
28
+ employeeLeft: boolean;
29
+ securityPaidToHost: boolean;
30
+ }>;
31
+ export declare const JobOpportunitySchema: z.ZodObject<{
32
+ slug: z.ZodString;
33
+ title: z.ZodString;
34
+ skills: z.ZodArray<z.ZodString, "many">;
35
+ description: z.ZodString;
36
+ images: z.ZodArray<z.ZodString, "many">;
37
+ categoryId: z.ZodOptional<z.ZodString>;
38
+ city: z.ZodString;
39
+ state: z.ZodString;
40
+ country: z.ZodString;
41
+ address: z.ZodOptional<z.ZodString>;
42
+ workMode: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
43
+ compensation: z.ZodOptional<z.ZodObject<{
44
+ type: z.ZodEnum<[string, ...string[]]>;
45
+ amount: z.ZodOptional<z.ZodNumber>;
46
+ currency: z.ZodEnum<[string, ...string[]]>;
47
+ frequency: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ type: string;
50
+ currency: string;
51
+ amount?: number | undefined;
52
+ frequency?: string | undefined;
53
+ }, {
54
+ type: string;
55
+ currency: string;
56
+ amount?: number | undefined;
57
+ frequency?: string | undefined;
58
+ }>>;
59
+ bondPlan: z.ZodOptional<z.ZodObject<{
60
+ enabled: z.ZodBoolean;
61
+ durationMonths: z.ZodOptional<z.ZodNumber>;
62
+ hostFee: z.ZodOptional<z.ZodNumber>;
63
+ securityDeposit: z.ZodOptional<z.ZodNumber>;
64
+ commissionRate: z.ZodDefault<z.ZodNumber>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ enabled: boolean;
67
+ commissionRate: number;
68
+ durationMonths?: number | undefined;
69
+ hostFee?: number | undefined;
70
+ securityDeposit?: number | undefined;
71
+ }, {
72
+ enabled: boolean;
73
+ durationMonths?: number | undefined;
74
+ hostFee?: number | undefined;
75
+ securityDeposit?: number | undefined;
76
+ commissionRate?: number | undefined;
77
+ }>>;
78
+ availableFrom: z.ZodDate;
79
+ minDuration: z.ZodNumber;
80
+ maxDuration: z.ZodNumber;
81
+ urgent: z.ZodBoolean;
82
+ peopleRequired: z.ZodNumber;
83
+ facilities: z.ZodArray<z.ZodString, "many">;
84
+ responsibilities: z.ZodArray<z.ZodString, "many">;
85
+ questions: z.ZodArray<z.ZodObject<{
86
+ question: z.ZodString;
87
+ answer: z.ZodString;
88
+ }, "strict", z.ZodTypeAny, {
89
+ question: string;
90
+ answer: string;
91
+ }, {
92
+ question: string;
93
+ answer: string;
94
+ }>, "many">;
95
+ applicationCount: z.ZodNumber;
96
+ views: z.ZodNumber;
97
+ shares: z.ZodNumber;
98
+ rating: z.ZodNumber;
99
+ ratingCount: z.ZodNumber;
100
+ reviewCount: z.ZodNumber;
101
+ hostingType: z.ZodOptional<z.ZodString>;
102
+ hostId: z.ZodLazy<z.ZodObject<{
103
+ username: z.ZodString;
104
+ firstName: z.ZodString;
105
+ lastName: z.ZodString;
106
+ email: z.ZodString;
107
+ password: z.ZodString;
108
+ phoneNumber: z.ZodString;
109
+ countryCode: z.ZodString;
110
+ country: z.ZodString;
111
+ location: z.ZodOptional<z.ZodString>;
112
+ pinCode: z.ZodOptional<z.ZodString>;
113
+ dob: z.ZodOptional<z.ZodDate>;
114
+ gender: z.ZodEnum<["male", "female", "other"]>;
115
+ profilePic: z.ZodOptional<z.ZodString>;
116
+ rating: z.ZodNumber;
117
+ ratingCount: z.ZodNumber;
118
+ reviewCount: z.ZodNumber;
119
+ blogsCount: z.ZodOptional<z.ZodNumber>;
120
+ joinedDate: z.ZodDate;
121
+ isActive: z.ZodBoolean;
122
+ lastActive: z.ZodDate;
123
+ userBio: z.ZodOptional<z.ZodString>;
124
+ userIdCard: z.ZodOptional<z.ZodString>;
125
+ watchHistory: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
126
+ accessToken: z.ZodOptional<z.ZodString>;
127
+ refreshToken: z.ZodOptional<z.ZodString>;
128
+ verifiedEmail: z.ZodBoolean;
129
+ verifiedMobile: z.ZodBoolean;
130
+ verifiedIdCard: z.ZodOptional<z.ZodBoolean>;
131
+ role: z.ZodEnum<["host", "user", "admin", "hr", "sales"]>;
132
+ socialLinks: z.ZodOptional<z.ZodRecord<z.ZodEnum<[string, ...string[]]>, z.ZodString>>;
133
+ userResume: z.ZodOptional<z.ZodString>;
134
+ skills: z.ZodOptional<z.ZodArray<z.ZodObject<{
135
+ skill: z.ZodString;
136
+ skillExpertise: z.ZodNumber;
137
+ }, "strip", z.ZodTypeAny, {
138
+ skill: string;
139
+ skillExpertise: number;
140
+ }, {
141
+ skill: string;
142
+ skillExpertise: number;
143
+ }>, "many">>;
144
+ wishlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
145
+ favBlogs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
146
+ favPackages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
147
+ id: z.ZodOptional<z.ZodString>;
148
+ selfie: z.ZodOptional<z.ZodString>;
149
+ selfieAction: z.ZodOptional<z.ZodString>;
150
+ jobCount: z.ZodOptional<z.ZodNumber>;
151
+ travelPackageCount: z.ZodOptional<z.ZodNumber>;
152
+ gstNumber: z.ZodOptional<z.ZodString>;
153
+ panCard: z.ZodOptional<z.ZodString>;
154
+ verifiedBusiness: z.ZodOptional<z.ZodEnum<["true", "false", "inProgress"]>>;
155
+ }, "strict", z.ZodTypeAny, {
156
+ username: string;
157
+ firstName: string;
158
+ lastName: string;
159
+ email: string;
160
+ password: string;
161
+ phoneNumber: string;
162
+ countryCode: string;
163
+ country: string;
164
+ gender: "male" | "female" | "other";
165
+ rating: number;
166
+ ratingCount: number;
167
+ reviewCount: number;
168
+ joinedDate: Date;
169
+ isActive: boolean;
170
+ lastActive: Date;
171
+ verifiedEmail: boolean;
172
+ verifiedMobile: boolean;
173
+ role: "host" | "user" | "admin" | "hr" | "sales";
174
+ location?: string | undefined;
175
+ pinCode?: string | undefined;
176
+ dob?: Date | undefined;
177
+ profilePic?: string | undefined;
178
+ blogsCount?: number | undefined;
179
+ userBio?: string | undefined;
180
+ userIdCard?: string | undefined;
181
+ watchHistory?: string[] | undefined;
182
+ accessToken?: string | undefined;
183
+ refreshToken?: string | undefined;
184
+ verifiedIdCard?: boolean | undefined;
185
+ socialLinks?: Record<string, string> | undefined;
186
+ userResume?: string | undefined;
187
+ skills?: {
188
+ skill: string;
189
+ skillExpertise: number;
190
+ }[] | undefined;
191
+ wishlist?: string[] | undefined;
192
+ favBlogs?: string[] | undefined;
193
+ favPackages?: string[] | undefined;
194
+ id?: string | undefined;
195
+ selfie?: string | undefined;
196
+ selfieAction?: string | undefined;
197
+ jobCount?: number | undefined;
198
+ travelPackageCount?: number | undefined;
199
+ gstNumber?: string | undefined;
200
+ panCard?: string | undefined;
201
+ verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
202
+ }, {
203
+ username: string;
204
+ firstName: string;
205
+ lastName: string;
206
+ email: string;
207
+ password: string;
208
+ phoneNumber: string;
209
+ countryCode: string;
210
+ country: string;
211
+ gender: "male" | "female" | "other";
212
+ rating: number;
213
+ ratingCount: number;
214
+ reviewCount: number;
215
+ joinedDate: Date;
216
+ isActive: boolean;
217
+ lastActive: Date;
218
+ verifiedEmail: boolean;
219
+ verifiedMobile: boolean;
220
+ role: "host" | "user" | "admin" | "hr" | "sales";
221
+ location?: string | undefined;
222
+ pinCode?: string | undefined;
223
+ dob?: Date | undefined;
224
+ profilePic?: string | undefined;
225
+ blogsCount?: number | undefined;
226
+ userBio?: string | undefined;
227
+ userIdCard?: string | undefined;
228
+ watchHistory?: string[] | undefined;
229
+ accessToken?: string | undefined;
230
+ refreshToken?: string | undefined;
231
+ verifiedIdCard?: boolean | undefined;
232
+ socialLinks?: Record<string, string> | undefined;
233
+ userResume?: string | undefined;
234
+ skills?: {
235
+ skill: string;
236
+ skillExpertise: number;
237
+ }[] | undefined;
238
+ wishlist?: string[] | undefined;
239
+ favBlogs?: string[] | undefined;
240
+ favPackages?: string[] | undefined;
241
+ id?: string | undefined;
242
+ selfie?: string | undefined;
243
+ selfieAction?: string | undefined;
244
+ jobCount?: number | undefined;
245
+ travelPackageCount?: number | undefined;
246
+ gstNumber?: string | undefined;
247
+ panCard?: string | undefined;
248
+ verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
249
+ }>>;
250
+ applicationObservers: z.ZodOptional<z.ZodArray<z.ZodObject<{
251
+ username: z.ZodString;
252
+ role: z.ZodEnum<["host", "user", "admin", "hr", "sales"]>;
253
+ countryCode: z.ZodString;
254
+ phoneNumber: z.ZodString;
255
+ email: z.ZodString;
256
+ }, "strip", z.ZodTypeAny, {
257
+ username: string;
258
+ email: string;
259
+ phoneNumber: string;
260
+ countryCode: string;
261
+ role: "host" | "user" | "admin" | "hr" | "sales";
262
+ }, {
263
+ username: string;
264
+ email: string;
265
+ phoneNumber: string;
266
+ countryCode: string;
267
+ role: "host" | "user" | "admin" | "hr" | "sales";
268
+ }>, "many">>;
269
+ status: z.ZodEnum<["draft", "archived", "pending", "open", "closed", "denied", "deleted"]>;
270
+ adminApproval: z.ZodBoolean;
271
+ createdAt: z.ZodOptional<z.ZodDate>;
272
+ updatedAt: z.ZodOptional<z.ZodDate>;
273
+ } & {
274
+ opportunityType: z.ZodLiteral<"job">;
275
+ employment: z.ZodObject<{
276
+ jobType: z.ZodEnum<["full-time", "part-time", "seasonal"]>;
277
+ workLocation: z.ZodEnum<["on-site", "hybrid"]>;
278
+ workingHoursPerDay: z.ZodNumber;
279
+ weeklyOffs: z.ZodNumber;
280
+ }, "strip", z.ZodTypeAny, {
281
+ jobType: "full-time" | "part-time" | "seasonal";
282
+ workLocation: "hybrid" | "on-site";
283
+ workingHoursPerDay: number;
284
+ weeklyOffs: number;
285
+ }, {
286
+ jobType: "full-time" | "part-time" | "seasonal";
287
+ workLocation: "hybrid" | "on-site";
288
+ workingHoursPerDay: number;
289
+ weeklyOffs: number;
290
+ }>;
291
+ salary: z.ZodObject<{
292
+ type: z.ZodEnum<[string, ...string[]]>;
293
+ amount: z.ZodOptional<z.ZodNumber>;
294
+ currency: z.ZodEnum<[string, ...string[]]>;
295
+ frequency: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
296
+ }, "strip", z.ZodTypeAny, {
297
+ type: string;
298
+ currency: string;
299
+ amount?: number | undefined;
300
+ frequency?: string | undefined;
301
+ }, {
302
+ type: string;
303
+ currency: string;
304
+ amount?: number | undefined;
305
+ frequency?: string | undefined;
306
+ }>;
307
+ bond: z.ZodObject<{
308
+ bondStartDate: z.ZodDate;
309
+ durationMonths: z.ZodNumber;
310
+ hostFee: z.ZodNumber;
311
+ employeeSecurity: z.ZodNumber;
312
+ }, "strip", z.ZodTypeAny, {
313
+ durationMonths: number;
314
+ hostFee: number;
315
+ bondStartDate: Date;
316
+ employeeSecurity: number;
317
+ }, {
318
+ durationMonths: number;
319
+ hostFee: number;
320
+ bondStartDate: Date;
321
+ employeeSecurity: number;
322
+ }>;
323
+ platformFees: z.ZodObject<{
324
+ commissionPercent: z.ZodNumber;
325
+ commissionAmount: z.ZodNumber;
326
+ payoutToHost: z.ZodNumber;
327
+ }, "strip", z.ZodTypeAny, {
328
+ commissionPercent: number;
329
+ commissionAmount: number;
330
+ payoutToHost: number;
331
+ }, {
332
+ commissionPercent: number;
333
+ commissionAmount: number;
334
+ payoutToHost: number;
335
+ }>;
336
+ riskHandling: z.ZodObject<{
337
+ employeeFired: z.ZodBoolean;
338
+ employeeLeft: z.ZodBoolean;
339
+ securityPaidToHost: z.ZodBoolean;
340
+ }, "strip", z.ZodTypeAny, {
341
+ employeeFired: boolean;
342
+ employeeLeft: boolean;
343
+ securityPaidToHost: boolean;
344
+ }, {
345
+ employeeFired: boolean;
346
+ employeeLeft: boolean;
347
+ securityPaidToHost: boolean;
348
+ }>;
349
+ }, "strict", z.ZodTypeAny, {
350
+ country: string;
351
+ status: "draft" | "archived" | "pending" | "denied" | "open" | "closed" | "deleted";
352
+ rating: number;
353
+ ratingCount: number;
354
+ reviewCount: number;
355
+ skills: string[];
356
+ title: string;
357
+ description: string;
358
+ salary: {
359
+ type: string;
360
+ currency: string;
361
+ amount?: number | undefined;
362
+ frequency?: string | undefined;
363
+ };
364
+ slug: string;
365
+ opportunityType: "job";
366
+ images: string[];
367
+ city: string;
368
+ state: string;
369
+ availableFrom: Date;
370
+ minDuration: number;
371
+ maxDuration: number;
372
+ urgent: boolean;
373
+ peopleRequired: number;
374
+ facilities: string[];
375
+ responsibilities: string[];
376
+ questions: {
377
+ question: string;
378
+ answer: string;
379
+ }[];
380
+ applicationCount: number;
381
+ views: number;
382
+ shares: number;
383
+ hostId: {
384
+ username: string;
385
+ firstName: string;
386
+ lastName: string;
387
+ email: string;
388
+ password: string;
389
+ phoneNumber: string;
390
+ countryCode: string;
391
+ country: string;
392
+ gender: "male" | "female" | "other";
393
+ rating: number;
394
+ ratingCount: number;
395
+ reviewCount: number;
396
+ joinedDate: Date;
397
+ isActive: boolean;
398
+ lastActive: Date;
399
+ verifiedEmail: boolean;
400
+ verifiedMobile: boolean;
401
+ role: "host" | "user" | "admin" | "hr" | "sales";
402
+ location?: string | undefined;
403
+ pinCode?: string | undefined;
404
+ dob?: Date | undefined;
405
+ profilePic?: string | undefined;
406
+ blogsCount?: number | undefined;
407
+ userBio?: string | undefined;
408
+ userIdCard?: string | undefined;
409
+ watchHistory?: string[] | undefined;
410
+ accessToken?: string | undefined;
411
+ refreshToken?: string | undefined;
412
+ verifiedIdCard?: boolean | undefined;
413
+ socialLinks?: Record<string, string> | undefined;
414
+ userResume?: string | undefined;
415
+ skills?: {
416
+ skill: string;
417
+ skillExpertise: number;
418
+ }[] | undefined;
419
+ wishlist?: string[] | undefined;
420
+ favBlogs?: string[] | undefined;
421
+ favPackages?: string[] | undefined;
422
+ id?: string | undefined;
423
+ selfie?: string | undefined;
424
+ selfieAction?: string | undefined;
425
+ jobCount?: number | undefined;
426
+ travelPackageCount?: number | undefined;
427
+ gstNumber?: string | undefined;
428
+ panCard?: string | undefined;
429
+ verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
430
+ };
431
+ adminApproval: boolean;
432
+ platformFees: {
433
+ commissionPercent: number;
434
+ commissionAmount: number;
435
+ payoutToHost: number;
436
+ };
437
+ employment: {
438
+ jobType: "full-time" | "part-time" | "seasonal";
439
+ workLocation: "hybrid" | "on-site";
440
+ workingHoursPerDay: number;
441
+ weeklyOffs: number;
442
+ };
443
+ bond: {
444
+ durationMonths: number;
445
+ hostFee: number;
446
+ bondStartDate: Date;
447
+ employeeSecurity: number;
448
+ };
449
+ riskHandling: {
450
+ employeeFired: boolean;
451
+ employeeLeft: boolean;
452
+ securityPaidToHost: boolean;
453
+ };
454
+ createdAt?: Date | undefined;
455
+ updatedAt?: Date | undefined;
456
+ categoryId?: string | undefined;
457
+ address?: string | undefined;
458
+ workMode?: string | undefined;
459
+ compensation?: {
460
+ type: string;
461
+ currency: string;
462
+ amount?: number | undefined;
463
+ frequency?: string | undefined;
464
+ } | undefined;
465
+ bondPlan?: {
466
+ enabled: boolean;
467
+ commissionRate: number;
468
+ durationMonths?: number | undefined;
469
+ hostFee?: number | undefined;
470
+ securityDeposit?: number | undefined;
471
+ } | undefined;
472
+ hostingType?: string | undefined;
473
+ applicationObservers?: {
474
+ username: string;
475
+ email: string;
476
+ phoneNumber: string;
477
+ countryCode: string;
478
+ role: "host" | "user" | "admin" | "hr" | "sales";
479
+ }[] | undefined;
480
+ }, {
481
+ country: string;
482
+ status: "draft" | "archived" | "pending" | "denied" | "open" | "closed" | "deleted";
483
+ rating: number;
484
+ ratingCount: number;
485
+ reviewCount: number;
486
+ skills: string[];
487
+ title: string;
488
+ description: string;
489
+ salary: {
490
+ type: string;
491
+ currency: string;
492
+ amount?: number | undefined;
493
+ frequency?: string | undefined;
494
+ };
495
+ slug: string;
496
+ opportunityType: "job";
497
+ images: string[];
498
+ city: string;
499
+ state: string;
500
+ availableFrom: Date;
501
+ minDuration: number;
502
+ maxDuration: number;
503
+ urgent: boolean;
504
+ peopleRequired: number;
505
+ facilities: string[];
506
+ responsibilities: string[];
507
+ questions: {
508
+ question: string;
509
+ answer: string;
510
+ }[];
511
+ applicationCount: number;
512
+ views: number;
513
+ shares: number;
514
+ hostId: {
515
+ username: string;
516
+ firstName: string;
517
+ lastName: string;
518
+ email: string;
519
+ password: string;
520
+ phoneNumber: string;
521
+ countryCode: string;
522
+ country: string;
523
+ gender: "male" | "female" | "other";
524
+ rating: number;
525
+ ratingCount: number;
526
+ reviewCount: number;
527
+ joinedDate: Date;
528
+ isActive: boolean;
529
+ lastActive: Date;
530
+ verifiedEmail: boolean;
531
+ verifiedMobile: boolean;
532
+ role: "host" | "user" | "admin" | "hr" | "sales";
533
+ location?: string | undefined;
534
+ pinCode?: string | undefined;
535
+ dob?: Date | undefined;
536
+ profilePic?: string | undefined;
537
+ blogsCount?: number | undefined;
538
+ userBio?: string | undefined;
539
+ userIdCard?: string | undefined;
540
+ watchHistory?: string[] | undefined;
541
+ accessToken?: string | undefined;
542
+ refreshToken?: string | undefined;
543
+ verifiedIdCard?: boolean | undefined;
544
+ socialLinks?: Record<string, string> | undefined;
545
+ userResume?: string | undefined;
546
+ skills?: {
547
+ skill: string;
548
+ skillExpertise: number;
549
+ }[] | undefined;
550
+ wishlist?: string[] | undefined;
551
+ favBlogs?: string[] | undefined;
552
+ favPackages?: string[] | undefined;
553
+ id?: string | undefined;
554
+ selfie?: string | undefined;
555
+ selfieAction?: string | undefined;
556
+ jobCount?: number | undefined;
557
+ travelPackageCount?: number | undefined;
558
+ gstNumber?: string | undefined;
559
+ panCard?: string | undefined;
560
+ verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
561
+ };
562
+ adminApproval: boolean;
563
+ platformFees: {
564
+ commissionPercent: number;
565
+ commissionAmount: number;
566
+ payoutToHost: number;
567
+ };
568
+ employment: {
569
+ jobType: "full-time" | "part-time" | "seasonal";
570
+ workLocation: "hybrid" | "on-site";
571
+ workingHoursPerDay: number;
572
+ weeklyOffs: number;
573
+ };
574
+ bond: {
575
+ durationMonths: number;
576
+ hostFee: number;
577
+ bondStartDate: Date;
578
+ employeeSecurity: number;
579
+ };
580
+ riskHandling: {
581
+ employeeFired: boolean;
582
+ employeeLeft: boolean;
583
+ securityPaidToHost: boolean;
584
+ };
585
+ createdAt?: Date | undefined;
586
+ updatedAt?: Date | undefined;
587
+ categoryId?: string | undefined;
588
+ address?: string | undefined;
589
+ workMode?: string | undefined;
590
+ compensation?: {
591
+ type: string;
592
+ currency: string;
593
+ amount?: number | undefined;
594
+ frequency?: string | undefined;
595
+ } | undefined;
596
+ bondPlan?: {
597
+ enabled: boolean;
598
+ durationMonths?: number | undefined;
599
+ hostFee?: number | undefined;
600
+ securityDeposit?: number | undefined;
601
+ commissionRate?: number | undefined;
602
+ } | undefined;
603
+ hostingType?: string | undefined;
604
+ applicationObservers?: {
605
+ username: string;
606
+ email: string;
607
+ phoneNumber: string;
608
+ countryCode: string;
609
+ role: "host" | "user" | "admin" | "hr" | "sales";
610
+ }[] | undefined;
611
+ }>;
612
+ //# sourceMappingURL=job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../../src/lib/models/opportunities/job.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAKrB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { CompensationSchema, OpportunitySchema, PlatformFeeSchema } from "./opportunity";
2
+ import { z } from "zod";
3
+ export const BondSchema = z.object({
4
+ bondStartDate: z.date(),
5
+ durationMonths: z.number(),
6
+ hostFee: z.number(),
7
+ employeeSecurity: z.number(),
8
+ });
9
+ export const RiskHandlingSchema = z.object({
10
+ employeeFired: z.boolean(),
11
+ employeeLeft: z.boolean(),
12
+ securityPaidToHost: z.boolean(),
13
+ });
14
+ export const JobOpportunitySchema = OpportunitySchema.extend({
15
+ opportunityType: z.literal("job"),
16
+ employment: z.object({
17
+ jobType: z.enum(["full-time", "part-time", "seasonal"]),
18
+ workLocation: z.enum(["on-site", "hybrid"]),
19
+ workingHoursPerDay: z.number(),
20
+ weeklyOffs: z.number(),
21
+ }),
22
+ salary: CompensationSchema,
23
+ bond: BondSchema,
24
+ platformFees: PlatformFeeSchema,
25
+ riskHandling: RiskHandlingSchema,
26
+ });