@dakkitor/api-contracts 1.1.136 → 1.1.138

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 (71) hide show
  1. package/dist/abilities/abilities.contract.d.ts +13 -19
  2. package/dist/abilities/abilities.contract.d.ts.map +1 -1
  3. package/dist/abilities/abilities.contract.js +18 -33
  4. package/dist/abilities/admin.abilities.json +10 -0
  5. package/dist/abilities/bot.abilities.json +4 -0
  6. package/dist/abilities/first-agent.abilities.json +21 -2
  7. package/dist/abilities/kpi.abilities.json +4 -0
  8. package/dist/abilities/second-agent.abilities.json +13 -1
  9. package/dist/abilities/team-leads.json +4 -0
  10. package/dist/actives/actives.contract.d.ts +7776 -5918
  11. package/dist/actives/actives.contract.d.ts.map +1 -1
  12. package/dist/agent-client-links/agent-client-links.contract.d.ts +2521 -658
  13. package/dist/agent-client-links/agent-client-links.contract.d.ts.map +1 -1
  14. package/dist/agent-client-links/agent-client-links.contract.js +56 -2
  15. package/dist/auth/auth.contract.d.ts +16 -16
  16. package/dist/bookings/bookings.contract.d.ts +30403 -22293
  17. package/dist/bookings/bookings.contract.d.ts.map +1 -1
  18. package/dist/bookings/bookings.contract.js +161 -37
  19. package/dist/call-history/call-history.contract.d.ts +814 -640
  20. package/dist/call-history/call-history.contract.d.ts.map +1 -1
  21. package/dist/client-contacts/client-contacts.contract.d.ts +306 -306
  22. package/dist/clients/clients.contract.d.ts +189 -123
  23. package/dist/clients/clients.contract.d.ts.map +1 -1
  24. package/dist/clients/clients.contract.js +50 -6
  25. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +2136 -1752
  26. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts.map +1 -1
  27. package/dist/collaborations/collaborations.contract.d.ts +2039 -1658
  28. package/dist/collaborations/collaborations.contract.d.ts.map +1 -1
  29. package/dist/collaborations/collaborations.contract.js +2 -2
  30. package/dist/common/common-schemas.d.ts +23 -4
  31. package/dist/common/common-schemas.d.ts.map +1 -1
  32. package/dist/common/common-schemas.js +31 -1
  33. package/dist/companies/companies.contract.d.ts +28 -28
  34. package/dist/cron-executions/cron-executions.contract.d.ts +26 -26
  35. package/dist/curated-workers/curated-workers.contract.d.ts +762 -500
  36. package/dist/curated-workers/curated-workers.contract.d.ts.map +1 -1
  37. package/dist/curated-workers/curated-workers.contract.js +10 -0
  38. package/dist/dashboards/agent-daily-metrics.contract.d.ts +173 -803
  39. package/dist/dashboards/agent-daily-metrics.contract.d.ts.map +1 -1
  40. package/dist/dashboards/agent-daily-metrics.contract.js +45 -108
  41. package/dist/dashboards/dashboard-widgets.contract.d.ts +398 -292
  42. package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
  43. package/dist/dashboards/dashboard-widgets.contract.js +77 -32
  44. package/dist/dashboards/dashboard.contract.d.ts +215 -305
  45. package/dist/index.d.ts +6 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +6 -0
  48. package/dist/jobs/jobs.contract.d.ts +3932 -3272
  49. package/dist/jobs/jobs.contract.d.ts.map +1 -1
  50. package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +1340 -0
  51. package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts.map +1 -0
  52. package/dist/kpi-impersonation/kpi-impersonation.contract.js +146 -0
  53. package/dist/lead-assignments/lead-assignments.contract.d.ts +754 -562
  54. package/dist/lead-assignments/lead-assignments.contract.d.ts.map +1 -1
  55. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +900 -408
  56. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts.map +1 -1
  57. package/dist/lead-distribution/agent-lead-distribution.contract.js +57 -1
  58. package/dist/leads/leads.contract.d.ts +228 -228
  59. package/dist/locations/locations.contract.d.ts +22 -22
  60. package/dist/offices/offices.contract.d.ts +794 -0
  61. package/dist/offices/offices.contract.d.ts.map +1 -0
  62. package/dist/offices/offices.contract.js +93 -0
  63. package/dist/own-research/own-research.contract.d.ts +854 -563
  64. package/dist/own-research/own-research.contract.d.ts.map +1 -1
  65. package/dist/users/users.contract.d.ts +345 -245
  66. package/dist/users/users.contract.d.ts.map +1 -1
  67. package/dist/users/users.contract.js +7 -25
  68. package/dist/workers/workers.contract.d.ts +1102 -702
  69. package/dist/workers/workers.contract.d.ts.map +1 -1
  70. package/dist/workers/workers.contract.js +13 -0
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"clients.contract.d.ts","sourceRoot":"","sources":["../../contracts/clients/clients.contract.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FjC,CAAC"}
1
+ {"version":3,"file":"clients.contract.d.ts","sourceRoot":"","sources":["../../contracts/clients/clients.contract.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FjC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clientsContractRouter = exports.PaginatedClientResponseSchema = exports.ClientAutocompleteArraySchema = exports.ClientAutocompleteResponseSchema = exports.FilterClientSchema = exports.UpdateClientSchema = exports.UpdateClientRefinements = exports.UpdateClientBaseSchema = exports.CreateClientSchema = exports.ClientSchema = exports.ClientUserSchema = exports.ClientStatusSchema = void 0;
3
+ exports.clientsContractRouter = exports.PaginatedClientResponseSchema = exports.ClientAutocompleteArraySchema = exports.ClientAutocompleteResponseSchema = exports.FilterClientSchema = exports.UpdateClientSchema = exports.UpdateClientRefinements = exports.UpdateClientBaseSchema = exports.CreateClientSchema = exports.CreateClientRefinements = exports.CreateClientBaseSchema = exports.ClientSchema = exports.ClientUserSchema = exports.ClientStatusSchema = 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");
@@ -29,7 +29,11 @@ exports.ClientSchema = zod_1.z
29
29
  .string()
30
30
  .nullable()
31
31
  .describe('Company Registration Number (e.g., 12345678, NI678127, SC123456). Null for sole traders.'),
32
- govLink: zod_1.z.string().url().describe('Government Registration Link'),
32
+ govLink: zod_1.z
33
+ .string()
34
+ .url()
35
+ .nullable()
36
+ .describe('Government Registration Link. Null for sole traders.'),
33
37
  soleTrader: zod_1.z.boolean().describe('Whether the client is a sole trader'),
34
38
  status: exports.ClientStatusSchema.describe('Client Status'),
35
39
  director: zod_1.z.string().describe('Director Name'),
@@ -56,14 +60,20 @@ exports.ClientSchema = zod_1.z
56
60
  .describe('Agent Link'),
57
61
  })
