@justins-home/api-services 1.2.24 → 1.2.26
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/index.d.mts +26 -10
- package/dist/index.d.ts +26 -10
- package/dist/index.js +58 -15
- package/dist/index.mjs +58 -15
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -8,13 +8,21 @@ declare class ApiError<T = unknown> extends Error {
|
|
|
8
8
|
constructor(message: string, status?: number, data?: T, operation?: string);
|
|
9
9
|
}
|
|
10
10
|
type OperationId$1 = keyof operations;
|
|
11
|
+
type MultipartPayload$1 = FormData;
|
|
12
|
+
type RequestContent$1<T extends OperationId$1> = operations[T] extends {
|
|
13
|
+
requestBody: {
|
|
14
|
+
content: infer C;
|
|
15
|
+
};
|
|
16
|
+
} ? C : never;
|
|
11
17
|
type ApiRequest$1<T extends OperationId$1> = operations[T] extends {
|
|
12
18
|
requestBody: {
|
|
13
19
|
content: {
|
|
14
20
|
'application/json': infer R;
|
|
15
21
|
};
|
|
16
22
|
};
|
|
17
|
-
} ? R :
|
|
23
|
+
} ? R : RequestContent$1<T> extends {
|
|
24
|
+
'multipart/form-data': infer R;
|
|
25
|
+
} ? R | MultipartPayload$1 : operations[T] extends {
|
|
18
26
|
parameters: {
|
|
19
27
|
query?: infer Q;
|
|
20
28
|
};
|
|
@@ -34,13 +42,21 @@ declare const api: {
|
|
|
34
42
|
};
|
|
35
43
|
|
|
36
44
|
type OperationId = keyof operations;
|
|
45
|
+
type MultipartPayload = FormData;
|
|
46
|
+
type RequestContent<T extends OperationId> = operations[T] extends {
|
|
47
|
+
requestBody: {
|
|
48
|
+
content: infer C;
|
|
49
|
+
};
|
|
50
|
+
} ? C : never;
|
|
37
51
|
type ApiRequest<T extends OperationId> = operations[T] extends {
|
|
38
52
|
requestBody: {
|
|
39
53
|
content: {
|
|
40
54
|
'application/json': infer R;
|
|
41
55
|
};
|
|
42
56
|
};
|
|
43
|
-
} ? R :
|
|
57
|
+
} ? R : RequestContent<T> extends {
|
|
58
|
+
'multipart/form-data': infer R;
|
|
59
|
+
} ? R | MultipartPayload : operations[T] extends {
|
|
44
60
|
parameters: {
|
|
45
61
|
query?: infer Q;
|
|
46
62
|
};
|
|
@@ -875,10 +891,10 @@ declare const admin: {
|
|
|
875
891
|
saveRentalDetails: (params: ApiPathParams<"saveRentalDetailsAdmin">, payload: ApiRequest<"saveRentalDetailsAdmin">) => Promise<unknown>;
|
|
876
892
|
saveShortLetDetails: (params: ApiPathParams<"saveShortLetDetailsAdmin">, payload: ApiRequest<"saveShortLetDetailsAdmin">) => Promise<unknown>;
|
|
877
893
|
saveUsedItemDetails: (params: ApiPathParams<"saveUsedItemDetailsAdmin">, payload: ApiRequest<"saveUsedItemDetailsAdmin">) => Promise<unknown>;
|
|
878
|
-
saveListingFeatures: (params: ApiPathParams<"saveListingFeaturesAdmin">) => Promise<unknown>;
|
|
879
|
-
saveTenantPreferences: (params: ApiPathParams<"saveTenantPreferencesAdmin">) => Promise<unknown>;
|
|
894
|
+
saveListingFeatures: (params: ApiPathParams<"saveListingFeaturesAdmin">, payload: ApiRequest<"saveListingFeaturesAdmin">) => Promise<unknown>;
|
|
895
|
+
saveTenantPreferences: (params: ApiPathParams<"saveTenantPreferencesAdmin">, payload: ApiRequest<"saveTenantPreferencesAdmin">) => Promise<unknown>;
|
|
880
896
|
saveViewingAvailability: (params: ApiPathParams<"saveViewingAvailabilityAdmin">, payload: ApiRequest<"saveViewingAvailabilityAdmin">) => Promise<unknown>;
|
|
881
|
-
uploadListingMedia: (params: ApiPathParams<"uploadListingMediaAdmin">) => Promise<{
|
|
897
|
+
uploadListingMedia: (params: ApiPathParams<"uploadListingMediaAdmin">, payload: ApiRequest<"uploadListingMediaAdmin">) => Promise<{
|
|
882
898
|
data?: {
|
|
883
899
|
uid?: string;
|
|
884
900
|
media_type?: string;
|
|
@@ -2432,7 +2448,7 @@ declare const landlord: {
|
|
|
2432
2448
|
event?: string;
|
|
2433
2449
|
data?: unknown[];
|
|
2434
2450
|
}>;
|
|
2435
|
-
uploadListingMedia: (params: ApiPathParams<"uploadListingMedia">) => Promise<{
|
|
2451
|
+
uploadListingMedia: (params: ApiPathParams<"uploadListingMedia">, payload: ApiRequest<"uploadListingMedia">) => Promise<{
|
|
2436
2452
|
data?: {
|
|
2437
2453
|
uid?: string;
|
|
2438
2454
|
media_type?: string;
|
|
@@ -2834,7 +2850,7 @@ declare const maintenance: {
|
|
|
2834
2850
|
total?: number;
|
|
2835
2851
|
};
|
|
2836
2852
|
}>;
|
|
2837
|
-
uploadAttachment: (params: ApiPathParams<"uploadAttachmentMaintenance">) => Promise<{
|
|
2853
|
+
uploadAttachment: (params: ApiPathParams<"uploadAttachmentMaintenance">, payload: ApiRequest<"uploadAttachmentMaintenance">) => Promise<{
|
|
2838
2854
|
data?: {
|
|
2839
2855
|
uid?: string;
|
|
2840
2856
|
file_type?: string;
|
|
@@ -3254,7 +3270,7 @@ declare const tenancy: {
|
|
|
3254
3270
|
created_at?: string;
|
|
3255
3271
|
}[];
|
|
3256
3272
|
}>;
|
|
3257
|
-
uploadDocument: (params: ApiPathParams<"uploadDocumentTenancy">) => Promise<{
|
|
3273
|
+
uploadDocument: (params: ApiPathParams<"uploadDocumentTenancy">, payload: ApiRequest<"uploadDocumentTenancy">) => Promise<{
|
|
3258
3274
|
message?: string;
|
|
3259
3275
|
event?: string | null;
|
|
3260
3276
|
data?: {
|
|
@@ -3303,7 +3319,7 @@ declare const user: {
|
|
|
3303
3319
|
};
|
|
3304
3320
|
};
|
|
3305
3321
|
}>;
|
|
3306
|
-
updateAvatar: () => Promise<{
|
|
3322
|
+
updateAvatar: (payload: ApiRequest<"updateAvatar">) => Promise<{
|
|
3307
3323
|
data?: {
|
|
3308
3324
|
uid?: string;
|
|
3309
3325
|
username?: string;
|
|
@@ -3465,4 +3481,4 @@ declare const wishlist: {
|
|
|
3465
3481
|
}>;
|
|
3466
3482
|
};
|
|
3467
3483
|
|
|
3468
|
-
export { ApiError, type ApiPathParams, type ApiRequest, type ApiResponse, type Expand, type OperationId, admin, api, appointment, auth, booking, conversations, customer, feature, github, google, inspection, landlord, listings, maintenance, notification, plan, review, tenancy, tenant, user, userverification, wishlist };
|
|
3484
|
+
export { ApiError, type ApiPathParams, type ApiRequest, type ApiResponse, type Expand, type MultipartPayload, type OperationId, admin, api, appointment, auth, booking, conversations, customer, feature, github, google, inspection, landlord, listings, maintenance, notification, plan, review, tenancy, tenant, user, userverification, wishlist };
|
package/dist/index.d.ts
CHANGED
|
@@ -8,13 +8,21 @@ declare class ApiError<T = unknown> extends Error {
|
|
|
8
8
|
constructor(message: string, status?: number, data?: T, operation?: string);
|
|
9
9
|
}
|
|
10
10
|
type OperationId$1 = keyof operations;
|
|
11
|
+
type MultipartPayload$1 = FormData;
|
|
12
|
+
type RequestContent$1<T extends OperationId$1> = operations[T] extends {
|
|
13
|
+
requestBody: {
|
|
14
|
+
content: infer C;
|
|
15
|
+
};
|
|
16
|
+
} ? C : never;
|
|
11
17
|
type ApiRequest$1<T extends OperationId$1> = operations[T] extends {
|
|
12
18
|
requestBody: {
|
|
13
19
|
content: {
|
|
14
20
|
'application/json': infer R;
|
|
15
21
|
};
|
|
16
22
|
};
|
|
17
|
-
} ? R :
|
|
23
|
+
} ? R : RequestContent$1<T> extends {
|
|
24
|
+
'multipart/form-data': infer R;
|
|
25
|
+
} ? R | MultipartPayload$1 : operations[T] extends {
|
|
18
26
|
parameters: {
|
|
19
27
|
query?: infer Q;
|
|
20
28
|
};
|
|
@@ -34,13 +42,21 @@ declare const api: {
|
|
|
34
42
|
};
|
|
35
43
|
|
|
36
44
|
type OperationId = keyof operations;
|
|
45
|
+
type MultipartPayload = FormData;
|
|
46
|
+
type RequestContent<T extends OperationId> = operations[T] extends {
|
|
47
|
+
requestBody: {
|
|
48
|
+
content: infer C;
|
|
49
|
+
};
|
|
50
|
+
} ? C : never;
|
|
37
51
|
type ApiRequest<T extends OperationId> = operations[T] extends {
|
|
38
52
|
requestBody: {
|
|
39
53
|
content: {
|
|
40
54
|
'application/json': infer R;
|
|
41
55
|
};
|
|
42
56
|
};
|
|
43
|
-
} ? R :
|
|
57
|
+
} ? R : RequestContent<T> extends {
|
|
58
|
+
'multipart/form-data': infer R;
|
|
59
|
+
} ? R | MultipartPayload : operations[T] extends {
|
|
44
60
|
parameters: {
|
|
45
61
|
query?: infer Q;
|
|
46
62
|
};
|
|
@@ -875,10 +891,10 @@ declare const admin: {
|
|
|
875
891
|
saveRentalDetails: (params: ApiPathParams<"saveRentalDetailsAdmin">, payload: ApiRequest<"saveRentalDetailsAdmin">) => Promise<unknown>;
|
|
876
892
|
saveShortLetDetails: (params: ApiPathParams<"saveShortLetDetailsAdmin">, payload: ApiRequest<"saveShortLetDetailsAdmin">) => Promise<unknown>;
|
|
877
893
|
saveUsedItemDetails: (params: ApiPathParams<"saveUsedItemDetailsAdmin">, payload: ApiRequest<"saveUsedItemDetailsAdmin">) => Promise<unknown>;
|
|
878
|
-
saveListingFeatures: (params: ApiPathParams<"saveListingFeaturesAdmin">) => Promise<unknown>;
|
|
879
|
-
saveTenantPreferences: (params: ApiPathParams<"saveTenantPreferencesAdmin">) => Promise<unknown>;
|
|
894
|
+
saveListingFeatures: (params: ApiPathParams<"saveListingFeaturesAdmin">, payload: ApiRequest<"saveListingFeaturesAdmin">) => Promise<unknown>;
|
|
895
|
+
saveTenantPreferences: (params: ApiPathParams<"saveTenantPreferencesAdmin">, payload: ApiRequest<"saveTenantPreferencesAdmin">) => Promise<unknown>;
|
|
880
896
|
saveViewingAvailability: (params: ApiPathParams<"saveViewingAvailabilityAdmin">, payload: ApiRequest<"saveViewingAvailabilityAdmin">) => Promise<unknown>;
|
|
881
|
-
uploadListingMedia: (params: ApiPathParams<"uploadListingMediaAdmin">) => Promise<{
|
|
897
|
+
uploadListingMedia: (params: ApiPathParams<"uploadListingMediaAdmin">, payload: ApiRequest<"uploadListingMediaAdmin">) => Promise<{
|
|
882
898
|
data?: {
|
|
883
899
|
uid?: string;
|
|
884
900
|
media_type?: string;
|
|
@@ -2432,7 +2448,7 @@ declare const landlord: {
|
|
|
2432
2448
|
event?: string;
|
|
2433
2449
|
data?: unknown[];
|
|
2434
2450
|
}>;
|
|
2435
|
-
uploadListingMedia: (params: ApiPathParams<"uploadListingMedia">) => Promise<{
|
|
2451
|
+
uploadListingMedia: (params: ApiPathParams<"uploadListingMedia">, payload: ApiRequest<"uploadListingMedia">) => Promise<{
|
|
2436
2452
|
data?: {
|
|
2437
2453
|
uid?: string;
|
|
2438
2454
|
media_type?: string;
|
|
@@ -2834,7 +2850,7 @@ declare const maintenance: {
|
|
|
2834
2850
|
total?: number;
|
|
2835
2851
|
};
|
|
2836
2852
|
}>;
|
|
2837
|
-
uploadAttachment: (params: ApiPathParams<"uploadAttachmentMaintenance">) => Promise<{
|
|
2853
|
+
uploadAttachment: (params: ApiPathParams<"uploadAttachmentMaintenance">, payload: ApiRequest<"uploadAttachmentMaintenance">) => Promise<{
|
|
2838
2854
|
data?: {
|
|
2839
2855
|
uid?: string;
|
|
2840
2856
|
file_type?: string;
|
|
@@ -3254,7 +3270,7 @@ declare const tenancy: {
|
|
|
3254
3270
|
created_at?: string;
|
|
3255
3271
|
}[];
|
|
3256
3272
|
}>;
|
|
3257
|
-
uploadDocument: (params: ApiPathParams<"uploadDocumentTenancy">) => Promise<{
|
|
3273
|
+
uploadDocument: (params: ApiPathParams<"uploadDocumentTenancy">, payload: ApiRequest<"uploadDocumentTenancy">) => Promise<{
|
|
3258
3274
|
message?: string;
|
|
3259
3275
|
event?: string | null;
|
|
3260
3276
|
data?: {
|
|
@@ -3303,7 +3319,7 @@ declare const user: {
|
|
|
3303
3319
|
};
|
|
3304
3320
|
};
|
|
3305
3321
|
}>;
|
|
3306
|
-
updateAvatar: () => Promise<{
|
|
3322
|
+
updateAvatar: (payload: ApiRequest<"updateAvatar">) => Promise<{
|
|
3307
3323
|
data?: {
|
|
3308
3324
|
uid?: string;
|
|
3309
3325
|
username?: string;
|
|
@@ -3465,4 +3481,4 @@ declare const wishlist: {
|
|
|
3465
3481
|
}>;
|
|
3466
3482
|
};
|
|
3467
3483
|
|
|
3468
|
-
export { ApiError, type ApiPathParams, type ApiRequest, type ApiResponse, type Expand, type OperationId, admin, api, appointment, auth, booking, conversations, customer, feature, github, google, inspection, landlord, listings, maintenance, notification, plan, review, tenancy, tenant, user, userverification, wishlist };
|
|
3484
|
+
export { ApiError, type ApiPathParams, type ApiRequest, type ApiResponse, type Expand, type MultipartPayload, type OperationId, admin, api, appointment, auth, booking, conversations, customer, feature, github, google, inspection, landlord, listings, maintenance, notification, plan, review, tenancy, tenant, user, userverification, wishlist };
|
package/dist/index.js
CHANGED
|
@@ -79,10 +79,53 @@ function normalizeError(error, operation) {
|
|
|
79
79
|
}
|
|
80
80
|
throw new ApiError(message, status, data, operation);
|
|
81
81
|
}
|
|
82
|
+
function isBinaryValue(value) {
|
|
83
|
+
if (typeof File !== "undefined" && value instanceof File) return true;
|
|
84
|
+
if (typeof Blob !== "undefined" && value instanceof Blob) return true;
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
function shouldUseFormData(payload) {
|
|
88
|
+
if (!payload || typeof payload !== "object" || payload instanceof FormData) {
|
|
89
|
+
return payload instanceof FormData;
|
|
90
|
+
}
|
|
91
|
+
return Object.values(payload).some((value) => {
|
|
92
|
+
if (isBinaryValue(value)) return true;
|
|
93
|
+
if (Array.isArray(value)) return value.some(isBinaryValue);
|
|
94
|
+
return false;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function appendFormDataValue(formData, key, value) {
|
|
98
|
+
if (value == null) return;
|
|
99
|
+
if (Array.isArray(value)) {
|
|
100
|
+
value.forEach((item) => appendFormDataValue(formData, `${key}[]`, item));
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (isBinaryValue(value)) {
|
|
104
|
+
formData.append(key, value);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (typeof value === "object") {
|
|
108
|
+
formData.append(key, JSON.stringify(value));
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
formData.append(key, String(value));
|
|
112
|
+
}
|
|
113
|
+
function normalizePayload(payload) {
|
|
114
|
+
if (!payload) return {};
|
|
115
|
+
if (payload instanceof FormData) return payload;
|
|
116
|
+
if (!shouldUseFormData(payload) || typeof FormData === "undefined") {
|
|
117
|
+
return payload;
|
|
118
|
+
}
|
|
119
|
+
const formData = new FormData();
|
|
120
|
+
Object.entries(payload).forEach(([key, value]) => {
|
|
121
|
+
appendFormDataValue(formData, key, value);
|
|
122
|
+
});
|
|
123
|
+
return formData;
|
|
124
|
+
}
|
|
82
125
|
var api = {
|
|
83
126
|
async post(operation, url, payload) {
|
|
84
127
|
try {
|
|
85
|
-
const res = await import_http_client.authClient.post(url, payload
|
|
128
|
+
const res = await import_http_client.authClient.post(url, normalizePayload(payload));
|
|
86
129
|
return res.data;
|
|
87
130
|
} catch (error) {
|
|
88
131
|
normalizeError(error, operation);
|
|
@@ -210,17 +253,17 @@ var admin = {
|
|
|
210
253
|
saveUsedItemDetails: (params, payload) => {
|
|
211
254
|
return api.post("saveUsedItemDetailsAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/item-details`, payload);
|
|
212
255
|
},
|
|
213
|
-
saveListingFeatures: (params) => {
|
|
214
|
-
return api.post("saveListingFeaturesAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/features
|
|
256
|
+
saveListingFeatures: (params, payload) => {
|
|
257
|
+
return api.post("saveListingFeaturesAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/features`, payload);
|
|
215
258
|
},
|
|
216
|
-
saveTenantPreferences: (params) => {
|
|
217
|
-
return api.post("saveTenantPreferencesAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/tenant-preferences
|
|
259
|
+
saveTenantPreferences: (params, payload) => {
|
|
260
|
+
return api.post("saveTenantPreferencesAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/tenant-preferences`, payload);
|
|
218
261
|
},
|
|
219
262
|
saveViewingAvailability: (params, payload) => {
|
|
220
263
|
return api.post("saveViewingAvailabilityAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/viewing`, payload);
|
|
221
264
|
},
|
|
222
|
-
uploadListingMedia: (params) => {
|
|
223
|
-
return api.post("uploadListingMediaAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/media
|
|
265
|
+
uploadListingMedia: (params, payload) => {
|
|
266
|
+
return api.post("uploadListingMediaAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/media`, payload);
|
|
224
267
|
},
|
|
225
268
|
reorderListingMedia: (params, payload) => {
|
|
226
269
|
return api.post("reorderListingMediaAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/media/order`, payload);
|
|
@@ -640,8 +683,8 @@ var landlord = {
|
|
|
640
683
|
saveViewingAvailability: (params, payload) => {
|
|
641
684
|
return api.post("saveViewingAvailability", `/api/v1/portal/landlord/listing/${params.listing_uid}/viewing-availability`, payload);
|
|
642
685
|
},
|
|
643
|
-
uploadListingMedia: (params) => {
|
|
644
|
-
return api.post("uploadListingMedia", `/api/v1/portal/landlord/listing/${params.listing_uid}/media
|
|
686
|
+
uploadListingMedia: (params, payload) => {
|
|
687
|
+
return api.post("uploadListingMedia", `/api/v1/portal/landlord/listing/${params.listing_uid}/media`, payload);
|
|
645
688
|
},
|
|
646
689
|
reorderListingMedia: (params, payload) => {
|
|
647
690
|
return api.post("reorderListingMedia", `/api/v1/portal/landlord/listing/${params.listing_uid}/media/order`, payload);
|
|
@@ -705,8 +748,8 @@ var maintenance = {
|
|
|
705
748
|
report: (payload) => {
|
|
706
749
|
return api.post("reportMaintenance", "/api/v1/public/maintenance/report", payload);
|
|
707
750
|
},
|
|
708
|
-
uploadAttachment: (params) => {
|
|
709
|
-
return api.post("uploadAttachmentMaintenance", `/api/v1/public/maintenance/${params.maintenance_uid}/attachments
|
|
751
|
+
uploadAttachment: (params, payload) => {
|
|
752
|
+
return api.post("uploadAttachmentMaintenance", `/api/v1/public/maintenance/${params.maintenance_uid}/attachments`, payload);
|
|
710
753
|
}
|
|
711
754
|
};
|
|
712
755
|
|
|
@@ -821,8 +864,8 @@ var tenancy = {
|
|
|
821
864
|
fetchTransitions: (params) => {
|
|
822
865
|
return api.get("fetchTransitionsTenancy", `/api/v1/public/tenancy/${params.tenancy_uid}/transitions`);
|
|
823
866
|
},
|
|
824
|
-
uploadDocument: (params) => {
|
|
825
|
-
return api.post("uploadDocumentTenancy", `/api/v1/public/tenancy/${params.tenancy_uid}/documents
|
|
867
|
+
uploadDocument: (params, payload) => {
|
|
868
|
+
return api.post("uploadDocumentTenancy", `/api/v1/public/tenancy/${params.tenancy_uid}/documents`, payload);
|
|
826
869
|
},
|
|
827
870
|
downloadDocument: (params) => {
|
|
828
871
|
return api.get("downloadDocumentTenancy", `/api/v1/public/tenancy/${params.tenancy_uid}/documents/${params.document_id}`);
|
|
@@ -837,8 +880,8 @@ var user = {
|
|
|
837
880
|
toggleTwoFactor: (payload) => {
|
|
838
881
|
return api.post("toggleTwoFactor", "/api/v1/public/user/two-factor/toggle", payload);
|
|
839
882
|
},
|
|
840
|
-
updateAvatar: () => {
|
|
841
|
-
return api.post("updateAvatar", "/api/v1/public/user/avatar");
|
|
883
|
+
updateAvatar: (payload) => {
|
|
884
|
+
return api.post("updateAvatar", "/api/v1/public/user/avatar", payload);
|
|
842
885
|
}
|
|
843
886
|
};
|
|
844
887
|
|
package/dist/index.mjs
CHANGED
|
@@ -29,10 +29,53 @@ function normalizeError(error, operation) {
|
|
|
29
29
|
}
|
|
30
30
|
throw new ApiError(message, status, data, operation);
|
|
31
31
|
}
|
|
32
|
+
function isBinaryValue(value) {
|
|
33
|
+
if (typeof File !== "undefined" && value instanceof File) return true;
|
|
34
|
+
if (typeof Blob !== "undefined" && value instanceof Blob) return true;
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
function shouldUseFormData(payload) {
|
|
38
|
+
if (!payload || typeof payload !== "object" || payload instanceof FormData) {
|
|
39
|
+
return payload instanceof FormData;
|
|
40
|
+
}
|
|
41
|
+
return Object.values(payload).some((value) => {
|
|
42
|
+
if (isBinaryValue(value)) return true;
|
|
43
|
+
if (Array.isArray(value)) return value.some(isBinaryValue);
|
|
44
|
+
return false;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function appendFormDataValue(formData, key, value) {
|
|
48
|
+
if (value == null) return;
|
|
49
|
+
if (Array.isArray(value)) {
|
|
50
|
+
value.forEach((item) => appendFormDataValue(formData, `${key}[]`, item));
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (isBinaryValue(value)) {
|
|
54
|
+
formData.append(key, value);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (typeof value === "object") {
|
|
58
|
+
formData.append(key, JSON.stringify(value));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
formData.append(key, String(value));
|
|
62
|
+
}
|
|
63
|
+
function normalizePayload(payload) {
|
|
64
|
+
if (!payload) return {};
|
|
65
|
+
if (payload instanceof FormData) return payload;
|
|
66
|
+
if (!shouldUseFormData(payload) || typeof FormData === "undefined") {
|
|
67
|
+
return payload;
|
|
68
|
+
}
|
|
69
|
+
const formData = new FormData();
|
|
70
|
+
Object.entries(payload).forEach(([key, value]) => {
|
|
71
|
+
appendFormDataValue(formData, key, value);
|
|
72
|
+
});
|
|
73
|
+
return formData;
|
|
74
|
+
}
|
|
32
75
|
var api = {
|
|
33
76
|
async post(operation, url, payload) {
|
|
34
77
|
try {
|
|
35
|
-
const res = await authClient.post(url, payload
|
|
78
|
+
const res = await authClient.post(url, normalizePayload(payload));
|
|
36
79
|
return res.data;
|
|
37
80
|
} catch (error) {
|
|
38
81
|
normalizeError(error, operation);
|
|
@@ -163,17 +206,17 @@ var admin = {
|
|
|
163
206
|
saveUsedItemDetails: (params, payload) => {
|
|
164
207
|
return api.post("saveUsedItemDetailsAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/item-details`, payload);
|
|
165
208
|
},
|
|
166
|
-
saveListingFeatures: (params) => {
|
|
167
|
-
return api.post("saveListingFeaturesAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/features
|
|
209
|
+
saveListingFeatures: (params, payload) => {
|
|
210
|
+
return api.post("saveListingFeaturesAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/features`, payload);
|
|
168
211
|
},
|
|
169
|
-
saveTenantPreferences: (params) => {
|
|
170
|
-
return api.post("saveTenantPreferencesAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/tenant-preferences
|
|
212
|
+
saveTenantPreferences: (params, payload) => {
|
|
213
|
+
return api.post("saveTenantPreferencesAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/tenant-preferences`, payload);
|
|
171
214
|
},
|
|
172
215
|
saveViewingAvailability: (params, payload) => {
|
|
173
216
|
return api.post("saveViewingAvailabilityAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/viewing`, payload);
|
|
174
217
|
},
|
|
175
|
-
uploadListingMedia: (params) => {
|
|
176
|
-
return api.post("uploadListingMediaAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/media
|
|
218
|
+
uploadListingMedia: (params, payload) => {
|
|
219
|
+
return api.post("uploadListingMediaAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/media`, payload);
|
|
177
220
|
},
|
|
178
221
|
reorderListingMedia: (params, payload) => {
|
|
179
222
|
return api.post("reorderListingMediaAdmin", `/api/v1/portal/admin/listing/${params.listing_uid}/media/order`, payload);
|
|
@@ -593,8 +636,8 @@ var landlord = {
|
|
|
593
636
|
saveViewingAvailability: (params, payload) => {
|
|
594
637
|
return api.post("saveViewingAvailability", `/api/v1/portal/landlord/listing/${params.listing_uid}/viewing-availability`, payload);
|
|
595
638
|
},
|
|
596
|
-
uploadListingMedia: (params) => {
|
|
597
|
-
return api.post("uploadListingMedia", `/api/v1/portal/landlord/listing/${params.listing_uid}/media
|
|
639
|
+
uploadListingMedia: (params, payload) => {
|
|
640
|
+
return api.post("uploadListingMedia", `/api/v1/portal/landlord/listing/${params.listing_uid}/media`, payload);
|
|
598
641
|
},
|
|
599
642
|
reorderListingMedia: (params, payload) => {
|
|
600
643
|
return api.post("reorderListingMedia", `/api/v1/portal/landlord/listing/${params.listing_uid}/media/order`, payload);
|
|
@@ -658,8 +701,8 @@ var maintenance = {
|
|
|
658
701
|
report: (payload) => {
|
|
659
702
|
return api.post("reportMaintenance", "/api/v1/public/maintenance/report", payload);
|
|
660
703
|
},
|
|
661
|
-
uploadAttachment: (params) => {
|
|
662
|
-
return api.post("uploadAttachmentMaintenance", `/api/v1/public/maintenance/${params.maintenance_uid}/attachments
|
|
704
|
+
uploadAttachment: (params, payload) => {
|
|
705
|
+
return api.post("uploadAttachmentMaintenance", `/api/v1/public/maintenance/${params.maintenance_uid}/attachments`, payload);
|
|
663
706
|
}
|
|
664
707
|
};
|
|
665
708
|
|
|
@@ -774,8 +817,8 @@ var tenancy = {
|
|
|
774
817
|
fetchTransitions: (params) => {
|
|
775
818
|
return api.get("fetchTransitionsTenancy", `/api/v1/public/tenancy/${params.tenancy_uid}/transitions`);
|
|
776
819
|
},
|
|
777
|
-
uploadDocument: (params) => {
|
|
778
|
-
return api.post("uploadDocumentTenancy", `/api/v1/public/tenancy/${params.tenancy_uid}/documents
|
|
820
|
+
uploadDocument: (params, payload) => {
|
|
821
|
+
return api.post("uploadDocumentTenancy", `/api/v1/public/tenancy/${params.tenancy_uid}/documents`, payload);
|
|
779
822
|
},
|
|
780
823
|
downloadDocument: (params) => {
|
|
781
824
|
return api.get("downloadDocumentTenancy", `/api/v1/public/tenancy/${params.tenancy_uid}/documents/${params.document_id}`);
|
|
@@ -790,8 +833,8 @@ var user = {
|
|
|
790
833
|
toggleTwoFactor: (payload) => {
|
|
791
834
|
return api.post("toggleTwoFactor", "/api/v1/public/user/two-factor/toggle", payload);
|
|
792
835
|
},
|
|
793
|
-
updateAvatar: () => {
|
|
794
|
-
return api.post("updateAvatar", "/api/v1/public/user/avatar");
|
|
836
|
+
updateAvatar: (payload) => {
|
|
837
|
+
return api.post("updateAvatar", "/api/v1/public/user/avatar", payload);
|
|
795
838
|
}
|
|
796
839
|
};
|
|
797
840
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@justins-home/api-services",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.26",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@justins-home/
|
|
20
|
-
"@justins-home/
|
|
19
|
+
"@justins-home/types": "1.1.20",
|
|
20
|
+
"@justins-home/http-client": "1.1.20"
|
|
21
21
|
},
|
|
22
22
|
"publishConfig": {
|
|
23
23
|
"access": "public"
|