@homespot-sdk/core 0.0.225 → 0.0.227
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.
- package/dist/property/index.d.ts +1 -1
- package/dist/property/index.d.ts.map +1 -1
- package/dist/property/schemas.gen.d.ts +44 -58
- package/dist/property/schemas.gen.d.ts.map +1 -1
- package/dist/property/schemas.gen.js +246 -121
- package/dist/property/schemas.gen.js.map +1 -1
- package/dist/property/types.gen.d.ts +29 -38
- package/dist/property/types.gen.d.ts.map +1 -1
- package/dist/property/zod.gen.d.ts +448 -538
- package/dist/property/zod.gen.d.ts.map +1 -1
- package/dist/property/zod.gen.js +440 -243
- package/dist/property/zod.gen.js.map +1 -1
- package/dist/registration/index.d.ts +1 -1
- package/dist/registration/index.d.ts.map +1 -1
- package/dist/registration/schemas.gen.d.ts +28 -43
- package/dist/registration/schemas.gen.d.ts.map +1 -1
- package/dist/registration/schemas.gen.js +148 -82
- package/dist/registration/schemas.gen.js.map +1 -1
- package/dist/registration/types.gen.d.ts +20 -27
- package/dist/registration/types.gen.d.ts.map +1 -1
- package/dist/registration/zod.gen.d.ts +106 -175
- package/dist/registration/zod.gen.d.ts.map +1 -1
- package/dist/registration/zod.gen.js +204 -144
- package/dist/registration/zod.gen.js.map +1 -1
- package/dist/rem/index.d.ts +1 -1
- package/dist/rem/index.d.ts.map +1 -1
- package/dist/rem/schemas.gen.d.ts +159 -190
- package/dist/rem/schemas.gen.d.ts.map +1 -1
- package/dist/rem/schemas.gen.js +461 -271
- package/dist/rem/schemas.gen.js.map +1 -1
- package/dist/rem/types.gen.d.ts +105 -132
- package/dist/rem/types.gen.d.ts.map +1 -1
- package/dist/rem/zod.gen.d.ts +1338 -1534
- package/dist/rem/zod.gen.d.ts.map +1 -1
- package/dist/rem/zod.gen.js +1104 -844
- package/dist/rem/zod.gen.js.map +1 -1
- package/package.json +1 -1
package/dist/rem/zod.gen.js
CHANGED
|
@@ -13,6 +13,29 @@ export const zThemeRequest = z.object({
|
|
|
13
13
|
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
14
14
|
}),
|
|
15
15
|
});
|
|
16
|
+
export const zSocialMediaRequest = z.object({
|
|
17
|
+
type: z.enum(['FACEBOOK', 'YOUTUBE', 'INSTAGRAM', 'TIKTOK', 'LINKEDIN']),
|
|
18
|
+
url: z.optional(z.string()),
|
|
19
|
+
});
|
|
20
|
+
export const zSocialMediasRequest = z.object({
|
|
21
|
+
data: z.array(zSocialMediaRequest).min(1).max(6),
|
|
22
|
+
});
|
|
23
|
+
export const zTextRequest = z.object({
|
|
24
|
+
language: z.enum(['ka', 'en', 'ru']),
|
|
25
|
+
text: z.optional(z.string()),
|
|
26
|
+
});
|
|
27
|
+
export const zMultiLangTextRequest = z.object({
|
|
28
|
+
data: z.array(zTextRequest).min(1).max(3),
|
|
29
|
+
});
|
|
30
|
+
export const zWhitelabelSectionRequest = z.object({
|
|
31
|
+
title: zMultiLangTextRequest,
|
|
32
|
+
body: zMultiLangTextRequest,
|
|
33
|
+
});
|
|
34
|
+
export const zWhitelabelReviewRequest = z.object({
|
|
35
|
+
quote: zMultiLangTextRequest,
|
|
36
|
+
name: zMultiLangTextRequest,
|
|
37
|
+
status: zMultiLangTextRequest,
|
|
38
|
+
});
|
|
16
39
|
export const zEstablishedYearRequest = z.object({
|
|
17
40
|
year: z
|
|
18
41
|
.int()
|
|
@@ -40,6 +63,28 @@ export const zVerifyEmailRequest = z.object({
|
|
|
40
63
|
export const zUpdateEmailRequest = z.object({
|
|
41
64
|
email: z.email().min(1),
|
|
42
65
|
});
|
|
66
|
+
export const zRolesRequest = z.object({
|
|
67
|
+
name: z.string().min(1),
|
|
68
|
+
description: z.string().min(1),
|
|
69
|
+
permissions: z.array(z.enum([
|
|
70
|
+
'AGENCY_WRITE',
|
|
71
|
+
'INVITATION_READ',
|
|
72
|
+
'INVITATION_WRITE',
|
|
73
|
+
'ROLE_READ',
|
|
74
|
+
'ROLE_WRITE',
|
|
75
|
+
'MEMBER_READ',
|
|
76
|
+
'MEMBER_WRITE',
|
|
77
|
+
'LEAD_READ',
|
|
78
|
+
'LEAD_WRITE',
|
|
79
|
+
'LEAD_READ_ALL',
|
|
80
|
+
'LEAD_WRITE_ALL',
|
|
81
|
+
'CLIENT_READ',
|
|
82
|
+
'CLIENT_WRITE',
|
|
83
|
+
'CLIENT_READ_ALL',
|
|
84
|
+
'CLIENT_WRITE_ALL',
|
|
85
|
+
'PROPERTY_READ_ALL',
|
|
86
|
+
])),
|
|
87
|
+
});
|
|
43
88
|
export const zAssignRoleRequest = z.object({
|
|
44
89
|
roleId: z
|
|
45
90
|
.int()
|
|
@@ -71,6 +116,19 @@ export const zRecordSourceRequest = z.object({
|
|
|
71
116
|
export const zNoteRequest = z.object({
|
|
72
117
|
note: z.optional(z.string()),
|
|
73
118
|
});
|
|
119
|
+
export const zRecordLostLeadRequest = z.object({
|
|
120
|
+
reason: z.enum([
|
|
121
|
+
'NOT_WORKING_WITH_AGENTS',
|
|
122
|
+
'NOT_RESPONDING',
|
|
123
|
+
'ALREADY_SOLD',
|
|
124
|
+
'COULD_NOT_NEGOTIATE_PRICE',
|
|
125
|
+
'CHOSE_ANOTHER_AGENCY',
|
|
126
|
+
'CHANGED_PLANS',
|
|
127
|
+
'OUT_OF_BUDGET',
|
|
128
|
+
'SPAM',
|
|
129
|
+
'OTHER',
|
|
130
|
+
]),
|
|
131
|
+
});
|
|
74
132
|
export const zLocationRefRequest = z.object({
|
|
75
133
|
regionId: z.optional(z.coerce
|
|
76
134
|
.bigint()
|
|
@@ -109,12 +167,133 @@ export const zPriceRangeRequest = z.object({
|
|
|
109
167
|
min: z.optional(z.number()),
|
|
110
168
|
max: z.optional(z.number()),
|
|
111
169
|
});
|
|
170
|
+
export const zIntentRequest = z.object({
|
|
171
|
+
clientType: z.enum(['LISTING', 'SEEKING']),
|
|
172
|
+
listingType: z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE']),
|
|
173
|
+
propertyType: z.enum([
|
|
174
|
+
'HOUSE',
|
|
175
|
+
'TOWN_HOUSE',
|
|
176
|
+
'COUNTRY_HOUSE',
|
|
177
|
+
'VILLA',
|
|
178
|
+
'COTTAGE',
|
|
179
|
+
'APARTMENT',
|
|
180
|
+
'DUPLEX',
|
|
181
|
+
'TRIPLEX',
|
|
182
|
+
'SEMI_BASEMENT',
|
|
183
|
+
'ATTIC',
|
|
184
|
+
'AGRICULTURAL_LAND',
|
|
185
|
+
'RESIDENTIAL_LAND',
|
|
186
|
+
'HOTEL_ROOM',
|
|
187
|
+
'MOTEL_ROOM',
|
|
188
|
+
'CO_LIVING_SPACE',
|
|
189
|
+
'OFFICE',
|
|
190
|
+
'COMMERCIAL_SPACE',
|
|
191
|
+
'CO_WORKING_SPACE',
|
|
192
|
+
'WAREHOUSE',
|
|
193
|
+
'GARAGE',
|
|
194
|
+
]),
|
|
195
|
+
price: z.optional(zPriceRangeRequest),
|
|
196
|
+
targetLocation: z.optional(zLocationRefRequest),
|
|
197
|
+
area: z.optional(z.number()),
|
|
198
|
+
numberOfRooms: z.optional(z
|
|
199
|
+
.int()
|
|
200
|
+
.min(-2147483648, {
|
|
201
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
202
|
+
})
|
|
203
|
+
.max(2147483647, {
|
|
204
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
205
|
+
})),
|
|
206
|
+
});
|
|
207
|
+
export const zContactInfoRequest = z.object({
|
|
208
|
+
firstName: z.optional(z.string().min(1).max(20)),
|
|
209
|
+
lastName: z.optional(z.string().min(1).max(20)),
|
|
210
|
+
gender: z.optional(z.enum(['MALE', 'FEMALE', 'UNKNOWN'])),
|
|
211
|
+
email: z.optional(z.email()),
|
|
212
|
+
phone: z.string().min(1).max(20),
|
|
213
|
+
});
|
|
112
214
|
export const zReassignMemberRequest = z.object({
|
|
113
215
|
memberId: z.uuid(),
|
|
114
216
|
});
|
|
115
217
|
export const zRenameClientRecommendationsRequest = z.object({
|
|
116
218
|
name: z.optional(z.string()),
|
|
117
219
|
});
|
|
220
|
+
export const zAgreementRequest = z.object({
|
|
221
|
+
type: z.enum(['EXCLUSIVE', 'NON_EXCLUSIVE']),
|
|
222
|
+
expiresAt: z.optional(z.iso.date()),
|
|
223
|
+
});
|
|
224
|
+
export const zReprioritizeClientRequest = z.object({
|
|
225
|
+
priority: z.optional(z.enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'])),
|
|
226
|
+
});
|
|
227
|
+
export const zCaptureInterestRequest = z.object({
|
|
228
|
+
propertyTypes: z
|
|
229
|
+
.array(z.enum([
|
|
230
|
+
'HOUSE',
|
|
231
|
+
'TOWN_HOUSE',
|
|
232
|
+
'COUNTRY_HOUSE',
|
|
233
|
+
'VILLA',
|
|
234
|
+
'COTTAGE',
|
|
235
|
+
'APARTMENT',
|
|
236
|
+
'DUPLEX',
|
|
237
|
+
'TRIPLEX',
|
|
238
|
+
'SEMI_BASEMENT',
|
|
239
|
+
'ATTIC',
|
|
240
|
+
'AGRICULTURAL_LAND',
|
|
241
|
+
'RESIDENTIAL_LAND',
|
|
242
|
+
'HOTEL_ROOM',
|
|
243
|
+
'MOTEL_ROOM',
|
|
244
|
+
'CO_LIVING_SPACE',
|
|
245
|
+
'OFFICE',
|
|
246
|
+
'COMMERCIAL_SPACE',
|
|
247
|
+
'CO_WORKING_SPACE',
|
|
248
|
+
'WAREHOUSE',
|
|
249
|
+
'GARAGE',
|
|
250
|
+
]))
|
|
251
|
+
.min(1),
|
|
252
|
+
listingType: z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE']),
|
|
253
|
+
priceMin: z.optional(z.number()),
|
|
254
|
+
priceMax: z.optional(z.number()),
|
|
255
|
+
bedroomsMin: z.optional(z
|
|
256
|
+
.int()
|
|
257
|
+
.min(-2147483648, {
|
|
258
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
259
|
+
})
|
|
260
|
+
.max(2147483647, {
|
|
261
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
262
|
+
})),
|
|
263
|
+
bedroomsMax: z.optional(z
|
|
264
|
+
.int()
|
|
265
|
+
.min(-2147483648, {
|
|
266
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
267
|
+
})
|
|
268
|
+
.max(2147483647, {
|
|
269
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
270
|
+
})),
|
|
271
|
+
bathroomsMin: z.optional(z
|
|
272
|
+
.int()
|
|
273
|
+
.min(-2147483648, {
|
|
274
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
275
|
+
})
|
|
276
|
+
.max(2147483647, {
|
|
277
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
278
|
+
})),
|
|
279
|
+
bathroomsMax: z.optional(z
|
|
280
|
+
.int()
|
|
281
|
+
.min(-2147483648, {
|
|
282
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
283
|
+
})
|
|
284
|
+
.max(2147483647, {
|
|
285
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
286
|
+
})),
|
|
287
|
+
totalAreaMin: z.optional(z.number()),
|
|
288
|
+
totalAreaMax: z.optional(z.number()),
|
|
289
|
+
livingAreaMin: z.optional(z.number()),
|
|
290
|
+
livingAreaMax: z.optional(z.number()),
|
|
291
|
+
location: z.optional(zLocationRefRequest),
|
|
292
|
+
});
|
|
293
|
+
export const zUpdateContactPreferencesRequest = z.object({
|
|
294
|
+
contactMethods: z.array(z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL'])),
|
|
295
|
+
favoriteContactMethod: z.optional(z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL'])),
|
|
296
|
+
});
|
|
118
297
|
export const zAddressRequest = z.object({
|
|
119
298
|
country: z.string().min(0).max(100),
|
|
120
299
|
city: z.string().min(0).max(100),
|
|
@@ -137,6 +316,12 @@ export const zCreateAgencyRequest = z.object({
|
|
|
137
316
|
phone: z.string(),
|
|
138
317
|
address: zAddressRequest,
|
|
139
318
|
});
|
|
319
|
+
export const zPhotoRequest = z.object({
|
|
320
|
+
photo: z.string().min(0).max(255),
|
|
321
|
+
type: z.enum(['JPEG', 'JPG', 'PNG', 'WEBP']),
|
|
322
|
+
width: z.int().gte(10).lte(11000),
|
|
323
|
+
height: z.optional(z.int().gte(10).lte(11000)),
|
|
324
|
+
});
|
|
140
325
|
export const zPresignedUrlResponse = z.object({
|
|
141
326
|
originalName: z.string(),
|
|
142
327
|
key: z.string(),
|
|
@@ -166,6 +351,46 @@ export const zIdResponseInteger = z.object({
|
|
|
166
351
|
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
167
352
|
}),
|
|
168
353
|
});
|
|
354
|
+
export const zCaptureLeadRequest = z.object({
|
|
355
|
+
contactInfo: zContactInfoRequest,
|
|
356
|
+
note: z.optional(z.string().min(0).max(500)),
|
|
357
|
+
});
|
|
358
|
+
export const zRateRecommendationItemRequest = z.object({
|
|
359
|
+
decision: z.enum(['MAYBE', 'DISLIKE', 'LIKE', 'VISIT']),
|
|
360
|
+
note: z.optional(z.string().min(0).max(100)),
|
|
361
|
+
});
|
|
362
|
+
export const zAttendeeRequest = z.object({
|
|
363
|
+
role: z.enum(['ORGANIZER', 'AGENT', 'OWNER', 'CLIENT']),
|
|
364
|
+
memberId: z.optional(z.uuid()),
|
|
365
|
+
clientId: z.optional(z.coerce
|
|
366
|
+
.bigint()
|
|
367
|
+
.min(BigInt('-9223372036854775808'), {
|
|
368
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
369
|
+
})
|
|
370
|
+
.max(BigInt('9223372036854775807'), {
|
|
371
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
372
|
+
})),
|
|
373
|
+
email: z.optional(z.email()),
|
|
374
|
+
name: z.optional(z.string()),
|
|
375
|
+
});
|
|
376
|
+
export const zCreateMeetingRequest = z.object({
|
|
377
|
+
propertyId: z.optional(z.coerce
|
|
378
|
+
.bigint()
|
|
379
|
+
.min(BigInt('-9223372036854775808'), {
|
|
380
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
381
|
+
})
|
|
382
|
+
.max(BigInt('9223372036854775807'), {
|
|
383
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
384
|
+
})),
|
|
385
|
+
attendees: z.array(zAttendeeRequest).min(0).max(10),
|
|
386
|
+
start: z.iso.datetime(),
|
|
387
|
+
durationMinutes: z.optional(z.int().gte(15).lte(480)),
|
|
388
|
+
title: z.string().min(0).max(255),
|
|
389
|
+
description: z.optional(z.string().min(0).max(1000)),
|
|
390
|
+
location: z.optional(z.string().min(0).max(500)),
|
|
391
|
+
inviteStrategy: z.enum(['NONE', 'AGENT_ONLY', 'ALL_PARTICIPANTS']),
|
|
392
|
+
setReminders: z.optional(z.boolean()),
|
|
393
|
+
});
|
|
169
394
|
export const zMeetingResponse = z.object({
|
|
170
395
|
meetingId: z.uuid(),
|
|
171
396
|
googleEventId: z.optional(z.string()),
|
|
@@ -203,6 +428,50 @@ export const zAuthRequest = z.object({
|
|
|
203
428
|
sub: z.optional(z.string()),
|
|
204
429
|
agencyId: z.optional(z.uuid()),
|
|
205
430
|
});
|
|
431
|
+
export const zAgencyPrincipalDto = z.object({
|
|
432
|
+
memberId: z.optional(z.uuid()),
|
|
433
|
+
permissions: z.optional(z.array(z.enum([
|
|
434
|
+
'AGENCY_WRITE',
|
|
435
|
+
'INVITATION_READ',
|
|
436
|
+
'INVITATION_WRITE',
|
|
437
|
+
'ROLE_READ',
|
|
438
|
+
'ROLE_WRITE',
|
|
439
|
+
'MEMBER_READ',
|
|
440
|
+
'MEMBER_WRITE',
|
|
441
|
+
'LEAD_READ',
|
|
442
|
+
'LEAD_WRITE',
|
|
443
|
+
'LEAD_READ_ALL',
|
|
444
|
+
'LEAD_WRITE_ALL',
|
|
445
|
+
'CLIENT_READ',
|
|
446
|
+
'CLIENT_WRITE',
|
|
447
|
+
'CLIENT_READ_ALL',
|
|
448
|
+
'CLIENT_WRITE_ALL',
|
|
449
|
+
'PROPERTY_READ_ALL',
|
|
450
|
+
]))),
|
|
451
|
+
isActive: z.optional(z.boolean()),
|
|
452
|
+
isOwner: z.optional(z.boolean()),
|
|
453
|
+
});
|
|
454
|
+
export const zOnboardClientRequest = z.object({
|
|
455
|
+
contactInfo: zContactInfoRequest,
|
|
456
|
+
contactMethods: z.array(z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL'])),
|
|
457
|
+
favoriteContactMethod: z.optional(z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL'])),
|
|
458
|
+
priority: z.optional(z.enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'])),
|
|
459
|
+
convertedFromLeadId: z.optional(z.coerce
|
|
460
|
+
.bigint()
|
|
461
|
+
.min(BigInt('-9223372036854775808'), {
|
|
462
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
463
|
+
})
|
|
464
|
+
.max(BigInt('9223372036854775807'), {
|
|
465
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
466
|
+
})),
|
|
467
|
+
});
|
|
468
|
+
export const zContactSummary = z.object({
|
|
469
|
+
firstName: z.optional(z.string()),
|
|
470
|
+
lastName: z.optional(z.string()),
|
|
471
|
+
gender: z.optional(z.enum(['MALE', 'FEMALE', 'UNKNOWN'])),
|
|
472
|
+
email: z.optional(z.string()),
|
|
473
|
+
phone: z.optional(z.string()),
|
|
474
|
+
});
|
|
206
475
|
export const zCoordinates = z.object({
|
|
207
476
|
lat: z.optional(z.number()),
|
|
208
477
|
lng: z.optional(z.number()),
|
|
@@ -256,85 +525,277 @@ export const zPresignedResult = z.object({
|
|
|
256
525
|
key: z.optional(zPhotoKey),
|
|
257
526
|
presignedUrl: z.optional(z.string()),
|
|
258
527
|
});
|
|
259
|
-
export const
|
|
260
|
-
|
|
261
|
-
|
|
528
|
+
export const zPropertyCreationRequest = z.object({
|
|
529
|
+
draftId: z.uuid(),
|
|
530
|
+
clientId: z.optional(z.coerce
|
|
262
531
|
.bigint()
|
|
263
532
|
.min(BigInt('-9223372036854775808'), {
|
|
264
533
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
265
534
|
})
|
|
266
535
|
.max(BigInt('9223372036854775807'), {
|
|
267
536
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
268
|
-
}),
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
537
|
+
})),
|
|
538
|
+
propertyType: z.enum([
|
|
539
|
+
'HOUSE',
|
|
540
|
+
'TOWN_HOUSE',
|
|
541
|
+
'COUNTRY_HOUSE',
|
|
542
|
+
'VILLA',
|
|
543
|
+
'COTTAGE',
|
|
544
|
+
'APARTMENT',
|
|
545
|
+
'DUPLEX',
|
|
546
|
+
'TRIPLEX',
|
|
547
|
+
'SEMI_BASEMENT',
|
|
548
|
+
'ATTIC',
|
|
549
|
+
'AGRICULTURAL_LAND',
|
|
550
|
+
'RESIDENTIAL_LAND',
|
|
551
|
+
'HOTEL_ROOM',
|
|
552
|
+
'MOTEL_ROOM',
|
|
553
|
+
'CO_LIVING_SPACE',
|
|
554
|
+
'OFFICE',
|
|
555
|
+
'COMMERCIAL_SPACE',
|
|
556
|
+
'CO_WORKING_SPACE',
|
|
557
|
+
'WAREHOUSE',
|
|
558
|
+
'GARAGE',
|
|
559
|
+
]),
|
|
560
|
+
address: zAddressRef,
|
|
561
|
+
photoUrls: z.array(zPhotoInternalRequest).min(5).max(2147483647),
|
|
562
|
+
spaces: z.record(z.string(), z.array(z.number())),
|
|
563
|
+
totalArea: z.number(),
|
|
564
|
+
livingArea: z.optional(z.number()),
|
|
565
|
+
balconyArea: z.optional(z.number()),
|
|
566
|
+
amenities: z.array(z
|
|
567
|
+
.int()
|
|
568
|
+
.min(-2147483648, {
|
|
569
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
570
|
+
})
|
|
571
|
+
.max(2147483647, {
|
|
572
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
573
|
+
})),
|
|
574
|
+
title: z.string().min(1),
|
|
575
|
+
description: z.record(z.string(), z.string()),
|
|
272
576
|
});
|
|
273
|
-
export const
|
|
274
|
-
|
|
275
|
-
|
|
577
|
+
export const zImportedPropertyDraft = z.object({
|
|
578
|
+
contact: z.optional(zContactSummary),
|
|
579
|
+
listingType: z.optional(z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'])),
|
|
580
|
+
askingPrice: z.optional(z.number()),
|
|
581
|
+
propertyCreationRequest: z.optional(zPropertyCreationRequest),
|
|
582
|
+
photosForUpload: z.optional(z.array(zPresignedResult)),
|
|
276
583
|
});
|
|
277
|
-
export const
|
|
278
|
-
|
|
584
|
+
export const zClientOnboardedResponse = z.object({
|
|
585
|
+
clientId: z.coerce
|
|
279
586
|
.bigint()
|
|
280
587
|
.min(BigInt('-9223372036854775808'), {
|
|
281
588
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
282
589
|
})
|
|
283
590
|
.max(BigInt('9223372036854775807'), {
|
|
284
591
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
285
|
-
})
|
|
286
|
-
|
|
287
|
-
export const zIdResponseUuid = z.object({
|
|
288
|
-
id: z.uuid(),
|
|
289
|
-
});
|
|
290
|
-
export const zUserSummaryViewResponse = z.object({
|
|
291
|
-
email: z.string(),
|
|
292
|
-
firstName: z.string(),
|
|
293
|
-
lastName: z.string(),
|
|
592
|
+
}),
|
|
593
|
+
importedProperty: z.optional(zImportedPropertyDraft),
|
|
294
594
|
});
|
|
295
|
-
export const
|
|
296
|
-
|
|
595
|
+
export const zCreateClientRecommendationsRequest = z.object({
|
|
596
|
+
title: z.string().min(1),
|
|
597
|
+
interestId: z.coerce
|
|
297
598
|
.bigint()
|
|
298
599
|
.min(BigInt('-9223372036854775808'), {
|
|
299
600
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
300
601
|
})
|
|
301
602
|
.max(BigInt('9223372036854775807'), {
|
|
302
603
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
303
|
-
})
|
|
304
|
-
|
|
604
|
+
}),
|
|
605
|
+
});
|
|
606
|
+
export const zRecommendationsId = z.object({
|
|
607
|
+
value: z.optional(z.uuid()),
|
|
608
|
+
});
|
|
609
|
+
export const zRecommendListingRequest = z.object({
|
|
610
|
+
externalPropertyId: z.uuid(),
|
|
611
|
+
externalListingId: z.uuid(),
|
|
612
|
+
});
|
|
613
|
+
export const zExternalListingPublishRequest = z.object({
|
|
614
|
+
platform: z.enum(['SS', 'MY_HOME']),
|
|
615
|
+
listingId: z.coerce
|
|
305
616
|
.bigint()
|
|
306
617
|
.min(BigInt('-9223372036854775808'), {
|
|
307
618
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
308
619
|
})
|
|
309
620
|
.max(BigInt('9223372036854775807'), {
|
|
310
621
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
311
|
-
})
|
|
312
|
-
|
|
622
|
+
}),
|
|
623
|
+
});
|
|
624
|
+
export const zExternalListingBoostRequest = z.object({
|
|
625
|
+
platform: z.enum(['SS', 'MY_HOME']),
|
|
626
|
+
listingId: z.coerce
|
|
313
627
|
.bigint()
|
|
314
628
|
.min(BigInt('-9223372036854775808'), {
|
|
315
629
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
316
630
|
})
|
|
317
631
|
.max(BigInt('9223372036854775807'), {
|
|
318
632
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
319
|
-
})
|
|
320
|
-
|
|
633
|
+
}),
|
|
634
|
+
tier: z.enum(['VIP', 'VIP_PLUS', 'SUPER_VIP']),
|
|
635
|
+
numberOfDays: z
|
|
636
|
+
.int()
|
|
637
|
+
.min(-2147483648, {
|
|
638
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
639
|
+
})
|
|
640
|
+
.max(2147483647, {
|
|
641
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
642
|
+
}),
|
|
643
|
+
});
|
|
644
|
+
export const zAddDealRequest = z.object({
|
|
645
|
+
listingId: z.coerce
|
|
321
646
|
.bigint()
|
|
322
647
|
.min(BigInt('-9223372036854775808'), {
|
|
323
648
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
324
649
|
})
|
|
325
650
|
.max(BigInt('9223372036854775807'), {
|
|
326
651
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
327
|
-
})
|
|
652
|
+
}),
|
|
653
|
+
commissionType: z.enum([
|
|
654
|
+
'FIXED_SALE',
|
|
655
|
+
'FIXED_RENT',
|
|
656
|
+
'PERCENTAGE',
|
|
657
|
+
'MONTHS_OF_RENT',
|
|
658
|
+
]),
|
|
659
|
+
rate: z.optional(z.number()),
|
|
660
|
+
amount: z.optional(z.number()),
|
|
661
|
+
factor: z.optional(z.number()),
|
|
328
662
|
});
|
|
329
|
-
export const
|
|
330
|
-
|
|
663
|
+
export const zInterestId = z.object({
|
|
664
|
+
value: z.optional(z.coerce
|
|
331
665
|
.bigint()
|
|
332
666
|
.min(BigInt('-9223372036854775808'), {
|
|
333
667
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
334
668
|
})
|
|
335
669
|
.max(BigInt('9223372036854775807'), {
|
|
336
670
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
337
|
-
}),
|
|
671
|
+
})),
|
|
672
|
+
});
|
|
673
|
+
export const zIdResponseUuid = z.object({
|
|
674
|
+
id: z.uuid(),
|
|
675
|
+
});
|
|
676
|
+
export const zOrganizationSummaryViewResponse = z.object({
|
|
677
|
+
agencyId: z.uuid(),
|
|
678
|
+
isOwner: z.boolean(),
|
|
679
|
+
agencyName: z.string(),
|
|
680
|
+
subdomain: z.string(),
|
|
681
|
+
roleId: z.optional(z
|
|
682
|
+
.int()
|
|
683
|
+
.min(-2147483648, {
|
|
684
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
685
|
+
})
|
|
686
|
+
.max(2147483647, {
|
|
687
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
688
|
+
})),
|
|
689
|
+
memberId: z.uuid(),
|
|
690
|
+
roleName: z.string(),
|
|
691
|
+
permissions: z.array(z.enum([
|
|
692
|
+
'AGENCY_WRITE',
|
|
693
|
+
'INVITATION_READ',
|
|
694
|
+
'INVITATION_WRITE',
|
|
695
|
+
'ROLE_READ',
|
|
696
|
+
'ROLE_WRITE',
|
|
697
|
+
'MEMBER_READ',
|
|
698
|
+
'MEMBER_WRITE',
|
|
699
|
+
'LEAD_READ',
|
|
700
|
+
'LEAD_WRITE',
|
|
701
|
+
'LEAD_READ_ALL',
|
|
702
|
+
'LEAD_WRITE_ALL',
|
|
703
|
+
'CLIENT_READ',
|
|
704
|
+
'CLIENT_WRITE',
|
|
705
|
+
'CLIENT_READ_ALL',
|
|
706
|
+
'CLIENT_WRITE_ALL',
|
|
707
|
+
'PROPERTY_READ_ALL',
|
|
708
|
+
])),
|
|
709
|
+
status: z.enum(['NEW', 'ACTIVE', 'PAYMENT_FAILED', 'INACTIVE']),
|
|
710
|
+
});
|
|
711
|
+
export const zUserSummaryViewResponse = z.object({
|
|
712
|
+
email: z.string(),
|
|
713
|
+
firstName: z.string(),
|
|
714
|
+
lastName: z.string(),
|
|
715
|
+
});
|
|
716
|
+
export const zUserContextViewResponse = z.object({
|
|
717
|
+
user: zUserSummaryViewResponse,
|
|
718
|
+
organizations: z.array(zOrganizationSummaryViewResponse),
|
|
719
|
+
});
|
|
720
|
+
export const zPageMetadata = z.object({
|
|
721
|
+
size: z.optional(z.coerce
|
|
722
|
+
.bigint()
|
|
723
|
+
.min(BigInt('-9223372036854775808'), {
|
|
724
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
725
|
+
})
|
|
726
|
+
.max(BigInt('9223372036854775807'), {
|
|
727
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
728
|
+
})),
|
|
729
|
+
number: z.optional(z.coerce
|
|
730
|
+
.bigint()
|
|
731
|
+
.min(BigInt('-9223372036854775808'), {
|
|
732
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
733
|
+
})
|
|
734
|
+
.max(BigInt('9223372036854775807'), {
|
|
735
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
736
|
+
})),
|
|
737
|
+
totalElements: z.optional(z.coerce
|
|
738
|
+
.bigint()
|
|
739
|
+
.min(BigInt('-9223372036854775808'), {
|
|
740
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
741
|
+
})
|
|
742
|
+
.max(BigInt('9223372036854775807'), {
|
|
743
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
744
|
+
})),
|
|
745
|
+
totalPages: z.optional(z.coerce
|
|
746
|
+
.bigint()
|
|
747
|
+
.min(BigInt('-9223372036854775808'), {
|
|
748
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
749
|
+
})
|
|
750
|
+
.max(BigInt('9223372036854775807'), {
|
|
751
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
752
|
+
})),
|
|
753
|
+
});
|
|
754
|
+
export const zRoleResponse = z.object({
|
|
755
|
+
id: z
|
|
756
|
+
.int()
|
|
757
|
+
.min(-2147483648, {
|
|
758
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
759
|
+
})
|
|
760
|
+
.max(2147483647, {
|
|
761
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
762
|
+
}),
|
|
763
|
+
name: z.string(),
|
|
764
|
+
isSystem: z.optional(z.boolean()),
|
|
765
|
+
isOwner: z.optional(z.boolean()),
|
|
766
|
+
description: z.string(),
|
|
767
|
+
permissions: z.array(z.enum([
|
|
768
|
+
'AGENCY_WRITE',
|
|
769
|
+
'INVITATION_READ',
|
|
770
|
+
'INVITATION_WRITE',
|
|
771
|
+
'ROLE_READ',
|
|
772
|
+
'ROLE_WRITE',
|
|
773
|
+
'MEMBER_READ',
|
|
774
|
+
'MEMBER_WRITE',
|
|
775
|
+
'LEAD_READ',
|
|
776
|
+
'LEAD_WRITE',
|
|
777
|
+
'LEAD_READ_ALL',
|
|
778
|
+
'LEAD_WRITE_ALL',
|
|
779
|
+
'CLIENT_READ',
|
|
780
|
+
'CLIENT_WRITE',
|
|
781
|
+
'CLIENT_READ_ALL',
|
|
782
|
+
'CLIENT_WRITE_ALL',
|
|
783
|
+
'PROPERTY_READ_ALL',
|
|
784
|
+
])),
|
|
785
|
+
});
|
|
786
|
+
export const zPagedModelRoleResponse = z.object({
|
|
787
|
+
content: z.optional(z.array(zRoleResponse)),
|
|
788
|
+
page: z.optional(zPageMetadata),
|
|
789
|
+
});
|
|
790
|
+
export const zAddressResponse = z.object({
|
|
791
|
+
regionId: z.coerce
|
|
792
|
+
.bigint()
|
|
793
|
+
.min(BigInt('-9223372036854775808'), {
|
|
794
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
795
|
+
})
|
|
796
|
+
.max(BigInt('9223372036854775807'), {
|
|
797
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
798
|
+
}),
|
|
338
799
|
districtId: z.coerce
|
|
339
800
|
.bigint()
|
|
340
801
|
.min(BigInt('-9223372036854775808'), {
|
|
@@ -363,87 +824,67 @@ export const zAddressResponse = z.object({
|
|
|
363
824
|
lat: z.number(),
|
|
364
825
|
lng: z.number(),
|
|
365
826
|
});
|
|
366
|
-
export const
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
export const zAgencyStatsResponse = z.object({
|
|
372
|
-
membersCount: z
|
|
373
|
-
.int()
|
|
374
|
-
.min(-2147483648, {
|
|
375
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
376
|
-
})
|
|
377
|
-
.max(2147483647, {
|
|
378
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
379
|
-
}),
|
|
380
|
-
listingCount: z
|
|
381
|
-
.int()
|
|
382
|
-
.min(-2147483648, {
|
|
383
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
827
|
+
export const zRecommendationsCardView = z.object({
|
|
828
|
+
recommendationItemId: z.coerce
|
|
829
|
+
.bigint()
|
|
830
|
+
.min(BigInt('-9223372036854775808'), {
|
|
831
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
384
832
|
})
|
|
385
|
-
.max(
|
|
386
|
-
error: 'Invalid value: Expected
|
|
833
|
+
.max(BigInt('9223372036854775807'), {
|
|
834
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
387
835
|
}),
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
836
|
+
decision: z.optional(z.enum(['MAYBE', 'DISLIKE', 'LIKE', 'VISIT'])),
|
|
837
|
+
clientNote: z.optional(z.string()),
|
|
838
|
+
ownerClientId: z.coerce
|
|
839
|
+
.bigint()
|
|
840
|
+
.min(BigInt('-9223372036854775808'), {
|
|
841
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
392
842
|
})
|
|
393
|
-
.max(
|
|
394
|
-
error: 'Invalid value: Expected
|
|
843
|
+
.max(BigInt('9223372036854775807'), {
|
|
844
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
395
845
|
}),
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
lastName: z.string(),
|
|
401
|
-
phone: z.optional(z.string()),
|
|
402
|
-
email: z.string(),
|
|
403
|
-
profilePictureUrl: z.optional(z.string()),
|
|
404
|
-
});
|
|
405
|
-
export const zMemberViewResponse = z.object({
|
|
406
|
-
userId: z.string(),
|
|
407
|
-
firstName: z.string(),
|
|
408
|
-
lastName: z.string(),
|
|
409
|
-
profilePictureUrl: z.optional(z.string()),
|
|
410
|
-
phone: z.optional(z.string()),
|
|
411
|
-
email: z.string(),
|
|
412
|
-
roleId: z
|
|
413
|
-
.int()
|
|
414
|
-
.min(-2147483648, {
|
|
415
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
846
|
+
listingId: z.coerce
|
|
847
|
+
.bigint()
|
|
848
|
+
.min(BigInt('-9223372036854775808'), {
|
|
849
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
416
850
|
})
|
|
417
|
-
.max(
|
|
418
|
-
error: 'Invalid value: Expected
|
|
851
|
+
.max(BigInt('9223372036854775807'), {
|
|
852
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
419
853
|
}),
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
groupKey: z.optional(z.string()),
|
|
425
|
-
label: z.optional(z.string()),
|
|
426
|
-
count: z.optional(z.coerce
|
|
854
|
+
externalListingId: z.uuid(),
|
|
855
|
+
listingType: z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE']),
|
|
856
|
+
price: z.number(),
|
|
857
|
+
propertyId: z.coerce
|
|
427
858
|
.bigint()
|
|
428
859
|
.min(BigInt('-9223372036854775808'), {
|
|
429
860
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
430
861
|
})
|
|
431
862
|
.max(BigInt('9223372036854775807'), {
|
|
432
863
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
433
|
-
})
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
864
|
+
}),
|
|
865
|
+
externalPropertyId: z.uuid(),
|
|
866
|
+
type: z.enum([
|
|
867
|
+
'HOUSE',
|
|
868
|
+
'TOWN_HOUSE',
|
|
869
|
+
'COUNTRY_HOUSE',
|
|
870
|
+
'VILLA',
|
|
871
|
+
'COTTAGE',
|
|
872
|
+
'APARTMENT',
|
|
873
|
+
'DUPLEX',
|
|
874
|
+
'TRIPLEX',
|
|
875
|
+
'SEMI_BASEMENT',
|
|
876
|
+
'ATTIC',
|
|
877
|
+
'AGRICULTURAL_LAND',
|
|
878
|
+
'RESIDENTIAL_LAND',
|
|
879
|
+
'HOTEL_ROOM',
|
|
880
|
+
'MOTEL_ROOM',
|
|
881
|
+
'CO_LIVING_SPACE',
|
|
882
|
+
'OFFICE',
|
|
883
|
+
'COMMERCIAL_SPACE',
|
|
884
|
+
'CO_WORKING_SPACE',
|
|
885
|
+
'WAREHOUSE',
|
|
886
|
+
'GARAGE',
|
|
887
|
+
]),
|
|
447
888
|
coverPhoto: z.optional(z.string()),
|
|
448
889
|
photoCount: z.optional(z
|
|
449
890
|
.int()
|
|
@@ -458,32 +899,16 @@ export const zPropertyDetailsResponse = z.object({
|
|
|
458
899
|
balconyArea: z.optional(z.number()),
|
|
459
900
|
address: zAddressResponse,
|
|
460
901
|
});
|
|
461
|
-
export const
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
district: z.string(),
|
|
465
|
-
subdistrict: z.string(),
|
|
466
|
-
street: z.string(),
|
|
467
|
-
});
|
|
468
|
-
export const zAgencyProfileResponse = z.object({
|
|
469
|
-
name: z.string(),
|
|
470
|
-
email: z.string(),
|
|
471
|
-
seats: z
|
|
472
|
-
.int()
|
|
473
|
-
.min(-2147483648, {
|
|
474
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
475
|
-
})
|
|
476
|
-
.max(2147483647, {
|
|
477
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
478
|
-
}),
|
|
479
|
-
subdomain: z.string(),
|
|
480
|
-
phone: z.string(),
|
|
481
|
-
address: zAddressViewResponse,
|
|
902
|
+
export const zPagedModelRecommendationsCardView = z.object({
|
|
903
|
+
content: z.optional(z.array(zRecommendationsCardView)),
|
|
904
|
+
page: z.optional(zPageMetadata),
|
|
482
905
|
});
|
|
483
|
-
export const
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
906
|
+
export const zRecommendationResponse = z.object({
|
|
907
|
+
recommendationsId: z.uuid(),
|
|
908
|
+
title: z.string(),
|
|
909
|
+
createdAt: z.iso.datetime(),
|
|
910
|
+
status: z.enum(['DRAFT', 'AWAITING_CLIENT_REVIEW', 'CLOSED']),
|
|
911
|
+
recommendations: zPagedModelRecommendationsCardView,
|
|
487
912
|
});
|
|
488
913
|
export const zRecommendationDecisionResponse = z.object({
|
|
489
914
|
itemId: z.coerce
|
|
@@ -496,14 +921,64 @@ export const zRecommendationDecisionResponse = z.object({
|
|
|
496
921
|
}),
|
|
497
922
|
externalPropertyId: z.uuid(),
|
|
498
923
|
externalListingId: z.uuid(),
|
|
499
|
-
decision:
|
|
500
|
-
});
|
|
501
|
-
export const
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
924
|
+
decision: z.enum(['MAYBE', 'DISLIKE', 'LIKE', 'VISIT']),
|
|
925
|
+
});
|
|
926
|
+
export const zPermissionResponse = z.object({
|
|
927
|
+
permission: z.enum([
|
|
928
|
+
'AGENCY_WRITE',
|
|
929
|
+
'INVITATION_READ',
|
|
930
|
+
'INVITATION_WRITE',
|
|
931
|
+
'ROLE_READ',
|
|
932
|
+
'ROLE_WRITE',
|
|
933
|
+
'MEMBER_READ',
|
|
934
|
+
'MEMBER_WRITE',
|
|
935
|
+
'LEAD_READ',
|
|
936
|
+
'LEAD_WRITE',
|
|
937
|
+
'LEAD_READ_ALL',
|
|
938
|
+
'LEAD_WRITE_ALL',
|
|
939
|
+
'CLIENT_READ',
|
|
940
|
+
'CLIENT_WRITE',
|
|
941
|
+
'CLIENT_READ_ALL',
|
|
942
|
+
'CLIENT_WRITE_ALL',
|
|
943
|
+
'PROPERTY_READ_ALL',
|
|
944
|
+
]),
|
|
945
|
+
implied: z.array(z.enum([
|
|
946
|
+
'AGENCY_WRITE',
|
|
947
|
+
'INVITATION_READ',
|
|
948
|
+
'INVITATION_WRITE',
|
|
949
|
+
'ROLE_READ',
|
|
950
|
+
'ROLE_WRITE',
|
|
951
|
+
'MEMBER_READ',
|
|
952
|
+
'MEMBER_WRITE',
|
|
953
|
+
'LEAD_READ',
|
|
954
|
+
'LEAD_WRITE',
|
|
955
|
+
'LEAD_READ_ALL',
|
|
956
|
+
'LEAD_WRITE_ALL',
|
|
957
|
+
'CLIENT_READ',
|
|
958
|
+
'CLIENT_WRITE',
|
|
959
|
+
'CLIENT_READ_ALL',
|
|
960
|
+
'CLIENT_WRITE_ALL',
|
|
961
|
+
'PROPERTY_READ_ALL',
|
|
962
|
+
])),
|
|
963
|
+
});
|
|
964
|
+
export const zGroupedPermissionsResponse = z.object({
|
|
965
|
+
group: z.enum([
|
|
966
|
+
'AGENCY',
|
|
967
|
+
'INVITATION',
|
|
968
|
+
'ROLE',
|
|
969
|
+
'MEMBER',
|
|
970
|
+
'LEAD',
|
|
971
|
+
'CLIENT',
|
|
972
|
+
'PROPERTY',
|
|
973
|
+
]),
|
|
974
|
+
permissions: z.array(zPermissionResponse),
|
|
975
|
+
});
|
|
976
|
+
export const zInvitationDetailsResponse = z.object({
|
|
977
|
+
invitationId: z.uuid(),
|
|
978
|
+
agencyId: z.uuid(),
|
|
979
|
+
email: z.string(),
|
|
980
|
+
status: z.enum(['PENDING', 'ACCEPTED', 'CANCELLED', 'EXPIRED']),
|
|
981
|
+
});
|
|
507
982
|
export const zAgencySummaryResponse = z.object({
|
|
508
983
|
id: z.uuid(),
|
|
509
984
|
owner: z.string(),
|
|
@@ -527,7 +1002,7 @@ export const zAgencySummaryResponse = z.object({
|
|
|
527
1002
|
.max(2147483647, {
|
|
528
1003
|
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
529
1004
|
})),
|
|
530
|
-
status:
|
|
1005
|
+
status: z.enum(['NEW', 'ACTIVE', 'PAYMENT_FAILED', 'INACTIVE']),
|
|
531
1006
|
logo: z.optional(z.string()),
|
|
532
1007
|
theme: z.optional(z
|
|
533
1008
|
.int()
|
|
@@ -542,325 +1017,29 @@ export const zPagedModelAgencySummaryResponse = z.object({
|
|
|
542
1017
|
content: z.optional(z.array(zAgencySummaryResponse)),
|
|
543
1018
|
page: z.optional(zPageMetadata),
|
|
544
1019
|
});
|
|
545
|
-
export const
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
'ROLE_READ',
|
|
550
|
-
'ROLE_WRITE',
|
|
551
|
-
'MEMBER_READ',
|
|
552
|
-
'MEMBER_WRITE',
|
|
553
|
-
'LEAD_READ',
|
|
554
|
-
'LEAD_WRITE',
|
|
555
|
-
'LEAD_READ_ALL',
|
|
556
|
-
'LEAD_WRITE_ALL',
|
|
557
|
-
'CLIENT_READ',
|
|
558
|
-
'CLIENT_WRITE',
|
|
559
|
-
'CLIENT_READ_ALL',
|
|
560
|
-
'CLIENT_WRITE_ALL',
|
|
561
|
-
'PROPERTY_READ_ALL',
|
|
562
|
-
]);
|
|
563
|
-
export const zRolesRequest = z.object({
|
|
564
|
-
name: z.string().min(1),
|
|
565
|
-
description: z.string().min(1),
|
|
566
|
-
permissions: z.array(zSchemaEnum3),
|
|
567
|
-
});
|
|
568
|
-
export const zAgencyPrincipalDto = z.object({
|
|
569
|
-
memberId: z.optional(z.uuid()),
|
|
570
|
-
permissions: z.optional(z.array(zSchemaEnum3)),
|
|
571
|
-
isActive: z.optional(z.boolean()),
|
|
572
|
-
isOwner: z.optional(z.boolean()),
|
|
1020
|
+
export const zAgencyContactInfoResponse = z.object({
|
|
1021
|
+
phone: z.string(),
|
|
1022
|
+
email: z.string(),
|
|
1023
|
+
address: z.optional(z.string()),
|
|
573
1024
|
});
|
|
574
|
-
export const
|
|
575
|
-
|
|
576
|
-
isOwner: z.boolean(),
|
|
577
|
-
agencyName: z.string(),
|
|
578
|
-
subdomain: z.string(),
|
|
579
|
-
roleId: z.optional(z
|
|
1025
|
+
export const zAgencyStatsResponse = z.object({
|
|
1026
|
+
membersCount: z
|
|
580
1027
|
.int()
|
|
581
1028
|
.min(-2147483648, {
|
|
582
1029
|
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
583
1030
|
})
|
|
584
1031
|
.max(2147483647, {
|
|
585
1032
|
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
586
|
-
})),
|
|
587
|
-
memberId: z.uuid(),
|
|
588
|
-
roleName: z.string(),
|
|
589
|
-
permissions: z.array(zSchemaEnum3),
|
|
590
|
-
status: zSchemaEnum2,
|
|
591
|
-
});
|
|
592
|
-
export const zUserContextViewResponse = z.object({
|
|
593
|
-
user: zUserSummaryViewResponse,
|
|
594
|
-
organizations: z.array(zOrganizationSummaryViewResponse),
|
|
595
|
-
});
|
|
596
|
-
export const zRoleResponse = z.object({
|
|
597
|
-
id: z
|
|
598
|
-
.int()
|
|
599
|
-
.min(-2147483648, {
|
|
600
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
601
|
-
})
|
|
602
|
-
.max(2147483647, {
|
|
603
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
604
|
-
}),
|
|
605
|
-
name: z.string(),
|
|
606
|
-
isSystem: z.optional(z.boolean()),
|
|
607
|
-
isOwner: z.optional(z.boolean()),
|
|
608
|
-
description: z.string(),
|
|
609
|
-
permissions: z.array(zSchemaEnum3),
|
|
610
|
-
});
|
|
611
|
-
export const zPagedModelRoleResponse = z.object({
|
|
612
|
-
content: z.optional(z.array(zRoleResponse)),
|
|
613
|
-
page: z.optional(zPageMetadata),
|
|
614
|
-
});
|
|
615
|
-
export const zPermissionResponse = z.object({
|
|
616
|
-
permission: zSchemaEnum3,
|
|
617
|
-
implied: z.array(zSchemaEnum3),
|
|
618
|
-
});
|
|
619
|
-
export const zSchemaEnum4 = z.enum([
|
|
620
|
-
'IN_REGISTRATION',
|
|
621
|
-
'UNLISTED',
|
|
622
|
-
'LISTED_INTERNALLY',
|
|
623
|
-
'LISTED',
|
|
624
|
-
'CLOSED',
|
|
625
|
-
]);
|
|
626
|
-
export const zSchemaEnum5 = z.enum(['EXCLUSIVE', 'NON_EXCLUSIVE']);
|
|
627
|
-
export const zAgreementRequest = z.object({
|
|
628
|
-
type: zSchemaEnum5,
|
|
629
|
-
expiresAt: z.optional(z.iso.date()),
|
|
630
|
-
});
|
|
631
|
-
export const zAgreementResponse = z.object({
|
|
632
|
-
agreement: zSchemaEnum5,
|
|
633
|
-
expiryDate: z.optional(z.iso.date()),
|
|
634
|
-
});
|
|
635
|
-
export const zSchemaEnum6 = z.enum([
|
|
636
|
-
'HOUSE',
|
|
637
|
-
'TOWN_HOUSE',
|
|
638
|
-
'COUNTRY_HOUSE',
|
|
639
|
-
'VILLA',
|
|
640
|
-
'COTTAGE',
|
|
641
|
-
'APARTMENT',
|
|
642
|
-
'DUPLEX',
|
|
643
|
-
'TRIPLEX',
|
|
644
|
-
'SEMI_BASEMENT',
|
|
645
|
-
'ATTIC',
|
|
646
|
-
'AGRICULTURAL_LAND',
|
|
647
|
-
'RESIDENTIAL_LAND',
|
|
648
|
-
'HOTEL_ROOM',
|
|
649
|
-
'MOTEL_ROOM',
|
|
650
|
-
'CO_LIVING_SPACE',
|
|
651
|
-
'OFFICE',
|
|
652
|
-
'COMMERCIAL_SPACE',
|
|
653
|
-
'CO_WORKING_SPACE',
|
|
654
|
-
'WAREHOUSE',
|
|
655
|
-
'GARAGE',
|
|
656
|
-
]);
|
|
657
|
-
export const zPropertyCreationRequest = z.object({
|
|
658
|
-
draftId: z.uuid(),
|
|
659
|
-
clientId: z.optional(z.coerce
|
|
660
|
-
.bigint()
|
|
661
|
-
.min(BigInt('-9223372036854775808'), {
|
|
662
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
663
|
-
})
|
|
664
|
-
.max(BigInt('9223372036854775807'), {
|
|
665
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
666
|
-
})),
|
|
667
|
-
propertyType: zSchemaEnum6,
|
|
668
|
-
address: zAddressRef,
|
|
669
|
-
photoUrls: z.array(zPhotoInternalRequest).min(5).max(2147483647),
|
|
670
|
-
spaces: z.record(z.string(), z.array(z.number())),
|
|
671
|
-
totalArea: z.number(),
|
|
672
|
-
livingArea: z.optional(z.number()),
|
|
673
|
-
balconyArea: z.optional(z.number()),
|
|
674
|
-
amenities: z.array(z
|
|
675
|
-
.int()
|
|
676
|
-
.min(-2147483648, {
|
|
677
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
678
|
-
})
|
|
679
|
-
.max(2147483647, {
|
|
680
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
681
|
-
})),
|
|
682
|
-
title: z.string().min(1),
|
|
683
|
-
description: z.record(z.string(), z.string()),
|
|
684
|
-
});
|
|
685
|
-
export const zSchemaEnum7 = z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE']);
|
|
686
|
-
export const zCaptureInterestRequest = z.object({
|
|
687
|
-
propertyTypes: z.array(zSchemaEnum6).min(1),
|
|
688
|
-
listingType: zSchemaEnum7,
|
|
689
|
-
priceMin: z.optional(z.number()),
|
|
690
|
-
priceMax: z.optional(z.number()),
|
|
691
|
-
bedroomsMin: z.optional(z
|
|
692
|
-
.int()
|
|
693
|
-
.min(-2147483648, {
|
|
694
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
695
|
-
})
|
|
696
|
-
.max(2147483647, {
|
|
697
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
698
|
-
})),
|
|
699
|
-
bedroomsMax: z.optional(z
|
|
700
|
-
.int()
|
|
701
|
-
.min(-2147483648, {
|
|
702
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
703
|
-
})
|
|
704
|
-
.max(2147483647, {
|
|
705
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
706
|
-
})),
|
|
707
|
-
bathroomsMin: z.optional(z
|
|
708
|
-
.int()
|
|
709
|
-
.min(-2147483648, {
|
|
710
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
711
|
-
})
|
|
712
|
-
.max(2147483647, {
|
|
713
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
714
|
-
})),
|
|
715
|
-
bathroomsMax: z.optional(z
|
|
716
|
-
.int()
|
|
717
|
-
.min(-2147483648, {
|
|
718
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
719
|
-
})
|
|
720
|
-
.max(2147483647, {
|
|
721
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
722
|
-
})),
|
|
723
|
-
totalAreaMin: z.optional(z.number()),
|
|
724
|
-
totalAreaMax: z.optional(z.number()),
|
|
725
|
-
livingAreaMin: z.optional(z.number()),
|
|
726
|
-
livingAreaMax: z.optional(z.number()),
|
|
727
|
-
location: z.optional(zLocationRefRequest),
|
|
728
|
-
});
|
|
729
|
-
export const zRecommendationsCardView = z.object({
|
|
730
|
-
recommendationItemId: z.coerce
|
|
731
|
-
.bigint()
|
|
732
|
-
.min(BigInt('-9223372036854775808'), {
|
|
733
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
734
|
-
})
|
|
735
|
-
.max(BigInt('9223372036854775807'), {
|
|
736
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
737
|
-
}),
|
|
738
|
-
decision: z.optional(zSchemaEnum),
|
|
739
|
-
clientNote: z.optional(z.string()),
|
|
740
|
-
ownerClientId: z.coerce
|
|
741
|
-
.bigint()
|
|
742
|
-
.min(BigInt('-9223372036854775808'), {
|
|
743
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
744
|
-
})
|
|
745
|
-
.max(BigInt('9223372036854775807'), {
|
|
746
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
747
|
-
}),
|
|
748
|
-
listingId: z.coerce
|
|
749
|
-
.bigint()
|
|
750
|
-
.min(BigInt('-9223372036854775808'), {
|
|
751
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
752
|
-
})
|
|
753
|
-
.max(BigInt('9223372036854775807'), {
|
|
754
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
755
|
-
}),
|
|
756
|
-
externalListingId: z.uuid(),
|
|
757
|
-
listingType: zSchemaEnum7,
|
|
758
|
-
price: z.number(),
|
|
759
|
-
propertyId: z.coerce
|
|
760
|
-
.bigint()
|
|
761
|
-
.min(BigInt('-9223372036854775808'), {
|
|
762
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
763
|
-
})
|
|
764
|
-
.max(BigInt('9223372036854775807'), {
|
|
765
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
766
1033
|
}),
|
|
767
|
-
|
|
768
|
-
type: zSchemaEnum6,
|
|
769
|
-
coverPhoto: z.optional(z.string()),
|
|
770
|
-
photoCount: z.optional(z
|
|
771
|
-
.int()
|
|
772
|
-
.min(-2147483648, {
|
|
773
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
774
|
-
})
|
|
775
|
-
.max(2147483647, {
|
|
776
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
777
|
-
})),
|
|
778
|
-
totalArea: z.number(),
|
|
779
|
-
livingArea: z.optional(z.number()),
|
|
780
|
-
balconyArea: z.optional(z.number()),
|
|
781
|
-
address: zAddressResponse,
|
|
782
|
-
});
|
|
783
|
-
export const zPagedModelRecommendationsCardView = z.object({
|
|
784
|
-
content: z.optional(z.array(zRecommendationsCardView)),
|
|
785
|
-
page: z.optional(zPageMetadata),
|
|
786
|
-
});
|
|
787
|
-
export const zClientInterestResponse = z.object({
|
|
788
|
-
id: z.coerce
|
|
789
|
-
.bigint()
|
|
790
|
-
.min(BigInt('-9223372036854775808'), {
|
|
791
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
792
|
-
})
|
|
793
|
-
.max(BigInt('9223372036854775807'), {
|
|
794
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
795
|
-
}),
|
|
796
|
-
propertyTypes: z.array(zSchemaEnum6),
|
|
797
|
-
listingType: zSchemaEnum7,
|
|
798
|
-
priceMin: z.optional(z.number()),
|
|
799
|
-
priceMax: z.optional(z.number()),
|
|
800
|
-
bedroomsMin: z.optional(z
|
|
801
|
-
.int()
|
|
802
|
-
.min(-2147483648, {
|
|
803
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
804
|
-
})
|
|
805
|
-
.max(2147483647, {
|
|
806
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
807
|
-
})),
|
|
808
|
-
bedroomsMax: z.optional(z
|
|
809
|
-
.int()
|
|
810
|
-
.min(-2147483648, {
|
|
811
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
812
|
-
})
|
|
813
|
-
.max(2147483647, {
|
|
814
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
815
|
-
})),
|
|
816
|
-
bathroomsMin: z.optional(z
|
|
817
|
-
.int()
|
|
818
|
-
.min(-2147483648, {
|
|
819
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
820
|
-
})
|
|
821
|
-
.max(2147483647, {
|
|
822
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
823
|
-
})),
|
|
824
|
-
bathroomsMax: z.optional(z
|
|
1034
|
+
listingCount: z
|
|
825
1035
|
.int()
|
|
826
1036
|
.min(-2147483648, {
|
|
827
1037
|
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
828
1038
|
})
|
|
829
1039
|
.max(2147483647, {
|
|
830
1040
|
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
831
|
-
})),
|
|
832
|
-
totalAreaMin: z.optional(z.number()),
|
|
833
|
-
totalAreaMax: z.optional(z.number()),
|
|
834
|
-
livingAreaMin: z.optional(z.number()),
|
|
835
|
-
livingAreaMax: z.optional(z.number()),
|
|
836
|
-
location: z.optional(zLocationRefRequest),
|
|
837
|
-
active: z.boolean(),
|
|
838
|
-
});
|
|
839
|
-
export const zSchemaEnum8 = z.enum(['SS', 'MY_HOME']);
|
|
840
|
-
export const zExternalListingPublishRequest = z.object({
|
|
841
|
-
platform: zSchemaEnum8,
|
|
842
|
-
listingId: z.coerce
|
|
843
|
-
.bigint()
|
|
844
|
-
.min(BigInt('-9223372036854775808'), {
|
|
845
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
846
|
-
})
|
|
847
|
-
.max(BigInt('9223372036854775807'), {
|
|
848
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
849
1041
|
}),
|
|
850
|
-
|
|
851
|
-
export const zSchemaEnum9 = z.enum(['VIP', 'VIP_PLUS', 'SUPER_VIP']);
|
|
852
|
-
export const zExternalListingBoostRequest = z.object({
|
|
853
|
-
platform: zSchemaEnum8,
|
|
854
|
-
listingId: z.coerce
|
|
855
|
-
.bigint()
|
|
856
|
-
.min(BigInt('-9223372036854775808'), {
|
|
857
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
858
|
-
})
|
|
859
|
-
.max(BigInt('9223372036854775807'), {
|
|
860
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
861
|
-
}),
|
|
862
|
-
tier: zSchemaEnum9,
|
|
863
|
-
numberOfDays: z
|
|
1042
|
+
operatingSince: z
|
|
864
1043
|
.int()
|
|
865
1044
|
.min(-2147483648, {
|
|
866
1045
|
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
@@ -869,97 +1048,18 @@ export const zExternalListingBoostRequest = z.object({
|
|
|
869
1048
|
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
870
1049
|
}),
|
|
871
1050
|
});
|
|
872
|
-
export const zPlatformView = z.object({
|
|
873
|
-
platform: z.optional(zSchemaEnum8),
|
|
874
|
-
expiresAt: z.optional(z.iso.date()),
|
|
875
|
-
tier: z.optional(zSchemaEnum9),
|
|
876
|
-
boostExpiresAt: z.optional(z.iso.date()),
|
|
877
|
-
});
|
|
878
|
-
export const zActiveBoostResponse = z.object({
|
|
879
|
-
tier: zSchemaEnum9,
|
|
880
|
-
activatedAt: z.iso.date(),
|
|
881
|
-
expiresAt: z.iso.date(),
|
|
882
|
-
});
|
|
883
|
-
export const zPlatformListingResponse = z.object({
|
|
884
|
-
platformId: z.coerce
|
|
885
|
-
.bigint()
|
|
886
|
-
.min(BigInt('-9223372036854775808'), {
|
|
887
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
888
|
-
})
|
|
889
|
-
.max(BigInt('9223372036854775807'), {
|
|
890
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
891
|
-
}),
|
|
892
|
-
platformType: zSchemaEnum8,
|
|
893
|
-
uploadDate: z.iso.date(),
|
|
894
|
-
expiryDate: z.iso.date(),
|
|
895
|
-
renewedDate: z.optional(z.iso.date()),
|
|
896
|
-
boost: z.optional(zActiveBoostResponse),
|
|
897
|
-
coloredListing: z.optional(zColoredListingResponse),
|
|
898
|
-
});
|
|
899
|
-
export const zSchemaEnum10 = z.enum([
|
|
900
|
-
'STATE',
|
|
901
|
-
'PROPERTY_TYPE',
|
|
902
|
-
'LISTING_TYPE',
|
|
903
|
-
'REGION',
|
|
904
|
-
'PLATFORM',
|
|
905
|
-
'BOOST_TIER',
|
|
906
|
-
'CREATED_AT_DAY',
|
|
907
|
-
'CREATED_AT_WEEK',
|
|
908
|
-
'CREATED_AT_MONTH',
|
|
909
|
-
]);
|
|
910
|
-
export const zSchemaEnum11 = z.enum(['NEW', 'ON_HOLD', 'LOST', 'CONVERTED']);
|
|
911
|
-
export const zSchemaEnum12 = z.enum(['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN']);
|
|
912
|
-
export const zSourceResponse = z.object({
|
|
913
|
-
sourceType: zSchemaEnum12,
|
|
914
|
-
sourceLink: z.optional(z.string()),
|
|
915
|
-
});
|
|
916
|
-
export const zSchemaEnum13 = z.enum([
|
|
917
|
-
'ASSIGNED_TO',
|
|
918
|
-
'STATUS',
|
|
919
|
-
'SOURCE_TYPE',
|
|
920
|
-
'CREATED_AT_DAY',
|
|
921
|
-
'CREATED_AT_WEEK',
|
|
922
|
-
'CREATED_AT_MONTH',
|
|
923
|
-
]);
|
|
924
|
-
export const zTypeEnum = z.enum([
|
|
925
|
-
'FACEBOOK',
|
|
926
|
-
'YOUTUBE',
|
|
927
|
-
'INSTAGRAM',
|
|
928
|
-
'TIKTOK',
|
|
929
|
-
'LINKEDIN',
|
|
930
|
-
]);
|
|
931
|
-
export const zSocialMediaRequest = z.object({
|
|
932
|
-
type: zTypeEnum,
|
|
933
|
-
url: z.optional(z.string()),
|
|
934
|
-
});
|
|
935
|
-
export const zSocialMediasRequest = z.object({
|
|
936
|
-
data: z.array(zSocialMediaRequest).min(1).max(6),
|
|
937
|
-
});
|
|
938
|
-
export const zSocialLinkResponse = z.object({
|
|
939
|
-
url: z.string(),
|
|
940
|
-
type: zTypeEnum,
|
|
941
|
-
});
|
|
942
|
-
export const zLanguageEnum = z.enum(['ka', 'en', 'ru']);
|
|
943
|
-
export const zTextRequest = z.object({
|
|
944
|
-
language: zLanguageEnum,
|
|
945
|
-
text: z.optional(z.string()),
|
|
946
|
-
});
|
|
947
|
-
export const zMultiLangTextRequest = z.object({
|
|
948
|
-
data: z.array(zTextRequest).min(1).max(3),
|
|
949
|
-
});
|
|
950
|
-
export const zWhitelabelSectionRequest = z.object({
|
|
951
|
-
title: zMultiLangTextRequest,
|
|
952
|
-
body: zMultiLangTextRequest,
|
|
953
|
-
});
|
|
954
|
-
export const zWhitelabelReviewRequest = z.object({
|
|
955
|
-
quote: zMultiLangTextRequest,
|
|
956
|
-
name: zMultiLangTextRequest,
|
|
957
|
-
status: zMultiLangTextRequest,
|
|
958
|
-
});
|
|
959
1051
|
export const zLangTextResponse = z.object({
|
|
960
|
-
language:
|
|
1052
|
+
language: z.enum(['ka', 'en', 'ru']),
|
|
961
1053
|
text: z.string(),
|
|
962
1054
|
});
|
|
1055
|
+
export const zMemberResponse = z.object({
|
|
1056
|
+
memberId: z.uuid(),
|
|
1057
|
+
firstName: z.string(),
|
|
1058
|
+
lastName: z.string(),
|
|
1059
|
+
phone: z.optional(z.string()),
|
|
1060
|
+
email: z.string(),
|
|
1061
|
+
profilePictureUrl: z.optional(z.string()),
|
|
1062
|
+
});
|
|
963
1063
|
export const zReviewResponse = z.object({
|
|
964
1064
|
quote: z.optional(z.array(zLangTextResponse)),
|
|
965
1065
|
name: z.optional(z.array(zLangTextResponse)),
|
|
@@ -969,6 +1069,10 @@ export const zSegmentResponse = z.object({
|
|
|
969
1069
|
title: z.optional(z.array(zLangTextResponse)),
|
|
970
1070
|
body: z.optional(z.array(zLangTextResponse)),
|
|
971
1071
|
});
|
|
1072
|
+
export const zSocialLinkResponse = z.object({
|
|
1073
|
+
url: z.string(),
|
|
1074
|
+
type: z.enum(['FACEBOOK', 'YOUTUBE', 'INSTAGRAM', 'TIKTOK', 'LINKEDIN']),
|
|
1075
|
+
});
|
|
972
1076
|
export const zWhitelabelResponse = z.object({
|
|
973
1077
|
theme: z
|
|
974
1078
|
.int()
|
|
@@ -992,52 +1096,34 @@ export const zWhitelabelResponse = z.object({
|
|
|
992
1096
|
socialLinks: z.optional(z.array(zSocialLinkResponse)),
|
|
993
1097
|
website: z.optional(z.string()),
|
|
994
1098
|
});
|
|
995
|
-
export const
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
'SPAM',
|
|
1004
|
-
'OTHER',
|
|
1005
|
-
]);
|
|
1006
|
-
export const zRecordLostLeadRequest = z.object({
|
|
1007
|
-
reason: zReasonEnum,
|
|
1008
|
-
});
|
|
1009
|
-
export const zClientTypeEnum = z.enum(['LISTING', 'SEEKING']);
|
|
1010
|
-
export const zIntentRequest = z.object({
|
|
1011
|
-
clientType: zClientTypeEnum,
|
|
1012
|
-
listingType: zSchemaEnum7,
|
|
1013
|
-
propertyType: zSchemaEnum6,
|
|
1014
|
-
price: z.optional(zPriceRangeRequest),
|
|
1015
|
-
targetLocation: z.optional(zLocationRefRequest),
|
|
1016
|
-
area: z.optional(z.number()),
|
|
1017
|
-
numberOfRooms: z.optional(z
|
|
1099
|
+
export const zMemberViewResponse = z.object({
|
|
1100
|
+
userId: z.string(),
|
|
1101
|
+
firstName: z.string(),
|
|
1102
|
+
lastName: z.string(),
|
|
1103
|
+
profilePictureUrl: z.optional(z.string()),
|
|
1104
|
+
phone: z.optional(z.string()),
|
|
1105
|
+
email: z.string(),
|
|
1106
|
+
roleId: z
|
|
1018
1107
|
.int()
|
|
1019
1108
|
.min(-2147483648, {
|
|
1020
1109
|
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1021
1110
|
})
|
|
1022
1111
|
.max(2147483647, {
|
|
1023
1112
|
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1024
|
-
})),
|
|
1025
|
-
});
|
|
1026
|
-
export const zIntentResponse = z.object({
|
|
1027
|
-
id: z.coerce
|
|
1028
|
-
.bigint()
|
|
1029
|
-
.min(BigInt('-9223372036854775808'), {
|
|
1030
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1031
|
-
})
|
|
1032
|
-
.max(BigInt('9223372036854775807'), {
|
|
1033
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1034
1113
|
}),
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1114
|
+
roleName: z.string(),
|
|
1115
|
+
joinedAt: z.iso.datetime(),
|
|
1116
|
+
});
|
|
1117
|
+
export const zPlatformView = z.object({
|
|
1118
|
+
platform: z.optional(z.enum(['SS', 'MY_HOME'])),
|
|
1119
|
+
expiresAt: z.optional(z.iso.date()),
|
|
1120
|
+
tier: z.optional(z.enum(['VIP', 'VIP_PLUS', 'SUPER_VIP'])),
|
|
1121
|
+
boostExpiresAt: z.optional(z.iso.date()),
|
|
1122
|
+
});
|
|
1123
|
+
export const zListingGridView = z.object({
|
|
1124
|
+
externalPropertyId: z.optional(z.uuid()),
|
|
1125
|
+
externalListingId: z.optional(z.uuid()),
|
|
1126
|
+
propertyId: z.optional(z.coerce
|
|
1041
1127
|
.bigint()
|
|
1042
1128
|
.min(BigInt('-9223372036854775808'), {
|
|
1043
1129
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1045,7 +1131,7 @@ export const zIntentResponse = z.object({
|
|
|
1045
1131
|
.max(BigInt('9223372036854775807'), {
|
|
1046
1132
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1047
1133
|
})),
|
|
1048
|
-
|
|
1134
|
+
listingId: z.optional(z.coerce
|
|
1049
1135
|
.bigint()
|
|
1050
1136
|
.min(BigInt('-9223372036854775808'), {
|
|
1051
1137
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1053,7 +1139,7 @@ export const zIntentResponse = z.object({
|
|
|
1053
1139
|
.max(BigInt('9223372036854775807'), {
|
|
1054
1140
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1055
1141
|
})),
|
|
1056
|
-
|
|
1142
|
+
clientId: z.optional(z.coerce
|
|
1057
1143
|
.bigint()
|
|
1058
1144
|
.min(BigInt('-9223372036854775808'), {
|
|
1059
1145
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1061,7 +1147,30 @@ export const zIntentResponse = z.object({
|
|
|
1061
1147
|
.max(BigInt('9223372036854775807'), {
|
|
1062
1148
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1063
1149
|
})),
|
|
1064
|
-
|
|
1150
|
+
propertyType: z.optional(z.enum([
|
|
1151
|
+
'HOUSE',
|
|
1152
|
+
'TOWN_HOUSE',
|
|
1153
|
+
'COUNTRY_HOUSE',
|
|
1154
|
+
'VILLA',
|
|
1155
|
+
'COTTAGE',
|
|
1156
|
+
'APARTMENT',
|
|
1157
|
+
'DUPLEX',
|
|
1158
|
+
'TRIPLEX',
|
|
1159
|
+
'SEMI_BASEMENT',
|
|
1160
|
+
'ATTIC',
|
|
1161
|
+
'AGRICULTURAL_LAND',
|
|
1162
|
+
'RESIDENTIAL_LAND',
|
|
1163
|
+
'HOTEL_ROOM',
|
|
1164
|
+
'MOTEL_ROOM',
|
|
1165
|
+
'CO_LIVING_SPACE',
|
|
1166
|
+
'OFFICE',
|
|
1167
|
+
'COMMERCIAL_SPACE',
|
|
1168
|
+
'CO_WORKING_SPACE',
|
|
1169
|
+
'WAREHOUSE',
|
|
1170
|
+
'GARAGE',
|
|
1171
|
+
])),
|
|
1172
|
+
title: z.optional(z.string()),
|
|
1173
|
+
regionId: z.optional(z.coerce
|
|
1065
1174
|
.bigint()
|
|
1066
1175
|
.min(BigInt('-9223372036854775808'), {
|
|
1067
1176
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1069,104 +1178,7 @@ export const zIntentResponse = z.object({
|
|
|
1069
1178
|
.max(BigInt('9223372036854775807'), {
|
|
1070
1179
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1071
1180
|
})),
|
|
1072
|
-
|
|
1073
|
-
numberOfRooms: z.optional(z
|
|
1074
|
-
.int()
|
|
1075
|
-
.min(-2147483648, {
|
|
1076
|
-
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1077
|
-
})
|
|
1078
|
-
.max(2147483647, {
|
|
1079
|
-
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1080
|
-
})),
|
|
1081
|
-
});
|
|
1082
|
-
export const zGenderEnum = z.enum(['MALE', 'FEMALE', 'UNKNOWN']);
|
|
1083
|
-
export const zContactInfoRequest = z.object({
|
|
1084
|
-
firstName: z.optional(z.string().min(1).max(20)),
|
|
1085
|
-
lastName: z.optional(z.string().min(1).max(20)),
|
|
1086
|
-
gender: z.optional(zGenderEnum),
|
|
1087
|
-
email: z.optional(z.email()),
|
|
1088
|
-
phone: z.string().min(1).max(20),
|
|
1089
|
-
});
|
|
1090
|
-
export const zCaptureLeadRequest = z.object({
|
|
1091
|
-
contactInfo: zContactInfoRequest,
|
|
1092
|
-
note: z.optional(z.string().min(0).max(500)),
|
|
1093
|
-
});
|
|
1094
|
-
export const zContactSummary = z.object({
|
|
1095
|
-
firstName: z.optional(z.string()),
|
|
1096
|
-
lastName: z.optional(z.string()),
|
|
1097
|
-
gender: z.optional(zGenderEnum),
|
|
1098
|
-
email: z.optional(z.string()),
|
|
1099
|
-
phone: z.optional(z.string()),
|
|
1100
|
-
});
|
|
1101
|
-
export const zImportedPropertyDraft = z.object({
|
|
1102
|
-
contact: z.optional(zContactSummary),
|
|
1103
|
-
listingType: z.optional(zSchemaEnum7),
|
|
1104
|
-
askingPrice: z.optional(z.number()),
|
|
1105
|
-
propertyCreationRequest: z.optional(zPropertyCreationRequest),
|
|
1106
|
-
photosForUpload: z.optional(z.array(zPresignedResult)),
|
|
1107
|
-
});
|
|
1108
|
-
export const zClientOnboardedResponse = z.object({
|
|
1109
|
-
clientId: z.coerce
|
|
1110
|
-
.bigint()
|
|
1111
|
-
.min(BigInt('-9223372036854775808'), {
|
|
1112
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1113
|
-
})
|
|
1114
|
-
.max(BigInt('9223372036854775807'), {
|
|
1115
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1116
|
-
}),
|
|
1117
|
-
importedProperty: z.optional(zImportedPropertyDraft),
|
|
1118
|
-
});
|
|
1119
|
-
export const zLeadGridResponse = z.object({
|
|
1120
|
-
id: z.coerce
|
|
1121
|
-
.bigint()
|
|
1122
|
-
.min(BigInt('-9223372036854775808'), {
|
|
1123
|
-
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1124
|
-
})
|
|
1125
|
-
.max(BigInt('9223372036854775807'), {
|
|
1126
|
-
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1127
|
-
}),
|
|
1128
|
-
createdBy: z.optional(z.uuid()),
|
|
1129
|
-
assignedTo: z.optional(z.uuid()),
|
|
1130
|
-
assignedToName: z.optional(z.string()),
|
|
1131
|
-
assignedToPhoto: z.optional(z.string()),
|
|
1132
|
-
status: zSchemaEnum11,
|
|
1133
|
-
contactFullName: z.optional(z.string()),
|
|
1134
|
-
contactGender: z.optional(zGenderEnum),
|
|
1135
|
-
contactPhoneNumber: z.string(),
|
|
1136
|
-
contactEmail: z.optional(z.string()),
|
|
1137
|
-
note: z.optional(z.string()),
|
|
1138
|
-
sourceType: z.optional(zSchemaEnum12),
|
|
1139
|
-
sourceLink: z.optional(z.string()),
|
|
1140
|
-
isSearching: z.boolean(),
|
|
1141
|
-
isListing: z.boolean(),
|
|
1142
|
-
intents: z.optional(z.array(zIntentResponse)),
|
|
1143
|
-
});
|
|
1144
|
-
export const zPagedModelLeadGridResponse = z.object({
|
|
1145
|
-
content: z.optional(z.array(zLeadGridResponse)),
|
|
1146
|
-
page: z.optional(zPageMetadata),
|
|
1147
|
-
});
|
|
1148
|
-
export const zContactInfoResponse = z.object({
|
|
1149
|
-
firstName: z.optional(z.string()),
|
|
1150
|
-
lastName: z.optional(z.string()),
|
|
1151
|
-
gender: zGenderEnum,
|
|
1152
|
-
phoneNumber: z.string(),
|
|
1153
|
-
email: z.optional(z.string()),
|
|
1154
|
-
});
|
|
1155
|
-
export const zPriorityEnum = z.enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW']);
|
|
1156
|
-
export const zReprioritizeClientRequest = z.object({
|
|
1157
|
-
priority: z.optional(zPriorityEnum),
|
|
1158
|
-
});
|
|
1159
|
-
export const zItemsEnum = z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL']);
|
|
1160
|
-
export const zUpdateContactPreferencesRequest = z.object({
|
|
1161
|
-
contactMethods: z.array(zItemsEnum),
|
|
1162
|
-
favoriteContactMethod: z.optional(zItemsEnum),
|
|
1163
|
-
});
|
|
1164
|
-
export const zOnboardClientRequest = z.object({
|
|
1165
|
-
contactInfo: zContactInfoRequest,
|
|
1166
|
-
contactMethods: z.array(zItemsEnum),
|
|
1167
|
-
favoriteContactMethod: z.optional(zItemsEnum),
|
|
1168
|
-
priority: z.optional(zPriorityEnum),
|
|
1169
|
-
convertedFromLeadId: z.optional(z.coerce
|
|
1181
|
+
districtId: z.optional(z.coerce
|
|
1170
1182
|
.bigint()
|
|
1171
1183
|
.min(BigInt('-9223372036854775808'), {
|
|
1172
1184
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1174,18 +1186,15 @@ export const zOnboardClientRequest = z.object({
|
|
|
1174
1186
|
.max(BigInt('9223372036854775807'), {
|
|
1175
1187
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1176
1188
|
})),
|
|
1177
|
-
|
|
1178
|
-
export const zClientGridResponse = z.object({
|
|
1179
|
-
id: z.coerce
|
|
1189
|
+
subdistrictId: z.optional(z.coerce
|
|
1180
1190
|
.bigint()
|
|
1181
1191
|
.min(BigInt('-9223372036854775808'), {
|
|
1182
1192
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1183
1193
|
})
|
|
1184
1194
|
.max(BigInt('9223372036854775807'), {
|
|
1185
1195
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1186
|
-
}),
|
|
1187
|
-
|
|
1188
|
-
leadId: z.optional(z.coerce
|
|
1196
|
+
})),
|
|
1197
|
+
streetId: z.optional(z.coerce
|
|
1189
1198
|
.bigint()
|
|
1190
1199
|
.min(BigInt('-9223372036854775808'), {
|
|
1191
1200
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1193,41 +1202,31 @@ export const zClientGridResponse = z.object({
|
|
|
1193
1202
|
.max(BigInt('9223372036854775807'), {
|
|
1194
1203
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1195
1204
|
})),
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1205
|
+
cover: z.optional(z.string()),
|
|
1206
|
+
agreementType: z.optional(z.enum(['EXCLUSIVE', 'NON_EXCLUSIVE'])),
|
|
1207
|
+
agreementExpiresAt: z.optional(z.iso.date()),
|
|
1208
|
+
propertyState: z.optional(z.enum([
|
|
1209
|
+
'IN_REGISTRATION',
|
|
1210
|
+
'UNLISTED',
|
|
1211
|
+
'LISTED_INTERNALLY',
|
|
1212
|
+
'LISTED',
|
|
1213
|
+
'CLOSED',
|
|
1214
|
+
])),
|
|
1215
|
+
createdAt: z.optional(z.iso.datetime()),
|
|
1216
|
+
listingType: z.optional(z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'])),
|
|
1217
|
+
price: z.optional(z.number()),
|
|
1218
|
+
commissionType: z.optional(z.enum(['FIXED_SALE', 'FIXED_RENT', 'PERCENTAGE', 'MONTHS_OF_RENT'])),
|
|
1219
|
+
commission: z.optional(z.number()),
|
|
1220
|
+
platforms: z.optional(z.array(zPlatformView)),
|
|
1210
1221
|
});
|
|
1211
|
-
export const
|
|
1212
|
-
content: z.optional(z.array(
|
|
1222
|
+
export const zPagedModelListingGridView = z.object({
|
|
1223
|
+
content: z.optional(z.array(zListingGridView)),
|
|
1213
1224
|
page: z.optional(zPageMetadata),
|
|
1214
1225
|
});
|
|
1215
|
-
export const
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
export const zTypeEnum2 = z.enum(['JPEG', 'JPG', 'PNG', 'WEBP']);
|
|
1220
|
-
export const zPhotoRequest = z.object({
|
|
1221
|
-
photo: z.string().min(0).max(255),
|
|
1222
|
-
type: zTypeEnum2,
|
|
1223
|
-
width: z.int().gte(10).lte(11000),
|
|
1224
|
-
height: z.optional(z.int().gte(10).lte(11000)),
|
|
1225
|
-
});
|
|
1226
|
-
export const zRoleEnum = z.enum(['ORGANIZER', 'AGENT', 'OWNER', 'CLIENT']);
|
|
1227
|
-
export const zAttendeeRequest = z.object({
|
|
1228
|
-
role: zRoleEnum,
|
|
1229
|
-
memberId: z.optional(z.uuid()),
|
|
1230
|
-
clientId: z.optional(z.coerce
|
|
1226
|
+
export const zGroupCount = z.object({
|
|
1227
|
+
groupKey: z.optional(z.string()),
|
|
1228
|
+
label: z.optional(z.string()),
|
|
1229
|
+
count: z.optional(z.coerce
|
|
1231
1230
|
.bigint()
|
|
1232
1231
|
.min(BigInt('-9223372036854775808'), {
|
|
1233
1232
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1235,56 +1234,51 @@ export const zAttendeeRequest = z.object({
|
|
|
1235
1234
|
.max(BigInt('9223372036854775807'), {
|
|
1236
1235
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1237
1236
|
})),
|
|
1238
|
-
email: z.optional(z.email()),
|
|
1239
|
-
name: z.optional(z.string()),
|
|
1240
1237
|
});
|
|
1241
|
-
export const
|
|
1242
|
-
|
|
1243
|
-
'AGENT_ONLY',
|
|
1244
|
-
'ALL_PARTICIPANTS',
|
|
1245
|
-
]);
|
|
1246
|
-
export const zCreateMeetingRequest = z.object({
|
|
1247
|
-
propertyId: z.optional(z.coerce
|
|
1238
|
+
export const zIntentResponse = z.object({
|
|
1239
|
+
id: z.coerce
|
|
1248
1240
|
.bigint()
|
|
1249
1241
|
.min(BigInt('-9223372036854775808'), {
|
|
1250
1242
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1251
1243
|
})
|
|
1252
1244
|
.max(BigInt('9223372036854775807'), {
|
|
1253
1245
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1254
|
-
})
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1246
|
+
}),
|
|
1247
|
+
clientType: z.enum(['LISTING', 'SEEKING']),
|
|
1248
|
+
listingType: z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE']),
|
|
1249
|
+
propertyType: z.enum([
|
|
1250
|
+
'HOUSE',
|
|
1251
|
+
'TOWN_HOUSE',
|
|
1252
|
+
'COUNTRY_HOUSE',
|
|
1253
|
+
'VILLA',
|
|
1254
|
+
'COTTAGE',
|
|
1255
|
+
'APARTMENT',
|
|
1256
|
+
'DUPLEX',
|
|
1257
|
+
'TRIPLEX',
|
|
1258
|
+
'SEMI_BASEMENT',
|
|
1259
|
+
'ATTIC',
|
|
1260
|
+
'AGRICULTURAL_LAND',
|
|
1261
|
+
'RESIDENTIAL_LAND',
|
|
1262
|
+
'HOTEL_ROOM',
|
|
1263
|
+
'MOTEL_ROOM',
|
|
1264
|
+
'CO_LIVING_SPACE',
|
|
1265
|
+
'OFFICE',
|
|
1266
|
+
'COMMERCIAL_SPACE',
|
|
1267
|
+
'CO_WORKING_SPACE',
|
|
1268
|
+
'WAREHOUSE',
|
|
1269
|
+
'GARAGE',
|
|
1270
|
+
]),
|
|
1271
|
+
priceMin: z.optional(z.number()),
|
|
1272
|
+
priceMax: z.optional(z.number()),
|
|
1273
|
+
regionId: z.optional(z.coerce
|
|
1272
1274
|
.bigint()
|
|
1273
1275
|
.min(BigInt('-9223372036854775808'), {
|
|
1274
1276
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1275
1277
|
})
|
|
1276
1278
|
.max(BigInt('9223372036854775807'), {
|
|
1277
1279
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1278
|
-
}),
|
|
1279
|
-
|
|
1280
|
-
rate: z.optional(z.number()),
|
|
1281
|
-
amount: z.optional(z.number()),
|
|
1282
|
-
factor: z.optional(z.number()),
|
|
1283
|
-
});
|
|
1284
|
-
export const zListingGridView = z.object({
|
|
1285
|
-
externalPropertyId: z.optional(z.uuid()),
|
|
1286
|
-
externalListingId: z.optional(z.uuid()),
|
|
1287
|
-
propertyId: z.optional(z.coerce
|
|
1280
|
+
})),
|
|
1281
|
+
districtId: z.optional(z.coerce
|
|
1288
1282
|
.bigint()
|
|
1289
1283
|
.min(BigInt('-9223372036854775808'), {
|
|
1290
1284
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1292,7 +1286,7 @@ export const zListingGridView = z.object({
|
|
|
1292
1286
|
.max(BigInt('9223372036854775807'), {
|
|
1293
1287
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1294
1288
|
})),
|
|
1295
|
-
|
|
1289
|
+
subDistrictId: z.optional(z.coerce
|
|
1296
1290
|
.bigint()
|
|
1297
1291
|
.min(BigInt('-9223372036854775808'), {
|
|
1298
1292
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1300,7 +1294,7 @@ export const zListingGridView = z.object({
|
|
|
1300
1294
|
.max(BigInt('9223372036854775807'), {
|
|
1301
1295
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1302
1296
|
})),
|
|
1303
|
-
|
|
1297
|
+
streetId: z.optional(z.coerce
|
|
1304
1298
|
.bigint()
|
|
1305
1299
|
.min(BigInt('-9223372036854775808'), {
|
|
1306
1300
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1308,24 +1302,69 @@ export const zListingGridView = z.object({
|
|
|
1308
1302
|
.max(BigInt('9223372036854775807'), {
|
|
1309
1303
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1310
1304
|
})),
|
|
1311
|
-
|
|
1312
|
-
|
|
1305
|
+
area: z.optional(z.number()),
|
|
1306
|
+
numberOfRooms: z.optional(z
|
|
1307
|
+
.int()
|
|
1308
|
+
.min(-2147483648, {
|
|
1309
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1310
|
+
})
|
|
1311
|
+
.max(2147483647, {
|
|
1312
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1313
|
+
})),
|
|
1314
|
+
});
|
|
1315
|
+
export const zLeadGridResponse = z.object({
|
|
1316
|
+
id: z.coerce
|
|
1313
1317
|
.bigint()
|
|
1314
1318
|
.min(BigInt('-9223372036854775808'), {
|
|
1315
1319
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1316
1320
|
})
|
|
1317
1321
|
.max(BigInt('9223372036854775807'), {
|
|
1318
1322
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1319
|
-
})
|
|
1320
|
-
|
|
1323
|
+
}),
|
|
1324
|
+
createdBy: z.optional(z.uuid()),
|
|
1325
|
+
assignedTo: z.optional(z.uuid()),
|
|
1326
|
+
assignedToName: z.optional(z.string()),
|
|
1327
|
+
assignedToPhoto: z.optional(z.string()),
|
|
1328
|
+
status: z.enum(['NEW', 'ON_HOLD', 'LOST', 'CONVERTED']),
|
|
1329
|
+
contactFullName: z.optional(z.string()),
|
|
1330
|
+
contactGender: z.optional(z.enum(['MALE', 'FEMALE', 'UNKNOWN'])),
|
|
1331
|
+
contactPhoneNumber: z.string(),
|
|
1332
|
+
contactEmail: z.optional(z.string()),
|
|
1333
|
+
note: z.optional(z.string()),
|
|
1334
|
+
sourceType: z.optional(z.enum(['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN'])),
|
|
1335
|
+
sourceLink: z.optional(z.string()),
|
|
1336
|
+
isSearching: z.boolean(),
|
|
1337
|
+
isListing: z.boolean(),
|
|
1338
|
+
intents: z.optional(z.array(zIntentResponse)),
|
|
1339
|
+
});
|
|
1340
|
+
export const zPagedModelLeadGridResponse = z.object({
|
|
1341
|
+
content: z.optional(z.array(zLeadGridResponse)),
|
|
1342
|
+
page: z.optional(zPageMetadata),
|
|
1343
|
+
});
|
|
1344
|
+
export const zInvitationViewResponse = z.object({
|
|
1345
|
+
invitationId: z.uuid(),
|
|
1346
|
+
email: z.string(),
|
|
1347
|
+
status: z.enum(['PENDING', 'ACCEPTED', 'CANCELLED', 'EXPIRED']),
|
|
1348
|
+
createdAt: z.iso.datetime(),
|
|
1349
|
+
expiresAt: z.iso.datetime(),
|
|
1350
|
+
acceptedAt: z.optional(z.iso.datetime()),
|
|
1351
|
+
acceptedBy: z.optional(z.string()),
|
|
1352
|
+
});
|
|
1353
|
+
export const zPagedModelInvitationViewResponse = z.object({
|
|
1354
|
+
content: z.optional(z.array(zInvitationViewResponse)),
|
|
1355
|
+
page: z.optional(zPageMetadata),
|
|
1356
|
+
});
|
|
1357
|
+
export const zClientGridResponse = z.object({
|
|
1358
|
+
id: z.coerce
|
|
1321
1359
|
.bigint()
|
|
1322
1360
|
.min(BigInt('-9223372036854775808'), {
|
|
1323
1361
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1324
1362
|
})
|
|
1325
1363
|
.max(BigInt('9223372036854775807'), {
|
|
1326
1364
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1327
|
-
})
|
|
1328
|
-
|
|
1365
|
+
}),
|
|
1366
|
+
createdBy: z.uuid(),
|
|
1367
|
+
leadId: z.optional(z.coerce
|
|
1329
1368
|
.bigint()
|
|
1330
1369
|
.min(BigInt('-9223372036854775808'), {
|
|
1331
1370
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
@@ -1333,36 +1372,151 @@ export const zListingGridView = z.object({
|
|
|
1333
1372
|
.max(BigInt('9223372036854775807'), {
|
|
1334
1373
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1335
1374
|
})),
|
|
1336
|
-
|
|
1375
|
+
assignedTo: z.optional(z.uuid()),
|
|
1376
|
+
assignedToName: z.optional(z.string()),
|
|
1377
|
+
assignedToPhoto: z.optional(z.string()),
|
|
1378
|
+
contactFullName: z.optional(z.string()),
|
|
1379
|
+
contactPhoneNumber: z.string(),
|
|
1380
|
+
contactGender: z.optional(z.enum(['MALE', 'FEMALE', 'UNKNOWN'])),
|
|
1381
|
+
contactEmail: z.optional(z.string()),
|
|
1382
|
+
sourceType: z.optional(z.enum(['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN'])),
|
|
1383
|
+
sourceLink: z.optional(z.string()),
|
|
1384
|
+
isSearching: z.boolean(),
|
|
1385
|
+
isListing: z.boolean(),
|
|
1386
|
+
contactMethods: z.array(z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL'])),
|
|
1387
|
+
favoriteContactMethod: z.optional(z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL'])),
|
|
1388
|
+
priority: z.optional(z.enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'])),
|
|
1389
|
+
});
|
|
1390
|
+
export const zPagedModelClientGridResponse = z.object({
|
|
1391
|
+
content: z.optional(z.array(zClientGridResponse)),
|
|
1392
|
+
page: z.optional(zPageMetadata),
|
|
1393
|
+
});
|
|
1394
|
+
export const zActiveBoostResponse = z.object({
|
|
1395
|
+
tier: z.enum(['VIP', 'VIP_PLUS', 'SUPER_VIP']),
|
|
1396
|
+
activatedAt: z.iso.date(),
|
|
1397
|
+
expiresAt: z.iso.date(),
|
|
1398
|
+
});
|
|
1399
|
+
export const zAgreementResponse = z.object({
|
|
1400
|
+
agreement: z.enum(['EXCLUSIVE', 'NON_EXCLUSIVE']),
|
|
1401
|
+
expiryDate: z.optional(z.iso.date()),
|
|
1402
|
+
});
|
|
1403
|
+
export const zAssignedMember = z.object({
|
|
1404
|
+
memberId: z.uuid(),
|
|
1405
|
+
name: z.string(),
|
|
1406
|
+
phone: z.string(),
|
|
1407
|
+
email: z.string(),
|
|
1408
|
+
});
|
|
1409
|
+
export const zClientInterestResponse = z.object({
|
|
1410
|
+
id: z.coerce
|
|
1337
1411
|
.bigint()
|
|
1338
1412
|
.min(BigInt('-9223372036854775808'), {
|
|
1339
1413
|
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1340
1414
|
})
|
|
1341
1415
|
.max(BigInt('9223372036854775807'), {
|
|
1342
1416
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1417
|
+
}),
|
|
1418
|
+
propertyTypes: z.array(z.enum([
|
|
1419
|
+
'HOUSE',
|
|
1420
|
+
'TOWN_HOUSE',
|
|
1421
|
+
'COUNTRY_HOUSE',
|
|
1422
|
+
'VILLA',
|
|
1423
|
+
'COTTAGE',
|
|
1424
|
+
'APARTMENT',
|
|
1425
|
+
'DUPLEX',
|
|
1426
|
+
'TRIPLEX',
|
|
1427
|
+
'SEMI_BASEMENT',
|
|
1428
|
+
'ATTIC',
|
|
1429
|
+
'AGRICULTURAL_LAND',
|
|
1430
|
+
'RESIDENTIAL_LAND',
|
|
1431
|
+
'HOTEL_ROOM',
|
|
1432
|
+
'MOTEL_ROOM',
|
|
1433
|
+
'CO_LIVING_SPACE',
|
|
1434
|
+
'OFFICE',
|
|
1435
|
+
'COMMERCIAL_SPACE',
|
|
1436
|
+
'CO_WORKING_SPACE',
|
|
1437
|
+
'WAREHOUSE',
|
|
1438
|
+
'GARAGE',
|
|
1439
|
+
])),
|
|
1440
|
+
listingType: z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE']),
|
|
1441
|
+
priceMin: z.optional(z.number()),
|
|
1442
|
+
priceMax: z.optional(z.number()),
|
|
1443
|
+
bedroomsMin: z.optional(z
|
|
1444
|
+
.int()
|
|
1445
|
+
.min(-2147483648, {
|
|
1446
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1447
|
+
})
|
|
1448
|
+
.max(2147483647, {
|
|
1449
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1343
1450
|
})),
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1451
|
+
bedroomsMax: z.optional(z
|
|
1452
|
+
.int()
|
|
1453
|
+
.min(-2147483648, {
|
|
1454
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1455
|
+
})
|
|
1456
|
+
.max(2147483647, {
|
|
1457
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1458
|
+
})),
|
|
1459
|
+
bathroomsMin: z.optional(z
|
|
1460
|
+
.int()
|
|
1461
|
+
.min(-2147483648, {
|
|
1462
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1463
|
+
})
|
|
1464
|
+
.max(2147483647, {
|
|
1465
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1466
|
+
})),
|
|
1467
|
+
bathroomsMax: z.optional(z
|
|
1468
|
+
.int()
|
|
1469
|
+
.min(-2147483648, {
|
|
1470
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1471
|
+
})
|
|
1472
|
+
.max(2147483647, {
|
|
1473
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1474
|
+
})),
|
|
1475
|
+
totalAreaMin: z.optional(z.number()),
|
|
1476
|
+
totalAreaMax: z.optional(z.number()),
|
|
1477
|
+
livingAreaMin: z.optional(z.number()),
|
|
1478
|
+
livingAreaMax: z.optional(z.number()),
|
|
1479
|
+
location: z.optional(zLocationRefRequest),
|
|
1480
|
+
active: z.boolean(),
|
|
1354
1481
|
});
|
|
1355
|
-
export const
|
|
1356
|
-
|
|
1357
|
-
|
|
1482
|
+
export const zColoredListingResponse = z.object({
|
|
1483
|
+
activatedAt: z.iso.date(),
|
|
1484
|
+
expiresAt: z.iso.date(),
|
|
1485
|
+
});
|
|
1486
|
+
export const zCommunicationPreferenceResponse = z.object({
|
|
1487
|
+
preferredContactMethod: z.optional(z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL'])),
|
|
1488
|
+
contactMethods: z.array(z.enum(['WHATSAPP', 'VIBER', 'PHONE_CALL'])),
|
|
1489
|
+
});
|
|
1490
|
+
export const zContactInfoResponse = z.object({
|
|
1491
|
+
firstName: z.optional(z.string()),
|
|
1492
|
+
lastName: z.optional(z.string()),
|
|
1493
|
+
gender: z.enum(['MALE', 'FEMALE', 'UNKNOWN']),
|
|
1494
|
+
phoneNumber: z.string(),
|
|
1495
|
+
email: z.optional(z.string()),
|
|
1358
1496
|
});
|
|
1359
1497
|
export const zDealResponse = z.object({
|
|
1360
|
-
type:
|
|
1498
|
+
type: z.enum(['FIXED_SALE', 'FIXED_RENT', 'PERCENTAGE', 'MONTHS_OF_RENT']),
|
|
1361
1499
|
rate: z.optional(z.number()),
|
|
1362
1500
|
fixedAmount: z.optional(z.number()),
|
|
1363
1501
|
months: z.optional(z.number()),
|
|
1364
1502
|
commission: z.number(),
|
|
1365
1503
|
});
|
|
1504
|
+
export const zPlatformListingResponse = z.object({
|
|
1505
|
+
platformId: z.coerce
|
|
1506
|
+
.bigint()
|
|
1507
|
+
.min(BigInt('-9223372036854775808'), {
|
|
1508
|
+
error: 'Invalid value: Expected int64 to be >= -9223372036854775808',
|
|
1509
|
+
})
|
|
1510
|
+
.max(BigInt('9223372036854775807'), {
|
|
1511
|
+
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1512
|
+
}),
|
|
1513
|
+
platformType: z.enum(['SS', 'MY_HOME']),
|
|
1514
|
+
uploadDate: z.iso.date(),
|
|
1515
|
+
expiryDate: z.iso.date(),
|
|
1516
|
+
renewedDate: z.optional(z.iso.date()),
|
|
1517
|
+
boost: z.optional(zActiveBoostResponse),
|
|
1518
|
+
coloredListing: z.optional(zColoredListingResponse),
|
|
1519
|
+
});
|
|
1366
1520
|
export const zClientListingsResponse = z.object({
|
|
1367
1521
|
publicId: z.coerce
|
|
1368
1522
|
.bigint()
|
|
@@ -1373,11 +1527,27 @@ export const zClientListingsResponse = z.object({
|
|
|
1373
1527
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1374
1528
|
}),
|
|
1375
1529
|
listingId: z.uuid(),
|
|
1376
|
-
listingType:
|
|
1530
|
+
listingType: z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE']),
|
|
1377
1531
|
price: z.number(),
|
|
1378
1532
|
deal: z.optional(zDealResponse),
|
|
1379
1533
|
platformListings: z.array(zPlatformListingResponse),
|
|
1380
1534
|
});
|
|
1535
|
+
export const zPropertyDetailsResponse = z.object({
|
|
1536
|
+
title: z.string(),
|
|
1537
|
+
coverPhoto: z.optional(z.string()),
|
|
1538
|
+
photoCount: z.optional(z
|
|
1539
|
+
.int()
|
|
1540
|
+
.min(-2147483648, {
|
|
1541
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1542
|
+
})
|
|
1543
|
+
.max(2147483647, {
|
|
1544
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1545
|
+
})),
|
|
1546
|
+
totalArea: z.number(),
|
|
1547
|
+
livingArea: z.optional(z.number()),
|
|
1548
|
+
balconyArea: z.optional(z.number()),
|
|
1549
|
+
address: zAddressResponse,
|
|
1550
|
+
});
|
|
1381
1551
|
export const zClientPropertyResponse = z.object({
|
|
1382
1552
|
publicId: z.coerce
|
|
1383
1553
|
.bigint()
|
|
@@ -1388,12 +1558,43 @@ export const zClientPropertyResponse = z.object({
|
|
|
1388
1558
|
error: 'Invalid value: Expected int64 to be <= 9223372036854775807',
|
|
1389
1559
|
}),
|
|
1390
1560
|
propertyId: z.uuid(),
|
|
1391
|
-
type:
|
|
1392
|
-
|
|
1561
|
+
type: z.enum([
|
|
1562
|
+
'HOUSE',
|
|
1563
|
+
'TOWN_HOUSE',
|
|
1564
|
+
'COUNTRY_HOUSE',
|
|
1565
|
+
'VILLA',
|
|
1566
|
+
'COTTAGE',
|
|
1567
|
+
'APARTMENT',
|
|
1568
|
+
'DUPLEX',
|
|
1569
|
+
'TRIPLEX',
|
|
1570
|
+
'SEMI_BASEMENT',
|
|
1571
|
+
'ATTIC',
|
|
1572
|
+
'AGRICULTURAL_LAND',
|
|
1573
|
+
'RESIDENTIAL_LAND',
|
|
1574
|
+
'HOTEL_ROOM',
|
|
1575
|
+
'MOTEL_ROOM',
|
|
1576
|
+
'CO_LIVING_SPACE',
|
|
1577
|
+
'OFFICE',
|
|
1578
|
+
'COMMERCIAL_SPACE',
|
|
1579
|
+
'CO_WORKING_SPACE',
|
|
1580
|
+
'WAREHOUSE',
|
|
1581
|
+
'GARAGE',
|
|
1582
|
+
]),
|
|
1583
|
+
state: z.enum([
|
|
1584
|
+
'IN_REGISTRATION',
|
|
1585
|
+
'UNLISTED',
|
|
1586
|
+
'LISTED_INTERNALLY',
|
|
1587
|
+
'LISTED',
|
|
1588
|
+
'CLOSED',
|
|
1589
|
+
]),
|
|
1393
1590
|
details: z.optional(zPropertyDetailsResponse),
|
|
1394
1591
|
agreement: zAgreementResponse,
|
|
1395
1592
|
listings: z.array(zClientListingsResponse),
|
|
1396
1593
|
});
|
|
1594
|
+
export const zSourceResponse = z.object({
|
|
1595
|
+
sourceType: z.enum(['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN']),
|
|
1596
|
+
sourceLink: z.optional(z.string()),
|
|
1597
|
+
});
|
|
1397
1598
|
export const zClient360Response = z.object({
|
|
1398
1599
|
clientId: z.coerce
|
|
1399
1600
|
.bigint()
|
|
@@ -1412,65 +1613,36 @@ export const zClient360Response = z.object({
|
|
|
1412
1613
|
communicationPreference: z.optional(zCommunicationPreferenceResponse),
|
|
1413
1614
|
isSearching: z.boolean(),
|
|
1414
1615
|
isListing: z.boolean(),
|
|
1415
|
-
priority: z.optional(
|
|
1616
|
+
priority: z.optional(z.enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'])),
|
|
1416
1617
|
createdAt: z.iso.datetime(),
|
|
1417
1618
|
updatedAt: z.iso.datetime(),
|
|
1418
1619
|
interests: z.array(zClientInterestResponse),
|
|
1419
1620
|
properties: z.array(zClientPropertyResponse),
|
|
1420
1621
|
});
|
|
1421
|
-
export const
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
recommendationsId: z.uuid(),
|
|
1428
|
-
title: z.string(),
|
|
1429
|
-
createdAt: z.iso.datetime(),
|
|
1430
|
-
status: zStatusEnum,
|
|
1431
|
-
recommendations: zPagedModelRecommendationsCardView,
|
|
1432
|
-
});
|
|
1433
|
-
export const zGroupEnum = z.enum([
|
|
1434
|
-
'AGENCY',
|
|
1435
|
-
'INVITATION',
|
|
1436
|
-
'ROLE',
|
|
1437
|
-
'MEMBER',
|
|
1438
|
-
'LEAD',
|
|
1439
|
-
'CLIENT',
|
|
1440
|
-
'PROPERTY',
|
|
1441
|
-
]);
|
|
1442
|
-
export const zGroupedPermissionsResponse = z.object({
|
|
1443
|
-
group: zGroupEnum,
|
|
1444
|
-
permissions: z.array(zPermissionResponse),
|
|
1445
|
-
});
|
|
1446
|
-
export const zStatusEnum2 = z.enum([
|
|
1447
|
-
'PENDING',
|
|
1448
|
-
'ACCEPTED',
|
|
1449
|
-
'CANCELLED',
|
|
1450
|
-
'EXPIRED',
|
|
1451
|
-
]);
|
|
1452
|
-
export const zInvitationDetailsResponse = z.object({
|
|
1453
|
-
invitationId: z.uuid(),
|
|
1454
|
-
agencyId: z.uuid(),
|
|
1455
|
-
email: z.string(),
|
|
1456
|
-
status: zStatusEnum2,
|
|
1622
|
+
export const zAddressViewResponse = z.object({
|
|
1623
|
+
country: z.string(),
|
|
1624
|
+
city: z.string(),
|
|
1625
|
+
district: z.string(),
|
|
1626
|
+
subdistrict: z.string(),
|
|
1627
|
+
street: z.string(),
|
|
1457
1628
|
});
|
|
1458
|
-
export const
|
|
1459
|
-
|
|
1629
|
+
export const zAgencyProfileResponse = z.object({
|
|
1630
|
+
name: z.string(),
|
|
1460
1631
|
email: z.string(),
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1632
|
+
seats: z
|
|
1633
|
+
.int()
|
|
1634
|
+
.min(-2147483648, {
|
|
1635
|
+
error: 'Invalid value: Expected int32 to be >= -2147483648',
|
|
1636
|
+
})
|
|
1637
|
+
.max(2147483647, {
|
|
1638
|
+
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
1639
|
+
}),
|
|
1640
|
+
subdomain: z.string(),
|
|
1641
|
+
phone: z.string(),
|
|
1642
|
+
address: zAddressViewResponse,
|
|
1470
1643
|
});
|
|
1471
|
-
export const zStatusEnum3 = z.enum(['ACTIVE', 'INACTIVE', 'NOT_FOUND']);
|
|
1472
1644
|
export const zWhitelabelActiveResponse = z.object({
|
|
1473
|
-
status: z.optional(
|
|
1645
|
+
status: z.optional(z.enum(['ACTIVE', 'INACTIVE', 'NOT_FOUND'])),
|
|
1474
1646
|
});
|
|
1475
1647
|
export const zPutWhitelabelWebsiteData = z.object({
|
|
1476
1648
|
body: zWebsiteRequest,
|
|
@@ -2553,7 +2725,7 @@ export const zGetPublicRecomendationsByRecommendationsIdItemsData = z.object({
|
|
|
2553
2725
|
recommendationsId: z.uuid(),
|
|
2554
2726
|
}),
|
|
2555
2727
|
query: z.optional(z.object({
|
|
2556
|
-
decision: z.optional(
|
|
2728
|
+
decision: z.optional(z.enum(['MAYBE', 'DISLIKE', 'LIKE', 'VISIT'])),
|
|
2557
2729
|
page: z.optional(z.int().gte(0)).default(0),
|
|
2558
2730
|
size: z.optional(z.int().gte(1)).default(20),
|
|
2559
2731
|
sort: z.optional(z.array(z.string())),
|
|
@@ -2608,7 +2780,7 @@ export const zGetPublicAgencyData = z.object({
|
|
|
2608
2780
|
body: z.optional(z.never()),
|
|
2609
2781
|
path: z.optional(z.never()),
|
|
2610
2782
|
query: z.optional(z.object({
|
|
2611
|
-
status: z.optional(
|
|
2783
|
+
status: z.optional(z.enum(['NEW', 'ACTIVE', 'PAYMENT_FAILED', 'INACTIVE'])),
|
|
2612
2784
|
page: z.optional(z.int().gte(0)).default(0),
|
|
2613
2785
|
size: z.optional(z.int().gte(1)).default(10),
|
|
2614
2786
|
sort: z.optional(z.array(z.string())).default(['name,ASC']),
|
|
@@ -2661,7 +2833,24 @@ export const zGetMemberData = z.object({
|
|
|
2661
2833
|
.max(2147483647, {
|
|
2662
2834
|
error: 'Invalid value: Expected int32 to be <= 2147483647',
|
|
2663
2835
|
})),
|
|
2664
|
-
permission: z.optional(
|
|
2836
|
+
permission: z.optional(z.enum([
|
|
2837
|
+
'AGENCY_WRITE',
|
|
2838
|
+
'INVITATION_READ',
|
|
2839
|
+
'INVITATION_WRITE',
|
|
2840
|
+
'ROLE_READ',
|
|
2841
|
+
'ROLE_WRITE',
|
|
2842
|
+
'MEMBER_READ',
|
|
2843
|
+
'MEMBER_WRITE',
|
|
2844
|
+
'LEAD_READ',
|
|
2845
|
+
'LEAD_WRITE',
|
|
2846
|
+
'LEAD_READ_ALL',
|
|
2847
|
+
'LEAD_WRITE_ALL',
|
|
2848
|
+
'CLIENT_READ',
|
|
2849
|
+
'CLIENT_WRITE',
|
|
2850
|
+
'CLIENT_READ_ALL',
|
|
2851
|
+
'CLIENT_WRITE_ALL',
|
|
2852
|
+
'PROPERTY_READ_ALL',
|
|
2853
|
+
])),
|
|
2665
2854
|
sort: z.optional(z.array(z.string())).default(['firstName,ASC']),
|
|
2666
2855
|
})),
|
|
2667
2856
|
});
|
|
@@ -2673,12 +2862,39 @@ export const zGetListingData = z.object({
|
|
|
2673
2862
|
body: z.optional(z.never()),
|
|
2674
2863
|
path: z.optional(z.never()),
|
|
2675
2864
|
query: z.optional(z.object({
|
|
2676
|
-
state: z.optional(
|
|
2677
|
-
|
|
2865
|
+
state: z.optional(z.enum([
|
|
2866
|
+
'IN_REGISTRATION',
|
|
2867
|
+
'UNLISTED',
|
|
2868
|
+
'LISTED_INTERNALLY',
|
|
2869
|
+
'LISTED',
|
|
2870
|
+
'CLOSED',
|
|
2871
|
+
])),
|
|
2872
|
+
agreementType: z.optional(z.enum(['EXCLUSIVE', 'NON_EXCLUSIVE'])),
|
|
2678
2873
|
agreementExpiresFrom: z.optional(z.iso.date()),
|
|
2679
2874
|
agreementExpiresTo: z.optional(z.iso.date()),
|
|
2680
|
-
propertyType: z.optional(
|
|
2681
|
-
|
|
2875
|
+
propertyType: z.optional(z.enum([
|
|
2876
|
+
'HOUSE',
|
|
2877
|
+
'TOWN_HOUSE',
|
|
2878
|
+
'COUNTRY_HOUSE',
|
|
2879
|
+
'VILLA',
|
|
2880
|
+
'COTTAGE',
|
|
2881
|
+
'APARTMENT',
|
|
2882
|
+
'DUPLEX',
|
|
2883
|
+
'TRIPLEX',
|
|
2884
|
+
'SEMI_BASEMENT',
|
|
2885
|
+
'ATTIC',
|
|
2886
|
+
'AGRICULTURAL_LAND',
|
|
2887
|
+
'RESIDENTIAL_LAND',
|
|
2888
|
+
'HOTEL_ROOM',
|
|
2889
|
+
'MOTEL_ROOM',
|
|
2890
|
+
'CO_LIVING_SPACE',
|
|
2891
|
+
'OFFICE',
|
|
2892
|
+
'COMMERCIAL_SPACE',
|
|
2893
|
+
'CO_WORKING_SPACE',
|
|
2894
|
+
'WAREHOUSE',
|
|
2895
|
+
'GARAGE',
|
|
2896
|
+
])),
|
|
2897
|
+
listingType: z.optional(z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'])),
|
|
2682
2898
|
clientId: z.optional(z.coerce
|
|
2683
2899
|
.bigint()
|
|
2684
2900
|
.min(BigInt('-9223372036854775808'), {
|
|
@@ -2723,10 +2939,10 @@ export const zGetListingData = z.object({
|
|
|
2723
2939
|
priceMax: z.optional(z.number()),
|
|
2724
2940
|
createdFrom: z.optional(z.iso.datetime()),
|
|
2725
2941
|
createdTo: z.optional(z.iso.datetime()),
|
|
2726
|
-
platform: z.optional(
|
|
2942
|
+
platform: z.optional(z.enum(['SS', 'MY_HOME'])),
|
|
2727
2943
|
platformExpiresFrom: z.optional(z.iso.date()),
|
|
2728
2944
|
platformExpiresTo: z.optional(z.iso.date()),
|
|
2729
|
-
boostTier: z.optional(
|
|
2945
|
+
boostTier: z.optional(z.enum(['VIP', 'VIP_PLUS', 'SUPER_VIP'])),
|
|
2730
2946
|
hasBoosted: z.optional(z.boolean()),
|
|
2731
2947
|
boostExpiresFrom: z.optional(z.iso.date()),
|
|
2732
2948
|
boostExpiresTo: z.optional(z.iso.date()),
|
|
@@ -2761,13 +2977,50 @@ export const zGetListingGroupsData = z.object({
|
|
|
2761
2977
|
body: z.optional(z.never()),
|
|
2762
2978
|
path: z.optional(z.never()),
|
|
2763
2979
|
query: z.object({
|
|
2764
|
-
groupBy:
|
|
2765
|
-
|
|
2766
|
-
|
|
2980
|
+
groupBy: z.enum([
|
|
2981
|
+
'STATE',
|
|
2982
|
+
'PROPERTY_TYPE',
|
|
2983
|
+
'LISTING_TYPE',
|
|
2984
|
+
'REGION',
|
|
2985
|
+
'PLATFORM',
|
|
2986
|
+
'BOOST_TIER',
|
|
2987
|
+
'CREATED_AT_DAY',
|
|
2988
|
+
'CREATED_AT_WEEK',
|
|
2989
|
+
'CREATED_AT_MONTH',
|
|
2990
|
+
]),
|
|
2991
|
+
state: z.optional(z.enum([
|
|
2992
|
+
'IN_REGISTRATION',
|
|
2993
|
+
'UNLISTED',
|
|
2994
|
+
'LISTED_INTERNALLY',
|
|
2995
|
+
'LISTED',
|
|
2996
|
+
'CLOSED',
|
|
2997
|
+
])),
|
|
2998
|
+
agreementType: z.optional(z.enum(['EXCLUSIVE', 'NON_EXCLUSIVE'])),
|
|
2767
2999
|
agreementExpiresFrom: z.optional(z.iso.date()),
|
|
2768
3000
|
agreementExpiresTo: z.optional(z.iso.date()),
|
|
2769
|
-
propertyType: z.optional(
|
|
2770
|
-
|
|
3001
|
+
propertyType: z.optional(z.enum([
|
|
3002
|
+
'HOUSE',
|
|
3003
|
+
'TOWN_HOUSE',
|
|
3004
|
+
'COUNTRY_HOUSE',
|
|
3005
|
+
'VILLA',
|
|
3006
|
+
'COTTAGE',
|
|
3007
|
+
'APARTMENT',
|
|
3008
|
+
'DUPLEX',
|
|
3009
|
+
'TRIPLEX',
|
|
3010
|
+
'SEMI_BASEMENT',
|
|
3011
|
+
'ATTIC',
|
|
3012
|
+
'AGRICULTURAL_LAND',
|
|
3013
|
+
'RESIDENTIAL_LAND',
|
|
3014
|
+
'HOTEL_ROOM',
|
|
3015
|
+
'MOTEL_ROOM',
|
|
3016
|
+
'CO_LIVING_SPACE',
|
|
3017
|
+
'OFFICE',
|
|
3018
|
+
'COMMERCIAL_SPACE',
|
|
3019
|
+
'CO_WORKING_SPACE',
|
|
3020
|
+
'WAREHOUSE',
|
|
3021
|
+
'GARAGE',
|
|
3022
|
+
])),
|
|
3023
|
+
listingType: z.optional(z.enum(['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'])),
|
|
2771
3024
|
clientId: z.optional(z.coerce
|
|
2772
3025
|
.bigint()
|
|
2773
3026
|
.min(BigInt('-9223372036854775808'), {
|
|
@@ -2812,10 +3065,10 @@ export const zGetListingGroupsData = z.object({
|
|
|
2812
3065
|
priceMax: z.optional(z.number()),
|
|
2813
3066
|
createdFrom: z.optional(z.iso.datetime()),
|
|
2814
3067
|
createdTo: z.optional(z.iso.datetime()),
|
|
2815
|
-
platform: z.optional(
|
|
3068
|
+
platform: z.optional(z.enum(['SS', 'MY_HOME'])),
|
|
2816
3069
|
platformExpiresFrom: z.optional(z.iso.date()),
|
|
2817
3070
|
platformExpiresTo: z.optional(z.iso.date()),
|
|
2818
|
-
boostTier: z.optional(
|
|
3071
|
+
boostTier: z.optional(z.enum(['VIP', 'VIP_PLUS', 'SUPER_VIP'])),
|
|
2819
3072
|
hasBoosted: z.optional(z.boolean()),
|
|
2820
3073
|
boostExpiresFrom: z.optional(z.iso.date()),
|
|
2821
3074
|
boostExpiresTo: z.optional(z.iso.date()),
|
|
@@ -2829,7 +3082,7 @@ export const zGetLeadData = z.object({
|
|
|
2829
3082
|
body: z.optional(z.never()),
|
|
2830
3083
|
path: z.optional(z.never()),
|
|
2831
3084
|
query: z.optional(z.object({
|
|
2832
|
-
status: z.optional(
|
|
3085
|
+
status: z.optional(z.enum(['NEW', 'ON_HOLD', 'LOST', 'CONVERTED'])),
|
|
2833
3086
|
isSearching: z.optional(z.boolean()),
|
|
2834
3087
|
isListing: z.optional(z.boolean()),
|
|
2835
3088
|
assignedTo: z.optional(z.uuid()),
|
|
@@ -2837,7 +3090,7 @@ export const zGetLeadData = z.object({
|
|
|
2837
3090
|
contactName: z.optional(z.string()),
|
|
2838
3091
|
email: z.optional(z.string()),
|
|
2839
3092
|
note: z.optional(z.string()),
|
|
2840
|
-
sourceType: z.optional(
|
|
3093
|
+
sourceType: z.optional(z.enum(['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN'])),
|
|
2841
3094
|
createdFrom: z.optional(z.iso.datetime()),
|
|
2842
3095
|
createdTo: z.optional(z.iso.datetime()),
|
|
2843
3096
|
page: z.optional(z.int().gte(0)).default(0),
|
|
@@ -2871,14 +3124,14 @@ export const zGetLeadMineData = z.object({
|
|
|
2871
3124
|
body: z.optional(z.never()),
|
|
2872
3125
|
path: z.optional(z.never()),
|
|
2873
3126
|
query: z.optional(z.object({
|
|
2874
|
-
status: z.optional(
|
|
3127
|
+
status: z.optional(z.enum(['NEW', 'ON_HOLD', 'LOST', 'CONVERTED'])),
|
|
2875
3128
|
isSearching: z.optional(z.boolean()),
|
|
2876
3129
|
isListing: z.optional(z.boolean()),
|
|
2877
3130
|
phone: z.optional(z.string()),
|
|
2878
3131
|
contactName: z.optional(z.string()),
|
|
2879
3132
|
email: z.optional(z.string()),
|
|
2880
3133
|
note: z.optional(z.string()),
|
|
2881
|
-
sourceType: z.optional(
|
|
3134
|
+
sourceType: z.optional(z.enum(['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN'])),
|
|
2882
3135
|
createdFrom: z.optional(z.iso.datetime()),
|
|
2883
3136
|
createdTo: z.optional(z.iso.datetime()),
|
|
2884
3137
|
page: z.optional(z.int().gte(0)).default(0),
|
|
@@ -2894,8 +3147,15 @@ export const zGetLeadGroupsData = z.object({
|
|
|
2894
3147
|
body: z.optional(z.never()),
|
|
2895
3148
|
path: z.optional(z.never()),
|
|
2896
3149
|
query: z.object({
|
|
2897
|
-
groupBy:
|
|
2898
|
-
|
|
3150
|
+
groupBy: z.enum([
|
|
3151
|
+
'ASSIGNED_TO',
|
|
3152
|
+
'STATUS',
|
|
3153
|
+
'SOURCE_TYPE',
|
|
3154
|
+
'CREATED_AT_DAY',
|
|
3155
|
+
'CREATED_AT_WEEK',
|
|
3156
|
+
'CREATED_AT_MONTH',
|
|
3157
|
+
]),
|
|
3158
|
+
status: z.optional(z.enum(['NEW', 'ON_HOLD', 'LOST', 'CONVERTED'])),
|
|
2899
3159
|
isSearching: z.optional(z.boolean()),
|
|
2900
3160
|
isListing: z.optional(z.boolean()),
|
|
2901
3161
|
assignedTo: z.optional(z.uuid()),
|
|
@@ -2903,7 +3163,7 @@ export const zGetLeadGroupsData = z.object({
|
|
|
2903
3163
|
contactName: z.optional(z.string()),
|
|
2904
3164
|
email: z.optional(z.string()),
|
|
2905
3165
|
note: z.optional(z.string()),
|
|
2906
|
-
sourceType: z.optional(
|
|
3166
|
+
sourceType: z.optional(z.enum(['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN'])),
|
|
2907
3167
|
createdFrom: z.optional(z.iso.datetime()),
|
|
2908
3168
|
createdTo: z.optional(z.iso.datetime()),
|
|
2909
3169
|
}),
|
|
@@ -2926,7 +3186,7 @@ export const zGetClientsByClientIdRecommendationsByRecommendationsIdData = z.obj
|
|
|
2926
3186
|
recommendationsId: z.uuid(),
|
|
2927
3187
|
}),
|
|
2928
3188
|
query: z.optional(z.object({
|
|
2929
|
-
decision: z.optional(
|
|
3189
|
+
decision: z.optional(z.enum(['MAYBE', 'DISLIKE', 'LIKE', 'VISIT'])),
|
|
2930
3190
|
page: z.optional(z.int().gte(0)).default(0),
|
|
2931
3191
|
size: z.optional(z.int().gte(1)).default(20),
|
|
2932
3192
|
sort: z.optional(z.array(z.string())),
|
|
@@ -2957,7 +3217,7 @@ export const zGetClientsByClientIdRecommendationsInterestByInterestIdData = z.ob
|
|
|
2957
3217
|
}),
|
|
2958
3218
|
}),
|
|
2959
3219
|
query: z.optional(z.object({
|
|
2960
|
-
decision: z.optional(
|
|
3220
|
+
decision: z.optional(z.enum(['MAYBE', 'DISLIKE', 'LIKE', 'VISIT'])),
|
|
2961
3221
|
page: z.optional(z.int().gte(0)).default(0),
|
|
2962
3222
|
size: z.optional(z.int().gte(1)).default(20),
|
|
2963
3223
|
sort: z.optional(z.array(z.string())),
|