stabilize-orm 1.3.8 → 2.1.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/README.md +1097 -546
- package/dist/auto-migrate.d.ts +34 -0
- package/dist/auto-migrate.d.ts.map +1 -0
- package/dist/auto-migrate.js +3003 -0
- package/dist/auto-migrate.js.map +163 -0
- package/dist/cache.d.ts +90 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +166 -0
- package/dist/cache.js.map +64 -0
- package/dist/client.d.ts +73 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +2997 -0
- package/dist/client.js.map +162 -0
- package/dist/hooks.d.ts +31 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +4 -0
- package/dist/hooks.js.map +11 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3183 -0
- package/dist/index.js.map +222 -0
- package/dist/logger.d.ts +40 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +8 -0
- package/dist/logger.js.map +11 -0
- package/dist/migrations.d.ts +31 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +3009 -0
- package/dist/migrations.js.map +164 -0
- package/{model.ts → dist/model.d.ts} +124 -189
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +4 -0
- package/dist/model.js.map +10 -0
- package/dist/query-builder.d.ts +91 -0
- package/dist/query-builder.d.ts.map +1 -0
- package/dist/query-builder.js +14 -0
- package/dist/query-builder.js.map +12 -0
- package/dist/repository.d.ts +165 -0
- package/dist/repository.d.ts.map +1 -0
- package/dist/repository.js +176 -0
- package/dist/repository.js.map +69 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +110 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +10 -0
- package/dist/utils/encryption.d.ts +13 -0
- package/dist/utils/encryption.d.ts.map +1 -0
- package/dist/utils/encryption.js +4 -0
- package/dist/utils/encryption.js.map +10 -0
- package/package.json +104 -25
- package/.eslintrc.json +0 -10
- package/.github/ISSUE_TEMPLATE/PULL_REQUEST_TEMPLATE.md +0 -23
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -25
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
- package/.github/workflows/ci-cd.yml +0 -22
- package/CHANGELOG.md +0 -75
- package/CODE_OF_CONDUCT.md +0 -87
- package/CONTRIBUTING.md +0 -48
- package/FUNDING.md +0 -14
- package/SECURITY.md +0 -35
- package/SUPPORT.md +0 -18
- package/bun.lock +0 -667
- package/cache.ts +0 -181
- package/client.ts +0 -249
- package/docker-compose.yml +0 -22
- package/hooks.ts +0 -76
- package/index.ts +0 -158
- package/logger.ts +0 -127
- package/migrations.ts +0 -318
- package/query-builder.ts +0 -209
- package/repository.ts +0 -1096
- package/tests/migrations.test.ts +0 -141
- package/tsconfig.json +0 -32
- package/types.ts +0 -106
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file repository.ts
|
|
3
|
+
* @description Provides a data access layer for a specific model, handling all CRUD operations.
|
|
4
|
+
* @author ElectronSz
|
|
5
|
+
*/
|
|
6
|
+
import { DBClient } from "./client";
|
|
7
|
+
import { type Logger } from "./logger";
|
|
8
|
+
import { QueryBuilder } from "./query-builder";
|
|
9
|
+
import { type CacheConfig } from "./types";
|
|
10
|
+
export declare class Repository<T> {
|
|
11
|
+
private client;
|
|
12
|
+
private cache;
|
|
13
|
+
private table;
|
|
14
|
+
private columns;
|
|
15
|
+
private validators;
|
|
16
|
+
private relations;
|
|
17
|
+
private softDeleteField;
|
|
18
|
+
private logger;
|
|
19
|
+
private versioned;
|
|
20
|
+
private historyTable;
|
|
21
|
+
private model;
|
|
22
|
+
private optimisticLockField;
|
|
23
|
+
private timestampsConfig;
|
|
24
|
+
constructor(client: DBClient, model: new (...args: any[]) => T, cacheConfig?: CacheConfig, logger?: Logger);
|
|
25
|
+
private getOptimisticLockField;
|
|
26
|
+
private getDBType;
|
|
27
|
+
private validate;
|
|
28
|
+
private runHooks;
|
|
29
|
+
find(): QueryBuilder<T>;
|
|
30
|
+
scope(name: string, ...args: any[]): QueryBuilder<T>;
|
|
31
|
+
findOne(id: number | string, options?: {
|
|
32
|
+
relations?: string[];
|
|
33
|
+
}, _client?: DBClient): Promise<T | null>;
|
|
34
|
+
asOf(id: number | string, asOfDate: Date, _client?: DBClient): Promise<T | null>;
|
|
35
|
+
history(id: number | string, _client?: DBClient): Promise<T[]>;
|
|
36
|
+
rollback(id: number | string, version: number, _client?: DBClient): Promise<T>;
|
|
37
|
+
private writeHistory;
|
|
38
|
+
create(entity: Partial<T>, options?: {
|
|
39
|
+
relations?: string[];
|
|
40
|
+
}): Promise<T>;
|
|
41
|
+
private _create;
|
|
42
|
+
bulkCreate(entities: Partial<T>[], options?: {
|
|
43
|
+
relations?: string[];
|
|
44
|
+
batchSize?: number;
|
|
45
|
+
}): Promise<T[]>;
|
|
46
|
+
private _bulkCreate;
|
|
47
|
+
update(id: number | string, entity: Partial<T>): Promise<T>;
|
|
48
|
+
private _update;
|
|
49
|
+
bulkUpdate(updates: {
|
|
50
|
+
where: {
|
|
51
|
+
condition: string;
|
|
52
|
+
params: any[];
|
|
53
|
+
};
|
|
54
|
+
set: Partial<T>;
|
|
55
|
+
}[], options?: {
|
|
56
|
+
batchSize?: number;
|
|
57
|
+
}): Promise<void>;
|
|
58
|
+
private _bulkUpdate;
|
|
59
|
+
upsert(entity: Partial<T>, keys: string[]): Promise<T>;
|
|
60
|
+
private _upsert;
|
|
61
|
+
delete(id: number | string): Promise<void>;
|
|
62
|
+
private _delete;
|
|
63
|
+
bulkDelete(ids: (number | string)[], options?: {
|
|
64
|
+
batchSize?: number;
|
|
65
|
+
}): Promise<void>;
|
|
66
|
+
private _bulkDelete;
|
|
67
|
+
recover(id: number | string): Promise<T>;
|
|
68
|
+
private _recover;
|
|
69
|
+
rawQuery<R = T>(query: string, params?: any[]): Promise<R[]>;
|
|
70
|
+
private loadRelation;
|
|
71
|
+
private loadNestedRelations;
|
|
72
|
+
paginate(page: number, pageSize: number, options?: any): Promise<{
|
|
73
|
+
data: T[];
|
|
74
|
+
total: number;
|
|
75
|
+
page: number;
|
|
76
|
+
pageSize: number;
|
|
77
|
+
}>;
|
|
78
|
+
private processForSave;
|
|
79
|
+
private processForLoad;
|
|
80
|
+
findAndCount(options?: {
|
|
81
|
+
relations?: string[];
|
|
82
|
+
}): Promise<{
|
|
83
|
+
data: T[];
|
|
84
|
+
total: number;
|
|
85
|
+
}>;
|
|
86
|
+
findOneBy(conditions: Partial<T>, options?: {
|
|
87
|
+
relations?: string[];
|
|
88
|
+
}, _client?: DBClient): Promise<T | null>;
|
|
89
|
+
findBy(conditions: Partial<T>, options?: {
|
|
90
|
+
relations?: string[];
|
|
91
|
+
limit?: number;
|
|
92
|
+
orderBy?: string;
|
|
93
|
+
}): Promise<T[]>;
|
|
94
|
+
count(conditions?: Partial<T>): Promise<number>;
|
|
95
|
+
findAndCountAll(options?: {
|
|
96
|
+
page?: number;
|
|
97
|
+
pageSize?: number;
|
|
98
|
+
conditions?: Partial<T>;
|
|
99
|
+
}): Promise<{
|
|
100
|
+
data: T[];
|
|
101
|
+
total: number;
|
|
102
|
+
}>;
|
|
103
|
+
toJSON(entity: T): Record<string, any>;
|
|
104
|
+
aggregate(options: {
|
|
105
|
+
count?: string | string[];
|
|
106
|
+
sum?: string[];
|
|
107
|
+
avg?: string[];
|
|
108
|
+
min?: string[];
|
|
109
|
+
max?: string[];
|
|
110
|
+
}): Promise<Record<string, any>>;
|
|
111
|
+
findMany(options?: {
|
|
112
|
+
where?: Partial<T>;
|
|
113
|
+
cursor?: {
|
|
114
|
+
field: string;
|
|
115
|
+
value: any;
|
|
116
|
+
direction?: "forward" | "backward";
|
|
117
|
+
};
|
|
118
|
+
take?: number;
|
|
119
|
+
skip?: number;
|
|
120
|
+
orderBy?: {
|
|
121
|
+
field: string;
|
|
122
|
+
direction: "ASC" | "DESC";
|
|
123
|
+
};
|
|
124
|
+
relations?: string[];
|
|
125
|
+
}): Promise<T[]>;
|
|
126
|
+
bulkUpsert(entities: Partial<T>[], keys: string[]): Promise<T[]>;
|
|
127
|
+
exists(conditions?: Partial<T>): Promise<boolean>;
|
|
128
|
+
recoverAll(): Promise<number>;
|
|
129
|
+
truncate(): Promise<void>;
|
|
130
|
+
seed(data: Partial<T>[], options?: {
|
|
131
|
+
ignoreDuplicates?: boolean;
|
|
132
|
+
}): Promise<T[]>;
|
|
133
|
+
healthCheck(): Promise<{
|
|
134
|
+
status: string;
|
|
135
|
+
table: string;
|
|
136
|
+
rows: number;
|
|
137
|
+
latencyMs: number;
|
|
138
|
+
}>;
|
|
139
|
+
countDistinct(column: string): Promise<number>;
|
|
140
|
+
increment(id: number | string, field: string, amount?: number): Promise<T>;
|
|
141
|
+
decrement(id: number | string, field: string, amount?: number): Promise<T>;
|
|
142
|
+
pluck<K extends keyof T>(column: K): Promise<any[]>;
|
|
143
|
+
selectColumns(...columns: (keyof T)[]): Promise<Partial<T>[]>;
|
|
144
|
+
toggle(id: number | string, field: string): Promise<T>;
|
|
145
|
+
updateBy(conditions: Partial<T>, updates: Partial<T>): Promise<number>;
|
|
146
|
+
deleteBy(conditions: Partial<T>): Promise<number>;
|
|
147
|
+
restoreBy(conditions: Partial<T>): Promise<number>;
|
|
148
|
+
findDeleted(): QueryBuilder<T>;
|
|
149
|
+
withTrashed(): QueryBuilder<T>;
|
|
150
|
+
upsertMany(entities: Partial<T>[], keys: string[], batchSize?: number): Promise<T[]>;
|
|
151
|
+
map<R>(query: QueryBuilder<T>, transform: (item: T) => R): Promise<R[]>;
|
|
152
|
+
each(query: QueryBuilder<T>, callback: (item: T, index: number) => void | Promise<void>, pageSize?: number): Promise<void>;
|
|
153
|
+
eachBatch(query: QueryBuilder<T>, callback: (batch: T[]) => void | Promise<void>, batchSize?: number): Promise<void>;
|
|
154
|
+
lockForUpdate(id: number | string, _client?: DBClient): Promise<T | null>;
|
|
155
|
+
firstOrCreate(conditions: Partial<T>, defaults?: Partial<T>): Promise<T>;
|
|
156
|
+
updateOrCreate(conditions: Partial<T>, updates: Partial<T>): Promise<T>;
|
|
157
|
+
first(conditions?: Partial<T>): Promise<T | null>;
|
|
158
|
+
last(field?: string): Promise<T | null>;
|
|
159
|
+
random(): Promise<T | null>;
|
|
160
|
+
hasColumn(field: string): boolean;
|
|
161
|
+
getTableName(): string;
|
|
162
|
+
getSoftDeleteField(): string | null;
|
|
163
|
+
getIsVersioned(): boolean;
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../repository.ts"],"names":[],"mappings":"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"}
|