hysteria-orm 11.0.5 → 11.0.7
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/lib/cli.js +42 -42
- package/lib/cli.js.map +1 -1
- package/lib/index.cjs +32 -32
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +114 -4
- package/lib/index.d.ts +114 -4
- package/lib/index.js +32 -32
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/index.d.cts
CHANGED
|
@@ -3287,6 +3287,16 @@ type ColumnOptions = {
|
|
|
3287
3287
|
* @description Per-column validators applied on insert/update
|
|
3288
3288
|
*/
|
|
3289
3289
|
validate?: Validator | Validator[];
|
|
3290
|
+
/**
|
|
3291
|
+
* @description MySQL/MariaDB only: declare the numeric column as UNSIGNED
|
|
3292
|
+
* @migration Only affects auto-generated migrations
|
|
3293
|
+
*/
|
|
3294
|
+
unsigned?: boolean;
|
|
3295
|
+
/**
|
|
3296
|
+
* @description MySQL/MariaDB only: declare the numeric column with ZEROFILL display attribute
|
|
3297
|
+
* @migration Only affects auto-generated migrations
|
|
3298
|
+
*/
|
|
3299
|
+
zerofill?: boolean;
|
|
3290
3300
|
} &
|
|
3291
3301
|
/**
|
|
3292
3302
|
* @description The data type of the column
|
|
@@ -3312,6 +3322,7 @@ type ColumnType = {
|
|
|
3312
3322
|
withTimezone?: boolean;
|
|
3313
3323
|
unsigned?: boolean;
|
|
3314
3324
|
zerofill?: boolean;
|
|
3325
|
+
stringMode?: boolean;
|
|
3315
3326
|
constraints?: {
|
|
3316
3327
|
nullable?: boolean;
|
|
3317
3328
|
default?: string | number | null | boolean;
|
|
@@ -4680,6 +4691,7 @@ type TableColumnInfo = {
|
|
|
4680
4691
|
enumValues?: string[] | null;
|
|
4681
4692
|
unsigned?: boolean | null;
|
|
4682
4693
|
zerofill?: boolean | null;
|
|
4694
|
+
stringMode?: boolean | null;
|
|
4683
4695
|
};
|
|
4684
4696
|
type TableIndexInfo = {
|
|
4685
4697
|
name: string;
|
|
@@ -4870,6 +4882,7 @@ declare const SQL_DATA_SOURCE_SYMBOL: unique symbol;
|
|
|
4870
4882
|
declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}> extends DataSource {
|
|
4871
4883
|
private readonly [SQL_DATA_SOURCE_SYMBOL];
|
|
4872
4884
|
private globalTransaction;
|
|
4885
|
+
private globalTransactionLock;
|
|
4873
4886
|
private sqlType;
|
|
4874
4887
|
private ownsPool;
|
|
4875
4888
|
static isSqlDataSource(value: unknown): value is SqlDataSource;
|
|
@@ -4907,14 +4920,26 @@ declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T e
|
|
|
4907
4920
|
*/
|
|
4908
4921
|
inputDetails: SqlDataSourceInput<D, T, C>;
|
|
4909
4922
|
/**
|
|
4910
|
-
* @description
|
|
4911
|
-
*
|
|
4923
|
+
* @description Per-construction UUID. May be shared with clones produced by
|
|
4924
|
+
* clone() (legacy behavior, preserved for backward compatibility).
|
|
4925
|
+
* For ALS scope checks, use logicalSourceId.
|
|
4912
4926
|
*/
|
|
4913
4927
|
id: string;
|
|
4928
|
+
/**
|
|
4929
|
+
* Shared across all clones of the same logical data source.
|
|
4930
|
+
* Used by the ALS transaction guard to verify that a propagated
|
|
4931
|
+
* transaction belongs to the same logical source as the calling
|
|
4932
|
+
* instance (not necessarily the same instance).
|
|
4933
|
+
*/
|
|
4934
|
+
logicalSourceId: string;
|
|
4914
4935
|
/**
|
|
4915
4936
|
* @description Whether AsyncLocalStorage (CLS) transaction auto-propagation is enabled.
|
|
4916
4937
|
*/
|
|
4917
4938
|
private readonly clsEnabled;
|
|
4939
|
+
/**
|
|
4940
|
+
* @description Whether AsyncLocalStorage (CLS) transaction auto-propagation is enabled.
|
|
4941
|
+
*/
|
|
4942
|
+
get isClsEnabled(): boolean;
|
|
4918
4943
|
/**
|
|
4919
4944
|
* @description Adapter for `useCache`, uses an in memory strategy by default
|
|
4920
4945
|
*/
|
|
@@ -5140,6 +5165,9 @@ declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T e
|
|
|
5140
5165
|
/**
|
|
5141
5166
|
* @description Starts a global transaction on the database
|
|
5142
5167
|
* @description Intended for testing purposes - wraps all operations in a transaction that can be rolled back
|
|
5168
|
+
* @description Concurrent calls serialize: the second caller waits for the
|
|
5169
|
+
* @description first to settle, then rejects with GLOBAL_TRANSACTION_ALREADY_STARTED
|
|
5170
|
+
* @description if a global transaction is still active.
|
|
5143
5171
|
*/
|
|
5144
5172
|
startGlobalTransaction(options?: StartTransactionOptions): Promise<Transaction>;
|
|
5145
5173
|
/**
|
|
@@ -8011,6 +8039,88 @@ declare class ObserverChainWrapper {
|
|
|
8011
8039
|
add(observer: QueryObserver): void;
|
|
8012
8040
|
}
|
|
8013
8041
|
|
|
8042
|
+
/**
|
|
8043
|
+
* Async method type constraint for atomic decorator.
|
|
8044
|
+
*/
|
|
8045
|
+
type AsyncMethod = (...args: any[]) => Promise<any>;
|
|
8046
|
+
/**
|
|
8047
|
+
* @description Options for the atomic decorator.
|
|
8048
|
+
*/
|
|
8049
|
+
type AtomicOptions = {
|
|
8050
|
+
/**
|
|
8051
|
+
* @description Property name on the class instance that holds the SqlDataSource,
|
|
8052
|
+
* a SqlDataSource instance, or a function receiving the instance and returning the SqlDataSource.
|
|
8053
|
+
* @default "sql"
|
|
8054
|
+
*/
|
|
8055
|
+
dataSource?: string | SqlDataSource | ((instance: any) => SqlDataSource);
|
|
8056
|
+
/**
|
|
8057
|
+
* @description Transaction isolation level.
|
|
8058
|
+
*/
|
|
8059
|
+
isolationLevel?: TransactionIsolationLevel;
|
|
8060
|
+
};
|
|
8061
|
+
/**
|
|
8062
|
+
* @description Wraps an async method in a callback-style transaction with
|
|
8063
|
+
* AsyncLocalStorage (CLS) auto-propagation.
|
|
8064
|
+
*
|
|
8065
|
+
* The decorated method must be async and return a Promise.
|
|
8066
|
+
* The transaction is committed if the method succeeds, rolled back if it throws.
|
|
8067
|
+
*
|
|
8068
|
+
* @throws {Error} if the resolved SqlDataSource has `clsEnabled: false`.
|
|
8069
|
+
*
|
|
8070
|
+
* @example
|
|
8071
|
+
* ```ts
|
|
8072
|
+
* class UserService {
|
|
8073
|
+
* sql = new SqlDataSource();
|
|
8074
|
+
*
|
|
8075
|
+
* @atomic()
|
|
8076
|
+
* async createUser(data: UserData): Promise<User> {
|
|
8077
|
+
* const user = await this.sql.from(User).insert(data);
|
|
8078
|
+
* await this.sql.from(Profile).insert({ userId: user.id });
|
|
8079
|
+
* return user;
|
|
8080
|
+
* }
|
|
8081
|
+
* }
|
|
8082
|
+
* ```
|
|
8083
|
+
*
|
|
8084
|
+
* @example
|
|
8085
|
+
* ```ts
|
|
8086
|
+
* class UserService {
|
|
8087
|
+
* db = new SqlDataSource();
|
|
8088
|
+
*
|
|
8089
|
+
* @atomic({ dataSource: "db", isolationLevel: "SERIALIZABLE" })
|
|
8090
|
+
* async createUser(data: UserData): Promise<User> {
|
|
8091
|
+
* // ...
|
|
8092
|
+
* }
|
|
8093
|
+
* }
|
|
8094
|
+
* ```
|
|
8095
|
+
*
|
|
8096
|
+
* @example
|
|
8097
|
+
* ```ts
|
|
8098
|
+
* atomic.sqlDataSource = new SqlDataSource();
|
|
8099
|
+
*
|
|
8100
|
+
* class UserService {
|
|
8101
|
+
* @atomic()
|
|
8102
|
+
* async createUser(data: UserData): Promise<User> {
|
|
8103
|
+
* // Uses atomic.sqlDataSource automatically
|
|
8104
|
+
* }
|
|
8105
|
+
* }
|
|
8106
|
+
* ```
|
|
8107
|
+
*/
|
|
8108
|
+
declare function atomic(options?: AtomicOptions): <T extends AsyncMethod>(target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
|
|
8109
|
+
/**
|
|
8110
|
+
* @description Legacy overload accepting a property name string directly.
|
|
8111
|
+
*/
|
|
8112
|
+
declare function atomic(dataSourceProperty: string, isolationLevel?: TransactionIsolationLevel): <T extends AsyncMethod>(target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
|
|
8113
|
+
declare namespace atomic {
|
|
8114
|
+
/**
|
|
8115
|
+
* @description Global default SqlDataSource used by all @atomic decorators
|
|
8116
|
+
* when no per-decorator dataSource option is provided and the host class
|
|
8117
|
+
* does not expose a "sql" property.
|
|
8118
|
+
*
|
|
8119
|
+
* @default undefined
|
|
8120
|
+
*/
|
|
8121
|
+
let sqlDataSource: SqlDataSource | undefined;
|
|
8122
|
+
}
|
|
8123
|
+
|
|
8014
8124
|
declare class Schema {
|
|
8015
8125
|
queryStatements: string[];
|
|
8016
8126
|
sqlType: SqlDataSourceType;
|
|
@@ -8202,7 +8312,7 @@ declare abstract class BaseSeeder {
|
|
|
8202
8312
|
abstract run(): Promise<void>;
|
|
8203
8313
|
}
|
|
8204
8314
|
|
|
8205
|
-
type HysteriaErrorCode = "VALIDATION_ERROR" | "CONNECTION_ALREADY_ESTABLISHED" | `UNSUPPORTED_ISOLATION_LEVEL_${string}` | "ROW_NOT_FOUND" | `UNSUPPORTED_DATABASE_TYPE_${string}` | `RELATION_TYPE_NOT_SUPPORTED_${string}` | `NOT_SUPPORTED_IN_${string}` | `RELATION_NOT_FOUND_IN_MODEL_${string}` | `UNKNOWN_RELATION_TYPE_${string}` | `DISTINCT_ON_NOT_SUPPORTED_IN_${string}` | `CONFLICT_COLUMNS_NOT_PRESENT_IN_DATA` | `CONFLICT_COLUMNS_NOT_PRESENT_IN_DATA_${string}` | `FOREIGN_KEY_VALUES_MISSING_FOR_HAS_ONE_RELATION_${string}` | `FOREIGN_KEY_VALUES_MISSING_FOR_BELONGS_TO_RELATION_${string}` | `PRIMARY_KEY_VALUES_MISSING_FOR_HAS_MANY_RELATION_${string}` | `MANY_TO_MANY_RELATION_NOT_FOUND_FOR_RELATED_MODEL_${string}` | `PRIMARY_KEY_VALUES_MISSING_FOR_MANY_TO_MANY_RELATION_${string}` | `RELATED_MODEL_DOES_NOT_HAVE_A_PRIMARY_KEY_${string}` | `FOR_SHARE_NOT_SUPPORTED_IN_${string}` | `SKIP_LOCKED_NOT_SUPPORTED_IN_${string}` | `LOCK_FOR_UPDATE_NOT_SUPPORTED_${string}` | `KEY_${string}_HAS_NO_HANDLER_IN_CACHE_KEYS_CONFIG` | `CACHE_ADAPTER_NOT_CONFIGURED` | `SQLITE_NOT_SUPPORTED` | `COCKROACHDB_NOT_SUPPORTED` | `RELATION_NOT_FOUND` | `POSTGRES_TABLE_REQUIRED` | `MODEL_HAS_NO_PRIMARY_KEY_VALUE` | `RELATION_NOT_MANY_TO_MANY` | "MATERIALIZED_CTE_NOT_SUPPORTED" | "DUPLICATE_MODEL_KEYS_WHILE_INSTANTIATING_MODELS" | "INVALID_ONE_PARAMETER_WHERE_CONDITION" | "INVALID_PAGINATION_PARAMETERS" | "MISSING_ALIAS_FOR_SUBQUERY" | "MODEL_HAS_NO_PRIMARY_KEY" | "PRIMARY_KEY_NOT_FOUND" | "SQLITE_ONLY_SUPPORTS_SERIALIZABLE_ISOLATION_LEVEL" | "MUST_CALL_BUILD_CTE_AT_LEAST_ONCE" | "REGEXP_NOT_SUPPORTED_IN_SQLITE" | "MANY_TO_MANY_RELATION_MUST_HAVE_A_THROUGH_MODEL" | "INSERT_FAILED" | "MULTIPLE_PRIMARY_KEYS_NOT_ALLOWED" | "FILE_NOT_A_SQL_OR_TXT_FILE" | "CONNECTION_NOT_ESTABLISHED" | "TRANSACTION_NOT_ACTIVE" | "DEVELOPMENT_ERROR" | "MIGRATION_MODULE_NOT_FOUND" | "DRIVER_NOT_FOUND" | "FILE_NOT_FOUND_OR_NOT_ACCESSIBLE" | "ENV_NOT_SET" | "REQUIRED_VALUE_NOT_SET" | "SET_FAILED" | "GET_FAILED" | "REFERENCES_OPTION_REQUIRED" | "DELETE_FAILED" | "INVALID_DEFAULT_VALUE" | "DISCONNECT_FAILED" | "FLUSH_FAILED" | "LEFT_COLUMN_NOT_PROVIDED_FOR_JOIN" | "RIGHT_COLUMN_NOT_PROVIDED_FOR_JOIN" | "MODEL_HAS_NO_PRIMARY_KEY" | "GLOBAL_TRANSACTION_ALREADY_STARTED" | "GLOBAL_TRANSACTION_NOT_STARTED" | "MYSQL_REQUIRES_TABLE_NAME_FOR_INDEX_DROP" | "INVALID_DATE_OBJECT" | "INVALID_DATE_STRING" | "FAILED_TO_PARSE_DATE" | "MIGRATION_MODULE_REQUIRES_TS_NODE" | "FAILED_TO_ENCRYPT_SYMMETRICALLY" | "FAILED_TO_DECRYPT_SYMMETRICALLY" | "FAILED_TO_ENCRYPT_ASYMMETRICALLY" | "FAILED_TO_DECRYPT_ASYMMETRICALLY" | "UNSUPPORTED_RELATION_TYPE" | "LPUSH_FAILED" | "RPUSH_FAILED" | "LPOP_FAILED" | "RPOP_FAILED" | "LRANGE_FAILED" | "LLEN_FAILED" | "HSET_FAILED" | "HMSET_FAILED" | "HGET_FAILED" | "HGETALL_FAILED" | "HMGET_FAILED" | "HDEL_FAILED" | "HEXISTS_FAILED" | "HKEYS_FAILED" | "HLEN_FAILED" | "SADD_FAILED" | "SMEMBERS_FAILED" | "SREM_FAILED" | "SISMEMBER_FAILED" | "SCARD_FAILED" | "SINTER_FAILED" | "SUNION_FAILED" | "SDIFF_FAILED" | "ZADD_FAILED" | "ZRANGE_FAILED" | "ZREVRANGE_FAILED" | "ZREM_FAILED" | "ZSCORE_FAILED" | "ZCARD_FAILED" | "SUBSCRIBE_FAILED" | "UNSUBSCRIBE_FAILED" | "PUBLISH_FAILED" | "PSUBSCRIBE_FAILED" | "PUNSUBSCRIBE_FAILED" | "EXISTS_FAILED" | "EXPIRE_FAILED" | "EXPIREAT_FAILED" | "PEXPIRE_FAILED" | "TTL_FAILED" | "PTTL_FAILED" | "PERSIST_FAILED" | "KEYS_FAILED" | "RENAME_FAILED" | "TYPE_FAILED" | "SCAN_FAILED" | "ADMINJS_NOT_ENABLED" | "ADMINJS_INITIALIZATION_FAILED" | "ADMINJS_NO_MODELS_PROVIDED" | "ZOD_ENGINE_NOT_LOADED" | `SCOPE_NOT_FOUND_${string}`;
|
|
8315
|
+
type HysteriaErrorCode = "VALIDATION_ERROR" | "CONNECTION_ALREADY_ESTABLISHED" | `UNSUPPORTED_ISOLATION_LEVEL_${string}` | "ROW_NOT_FOUND" | `UNSUPPORTED_DATABASE_TYPE_${string}` | `RELATION_TYPE_NOT_SUPPORTED_${string}` | `NOT_SUPPORTED_IN_${string}` | `RELATION_NOT_FOUND_IN_MODEL_${string}` | `UNKNOWN_RELATION_TYPE_${string}` | `DISTINCT_ON_NOT_SUPPORTED_IN_${string}` | `CONFLICT_COLUMNS_NOT_PRESENT_IN_DATA` | `CONFLICT_COLUMNS_NOT_PRESENT_IN_DATA_${string}` | `FOREIGN_KEY_VALUES_MISSING_FOR_HAS_ONE_RELATION_${string}` | `FOREIGN_KEY_VALUES_MISSING_FOR_BELONGS_TO_RELATION_${string}` | `PRIMARY_KEY_VALUES_MISSING_FOR_HAS_MANY_RELATION_${string}` | `MANY_TO_MANY_RELATION_NOT_FOUND_FOR_RELATED_MODEL_${string}` | `PRIMARY_KEY_VALUES_MISSING_FOR_MANY_TO_MANY_RELATION_${string}` | `RELATED_MODEL_DOES_NOT_HAVE_A_PRIMARY_KEY_${string}` | `FOR_SHARE_NOT_SUPPORTED_IN_${string}` | `SKIP_LOCKED_NOT_SUPPORTED_IN_${string}` | `LOCK_FOR_UPDATE_NOT_SUPPORTED_${string}` | `KEY_${string}_HAS_NO_HANDLER_IN_CACHE_KEYS_CONFIG` | `CACHE_ADAPTER_NOT_CONFIGURED` | `SQLITE_NOT_SUPPORTED` | `COCKROACHDB_NOT_SUPPORTED` | `RELATION_NOT_FOUND` | `POSTGRES_TABLE_REQUIRED` | `MODEL_HAS_NO_PRIMARY_KEY_VALUE` | `RELATION_NOT_MANY_TO_MANY` | "MATERIALIZED_CTE_NOT_SUPPORTED" | "DUPLICATE_MODEL_KEYS_WHILE_INSTANTIATING_MODELS" | "INVALID_ONE_PARAMETER_WHERE_CONDITION" | "INVALID_PAGINATION_PARAMETERS" | "MISSING_ALIAS_FOR_SUBQUERY" | "MODEL_HAS_NO_PRIMARY_KEY" | "PRIMARY_KEY_NOT_FOUND" | "SQLITE_ONLY_SUPPORTS_SERIALIZABLE_ISOLATION_LEVEL" | "MUST_CALL_BUILD_CTE_AT_LEAST_ONCE" | "REGEXP_NOT_SUPPORTED_IN_SQLITE" | "MANY_TO_MANY_RELATION_MUST_HAVE_A_THROUGH_MODEL" | "INSERT_FAILED" | "MULTIPLE_PRIMARY_KEYS_NOT_ALLOWED" | "FILE_NOT_A_SQL_OR_TXT_FILE" | "CONNECTION_NOT_ESTABLISHED" | "TRANSACTION_NOT_ACTIVE" | "DEVELOPMENT_ERROR" | "MIGRATION_MODULE_NOT_FOUND" | "DRIVER_NOT_FOUND" | "FILE_NOT_FOUND_OR_NOT_ACCESSIBLE" | "ENV_NOT_SET" | "REQUIRED_VALUE_NOT_SET" | "SET_FAILED" | "GET_FAILED" | "REFERENCES_OPTION_REQUIRED" | "DELETE_FAILED" | "INVALID_DEFAULT_VALUE" | "DISCONNECT_FAILED" | "FLUSH_FAILED" | "LEFT_COLUMN_NOT_PROVIDED_FOR_JOIN" | "RIGHT_COLUMN_NOT_PROVIDED_FOR_JOIN" | "MODEL_HAS_NO_PRIMARY_KEY" | "GLOBAL_TRANSACTION_ALREADY_STARTED" | "GLOBAL_TRANSACTION_NOT_STARTED" | "MYSQL_REQUIRES_TABLE_NAME_FOR_INDEX_DROP" | "INVALID_DATE_OBJECT" | "INVALID_DATE_STRING" | "FAILED_TO_PARSE_DATE" | "MIGRATION_MODULE_REQUIRES_TS_NODE" | "FAILED_TO_ENCRYPT_SYMMETRICALLY" | "FAILED_TO_DECRYPT_SYMMETRICALLY" | "FAILED_TO_ENCRYPT_ASYMMETRICALLY" | "FAILED_TO_DECRYPT_ASYMMETRICALLY" | "UNSUPPORTED_RELATION_TYPE" | "LPUSH_FAILED" | "RPUSH_FAILED" | "LPOP_FAILED" | "RPOP_FAILED" | "LRANGE_FAILED" | "LLEN_FAILED" | "HSET_FAILED" | "HMSET_FAILED" | "HGET_FAILED" | "HGETALL_FAILED" | "HMGET_FAILED" | "HDEL_FAILED" | "HEXISTS_FAILED" | "HKEYS_FAILED" | "HLEN_FAILED" | "SADD_FAILED" | "SMEMBERS_FAILED" | "SREM_FAILED" | "SISMEMBER_FAILED" | "SCARD_FAILED" | "SINTER_FAILED" | "SUNION_FAILED" | "SDIFF_FAILED" | "ZADD_FAILED" | "ZRANGE_FAILED" | "ZREVRANGE_FAILED" | "ZREM_FAILED" | "ZSCORE_FAILED" | "ZCARD_FAILED" | "SUBSCRIBE_FAILED" | "UNSUBSCRIBE_FAILED" | "PUBLISH_FAILED" | "PSUBSCRIBE_FAILED" | "PUNSUBSCRIBE_FAILED" | "EXISTS_FAILED" | "EXPIRE_FAILED" | "EXPIREAT_FAILED" | "PEXPIRE_FAILED" | "TTL_FAILED" | "PTTL_FAILED" | "PERSIST_FAILED" | "KEYS_FAILED" | "RENAME_FAILED" | "TYPE_FAILED" | "SCAN_FAILED" | "ADMINJS_NOT_ENABLED" | "ADMINJS_INITIALIZATION_FAILED" | "ADMINJS_NO_MODELS_PROVIDED" | "ZOD_ENGINE_NOT_LOADED" | "ATOMIC_DATASOURCE_RESOLUTION_FAILED" | "ATOMIC_INVALID_METHOD" | "ATOMIC_CLS_DISABLED" | `SCOPE_NOT_FOUND_${string}`;
|
|
8206
8316
|
|
|
8207
8317
|
declare class HysteriaError extends Error {
|
|
8208
8318
|
code: HysteriaErrorCode;
|
|
@@ -8340,4 +8450,4 @@ declare const generateOpenApiModelWithMetadata: <T extends new () => Model>(mode
|
|
|
8340
8450
|
$id?: string;
|
|
8341
8451
|
}>;
|
|
8342
8452
|
|
|
8343
|
-
export { type AdminJsActionOptions, type AdminJsAssets, type AdminJsBranding, type AdminJsInstance, type AdminJsLocale, type AdminJsOptions, type AdminJsPage, type AdminJsPropertyOptions, type AdminJsResourceOptions, type AdminJsSettings, type AnyModelConstructor, type BaseModelMethodOptions, BaseSeeder, type BuildSelectType, type BuildSingleSelectType, type CacheAdapter, type CacheKeys, ClientMigrator, type ColCharOptions, type ColJsonbOptions, type ColMediumIntOptions, type ColSmallIntOptions, type ColTinyIntOptions, type ColVarbinaryOptions, Collection, type CollectionDefinition, type ColumnDef, type CommonDataSourceInput, type ComposeBuildSelect, type ComposeSelect, type ConnectionPolicies, type CreateSchemaResult, type CustomLogger, type DataSourceInput, type DataSourceType, type DateAutoHook, type DefinedCollection, type DefinedModel, type DefinedView, type ExcludeMethods, type ExtractColumnName, type ExtractSourceColumn, type FetchHooks, type FindReturnType, type GetColumnType, type GetConnectionReturnType, HysteriaError, InMemoryAdapter, type InferPK, type IntrospectedColumn, type IntrospectedForeignKey, type IntrospectedSchema, type IntrospectedTable, type JsonPathInput, type JsonPaths, type LoadOptions, type LoggerConfig, type ManyOptions, Migration, type MigrationConfig, type MigrationConfigBase, type MigrationLockConfig, type ModelColumns, type ModelDataProperties, type ModelInstanceType, type ModelKey, ModelQueryBuilder, type ModelQueryResult, type ModelRelation, type ModelSelectTuple, type ModelSelectableInput, type ModelWithoutRelations, type ModelsProxy, MongoDataSource, type MongoDataSourceInput$1 as MongoDataSourceInput, type MssqlConnectionInstance, type MssqlDataSourceInput, type MssqlPoolInstance, type MutationReturningResult, type MysqlConnectionInstance, type MysqlSqlDataSourceInput, type NotNullableMysqlSqlDataSourceInput, type NotNullableOracleDBDataSourceInput, type NotNullableOracleMssqlDataSourceInput, type NotNullablePostgresSqlDataSourceInput, type NotNullableSqliteDataSourceInput, type NullableColumn, type NumberModelKey, ObserverChain, ObserverChainWrapper, type OneOptions, type Operation, type OracleDBDataSourceInput, type OracleDBPoolInstance, type PgPoolClientInstance, type PingResult, type PostgresSqlDataSourceInput, type PrimaryColumnDef, type PropNamespace, type PropertyDef, QueryBuilder, type QueryContext, type QueryContextWithDuration, type QueryObserver, type RawModelKey, type RawModelOptions, RawNode, type RawQueryOptions, RedisCacheAdapter, type RedisFetchable, type RedisStorable, type RelatedInstance, type RelationDef, type RelationDefinitions, type RelationHelpers, type RelationLoadStrategy, type RelationQueryBuilderType, type ReplicationType, type ResolveColumnType, type ResolveJsonPathType, type ReturningColumns, type ReturningKey, type ReturningParam, type ReturningResult, type ReturningResultMany, type ReturningSupported, Schema, SchemaBuilder, type SchemaLookup, type SchemaRelDef, type SeederConfig, type SelectBrand, type SelectableColumn, type SelectedModel, type SlaveAlgorithm, type SlaveContext, type SqlCloneOptions, SqlDataSource, type SqlDataSourceInput, type SqlDataSourceModel, type SqlDataSourceType, type SqlDriverSpecificOptions, type SqlPoolType, type Sqlite3ConnectionOptions, type SqliteConnectionInstance, type SqliteDataSourceInput, type StartTransactionOptions, type StripTablePrefix, type SubQueryable, type TableFormat, Transaction, type TransactionExecutionOptions, type TypedDefault, type TypedJsonPathInput, type TypedPrepare, type TypedSerialize, type UseCacheReturnType, type UseConnectionInput, type ValidationContext, ValidationError, type ValidationResult, type Validator, type ViewDefinition, WriteOperation, type WriteReturnType, col, createSchema, defineCollection, defineMigrator, defineModel, defineModelFactory, defineRelations, defineView, deriveOperationFromQuery, email, enumValidator, generateOpenApiModel, generateOpenApiModelSchema, generateOpenApiModelWithMetadata, type getPoolReturnType, HysteriaLogger as logger, max, maxLength, min, minLength, pattern, prop, RedisDataSource as redis, required, url };
|
|
8453
|
+
export { type AdminJsActionOptions, type AdminJsAssets, type AdminJsBranding, type AdminJsInstance, type AdminJsLocale, type AdminJsOptions, type AdminJsPage, type AdminJsPropertyOptions, type AdminJsResourceOptions, type AdminJsSettings, type AnyModelConstructor, type AtomicOptions, type BaseModelMethodOptions, BaseSeeder, type BuildSelectType, type BuildSingleSelectType, type CacheAdapter, type CacheKeys, ClientMigrator, type ColCharOptions, type ColJsonbOptions, type ColMediumIntOptions, type ColSmallIntOptions, type ColTinyIntOptions, type ColVarbinaryOptions, Collection, type CollectionDefinition, type ColumnDef, type CommonDataSourceInput, type ComposeBuildSelect, type ComposeSelect, type ConnectionPolicies, type CreateSchemaResult, type CustomLogger, type DataSourceInput, type DataSourceType, type DateAutoHook, type DefinedCollection, type DefinedModel, type DefinedView, type ExcludeMethods, type ExtractColumnName, type ExtractSourceColumn, type FetchHooks, type FindReturnType, type GetColumnType, type GetConnectionReturnType, HysteriaError, type HysteriaErrorCode, InMemoryAdapter, type InferPK, type IntrospectedColumn, type IntrospectedForeignKey, type IntrospectedSchema, type IntrospectedTable, type JsonPathInput, type JsonPaths, type LoadOptions, type LoggerConfig, type ManyOptions, Migration, type MigrationConfig, type MigrationConfigBase, type MigrationLockConfig, type ModelColumns, type ModelDataProperties, type ModelInstanceType, type ModelKey, ModelQueryBuilder, type ModelQueryResult, type ModelRelation, type ModelSelectTuple, type ModelSelectableInput, type ModelWithoutRelations, type ModelsProxy, MongoDataSource, type MongoDataSourceInput$1 as MongoDataSourceInput, type MssqlConnectionInstance, type MssqlDataSourceInput, type MssqlPoolInstance, type MutationReturningResult, type MysqlConnectionInstance, type MysqlSqlDataSourceInput, type NotNullableMysqlSqlDataSourceInput, type NotNullableOracleDBDataSourceInput, type NotNullableOracleMssqlDataSourceInput, type NotNullablePostgresSqlDataSourceInput, type NotNullableSqliteDataSourceInput, type NullableColumn, type NumberModelKey, ObserverChain, ObserverChainWrapper, type OneOptions, type Operation, type OracleDBDataSourceInput, type OracleDBPoolInstance, type PgPoolClientInstance, type PingResult, type PostgresSqlDataSourceInput, type PrimaryColumnDef, type PropNamespace, type PropertyDef, QueryBuilder, type QueryContext, type QueryContextWithDuration, type QueryObserver, type RawModelKey, type RawModelOptions, RawNode, type RawQueryOptions, RedisCacheAdapter, type RedisFetchable, type RedisStorable, type RelatedInstance, type RelationDef, type RelationDefinitions, type RelationHelpers, type RelationLoadStrategy, type RelationQueryBuilderType, type ReplicationType, type ResolveColumnType, type ResolveJsonPathType, type ReturningColumns, type ReturningKey, type ReturningParam, type ReturningResult, type ReturningResultMany, type ReturningSupported, Schema, SchemaBuilder, type SchemaLookup, type SchemaRelDef, type SeederConfig, type SelectBrand, type SelectableColumn, type SelectedModel, type SlaveAlgorithm, type SlaveContext, type SqlCloneOptions, SqlDataSource, type SqlDataSourceInput, type SqlDataSourceModel, type SqlDataSourceType, type SqlDriverSpecificOptions, type SqlPoolType, type Sqlite3ConnectionOptions, type SqliteConnectionInstance, type SqliteDataSourceInput, type StartTransactionOptions, type StripTablePrefix, type SubQueryable, type TableFormat, Transaction, type TransactionExecutionOptions, type TypedDefault, type TypedJsonPathInput, type TypedPrepare, type TypedSerialize, type UseCacheReturnType, type UseConnectionInput, type ValidationContext, ValidationError, type ValidationResult, type Validator, type ViewDefinition, WriteOperation, type WriteReturnType, atomic, col, createSchema, defineCollection, defineMigrator, defineModel, defineModelFactory, defineRelations, defineView, deriveOperationFromQuery, email, enumValidator, generateOpenApiModel, generateOpenApiModelSchema, generateOpenApiModelWithMetadata, type getPoolReturnType, HysteriaLogger as logger, max, maxLength, min, minLength, pattern, prop, RedisDataSource as redis, required, url };
|
package/lib/index.d.ts
CHANGED
|
@@ -3287,6 +3287,16 @@ type ColumnOptions = {
|
|
|
3287
3287
|
* @description Per-column validators applied on insert/update
|
|
3288
3288
|
*/
|
|
3289
3289
|
validate?: Validator | Validator[];
|
|
3290
|
+
/**
|
|
3291
|
+
* @description MySQL/MariaDB only: declare the numeric column as UNSIGNED
|
|
3292
|
+
* @migration Only affects auto-generated migrations
|
|
3293
|
+
*/
|
|
3294
|
+
unsigned?: boolean;
|
|
3295
|
+
/**
|
|
3296
|
+
* @description MySQL/MariaDB only: declare the numeric column with ZEROFILL display attribute
|
|
3297
|
+
* @migration Only affects auto-generated migrations
|
|
3298
|
+
*/
|
|
3299
|
+
zerofill?: boolean;
|
|
3290
3300
|
} &
|
|
3291
3301
|
/**
|
|
3292
3302
|
* @description The data type of the column
|
|
@@ -3312,6 +3322,7 @@ type ColumnType = {
|
|
|
3312
3322
|
withTimezone?: boolean;
|
|
3313
3323
|
unsigned?: boolean;
|
|
3314
3324
|
zerofill?: boolean;
|
|
3325
|
+
stringMode?: boolean;
|
|
3315
3326
|
constraints?: {
|
|
3316
3327
|
nullable?: boolean;
|
|
3317
3328
|
default?: string | number | null | boolean;
|
|
@@ -4680,6 +4691,7 @@ type TableColumnInfo = {
|
|
|
4680
4691
|
enumValues?: string[] | null;
|
|
4681
4692
|
unsigned?: boolean | null;
|
|
4682
4693
|
zerofill?: boolean | null;
|
|
4694
|
+
stringMode?: boolean | null;
|
|
4683
4695
|
};
|
|
4684
4696
|
type TableIndexInfo = {
|
|
4685
4697
|
name: string;
|
|
@@ -4870,6 +4882,7 @@ declare const SQL_DATA_SOURCE_SYMBOL: unique symbol;
|
|
|
4870
4882
|
declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}> extends DataSource {
|
|
4871
4883
|
private readonly [SQL_DATA_SOURCE_SYMBOL];
|
|
4872
4884
|
private globalTransaction;
|
|
4885
|
+
private globalTransactionLock;
|
|
4873
4886
|
private sqlType;
|
|
4874
4887
|
private ownsPool;
|
|
4875
4888
|
static isSqlDataSource(value: unknown): value is SqlDataSource;
|
|
@@ -4907,14 +4920,26 @@ declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T e
|
|
|
4907
4920
|
*/
|
|
4908
4921
|
inputDetails: SqlDataSourceInput<D, T, C>;
|
|
4909
4922
|
/**
|
|
4910
|
-
* @description
|
|
4911
|
-
*
|
|
4923
|
+
* @description Per-construction UUID. May be shared with clones produced by
|
|
4924
|
+
* clone() (legacy behavior, preserved for backward compatibility).
|
|
4925
|
+
* For ALS scope checks, use logicalSourceId.
|
|
4912
4926
|
*/
|
|
4913
4927
|
id: string;
|
|
4928
|
+
/**
|
|
4929
|
+
* Shared across all clones of the same logical data source.
|
|
4930
|
+
* Used by the ALS transaction guard to verify that a propagated
|
|
4931
|
+
* transaction belongs to the same logical source as the calling
|
|
4932
|
+
* instance (not necessarily the same instance).
|
|
4933
|
+
*/
|
|
4934
|
+
logicalSourceId: string;
|
|
4914
4935
|
/**
|
|
4915
4936
|
* @description Whether AsyncLocalStorage (CLS) transaction auto-propagation is enabled.
|
|
4916
4937
|
*/
|
|
4917
4938
|
private readonly clsEnabled;
|
|
4939
|
+
/**
|
|
4940
|
+
* @description Whether AsyncLocalStorage (CLS) transaction auto-propagation is enabled.
|
|
4941
|
+
*/
|
|
4942
|
+
get isClsEnabled(): boolean;
|
|
4918
4943
|
/**
|
|
4919
4944
|
* @description Adapter for `useCache`, uses an in memory strategy by default
|
|
4920
4945
|
*/
|
|
@@ -5140,6 +5165,9 @@ declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T e
|
|
|
5140
5165
|
/**
|
|
5141
5166
|
* @description Starts a global transaction on the database
|
|
5142
5167
|
* @description Intended for testing purposes - wraps all operations in a transaction that can be rolled back
|
|
5168
|
+
* @description Concurrent calls serialize: the second caller waits for the
|
|
5169
|
+
* @description first to settle, then rejects with GLOBAL_TRANSACTION_ALREADY_STARTED
|
|
5170
|
+
* @description if a global transaction is still active.
|
|
5143
5171
|
*/
|
|
5144
5172
|
startGlobalTransaction(options?: StartTransactionOptions): Promise<Transaction>;
|
|
5145
5173
|
/**
|
|
@@ -8011,6 +8039,88 @@ declare class ObserverChainWrapper {
|
|
|
8011
8039
|
add(observer: QueryObserver): void;
|
|
8012
8040
|
}
|
|
8013
8041
|
|
|
8042
|
+
/**
|
|
8043
|
+
* Async method type constraint for atomic decorator.
|
|
8044
|
+
*/
|
|
8045
|
+
type AsyncMethod = (...args: any[]) => Promise<any>;
|
|
8046
|
+
/**
|
|
8047
|
+
* @description Options for the atomic decorator.
|
|
8048
|
+
*/
|
|
8049
|
+
type AtomicOptions = {
|
|
8050
|
+
/**
|
|
8051
|
+
* @description Property name on the class instance that holds the SqlDataSource,
|
|
8052
|
+
* a SqlDataSource instance, or a function receiving the instance and returning the SqlDataSource.
|
|
8053
|
+
* @default "sql"
|
|
8054
|
+
*/
|
|
8055
|
+
dataSource?: string | SqlDataSource | ((instance: any) => SqlDataSource);
|
|
8056
|
+
/**
|
|
8057
|
+
* @description Transaction isolation level.
|
|
8058
|
+
*/
|
|
8059
|
+
isolationLevel?: TransactionIsolationLevel;
|
|
8060
|
+
};
|
|
8061
|
+
/**
|
|
8062
|
+
* @description Wraps an async method in a callback-style transaction with
|
|
8063
|
+
* AsyncLocalStorage (CLS) auto-propagation.
|
|
8064
|
+
*
|
|
8065
|
+
* The decorated method must be async and return a Promise.
|
|
8066
|
+
* The transaction is committed if the method succeeds, rolled back if it throws.
|
|
8067
|
+
*
|
|
8068
|
+
* @throws {Error} if the resolved SqlDataSource has `clsEnabled: false`.
|
|
8069
|
+
*
|
|
8070
|
+
* @example
|
|
8071
|
+
* ```ts
|
|
8072
|
+
* class UserService {
|
|
8073
|
+
* sql = new SqlDataSource();
|
|
8074
|
+
*
|
|
8075
|
+
* @atomic()
|
|
8076
|
+
* async createUser(data: UserData): Promise<User> {
|
|
8077
|
+
* const user = await this.sql.from(User).insert(data);
|
|
8078
|
+
* await this.sql.from(Profile).insert({ userId: user.id });
|
|
8079
|
+
* return user;
|
|
8080
|
+
* }
|
|
8081
|
+
* }
|
|
8082
|
+
* ```
|
|
8083
|
+
*
|
|
8084
|
+
* @example
|
|
8085
|
+
* ```ts
|
|
8086
|
+
* class UserService {
|
|
8087
|
+
* db = new SqlDataSource();
|
|
8088
|
+
*
|
|
8089
|
+
* @atomic({ dataSource: "db", isolationLevel: "SERIALIZABLE" })
|
|
8090
|
+
* async createUser(data: UserData): Promise<User> {
|
|
8091
|
+
* // ...
|
|
8092
|
+
* }
|
|
8093
|
+
* }
|
|
8094
|
+
* ```
|
|
8095
|
+
*
|
|
8096
|
+
* @example
|
|
8097
|
+
* ```ts
|
|
8098
|
+
* atomic.sqlDataSource = new SqlDataSource();
|
|
8099
|
+
*
|
|
8100
|
+
* class UserService {
|
|
8101
|
+
* @atomic()
|
|
8102
|
+
* async createUser(data: UserData): Promise<User> {
|
|
8103
|
+
* // Uses atomic.sqlDataSource automatically
|
|
8104
|
+
* }
|
|
8105
|
+
* }
|
|
8106
|
+
* ```
|
|
8107
|
+
*/
|
|
8108
|
+
declare function atomic(options?: AtomicOptions): <T extends AsyncMethod>(target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
|
|
8109
|
+
/**
|
|
8110
|
+
* @description Legacy overload accepting a property name string directly.
|
|
8111
|
+
*/
|
|
8112
|
+
declare function atomic(dataSourceProperty: string, isolationLevel?: TransactionIsolationLevel): <T extends AsyncMethod>(target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
|
|
8113
|
+
declare namespace atomic {
|
|
8114
|
+
/**
|
|
8115
|
+
* @description Global default SqlDataSource used by all @atomic decorators
|
|
8116
|
+
* when no per-decorator dataSource option is provided and the host class
|
|
8117
|
+
* does not expose a "sql" property.
|
|
8118
|
+
*
|
|
8119
|
+
* @default undefined
|
|
8120
|
+
*/
|
|
8121
|
+
let sqlDataSource: SqlDataSource | undefined;
|
|
8122
|
+
}
|
|
8123
|
+
|
|
8014
8124
|
declare class Schema {
|
|
8015
8125
|
queryStatements: string[];
|
|
8016
8126
|
sqlType: SqlDataSourceType;
|
|
@@ -8202,7 +8312,7 @@ declare abstract class BaseSeeder {
|
|
|
8202
8312
|
abstract run(): Promise<void>;
|
|
8203
8313
|
}
|
|
8204
8314
|
|
|
8205
|
-
type HysteriaErrorCode = "VALIDATION_ERROR" | "CONNECTION_ALREADY_ESTABLISHED" | `UNSUPPORTED_ISOLATION_LEVEL_${string}` | "ROW_NOT_FOUND" | `UNSUPPORTED_DATABASE_TYPE_${string}` | `RELATION_TYPE_NOT_SUPPORTED_${string}` | `NOT_SUPPORTED_IN_${string}` | `RELATION_NOT_FOUND_IN_MODEL_${string}` | `UNKNOWN_RELATION_TYPE_${string}` | `DISTINCT_ON_NOT_SUPPORTED_IN_${string}` | `CONFLICT_COLUMNS_NOT_PRESENT_IN_DATA` | `CONFLICT_COLUMNS_NOT_PRESENT_IN_DATA_${string}` | `FOREIGN_KEY_VALUES_MISSING_FOR_HAS_ONE_RELATION_${string}` | `FOREIGN_KEY_VALUES_MISSING_FOR_BELONGS_TO_RELATION_${string}` | `PRIMARY_KEY_VALUES_MISSING_FOR_HAS_MANY_RELATION_${string}` | `MANY_TO_MANY_RELATION_NOT_FOUND_FOR_RELATED_MODEL_${string}` | `PRIMARY_KEY_VALUES_MISSING_FOR_MANY_TO_MANY_RELATION_${string}` | `RELATED_MODEL_DOES_NOT_HAVE_A_PRIMARY_KEY_${string}` | `FOR_SHARE_NOT_SUPPORTED_IN_${string}` | `SKIP_LOCKED_NOT_SUPPORTED_IN_${string}` | `LOCK_FOR_UPDATE_NOT_SUPPORTED_${string}` | `KEY_${string}_HAS_NO_HANDLER_IN_CACHE_KEYS_CONFIG` | `CACHE_ADAPTER_NOT_CONFIGURED` | `SQLITE_NOT_SUPPORTED` | `COCKROACHDB_NOT_SUPPORTED` | `RELATION_NOT_FOUND` | `POSTGRES_TABLE_REQUIRED` | `MODEL_HAS_NO_PRIMARY_KEY_VALUE` | `RELATION_NOT_MANY_TO_MANY` | "MATERIALIZED_CTE_NOT_SUPPORTED" | "DUPLICATE_MODEL_KEYS_WHILE_INSTANTIATING_MODELS" | "INVALID_ONE_PARAMETER_WHERE_CONDITION" | "INVALID_PAGINATION_PARAMETERS" | "MISSING_ALIAS_FOR_SUBQUERY" | "MODEL_HAS_NO_PRIMARY_KEY" | "PRIMARY_KEY_NOT_FOUND" | "SQLITE_ONLY_SUPPORTS_SERIALIZABLE_ISOLATION_LEVEL" | "MUST_CALL_BUILD_CTE_AT_LEAST_ONCE" | "REGEXP_NOT_SUPPORTED_IN_SQLITE" | "MANY_TO_MANY_RELATION_MUST_HAVE_A_THROUGH_MODEL" | "INSERT_FAILED" | "MULTIPLE_PRIMARY_KEYS_NOT_ALLOWED" | "FILE_NOT_A_SQL_OR_TXT_FILE" | "CONNECTION_NOT_ESTABLISHED" | "TRANSACTION_NOT_ACTIVE" | "DEVELOPMENT_ERROR" | "MIGRATION_MODULE_NOT_FOUND" | "DRIVER_NOT_FOUND" | "FILE_NOT_FOUND_OR_NOT_ACCESSIBLE" | "ENV_NOT_SET" | "REQUIRED_VALUE_NOT_SET" | "SET_FAILED" | "GET_FAILED" | "REFERENCES_OPTION_REQUIRED" | "DELETE_FAILED" | "INVALID_DEFAULT_VALUE" | "DISCONNECT_FAILED" | "FLUSH_FAILED" | "LEFT_COLUMN_NOT_PROVIDED_FOR_JOIN" | "RIGHT_COLUMN_NOT_PROVIDED_FOR_JOIN" | "MODEL_HAS_NO_PRIMARY_KEY" | "GLOBAL_TRANSACTION_ALREADY_STARTED" | "GLOBAL_TRANSACTION_NOT_STARTED" | "MYSQL_REQUIRES_TABLE_NAME_FOR_INDEX_DROP" | "INVALID_DATE_OBJECT" | "INVALID_DATE_STRING" | "FAILED_TO_PARSE_DATE" | "MIGRATION_MODULE_REQUIRES_TS_NODE" | "FAILED_TO_ENCRYPT_SYMMETRICALLY" | "FAILED_TO_DECRYPT_SYMMETRICALLY" | "FAILED_TO_ENCRYPT_ASYMMETRICALLY" | "FAILED_TO_DECRYPT_ASYMMETRICALLY" | "UNSUPPORTED_RELATION_TYPE" | "LPUSH_FAILED" | "RPUSH_FAILED" | "LPOP_FAILED" | "RPOP_FAILED" | "LRANGE_FAILED" | "LLEN_FAILED" | "HSET_FAILED" | "HMSET_FAILED" | "HGET_FAILED" | "HGETALL_FAILED" | "HMGET_FAILED" | "HDEL_FAILED" | "HEXISTS_FAILED" | "HKEYS_FAILED" | "HLEN_FAILED" | "SADD_FAILED" | "SMEMBERS_FAILED" | "SREM_FAILED" | "SISMEMBER_FAILED" | "SCARD_FAILED" | "SINTER_FAILED" | "SUNION_FAILED" | "SDIFF_FAILED" | "ZADD_FAILED" | "ZRANGE_FAILED" | "ZREVRANGE_FAILED" | "ZREM_FAILED" | "ZSCORE_FAILED" | "ZCARD_FAILED" | "SUBSCRIBE_FAILED" | "UNSUBSCRIBE_FAILED" | "PUBLISH_FAILED" | "PSUBSCRIBE_FAILED" | "PUNSUBSCRIBE_FAILED" | "EXISTS_FAILED" | "EXPIRE_FAILED" | "EXPIREAT_FAILED" | "PEXPIRE_FAILED" | "TTL_FAILED" | "PTTL_FAILED" | "PERSIST_FAILED" | "KEYS_FAILED" | "RENAME_FAILED" | "TYPE_FAILED" | "SCAN_FAILED" | "ADMINJS_NOT_ENABLED" | "ADMINJS_INITIALIZATION_FAILED" | "ADMINJS_NO_MODELS_PROVIDED" | "ZOD_ENGINE_NOT_LOADED" | `SCOPE_NOT_FOUND_${string}`;
|
|
8315
|
+
type HysteriaErrorCode = "VALIDATION_ERROR" | "CONNECTION_ALREADY_ESTABLISHED" | `UNSUPPORTED_ISOLATION_LEVEL_${string}` | "ROW_NOT_FOUND" | `UNSUPPORTED_DATABASE_TYPE_${string}` | `RELATION_TYPE_NOT_SUPPORTED_${string}` | `NOT_SUPPORTED_IN_${string}` | `RELATION_NOT_FOUND_IN_MODEL_${string}` | `UNKNOWN_RELATION_TYPE_${string}` | `DISTINCT_ON_NOT_SUPPORTED_IN_${string}` | `CONFLICT_COLUMNS_NOT_PRESENT_IN_DATA` | `CONFLICT_COLUMNS_NOT_PRESENT_IN_DATA_${string}` | `FOREIGN_KEY_VALUES_MISSING_FOR_HAS_ONE_RELATION_${string}` | `FOREIGN_KEY_VALUES_MISSING_FOR_BELONGS_TO_RELATION_${string}` | `PRIMARY_KEY_VALUES_MISSING_FOR_HAS_MANY_RELATION_${string}` | `MANY_TO_MANY_RELATION_NOT_FOUND_FOR_RELATED_MODEL_${string}` | `PRIMARY_KEY_VALUES_MISSING_FOR_MANY_TO_MANY_RELATION_${string}` | `RELATED_MODEL_DOES_NOT_HAVE_A_PRIMARY_KEY_${string}` | `FOR_SHARE_NOT_SUPPORTED_IN_${string}` | `SKIP_LOCKED_NOT_SUPPORTED_IN_${string}` | `LOCK_FOR_UPDATE_NOT_SUPPORTED_${string}` | `KEY_${string}_HAS_NO_HANDLER_IN_CACHE_KEYS_CONFIG` | `CACHE_ADAPTER_NOT_CONFIGURED` | `SQLITE_NOT_SUPPORTED` | `COCKROACHDB_NOT_SUPPORTED` | `RELATION_NOT_FOUND` | `POSTGRES_TABLE_REQUIRED` | `MODEL_HAS_NO_PRIMARY_KEY_VALUE` | `RELATION_NOT_MANY_TO_MANY` | "MATERIALIZED_CTE_NOT_SUPPORTED" | "DUPLICATE_MODEL_KEYS_WHILE_INSTANTIATING_MODELS" | "INVALID_ONE_PARAMETER_WHERE_CONDITION" | "INVALID_PAGINATION_PARAMETERS" | "MISSING_ALIAS_FOR_SUBQUERY" | "MODEL_HAS_NO_PRIMARY_KEY" | "PRIMARY_KEY_NOT_FOUND" | "SQLITE_ONLY_SUPPORTS_SERIALIZABLE_ISOLATION_LEVEL" | "MUST_CALL_BUILD_CTE_AT_LEAST_ONCE" | "REGEXP_NOT_SUPPORTED_IN_SQLITE" | "MANY_TO_MANY_RELATION_MUST_HAVE_A_THROUGH_MODEL" | "INSERT_FAILED" | "MULTIPLE_PRIMARY_KEYS_NOT_ALLOWED" | "FILE_NOT_A_SQL_OR_TXT_FILE" | "CONNECTION_NOT_ESTABLISHED" | "TRANSACTION_NOT_ACTIVE" | "DEVELOPMENT_ERROR" | "MIGRATION_MODULE_NOT_FOUND" | "DRIVER_NOT_FOUND" | "FILE_NOT_FOUND_OR_NOT_ACCESSIBLE" | "ENV_NOT_SET" | "REQUIRED_VALUE_NOT_SET" | "SET_FAILED" | "GET_FAILED" | "REFERENCES_OPTION_REQUIRED" | "DELETE_FAILED" | "INVALID_DEFAULT_VALUE" | "DISCONNECT_FAILED" | "FLUSH_FAILED" | "LEFT_COLUMN_NOT_PROVIDED_FOR_JOIN" | "RIGHT_COLUMN_NOT_PROVIDED_FOR_JOIN" | "MODEL_HAS_NO_PRIMARY_KEY" | "GLOBAL_TRANSACTION_ALREADY_STARTED" | "GLOBAL_TRANSACTION_NOT_STARTED" | "MYSQL_REQUIRES_TABLE_NAME_FOR_INDEX_DROP" | "INVALID_DATE_OBJECT" | "INVALID_DATE_STRING" | "FAILED_TO_PARSE_DATE" | "MIGRATION_MODULE_REQUIRES_TS_NODE" | "FAILED_TO_ENCRYPT_SYMMETRICALLY" | "FAILED_TO_DECRYPT_SYMMETRICALLY" | "FAILED_TO_ENCRYPT_ASYMMETRICALLY" | "FAILED_TO_DECRYPT_ASYMMETRICALLY" | "UNSUPPORTED_RELATION_TYPE" | "LPUSH_FAILED" | "RPUSH_FAILED" | "LPOP_FAILED" | "RPOP_FAILED" | "LRANGE_FAILED" | "LLEN_FAILED" | "HSET_FAILED" | "HMSET_FAILED" | "HGET_FAILED" | "HGETALL_FAILED" | "HMGET_FAILED" | "HDEL_FAILED" | "HEXISTS_FAILED" | "HKEYS_FAILED" | "HLEN_FAILED" | "SADD_FAILED" | "SMEMBERS_FAILED" | "SREM_FAILED" | "SISMEMBER_FAILED" | "SCARD_FAILED" | "SINTER_FAILED" | "SUNION_FAILED" | "SDIFF_FAILED" | "ZADD_FAILED" | "ZRANGE_FAILED" | "ZREVRANGE_FAILED" | "ZREM_FAILED" | "ZSCORE_FAILED" | "ZCARD_FAILED" | "SUBSCRIBE_FAILED" | "UNSUBSCRIBE_FAILED" | "PUBLISH_FAILED" | "PSUBSCRIBE_FAILED" | "PUNSUBSCRIBE_FAILED" | "EXISTS_FAILED" | "EXPIRE_FAILED" | "EXPIREAT_FAILED" | "PEXPIRE_FAILED" | "TTL_FAILED" | "PTTL_FAILED" | "PERSIST_FAILED" | "KEYS_FAILED" | "RENAME_FAILED" | "TYPE_FAILED" | "SCAN_FAILED" | "ADMINJS_NOT_ENABLED" | "ADMINJS_INITIALIZATION_FAILED" | "ADMINJS_NO_MODELS_PROVIDED" | "ZOD_ENGINE_NOT_LOADED" | "ATOMIC_DATASOURCE_RESOLUTION_FAILED" | "ATOMIC_INVALID_METHOD" | "ATOMIC_CLS_DISABLED" | `SCOPE_NOT_FOUND_${string}`;
|
|
8206
8316
|
|
|
8207
8317
|
declare class HysteriaError extends Error {
|
|
8208
8318
|
code: HysteriaErrorCode;
|
|
@@ -8340,4 +8450,4 @@ declare const generateOpenApiModelWithMetadata: <T extends new () => Model>(mode
|
|
|
8340
8450
|
$id?: string;
|
|
8341
8451
|
}>;
|
|
8342
8452
|
|
|
8343
|
-
export { type AdminJsActionOptions, type AdminJsAssets, type AdminJsBranding, type AdminJsInstance, type AdminJsLocale, type AdminJsOptions, type AdminJsPage, type AdminJsPropertyOptions, type AdminJsResourceOptions, type AdminJsSettings, type AnyModelConstructor, type BaseModelMethodOptions, BaseSeeder, type BuildSelectType, type BuildSingleSelectType, type CacheAdapter, type CacheKeys, ClientMigrator, type ColCharOptions, type ColJsonbOptions, type ColMediumIntOptions, type ColSmallIntOptions, type ColTinyIntOptions, type ColVarbinaryOptions, Collection, type CollectionDefinition, type ColumnDef, type CommonDataSourceInput, type ComposeBuildSelect, type ComposeSelect, type ConnectionPolicies, type CreateSchemaResult, type CustomLogger, type DataSourceInput, type DataSourceType, type DateAutoHook, type DefinedCollection, type DefinedModel, type DefinedView, type ExcludeMethods, type ExtractColumnName, type ExtractSourceColumn, type FetchHooks, type FindReturnType, type GetColumnType, type GetConnectionReturnType, HysteriaError, InMemoryAdapter, type InferPK, type IntrospectedColumn, type IntrospectedForeignKey, type IntrospectedSchema, type IntrospectedTable, type JsonPathInput, type JsonPaths, type LoadOptions, type LoggerConfig, type ManyOptions, Migration, type MigrationConfig, type MigrationConfigBase, type MigrationLockConfig, type ModelColumns, type ModelDataProperties, type ModelInstanceType, type ModelKey, ModelQueryBuilder, type ModelQueryResult, type ModelRelation, type ModelSelectTuple, type ModelSelectableInput, type ModelWithoutRelations, type ModelsProxy, MongoDataSource, type MongoDataSourceInput$1 as MongoDataSourceInput, type MssqlConnectionInstance, type MssqlDataSourceInput, type MssqlPoolInstance, type MutationReturningResult, type MysqlConnectionInstance, type MysqlSqlDataSourceInput, type NotNullableMysqlSqlDataSourceInput, type NotNullableOracleDBDataSourceInput, type NotNullableOracleMssqlDataSourceInput, type NotNullablePostgresSqlDataSourceInput, type NotNullableSqliteDataSourceInput, type NullableColumn, type NumberModelKey, ObserverChain, ObserverChainWrapper, type OneOptions, type Operation, type OracleDBDataSourceInput, type OracleDBPoolInstance, type PgPoolClientInstance, type PingResult, type PostgresSqlDataSourceInput, type PrimaryColumnDef, type PropNamespace, type PropertyDef, QueryBuilder, type QueryContext, type QueryContextWithDuration, type QueryObserver, type RawModelKey, type RawModelOptions, RawNode, type RawQueryOptions, RedisCacheAdapter, type RedisFetchable, type RedisStorable, type RelatedInstance, type RelationDef, type RelationDefinitions, type RelationHelpers, type RelationLoadStrategy, type RelationQueryBuilderType, type ReplicationType, type ResolveColumnType, type ResolveJsonPathType, type ReturningColumns, type ReturningKey, type ReturningParam, type ReturningResult, type ReturningResultMany, type ReturningSupported, Schema, SchemaBuilder, type SchemaLookup, type SchemaRelDef, type SeederConfig, type SelectBrand, type SelectableColumn, type SelectedModel, type SlaveAlgorithm, type SlaveContext, type SqlCloneOptions, SqlDataSource, type SqlDataSourceInput, type SqlDataSourceModel, type SqlDataSourceType, type SqlDriverSpecificOptions, type SqlPoolType, type Sqlite3ConnectionOptions, type SqliteConnectionInstance, type SqliteDataSourceInput, type StartTransactionOptions, type StripTablePrefix, type SubQueryable, type TableFormat, Transaction, type TransactionExecutionOptions, type TypedDefault, type TypedJsonPathInput, type TypedPrepare, type TypedSerialize, type UseCacheReturnType, type UseConnectionInput, type ValidationContext, ValidationError, type ValidationResult, type Validator, type ViewDefinition, WriteOperation, type WriteReturnType, col, createSchema, defineCollection, defineMigrator, defineModel, defineModelFactory, defineRelations, defineView, deriveOperationFromQuery, email, enumValidator, generateOpenApiModel, generateOpenApiModelSchema, generateOpenApiModelWithMetadata, type getPoolReturnType, HysteriaLogger as logger, max, maxLength, min, minLength, pattern, prop, RedisDataSource as redis, required, url };
|
|
8453
|
+
export { type AdminJsActionOptions, type AdminJsAssets, type AdminJsBranding, type AdminJsInstance, type AdminJsLocale, type AdminJsOptions, type AdminJsPage, type AdminJsPropertyOptions, type AdminJsResourceOptions, type AdminJsSettings, type AnyModelConstructor, type AtomicOptions, type BaseModelMethodOptions, BaseSeeder, type BuildSelectType, type BuildSingleSelectType, type CacheAdapter, type CacheKeys, ClientMigrator, type ColCharOptions, type ColJsonbOptions, type ColMediumIntOptions, type ColSmallIntOptions, type ColTinyIntOptions, type ColVarbinaryOptions, Collection, type CollectionDefinition, type ColumnDef, type CommonDataSourceInput, type ComposeBuildSelect, type ComposeSelect, type ConnectionPolicies, type CreateSchemaResult, type CustomLogger, type DataSourceInput, type DataSourceType, type DateAutoHook, type DefinedCollection, type DefinedModel, type DefinedView, type ExcludeMethods, type ExtractColumnName, type ExtractSourceColumn, type FetchHooks, type FindReturnType, type GetColumnType, type GetConnectionReturnType, HysteriaError, type HysteriaErrorCode, InMemoryAdapter, type InferPK, type IntrospectedColumn, type IntrospectedForeignKey, type IntrospectedSchema, type IntrospectedTable, type JsonPathInput, type JsonPaths, type LoadOptions, type LoggerConfig, type ManyOptions, Migration, type MigrationConfig, type MigrationConfigBase, type MigrationLockConfig, type ModelColumns, type ModelDataProperties, type ModelInstanceType, type ModelKey, ModelQueryBuilder, type ModelQueryResult, type ModelRelation, type ModelSelectTuple, type ModelSelectableInput, type ModelWithoutRelations, type ModelsProxy, MongoDataSource, type MongoDataSourceInput$1 as MongoDataSourceInput, type MssqlConnectionInstance, type MssqlDataSourceInput, type MssqlPoolInstance, type MutationReturningResult, type MysqlConnectionInstance, type MysqlSqlDataSourceInput, type NotNullableMysqlSqlDataSourceInput, type NotNullableOracleDBDataSourceInput, type NotNullableOracleMssqlDataSourceInput, type NotNullablePostgresSqlDataSourceInput, type NotNullableSqliteDataSourceInput, type NullableColumn, type NumberModelKey, ObserverChain, ObserverChainWrapper, type OneOptions, type Operation, type OracleDBDataSourceInput, type OracleDBPoolInstance, type PgPoolClientInstance, type PingResult, type PostgresSqlDataSourceInput, type PrimaryColumnDef, type PropNamespace, type PropertyDef, QueryBuilder, type QueryContext, type QueryContextWithDuration, type QueryObserver, type RawModelKey, type RawModelOptions, RawNode, type RawQueryOptions, RedisCacheAdapter, type RedisFetchable, type RedisStorable, type RelatedInstance, type RelationDef, type RelationDefinitions, type RelationHelpers, type RelationLoadStrategy, type RelationQueryBuilderType, type ReplicationType, type ResolveColumnType, type ResolveJsonPathType, type ReturningColumns, type ReturningKey, type ReturningParam, type ReturningResult, type ReturningResultMany, type ReturningSupported, Schema, SchemaBuilder, type SchemaLookup, type SchemaRelDef, type SeederConfig, type SelectBrand, type SelectableColumn, type SelectedModel, type SlaveAlgorithm, type SlaveContext, type SqlCloneOptions, SqlDataSource, type SqlDataSourceInput, type SqlDataSourceModel, type SqlDataSourceType, type SqlDriverSpecificOptions, type SqlPoolType, type Sqlite3ConnectionOptions, type SqliteConnectionInstance, type SqliteDataSourceInput, type StartTransactionOptions, type StripTablePrefix, type SubQueryable, type TableFormat, Transaction, type TransactionExecutionOptions, type TypedDefault, type TypedJsonPathInput, type TypedPrepare, type TypedSerialize, type UseCacheReturnType, type UseConnectionInput, type ValidationContext, ValidationError, type ValidationResult, type Validator, type ViewDefinition, WriteOperation, type WriteReturnType, atomic, col, createSchema, defineCollection, defineMigrator, defineModel, defineModelFactory, defineRelations, defineView, deriveOperationFromQuery, email, enumValidator, generateOpenApiModel, generateOpenApiModelSchema, generateOpenApiModelWithMetadata, type getPoolReturnType, HysteriaLogger as logger, max, maxLength, min, minLength, pattern, prop, RedisDataSource as redis, required, url };
|