@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.
Files changed (2) hide show
  1. package/dist/index.d.ts +537 -660
  2. 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.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: "Customer management endpoints";
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 segment after the first path component under the service prefix.";
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 email: {
3039
+ readonly companyName: {
3033
3040
  readonly type: "string";
3034
- readonly format: "email";
3035
3041
  readonly nullable: true;
3036
3042
  };
3037
- readonly website: {
3043
+ readonly phone: {
3038
3044
  readonly type: "string";
3039
3045
  readonly nullable: true;
3046
+ readonly description: "E.164 phone number.";
3040
3047
  };
3041
- readonly type: {
3048
+ readonly telegram: {
3042
3049
  readonly type: "string";
3043
3050
  readonly nullable: true;
3044
- readonly description: "Customer type/classification.";
3045
3051
  };
3046
- readonly description: {
3052
+ readonly whatsapp: {
3047
3053
  readonly type: "string";
3048
3054
  readonly nullable: true;
3055
+ readonly description: "E.164 WhatsApp number.";
3049
3056
  };
3050
- readonly active: {
3051
- readonly type: "boolean";
3057
+ readonly email: {
3058
+ readonly type: "string";
3059
+ readonly format: "email";
3052
3060
  readonly nullable: true;
3053
3061
  };
3054
- readonly phone: {
3062
+ readonly leadSource: {
3055
3063
  readonly type: "string";
3056
3064
  readonly nullable: true;
3057
- readonly description: "Personal or primary contact phone.";
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 companyPhone: {
3110
+ readonly propertyType: {
3060
3111
  readonly type: "string";
3061
3112
  readonly nullable: true;
3062
- readonly description: "Company phone number.";
3063
3113
  };
3064
- readonly companyAddress: {
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 description: "Company address.";
3121
+ readonly enum: readonly [
3122
+ "just_browsing",
3123
+ "serious_buyer",
3124
+ "mortgage_approved",
3125
+ "signed_contract",
3126
+ "closed_deal"
3127
+ ];
3068
3128
  };
3069
- readonly address: {
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 utmSource: {
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 $ref: "#/components/schemas/Customer";
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 and write access to crm::customers resource.";
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 email: {
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: "Customer phone number.";
9099
+ readonly description: "E.164 phone number.";
8991
9100
  };
8992
- readonly companyPhone: {
9101
+ readonly telegram: {
8993
9102
  readonly type: "string";
8994
- readonly description: "Company phone number.";
8995
9103
  };
8996
- readonly companyAddress: {
9104
+ readonly whatsapp: {
8997
9105
  readonly type: "string";
8998
- readonly description: "Company address.";
9106
+ readonly description: "E.164 WhatsApp number.";
8999
9107
  };
9000
- readonly address: {
9108
+ readonly email: {
9001
9109
  readonly type: "string";
9002
- readonly description: "Customer address.";
9110
+ readonly format: "email";
9003
9111
  };
9004
- readonly website: {
9112
+ readonly leadSource: {
9005
9113
  readonly type: "string";
9006
- readonly description: "Customer website.";
9114
+ readonly enum: readonly [
9115
+ "cian",
9116
+ "avito",
9117
+ "vk",
9118
+ "yandex",
9119
+ "website",
9120
+ "referral",
9121
+ "walk_in"
9122
+ ];
9007
9123
  };
9008
- readonly type: {
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 description: {
9161
+ readonly maxMetroDistance: {
9162
+ readonly type: "number";
9163
+ readonly minimum: 0;
9164
+ };
9165
+ readonly dealStatus: {
9013
9166
  readonly type: "string";
9014
- readonly description: "Customer description.";
9167
+ readonly enum: readonly [
9168
+ "just_browsing",
9169
+ "serious_buyer",
9170
+ "mortgage_approved",
9171
+ "signed_contract",
9172
+ "closed_deal"
9173
+ ];
9015
9174
  };
9016
- readonly active: {
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
- readonly description: "Whether the customer is active.";
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 utmSource: {
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, or user lacks read access to crm::customers resource.";
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 "/customers/get/{workspace}/{customerId}": {
9145
- readonly get: {
9250
+ readonly "/services/create": {
9251
+ readonly post: {
9146
9252
  readonly tags: readonly [
9147
- "Customers"
9253
+ "Services"
9148
9254
  ];
9149
- readonly summary: "Get a single customer";
9150
- readonly description: "Returns a single customer by ID from the specified workspace. Requires workspace access and read access to crm::customers resource.";
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
- "customerId",
9248
- "workspace"
9267
+ "workspace",
9268
+ "title"
9249
9269
  ];
9250
9270
  readonly properties: {
9251
- readonly customerId: {
9271
+ readonly workspace: {
9252
9272
  readonly type: "string";
9253
9273
  readonly format: "uuid";
9254
- readonly description: "Customer identifier to delete.";
9274
+ readonly description: "Workspace identifier where the service is created.";
9255
9275
  };
9256
- readonly workspace: {
9276
+ readonly title: {
9257
9277
  readonly type: "string";
9258
- readonly format: "uuid";
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 workspace: {
9287
+ readonly currency: {
9347
9288
  readonly type: "string";
9348
- readonly format: "uuid";
9349
- readonly description: "Workspace identifier where the customer belongs.";
9289
+ readonly enum: readonly [
9290
+ "USD",
9291
+ "EUR",
9292
+ "RUB"
9293
+ ];
9350
9294
  };
9351
- readonly name: {
9295
+ readonly description: {
9352
9296
  readonly type: "string";
9353
- readonly description: "Updated customer name.";
9354
9297
  };
9355
- readonly email: {
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 phone: {
9304
+ readonly propertyStatus: {
9360
9305
  readonly type: "string";
9361
- readonly description: "Updated customer phone number.";
9362
9306
  };
9363
- readonly companyPhone: {
9307
+ readonly commercialType: {
9364
9308
  readonly type: "string";
9365
- readonly description: "Updated company phone number.";
9366
9309
  };
9367
- readonly companyAddress: {
9310
+ readonly commercialClass: {
9368
9311
  readonly type: "string";
9369
- readonly description: "Updated company address.";
9370
9312
  };
9371
- readonly address: {
9313
+ readonly landType: {
9372
9314
  readonly type: "string";
9373
- readonly description: "Updated customer address.";
9374
9315
  };
9375
- readonly website: {
9316
+ readonly ownershipType: {
9376
9317
  readonly type: "string";
9377
- readonly description: "Updated customer website.";
9378
9318
  };
9379
- readonly type: {
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 description: {
9346
+ readonly parkingType: {
9384
9347
  readonly type: "string";
9385
- readonly description: "Updated customer description.";
9386
9348
  };
9387
- readonly active: {
9349
+ readonly balconyAccess: {
9388
9350
  readonly type: "boolean";
9389
- readonly description: "Whether the customer is active.";
9390
9351
  };
9391
- readonly birthDate: {
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 utmSource: {
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
- readonly description: "UTM source attribution string.";
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 200: {
9407
- readonly description: "Customer updated successfully.";
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/UpdateCustomerSuccess";
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::customers resource.";
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/create": {
9492
+ readonly "/services/update": {
9540
9493
  readonly post: {
9541
9494
  readonly tags: readonly [
9542
9495
  "Services"
9543
9496
  ];
9544
- readonly summary: "Create a new service";
9545
- 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.";
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
- "title"
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 is created.";
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. Defaults to true when omitted.";
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 201: {
9739
- readonly description: "Service created successfully.";
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/CreateServiceSuccess";
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: never;
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
- workspaceId: string;
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: 201;
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: never;
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
- description: string | null;
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
- utmSource: string | null;
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: 200;
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;