@tstdl/base 0.93.41 → 0.93.43

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.
@@ -1,6 +1,22 @@
1
1
  import { AuditEvent } from './audit.model.js';
2
2
  export declare const auditSchema: import("../orm/server/index.js").DatabaseSchema<"audit">;
3
- export declare const auditOutcome: import("drizzle-orm/pg-core").PgEnum<["pending", "success", "cancelled", "failure", "denied"]>;
4
- export declare const auditSeverity: import("drizzle-orm/pg-core").PgEnum<["error", "warn", "info", "critical"]>;
5
- export declare const actorType: import("drizzle-orm/pg-core").PgEnum<["user", "anonymous", "system", "api-key"]>;
3
+ export declare const auditOutcome: import("../orm/enums.js").PgEnumFromEnumeration<{
4
+ readonly Pending: "pending";
5
+ readonly Success: "success";
6
+ readonly Cancelled: "cancelled";
7
+ readonly Failure: "failure";
8
+ readonly Denied: "denied";
9
+ }>;
10
+ export declare const auditSeverity: import("../orm/enums.js").PgEnumFromEnumeration<{
11
+ readonly Info: "info";
12
+ readonly Warn: "warn";
13
+ readonly Error: "error";
14
+ readonly Critical: "critical";
15
+ }>;
16
+ export declare const actorType: import("../orm/enums.js").PgEnumFromEnumeration<{
17
+ readonly Anonymous: "anonymous";
18
+ readonly System: "system";
19
+ readonly ApiKey: "api-key";
20
+ readonly User: "user";
21
+ }>;
6
22
  export declare const auditEvent: import("../orm/server/types.js").PgTableFromType<typeof AuditEvent, "audit">;
@@ -1,14 +1,55 @@
1
1
  import { Document, DocumentAssignmentScope, DocumentAssignmentTask, DocumentCategory, DocumentCollection, DocumentCollectionAssignment, DocumentProperty, DocumentPropertyValue, DocumentRequest, DocumentRequestCollectionAssignment, DocumentRequestsTemplate, DocumentRequestTemplate, DocumentTag, DocumentTagAssignment, DocumentType, DocumentTypeProperty, DocumentTypeValidation, DocumentValidationDefinition, DocumentValidationExecution, DocumentValidationExecutionRelatedDocument, DocumentWorkflow } from '../models/index.js';
2
2
  export declare const documentManagementSchema: import("../../orm/server/index.js").DatabaseSchema<"document_management">;
3
- export declare const documentApproval: import("drizzle-orm/pg-core").PgEnum<["pending", "approved", "rejected"]>;
4
- export declare const documentAssignmentTarget: import("drizzle-orm/pg-core").PgEnum<["request", "collection"]>;
5
- export declare const documentPropertyDataType: import("drizzle-orm/pg-core").PgEnum<["boolean", "date", "text", "decimal", "integer"]>;
6
- export declare const documentRequestState: import("drizzle-orm/pg-core").PgEnum<["open", "closed", "fulfilled"]>;
7
- export declare const documentValidationExecutionState: import("drizzle-orm/pg-core").PgEnum<["pending", "error", "running", "completed"]>;
8
- export declare const documentValidationResultStatus: import("drizzle-orm/pg-core").PgEnum<["warning", "failed", "passed"]>;
9
- export declare const documentWorkflowFailReason: import("drizzle-orm/pg-core").PgEnum<["no-suitable-collection", "no-suitable-request"]>;
10
- export declare const documentWorkflowState: import("drizzle-orm/pg-core").PgEnum<["pending", "error", "running", "completed", "failed", "review"]>;
11
- export declare const documentWorkflowStep: import("drizzle-orm/pg-core").PgEnum<["classification", "extraction", "assignment", "validation"]>;
3
+ export declare const documentApproval: import("../../orm/enums.js").PgEnumFromEnumeration<{
4
+ readonly Pending: "pending";
5
+ readonly Approved: "approved";
6
+ readonly Rejected: "rejected";
7
+ }>;
8
+ export declare const documentAssignmentTarget: import("../../orm/enums.js").PgEnumFromEnumeration<{
9
+ readonly Collection: "collection";
10
+ readonly Request: "request";
11
+ }>;
12
+ export declare const documentPropertyDataType: import("../../orm/enums.js").PgEnumFromEnumeration<{
13
+ readonly Text: "text";
14
+ readonly Integer: "integer";
15
+ readonly Decimal: "decimal";
16
+ readonly Boolean: "boolean";
17
+ readonly Date: "date";
18
+ }>;
19
+ export declare const documentRequestState: import("../../orm/enums.js").PgEnumFromEnumeration<{
20
+ readonly Open: "open";
21
+ readonly Fulfilled: "fulfilled";
22
+ readonly Closed: "closed";
23
+ }>;
24
+ export declare const documentValidationExecutionState: import("../../orm/enums.js").PgEnumFromEnumeration<{
25
+ readonly Pending: "pending";
26
+ readonly Running: "running";
27
+ readonly Completed: "completed";
28
+ readonly Error: "error";
29
+ }>;
30
+ export declare const documentValidationResultStatus: import("../../orm/enums.js").PgEnumFromEnumeration<{
31
+ readonly Passed: "passed";
32
+ readonly Failed: "failed";
33
+ readonly Warning: "warning";
34
+ }>;
35
+ export declare const documentWorkflowFailReason: import("../../orm/enums.js").PgEnumFromEnumeration<{
36
+ readonly NoSuitableCollection: "no-suitable-collection";
37
+ readonly NoSuitableRequest: "no-suitable-request";
38
+ }>;
39
+ export declare const documentWorkflowState: import("../../orm/enums.js").PgEnumFromEnumeration<{
40
+ readonly Pending: "pending";
41
+ readonly Running: "running";
42
+ readonly Review: "review";
43
+ readonly Completed: "completed";
44
+ readonly Error: "error";
45
+ readonly Failed: "failed";
46
+ }>;
47
+ export declare const documentWorkflowStep: import("../../orm/enums.js").PgEnumFromEnumeration<{
48
+ readonly Classification: "classification";
49
+ readonly Extraction: "extraction";
50
+ readonly Assignment: "assignment";
51
+ readonly Validation: "validation";
52
+ }>;
12
53
  export declare const document: import("../../orm/server/types.js").PgTableFromType<typeof Document, "document_management">;
