alepha 0.6.9 → 0.7.0

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/postgres.d.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  import * as _alepha_core from '@alepha/core';
2
2
  import { TObject as TObject$1, Static as Static$1, Alepha, KIND, OPTIONS } from '@alepha/core';
3
3
  import * as _sinclair_typebox from '@sinclair/typebox';
4
- import { TObject, Static, TSchema, ObjectOptions, Kind, TProperties, Evaluate, TReadonly, TOptional, TAdditionalProperties, OptionalKind, TArray, TIntersect, TRecord, TBoolean, TInteger, IntegerOptions, StringOptions, TOptionalWithFlag } from '@sinclair/typebox';
5
- import * as drizzle_orm from 'drizzle-orm';
6
- import { TableConfig, SQLWrapper, SQL, BuildColumns } from 'drizzle-orm';
4
+ import { TObject, Static, TSchema, ObjectOptions, Kind, TProperties, Evaluate, TReadonly, TOptional, TAdditionalProperties, OptionalKind, TArray, TIntersect, TRecord, TBoolean, TInteger, TOptionalWithFlag, IntegerOptions, StringOptions } from '@sinclair/typebox';
5
+ import * as drizzle_orm_query_builders_query_builder from 'drizzle-orm/query-builders/query-builder';
6
+ import * as drizzleOrm from 'drizzle-orm';
7
+ import { TableConfig, BuildExtraConfigColumns, SQLWrapper, SQL, BuildColumns } from 'drizzle-orm';
7
8
  export { sql } from 'drizzle-orm';
8
9
  import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
9
- import { PgSequenceOptions, AnyPgTable, AnyPgColumn, UpdateDeleteAction, PgTableExtraConfigValue, PgTableWithColumns, PgColumnBuilderBase, PgDatabase, TableConfig as TableConfig$1, PgColumn, PgTransaction, PgTransactionConfig, LockStrength, LockConfig, PgInsertValue, PgSelectJoinFn } from 'drizzle-orm/pg-core';
10
+ import { PgSequenceOptions, AnyPgTable, AnyPgColumn, UpdateDeleteAction, PgTableWithColumns, PgColumnBuilderBase, PgTableExtraConfigValue, PgDatabase, TableConfig as TableConfig$1, PgColumn, PgTransaction, PgTransactionConfig, LockStrength, LockConfig, PgInsertValue, PgSelectJoinFn } from 'drizzle-orm/pg-core';
10
11
  export * from 'drizzle-orm/pg-core';
11
12
  import { PgTransactionConfig as PgTransactionConfig$1 } from 'drizzle-orm/pg-core/session';
12
- import { BuildExtraConfigColumns } from 'drizzle-orm/column-builder';
13
- import { PgTableExtraConfigValue as PgTableExtraConfigValue$1 } from 'drizzle-orm/pg-core/table';
13
+ import { BuildExtraConfigColumns as BuildExtraConfigColumns$1 } from 'drizzle-orm/column-builder';
14
14
  import * as _alepha_lock from '@alepha/lock';
15
15
  import { MigrationConfig } from 'drizzle-orm/migrator';
16
16
  import { NodePgDatabase } from 'drizzle-orm/node-postgres';
@@ -67,28 +67,6 @@ interface PgRefOptions {
67
67
  };
68
68
  }
69
69
 
70
- interface EntityDescriptorOptions<T extends TObject, Keys = keyof Static<T>> {
71
- name: string;
72
- schema: T;
73
- indexes?: (Keys | {
74
- column: Keys;
75
- unique?: boolean;
76
- name?: string;
77
- })[];
78
- foreignKeys?: {
79
- columns: Keys[];
80
- foreignTable: string;
81
- foreignColumns: Keys[];
82
- onUpdate?: "cascade" | "restrict" | "no action" | "set null" | "set default";
83
- onDelete?: "cascade" | "restrict" | "no action" | "set null" | "set default";
84
- }[];
85
- config?: PgTableExtraConfigValue[];
86
- }
87
- /**
88
- * Creates a table descriptor for drizzle-orm.
89
- */
90
- declare const $entity: <T extends TObject>(options: EntityDescriptorOptions<T>) => PgTableWithColumnsAndSchema<PgTableConfig<string, T, FromSchema<T>>, T>;
91
-
92
70
  /**
93
71
  * Convert a schema to columns.
94
72
  *
@@ -112,8 +90,50 @@ type PgTableWithColumnsAndSchema<T extends TableConfig, R extends TObject$1> = P
112
90
  [PG_SCHEMA]: R;
113
91
  };
114
92
 
93
+ interface EntityDescriptorOptions<T extends TObject, Keys = keyof Static<T>> {
94
+ /**
95
+ * The name of the table. This is the name that will be used in the database.
96
+ * @example
97
+ * name: "user"
98
+ */
99
+ name: string;
100
+ /**
101
+ * The schema of the table. This is a TypeBox schema that describes the columns and their types.
102
+ * @example
103
+ * schema: t.object({
104
+ * id: t.uuid(),
105
+ * name: t.string(),
106
+ * email: t.string(),
107
+ * phoneNumber: t.string(),
108
+ * })
109
+ */
110
+ schema: T;
111
+ /**
112
+ * The indexes to create for the table. This can be a string or an object with the column name and options.
113
+ * @example
114
+ * indexes: ["name", { column: "email", unique: true }]
115
+ */
116
+ indexes?: (Keys | {
117
+ column: Keys;
118
+ unique?: boolean;
119
+ name?: string;
120
+ })[];
121
+ /**
122
+ * Extra configuration for the table. See drizzle-orm documentation for more details.
123
+ *
124
+ * @param self The table descriptor.
125
+ * @returns The extra configuration for the table.
126
+ */
127
+ config?: (self: BuildExtraConfigColumns<string, FromSchema<T>, "pg">) => PgTableExtraConfigValue[];
128
+ }
129
+ /**
130
+ * Creates a table descriptor for drizzle-orm.
131
+ */
132
+ declare const $entity: <T extends TObject>(options: EntityDescriptorOptions<T>) => PgTableWithColumnsAndSchema<PgTableConfig<string, T, FromSchema<T>>, T>;
133
+
115
134
  type SQLLike = SQLWrapper | string;
