@dakkitor/api-contracts 1.1.87 → 1.1.88

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.
@@ -1089,7 +1089,7 @@ export declare const CreateDraftJobSchema: z.ZodObject<{
1089
1089
  /**
1090
1090
  * Update Job Schema
1091
1091
  */
1092
- export declare const UpdateJobSchema: z.ZodObject<{
1092
+ export declare const UpdateJobSchema: z.ZodEffects<z.ZodObject<{
1093
1093
  description: z.ZodOptional<z.ZodString>;
1094
1094
  location: z.ZodOptional<z.ZodObject<{
1095
1095
  address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -1120,13 +1120,13 @@ export declare const UpdateJobSchema: z.ZodObject<{
1120
1120
  rateMax?: number | null | undefined;
1121
1121
  }>>;
1122
1122
  tradeId: z.ZodOptional<z.ZodPipeline<z.ZodString, z.ZodString>>;
1123
- currentCollaboration: z.ZodOptional<z.ZodObject<{
1123
+ currentCollaboration: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1124
1124
  id: z.ZodString;
1125
1125
  }, "strip", z.ZodTypeAny, {
1126
1126
  id: string;
1127
1127
  }, {
1128
1128
  id: string;
1129
- }>>;
1129
+ }>>>;
1130
1130
  jobQualifications: z.ZodOptional<z.ZodArray<z.ZodObject<{
1131
1131
  qualificationId: z.ZodString;
1132
1132
  qualificationTypeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
@@ -1160,7 +1160,7 @@ export declare const UpdateJobSchema: z.ZodObject<{
1160
1160
  }[] | undefined;
1161
1161
  currentCollaboration?: {
1162
1162
  id: string;
1163
- } | undefined;
1163
+ } | null | undefined;
1164
1164
  }, {
1165
1165
  description?: string | undefined;
1166
1166
  numberOfPositions?: number | undefined;
@@ -1183,7 +1183,53 @@ export declare const UpdateJobSchema: z.ZodObject<{
1183
1183
  }[] | undefined;
1184
1184
  currentCollaboration?: {
1185
1185
  id: string;
1186
+ } | null | undefined;
1187
+ }>, {
1188
+ description?: string | undefined;
1189
+ numberOfPositions?: number | undefined;
1190
+ status?: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION" | undefined;
1191
+ workHours?: number | undefined;
1192
+ pay?: {
1193
+ rateUnit: "DAILY" | "HOURLY";
1194
+ rate: number;
1195
+ receivedRate: number;
1196
+ rateMax?: number | null | undefined;
1197
+ } | undefined;
1198
+ location?: {
1199
+ address?: string | null | undefined;
1200
+ postcode?: string | null | undefined;
1186
1201
  } | undefined;
1202
+ tradeId?: string | undefined;
1203
+ jobQualifications?: {
1204
+ qualificationId: string;
1205
+ qualificationTypeId?: string | null | undefined;
1206
+ }[] | undefined;
1207
+ currentCollaboration?: {
1208
+ id: string;
1209
+ } | null | undefined;
1210
+ }, {
1211
+ description?: string | undefined;
1212
+ numberOfPositions?: number | undefined;
1213
+ status?: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION" | undefined;
1214
+ workHours?: number | undefined;
1215
+ pay?: {
1216
+ rate: number;
1217
+ receivedRate: number;
1218
+ rateUnit?: "DAILY" | "HOURLY" | undefined;
1219
+ rateMax?: number | null | undefined;
1220
+ } | undefined;
1221
+ location?: {
1222
+ address?: string | null | undefined;
1223
+ postcode?: string | null | undefined;
1224
+ } | undefined;
1225
+ tradeId?: string | undefined;
1226
+ jobQualifications?: {
1227
+ qualificationId: string;
1228
+ qualificationTypeId?: string | null | undefined;
1229
+ }[] | undefined;
1230
+ currentCollaboration?: {
1231
+ id: string;
1232
+ } | null | undefined;
1187
1233
  }>;
1188
1234
  /**
1189
1235
  * Filter Job Schema
@@ -2384,6 +2430,66 @@ export type CreateDraftJob = z.infer<typeof CreateDraftJobSchema>;
2384
2430
  export type UpdateJob = z.infer<typeof UpdateJobSchema>;
2385
2431
  export type FilterJob = z.infer<typeof FilterJobSchema>;
2386
2432
  export type PaginatedJobResponse = z.infer<typeof PaginatedJobResponseSchema>;
2433
+ /**
2434
+ * Search Job Schema - For trigram-based duplicate detection
2435
+ */
2436
+ export declare const SearchJobQuerySchema: z.ZodObject<{
2437
+ description: z.ZodString;
2438
+ userId: z.ZodOptional<z.ZodString>;
2439
+ threshold: z.ZodDefault<z.ZodNumber>;
2440
+ limit: z.ZodDefault<z.ZodNumber>;
2441
+ }, "strip", z.ZodTypeAny, {
2442
+ description: string;
2443
+ limit: number;
2444
+ threshold: number;
2445
+ userId?: string | undefined;
2446
+ }, {
2447
+ description: string;
2448
+ userId?: string | undefined;
2449
+ limit?: number | undefined;
2450
+ threshold?: number | undefined;
2451
+ }>;
2452
+ export declare const SearchJobResultSchema: z.ZodObject<{
2453
+ id: z.ZodString;
2454
+ description: z.ZodString;
2455
+ similarity: z.ZodNumber;
2456
+ status: z.ZodEnum<["CANCELED", "FILLED", "AVAILABLE", "NOT_AVAILABLE", "DRAFT_MISSING_COLLABORATION"]>;
2457
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2458
+ }, "strip", z.ZodTypeAny, {
2459
+ description: string;
2460
+ status: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION";
2461
+ createdAt: string;
2462
+ id: string;
2463
+ similarity: number;
2464
+ }, {
2465
+ description: string;
2466
+ status: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION";
2467
+ createdAt: string | Date;
2468
+ id: string;
2469
+ similarity: number;
2470
+ }>;
2471
+ export declare const SearchJobResponseSchema: z.ZodArray<z.ZodObject<{
2472
+ id: z.ZodString;
2473
+ description: z.ZodString;
2474
+ similarity: z.ZodNumber;
2475
+ status: z.ZodEnum<["CANCELED", "FILLED", "AVAILABLE", "NOT_AVAILABLE", "DRAFT_MISSING_COLLABORATION"]>;
2476
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2477
+ }, "strip", z.ZodTypeAny, {
2478
+ description: string;
2479
+ status: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION";
2480
+ createdAt: string;
2481
+ id: string;
2482
+ similarity: number;
2483
+ }, {
2484
+ description: string;
2485
+ status: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION";
2486
+ createdAt: string | Date;
2487
+ id: string;
2488
+ similarity: number;
2489
+ }>, "many">;
2490
+ export type SearchJobQuery = z.infer<typeof SearchJobQuerySchema>;
2491
+ export type SearchJobResult = z.infer<typeof SearchJobResultSchema>;
2492
+ export type SearchJobResponse = z.infer<typeof SearchJobResponseSchema>;
2387
2493
  export declare const jobsContractRouter: {
2388
2494
  create: {
2389
2495
  metadata: {
@@ -6782,7 +6888,7 @@ export declare const jobsContractRouter: {
6782
6888
  }>;
6783
6889
  summary: "Update a job";
6784
6890
  method: "PATCH";
6785
- body: z.ZodObject<{
6891
+ body: z.ZodEffects<z.ZodObject<{
6786
6892
  description: z.ZodOptional<z.ZodString>;
6787
6893
  location: z.ZodOptional<z.ZodObject<{
6788
6894
  address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -6813,13 +6919,13 @@ export declare const jobsContractRouter: {
6813
6919
  rateMax?: number | null | undefined;
6814
6920
  }>>;
6815
6921
  tradeId: z.ZodOptional<z.ZodPipeline<z.ZodString, z.ZodString>>;
6816
- currentCollaboration: z.ZodOptional<z.ZodObject<{
6922
+ currentCollaboration: z.ZodNullable<z.ZodOptional<z.ZodObject<{
6817
6923
  id: z.ZodString;
6818
6924
  }, "strip", z.ZodTypeAny, {
6819
6925
  id: string;
6820
6926
  }, {
6821
6927
  id: string;
6822
- }>>;
6928
+ }>>>;
6823
6929
  jobQualifications: z.ZodOptional<z.ZodArray<z.ZodObject<{
6824
6930
  qualificationId: z.ZodString;
6825
6931
  qualificationTypeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
@@ -6853,7 +6959,7 @@ export declare const jobsContractRouter: {
6853
6959
  }[] | undefined;
6854
6960
  currentCollaboration?: {
6855
6961
  id: string;
6856
- } | undefined;
6962
+ } | null | undefined;
6857
6963
  }, {
6858
6964
  description?: string | undefined;
6859
6965
  numberOfPositions?: number | undefined;
@@ -6876,7 +6982,53 @@ export declare const jobsContractRouter: {
6876
6982
  }[] | undefined;
6877
6983
  currentCollaboration?: {
6878
6984
  id: string;
6985
+ } | null | undefined;
6986
+ }>, {
6987
+ description?: string | undefined;
6988
+ numberOfPositions?: number | undefined;
6989
+ status?: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION" | undefined;
6990
+ workHours?: number | undefined;
6991
+ pay?: {
6992
+ rateUnit: "DAILY" | "HOURLY";
6993
+ rate: number;
6994
+ receivedRate: number;
6995
+ rateMax?: number | null | undefined;
6996
+ } | undefined;
6997
+ location?: {
6998
+ address?: string | null | undefined;
6999
+ postcode?: string | null | undefined;
7000
+ } | undefined;
7001
+ tradeId?: string | undefined;
7002
+ jobQualifications?: {
7003
+ qualificationId: string;
7004
+ qualificationTypeId?: string | null | undefined;
7005
+ }[] | undefined;
7006
+ currentCollaboration?: {
7007
+ id: string;
7008
+ } | null | undefined;
7009
+ }, {
7010
+ description?: string | undefined;
7011
+ numberOfPositions?: number | undefined;
7012
+ status?: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION" | undefined;
7013
+ workHours?: number | undefined;
7014
+ pay?: {
7015
+ rate: number;
7016
+ receivedRate: number;
7017
+ rateUnit?: "DAILY" | "HOURLY" | undefined;
7018
+ rateMax?: number | null | undefined;
6879
7019
  } | undefined;
7020
+ location?: {
7021
+ address?: string | null | undefined;
7022
+ postcode?: string | null | undefined;
7023
+ } | undefined;
7024
+ tradeId?: string | undefined;
7025
+ jobQualifications?: {
7026
+ qualificationId: string;
7027
+ qualificationTypeId?: string | null | undefined;
7028
+ }[] | undefined;
7029
+ currentCollaboration?: {
7030
+ id: string;
7031
+ } | null | undefined;
6880
7032
  }>;
6881
7033
  path: "/v2/jobs/:id";
6882
7034
  responses: {
@@ -8006,5 +8158,153 @@ export declare const jobsContractRouter: {
8006
8158
  }>;
8007
8159
  };
8008
8160
  };
8161
+ search: {
8162
+ metadata: {
8163
+ tags: string[];
8164
+ openApi: {
8165
+ operationId: string;
8166
+ };
8167
+ };
8168
+ query: z.ZodObject<{
8169
+ description: z.ZodString;
8170
+ userId: z.ZodOptional<z.ZodString>;
8171
+ threshold: z.ZodDefault<z.ZodNumber>;
8172
+ limit: z.ZodDefault<z.ZodNumber>;
8173
+ }, "strip", z.ZodTypeAny, {
8174
+ description: string;
8175
+ limit: number;
8176
+ threshold: number;
8177
+ userId?: string | undefined;
8178
+ }, {
8179
+ description: string;
8180
+ userId?: string | undefined;
8181
+ limit?: number | undefined;
8182
+ threshold?: number | undefined;
8183
+ }>;
8184
+ summary: "Search for similar jobs using trigram similarity";
8185
+ method: "GET";
8186
+ path: "/v2/jobs/search";
8187
+ responses: {
8188
+ 400: z.ZodObject<{
8189
+ statusCode: z.ZodNumber;
8190
+ message: z.ZodString;
8191
+ code: z.ZodString;
8192
+ details: z.ZodOptional<z.ZodUnknown>;
8193
+ timestamp: z.ZodString;
8194
+ path: z.ZodString;
8195
+ correlationId: z.ZodOptional<z.ZodString>;
8196
+ }, "strip", z.ZodTypeAny, {
8197
+ code: string;
8198
+ path: string;
8199
+ message: string;
8200
+ statusCode: number;
8201
+ timestamp: string;
8202
+ details?: unknown;
8203
+ correlationId?: string | undefined;
8204
+ }, {
8205
+ code: string;
8206
+ path: string;
8207
+ message: string;
8208
+ statusCode: number;
8209
+ timestamp: string;
8210
+ details?: unknown;
8211
+ correlationId?: string | undefined;
8212
+ }>;
8213
+ 401: z.ZodObject<{
8214
+ statusCode: z.ZodNumber;
8215
+ message: z.ZodString;
8216
+ code: z.ZodString;
8217
+ details: z.ZodOptional<z.ZodUnknown>;
8218
+ timestamp: z.ZodString;
8219
+ path: z.ZodString;
8220
+ correlationId: z.ZodOptional<z.ZodString>;
8221
+ }, "strip", z.ZodTypeAny, {
8222
+ code: string;
8223
+ path: string;
8224
+ message: string;
8225
+ statusCode: number;
8226
+ timestamp: string;
8227
+ details?: unknown;
8228
+ correlationId?: string | undefined;
8229
+ }, {
8230
+ code: string;
8231
+ path: string;
8232
+ message: string;
8233
+ statusCode: number;
8234
+ timestamp: string;
8235
+ details?: unknown;
8236
+ correlationId?: string | undefined;
8237
+ }>;
8238
+ 403: z.ZodObject<{
8239
+ statusCode: z.ZodNumber;
8240
+ message: z.ZodString;
8241
+ code: z.ZodString;
8242
+ details: z.ZodOptional<z.ZodUnknown>;
8243
+ timestamp: z.ZodString;
8244
+ path: z.ZodString;
8245
+ correlationId: z.ZodOptional<z.ZodString>;
8246
+ }, "strip", z.ZodTypeAny, {
8247
+ code: string;
8248
+ path: string;
8249
+ message: string;
8250
+ statusCode: number;
8251
+ timestamp: string;
8252
+ details?: unknown;
8253
+ correlationId?: string | undefined;
8254
+ }, {
8255
+ code: string;
8256
+ path: string;
8257
+ message: string;
8258
+ statusCode: number;
8259
+ timestamp: string;
8260
+ details?: unknown;
8261
+ correlationId?: string | undefined;
8262
+ }>;
8263
+ 500: z.ZodObject<{
8264
+ statusCode: z.ZodNumber;
8265
+ message: z.ZodString;
8266
+ code: z.ZodString;
8267
+ details: z.ZodOptional<z.ZodUnknown>;
8268
+ timestamp: z.ZodString;
8269
+ path: z.ZodString;
8270
+ correlationId: z.ZodOptional<z.ZodString>;
8271
+ }, "strip", z.ZodTypeAny, {
8272
+ code: string;
8273
+ path: string;
8274
+ message: string;
8275
+ statusCode: number;
8276
+ timestamp: string;
8277
+ details?: unknown;
8278
+ correlationId?: string | undefined;
8279
+ }, {
8280
+ code: string;
8281
+ path: string;
8282
+ message: string;
8283
+ statusCode: number;
8284
+ timestamp: string;
8285
+ details?: unknown;
8286
+ correlationId?: string | undefined;
8287
+ }>;
8288
+ 200: z.ZodArray<z.ZodObject<{
8289
+ id: z.ZodString;
8290
+ description: z.ZodString;
8291
+ similarity: z.ZodNumber;
8292
+ status: z.ZodEnum<["CANCELED", "FILLED", "AVAILABLE", "NOT_AVAILABLE", "DRAFT_MISSING_COLLABORATION"]>;
8293
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
8294
+ }, "strip", z.ZodTypeAny, {
8295
+ description: string;
8296
+ status: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION";
8297
+ createdAt: string;
8298
+ id: string;
8299
+ similarity: number;
8300
+ }, {
8301
+ description: string;
8302
+ status: "CANCELED" | "FILLED" | "AVAILABLE" | "NOT_AVAILABLE" | "DRAFT_MISSING_COLLABORATION";
8303
+ createdAt: string | Date;
8304
+ id: string;
8305
+ similarity: number;
8306
+ }>, "many">;
8307
+ };
8308
+ };
8009
8309
  };
8010
8310
  //# sourceMappingURL=jobs.contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.contract.d.ts","sourceRoot":"","sources":["../../contracts/jobs/jobs.contract.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqF9B,CAAC"}
1
+ {"version":3,"file":"jobs.contract.d.ts","sourceRoot":"","sources":["../../contracts/jobs/jobs.contract.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+F9B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jobsContractRouter = exports.PaginatedJobResponseSchema = exports.FilterJobSchema = exports.UpdateJobSchema = exports.CreateDraftJobSchema = exports.CreateJobSchema = exports.JobSchema = exports.CreateJobQualificationSchema = exports.JobQualificationSchema = exports.CreatePaySchema = exports.PaySchema = exports.JobSortableFieldsSchema = exports.JobStatusSchema = void 0;
3
+ exports.jobsContractRouter = exports.SearchJobResponseSchema = exports.SearchJobResultSchema = exports.SearchJobQuerySchema = exports.PaginatedJobResponseSchema = exports.FilterJobSchema = exports.UpdateJobSchema = exports.CreateDraftJobSchema = exports.CreateJobSchema = exports.JobSchema = exports.CreateJobQualificationSchema = exports.JobQualificationSchema = exports.CreatePaySchema = exports.PaySchema = exports.JobSortableFieldsSchema = exports.JobStatusSchema = void 0;
4
4
  const zod_openapi_1 = require("@anatine/zod-openapi");
5
5
  const core_1 = require("@ts-rest/core");
6
6
  const zod_1 = require("zod");
@@ -230,12 +230,27 @@ exports.UpdateJobSchema = zod_1.z
230
230
  .pipe(zod_1.z.string().uuid())
231
231
  .optional()
232
232
  .describe('Trade'),
233
- currentCollaboration: common_schemas_1.ResourceIdSchema.optional().describe('Current Collaboration'),
233
+ currentCollaboration: common_schemas_1.ResourceIdSchema.optional()
234
+ .nullable()
235
+ .describe('Current Collaboration'),
234
236
  jobQualifications: zod_1.z
235
237
  .array(exports.CreateJobQualificationSchema)
236
238
  .optional()
237
239
  .describe('Job Qualifications'),
238
240
  status: exports.JobStatusSchema.optional().describe('Job Status'),
241
+ })
242
+ .superRefine((data, ctx) => {
243
+ // If status is being set to something other than DRAFT_MISSING_COLLABORATION,
244
+ // currentCollaboration must be provided.
245
+ if (data.status !== undefined &&
246
+ data.status !== 'DRAFT_MISSING_COLLABORATION' &&
247
+ !data.currentCollaboration) {
248
+ ctx.addIssue({
249
+ code: zod_1.z.ZodIssueCode.custom,
250
+ message: 'A collaboration is required when setting status to a non-draft value.',
251
+ path: ['currentCollaboration'],
252
+ });
253
+ }
239
254
  })
240
255
  .openapi({ title: 'UpdateJob' });
241
256
  /**
@@ -277,6 +292,44 @@ exports.FilterJobSchema = pagination_query_schema_1.PaginationQuerySchema.extend
277
292
  exports.PaginatedJobResponseSchema = (0, pagination_schema_1.createPaginatedResponseSchema)(exports.JobSchema)
278
293
  .describe('Jobs retrieved successfully')
279
294
  .openapi({ title: 'JobsPaginatedResponse' });
295
+ /**
296
+ * Search Job Schema - For trigram-based duplicate detection
297
+ */
298
+ exports.SearchJobQuerySchema = zod_1.z
299
+ .object({
300
+ description: zod_1.z
301
+ .string()
302
+ .min(10)
303
+ .describe('Job description to search for similar jobs'),
304
+ userId: zod_1.z
305
+ .string()
306
+ .uuid()
307
+ .optional()
308
+ .describe('Filter by user who created the job'),
309
+ threshold: zod_1.z.coerce
310
+ .number()
311
+ .min(0.1)
312
+ .max(1)
313
+ .default(0.3)
314
+ .describe('Similarity threshold (0.1-1.0, higher = stricter)'),
315
+ limit: zod_1.z.coerce.number().min(1).max(10).default(5).describe('Max results'),
316
+ })
317
+ .openapi({ title: 'SearchJobQuery' });
318
+ exports.SearchJobResultSchema = zod_1.z
319
+ .object({
320
+ id: zod_1.z.string().uuid().describe('Job ID'),
321
+ description: zod_1.z.string().describe('Job Description'),
322
+ similarity: zod_1.z.number().describe('Similarity score (0-1)'),
323
+ status: exports.JobStatusSchema.describe('Job Status'),
324
+ createdAt: zod_1.z
325
+ .union([zod_1.z.string().datetime(), zod_1.z.date()])
326
+ .transform((val) => (val instanceof Date ? val.toISOString() : val))
327
+ .describe('Creation Date'),
328
+ })
329
+ .openapi({ title: 'SearchJobResult' });
330
+ exports.SearchJobResponseSchema = zod_1.z
331
+ .array(exports.SearchJobResultSchema)
332
+ .openapi({ title: 'SearchJobResponse' });
280
333
  const c = (0, core_1.initContract)();
281
334
  exports.jobsContractRouter = c.router({
282
335
  create: {
@@ -353,6 +406,16 @@ exports.jobsContractRouter = c.router({
353
406
  summary: 'Delete a job',
354
407
  metadata: { tags: ['Jobs'], openApi: { operationId: 'deleteJob' } },
355
408
  },
409
+ search: {
410
+ method: 'GET',
411
+ path: '/v2/jobs/search',
412
+ responses: {
413
+ 200: exports.SearchJobResponseSchema,
414
+ },
415
+ query: exports.SearchJobQuerySchema,
416
+ summary: 'Search for similar jobs using trigram similarity',
417
+ metadata: { tags: ['Jobs'], openApi: { operationId: 'searchJobs' } },
418
+ },
356
419
  }, {
357
420
  commonResponses: {
358
421
  400: error_schemas_1.ErrorResponseSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dakkitor/api-contracts",
3
- "version": "1.1.87",
3
+ "version": "1.1.88",
4
4
  "description": "TypeScript API contracts using ts-rest and Zod",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",