@voyantjs/legal 0.80.9 → 0.80.11
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/contracts/routes.d.ts +24 -0
- package/dist/contracts/routes.d.ts.map +1 -1
- package/dist/contracts/schema.d.ts +51 -0
- package/dist/contracts/schema.d.ts.map +1 -1
- package/dist/contracts/schema.js +8 -0
- package/dist/contracts/service-auto-generate.d.ts +3 -3
- package/dist/contracts/service-auto-generate.js +4 -4
- package/dist/contracts/service-series.d.ts +47 -3
- package/dist/contracts/service-series.d.ts.map +1 -1
- package/dist/contracts/service-series.js +97 -33
- package/dist/contracts/service-shared.d.ts +2 -2
- package/dist/contracts/service.d.ts +41 -0
- package/dist/contracts/service.d.ts.map +1 -1
- package/dist/contracts/validation.d.ts +6 -0
- package/dist/contracts/validation.d.ts.map +1 -1
- package/dist/contracts/validation.js +3 -0
- package/package.json +9 -9
|
@@ -412,6 +412,9 @@ export declare function createContractsAdminRoutes(options?: ContractsRouteOptio
|
|
|
412
412
|
resetStrategy: "never" | "annual" | "monthly";
|
|
413
413
|
resetAt: string | null;
|
|
414
414
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
415
|
+
isDefault: boolean;
|
|
416
|
+
externalProvider: string | null;
|
|
417
|
+
externalConfigKey: string | null;
|
|
415
418
|
active: boolean;
|
|
416
419
|
createdAt: string;
|
|
417
420
|
updatedAt: string;
|
|
@@ -434,11 +437,14 @@ export declare function createContractsAdminRoutes(options?: ContractsRouteOptio
|
|
|
434
437
|
updatedAt: string;
|
|
435
438
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
436
439
|
active: boolean;
|
|
440
|
+
isDefault: boolean;
|
|
437
441
|
separator: string;
|
|
438
442
|
padLength: number;
|
|
439
443
|
currentSequence: number;
|
|
440
444
|
resetStrategy: "never" | "annual" | "monthly";
|
|
441
445
|
resetAt: string | null;
|
|
446
|
+
externalProvider: string | null;
|
|
447
|
+
externalConfigKey: string | null;
|
|
442
448
|
} | null;
|
|
443
449
|
};
|
|
444
450
|
outputFormat: "json";
|
|
@@ -475,6 +481,9 @@ export declare function createContractsAdminRoutes(options?: ContractsRouteOptio
|
|
|
475
481
|
resetStrategy: "never" | "annual" | "monthly";
|
|
476
482
|
resetAt: string | null;
|
|
477
483
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
484
|
+
isDefault: boolean;
|
|
485
|
+
externalProvider: string | null;
|
|
486
|
+
externalConfigKey: string | null;
|
|
478
487
|
active: boolean;
|
|
479
488
|
createdAt: string;
|
|
480
489
|
updatedAt: string;
|
|
@@ -514,6 +523,9 @@ export declare function createContractsAdminRoutes(options?: ContractsRouteOptio
|
|
|
514
523
|
resetStrategy: "never" | "annual" | "monthly";
|
|
515
524
|
resetAt: string | null;
|
|
516
525
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
526
|
+
isDefault: boolean;
|
|
527
|
+
externalProvider: string | null;
|
|
528
|
+
externalConfigKey: string | null;
|
|
517
529
|
active: boolean;
|
|
518
530
|
createdAt: string;
|
|
519
531
|
updatedAt: string;
|
|
@@ -2278,6 +2290,9 @@ export declare const contractsAdminRoutes: import("hono/hono-base").HonoBase<Env
|
|
|
2278
2290
|
resetStrategy: "never" | "annual" | "monthly";
|
|
2279
2291
|
resetAt: string | null;
|
|
2280
2292
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
2293
|
+
isDefault: boolean;
|
|
2294
|
+
externalProvider: string | null;
|
|
2295
|
+
externalConfigKey: string | null;
|
|
2281
2296
|
active: boolean;
|
|
2282
2297
|
createdAt: string;
|
|
2283
2298
|
updatedAt: string;
|
|
@@ -2300,11 +2315,14 @@ export declare const contractsAdminRoutes: import("hono/hono-base").HonoBase<Env
|
|
|
2300
2315
|
updatedAt: string;
|
|
2301
2316
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
2302
2317
|
active: boolean;
|
|
2318
|
+
isDefault: boolean;
|
|
2303
2319
|
separator: string;
|
|
2304
2320
|
padLength: number;
|
|
2305
2321
|
currentSequence: number;
|
|
2306
2322
|
resetStrategy: "never" | "annual" | "monthly";
|
|
2307
2323
|
resetAt: string | null;
|
|
2324
|
+
externalProvider: string | null;
|
|
2325
|
+
externalConfigKey: string | null;
|
|
2308
2326
|
} | null;
|
|
2309
2327
|
};
|
|
2310
2328
|
outputFormat: "json";
|
|
@@ -2341,6 +2359,9 @@ export declare const contractsAdminRoutes: import("hono/hono-base").HonoBase<Env
|
|
|
2341
2359
|
resetStrategy: "never" | "annual" | "monthly";
|
|
2342
2360
|
resetAt: string | null;
|
|
2343
2361
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
2362
|
+
isDefault: boolean;
|
|
2363
|
+
externalProvider: string | null;
|
|
2364
|
+
externalConfigKey: string | null;
|
|
2344
2365
|
active: boolean;
|
|
2345
2366
|
createdAt: string;
|
|
2346
2367
|
updatedAt: string;
|
|
@@ -2380,6 +2401,9 @@ export declare const contractsAdminRoutes: import("hono/hono-base").HonoBase<Env
|
|
|
2380
2401
|
resetStrategy: "never" | "annual" | "monthly";
|
|
2381
2402
|
resetAt: string | null;
|
|
2382
2403
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
2404
|
+
isDefault: boolean;
|
|
2405
|
+
externalProvider: string | null;
|
|
2406
|
+
externalConfigKey: string | null;
|
|
2383
2407
|
active: boolean;
|
|
2384
2408
|
createdAt: string;
|
|
2385
2409
|
updatedAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/contracts/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAQ/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAO3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAwB/C,KAAK,GAAG,GAAG;IACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,SAAS,EAAE;QACT,SAAS,EAAE,eAAe,CAAA;QAC1B,EAAE,EAAE,kBAAkB,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAChD,OAAO,gBAAgB,CAAC,wBAAwB,CACjD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;AAEjB,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,wBAAwB,CAAC,EAAE,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,yBAAyB,GAAG,SAAS,CAAA;IAC1C,0BAA0B,CAAC,EAAE,CAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3C,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACxC,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,eAAe,GAAG,IAAI,GAAG,SAAS,CAAA;IAClG,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,GAAG,SAAS,CAAA;IAC7E,cAAc,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAA;IACjD,qBAAqB,CAAC,EAAE,CACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,SAAS,qBAAqB,EAAE,GAAG,SAAS,CAAA;CAClD;AAmRD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,qBAA0B
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/contracts/routes.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAiV7E;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA+B,CAAA;AAiBhE,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,qBAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAyC9E;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAgC,CAAA;AAElE,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAC9D,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA"}
|
|
@@ -561,6 +561,57 @@ export declare const contractNumberSeries: import("drizzle-orm/pg-core").PgTable
|
|
|
561
561
|
identity: undefined;
|
|
562
562
|
generated: undefined;
|
|
563
563
|
}, {}, {}>;
|
|
564
|
+
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
565
|
+
name: "is_default";
|
|
566
|
+
tableName: "contract_number_series";
|
|
567
|
+
dataType: "boolean";
|
|
568
|
+
columnType: "PgBoolean";
|
|
569
|
+
data: boolean;
|
|
570
|
+
driverParam: boolean;
|
|
571
|
+
notNull: true;
|
|
572
|
+
hasDefault: true;
|
|
573
|
+
isPrimaryKey: false;
|
|
574
|
+
isAutoincrement: false;
|
|
575
|
+
hasRuntimeDefault: false;
|
|
576
|
+
enumValues: undefined;
|
|
577
|
+
baseColumn: never;
|
|
578
|
+
identity: undefined;
|
|
579
|
+
generated: undefined;
|
|
580
|
+
}, {}, {}>;
|
|
581
|
+
externalProvider: import("drizzle-orm/pg-core").PgColumn<{
|
|
582
|
+
name: "external_provider";
|
|
583
|
+
tableName: "contract_number_series";
|
|
584
|
+
dataType: "string";
|
|
585
|
+
columnType: "PgText";
|
|
586
|
+
data: string;
|
|
587
|
+
driverParam: string;
|
|
588
|
+
notNull: false;
|
|
589
|
+
hasDefault: false;
|
|
590
|
+
isPrimaryKey: false;
|
|
591
|
+
isAutoincrement: false;
|
|
592
|
+
hasRuntimeDefault: false;
|
|
593
|
+
enumValues: [string, ...string[]];
|
|
594
|
+
baseColumn: never;
|
|
595
|
+
identity: undefined;
|
|
596
|
+
generated: undefined;
|
|
597
|
+
}, {}, {}>;
|
|
598
|
+
externalConfigKey: import("drizzle-orm/pg-core").PgColumn<{
|
|
599
|
+
name: "external_config_key";
|
|
600
|
+
tableName: "contract_number_series";
|
|
601
|
+
dataType: "string";
|
|
602
|
+
columnType: "PgText";
|
|
603
|
+
data: string;
|
|
604
|
+
driverParam: string;
|
|
605
|
+
notNull: false;
|
|
606
|
+
hasDefault: false;
|
|
607
|
+
isPrimaryKey: false;
|
|
608
|
+
isAutoincrement: false;
|
|
609
|
+
hasRuntimeDefault: false;
|
|
610
|
+
enumValues: [string, ...string[]];
|
|
611
|
+
baseColumn: never;
|
|
612
|
+
identity: undefined;
|
|
613
|
+
generated: undefined;
|
|
614
|
+
}, {}, {}>;
|
|
564
615
|
active: import("drizzle-orm/pg-core").PgColumn<{
|
|
565
616
|
name: "active";
|
|
566
617
|
tableName: "contract_number_series";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/contracts/schema.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,iBAAiB,+FAM5B,CAAA;AAEF,eAAO,MAAM,oBAAoB,+EAQvB,CAAA;AAEV,eAAO,MAAM,kBAAkB,4GAAkD,CAAA;AAEjF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAElE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,cAAc,CAAA;IACrB,aAAa,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,UAAU,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;IAC5E,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,eAAO,MAAM,2BAA2B,qFAKtC,CAAA;AAEF,eAAO,MAAM,+BAA+B,sEAI1C,CAAA;AAEF,eAAO,MAAM,sBAAsB,4EAIjC,CAAA;AAIF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8C7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAA;AACpE,MAAM,MAAM,mBAAmB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAA;AAIvE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBpC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,wBAAwB,CAAC,YAAY,CAAA;AAClF,MAAM,MAAM,0BAA0B,GAAG,OAAO,wBAAwB,CAAC,YAAY,CAAA;AAIrF,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/contracts/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts/schema.js
CHANGED
|
@@ -98,18 +98,26 @@ export const contractNumberSeries = pgTable("contract_number_series", {
|
|
|
98
98
|
resetStrategy: contractNumberResetStrategyEnum("reset_strategy").notNull().default("never"),
|
|
99
99
|
resetAt: timestamp("reset_at", { withTimezone: true }),
|
|
100
100
|
scope: contractScopeEnum("scope").notNull().default("customer"),
|
|
101
|
+
isDefault: boolean("is_default").notNull().default(false),
|
|
102
|
+
externalProvider: text("external_provider"),
|
|
103
|
+
externalConfigKey: text("external_config_key"),
|
|
101
104
|
active: boolean("active").notNull().default(true),
|
|
102
105
|
createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
|
|
103
106
|
updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
|
|
104
107
|
}, (table) => [
|
|
105
108
|
index("idx_contract_number_series_scope").on(table.scope),
|
|
106
109
|
index("idx_contract_number_series_active").on(table.active),
|
|
110
|
+
index("idx_contract_number_series_scope_default").on(table.scope, table.isDefault),
|
|
111
|
+
index("idx_contract_number_series_external_provider").on(table.externalProvider),
|
|
107
112
|
index("idx_contract_number_series_scope_updated").on(table.scope, table.updatedAt),
|
|
108
113
|
index("idx_contract_number_series_active_updated").on(table.active, table.updatedAt),
|
|
109
114
|
index("idx_contract_number_series_updated").on(table.updatedAt),
|
|
110
115
|
uniqueIndex("uidx_contract_number_series_prefix_scope_active")
|
|
111
116
|
.on(table.prefix, table.scope)
|
|
112
117
|
.where(sql `${table.active} = true`),
|
|
118
|
+
uniqueIndex("uidx_contract_number_series_default_scope_active")
|
|
119
|
+
.on(table.scope)
|
|
120
|
+
.where(sql `${table.active} = true AND ${table.isDefault} = true`),
|
|
113
121
|
]);
|
|
114
122
|
// ---------- contracts ----------
|
|
115
123
|
export const contracts = pgTable("contracts", {
|
|
@@ -366,9 +366,9 @@ export type GenerateContractForBookingResult = AutoGenerateContractResult | {
|
|
|
366
366
|
/**
|
|
367
367
|
* One-click admin path for a specific booking. It resolves the deployment's
|
|
368
368
|
* default active template for the requested scope/channel/language and, by
|
|
369
|
-
* default, requires
|
|
370
|
-
* issuing the document.
|
|
371
|
-
*
|
|
369
|
+
* default, requires a default active number series for that scope before
|
|
370
|
+
* issuing the document. Deployments with only one active series keep the
|
|
371
|
+
* legacy implicit-default behavior.
|
|
372
372
|
*/
|
|
373
373
|
export declare function generateContractForBookingFromDefaults(db: PostgresJsDatabase, bookingId: string, input: GenerateContractForBookingInput, runtime: AutoGenerateContractRuntime, actorId?: string | null): Promise<GenerateContractForBookingResult>;
|
|
374
374
|
/**
|
|
@@ -6,9 +6,9 @@ import { contractTemplatesService } from "./service-templates.js";
|
|
|
6
6
|
/**
|
|
7
7
|
* One-click admin path for a specific booking. It resolves the deployment's
|
|
8
8
|
* default active template for the requested scope/channel/language and, by
|
|
9
|
-
* default, requires
|
|
10
|
-
* issuing the document.
|
|
11
|
-
*
|
|
9
|
+
* default, requires a default active number series for that scope before
|
|
10
|
+
* issuing the document. Deployments with only one active series keep the
|
|
11
|
+
* legacy implicit-default behavior.
|
|
12
12
|
*/
|
|
13
13
|
export async function generateContractForBookingFromDefaults(db, bookingId, input, runtime, actorId = null) {
|
|
14
14
|
const template = await contractTemplatesService.getDefaultTemplate(db, {
|
|
@@ -31,7 +31,7 @@ export async function generateContractForBookingFromDefaults(db, bookingId, inpu
|
|
|
31
31
|
};
|
|
32
32
|
if (input.requireNumberSeries) {
|
|
33
33
|
try {
|
|
34
|
-
const series = await contractSeriesService.
|
|
34
|
+
const series = await contractSeriesService.findDefaultActiveByScope(db, input.scope);
|
|
35
35
|
if (!series) {
|
|
36
36
|
return { status: "series_not_found" };
|
|
37
37
|
}
|
|
@@ -16,6 +16,9 @@ export declare const contractSeriesService: {
|
|
|
16
16
|
resetStrategy: "never" | "annual" | "monthly";
|
|
17
17
|
resetAt: Date | null;
|
|
18
18
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
19
|
+
isDefault: boolean;
|
|
20
|
+
externalProvider: string | null;
|
|
21
|
+
externalConfigKey: string | null;
|
|
19
22
|
active: boolean;
|
|
20
23
|
createdAt: Date;
|
|
21
24
|
updatedAt: Date;
|
|
@@ -30,6 +33,9 @@ export declare const contractSeriesService: {
|
|
|
30
33
|
resetStrategy: "never" | "annual" | "monthly";
|
|
31
34
|
resetAt: Date | null;
|
|
32
35
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
36
|
+
isDefault: boolean;
|
|
37
|
+
externalProvider: string | null;
|
|
38
|
+
externalConfigKey: string | null;
|
|
33
39
|
active: boolean;
|
|
34
40
|
createdAt: Date;
|
|
35
41
|
updatedAt: Date;
|
|
@@ -50,14 +56,37 @@ export declare const contractSeriesService: {
|
|
|
50
56
|
resetStrategy: "never" | "annual" | "monthly";
|
|
51
57
|
resetAt: Date | null;
|
|
52
58
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
59
|
+
isDefault: boolean;
|
|
60
|
+
externalProvider: string | null;
|
|
61
|
+
externalConfigKey: string | null;
|
|
53
62
|
active: boolean;
|
|
54
63
|
createdAt: Date;
|
|
55
64
|
updatedAt: Date;
|
|
56
65
|
} | null>;
|
|
57
66
|
/**
|
|
58
|
-
* Resolve the
|
|
59
|
-
*
|
|
60
|
-
*
|
|
67
|
+
* Resolve the default active series for a scope. If no explicit default
|
|
68
|
+
* exists, fall back to the legacy sole-active behavior for backwards
|
|
69
|
+
* compatibility.
|
|
70
|
+
*/
|
|
71
|
+
findDefaultActiveByScope(db: PostgresJsDatabase, scope: ContractScope): Promise<{
|
|
72
|
+
id: string;
|
|
73
|
+
name: string;
|
|
74
|
+
prefix: string;
|
|
75
|
+
separator: string;
|
|
76
|
+
padLength: number;
|
|
77
|
+
currentSequence: number;
|
|
78
|
+
resetStrategy: "never" | "annual" | "monthly";
|
|
79
|
+
resetAt: Date | null;
|
|
80
|
+
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
81
|
+
isDefault: boolean;
|
|
82
|
+
externalProvider: string | null;
|
|
83
|
+
externalConfigKey: string | null;
|
|
84
|
+
active: boolean;
|
|
85
|
+
createdAt: Date;
|
|
86
|
+
updatedAt: Date;
|
|
87
|
+
} | null>;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated Prefer `findDefaultActiveByScope`.
|
|
61
90
|
*/
|
|
62
91
|
findSingleActiveByScope(db: PostgresJsDatabase, scope: ContractScope): Promise<{
|
|
63
92
|
id: string;
|
|
@@ -69,6 +98,9 @@ export declare const contractSeriesService: {
|
|
|
69
98
|
resetStrategy: "never" | "annual" | "monthly";
|
|
70
99
|
resetAt: Date | null;
|
|
71
100
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
101
|
+
isDefault: boolean;
|
|
102
|
+
externalProvider: string | null;
|
|
103
|
+
externalConfigKey: string | null;
|
|
72
104
|
active: boolean;
|
|
73
105
|
createdAt: Date;
|
|
74
106
|
updatedAt: Date;
|
|
@@ -88,6 +120,9 @@ export declare const contractSeriesService: {
|
|
|
88
120
|
resetStrategy: "never" | "annual" | "monthly";
|
|
89
121
|
resetAt: Date | null;
|
|
90
122
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
123
|
+
isDefault: boolean;
|
|
124
|
+
externalProvider: string | null;
|
|
125
|
+
externalConfigKey: string | null;
|
|
91
126
|
active: boolean;
|
|
92
127
|
createdAt: Date;
|
|
93
128
|
updatedAt: Date;
|
|
@@ -100,11 +135,14 @@ export declare const contractSeriesService: {
|
|
|
100
135
|
updatedAt: Date;
|
|
101
136
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
102
137
|
active: boolean;
|
|
138
|
+
isDefault: boolean;
|
|
103
139
|
separator: string;
|
|
104
140
|
padLength: number;
|
|
105
141
|
currentSequence: number;
|
|
106
142
|
resetStrategy: "never" | "annual" | "monthly";
|
|
107
143
|
resetAt: Date | null;
|
|
144
|
+
externalProvider: string | null;
|
|
145
|
+
externalConfigKey: string | null;
|
|
108
146
|
} | null>;
|
|
109
147
|
/**
|
|
110
148
|
* Idempotent create-or-update against the `(prefix, scope) WHERE active`
|
|
@@ -119,11 +157,14 @@ export declare const contractSeriesService: {
|
|
|
119
157
|
updatedAt: Date;
|
|
120
158
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
121
159
|
active: boolean;
|
|
160
|
+
isDefault: boolean;
|
|
122
161
|
separator: string;
|
|
123
162
|
padLength: number;
|
|
124
163
|
currentSequence: number;
|
|
125
164
|
resetStrategy: "never" | "annual" | "monthly";
|
|
126
165
|
resetAt: Date | null;
|
|
166
|
+
externalProvider: string | null;
|
|
167
|
+
externalConfigKey: string | null;
|
|
127
168
|
} | null>;
|
|
128
169
|
updateSeries(db: PostgresJsDatabase, id: string, data: UpdateContractNumberSeriesInput): Promise<{
|
|
129
170
|
id: string;
|
|
@@ -135,6 +176,9 @@ export declare const contractSeriesService: {
|
|
|
135
176
|
resetStrategy: "never" | "annual" | "monthly";
|
|
136
177
|
resetAt: Date | null;
|
|
137
178
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
179
|
+
isDefault: boolean;
|
|
180
|
+
externalProvider: string | null;
|
|
181
|
+
externalConfigKey: string | null;
|
|
138
182
|
active: boolean;
|
|
139
183
|
createdAt: Date;
|
|
140
184
|
updatedAt: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-series.d.ts","sourceRoot":"","sources":["../../src/contracts/service-series.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EACV,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,qBAAqB,CAAA;AAE5B,KAAK,aAAa,GAAG,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,qBAAqB;mBACX,kBAAkB,UAAS,6BAA6B
|
|
1
|
+
{"version":3,"file":"service-series.d.ts","sourceRoot":"","sources":["../../src/contracts/service-series.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EACV,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,qBAAqB,CAAA;AAE5B,KAAK,aAAa,GAAG,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,qBAAqB;mBACX,kBAAkB,UAAS,6BAA6B;;;;;;;;;;;;;;;;;sBAYrD,kBAAkB,MAAM,MAAM;;;;;;;;;;;;;;;;;IAQtD;;;;;OAKG;gCAC+B,kBAAkB,UAAU,MAAM,SAAS,aAAa;;;;;;;;;;;;;;;;;IAmB1F;;;;OAIG;iCACgC,kBAAkB,SAAS,aAAa;;;;;;;;;;;;;;;;;IAmC3E;;OAEG;gCAC+B,kBAAkB,SAAS,aAAa;;;;;;;;;;;;;;;;;IAG1E;;;;OAIG;yBACwB,kBAAkB,QAAQ,MAAM;;;;;;;;;;;;;;;;;qBAapC,kBAAkB,QAAQ,+BAA+B;;;;;;;;;;;;;;;;;IAoBhF;;;;OAIG;4BAC2B,kBAAkB,QAAQ,+BAA+B;;;;;;;;;;;;;;;;;qBAkChE,kBAAkB,MAAM,MAAM,QAAQ,+BAA+B;;;;;;;;;;;;;;;;;qBA4BrE,kBAAkB,MAAM,MAAM;;;CAOtD,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { and, desc, eq, sql } from "drizzle-orm";
|
|
1
|
+
import { and, desc, eq, ne, sql } from "drizzle-orm";
|
|
2
2
|
import { contractNumberSeries } from "./schema.js";
|
|
3
3
|
export class ContractSeriesAmbiguousError extends Error {
|
|
4
4
|
constructor(message) {
|
|
@@ -46,21 +46,39 @@ export const contractSeriesService = {
|
|
|
46
46
|
return rows[0] ?? null;
|
|
47
47
|
},
|
|
48
48
|
/**
|
|
49
|
-
* Resolve the
|
|
50
|
-
*
|
|
51
|
-
*
|
|
49
|
+
* Resolve the default active series for a scope. If no explicit default
|
|
50
|
+
* exists, fall back to the legacy sole-active behavior for backwards
|
|
51
|
+
* compatibility.
|
|
52
52
|
*/
|
|
53
|
-
async
|
|
54
|
-
const
|
|
53
|
+
async findDefaultActiveByScope(db, scope) {
|
|
54
|
+
const defaultRows = await db
|
|
55
|
+
.select()
|
|
56
|
+
.from(contractNumberSeries)
|
|
57
|
+
.where(and(eq(contractNumberSeries.scope, scope), eq(contractNumberSeries.active, true), eq(contractNumberSeries.isDefault, true)))
|
|
58
|
+
.orderBy(desc(contractNumberSeries.updatedAt))
|
|
59
|
+
.limit(2);
|
|
60
|
+
if (defaultRows.length > 1) {
|
|
61
|
+
throw new ContractSeriesAmbiguousError(`Multiple default active contract_number_series rows match scope=${scope}. The partial unique index is missing or has been bypassed.`);
|
|
62
|
+
}
|
|
63
|
+
if (defaultRows[0]) {
|
|
64
|
+
return defaultRows[0];
|
|
65
|
+
}
|
|
66
|
+
const activeRows = await db
|
|
55
67
|
.select()
|
|
56
68
|
.from(contractNumberSeries)
|
|
57
69
|
.where(and(eq(contractNumberSeries.scope, scope), eq(contractNumberSeries.active, true)))
|
|
58
70
|
.orderBy(desc(contractNumberSeries.updatedAt))
|
|
59
71
|
.limit(2);
|
|
60
|
-
if (
|
|
61
|
-
throw new ContractSeriesAmbiguousError(`Multiple active contract_number_series rows match scope=${scope}.
|
|
72
|
+
if (activeRows.length > 1) {
|
|
73
|
+
throw new ContractSeriesAmbiguousError(`Multiple active contract_number_series rows match scope=${scope}. Mark one as is_default=true, archive duplicates, or pass an explicit series.`);
|
|
62
74
|
}
|
|
63
|
-
return
|
|
75
|
+
return activeRows[0] ?? null;
|
|
76
|
+
},
|
|
77
|
+
/**
|
|
78
|
+
* @deprecated Prefer `findDefaultActiveByScope`.
|
|
79
|
+
*/
|
|
80
|
+
async findSingleActiveByScope(db, scope) {
|
|
81
|
+
return contractSeriesService.findDefaultActiveByScope(db, scope);
|
|
64
82
|
},
|
|
65
83
|
/**
|
|
66
84
|
* @deprecated Prefer `findActiveByPrefixScope`. `name` has no unique
|
|
@@ -79,8 +97,22 @@ export const contractSeriesService = {
|
|
|
79
97
|
return rows[0] ?? null;
|
|
80
98
|
},
|
|
81
99
|
async createSeries(db, data) {
|
|
82
|
-
|
|
83
|
-
|
|
100
|
+
return db.transaction(async (tx) => {
|
|
101
|
+
const scope = data.scope ?? "customer";
|
|
102
|
+
const active = data.active ?? true;
|
|
103
|
+
const isDefault = active === false ? false : (data.isDefault ?? false);
|
|
104
|
+
if (isDefault) {
|
|
105
|
+
await tx
|
|
106
|
+
.update(contractNumberSeries)
|
|
107
|
+
.set({ isDefault: false, updatedAt: new Date() })
|
|
108
|
+
.where(eq(contractNumberSeries.scope, scope));
|
|
109
|
+
}
|
|
110
|
+
const [row] = await tx
|
|
111
|
+
.insert(contractNumberSeries)
|
|
112
|
+
.values({ ...data, scope, active, isDefault })
|
|
113
|
+
.returning();
|
|
114
|
+
return row ?? null;
|
|
115
|
+
});
|
|
84
116
|
},
|
|
85
117
|
/**
|
|
86
118
|
* Idempotent create-or-update against the `(prefix, scope) WHERE active`
|
|
@@ -88,30 +120,62 @@ export const contractSeriesService = {
|
|
|
88
120
|
* without tracking ids.
|
|
89
121
|
*/
|
|
90
122
|
async upsertByPrefixScope(db, data) {
|
|
91
|
-
|
|
92
|
-
.
|
|
93
|
-
.
|
|
94
|
-
.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
123
|
+
return db.transaction(async (tx) => {
|
|
124
|
+
const scope = data.scope ?? "customer";
|
|
125
|
+
const active = data.active ?? true;
|
|
126
|
+
const isDefault = active === false ? false : (data.isDefault ?? false);
|
|
127
|
+
if (isDefault) {
|
|
128
|
+
await tx
|
|
129
|
+
.update(contractNumberSeries)
|
|
130
|
+
.set({ isDefault: false, updatedAt: new Date() })
|
|
131
|
+
.where(eq(contractNumberSeries.scope, scope));
|
|
132
|
+
}
|
|
133
|
+
const [row] = await tx
|
|
134
|
+
.insert(contractNumberSeries)
|
|
135
|
+
.values({ ...data, scope, active, isDefault })
|
|
136
|
+
.onConflictDoUpdate({
|
|
137
|
+
target: [contractNumberSeries.prefix, contractNumberSeries.scope],
|
|
138
|
+
targetWhere: sql `${contractNumberSeries.active} = true`,
|
|
139
|
+
set: {
|
|
140
|
+
name: data.name,
|
|
141
|
+
separator: data.separator,
|
|
142
|
+
padLength: data.padLength,
|
|
143
|
+
resetStrategy: data.resetStrategy,
|
|
144
|
+
isDefault,
|
|
145
|
+
externalProvider: data.externalProvider ?? null,
|
|
146
|
+
externalConfigKey: data.externalConfigKey ?? null,
|
|
147
|
+
updatedAt: new Date(),
|
|
148
|
+
},
|
|
149
|
+
})
|
|
150
|
+
.returning();
|
|
151
|
+
return row ?? null;
|
|
152
|
+
});
|
|
107
153
|
},
|
|
108
154
|
async updateSeries(db, id, data) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
155
|
+
return db.transaction(async (tx) => {
|
|
156
|
+
const [existing] = await tx
|
|
157
|
+
.select()
|
|
158
|
+
.from(contractNumberSeries)
|
|
159
|
+
.where(eq(contractNumberSeries.id, id))
|
|
160
|
+
.limit(1);
|
|
161
|
+
if (!existing)
|
|
162
|
+
return null;
|
|
163
|
+
const nextScope = data.scope ?? existing.scope;
|
|
164
|
+
const nextActive = data.active ?? existing.active;
|
|
165
|
+
const nextIsDefault = nextActive === false ? false : (data.isDefault ?? existing.isDefault);
|
|
166
|
+
if (nextIsDefault) {
|
|
167
|
+
await tx
|
|
168
|
+
.update(contractNumberSeries)
|
|
169
|
+
.set({ isDefault: false, updatedAt: new Date() })
|
|
170
|
+
.where(and(eq(contractNumberSeries.scope, nextScope), ne(contractNumberSeries.id, id)));
|
|
171
|
+
}
|
|
172
|
+
const [row] = await tx
|
|
173
|
+
.update(contractNumberSeries)
|
|
174
|
+
.set({ ...data, isDefault: nextIsDefault, updatedAt: new Date() })
|
|
175
|
+
.where(eq(contractNumberSeries.id, id))
|
|
176
|
+
.returning();
|
|
177
|
+
return row ?? null;
|
|
178
|
+
});
|
|
115
179
|
},
|
|
116
180
|
async deleteSeries(db, id) {
|
|
117
181
|
const [row] = await db
|
|
@@ -9,8 +9,8 @@ export type ContractNumberSeriesListQuery = z.infer<typeof contractNumberSeriesL
|
|
|
9
9
|
export type CreateContractTemplateInput = z.infer<typeof insertContractTemplateSchema>;
|
|
10
10
|
export type UpdateContractTemplateInput = z.infer<typeof updateContractTemplateSchema>;
|
|
11
11
|
export type CreateContractTemplateVersionInput = z.infer<typeof insertContractTemplateVersionSchema>;
|
|
12
|
-
export type CreateContractNumberSeriesInput = z.
|
|
13
|
-
export type UpdateContractNumberSeriesInput = z.
|
|
12
|
+
export type CreateContractNumberSeriesInput = z.input<typeof insertContractNumberSeriesSchema>;
|
|
13
|
+
export type UpdateContractNumberSeriesInput = z.input<typeof updateContractNumberSeriesSchema>;
|
|
14
14
|
export type CreateContractInput = z.infer<typeof insertContractSchema>;
|
|
15
15
|
export type UpdateContractInput = z.infer<typeof updateContractSchema>;
|
|
16
16
|
export type CreateContractSignatureInput = z.infer<typeof insertContractSignatureSchema>;
|
|
@@ -1327,6 +1327,9 @@ export declare const contractsService: {
|
|
|
1327
1327
|
resetStrategy: "never" | "annual" | "monthly";
|
|
1328
1328
|
resetAt: Date | null;
|
|
1329
1329
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1330
|
+
isDefault: boolean;
|
|
1331
|
+
externalProvider: string | null;
|
|
1332
|
+
externalConfigKey: string | null;
|
|
1330
1333
|
active: boolean;
|
|
1331
1334
|
createdAt: Date;
|
|
1332
1335
|
updatedAt: Date;
|
|
@@ -1341,6 +1344,9 @@ export declare const contractsService: {
|
|
|
1341
1344
|
resetStrategy: "never" | "annual" | "monthly";
|
|
1342
1345
|
resetAt: Date | null;
|
|
1343
1346
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1347
|
+
isDefault: boolean;
|
|
1348
|
+
externalProvider: string | null;
|
|
1349
|
+
externalConfigKey: string | null;
|
|
1344
1350
|
active: boolean;
|
|
1345
1351
|
createdAt: Date;
|
|
1346
1352
|
updatedAt: Date;
|
|
@@ -1355,6 +1361,26 @@ export declare const contractsService: {
|
|
|
1355
1361
|
resetStrategy: "never" | "annual" | "monthly";
|
|
1356
1362
|
resetAt: Date | null;
|
|
1357
1363
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1364
|
+
isDefault: boolean;
|
|
1365
|
+
externalProvider: string | null;
|
|
1366
|
+
externalConfigKey: string | null;
|
|
1367
|
+
active: boolean;
|
|
1368
|
+
createdAt: Date;
|
|
1369
|
+
updatedAt: Date;
|
|
1370
|
+
} | null>;
|
|
1371
|
+
findDefaultActiveByScope(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, scope: "customer" | "partner" | "supplier" | "other" | "channel"): Promise<{
|
|
1372
|
+
id: string;
|
|
1373
|
+
name: string;
|
|
1374
|
+
prefix: string;
|
|
1375
|
+
separator: string;
|
|
1376
|
+
padLength: number;
|
|
1377
|
+
currentSequence: number;
|
|
1378
|
+
resetStrategy: "never" | "annual" | "monthly";
|
|
1379
|
+
resetAt: Date | null;
|
|
1380
|
+
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1381
|
+
isDefault: boolean;
|
|
1382
|
+
externalProvider: string | null;
|
|
1383
|
+
externalConfigKey: string | null;
|
|
1358
1384
|
active: boolean;
|
|
1359
1385
|
createdAt: Date;
|
|
1360
1386
|
updatedAt: Date;
|
|
@@ -1369,6 +1395,9 @@ export declare const contractsService: {
|
|
|
1369
1395
|
resetStrategy: "never" | "annual" | "monthly";
|
|
1370
1396
|
resetAt: Date | null;
|
|
1371
1397
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1398
|
+
isDefault: boolean;
|
|
1399
|
+
externalProvider: string | null;
|
|
1400
|
+
externalConfigKey: string | null;
|
|
1372
1401
|
active: boolean;
|
|
1373
1402
|
createdAt: Date;
|
|
1374
1403
|
updatedAt: Date;
|
|
@@ -1383,6 +1412,9 @@ export declare const contractsService: {
|
|
|
1383
1412
|
resetStrategy: "never" | "annual" | "monthly";
|
|
1384
1413
|
resetAt: Date | null;
|
|
1385
1414
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1415
|
+
isDefault: boolean;
|
|
1416
|
+
externalProvider: string | null;
|
|
1417
|
+
externalConfigKey: string | null;
|
|
1386
1418
|
active: boolean;
|
|
1387
1419
|
createdAt: Date;
|
|
1388
1420
|
updatedAt: Date;
|
|
@@ -1395,11 +1427,14 @@ export declare const contractsService: {
|
|
|
1395
1427
|
updatedAt: Date;
|
|
1396
1428
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1397
1429
|
active: boolean;
|
|
1430
|
+
isDefault: boolean;
|
|
1398
1431
|
separator: string;
|
|
1399
1432
|
padLength: number;
|
|
1400
1433
|
currentSequence: number;
|
|
1401
1434
|
resetStrategy: "never" | "annual" | "monthly";
|
|
1402
1435
|
resetAt: Date | null;
|
|
1436
|
+
externalProvider: string | null;
|
|
1437
|
+
externalConfigKey: string | null;
|
|
1403
1438
|
} | null>;
|
|
1404
1439
|
upsertByPrefixScope(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service-shared.js").CreateContractNumberSeriesInput): Promise<{
|
|
1405
1440
|
name: string;
|
|
@@ -1409,11 +1444,14 @@ export declare const contractsService: {
|
|
|
1409
1444
|
updatedAt: Date;
|
|
1410
1445
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1411
1446
|
active: boolean;
|
|
1447
|
+
isDefault: boolean;
|
|
1412
1448
|
separator: string;
|
|
1413
1449
|
padLength: number;
|
|
1414
1450
|
currentSequence: number;
|
|
1415
1451
|
resetStrategy: "never" | "annual" | "monthly";
|
|
1416
1452
|
resetAt: Date | null;
|
|
1453
|
+
externalProvider: string | null;
|
|
1454
|
+
externalConfigKey: string | null;
|
|
1417
1455
|
} | null>;
|
|
1418
1456
|
updateSeries(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service-shared.js").UpdateContractNumberSeriesInput): Promise<{
|
|
1419
1457
|
id: string;
|
|
@@ -1425,6 +1463,9 @@ export declare const contractsService: {
|
|
|
1425
1463
|
resetStrategy: "never" | "annual" | "monthly";
|
|
1426
1464
|
resetAt: Date | null;
|
|
1427
1465
|
scope: "customer" | "partner" | "supplier" | "other" | "channel";
|
|
1466
|
+
isDefault: boolean;
|
|
1467
|
+
externalProvider: string | null;
|
|
1468
|
+
externalConfigKey: string | null;
|
|
1428
1469
|
active: boolean;
|
|
1429
1470
|
createdAt: Date;
|
|
1430
1471
|
updatedAt: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/contracts/service.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,GAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB;;mBAMo1T,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAtrH,CAAC;eAAwB,CAAC;eAAwB,CAAC
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/contracts/service.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,GAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB;;mBAMo1T,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAtrH,CAAC;eAAwB,CAAC;eAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAD9uM,CAAA"}
|
|
@@ -152,6 +152,9 @@ export declare const insertContractNumberSeriesSchema: z.ZodObject<{
|
|
|
152
152
|
other: "other";
|
|
153
153
|
channel: "channel";
|
|
154
154
|
}>>;
|
|
155
|
+
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
156
|
+
externalProvider: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
157
|
+
externalConfigKey: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
155
158
|
active: z.ZodDefault<z.ZodBoolean>;
|
|
156
159
|
}, z.core.$strip>;
|
|
157
160
|
export declare const updateContractNumberSeriesSchema: z.ZodObject<{
|
|
@@ -171,6 +174,9 @@ export declare const updateContractNumberSeriesSchema: z.ZodObject<{
|
|
|
171
174
|
other: "other";
|
|
172
175
|
channel: "channel";
|
|
173
176
|
}>>>;
|
|
177
|
+
isDefault: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
178
|
+
externalProvider: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
179
|
+
externalConfigKey: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
174
180
|
active: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
175
181
|
}, z.core.$strip>;
|
|
176
182
|
export declare const contractNumberSeriesListQuerySchema: z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/contracts/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,mBAAmB;;;;;;EAAkE,CAAA;AAElG,eAAO,MAAM,oBAAoB;;;;;;;;EAQ/B,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM1C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;EAAwD,CAAA;AAElG,eAAO,MAAM,iCAAiC;;;;EAAyC,CAAA;AAEvF,eAAO,MAAM,wBAAwB;;;;EAA+C,CAAA;AA6CpF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;iBAA6B,CAAA;AACtE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;iBAAuC,CAAA;AAEhF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;iBAM1C,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;iBAe7C,CAAA;AAIF,eAAO,MAAM,mCAAmC;;;;;iBAK9C,CAAA;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/contracts/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,mBAAmB;;;;;;EAAkE,CAAA;AAElG,eAAO,MAAM,oBAAoB;;;;;;;;EAQ/B,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM1C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;EAAwD,CAAA;AAElG,eAAO,MAAM,iCAAiC;;;;EAAyC,CAAA;AAEvF,eAAO,MAAM,wBAAwB;;;;EAA+C,CAAA;AA6CpF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;iBAA6B,CAAA;AACtE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;iBAAuC,CAAA;AAEhF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;iBAM1C,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;iBAe7C,CAAA;AAIF,eAAO,MAAM,mCAAmC;;;;;iBAK9C,CAAA;AAiBF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;iBAAiC,CAAA;AAC9E,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;iBAA2C,CAAA;AACxF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;iBAG9C,CAAA;AAuBF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAqB,CAAA;AACtD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;iBAKrB,CAAA;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;iBASlC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAA;AAEF,eAAO,MAAM,sCAAsC;;iBAEjD,CAAA;AAEF,eAAO,MAAM,mCAAmC;;;;iBAI9C,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;iBAMhD,CAAA;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAA;AAEnG;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,yCAAyC;;;;;;;;;;;iBAWpD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMhD,CAAA;AAkBF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBAA8B,CAAA;AAcxE,eAAO,MAAM,8BAA8B;;;;;;;;iBAA+B,CAAA;AAC1E,eAAO,MAAM,8BAA8B;;;;;;;;iBAAyC,CAAA;AAEpF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA"}
|
|
@@ -97,6 +97,9 @@ const contractNumberSeriesCoreSchema = z.object({
|
|
|
97
97
|
padLength: z.number().int().min(0).max(12).default(4),
|
|
98
98
|
resetStrategy: contractNumberResetStrategySchema.default("never"),
|
|
99
99
|
scope: contractScopeSchema.default("customer"),
|
|
100
|
+
isDefault: z.boolean().default(false),
|
|
101
|
+
externalProvider: z.string().min(1).max(100).optional().nullable(),
|
|
102
|
+
externalConfigKey: z.string().min(1).max(100).optional().nullable(),
|
|
100
103
|
active: z.boolean().default(true),
|
|
101
104
|
});
|
|
102
105
|
export const insertContractNumberSeriesSchema = contractNumberSeriesCoreSchema;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/legal",
|
|
3
|
-
"version": "0.80.
|
|
3
|
+
"version": "0.80.11",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -59,14 +59,14 @@
|
|
|
59
59
|
"drizzle-orm": "^0.45.2",
|
|
60
60
|
"hono": "^4.12.10",
|
|
61
61
|
"zod": "^4.3.6",
|
|
62
|
-
"@voyantjs/bookings": "0.80.
|
|
63
|
-
"@voyantjs/core": "0.80.
|
|
64
|
-
"@voyantjs/crm": "0.80.
|
|
65
|
-
"@voyantjs/db": "0.80.
|
|
66
|
-
"@voyantjs/hono": "0.80.
|
|
67
|
-
"@voyantjs/suppliers": "0.80.
|
|
68
|
-
"@voyantjs/utils": "0.80.
|
|
69
|
-
"@voyantjs/storage": "0.80.
|
|
62
|
+
"@voyantjs/bookings": "0.80.11",
|
|
63
|
+
"@voyantjs/core": "0.80.11",
|
|
64
|
+
"@voyantjs/crm": "0.80.11",
|
|
65
|
+
"@voyantjs/db": "0.80.11",
|
|
66
|
+
"@voyantjs/hono": "0.80.11",
|
|
67
|
+
"@voyantjs/suppliers": "0.80.11",
|
|
68
|
+
"@voyantjs/utils": "0.80.11",
|
|
69
|
+
"@voyantjs/storage": "0.80.11"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"typescript": "^6.0.2",
|