116
135
  declare class PostgresProvider {
136
+ constructor();
117
137
  /**
118
138
  * Get the database instance
119
139
  */
@@ -650,7 +670,7 @@ type PgQueryWith<T extends TObject | TArray> = true | {
650
670
  };
651
671
 
652
672
  declare const pageQuerySchema: _sinclair_typebox.TObject<{
653
- page: _sinclair_typebox.TOptional<_sinclair_typebox.TInteger>;
673
+ page: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
654
674
  size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
655
675
  sort: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
656
676
  }>;
@@ -675,6 +695,9 @@ type TPage<T extends TObject | TIntersect | TRecord> = TObject<{
675
695
  page: TObject<{
676
696
  number: TInteger;
677
697
  size: TInteger;
698
+ totalElements: TOptionalWithFlag<TInteger, true>;
699
+ queryDuration: TOptionalWithFlag<TInteger, true>;
700
+ countDuration: TOptionalWithFlag<TInteger, true>;
678
701
  }>;
679
702
  }>;
680
703
  /**
@@ -689,6 +712,9 @@ type Page<T> = {
689
712
  page: {
690
713
  number: number;
691
714
  size: number;
715
+ totalElements?: number;
716
+ queryDuration?: number;
717
+ countDuration?: number;
692
718
  };
693
719
  };
694
720
 
@@ -698,6 +724,9 @@ type Page<T> = {
698
724
  declare class Repository<TTable extends PgTableWithColumns<TableConfig$1>, TTableSchema extends TObject> {
699
725
  readonly provider: PostgresProvider;
700
726
  protected readonly alepha: Alepha;
727
+ protected readonly env: {
728
+ POSTGRES_PAGINATION_COUNT_ENABLED: boolean;
729
+ };
701
730
  static of: <TEntity extends TableConfig$1, TSchema extends TObject>(table: PgTableWithColumnsAndSchema<TEntity, TSchema>) => (new () => Repository<PgTableWithColumnsAndSchema<TEntity, TSchema>, TSchema>);
702
731
  /**
703
732
  * Register Repository as a valid descriptor.
@@ -747,7 +776,7 @@ declare class Repository<TTable extends PgTableWithColumns<TableConfig$1>, TTabl
747
776
  /**
748
777
  * Getter for the database connection from the database provider.
749
778
  */
750
- get db(): PgDatabase<any, Record<string, never>, drizzle_orm.ExtractTablesWithRelations<Record<string, never>>>;
779
+ get db(): PgDatabase<any, Record<string, never>, drizzleOrm.ExtractTablesWithRelations<Record<string, never>>>;
751
780
  /**
752
781
  *
753
782
  */
@@ -778,10 +807,10 @@ declare class Repository<TTable extends PgTableWithColumns<TableConfig$1>, TTabl
778
807
  *
779
808
  * @returns The SELECT query builder.
780
809
  */
781
- protected select(opts?: StatementOptions): drizzle_orm_pg_core.PgSelectBase<string, Record<string, PgColumn<drizzle_orm.ColumnBaseConfig<drizzle_orm.ColumnDataType, string>, {}, {}>>, "single", Record<string, "not-null">, false, never, {
810
+ protected select(opts?: StatementOptions): drizzle_orm_pg_core.PgSelectBase<string, Record<string, PgColumn<drizzleOrm.ColumnBaseConfig<drizzleOrm.ColumnDataType, string>, {}, {}>>, "single", Record<string, "not-null">, false, never, {
782
811
  [x: string]: unknown;
783
812
  }[], {
784
- [x: string]: PgColumn<drizzle_orm.ColumnBaseConfig<drizzle_orm.ColumnDataType, string>, {}, {}>;
813
+ [x: string]: PgColumn<drizzleOrm.ColumnBaseConfig<drizzleOrm.ColumnDataType, string>, {}, {}>;
785
814
  }>;
786
815
  /**
787
816
  * Start an INSERT query on the table.
@@ -972,7 +1001,7 @@ declare class Repository<TTable extends PgTableWithColumns<TableConfig$1>, TTabl
972
1001
  */
973
1002
  protected getPrimaryKey(schema: TObject): {
974
1003
  key: string;
975
- col: PgColumn<drizzle_orm.ColumnBaseConfig<drizzle_orm.ColumnDataType, string>, {}, {}>;
1004
+ col: PgColumn<drizzleOrm.ColumnBaseConfig<drizzleOrm.ColumnDataType, string>, {}, {}>;
976
1005
  type: TSchema;
977
1006
  };
978
1007
  /**
@@ -1115,7 +1144,7 @@ type TransactionContext = PgTransaction<any, any, any>;
1115
1144
  /**
1116
1145
  * Creates a transaction descriptor.
1117
1146
  */
1118
- declare const $transaction: <T extends any[], R>(opts: TransactionDescriptorOptions<T, R>) => (...parameters: T) => Promise<Promise<R>>;
1147
+ declare const $transaction: <T extends any[], R>(opts: TransactionDescriptorOptions<T, R>) => (...parameters: T) => Promise<R>;
1119
1148
 
1120
1149
  declare class EntityNotFoundError extends Error {
1121
1150
  readonly code = "ERR_RESOURCE_NOTFOUND";
@@ -1130,16 +1159,7 @@ declare class EntityNotFoundError extends Error {
1130
1159
  * @param schema The json schema of the table.
1131
1160
  * @param extraConfig Extra configuration for the table.
1132
1161
  */
1133
- declare const pgTableSchema: <TTableName extends string, TSchema extends TObject, TColumnsMap extends FromSchema<TSchema>>(name: TTableName, schema: TSchema, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, "pg">) => PgTableExtraConfigValue$1[]) => PgTableWithColumnsAndSchema<PgTableConfig<TTableName, TSchema, TColumnsMap>, TSchema>;
1134
- /**
1135
- * @alias pgTableSchema
1136
- */
1137
- declare const table: <TTableName extends string, TSchema extends TObject, TColumnsMap extends FromSchema<TSchema>>(name: TTableName, schema: TSchema, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, "pg">) => PgTableExtraConfigValue$1[]) => PgTableWithColumnsAndSchema<PgTableConfig<TTableName, TSchema, TColumnsMap>, TSchema>;
1138
- declare const $table: <TTableName extends string, TSchema extends TObject, TColumnsMap extends FromSchema<TSchema>>(name: TTableName, schema: TSchema, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, "pg">) => PgTableExtraConfigValue$1[]) => PgTableWithColumnsAndSchema<PgTableConfig<TTableName, TSchema, TColumnsMap>, TSchema>;
1139
- declare const table2: <TTableName extends string, TSchema extends TObject, TColumnsMap extends FromSchema<TSchema>>(name: TTableName, schema: TSchema, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, "pg">) => PgTableExtraConfigValue$1[]) => PgTableWithColumnsAndSchema<PgTableConfig<TTableName, TSchema, TColumnsMap>, TSchema>;
1140
- /**
1141
- *
1142
- */
1162
+ declare const pgTableSchema: <TTableName extends string, TSchema extends TObject, TColumnsMap extends FromSchema<TSchema>>(name: TTableName, schema: TSchema, extraConfig?: (self: BuildExtraConfigColumns$1<TTableName, TColumnsMap, "pg">) => PgTableExtraConfigValue[]) => PgTableWithColumnsAndSchema<PgTableConfig<TTableName, TSchema, TColumnsMap>, TSchema>;
1143
1163
  type PgTableConfig<TTableName extends string, TSchema extends TObject, TColumnsMap extends FromSchema<TSchema>> = {
1144
1164
  name: TTableName;
1145
1165
  schema: any;
@@ -1420,7 +1440,7 @@ declare const pg: PostgresTypeProvider;
1420
1440
  /**
1421
1441
  * Postgres schema type.
1422
1442
  */
1423
- declare const schema: <TDocument extends TSchema>(name: string, document: TDocument) => drizzle_orm.$Type<drizzle_orm_pg_core.PgCustomColumnBuilder<{
1443
+ declare const schema: <TDocument extends TSchema>(name: string, document: TDocument) => drizzleOrm.$Type<drizzle_orm_pg_core.PgCustomColumnBuilder<{
1424
1444
  name: string;
1425
1445
  dataType: "custom";
1426
1446
  columnType: "PgCustomColumn";
@@ -1433,6 +1453,176 @@ declare const schema: <TDocument extends TSchema>(name: string, document: TDocum
1433
1453
  params: [];
1434
1454
  })["static"]>;
1435
1455
 
1456
+ declare const dzl: {
1457
+ pg: typeof drizzle_orm_pg_core;
1458
+ aliasedTable<T extends drizzleOrm.Table | drizzleOrm.View>(table: T, tableAlias: string): T;
1459
+ aliasedRelation<T extends drizzleOrm.Relation>(relation: T, tableAlias: string): T;
1460
+ aliasedTableColumn<T extends drizzleOrm.AnyColumn>(column: T, tableAlias: string): T;
1461
+ mapColumnsInAliasedSQLToAlias(query: drizzleOrm.SQL.Aliased, alias: string): drizzleOrm.SQL.Aliased;
1462
+ mapColumnsInSQLToAlias(query: drizzleOrm.SQL, alias: string): drizzleOrm.SQL;
1463
+ ColumnAliasProxyHandler: typeof drizzleOrm.ColumnAliasProxyHandler;
1464
+ TableAliasProxyHandler: typeof drizzleOrm.TableAliasProxyHandler;
1465
+ RelationTableAliasProxyHandler: typeof drizzleOrm.RelationTableAliasProxyHandler;
1466
+ ColumnBuilder: typeof drizzleOrm.ColumnBuilder;
1467
+ Column: typeof drizzleOrm.Column;
1468
+ is<T extends drizzleOrm.DrizzleEntityClass<any>>(value: any, type: T): value is InstanceType<T>;
1469
+ entityKind: typeof drizzleOrm.entityKind;
1470
+ hasOwnEntityKind: typeof drizzleOrm.hasOwnEntityKind;
1471
+ DrizzleError: typeof drizzleOrm.DrizzleError;
1472
+ TransactionRollbackError: typeof drizzleOrm.TransactionRollbackError;
1473
+ ConsoleLogWriter: typeof drizzleOrm.ConsoleLogWriter;
1474
+ DefaultLogger: typeof drizzleOrm.DefaultLogger;
1475
+ NoopLogger: typeof drizzleOrm.NoopLogger;
1476
+ QueryPromise: typeof drizzleOrm.QueryPromise;
1477
+ getOperators(): {
1478
+ and: typeof drizzleOrm.and;
1479
+ between: typeof drizzleOrm.between;
1480
+ eq: drizzleOrm.BinaryOperator;
1481
+ exists: typeof drizzleOrm.exists;
1482
+ gt: drizzleOrm.BinaryOperator;
1483
+ gte: drizzleOrm.BinaryOperator;
1484
+ ilike: typeof drizzleOrm.ilike;
1485
+ inArray: typeof drizzleOrm.inArray;
1486
+ isNull: typeof drizzleOrm.isNull;
1487
+ isNotNull: typeof drizzleOrm.isNotNull;
1488
+ like: typeof drizzleOrm.like;
1489
+ lt: drizzleOrm.BinaryOperator;
1490
+ lte: drizzleOrm.BinaryOperator;
1491
+ ne: drizzleOrm.BinaryOperator;
1492
+ not: typeof drizzleOrm.not;
1493
+ notBetween: typeof drizzleOrm.notBetween;
1494
+ notExists: typeof drizzleOrm.notExists;
1495
+ notLike: typeof drizzleOrm.notLike;
1496
+ notIlike: typeof drizzleOrm.notIlike;
1497
+ notInArray: typeof drizzleOrm.notInArray;
1498
+ or: typeof drizzleOrm.or;
1499
+ sql: typeof drizzleOrm.sql;
1500
+ };
1501
+ getOrderByOperators(): {
1502
+ sql: typeof drizzleOrm.sql;
1503
+ asc: typeof drizzleOrm.asc;
1504
+ desc: typeof drizzleOrm.desc;
1505
+ };
1506
+ extractTablesRelationalConfig<TTables extends drizzleOrm.TablesRelationalConfig>(schema: Record<string, unknown>, configHelpers: (table: drizzleOrm.Table) => any): {
1507
+ tables: TTables;
1508
+ tableNamesMap: Record<string, string>;
1509
+ };
1510
+ relations<TTableName extends string, TRelations extends Record<string, drizzleOrm.Relation<any>>>(table: drizzleOrm.AnyTable<{
1511
+ name: TTableName;
1512
+ }>, relations: (helpers: drizzleOrm.TableRelationsHelpers<TTableName>) => TRelations): drizzleOrm.Relations<TTableName, TRelations>;
1513
+ createOne<TTableName extends string>(sourceTable: drizzleOrm.Table): <TForeignTable extends drizzleOrm.Table, TColumns extends [drizzleOrm.AnyColumn<{
1514
+ tableName: TTableName;
1515
+ }>, ...drizzleOrm.AnyColumn<{
1516
+ tableName: TTableName;
1517
+ }>[]]>(table: TForeignTable, config?: drizzleOrm.RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns>) => drizzleOrm.One<TForeignTable["_"]["name"], drizzleOrm.Equal<TColumns[number]["_"]["notNull"], true>>;
1518
+ createMany(sourceTable: drizzleOrm.Table): <TForeignTable extends drizzleOrm.Table>(referencedTable: TForeignTable, config?: {
1519
+ relationName: string;
1520
+ }) => drizzleOrm.Many<TForeignTable["_"]["name"]>;
1521
+ normalizeRelation(schema: drizzleOrm.TablesRelationalConfig, tableNamesMap: Record<string, string>, relation: drizzleOrm.Relation): drizzleOrm.NormalizedRelation;
1522
+ createTableRelationsHelpers<TTableName extends string>(sourceTable: drizzleOrm.AnyTable<{
1523
+ name: TTableName;
1524
+ }>): {
1525
+ one: <TForeignTable extends drizzleOrm.Table, TColumns extends [drizzleOrm.AnyColumn<{
1526
+ tableName: TTableName;
1527
+ }>, ...drizzleOrm.AnyColumn<{
1528
+ tableName: TTableName;
1529
+ }>[]]>(table: TForeignTable, config?: drizzleOrm.RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns> | undefined) => drizzleOrm.One<TForeignTable["_"]["name"], drizzleOrm.Equal<TColumns[number]["_"]["notNull"], true>>;
1530
+ many: <TForeignTable extends drizzleOrm.Table>(referencedTable: TForeignTable, config?: {
1531
+ relationName: string;
1532
+ }) => drizzleOrm.Many<TForeignTable["_"]["name"]>;
1533
+ };
1534
+ mapRelationalRow(tablesConfig: drizzleOrm.TablesRelationalConfig, tableConfig: drizzleOrm.TableRelationalConfig, row: unknown[], buildQueryResultSelection: drizzleOrm.BuildRelationalQueryResult["selection"], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
1535
+ Relation: typeof drizzleOrm.Relation;
1536
+ Relations: typeof drizzleOrm.Relations;
1537
+ One: typeof drizzleOrm.One;
1538
+ Many: typeof drizzleOrm.Many;
1539
+ bindIfParam(value: unknown, column: drizzleOrm.SQLWrapper): drizzleOrm.SQLChunk;
1540
+ and(...conditions: (drizzleOrm.SQLWrapper | undefined)[]): drizzleOrm.SQL | undefined;
1541
+ or(...conditions: (drizzleOrm.SQLWrapper | undefined)[]): drizzleOrm.SQL | undefined;
1542
+ not(condition: drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1543
+ inArray<T>(column: drizzleOrm.SQL.Aliased<T>, values: (T | drizzleOrm.Placeholder)[] | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1544
+ inArray<TColumn extends drizzleOrm.Column>(column: TColumn, values: ReadonlyArray<drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.Placeholder> | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1545
+ inArray<T extends drizzleOrm.SQLWrapper>(column: Exclude<T, drizzleOrm.SQL.Aliased | drizzleOrm.Column>, values: ReadonlyArray<unknown | drizzleOrm.Placeholder> | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1546
+ notInArray<T>(column: drizzleOrm.SQL.Aliased<T>, values: (T | drizzleOrm.Placeholder)[] | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1547
+ notInArray<TColumn extends drizzleOrm.Column>(column: TColumn, values: (drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.Placeholder)[] | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1548
+ notInArray<T extends drizzleOrm.SQLWrapper>(column: Exclude<T, drizzleOrm.SQL.Aliased | drizzleOrm.Column>, values: (unknown | drizzleOrm.Placeholder)[] | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1549
+ isNull(value: drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1550
+ isNotNull(value: drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1551
+ exists(subquery: drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1552
+ notExists(subquery: drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1553
+ between<T>(column: drizzleOrm.SQL.Aliased, min: T | drizzleOrm.SQLWrapper, max: T | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1554
+ between<TColumn extends drizzleOrm.AnyColumn>(column: TColumn, min: drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.SQLWrapper, max: drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1555
+ between<T extends drizzleOrm.SQLWrapper>(column: Exclude<T, drizzleOrm.SQL.Aliased | drizzleOrm.Column>, min: unknown, max: unknown): drizzleOrm.SQL;
1556
+ notBetween<T>(column: drizzleOrm.SQL.Aliased, min: T | drizzleOrm.SQLWrapper, max: T | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1557
+ notBetween<TColumn extends drizzleOrm.AnyColumn>(column: TColumn, min: drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.SQLWrapper, max: drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1558
+ notBetween<T extends drizzleOrm.SQLWrapper>(column: Exclude<T, drizzleOrm.SQL.Aliased | drizzleOrm.Column>, min: unknown, max: unknown): drizzleOrm.SQL;
1559
+ like(column: drizzleOrm.Column | drizzleOrm.SQL.Aliased | drizzleOrm.SQL, value: string | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1560
+ notLike(column: drizzleOrm.Column | drizzleOrm.SQL.Aliased | drizzleOrm.SQL, value: string | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1561
+ ilike(column: drizzleOrm.Column | drizzleOrm.SQL.Aliased | drizzleOrm.SQL, value: string | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1562
+ notIlike(column: drizzleOrm.Column | drizzleOrm.SQL.Aliased | drizzleOrm.SQL, value: string | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1563
+ arrayContains<T>(column: drizzleOrm.SQL.Aliased<T>, values: (T | drizzleOrm.Placeholder) | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1564
+ arrayContains<TColumn extends drizzleOrm.Column>(column: TColumn, values: (drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.Placeholder) | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1565
+ arrayContains<T extends drizzleOrm.SQLWrapper>(column: Exclude<T, drizzleOrm.SQL.Aliased | drizzleOrm.Column>, values: (unknown | drizzleOrm.Placeholder)[] | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1566
+ arrayContained<T>(column: drizzleOrm.SQL.Aliased<T>, values: (T | drizzleOrm.Placeholder) | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1567
+ arrayContained<TColumn extends drizzleOrm.Column>(column: TColumn, values: (drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.Placeholder) | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1568
+ arrayContained<T extends drizzleOrm.SQLWrapper>(column: Exclude<T, drizzleOrm.SQL.Aliased | drizzleOrm.Column>, values: (unknown | drizzleOrm.Placeholder)[] | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1569
+ arrayOverlaps<T>(column: drizzleOrm.SQL.Aliased<T>, values: (T | drizzleOrm.Placeholder) | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1570
+ arrayOverlaps<TColumn extends drizzleOrm.Column>(column: TColumn, values: (drizzleOrm.GetColumnData<TColumn, "raw"> | drizzleOrm.Placeholder) | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1571
+ arrayOverlaps<T extends drizzleOrm.SQLWrapper>(column: Exclude<T, drizzleOrm.SQL.Aliased | drizzleOrm.Column>, values: (unknown | drizzleOrm.Placeholder)[] | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1572
+ eq: drizzleOrm.BinaryOperator;
1573
+ ne: drizzleOrm.BinaryOperator;
1574
+ gt: drizzleOrm.BinaryOperator;
1575
+ gte: drizzleOrm.BinaryOperator;
1576
+ lt: drizzleOrm.BinaryOperator;
1577
+ lte: drizzleOrm.BinaryOperator;
1578
+ asc(column: drizzleOrm.AnyColumn | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1579
+ desc(column: drizzleOrm.AnyColumn | drizzleOrm.SQLWrapper): drizzleOrm.SQL;
1580
+ count(expression?: drizzleOrm.SQLWrapper): drizzleOrm.SQL<number>;
1581
+ countDistinct(expression: drizzleOrm.SQLWrapper): drizzleOrm.SQL<number>;
1582
+ avg(expression: drizzleOrm.SQLWrapper): drizzleOrm.SQL<string | null>;
1583
+ avgDistinct(expression: drizzleOrm.SQLWrapper): drizzleOrm.SQL<string | null>;
1584
+ sum(expression: drizzleOrm.SQLWrapper): drizzleOrm.SQL<string | null>;
1585
+ sumDistinct(expression: drizzleOrm.SQLWrapper): drizzleOrm.SQL<string | null>;
1586
+ max<T extends drizzleOrm.SQLWrapper>(expression: T): drizzleOrm.SQL<(T extends drizzleOrm.AnyColumn ? T["_"]["data"] : string) | null>;
1587
+ min<T extends drizzleOrm.SQLWrapper>(expression: T): drizzleOrm.SQL<(T extends drizzleOrm.AnyColumn ? T["_"]["data"] : string) | null>;
1588
+ l2Distance(column: drizzleOrm.SQLWrapper | drizzleOrm.AnyColumn, value: number[] | string[] | drizzle_orm_query_builders_query_builder.TypedQueryBuilder<any> | string): drizzleOrm.SQL;
1589
+ l1Distance(column: drizzleOrm.SQLWrapper | drizzleOrm.AnyColumn, value: number[] | string[] | drizzle_orm_query_builders_query_builder.TypedQueryBuilder<any> | string): drizzleOrm.SQL;
1590
+ innerProduct(column: drizzleOrm.SQLWrapper | drizzleOrm.AnyColumn, value: number[] | string[] | drizzle_orm_query_builders_query_builder.TypedQueryBuilder<any> | string): drizzleOrm.SQL;
1591
+ cosineDistance(column: drizzleOrm.SQLWrapper | drizzleOrm.AnyColumn, value: number[] | string[] | drizzle_orm_query_builders_query_builder.TypedQueryBuilder<any> | string): drizzleOrm.SQL;
1592
+ hammingDistance(column: drizzleOrm.SQLWrapper | drizzleOrm.AnyColumn, value: number[] | string[] | drizzle_orm_query_builders_query_builder.TypedQueryBuilder<any> | string): drizzleOrm.SQL;
1593
+ jaccardDistance(column: drizzleOrm.SQLWrapper | drizzleOrm.AnyColumn, value: number[] | string[] | drizzle_orm_query_builders_query_builder.TypedQueryBuilder<any> | string): drizzleOrm.SQL;
1594
+ isSQLWrapper(value: unknown): value is drizzleOrm.SQLWrapper;
1595
+ name(value: string): drizzleOrm.Name;
1596
+ isDriverValueEncoder(value: unknown): value is drizzleOrm.DriverValueEncoder<any, any>;
1597
+ param<TData, TDriver>(value: TData, encoder?: drizzleOrm.DriverValueEncoder<TData, TDriver>): drizzleOrm.Param<TData, TDriver>;
1598
+ sql: typeof drizzleOrm.sql;
1599
+ placeholder<TName extends string>(name: TName): drizzleOrm.Placeholder<TName>;
1600
+ fillPlaceholders(params: unknown[], values: Record<string, unknown>): unknown[];
1601
+ isView(view: unknown): view is drizzleOrm.View;
1602
+ getViewName<T extends drizzleOrm.View>(view: T): T["_"]["name"];
1603
+ FakePrimitiveParam: typeof drizzleOrm.FakePrimitiveParam;
1604
+ StringChunk: typeof drizzleOrm.StringChunk;
1605
+ SQL: typeof drizzleOrm.SQL;
1606
+ Name: typeof drizzleOrm.Name;
1607
+ noopDecoder: drizzleOrm.DriverValueDecoder<any, any>;
1608
+ noopEncoder: drizzleOrm.DriverValueEncoder<any, any>;
1609
+ noopMapper: drizzleOrm.DriverValueMapper<any, any>;
1610
+ Param: typeof drizzleOrm.Param;
1611
+ Placeholder: typeof drizzleOrm.Placeholder;
1612
+ View: typeof drizzleOrm.View;
1613
+ Subquery: typeof drizzleOrm.Subquery;
1614
+ WithSubquery: typeof drizzleOrm.WithSubquery;
1615
+ isTable(table: unknown): table is drizzleOrm.Table;
1616
+ getTableName<T extends drizzleOrm.Table>(table: T): T["_"]["name"];
1617
+ getTableUniqueName<T extends drizzleOrm.Table>(table: T): `${T["_"]["schema"]}.${T["_"]["name"]}`;
1618
+ Table: typeof drizzleOrm.Table;
1619
+ haveSameKeys(left: Record<string, unknown>, right: Record<string, unknown>): boolean;
1620
+ getTableColumns<T extends drizzleOrm.Table>(table: T): T["_"]["columns"];
1621
+ getViewSelectedFields<T extends drizzleOrm.View>(view: T): T["_"]["selectedFields"];
1622
+ isConfig(data: any): boolean;
1623
+ ViewBaseConfig: typeof drizzleOrm.ViewBaseConfig;
1624
+ };
1625
+
1436
1626
  declare const envSchema: _alepha_core.TObject<{
1437
1627
  POSTGRES_PROVIDER: _sinclair_typebox.TOptional<_sinclair_typebox.TUnsafe<"pg">>;
1438
1628
  }>;
@@ -1449,4 +1639,4 @@ declare class PostgresModule {
1449
1639
  protected getDefaultProviderName(): "pg";
1450
1640
  }
1451
1641
 
1452
- export { $entity, $repository, $sequence, $table, $transaction, type BaseEntity, type BaseEntityKeys, type EntityDescriptorOptions, EntityNotFoundError, type ExtractManyRelations, type FilterOperators, type FromSchema, NodePostgresProvider, type NodePostgresProviderState, type NullToUndefined, type NullifyIfOptional, PG_CREATED_AT, PG_DEFAULT, PG_IDENTITY, PG_MANY, PG_ONE, PG_PRIMARY_KEY, PG_REF, PG_SCHEMA, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, type Page, type PageQuery, type PgAttrField, type PgDefault, type PgIdentityOptions, type PgMany, type PgManyOptions, type PgPrimaryKey, type PgQuery, type PgQueryWhere, type PgQueryWhereWithMany, type PgQueryWith, type PgQueryWithMap, type PgRef, type PgRefOptions, type PgSymbolKeys, type PgSymbols, type PgTableConfig, type PgTableWithColumnsAndSchema, PostgresModule, PostgresProvider, PostgresTypeProvider, type RemoveManyRelations, Repository, type RepositoryDescriptorOptions, RepositoryDescriptorProvider, type SQLLike, type SequenceDescriptor, type SequenceDescriptorOptions, type StatementOptions, type TEntity, type TPage, type TransactionContext, type TransactionDescriptorOptions, entityKeys, entitySchema, fromSchema, nullToUndefined, pageQuerySchema, pageSchema, pg, pgTableSchema, schema, schemaToColumns, table, table2 };
1642
+ export { $entity, $repository, $sequence, $transaction, type BaseEntity, type BaseEntityKeys, type EntityDescriptorOptions, EntityNotFoundError, type ExtractManyRelations, type FilterOperators, type FromSchema, NodePostgresProvider, type NodePostgresProviderState, type NullToUndefined, type NullifyIfOptional, PG_CREATED_AT, PG_DEFAULT, PG_IDENTITY, PG_MANY, PG_ONE, PG_PRIMARY_KEY, PG_REF, PG_SCHEMA, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, type Page, type PageQuery, type PgAttrField, type PgDefault, type PgIdentityOptions, type PgMany, type PgManyOptions, type PgPrimaryKey, type PgQuery, type PgQueryWhere, type PgQueryWhereWithMany, type PgQueryWith, type PgQueryWithMap, type PgRef, type PgRefOptions, type PgSymbolKeys, type PgSymbols, type PgTableConfig, type PgTableWithColumnsAndSchema, PostgresModule, PostgresProvider, PostgresTypeProvider, type RemoveManyRelations, Repository, type RepositoryDescriptorOptions, RepositoryDescriptorProvider, type SQLLike, type SequenceDescriptor, type SequenceDescriptorOptions, type StatementOptions, type TEntity, type TPage, type TransactionContext, type TransactionDescriptorOptions, dzl, entityKeys, entitySchema, fromSchema, nullToUndefined, pageQuerySchema, pageSchema, pg, pgTableSchema, schema, schemaToColumns };
package/queue.d.ts CHANGED
@@ -60,6 +60,7 @@ interface TSchema extends TKind, SchemaOptions {
60
60
  }
61
61
 
62
62
  declare class QueueProvider {
63
+ constructor();
63
64
  /**
64
65
  * Push a message to the queue.
65
66
  *
package/react/auth.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _alepha_core from '@alepha/core';
2
- import { Alepha, KIND, OPTIONS } from '@alepha/core';
2
+ import { Async, KIND, OPTIONS, Alepha } from '@alepha/core';
3
3
  import { UserAccountToken } from '@alepha/security';
4
4
  import * as _alepha_server from '@alepha/server';
5
5
  import { HttpClient } from '@alepha/server';
@@ -131,6 +131,28 @@ interface TSchema extends TKind, SchemaOptions {
131
131
  static: unknown;
132
132
  }
133
133
 
134
+ declare const KEY = "AUTH";
135
+ type AccessToken = string;
136
+ interface AuthDescriptorOptions {
137
+ name?: string;
138
+ oidc?: {
139
+ issuer: string;
140
+ clientId: string;
141
+ clientSecret?: string;
142
+ redirectUri?: string;
143
+ };
144
+ fallback?: () => Async<AccessToken>;
145
+ }
146
+ interface AuthDescriptor {
147
+ [KIND]: typeof KEY;
148
+ [OPTIONS]: AuthDescriptorOptions;
149
+ jwks: () => string;
150
+ }
151
+ declare const $auth: {
152
+ (options: AuthDescriptorOptions): AuthDescriptor;
153
+ [KIND]: string;
154
+ };
155
+
134
156
  declare class ReactAuthProvider {
135
157
  protected readonly log: _alepha_core.Logger;
136
158
  protected readonly alepha: Alepha;
@@ -192,9 +214,6 @@ declare class ReactAuthProvider {
192
214
  name: any;
193
215
  email: any;
194
216
  } | undefined;
195
- /**
196
- *
197
- */
198
217
  readonly logout: _alepha_server.RouteDescriptor<{
199
218
  query: TObject<{
200
219
  redirect: TOptional<TString>;
@@ -210,6 +229,7 @@ declare class ReactAuthProvider {
210
229
  client: Configuration;
211
230
  name: string;
212
231
  redirectUri: string;
232
+ fallback?: () => Async<AccessToken>;
213
233
  }>;
214
234
  /**
215
235
  *
@@ -232,6 +252,7 @@ interface AuthProvider {
232
252
  client: {
233
253
  get: () => Promise<Configuration>;
234
254
  };
255
+ fallback?: () => Async<AccessToken>;
235
256
  }
236
257
  interface ReactUser {
237
258
  id: string;
@@ -239,26 +260,6 @@ interface ReactUser {
239
260
  email?: string;
240
261
  }
241
262
 
242
- declare const KEY = "AUTH";
243
- interface AuthDescriptorOptions {
244
- name?: string;
245
- oidc?: {
246
- issuer: string;
247
- clientId: string;
248
- clientSecret?: string;
249
- redirectUri?: string;
250
- };
251
- }
252
- interface AuthDescriptor {
253
- [KIND]: typeof KEY;
254
- [OPTIONS]: AuthDescriptorOptions;
255
- jwks: () => string;
256
- }
257
- declare const $auth: {
258
- (options: AuthDescriptorOptions): AuthDescriptor;
259
- [KIND]: string;
260
- };
261
-
262
263
  declare const useAuth: () => AuthHook;
263
264
  interface AuthHook {
264
265
  user?: UserAccountToken;
@@ -273,12 +274,12 @@ declare class ReactAuth {
273
274
  protected readonly log: _alepha_core.Logger;
274
275
  protected readonly alepha: Alepha;
275
276
  protected readonly client: HttpClient;
276
- readonly slugs: {
277
+ static path: {
277
278
  login: string;
279
+ callback: string;
278
280
  logout: string;
279
281
  };
280
- readonly start: _alepha_core.HookDescriptor<"client:onError">;
281
- readonly onRender: _alepha_core.HookDescriptor<"react:browser:render">;
282
+ readonly onRender: _alepha_core.HookDescriptor<"react:transition:begin">;
282
283
  protected getUserFromCookies(): UserAccountToken | undefined;
283
284
  login(): void;
284
285
  logout(): void;
@@ -297,4 +298,4 @@ declare class ReactAuthModule {
297
298
  constructor();
298
299
  }
299
300
 
300
- export { $auth, type AuthDescriptor, type AuthDescriptorOptions, type AuthHook, type AuthProvider, ReactAuth, ReactAuthModule, ReactAuthProvider, type ReactUser, type SessionTokens, useAuth };
301
+ export { $auth, type AccessToken, type AuthDescriptor, type AuthDescriptorOptions, type AuthHook, type AuthProvider, ReactAuth, ReactAuthModule, ReactAuthProvider, type ReactUser, type SessionTokens, useAuth };