13
54
  export declare const documentAssignmentScope: import("../../orm/server/types.js").PgTableFromType<typeof DocumentAssignmentScope, "document_management">;
14
55
  export declare const documentAssignmentTask: import("../../orm/server/types.js").PgTableFromType<typeof DocumentAssignmentTask, "document_management">;
package/orm/enums.d.ts CHANGED
@@ -1,3 +1,5 @@
1
- import type { Enumeration } from '../types/types.js';
1
+ import type { PgEnum } from 'drizzle-orm/pg-core';
2
+ import type { Enumeration, EnumerationValue, UnionToTuple } from '../types/types.js';
2
3
  export declare function registerEnum(enumeration: Enumeration, name: string): void;
3
4
  export declare function getEnumName(enumeration: Enumeration): string | undefined;
5
+ export type PgEnumFromEnumeration<T extends Enumeration> = PgEnum<Extract<UnionToTuple<`${EnumerationValue<T>}`>, [string, ...string[]]>>;
@@ -1,11 +1,6 @@
1
- /**
2
- * @module
3
- * Provides utilities for defining and accessing database schemas, tables, and enums
4
- * within a specific PostgreSQL schema.
5
- */
6
- import type { PgEnum } from 'drizzle-orm/pg-core';
7
- import type { Enumeration, EnumerationValue, UnionToTuple } from '../../types/index.js';
1
+ import type { Enumeration } from '../../types/index.js';
8
2
  import type { EntityType } from '../entity.js';
3
+ import { type PgEnumFromEnumeration } from '../enums.js';
9
4
  import type { PgTableFromType } from './types.js';
10
5
  /**
11
6
  * Represents a database schema, providing methods to access tables and enums within that schema.
@@ -34,7 +29,7 @@ export declare class DatabaseSchema<SchemaName extends string> {
34
29
  * @param name Optional name to register the enum with.
35
30
  * @returns The Drizzle enum object.
36
31
  */
37
- getEnum<T extends Enumeration>(enumeration: T, name?: string): PgEnum<UnionToTuple<`${EnumerationValue<T>}`> extends [string, ...string[]] ? UnionToTuple<`${EnumerationValue<T>}`> : never>;
32
+ getEnum<T extends Enumeration>(enumeration: T, name?: string): PgEnumFromEnumeration<T>;
38
33
  }