58
62
  .openapi({ title: 'Client' });
59
- exports.CreateClientSchema = zod_1.z
63
+ /**
64
+ * Base schema for CreateClient without refinements.
65
+ * Use this for form field introspection on the frontend.
66
+ */
67
+ exports.CreateClientBaseSchema = zod_1.z
60
68
  .object({
61
69
  name: zod_1.z.string().max(255).describe('Client Name'),
62
70
  govLink: zod_1.z
63
71
  .string()
64
72
  .url()
65
73
  .max(2048)
66
- .describe('Government Registration Link'),
74
+ .nullable()
75
+ .optional()
76
+ .describe('Government Registration Link. Required for non-sole traders.'),
67
77
  soleTrader: zod_1.z
68
78
  .boolean()
69
79
  .optional()
@@ -71,7 +81,40 @@ exports.CreateClientSchema = zod_1.z
71
81
  .describe('Whether the client is a sole trader (default: false)'),
72
82
  director: zod_1.z.string().max(255).describe('Director Name'),
73
83
  })
74
- .openapi({ title: 'CreateClient' });
84
+ .openapi({ title: 'CreateClientBase' });
85
+ /**
86
+ * Conditional validation rules for CreateClient.
87
+ * Export these so the frontend can apply them based on context.
88
+ */
89
+ exports.CreateClientRefinements = {
90
+ govLinkRequiredForNonSoleTrader: {
91
+ /** Fields that trigger this refinement */
92
+ dependsOn: ['soleTrader'],
93
+ /** Field that this refinement validates */
94
+ validates: 'govLink',
95
+ /** Condition description for UI hints */
96
+ condition: 'soleTrader !== true',
97
+ /** Error message when validation fails */
98
+ message: 'Government Registration Link is required for non-sole trader clients',
99
+ /** The actual refinement function */
100
+ check: (data) => !(data.soleTrader !== true && !data.govLink),
101
+ },
102
+ };
103
+ /**
104
+ * Full CreateClient schema with all refinements applied.
105
+ * Use this for API validation.
106
+ */
107
+ exports.CreateClientSchema = exports.CreateClientBaseSchema.superRefine((data, ctx) => {
108
+ if (!exports.CreateClientRefinements.govLinkRequiredForNonSoleTrader.check(data)) {
109
+ ctx.addIssue({
110
+ code: zod_1.z.ZodIssueCode.custom,
111
+ message: exports.CreateClientRefinements.govLinkRequiredForNonSoleTrader.message,
112
+ path: [
113
+ exports.CreateClientRefinements.govLinkRequiredForNonSoleTrader.validates,
114
+ ],
115
+ });
116
+ }
117
+ }).openapi({ title: 'CreateClient' });
75
118
  /**
76
119
  * Base schema for UpdateClient without refinements.
77
120
  * Use this for form field introspection on the frontend.
@@ -83,8 +126,9 @@ exports.UpdateClientBaseSchema = zod_1.z
83
126
  .string()
84
127
  .url()
85
128
  .max(2048)
129
+ .nullable()
86
130
  .optional()
87
- .describe('Government Registration Link'),
131
+ .describe('Government Registration Link. Null for sole traders.'),
88
132
  director: zod_1.z.string().max(255).optional().describe('Director Name'),
89
133
  status: exports.ClientStatusSchema.optional().describe('Client Status'),
90
134
  blacklistReason: zod_1.z