@mestra-dev/contract 0.0.95 → 0.0.97
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.ts +537 -660
- package/package.json +6 -3
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
26
26
|
readonly openapi: "3.0.3";
|
|
27
27
|
readonly info: {
|
|
28
28
|
readonly title: "Auth Service API";
|
|
29
|
-
readonly version: "1.5.
|
|
29
|
+
readonly version: "1.5.6";
|
|
30
30
|
readonly description: "OpenAPI specification for the Auth, Integrations, Workspace, Payments, Tasks, Templates, Tags, Comments, Assignees, Chat, Events, Billings, Files, and Notifications endpoints exposed by the k3-core platform. Unhandled HTTPException and unexpected errors are normalized by the global error handler to `{ success: false, error: string }` (status preserved for HTTPException; 500 otherwise).";
|
|
31
31
|
};
|
|
32
32
|
readonly servers: readonly [
|
|
@@ -86,7 +86,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
readonly name: "Customers";
|
|
89
|
-
readonly description: "
|
|
89
|
+
readonly description: "Category-specific customer create. Real-estate workspaces persist leads on customer_real_estates. List, get, update, delete, and get-tasks are not currently exposed.";
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
readonly name: "Events";
|
|
@@ -1944,22 +1944,17 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
1944
1944
|
readonly required: readonly [
|
|
1945
1945
|
"key",
|
|
1946
1946
|
"filename",
|
|
1947
|
-
"commentId",
|
|
1948
1947
|
"size",
|
|
1949
1948
|
"downloadUrl"
|
|
1950
1949
|
];
|
|
1951
1950
|
readonly properties: {
|
|
1952
1951
|
readonly key: {
|
|
1953
1952
|
readonly type: "string";
|
|
1954
|
-
readonly description: "Full S3 object key.";
|
|
1953
|
+
readonly description: "Full S3 object key (`{workspace}_services/{serviceId}/{filename}`).";
|
|
1955
1954
|
};
|
|
1956
1955
|
readonly filename: {
|
|
1957
1956
|
readonly type: "string";
|
|
1958
|
-
readonly description: "File name
|
|
1959
|
-
};
|
|
1960
|
-
readonly commentId: {
|
|
1961
|
-
readonly type: "string";
|
|
1962
|
-
readonly description: "First path segment under `{workspace}_services/{serviceId}/`. Kept as `commentId` to match the response payload.";
|
|
1957
|
+
readonly description: "File name under `{workspace}_services/{serviceId}/`.";
|
|
1963
1958
|
};
|
|
1964
1959
|
readonly size: {
|
|
1965
1960
|
readonly type: "integer";
|
|
@@ -3026,56 +3021,138 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
3026
3021
|
readonly type: "string";
|
|
3027
3022
|
readonly format: "uuid";
|
|
3028
3023
|
};
|
|
3024
|
+
readonly type: {
|
|
3025
|
+
readonly type: "string";
|
|
3026
|
+
readonly nullable: true;
|
|
3027
|
+
readonly enum: readonly [
|
|
3028
|
+
"buyer",
|
|
3029
|
+
"seller",
|
|
3030
|
+
"tenant",
|
|
3031
|
+
"landlord",
|
|
3032
|
+
"investor",
|
|
3033
|
+
"agent"
|
|
3034
|
+
];
|
|
3035
|
+
};
|
|
3029
3036
|
readonly name: {
|
|
3030
3037
|
readonly type: "string";
|
|
3031
3038
|
};
|
|
3032
|
-
readonly
|
|
3039
|
+
readonly companyName: {
|
|
3033
3040
|
readonly type: "string";
|
|
3034
|
-
readonly format: "email";
|
|
3035
3041
|
readonly nullable: true;
|
|
3036
3042
|
};
|
|
3037
|
-
readonly
|
|
3043
|
+
readonly phone: {
|
|
3038
3044
|
readonly type: "string";
|
|
3039
3045
|
readonly nullable: true;
|
|
3046
|
+
readonly description: "E.164 phone number.";
|
|
3040
3047
|
};
|
|
3041
|
-
readonly
|
|
3048
|
+
readonly telegram: {
|
|
3042
3049
|
readonly type: "string";
|
|
3043
3050
|
readonly nullable: true;
|
|
3044
|
-
readonly description: "Customer type/classification.";
|
|
3045
3051
|
};
|
|
3046
|
-
readonly
|
|
3052
|
+
readonly whatsapp: {
|
|
3047
3053
|
readonly type: "string";
|
|
3048
3054
|
readonly nullable: true;
|
|
3055
|
+
readonly description: "E.164 WhatsApp number.";
|
|
3049
3056
|
};
|
|
3050
|
-
readonly
|
|
3051
|
-
readonly type: "
|
|
3057
|
+
readonly email: {
|
|
3058
|
+
readonly type: "string";
|
|
3059
|
+
readonly format: "email";
|
|
3052
3060
|
readonly nullable: true;
|
|
3053
3061
|
};
|
|
3054
|
-
readonly
|
|
3062
|
+
readonly leadSource: {
|
|
3055
3063
|
readonly type: "string";
|
|
3056
3064
|
readonly nullable: true;
|
|
3057
|
-
readonly
|
|
3065
|
+
readonly enum: readonly [
|
|
3066
|
+
"cian",
|
|
3067
|
+
"avito",
|
|
3068
|
+
"vk",
|
|
3069
|
+
"yandex",
|
|
3070
|
+
"website",
|
|
3071
|
+
"referral",
|
|
3072
|
+
"walk_in"
|
|
3073
|
+
];
|
|
3074
|
+
};
|
|
3075
|
+
readonly budgetMin: {
|
|
3076
|
+
readonly type: "integer";
|
|
3077
|
+
readonly nullable: true;
|
|
3078
|
+
};
|
|
3079
|
+
readonly budgetMax: {
|
|
3080
|
+
readonly type: "integer";
|
|
3081
|
+
readonly nullable: true;
|
|
3082
|
+
};
|
|
3083
|
+
readonly inHandBudget: {
|
|
3084
|
+
readonly type: "integer";
|
|
3085
|
+
readonly nullable: true;
|
|
3086
|
+
};
|
|
3087
|
+
readonly installmentBudget: {
|
|
3088
|
+
readonly type: "integer";
|
|
3089
|
+
readonly nullable: true;
|
|
3090
|
+
};
|
|
3091
|
+
readonly minArea: {
|
|
3092
|
+
readonly type: "integer";
|
|
3093
|
+
readonly nullable: true;
|
|
3094
|
+
};
|
|
3095
|
+
readonly maxArea: {
|
|
3096
|
+
readonly type: "integer";
|
|
3097
|
+
readonly nullable: true;
|
|
3098
|
+
};
|
|
3099
|
+
readonly roomsCount: {
|
|
3100
|
+
readonly type: "integer";
|
|
3101
|
+
readonly nullable: true;
|
|
3102
|
+
};
|
|
3103
|
+
readonly preferredDistricts: {
|
|
3104
|
+
readonly type: "array";
|
|
3105
|
+
readonly nullable: true;
|
|
3106
|
+
readonly items: {
|
|
3107
|
+
readonly type: "string";
|
|
3108
|
+
};
|
|
3058
3109
|
};
|
|
3059
|
-
readonly
|
|
3110
|
+
readonly propertyType: {
|
|
3060
3111
|
readonly type: "string";
|
|
3061
3112
|
readonly nullable: true;
|
|
3062
|
-
readonly description: "Company phone number.";
|
|
3063
3113
|
};
|
|
3064
|
-
readonly
|
|
3114
|
+
readonly maxMetroDistance: {
|
|
3115
|
+
readonly type: "integer";
|
|
3116
|
+
readonly nullable: true;
|
|
3117
|
+
};
|
|
3118
|
+
readonly dealStatus: {
|
|
3065
3119
|
readonly type: "string";
|
|
3066
3120
|
readonly nullable: true;
|
|
3067
|
-
readonly
|
|
3121
|
+
readonly enum: readonly [
|
|
3122
|
+
"just_browsing",
|
|
3123
|
+
"serious_buyer",
|
|
3124
|
+
"mortgage_approved",
|
|
3125
|
+
"signed_contract",
|
|
3126
|
+
"closed_deal"
|
|
3127
|
+
];
|
|
3068
3128
|
};
|
|
3069
|
-
readonly
|
|
3129
|
+
readonly preferredPaymentMethod: {
|
|
3070
3130
|
readonly type: "string";
|
|
3071
3131
|
readonly nullable: true;
|
|
3132
|
+
readonly enum: readonly [
|
|
3133
|
+
"full_payment",
|
|
3134
|
+
"mortgage",
|
|
3135
|
+
"installment"
|
|
3136
|
+
];
|
|
3137
|
+
};
|
|
3138
|
+
readonly childrenCount: {
|
|
3139
|
+
readonly type: "integer";
|
|
3140
|
+
readonly nullable: true;
|
|
3141
|
+
};
|
|
3142
|
+
readonly hasPets: {
|
|
3143
|
+
readonly type: "boolean";
|
|
3144
|
+
readonly nullable: true;
|
|
3145
|
+
};
|
|
3146
|
+
readonly carsCount: {
|
|
3147
|
+
readonly type: "integer";
|
|
3148
|
+
readonly nullable: true;
|
|
3072
3149
|
};
|
|
3073
3150
|
readonly birthDate: {
|
|
3074
3151
|
readonly type: "string";
|
|
3075
3152
|
readonly format: "date-time";
|
|
3076
3153
|
readonly nullable: true;
|
|
3077
3154
|
};
|
|
3078
|
-
readonly
|
|
3155
|
+
readonly notes: {
|
|
3079
3156
|
readonly type: "string";
|
|
3080
3157
|
readonly nullable: true;
|
|
3081
3158
|
};
|
|
@@ -3108,7 +3185,11 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
3108
3185
|
readonly const: true;
|
|
3109
3186
|
};
|
|
3110
3187
|
readonly customer: {
|
|
3111
|
-
readonly
|
|
3188
|
+
readonly type: "array";
|
|
3189
|
+
readonly items: {
|
|
3190
|
+
readonly $ref: "#/components/schemas/Customer";
|
|
3191
|
+
};
|
|
3192
|
+
readonly description: "Created customer(s) from insert returning.";
|
|
3112
3193
|
};
|
|
3113
3194
|
};
|
|
3114
3195
|
};
|
|
@@ -3420,6 +3501,26 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
3420
3501
|
};
|
|
3421
3502
|
};
|
|
3422
3503
|
};
|
|
3504
|
+
readonly UpdateServiceSuccess: {
|
|
3505
|
+
readonly type: "object";
|
|
3506
|
+
readonly required: readonly [
|
|
3507
|
+
"success",
|
|
3508
|
+
"service"
|
|
3509
|
+
];
|
|
3510
|
+
readonly properties: {
|
|
3511
|
+
readonly success: {
|
|
3512
|
+
readonly type: "boolean";
|
|
3513
|
+
readonly const: true;
|
|
3514
|
+
};
|
|
3515
|
+
readonly service: {
|
|
3516
|
+
readonly type: "array";
|
|
3517
|
+
readonly items: {
|
|
3518
|
+
readonly $ref: "#/components/schemas/Service";
|
|
3519
|
+
};
|
|
3520
|
+
readonly description: "Updated service(s) from update returning.";
|
|
3521
|
+
};
|
|
3522
|
+
};
|
|
3523
|
+
};
|
|
3423
3524
|
readonly ListServicesSuccess: {
|
|
3424
3525
|
readonly type: "object";
|
|
3425
3526
|
readonly required: readonly [
|
|
@@ -8955,7 +9056,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
8955
9056
|
"Customers"
|
|
8956
9057
|
];
|
|
8957
9058
|
readonly summary: "Create a new customer";
|
|
8958
|
-
readonly description: "Creates a customer in the specified workspace. Requires workspace access
|
|
9059
|
+
readonly description: "Creates a category-specific customer in the specified workspace. Real-estate workspaces persist a lead on customer_real_estates. Requires workspace access, write access to crm::customers, and billing capacity for customers. Other workspace categories return 400.";
|
|
8959
9060
|
readonly security: readonly [
|
|
8960
9061
|
never
|
|
8961
9062
|
];
|
|
@@ -8979,52 +9080,123 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
8979
9080
|
readonly type: "string";
|
|
8980
9081
|
readonly description: "Customer name.";
|
|
8981
9082
|
};
|
|
8982
|
-
readonly
|
|
9083
|
+
readonly type: {
|
|
9084
|
+
readonly type: "string";
|
|
9085
|
+
readonly enum: readonly [
|
|
9086
|
+
"buyer",
|
|
9087
|
+
"seller",
|
|
9088
|
+
"tenant",
|
|
9089
|
+
"landlord",
|
|
9090
|
+
"investor",
|
|
9091
|
+
"agent"
|
|
9092
|
+
];
|
|
9093
|
+
};
|
|
9094
|
+
readonly companyName: {
|
|
8983
9095
|
readonly type: "string";
|
|
8984
|
-
readonly format: "email";
|
|
8985
|
-
readonly nullable: true;
|
|
8986
|
-
readonly description: "Customer email address (optional).";
|
|
8987
9096
|
};
|
|
8988
9097
|
readonly phone: {
|
|
8989
9098
|
readonly type: "string";
|
|
8990
|
-
readonly description: "
|
|
9099
|
+
readonly description: "E.164 phone number.";
|
|
8991
9100
|
};
|
|
8992
|
-
readonly
|
|
9101
|
+
readonly telegram: {
|
|
8993
9102
|
readonly type: "string";
|
|
8994
|
-
readonly description: "Company phone number.";
|
|
8995
9103
|
};
|
|
8996
|
-
readonly
|
|
9104
|
+
readonly whatsapp: {
|
|
8997
9105
|
readonly type: "string";
|
|
8998
|
-
readonly description: "
|
|
9106
|
+
readonly description: "E.164 WhatsApp number.";
|
|
8999
9107
|
};
|
|
9000
|
-
readonly
|
|
9108
|
+
readonly email: {
|
|
9001
9109
|
readonly type: "string";
|
|
9002
|
-
readonly
|
|
9110
|
+
readonly format: "email";
|
|
9003
9111
|
};
|
|
9004
|
-
readonly
|
|
9112
|
+
readonly leadSource: {
|
|
9005
9113
|
readonly type: "string";
|
|
9006
|
-
readonly
|
|
9114
|
+
readonly enum: readonly [
|
|
9115
|
+
"cian",
|
|
9116
|
+
"avito",
|
|
9117
|
+
"vk",
|
|
9118
|
+
"yandex",
|
|
9119
|
+
"website",
|
|
9120
|
+
"referral",
|
|
9121
|
+
"walk_in"
|
|
9122
|
+
];
|
|
9007
9123
|
};
|
|
9008
|
-
readonly
|
|
9124
|
+
readonly budgetMin: {
|
|
9125
|
+
readonly type: "number";
|
|
9126
|
+
readonly minimum: 0;
|
|
9127
|
+
};
|
|
9128
|
+
readonly budgetMax: {
|
|
9129
|
+
readonly type: "number";
|
|
9130
|
+
readonly minimum: 0;
|
|
9131
|
+
};
|
|
9132
|
+
readonly inHandBudget: {
|
|
9133
|
+
readonly type: "number";
|
|
9134
|
+
readonly minimum: 0;
|
|
9135
|
+
};
|
|
9136
|
+
readonly installmentBudget: {
|
|
9137
|
+
readonly type: "number";
|
|
9138
|
+
readonly minimum: 0;
|
|
9139
|
+
};
|
|
9140
|
+
readonly minArea: {
|
|
9141
|
+
readonly type: "number";
|
|
9142
|
+
readonly minimum: 0;
|
|
9143
|
+
};
|
|
9144
|
+
readonly maxArea: {
|
|
9145
|
+
readonly type: "number";
|
|
9146
|
+
readonly minimum: 0;
|
|
9147
|
+
};
|
|
9148
|
+
readonly roomsCount: {
|
|
9149
|
+
readonly type: "integer";
|
|
9150
|
+
readonly minimum: 0;
|
|
9151
|
+
};
|
|
9152
|
+
readonly preferredDistricts: {
|
|
9153
|
+
readonly type: "array";
|
|
9154
|
+
readonly items: {
|
|
9155
|
+
readonly type: "string";
|
|
9156
|
+
};
|
|
9157
|
+
};
|
|
9158
|
+
readonly propertyType: {
|
|
9009
9159
|
readonly type: "string";
|
|
9010
|
-
readonly description: "Customer type/classification.";
|
|
9011
9160
|
};
|
|
9012
|
-
readonly
|
|
9161
|
+
readonly maxMetroDistance: {
|
|
9162
|
+
readonly type: "number";
|
|
9163
|
+
readonly minimum: 0;
|
|
9164
|
+
};
|
|
9165
|
+
readonly dealStatus: {
|
|
9013
9166
|
readonly type: "string";
|
|
9014
|
-
readonly
|
|
9167
|
+
readonly enum: readonly [
|
|
9168
|
+
"just_browsing",
|
|
9169
|
+
"serious_buyer",
|
|
9170
|
+
"mortgage_approved",
|
|
9171
|
+
"signed_contract",
|
|
9172
|
+
"closed_deal"
|
|
9173
|
+
];
|
|
9015
9174
|
};
|
|
9016
|
-
readonly
|
|
9175
|
+
readonly preferredPaymentMethod: {
|
|
9176
|
+
readonly type: "string";
|
|
9177
|
+
readonly enum: readonly [
|
|
9178
|
+
"full_payment",
|
|
9179
|
+
"mortgage",
|
|
9180
|
+
"installment"
|
|
9181
|
+
];
|
|
9182
|
+
};
|
|
9183
|
+
readonly childrenCount: {
|
|
9184
|
+
readonly type: "integer";
|
|
9185
|
+
readonly minimum: 0;
|
|
9186
|
+
};
|
|
9187
|
+
readonly hasPets: {
|
|
9017
9188
|
readonly type: "boolean";
|
|
9018
|
-
|
|
9189
|
+
};
|
|
9190
|
+
readonly carsCount: {
|
|
9191
|
+
readonly type: "integer";
|
|
9192
|
+
readonly minimum: 0;
|
|
9019
9193
|
};
|
|
9020
9194
|
readonly birthDate: {
|
|
9021
9195
|
readonly type: "string";
|
|
9022
9196
|
readonly format: "date-time";
|
|
9023
|
-
readonly description: "Customer birth date.";
|
|
9024
9197
|
};
|
|
9025
|
-
readonly
|
|
9198
|
+
readonly notes: {
|
|
9026
9199
|
readonly type: "string";
|
|
9027
|
-
readonly description: "UTM source attribution string.";
|
|
9028
9200
|
};
|
|
9029
9201
|
};
|
|
9030
9202
|
};
|
|
@@ -9043,73 +9215,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9043
9215
|
};
|
|
9044
9216
|
};
|
|
9045
9217
|
readonly 400: {
|
|
9046
|
-
readonly description: "Invalid request payload.";
|
|
9047
|
-
readonly content: {
|
|
9048
|
-
readonly "application/json": {
|
|
9049
|
-
readonly schema: {
|
|
9050
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9051
|
-
};
|
|
9052
|
-
};
|
|
9053
|
-
};
|
|
9054
|
-
};
|
|
9055
|
-
readonly 401: {
|
|
9056
|
-
readonly description: "Unauthorized - Missing or invalid access token.";
|
|
9057
|
-
readonly content: {
|
|
9058
|
-
readonly "application/json": {
|
|
9059
|
-
readonly schema: {
|
|
9060
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9061
|
-
};
|
|
9062
|
-
};
|
|
9063
|
-
};
|
|
9064
|
-
};
|
|
9065
|
-
readonly 403: {
|
|
9066
|
-
readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access, or user lacks write access to crm::customers resource.";
|
|
9067
|
-
readonly content: {
|
|
9068
|
-
readonly "application/json": {
|
|
9069
|
-
readonly schema: {
|
|
9070
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9071
|
-
};
|
|
9072
|
-
};
|
|
9073
|
-
};
|
|
9074
|
-
};
|
|
9075
|
-
};
|
|
9076
|
-
};
|
|
9077
|
-
};
|
|
9078
|
-
readonly "/customers/list/{workspace}": {
|
|
9079
|
-
readonly get: {
|
|
9080
|
-
readonly tags: readonly [
|
|
9081
|
-
"Customers"
|
|
9082
|
-
];
|
|
9083
|
-
readonly summary: "List customers for a workspace";
|
|
9084
|
-
readonly description: "Returns all customers in the specified workspace. Requires workspace access and read access to crm::customers resource.";
|
|
9085
|
-
readonly security: readonly [
|
|
9086
|
-
never
|
|
9087
|
-
];
|
|
9088
|
-
readonly parameters: readonly [
|
|
9089
|
-
{
|
|
9090
|
-
readonly name: "workspace";
|
|
9091
|
-
readonly in: "path";
|
|
9092
|
-
readonly required: true;
|
|
9093
|
-
readonly description: "Workspace identifier to retrieve customers for.";
|
|
9094
|
-
readonly schema: {
|
|
9095
|
-
readonly type: "string";
|
|
9096
|
-
readonly format: "uuid";
|
|
9097
|
-
};
|
|
9098
|
-
}
|
|
9099
|
-
];
|
|
9100
|
-
readonly responses: {
|
|
9101
|
-
readonly 200: {
|
|
9102
|
-
readonly description: "Customers fetched successfully.";
|
|
9103
|
-
readonly content: {
|
|
9104
|
-
readonly "application/json": {
|
|
9105
|
-
readonly schema: {
|
|
9106
|
-
readonly $ref: "#/components/schemas/ListCustomersSuccess";
|
|
9107
|
-
};
|
|
9108
|
-
};
|
|
9109
|
-
};
|
|
9110
|
-
};
|
|
9111
|
-
readonly 400: {
|
|
9112
|
-
readonly description: "Invalid workspace id.";
|
|
9218
|
+
readonly description: "Invalid request payload or unsupported workspace category.";
|
|
9113
9219
|
readonly content: {
|
|
9114
9220
|
readonly "application/json": {
|
|
9115
9221
|
readonly schema: {
|
|
@@ -9129,7 +9235,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9129
9235
|
};
|
|
9130
9236
|
};
|
|
9131
9237
|
readonly 403: {
|
|
9132
|
-
readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access,
|
|
9238
|
+
readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access, write access to crm::customers, or billing capacity for customers.";
|
|
9133
9239
|
readonly content: {
|
|
9134
9240
|
readonly "application/json": {
|
|
9135
9241
|
readonly schema: {
|
|
@@ -9141,99 +9247,13 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9141
9247
|
};
|
|
9142
9248
|
};
|
|
9143
9249
|
};
|
|
9144
|
-
readonly "/
|
|
9145
|
-
readonly
|
|
9250
|
+
readonly "/services/create": {
|
|
9251
|
+
readonly post: {
|
|
9146
9252
|
readonly tags: readonly [
|
|
9147
|
-
"
|
|
9253
|
+
"Services"
|
|
9148
9254
|
];
|
|
9149
|
-
readonly summary: "
|
|
9150
|
-
readonly description: "
|
|
9151
|
-
readonly security: readonly [
|
|
9152
|
-
never
|
|
9153
|
-
];
|
|
9154
|
-
readonly parameters: readonly [
|
|
9155
|
-
{
|
|
9156
|
-
readonly name: "workspace";
|
|
9157
|
-
readonly in: "path";
|
|
9158
|
-
readonly required: true;
|
|
9159
|
-
readonly description: "Workspace identifier where the customer belongs.";
|
|
9160
|
-
readonly schema: {
|
|
9161
|
-
readonly type: "string";
|
|
9162
|
-
readonly format: "uuid";
|
|
9163
|
-
};
|
|
9164
|
-
},
|
|
9165
|
-
{
|
|
9166
|
-
readonly name: "customerId";
|
|
9167
|
-
readonly in: "path";
|
|
9168
|
-
readonly required: true;
|
|
9169
|
-
readonly description: "Customer identifier to retrieve.";
|
|
9170
|
-
readonly schema: {
|
|
9171
|
-
readonly type: "string";
|
|
9172
|
-
readonly format: "uuid";
|
|
9173
|
-
};
|
|
9174
|
-
}
|
|
9175
|
-
];
|
|
9176
|
-
readonly responses: {
|
|
9177
|
-
readonly 200: {
|
|
9178
|
-
readonly description: "Customer fetched successfully.";
|
|
9179
|
-
readonly content: {
|
|
9180
|
-
readonly "application/json": {
|
|
9181
|
-
readonly schema: {
|
|
9182
|
-
readonly $ref: "#/components/schemas/GetCustomerSuccess";
|
|
9183
|
-
};
|
|
9184
|
-
};
|
|
9185
|
-
};
|
|
9186
|
-
};
|
|
9187
|
-
readonly 400: {
|
|
9188
|
-
readonly description: "Invalid workspace id or customer id.";
|
|
9189
|
-
readonly content: {
|
|
9190
|
-
readonly "application/json": {
|
|
9191
|
-
readonly schema: {
|
|
9192
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9193
|
-
};
|
|
9194
|
-
};
|
|
9195
|
-
};
|
|
9196
|
-
};
|
|
9197
|
-
readonly 401: {
|
|
9198
|
-
readonly description: "Unauthorized - Missing or invalid access token.";
|
|
9199
|
-
readonly content: {
|
|
9200
|
-
readonly "application/json": {
|
|
9201
|
-
readonly schema: {
|
|
9202
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9203
|
-
};
|
|
9204
|
-
};
|
|
9205
|
-
};
|
|
9206
|
-
};
|
|
9207
|
-
readonly 403: {
|
|
9208
|
-
readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access, or user lacks read access to crm::customers resource.";
|
|
9209
|
-
readonly content: {
|
|
9210
|
-
readonly "application/json": {
|
|
9211
|
-
readonly schema: {
|
|
9212
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9213
|
-
};
|
|
9214
|
-
};
|
|
9215
|
-
};
|
|
9216
|
-
};
|
|
9217
|
-
readonly 404: {
|
|
9218
|
-
readonly description: "Customer not found.";
|
|
9219
|
-
readonly content: {
|
|
9220
|
-
readonly "application/json": {
|
|
9221
|
-
readonly schema: {
|
|
9222
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9223
|
-
};
|
|
9224
|
-
};
|
|
9225
|
-
};
|
|
9226
|
-
};
|
|
9227
|
-
};
|
|
9228
|
-
};
|
|
9229
|
-
};
|
|
9230
|
-
readonly "/customers/delete": {
|
|
9231
|
-
readonly post: {
|
|
9232
|
-
readonly tags: readonly [
|
|
9233
|
-
"Customers"
|
|
9234
|
-
];
|
|
9235
|
-
readonly summary: "Delete a customer";
|
|
9236
|
-
readonly description: "Deletes a customer from the specified workspace. Requires workspace access and write access to crm::customers resource.";
|
|
9255
|
+
readonly summary: "Create a new service";
|
|
9256
|
+
readonly description: "Creates a category-specific service in the specified workspace. Real-estate workspaces persist a listing on service_real_estates. Requires workspace access, write access to crm::services, and billing capacity for services.";
|
|
9237
9257
|
readonly security: readonly [
|
|
9238
9258
|
never
|
|
9239
9259
|
];
|
|
@@ -9244,158 +9264,181 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9244
9264
|
readonly schema: {
|
|
9245
9265
|
readonly type: "object";
|
|
9246
9266
|
readonly required: readonly [
|
|
9247
|
-
"
|
|
9248
|
-
"
|
|
9267
|
+
"workspace",
|
|
9268
|
+
"title"
|
|
9249
9269
|
];
|
|
9250
9270
|
readonly properties: {
|
|
9251
|
-
readonly
|
|
9271
|
+
readonly workspace: {
|
|
9252
9272
|
readonly type: "string";
|
|
9253
9273
|
readonly format: "uuid";
|
|
9254
|
-
readonly description: "
|
|
9274
|
+
readonly description: "Workspace identifier where the service is created.";
|
|
9255
9275
|
};
|
|
9256
|
-
readonly
|
|
9276
|
+
readonly title: {
|
|
9257
9277
|
readonly type: "string";
|
|
9258
|
-
readonly
|
|
9259
|
-
readonly description: "Workspace identifier where the customer belongs.";
|
|
9278
|
+
readonly description: "Listing title.";
|
|
9260
9279
|
};
|
|
9261
|
-
|
|
9262
|
-
|
|
9263
|
-
|
|
9264
|
-
|
|
9265
|
-
|
|
9266
|
-
readonly responses: {
|
|
9267
|
-
readonly 200: {
|
|
9268
|
-
readonly description: "Customer deleted successfully.";
|
|
9269
|
-
readonly content: {
|
|
9270
|
-
readonly "application/json": {
|
|
9271
|
-
readonly schema: {
|
|
9272
|
-
readonly $ref: "#/components/schemas/SimpleSuccess";
|
|
9273
|
-
};
|
|
9274
|
-
};
|
|
9275
|
-
};
|
|
9276
|
-
};
|
|
9277
|
-
readonly 400: {
|
|
9278
|
-
readonly description: "Invalid request payload.";
|
|
9279
|
-
readonly content: {
|
|
9280
|
-
readonly "application/json": {
|
|
9281
|
-
readonly schema: {
|
|
9282
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9283
|
-
};
|
|
9284
|
-
};
|
|
9285
|
-
};
|
|
9286
|
-
};
|
|
9287
|
-
readonly 401: {
|
|
9288
|
-
readonly description: "Unauthorized - Missing or invalid access token.";
|
|
9289
|
-
readonly content: {
|
|
9290
|
-
readonly "application/json": {
|
|
9291
|
-
readonly schema: {
|
|
9292
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9293
|
-
};
|
|
9294
|
-
};
|
|
9295
|
-
};
|
|
9296
|
-
};
|
|
9297
|
-
readonly 403: {
|
|
9298
|
-
readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access, or user lacks write access to crm::customers resource.";
|
|
9299
|
-
readonly content: {
|
|
9300
|
-
readonly "application/json": {
|
|
9301
|
-
readonly schema: {
|
|
9302
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9303
|
-
};
|
|
9304
|
-
};
|
|
9305
|
-
};
|
|
9306
|
-
};
|
|
9307
|
-
readonly 404: {
|
|
9308
|
-
readonly description: "Customer not found.";
|
|
9309
|
-
readonly content: {
|
|
9310
|
-
readonly "application/json": {
|
|
9311
|
-
readonly schema: {
|
|
9312
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9313
|
-
};
|
|
9314
|
-
};
|
|
9315
|
-
};
|
|
9316
|
-
};
|
|
9317
|
-
};
|
|
9318
|
-
};
|
|
9319
|
-
};
|
|
9320
|
-
readonly "/customers/update": {
|
|
9321
|
-
readonly post: {
|
|
9322
|
-
readonly tags: readonly [
|
|
9323
|
-
"Customers"
|
|
9324
|
-
];
|
|
9325
|
-
readonly summary: "Update a customer";
|
|
9326
|
-
readonly description: "Updates a customer's details in the specified workspace. Requires workspace access and write access to crm::customers resource.";
|
|
9327
|
-
readonly security: readonly [
|
|
9328
|
-
never
|
|
9329
|
-
];
|
|
9330
|
-
readonly requestBody: {
|
|
9331
|
-
readonly required: true;
|
|
9332
|
-
readonly content: {
|
|
9333
|
-
readonly "application/json": {
|
|
9334
|
-
readonly schema: {
|
|
9335
|
-
readonly type: "object";
|
|
9336
|
-
readonly required: readonly [
|
|
9337
|
-
"customerId",
|
|
9338
|
-
"workspace"
|
|
9339
|
-
];
|
|
9340
|
-
readonly properties: {
|
|
9341
|
-
readonly customerId: {
|
|
9280
|
+
readonly active: {
|
|
9281
|
+
readonly type: "boolean";
|
|
9282
|
+
readonly description: "Whether the listing is active. Defaults to true when omitted.";
|
|
9283
|
+
};
|
|
9284
|
+
readonly type: {
|
|
9342
9285
|
readonly type: "string";
|
|
9343
|
-
readonly format: "uuid";
|
|
9344
|
-
readonly description: "Customer identifier to update.";
|
|
9345
9286
|
};
|
|
9346
|
-
readonly
|
|
9287
|
+
readonly currency: {
|
|
9347
9288
|
readonly type: "string";
|
|
9348
|
-
readonly
|
|
9349
|
-
|
|
9289
|
+
readonly enum: readonly [
|
|
9290
|
+
"USD",
|
|
9291
|
+
"EUR",
|
|
9292
|
+
"RUB"
|
|
9293
|
+
];
|
|
9350
9294
|
};
|
|
9351
|
-
readonly
|
|
9295
|
+
readonly description: {
|
|
9352
9296
|
readonly type: "string";
|
|
9353
|
-
readonly description: "Updated customer name.";
|
|
9354
9297
|
};
|
|
9355
|
-
readonly
|
|
9298
|
+
readonly price: {
|
|
9299
|
+
readonly type: "number";
|
|
9300
|
+
};
|
|
9301
|
+
readonly propertyType: {
|
|
9356
9302
|
readonly type: "string";
|
|
9357
|
-
readonly description: "Updated customer email address (optional, any string).";
|
|
9358
9303
|
};
|
|
9359
|
-
readonly
|
|
9304
|
+
readonly propertyStatus: {
|
|
9360
9305
|
readonly type: "string";
|
|
9361
|
-
readonly description: "Updated customer phone number.";
|
|
9362
9306
|
};
|
|
9363
|
-
readonly
|
|
9307
|
+
readonly commercialType: {
|
|
9364
9308
|
readonly type: "string";
|
|
9365
|
-
readonly description: "Updated company phone number.";
|
|
9366
9309
|
};
|
|
9367
|
-
readonly
|
|
9310
|
+
readonly commercialClass: {
|
|
9368
9311
|
readonly type: "string";
|
|
9369
|
-
readonly description: "Updated company address.";
|
|
9370
9312
|
};
|
|
9371
|
-
readonly
|
|
9313
|
+
readonly landType: {
|
|
9372
9314
|
readonly type: "string";
|
|
9373
|
-
readonly description: "Updated customer address.";
|
|
9374
9315
|
};
|
|
9375
|
-
readonly
|
|
9316
|
+
readonly ownershipType: {
|
|
9376
9317
|
readonly type: "string";
|
|
9377
|
-
readonly description: "Updated customer website.";
|
|
9378
9318
|
};
|
|
9379
|
-
readonly
|
|
9319
|
+
readonly loadingDockAccess: {
|
|
9320
|
+
readonly type: "boolean";
|
|
9321
|
+
};
|
|
9322
|
+
readonly waterAccess: {
|
|
9323
|
+
readonly type: "boolean";
|
|
9324
|
+
};
|
|
9325
|
+
readonly electricityAccess: {
|
|
9326
|
+
readonly type: "boolean";
|
|
9327
|
+
};
|
|
9328
|
+
readonly gasAccess: {
|
|
9329
|
+
readonly type: "boolean";
|
|
9330
|
+
};
|
|
9331
|
+
readonly sewageAccess: {
|
|
9332
|
+
readonly type: "boolean";
|
|
9333
|
+
};
|
|
9334
|
+
readonly internetAccess: {
|
|
9335
|
+
readonly type: "boolean";
|
|
9336
|
+
};
|
|
9337
|
+
readonly elevaorAccess: {
|
|
9338
|
+
readonly type: "boolean";
|
|
9339
|
+
};
|
|
9340
|
+
readonly seprateEntrance: {
|
|
9341
|
+
readonly type: "boolean";
|
|
9342
|
+
};
|
|
9343
|
+
readonly furnishedType: {
|
|
9380
9344
|
readonly type: "string";
|
|
9381
|
-
readonly description: "Updated customer type/classification.";
|
|
9382
9345
|
};
|
|
9383
|
-
readonly
|
|
9346
|
+
readonly parkingType: {
|
|
9384
9347
|
readonly type: "string";
|
|
9385
|
-
readonly description: "Updated customer description.";
|
|
9386
9348
|
};
|
|
9387
|
-
readonly
|
|
9349
|
+
readonly balconyAccess: {
|
|
9388
9350
|
readonly type: "boolean";
|
|
9389
|
-
readonly description: "Whether the customer is active.";
|
|
9390
9351
|
};
|
|
9391
|
-
readonly
|
|
9352
|
+
readonly loggiaAccess: {
|
|
9353
|
+
readonly type: "boolean";
|
|
9354
|
+
};
|
|
9355
|
+
readonly otherFeatures: {
|
|
9356
|
+
readonly type: "string";
|
|
9357
|
+
};
|
|
9358
|
+
readonly fullPayment: {
|
|
9359
|
+
readonly type: "boolean";
|
|
9360
|
+
};
|
|
9361
|
+
readonly mortgagePayment: {
|
|
9362
|
+
readonly type: "boolean";
|
|
9363
|
+
};
|
|
9364
|
+
readonly installmentPayment: {
|
|
9365
|
+
readonly type: "boolean";
|
|
9366
|
+
};
|
|
9367
|
+
readonly fullPaymentAmount: {
|
|
9368
|
+
readonly type: "number";
|
|
9369
|
+
};
|
|
9370
|
+
readonly mortgagePaymentAmount: {
|
|
9371
|
+
readonly type: "number";
|
|
9372
|
+
};
|
|
9373
|
+
readonly installmentPaymentAmount: {
|
|
9374
|
+
readonly type: "number";
|
|
9375
|
+
};
|
|
9376
|
+
readonly pricePerSquareMeter: {
|
|
9377
|
+
readonly type: "number";
|
|
9378
|
+
};
|
|
9379
|
+
readonly alternativeEURCurrency: {
|
|
9380
|
+
readonly type: "boolean";
|
|
9381
|
+
};
|
|
9382
|
+
readonly alternativeRUBCurrency: {
|
|
9383
|
+
readonly type: "boolean";
|
|
9384
|
+
};
|
|
9385
|
+
readonly alternativeUSDCurrency: {
|
|
9386
|
+
readonly type: "boolean";
|
|
9387
|
+
};
|
|
9388
|
+
readonly estimatedDeliveryDate: {
|
|
9392
9389
|
readonly type: "string";
|
|
9393
9390
|
readonly format: "date-time";
|
|
9394
|
-
readonly description: "Customer birth date.";
|
|
9395
9391
|
};
|
|
9396
|
-
readonly
|
|
9392
|
+
readonly roomsCount: {
|
|
9393
|
+
readonly type: "number";
|
|
9394
|
+
};
|
|
9395
|
+
readonly bathroomsCount: {
|
|
9396
|
+
readonly type: "number";
|
|
9397
|
+
};
|
|
9398
|
+
readonly bedroomsCount: {
|
|
9399
|
+
readonly type: "number";
|
|
9400
|
+
};
|
|
9401
|
+
readonly totalArea: {
|
|
9402
|
+
readonly type: "number";
|
|
9403
|
+
};
|
|
9404
|
+
readonly livingArea: {
|
|
9405
|
+
readonly type: "number";
|
|
9406
|
+
};
|
|
9407
|
+
readonly ceilingHeight: {
|
|
9408
|
+
readonly type: "number";
|
|
9409
|
+
};
|
|
9410
|
+
readonly floor: {
|
|
9411
|
+
readonly type: "number";
|
|
9412
|
+
};
|
|
9413
|
+
readonly totalFloors: {
|
|
9414
|
+
readonly type: "number";
|
|
9415
|
+
};
|
|
9416
|
+
readonly yearBuilt: {
|
|
9417
|
+
readonly type: "number";
|
|
9418
|
+
};
|
|
9419
|
+
readonly renovation: {
|
|
9420
|
+
readonly type: "string";
|
|
9421
|
+
};
|
|
9422
|
+
readonly developerName: {
|
|
9397
9423
|
readonly type: "string";
|
|
9398
|
-
|
|
9424
|
+
};
|
|
9425
|
+
readonly city: {
|
|
9426
|
+
readonly type: "string";
|
|
9427
|
+
};
|
|
9428
|
+
readonly district: {
|
|
9429
|
+
readonly type: "string";
|
|
9430
|
+
};
|
|
9431
|
+
readonly nearestMetroStation: {
|
|
9432
|
+
readonly type: "string";
|
|
9433
|
+
};
|
|
9434
|
+
readonly fullAddress: {
|
|
9435
|
+
readonly type: "string";
|
|
9436
|
+
};
|
|
9437
|
+
readonly latitude: {
|
|
9438
|
+
readonly type: "number";
|
|
9439
|
+
};
|
|
9440
|
+
readonly longitude: {
|
|
9441
|
+
readonly type: "number";
|
|
9399
9442
|
};
|
|
9400
9443
|
};
|
|
9401
9444
|
};
|
|
@@ -9403,12 +9446,12 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9403
9446
|
};
|
|
9404
9447
|
};
|
|
9405
9448
|
readonly responses: {
|
|
9406
|
-
readonly
|
|
9407
|
-
readonly description: "
|
|
9449
|
+
readonly 201: {
|
|
9450
|
+
readonly description: "Service created successfully.";
|
|
9408
9451
|
readonly content: {
|
|
9409
9452
|
readonly "application/json": {
|
|
9410
9453
|
readonly schema: {
|
|
9411
|
-
readonly $ref: "#/components/schemas/
|
|
9454
|
+
readonly $ref: "#/components/schemas/CreateServiceSuccess";
|
|
9412
9455
|
};
|
|
9413
9456
|
};
|
|
9414
9457
|
};
|
|
@@ -9434,97 +9477,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9434
9477
|
};
|
|
9435
9478
|
};
|
|
9436
9479
|
readonly 403: {
|
|
9437
|
-
readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access, or user lacks write access to crm::
|
|
9438
|
-
readonly content: {
|
|
9439
|
-
readonly "application/json": {
|
|
9440
|
-
readonly schema: {
|
|
9441
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9442
|
-
};
|
|
9443
|
-
};
|
|
9444
|
-
};
|
|
9445
|
-
};
|
|
9446
|
-
readonly 404: {
|
|
9447
|
-
readonly description: "Customer not found.";
|
|
9448
|
-
readonly content: {
|
|
9449
|
-
readonly "application/json": {
|
|
9450
|
-
readonly schema: {
|
|
9451
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9452
|
-
};
|
|
9453
|
-
};
|
|
9454
|
-
};
|
|
9455
|
-
};
|
|
9456
|
-
};
|
|
9457
|
-
};
|
|
9458
|
-
};
|
|
9459
|
-
readonly "/customers/get-tasks/{workspace}/{customerId}": {
|
|
9460
|
-
readonly get: {
|
|
9461
|
-
readonly tags: readonly [
|
|
9462
|
-
"Customers"
|
|
9463
|
-
];
|
|
9464
|
-
readonly summary: "List tasks for a customer";
|
|
9465
|
-
readonly description: "Returns tasks linked to a customer in the specified workspace. Requires workspace access and read access to crm::tasks resource.";
|
|
9466
|
-
readonly security: readonly [
|
|
9467
|
-
never
|
|
9468
|
-
];
|
|
9469
|
-
readonly parameters: readonly [
|
|
9470
|
-
{
|
|
9471
|
-
readonly name: "workspace";
|
|
9472
|
-
readonly in: "path";
|
|
9473
|
-
readonly required: true;
|
|
9474
|
-
readonly description: "Workspace identifier where the customer belongs.";
|
|
9475
|
-
readonly schema: {
|
|
9476
|
-
readonly type: "string";
|
|
9477
|
-
readonly format: "uuid";
|
|
9478
|
-
};
|
|
9479
|
-
},
|
|
9480
|
-
{
|
|
9481
|
-
readonly name: "customerId";
|
|
9482
|
-
readonly in: "path";
|
|
9483
|
-
readonly required: true;
|
|
9484
|
-
readonly description: "Customer identifier to retrieve tasks for.";
|
|
9485
|
-
readonly schema: {
|
|
9486
|
-
readonly type: "string";
|
|
9487
|
-
readonly format: "uuid";
|
|
9488
|
-
};
|
|
9489
|
-
}
|
|
9490
|
-
];
|
|
9491
|
-
readonly responses: {
|
|
9492
|
-
readonly 200: {
|
|
9493
|
-
readonly description: "Customer tasks fetched successfully.";
|
|
9494
|
-
readonly content: {
|
|
9495
|
-
readonly "application/json": {
|
|
9496
|
-
readonly schema: {
|
|
9497
|
-
readonly type: "object";
|
|
9498
|
-
readonly required: readonly [
|
|
9499
|
-
"success",
|
|
9500
|
-
"tasks"
|
|
9501
|
-
];
|
|
9502
|
-
readonly properties: {
|
|
9503
|
-
readonly success: {
|
|
9504
|
-
readonly type: "boolean";
|
|
9505
|
-
readonly const: true;
|
|
9506
|
-
};
|
|
9507
|
-
readonly tasks: {
|
|
9508
|
-
readonly type: "array";
|
|
9509
|
-
readonly items: any;
|
|
9510
|
-
};
|
|
9511
|
-
};
|
|
9512
|
-
};
|
|
9513
|
-
};
|
|
9514
|
-
};
|
|
9515
|
-
};
|
|
9516
|
-
readonly 401: {
|
|
9517
|
-
readonly description: "Unauthorized - Missing or invalid access token.";
|
|
9518
|
-
readonly content: {
|
|
9519
|
-
readonly "application/json": {
|
|
9520
|
-
readonly schema: {
|
|
9521
|
-
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9522
|
-
};
|
|
9523
|
-
};
|
|
9524
|
-
};
|
|
9525
|
-
};
|
|
9526
|
-
readonly 403: {
|
|
9527
|
-
readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access, or user lacks read access to crm::tasks resource.";
|
|
9480
|
+
readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access, or user lacks write access to crm::services resource.";
|
|
9528
9481
|
readonly content: {
|
|
9529
9482
|
readonly "application/json": {
|
|
9530
9483
|
readonly schema: {
|
|
@@ -9536,13 +9489,13 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9536
9489
|
};
|
|
9537
9490
|
};
|
|
9538
9491
|
};
|
|
9539
|
-
readonly "/services/
|
|
9492
|
+
readonly "/services/update": {
|
|
9540
9493
|
readonly post: {
|
|
9541
9494
|
readonly tags: readonly [
|
|
9542
9495
|
"Services"
|
|
9543
9496
|
];
|
|
9544
|
-
readonly summary: "
|
|
9545
|
-
readonly description: "
|
|
9497
|
+
readonly summary: "Update a service";
|
|
9498
|
+
readonly description: "Partially updates a category-specific service in the specified workspace. Real-estate workspaces update only the provided listing fields on service_real_estates. Requires workspace access, write access to crm::services, and billing access for services.";
|
|
9546
9499
|
readonly security: readonly [
|
|
9547
9500
|
never
|
|
9548
9501
|
];
|
|
@@ -9554,13 +9507,18 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9554
9507
|
readonly type: "object";
|
|
9555
9508
|
readonly required: readonly [
|
|
9556
9509
|
"workspace",
|
|
9557
|
-
"
|
|
9510
|
+
"serviceId"
|
|
9558
9511
|
];
|
|
9559
9512
|
readonly properties: {
|
|
9560
9513
|
readonly workspace: {
|
|
9561
9514
|
readonly type: "string";
|
|
9562
9515
|
readonly format: "uuid";
|
|
9563
|
-
readonly description: "Workspace identifier where the service
|
|
9516
|
+
readonly description: "Workspace identifier where the service belongs.";
|
|
9517
|
+
};
|
|
9518
|
+
readonly serviceId: {
|
|
9519
|
+
readonly type: "string";
|
|
9520
|
+
readonly format: "uuid";
|
|
9521
|
+
readonly description: "Service identifier to update.";
|
|
9564
9522
|
};
|
|
9565
9523
|
readonly title: {
|
|
9566
9524
|
readonly type: "string";
|
|
@@ -9568,7 +9526,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9568
9526
|
};
|
|
9569
9527
|
readonly active: {
|
|
9570
9528
|
readonly type: "boolean";
|
|
9571
|
-
readonly description: "Whether the listing is active.
|
|
9529
|
+
readonly description: "Whether the listing is active.";
|
|
9572
9530
|
};
|
|
9573
9531
|
readonly type: {
|
|
9574
9532
|
readonly type: "string";
|
|
@@ -9735,12 +9693,12 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9735
9693
|
};
|
|
9736
9694
|
};
|
|
9737
9695
|
readonly responses: {
|
|
9738
|
-
readonly
|
|
9739
|
-
readonly description: "Service
|
|
9696
|
+
readonly 200: {
|
|
9697
|
+
readonly description: "Service updated successfully.";
|
|
9740
9698
|
readonly content: {
|
|
9741
9699
|
readonly "application/json": {
|
|
9742
9700
|
readonly schema: {
|
|
9743
|
-
readonly $ref: "#/components/schemas/
|
|
9701
|
+
readonly $ref: "#/components/schemas/UpdateServiceSuccess";
|
|
9744
9702
|
};
|
|
9745
9703
|
};
|
|
9746
9704
|
};
|
|
@@ -9755,6 +9713,16 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
9755
9713
|
};
|
|
9756
9714
|
};
|
|
9757
9715
|
};
|
|
9716
|
+
readonly 404: {
|
|
9717
|
+
readonly description: "Service not found.";
|
|
9718
|
+
readonly content: {
|
|
9719
|
+
readonly "application/json": {
|
|
9720
|
+
readonly schema: {
|
|
9721
|
+
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
9722
|
+
};
|
|
9723
|
+
};
|
|
9724
|
+
};
|
|
9725
|
+
};
|
|
9758
9726
|
readonly 401: {
|
|
9759
9727
|
readonly description: "Unauthorized - Missing or invalid access token.";
|
|
9760
9728
|
readonly content: {
|
|
@@ -15240,12 +15208,120 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
15240
15208
|
};
|
|
15241
15209
|
};
|
|
15242
15210
|
} & {
|
|
15243
|
-
"/delete": {
|
|
15211
|
+
"/delete": {
|
|
15212
|
+
$post: {
|
|
15213
|
+
input: {};
|
|
15214
|
+
output: {
|
|
15215
|
+
success: false;
|
|
15216
|
+
error: never;
|
|
15217
|
+
};
|
|
15218
|
+
outputFormat: "json";
|
|
15219
|
+
status: 400;
|
|
15220
|
+
} | {
|
|
15221
|
+
input: {};
|
|
15222
|
+
output: {
|
|
15223
|
+
success: false;
|
|
15224
|
+
error: string;
|
|
15225
|
+
};
|
|
15226
|
+
outputFormat: "json";
|
|
15227
|
+
status: 404;
|
|
15228
|
+
} | {
|
|
15229
|
+
input: {};
|
|
15230
|
+
output: {
|
|
15231
|
+
success: true;
|
|
15232
|
+
};
|
|
15233
|
+
outputFormat: "json";
|
|
15234
|
+
status: 200;
|
|
15235
|
+
};
|
|
15236
|
+
};
|
|
15237
|
+
}, "/templates"> | import("hono/types").MergeSchemaPath<{
|
|
15238
|
+
"/create": {
|
|
15239
|
+
$post: {
|
|
15240
|
+
input: {};
|
|
15241
|
+
output: {
|
|
15242
|
+
success: false;
|
|
15243
|
+
error: string;
|
|
15244
|
+
};
|
|
15245
|
+
outputFormat: "json";
|
|
15246
|
+
status: 400;
|
|
15247
|
+
} | {
|
|
15248
|
+
input: {};
|
|
15249
|
+
output: {
|
|
15250
|
+
success: true;
|
|
15251
|
+
service: {
|
|
15252
|
+
id: string;
|
|
15253
|
+
title: string;
|
|
15254
|
+
type: string | null;
|
|
15255
|
+
created_at: string;
|
|
15256
|
+
active: boolean | null;
|
|
15257
|
+
workspaceId: string;
|
|
15258
|
+
description: string | null;
|
|
15259
|
+
price: number | null;
|
|
15260
|
+
currency: string | null;
|
|
15261
|
+
updated_at: string | null;
|
|
15262
|
+
deleted_at: string | null;
|
|
15263
|
+
verified_at: string | null;
|
|
15264
|
+
suspended_at: string | null;
|
|
15265
|
+
roomsCount: number | null;
|
|
15266
|
+
propertyType: string | null;
|
|
15267
|
+
propertyStatus: string | null;
|
|
15268
|
+
commercialType: string | null;
|
|
15269
|
+
commercialClass: string | null;
|
|
15270
|
+
landType: string | null;
|
|
15271
|
+
ownershipType: string | null;
|
|
15272
|
+
loadingDockAccess: boolean | null;
|
|
15273
|
+
waterAccess: boolean | null;
|
|
15274
|
+
electricityAccess: boolean | null;
|
|
15275
|
+
gasAccess: boolean | null;
|
|
15276
|
+
sewageAccess: boolean | null;
|
|
15277
|
+
internetAccess: boolean | null;
|
|
15278
|
+
elevaorAccess: boolean | null;
|
|
15279
|
+
seprateEntrance: boolean | null;
|
|
15280
|
+
furnishedType: string | null;
|
|
15281
|
+
parkingType: string | null;
|
|
15282
|
+
balconyAccess: boolean | null;
|
|
15283
|
+
loggiaAccess: boolean | null;
|
|
15284
|
+
otherFeatures: string | null;
|
|
15285
|
+
fullPayment: boolean | null;
|
|
15286
|
+
mortgagePayment: boolean | null;
|
|
15287
|
+
installmentPayment: boolean | null;
|
|
15288
|
+
fullPaymentAmount: number | null;
|
|
15289
|
+
mortgagePaymentAmount: number | null;
|
|
15290
|
+
installmentPaymentAmount: number | null;
|
|
15291
|
+
pricePerSquareMeter: number | null;
|
|
15292
|
+
alternativeEURCurrency: boolean | null;
|
|
15293
|
+
alternativeRUBCurrency: boolean | null;
|
|
15294
|
+
alternativeUSDCurrency: boolean | null;
|
|
15295
|
+
estimatedDeliveryDate: string | null;
|
|
15296
|
+
bathroomsCount: number | null;
|
|
15297
|
+
bedroomsCount: number | null;
|
|
15298
|
+
totalArea: number | null;
|
|
15299
|
+
livingArea: number | null;
|
|
15300
|
+
ceilingHeight: number | null;
|
|
15301
|
+
floor: number | null;
|
|
15302
|
+
totalFloors: number | null;
|
|
15303
|
+
yearBuilt: number | null;
|
|
15304
|
+
renovation: string | null;
|
|
15305
|
+
developerName: string | null;
|
|
15306
|
+
city: string | null;
|
|
15307
|
+
district: string | null;
|
|
15308
|
+
nearestMetroStation: string | null;
|
|
15309
|
+
fullAddress: string | null;
|
|
15310
|
+
latitude: string | null;
|
|
15311
|
+
longitude: string | null;
|
|
15312
|
+
}[];
|
|
15313
|
+
};
|
|
15314
|
+
outputFormat: "json";
|
|
15315
|
+
status: 201;
|
|
15316
|
+
};
|
|
15317
|
+
};
|
|
15318
|
+
} & {
|
|
15319
|
+
"/update": {
|
|
15244
15320
|
$post: {
|
|
15245
15321
|
input: {};
|
|
15246
15322
|
output: {
|
|
15247
15323
|
success: false;
|
|
15248
|
-
error:
|
|
15324
|
+
error: string;
|
|
15249
15325
|
};
|
|
15250
15326
|
outputFormat: "json";
|
|
15251
15327
|
status: 400;
|
|
@@ -15257,43 +15333,24 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
15257
15333
|
};
|
|
15258
15334
|
outputFormat: "json";
|
|
15259
15335
|
status: 404;
|
|
15260
|
-
} | {
|
|
15261
|
-
input: {};
|
|
15262
|
-
output: {
|
|
15263
|
-
success: true;
|
|
15264
|
-
};
|
|
15265
|
-
outputFormat: "json";
|
|
15266
|
-
status: 200;
|
|
15267
|
-
};
|
|
15268
|
-
};
|
|
15269
|
-
}, "/templates"> | import("hono/types").MergeSchemaPath<{
|
|
15270
|
-
"/create": {
|
|
15271
|
-
$post: {
|
|
15272
|
-
input: {};
|
|
15273
|
-
output: {
|
|
15274
|
-
success: false;
|
|
15275
|
-
error: string;
|
|
15276
|
-
};
|
|
15277
|
-
outputFormat: "json";
|
|
15278
|
-
status: 400;
|
|
15279
15336
|
} | {
|
|
15280
15337
|
input: {};
|
|
15281
15338
|
output: {
|
|
15282
15339
|
success: true;
|
|
15283
15340
|
service: {
|
|
15341
|
+
updated_at: string | null;
|
|
15342
|
+
deleted_at: string | null;
|
|
15343
|
+
verified_at: string | null;
|
|
15344
|
+
suspended_at: string | null;
|
|
15345
|
+
created_at: string;
|
|
15284
15346
|
id: string;
|
|
15347
|
+
workspaceId: string;
|
|
15285
15348
|
title: string;
|
|
15286
|
-
type: string | null;
|
|
15287
|
-
created_at: string;
|
|
15288
15349
|
active: boolean | null;
|
|
15289
|
-
|
|
15350
|
+
type: string | null;
|
|
15351
|
+
currency: string | null;
|
|
15290
15352
|
description: string | null;
|
|
15291
15353
|
price: number | null;
|
|
15292
|
-
currency: string | null;
|
|
15293
|
-
updated_at: string | null;
|
|
15294
|
-
deleted_at: string | null;
|
|
15295
|
-
verified_at: string | null;
|
|
15296
|
-
suspended_at: string | null;
|
|
15297
15354
|
propertyType: string | null;
|
|
15298
15355
|
propertyStatus: string | null;
|
|
15299
15356
|
commercialType: string | null;
|
|
@@ -15344,7 +15401,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
15344
15401
|
}[];
|
|
15345
15402
|
};
|
|
15346
15403
|
outputFormat: "json";
|
|
15347
|
-
status:
|
|
15404
|
+
status: 200;
|
|
15348
15405
|
};
|
|
15349
15406
|
};
|
|
15350
15407
|
} & {
|
|
@@ -15576,7 +15633,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
15576
15633
|
input: {};
|
|
15577
15634
|
output: {
|
|
15578
15635
|
success: false;
|
|
15579
|
-
error:
|
|
15636
|
+
error: string;
|
|
15580
15637
|
};
|
|
15581
15638
|
outputFormat: "json";
|
|
15582
15639
|
status: 400;
|
|
@@ -15589,217 +15646,38 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
15589
15646
|
type: string | null;
|
|
15590
15647
|
created_at: string;
|
|
15591
15648
|
name: string;
|
|
15592
|
-
active: boolean | null;
|
|
15593
15649
|
email: string | null;
|
|
15594
15650
|
workspaceId: string;
|
|
15595
|
-
|
|
15596
|
-
updated_at: string | null;
|
|
15597
|
-
deleted_at: string | null;
|
|
15598
|
-
verified_at: string | null;
|
|
15599
|
-
suspended_at: string | null;
|
|
15600
|
-
phone: string | null;
|
|
15601
|
-
website: string | null;
|
|
15602
|
-
companyPhone: string | null;
|
|
15603
|
-
companyAddress: string | null;
|
|
15604
|
-
address: string | null;
|
|
15605
|
-
birthDate: string | null;
|
|
15606
|
-
utmSource: string | null;
|
|
15607
|
-
};
|
|
15608
|
-
};
|
|
15609
|
-
outputFormat: "json";
|
|
15610
|
-
status: 201;
|
|
15611
|
-
};
|
|
15612
|
-
};
|
|
15613
|
-
} & {
|
|
15614
|
-
"/list/:workspace": {
|
|
15615
|
-
$get: {
|
|
15616
|
-
input: {
|
|
15617
|
-
param: {
|
|
15618
|
-
workspace: string;
|
|
15619
|
-
};
|
|
15620
|
-
};
|
|
15621
|
-
output: {
|
|
15622
|
-
success: true;
|
|
15623
|
-
customers: {
|
|
15624
|
-
updated_at: string | null;
|
|
15625
|
-
deleted_at: string | null;
|
|
15626
|
-
verified_at: string | null;
|
|
15627
|
-
suspended_at: string | null;
|
|
15628
|
-
created_at: string;
|
|
15629
|
-
id: string;
|
|
15630
|
-
workspaceId: string;
|
|
15631
|
-
name: string;
|
|
15632
|
-
email: string | null;
|
|
15633
|
-
website: string | null;
|
|
15634
|
-
type: string | null;
|
|
15635
|
-
description: string | null;
|
|
15636
|
-
active: boolean | null;
|
|
15637
|
-
phone: string | null;
|
|
15638
|
-
companyPhone: string | null;
|
|
15639
|
-
companyAddress: string | null;
|
|
15640
|
-
address: string | null;
|
|
15641
|
-
birthDate: string | null;
|
|
15642
|
-
utmSource: string | null;
|
|
15643
|
-
}[];
|
|
15644
|
-
};
|
|
15645
|
-
outputFormat: "json";
|
|
15646
|
-
status: 200;
|
|
15647
|
-
};
|
|
15648
|
-
};
|
|
15649
|
-
} & {
|
|
15650
|
-
"/get/:workspace/:customerId": {
|
|
15651
|
-
$get: {
|
|
15652
|
-
input: {
|
|
15653
|
-
param: {
|
|
15654
|
-
workspace: string;
|
|
15655
|
-
} & {
|
|
15656
|
-
customerId: string;
|
|
15657
|
-
};
|
|
15658
|
-
};
|
|
15659
|
-
output: {
|
|
15660
|
-
success: false;
|
|
15661
|
-
error: string;
|
|
15662
|
-
};
|
|
15663
|
-
outputFormat: "json";
|
|
15664
|
-
status: 404;
|
|
15665
|
-
} | {
|
|
15666
|
-
input: {
|
|
15667
|
-
param: {
|
|
15668
|
-
workspace: string;
|
|
15669
|
-
} & {
|
|
15670
|
-
customerId: string;
|
|
15671
|
-
};
|
|
15672
|
-
};
|
|
15673
|
-
output: {
|
|
15674
|
-
success: true;
|
|
15675
|
-
customer: {
|
|
15651
|
+
companyName: string | null;
|
|
15676
15652
|
updated_at: string | null;
|
|
15677
15653
|
deleted_at: string | null;
|
|
15678
15654
|
verified_at: string | null;
|
|
15679
15655
|
suspended_at: string | null;
|
|
15680
|
-
created_at: string;
|
|
15681
|
-
id: string;
|
|
15682
|
-
workspaceId: string;
|
|
15683
|
-
name: string;
|
|
15684
|
-
email: string | null;
|
|
15685
|
-
website: string | null;
|
|
15686
|
-
type: string | null;
|
|
15687
|
-
description: string | null;
|
|
15688
|
-
active: boolean | null;
|
|
15689
15656
|
phone: string | null;
|
|
15690
|
-
companyPhone: string | null;
|
|
15691
|
-
companyAddress: string | null;
|
|
15692
|
-
address: string | null;
|
|
15693
15657
|
birthDate: string | null;
|
|
15694
|
-
|
|
15658
|
+
telegram: string | null;
|
|
15659
|
+
whatsapp: string | null;
|
|
15660
|
+
leadSource: string | null;
|
|
15661
|
+
budgetMin: number | null;
|
|
15662
|
+
budgetMax: number | null;
|
|
15663
|
+
inHandBudget: number | null;
|
|
15664
|
+
installmentBudget: number | null;
|
|
15665
|
+
minArea: number | null;
|
|
15666
|
+
maxArea: number | null;
|
|
15667
|
+
roomsCount: number | null;
|
|
15668
|
+
preferredDistricts: string[] | null;
|
|
15669
|
+
propertyType: string | null;
|
|
15670
|
+
maxMetroDistance: number | null;
|
|
15671
|
+
dealStatus: string | null;
|
|
15672
|
+
preferredPaymentMethod: string | null;
|
|
15673
|
+
childrenCount: number | null;
|
|
15674
|
+
hasPets: boolean | null;
|
|
15675
|
+
carsCount: number | null;
|
|
15676
|
+
notes: string | null;
|
|
15695
15677
|
}[];
|
|
15696
15678
|
};
|
|
15697
15679
|
outputFormat: "json";
|
|
15698
|
-
status:
|
|
15699
|
-
};
|
|
15700
|
-
};
|
|
15701
|
-
} & {
|
|
15702
|
-
"/delete": {
|
|
15703
|
-
$post: {
|
|
15704
|
-
input: {};
|
|
15705
|
-
output: {
|
|
15706
|
-
success: false;
|
|
15707
|
-
error: never;
|
|
15708
|
-
};
|
|
15709
|
-
outputFormat: "json";
|
|
15710
|
-
status: 400;
|
|
15711
|
-
} | {
|
|
15712
|
-
input: {};
|
|
15713
|
-
output: {
|
|
15714
|
-
success: false;
|
|
15715
|
-
error: string;
|
|
15716
|
-
};
|
|
15717
|
-
outputFormat: "json";
|
|
15718
|
-
status: 404;
|
|
15719
|
-
} | {
|
|
15720
|
-
input: {};
|
|
15721
|
-
output: {
|
|
15722
|
-
success: true;
|
|
15723
|
-
};
|
|
15724
|
-
outputFormat: "json";
|
|
15725
|
-
status: 200;
|
|
15726
|
-
};
|
|
15727
|
-
};
|
|
15728
|
-
} & {
|
|
15729
|
-
"/update": {
|
|
15730
|
-
$post: {
|
|
15731
|
-
input: {};
|
|
15732
|
-
output: {
|
|
15733
|
-
success: false;
|
|
15734
|
-
error: never;
|
|
15735
|
-
};
|
|
15736
|
-
outputFormat: "json";
|
|
15737
|
-
status: 400;
|
|
15738
|
-
} | {
|
|
15739
|
-
input: {};
|
|
15740
|
-
output: {
|
|
15741
|
-
success: false;
|
|
15742
|
-
error: string;
|
|
15743
|
-
};
|
|
15744
|
-
outputFormat: "json";
|
|
15745
|
-
status: 404;
|
|
15746
|
-
} | {
|
|
15747
|
-
input: {};
|
|
15748
|
-
output: {
|
|
15749
|
-
success: true;
|
|
15750
|
-
customer: {
|
|
15751
|
-
updated_at: string | null;
|
|
15752
|
-
deleted_at: string | null;
|
|
15753
|
-
verified_at: string | null;
|
|
15754
|
-
suspended_at: string | null;
|
|
15755
|
-
created_at: string;
|
|
15756
|
-
id: string;
|
|
15757
|
-
workspaceId: string;
|
|
15758
|
-
name: string;
|
|
15759
|
-
email: string | null;
|
|
15760
|
-
website: string | null;
|
|
15761
|
-
type: string | null;
|
|
15762
|
-
description: string | null;
|
|
15763
|
-
active: boolean | null;
|
|
15764
|
-
phone: string | null;
|
|
15765
|
-
companyPhone: string | null;
|
|
15766
|
-
companyAddress: string | null;
|
|
15767
|
-
address: string | null;
|
|
15768
|
-
birthDate: string | null;
|
|
15769
|
-
utmSource: string | null;
|
|
15770
|
-
};
|
|
15771
|
-
};
|
|
15772
|
-
outputFormat: "json";
|
|
15773
|
-
status: 200;
|
|
15774
|
-
};
|
|
15775
|
-
};
|
|
15776
|
-
} & {
|
|
15777
|
-
"/get-tasks/:workspace/:customerId": {
|
|
15778
|
-
$get: {
|
|
15779
|
-
input: {
|
|
15780
|
-
param: {
|
|
15781
|
-
workspace: string;
|
|
15782
|
-
} & {
|
|
15783
|
-
customerId: string;
|
|
15784
|
-
};
|
|
15785
|
-
};
|
|
15786
|
-
output: {
|
|
15787
|
-
success: true;
|
|
15788
|
-
tasks: {
|
|
15789
|
-
id: string;
|
|
15790
|
-
subject: string;
|
|
15791
|
-
description: string | null;
|
|
15792
|
-
visibility: string | null;
|
|
15793
|
-
status: string | null;
|
|
15794
|
-
priority: string | null;
|
|
15795
|
-
created_at: string;
|
|
15796
|
-
workspaceId: string;
|
|
15797
|
-
created_by: string;
|
|
15798
|
-
comments_count: number;
|
|
15799
|
-
}[] | null;
|
|
15800
|
-
};
|
|
15801
|
-
outputFormat: "json";
|
|
15802
|
-
status: 200;
|
|
15680
|
+
status: 201;
|
|
15803
15681
|
};
|
|
15804
15682
|
};
|
|
15805
15683
|
}, "/customers"> | import("hono/types").MergeSchemaPath<{
|
|
@@ -20136,7 +20014,6 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
20136
20014
|
files: {
|
|
20137
20015
|
key: string;
|
|
20138
20016
|
filename: string;
|
|
20139
|
-
commentId: string;
|
|
20140
20017
|
size: number;
|
|
20141
20018
|
lastModified: string | null;
|
|
20142
20019
|
downloadUrl: string;
|