39
34
  /**
40
35
  * Factory function to create a DatabaseSchema instance.
package/orm/sqls.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  import type { EnumerationObject, EnumerationValue } from '../types/types.js';
8
8
  import { type AnyColumn, type Column, type SQL, type SQLChunk } from 'drizzle-orm';
9
9
  import type { GetSelectTableSelection, SelectResultField, TableLike } from 'drizzle-orm/query-builders/select.types';
10
+ import { type PgEnumFromEnumeration } from './enums.js';
10
11
  import type { TsVectorWeight } from './query/index.js';
11
12
  import type { Uuid } from './types.js';
12
13
  /** Drizzle SQL helper for getting the current transaction's timestamp. Returns a Date object. */
@@ -59,8 +60,8 @@ export type TsHeadlineOptions = {
59
60
  */
60
61
  fragmentDelimiter?: string;
61
62
  };
62
- export declare function enumValue<T extends EnumerationObject>(enumeration: T, value: EnumerationValue<T>): SQL<string>;
63
- export declare function singleReferenceCheck<E extends EnumerationObject>(enumeration: E, discriminator: Column, columns: Column[], columnMapping: Record<EnumerationValue<E>, Column>): SQL;
63
+ export declare function enumValue<T extends EnumerationObject>(enumeration: T, dbEnum: PgEnumFromEnumeration<T>, value: EnumerationValue<T>): SQL<string>;
64
+ export declare function singleReferenceCheck<T extends EnumerationObject>(enumeration: T, dbEnum: PgEnumFromEnumeration<T>, discriminator: Column, columns: Column[], columnMapping: Record<EnumerationValue<T>, Column | null>): SQL;
64
65
  export declare function array<T>(values: SQL<T>[]): SQL<T[]>;
65
66
  export declare function array<T = unknown>(values: SQLChunk[]): SQL<T[]>;
66
67
  export declare function autoAlias<T>(column: AnyColumn<{
package/orm/sqls.js CHANGED
@@ -1,4 +1,5 @@
1
- import { assertDefined, isDefined, isNumber, isString } from '../utils/type-guards.js';
1
+ import { objectEntries } from '../utils/object/object.js';
2
+ import { assertDefined, isDefined, isNotNull, isNumber, isString } from '../utils/type-guards.js';
2
3
  import { and, eq, sql, Table } from 'drizzle-orm';
3
4
  import { getEnumName } from './enums.js';
4
5
  /** Drizzle SQL helper for getting the current transaction's timestamp. Returns a Date object. */
@@ -7,22 +8,23 @@ export const TRANSACTION_TIMESTAMP = sql `transaction_timestamp()`;
7
8
  export const RANDOM_UUID_V4 = sql `gen_random_uuid()`;
8
9
  /** Drizzle SQL helper for generating a random UUID (v7). Returns a Uuid string. */
9
10
  export const RANDOM_UUID_V7 = sql `uuidv7()`;
10
- export function enumValue(enumeration, value) {
11
+ export function enumValue(enumeration, dbEnum, value) {
11
12
  const enumName = getEnumName(enumeration);
12
13
  assertDefined(enumName, 'Enumeration is not registered.');
13
- return sql `'${sql.raw(String(value))}'::${sql.raw(enumName)}`;
14
+ return sql `'${sql.raw(String(value))}'::${dbEnum}`;
14
15
  }
15
- export function singleReferenceCheck(enumeration, discriminator, columns, columnMapping) {
16
+ export function singleReferenceCheck(enumeration, dbEnum, discriminator, columns, columnMapping) {
16
17
  const whens = [];
17
- for (const [value, column] of Object.entries(columnMapping)) {
18
- whens.push(sql ` WHEN ${enumValue(enumeration, value)} THEN ${column} IS NOT NULL`);
18
+ for (const [value, column] of objectEntries(columnMapping)) {
19
+ if (isNotNull(column)) {
20
+ whens.push(sql ` WHEN ${enumValue(enumeration, dbEnum, value)} THEN ${column} IS NOT NULL`);
21
+ }
19
22
  }
20
23
  return and(sql `
21
- CASE ${discriminator}
24
+ CASE ${discriminator}
22
25
  ${sql.join(whens, sql `\n`)}
23
- ELSE FALSE
24
- END
25
- `, eq(numNonNulls(...columns), sql.raw('1')));
26
+ ELSE FALSE
27
+ END`, eq(numNonNulls(...columns), sql.raw('1')));
26
28
  }
27
29
  export function array(values) {
28
30
  const valueString = sql.join(values, sql.raw(', '));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.93.41",
3
+ "version": "0.93.43",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"