@ductape/sdk 0.0.4-v41 → 0.0.4-v43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apps/services/app.service.d.ts +10 -0
- package/dist/apps/services/app.service.js +22 -0
- package/dist/apps/services/app.service.js.map +1 -1
- package/dist/database/adapters/base.adapter.d.ts +176 -0
- package/dist/database/adapters/base.adapter.js +31 -0
- package/dist/database/adapters/base.adapter.js.map +1 -0
- package/dist/database/adapters/dynamodb.adapter.d.ts +83 -0
- package/dist/database/adapters/dynamodb.adapter.js +1237 -0
- package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
- package/dist/database/adapters/mongodb.adapter.d.ts +70 -0
- package/dist/database/adapters/mongodb.adapter.js +717 -0
- package/dist/database/adapters/mongodb.adapter.js.map +1 -0
- package/dist/database/adapters/mysql.adapter.d.ts +141 -0
- package/dist/database/adapters/mysql.adapter.js +1221 -0
- package/dist/database/adapters/mysql.adapter.js.map +1 -0
- package/dist/database/adapters/postgresql.adapter.d.ts +142 -0
- package/dist/database/adapters/postgresql.adapter.js +1288 -0
- package/dist/database/adapters/postgresql.adapter.js.map +1 -0
- package/dist/database/database.service.d.ts +190 -0
- package/dist/database/database.service.js +552 -0
- package/dist/database/database.service.js.map +1 -0
- package/dist/database/index.d.ts +18 -0
- package/dist/database/index.js +98 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/types/aggregation.types.d.ts +202 -0
- package/dist/database/types/aggregation.types.js +21 -0
- package/dist/database/types/aggregation.types.js.map +1 -0
- package/dist/database/types/connection.types.d.ts +132 -0
- package/dist/database/types/connection.types.js +6 -0
- package/dist/database/types/connection.types.js.map +1 -0
- package/dist/database/types/database.types.d.ts +173 -0
- package/dist/database/types/database.types.js +73 -0
- package/dist/database/types/database.types.js.map +1 -0
- package/dist/database/types/index.d.ts +12 -0
- package/dist/database/types/index.js +37 -0
- package/dist/database/types/index.js.map +1 -0
- package/dist/database/types/index.types.d.ts +220 -0
- package/dist/database/types/index.types.js +27 -0
- package/dist/database/types/index.types.js.map +1 -0
- package/dist/database/types/migration.types.d.ts +205 -0
- package/dist/database/types/migration.types.js +44 -0
- package/dist/database/types/migration.types.js.map +1 -0
- package/dist/database/types/query.types.d.ts +274 -0
- package/dist/database/types/query.types.js +57 -0
- package/dist/database/types/query.types.js.map +1 -0
- package/dist/database/types/result.types.d.ts +218 -0
- package/dist/database/types/result.types.js +6 -0
- package/dist/database/types/result.types.js.map +1 -0
- package/dist/database/types/schema.types.d.ts +190 -0
- package/dist/database/types/schema.types.js +69 -0
- package/dist/database/types/schema.types.js.map +1 -0
- package/dist/database/utils/helpers.d.ts +66 -0
- package/dist/database/utils/helpers.js +501 -0
- package/dist/database/utils/helpers.js.map +1 -0
- package/dist/database/utils/migration.utils.d.ts +151 -0
- package/dist/database/utils/migration.utils.js +476 -0
- package/dist/database/utils/migration.utils.js.map +1 -0
- package/dist/database/utils/transaction.d.ts +64 -0
- package/dist/database/utils/transaction.js +130 -0
- package/dist/database/utils/transaction.js.map +1 -0
- package/dist/database/validators/connection.validator.d.ts +20 -0
- package/dist/database/validators/connection.validator.js +267 -0
- package/dist/database/validators/connection.validator.js.map +1 -0
- package/dist/database/validators/query.validator.d.ts +31 -0
- package/dist/database/validators/query.validator.js +305 -0
- package/dist/database/validators/query.validator.js.map +1 -0
- package/dist/database/validators/schema.validator.d.ts +31 -0
- package/dist/database/validators/schema.validator.js +334 -0
- package/dist/database/validators/schema.validator.js.map +1 -0
- package/dist/index.d.ts +25 -4
- package/dist/index.js +36 -4
- package/dist/index.js.map +1 -1
- package/dist/processor/services/processor.service.js +10 -8
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/products/services/utils/functions.utils.d.ts +1 -1
- package/dist/products/services/utils/functions.utils.js +1 -6
- package/dist/products/services/utils/functions.utils.js.map +1 -1
- package/dist/types/processor.types.d.ts +2 -2
- package/package.json +3 -1
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query type definitions for database operations
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Comparison operators for where clauses
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ComparisonOperator {
|
|
8
|
+
EQUALS = "=",
|
|
9
|
+
NOT_EQUALS = "!=",
|
|
10
|
+
GREATER_THAN = ">",
|
|
11
|
+
GREATER_THAN_OR_EQUAL = ">=",
|
|
12
|
+
LESS_THAN = "<",
|
|
13
|
+
LESS_THAN_OR_EQUAL = "<=",
|
|
14
|
+
LIKE = "like",
|
|
15
|
+
NOT_LIKE = "not_like",
|
|
16
|
+
IN = "in",
|
|
17
|
+
NOT_IN = "not_in",
|
|
18
|
+
BETWEEN = "between",
|
|
19
|
+
NOT_BETWEEN = "not_between",
|
|
20
|
+
IS_NULL = "is_null",
|
|
21
|
+
IS_NOT_NULL = "is_not_null",
|
|
22
|
+
CONTAINS = "contains",// For arrays/JSON
|
|
23
|
+
NOT_CONTAINS = "not_contains"
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Logical operators for combining conditions
|
|
27
|
+
*/
|
|
28
|
+
export declare enum LogicalOperator {
|
|
29
|
+
AND = "and",
|
|
30
|
+
OR = "or",
|
|
31
|
+
NOT = "not"
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Sort order
|
|
35
|
+
*/
|
|
36
|
+
export declare enum SortOrder {
|
|
37
|
+
ASC = "asc",
|
|
38
|
+
DESC = "desc"
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Simple where condition
|
|
42
|
+
*/
|
|
43
|
+
export interface IWhereCondition {
|
|
44
|
+
/** Column name */
|
|
45
|
+
column: string;
|
|
46
|
+
/** Comparison operator */
|
|
47
|
+
operator: ComparisonOperator | string;
|
|
48
|
+
/** Value to compare */
|
|
49
|
+
value?: any;
|
|
50
|
+
/** Values for IN, NOT_IN, BETWEEN operators */
|
|
51
|
+
values?: any[];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Grouped where conditions
|
|
55
|
+
*/
|
|
56
|
+
export interface IWhereGroup {
|
|
57
|
+
/** Logical operator for this group */
|
|
58
|
+
operator: LogicalOperator;
|
|
59
|
+
/** Conditions in this group */
|
|
60
|
+
conditions: (IWhereCondition | IWhereGroup)[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Where clause (can be object notation or complex conditions)
|
|
64
|
+
*/
|
|
65
|
+
export type WhereClause = Record<string, any> | IWhereCondition | IWhereGroup | IWhereCondition[] | IWhereGroup[];
|
|
66
|
+
/**
|
|
67
|
+
* Order by clause
|
|
68
|
+
*/
|
|
69
|
+
export interface IOrderBy {
|
|
70
|
+
/** Column name */
|
|
71
|
+
column: string;
|
|
72
|
+
/** Sort order */
|
|
73
|
+
order: SortOrder;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Join type
|
|
77
|
+
*/
|
|
78
|
+
export declare enum JoinType {
|
|
79
|
+
INNER = "inner",
|
|
80
|
+
LEFT = "left",
|
|
81
|
+
RIGHT = "right",
|
|
82
|
+
FULL = "full",
|
|
83
|
+
CROSS = "cross"
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Join clause
|
|
87
|
+
*/
|
|
88
|
+
export interface IJoinClause {
|
|
89
|
+
/** Join type */
|
|
90
|
+
type: JoinType;
|
|
91
|
+
/** Table to join */
|
|
92
|
+
table: string;
|
|
93
|
+
/** Left column (from main table) */
|
|
94
|
+
leftColumn: string;
|
|
95
|
+
/** Right column (from joined table) */
|
|
96
|
+
rightColumn: string;
|
|
97
|
+
/** Optional join condition */
|
|
98
|
+
condition?: WhereClause;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Pagination options
|
|
102
|
+
*/
|
|
103
|
+
export interface IPagination {
|
|
104
|
+
/** Number of records to skip */
|
|
105
|
+
offset?: number;
|
|
106
|
+
/** Number of records to return */
|
|
107
|
+
limit?: number;
|
|
108
|
+
/** Page number (alternative to offset) */
|
|
109
|
+
page?: number;
|
|
110
|
+
/** Page size (alternative to limit) */
|
|
111
|
+
pageSize?: number;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Query options
|
|
115
|
+
*/
|
|
116
|
+
export interface IQueryOptions {
|
|
117
|
+
/** Table/Collection name */
|
|
118
|
+
table: string;
|
|
119
|
+
/** Environment slug */
|
|
120
|
+
env: string;
|
|
121
|
+
/** Product tag */
|
|
122
|
+
product?: string;
|
|
123
|
+
/** Database tag */
|
|
124
|
+
database?: string;
|
|
125
|
+
/** Columns to select (empty for all) */
|
|
126
|
+
select?: string[];
|
|
127
|
+
/** Where clause */
|
|
128
|
+
where?: WhereClause;
|
|
129
|
+
/** Order by */
|
|
130
|
+
orderBy?: IOrderBy | IOrderBy[];
|
|
131
|
+
/** Pagination */
|
|
132
|
+
limit?: number;
|
|
133
|
+
/** Offset */
|
|
134
|
+
offset?: number;
|
|
135
|
+
/** Joins (SQL only) */
|
|
136
|
+
joins?: IJoinClause[];
|
|
137
|
+
/** Group by columns */
|
|
138
|
+
groupBy?: string[];
|
|
139
|
+
/** Having clause (for grouped queries) */
|
|
140
|
+
having?: WhereClause;
|
|
141
|
+
/** Distinct results */
|
|
142
|
+
distinct?: boolean;
|
|
143
|
+
/** Transaction to execute within */
|
|
144
|
+
transaction?: any;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Insert options
|
|
148
|
+
*/
|
|
149
|
+
export interface IInsertOptions {
|
|
150
|
+
/** Table/Collection name */
|
|
151
|
+
table: string;
|
|
152
|
+
/** Environment slug */
|
|
153
|
+
env: string;
|
|
154
|
+
/** Product tag */
|
|
155
|
+
product?: string;
|
|
156
|
+
/** Database tag */
|
|
157
|
+
database?: string;
|
|
158
|
+
/** Data to insert (single record or array) */
|
|
159
|
+
data: Record<string, any> | Record<string, any>[];
|
|
160
|
+
/** Return inserted records */
|
|
161
|
+
returning?: boolean | string[];
|
|
162
|
+
/** Ignore duplicate key errors */
|
|
163
|
+
ignoreErrors?: boolean;
|
|
164
|
+
/** On conflict action (PostgreSQL) */
|
|
165
|
+
onConflict?: {
|
|
166
|
+
/** Columns that define the conflict */
|
|
167
|
+
columns: string[];
|
|
168
|
+
/** Action: 'ignore' or 'update' */
|
|
169
|
+
action: 'ignore' | 'update';
|
|
170
|
+
/** Columns to update (if action is 'update') */
|
|
171
|
+
update?: string[];
|
|
172
|
+
};
|
|
173
|
+
/** Transaction to execute within */
|
|
174
|
+
transaction?: any;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Update options
|
|
178
|
+
*/
|
|
179
|
+
export interface IUpdateOptions {
|
|
180
|
+
/** Table/Collection name */
|
|
181
|
+
table: string;
|
|
182
|
+
/** Environment slug */
|
|
183
|
+
env: string;
|
|
184
|
+
/** Product tag */
|
|
185
|
+
product?: string;
|
|
186
|
+
/** Database tag */
|
|
187
|
+
database?: string;
|
|
188
|
+
/** Data to update */
|
|
189
|
+
data: Record<string, any>;
|
|
190
|
+
/** Where clause */
|
|
191
|
+
where: WhereClause;
|
|
192
|
+
/** Return updated records */
|
|
193
|
+
returning?: boolean | string[];
|
|
194
|
+
/** Limit number of records to update */
|
|
195
|
+
limit?: number;
|
|
196
|
+
/** Transaction to execute within */
|
|
197
|
+
transaction?: any;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Delete options
|
|
201
|
+
*/
|
|
202
|
+
export interface IDeleteOptions {
|
|
203
|
+
/** Table/Collection name */
|
|
204
|
+
table: string;
|
|
205
|
+
/** Environment slug */
|
|
206
|
+
env: string;
|
|
207
|
+
/** Product tag */
|
|
208
|
+
product?: string;
|
|
209
|
+
/** Database tag */
|
|
210
|
+
database?: string;
|
|
211
|
+
/** Where clause */
|
|
212
|
+
where: WhereClause;
|
|
213
|
+
/** Return deleted records */
|
|
214
|
+
returning?: boolean | string[];
|
|
215
|
+
/** Limit number of records to delete */
|
|
216
|
+
limit?: number;
|
|
217
|
+
/** Transaction to execute within */
|
|
218
|
+
transaction?: any;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Upsert options (insert or update)
|
|
222
|
+
*/
|
|
223
|
+
export interface IUpsertOptions {
|
|
224
|
+
/** Table/Collection name */
|
|
225
|
+
table: string;
|
|
226
|
+
/** Environment slug */
|
|
227
|
+
env: string;
|
|
228
|
+
/** Product tag */
|
|
229
|
+
product?: string;
|
|
230
|
+
/** Database tag */
|
|
231
|
+
database?: string;
|
|
232
|
+
/** Data to upsert */
|
|
233
|
+
data: Record<string, any> | Record<string, any>[];
|
|
234
|
+
/** Columns that define uniqueness */
|
|
235
|
+
uniqueColumns: string[];
|
|
236
|
+
/** Columns to update on conflict */
|
|
237
|
+
updateColumns?: string[];
|
|
238
|
+
/** Return upserted records */
|
|
239
|
+
returning?: boolean | string[];
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Transaction execution options
|
|
243
|
+
*/
|
|
244
|
+
export interface ITransactionExecutionOptions {
|
|
245
|
+
/** Environment slug */
|
|
246
|
+
env: string;
|
|
247
|
+
/** Product tag */
|
|
248
|
+
product?: string;
|
|
249
|
+
/** Database tag */
|
|
250
|
+
database?: string;
|
|
251
|
+
/** Isolation level */
|
|
252
|
+
isolationLevel?: 'READ_UNCOMMITTED' | 'READ_COMMITTED' | 'REPEATABLE_READ' | 'SERIALIZABLE';
|
|
253
|
+
/** Read only transaction */
|
|
254
|
+
readOnly?: boolean;
|
|
255
|
+
/** Timeout in milliseconds */
|
|
256
|
+
timeout?: number;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Raw query options
|
|
260
|
+
*/
|
|
261
|
+
export interface IRawQueryOptions {
|
|
262
|
+
/** Environment slug */
|
|
263
|
+
env: string;
|
|
264
|
+
/** Product tag */
|
|
265
|
+
product?: string;
|
|
266
|
+
/** Database tag */
|
|
267
|
+
database?: string;
|
|
268
|
+
/** Raw SQL/query string */
|
|
269
|
+
query: string;
|
|
270
|
+
/** Query parameters */
|
|
271
|
+
params?: any[];
|
|
272
|
+
/** Named parameters */
|
|
273
|
+
namedParams?: Record<string, any>;
|
|
274
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Query type definitions for database operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.JoinType = exports.SortOrder = exports.LogicalOperator = exports.ComparisonOperator = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Comparison operators for where clauses
|
|
9
|
+
*/
|
|
10
|
+
var ComparisonOperator;
|
|
11
|
+
(function (ComparisonOperator) {
|
|
12
|
+
ComparisonOperator["EQUALS"] = "=";
|
|
13
|
+
ComparisonOperator["NOT_EQUALS"] = "!=";
|
|
14
|
+
ComparisonOperator["GREATER_THAN"] = ">";
|
|
15
|
+
ComparisonOperator["GREATER_THAN_OR_EQUAL"] = ">=";
|
|
16
|
+
ComparisonOperator["LESS_THAN"] = "<";
|
|
17
|
+
ComparisonOperator["LESS_THAN_OR_EQUAL"] = "<=";
|
|
18
|
+
ComparisonOperator["LIKE"] = "like";
|
|
19
|
+
ComparisonOperator["NOT_LIKE"] = "not_like";
|
|
20
|
+
ComparisonOperator["IN"] = "in";
|
|
21
|
+
ComparisonOperator["NOT_IN"] = "not_in";
|
|
22
|
+
ComparisonOperator["BETWEEN"] = "between";
|
|
23
|
+
ComparisonOperator["NOT_BETWEEN"] = "not_between";
|
|
24
|
+
ComparisonOperator["IS_NULL"] = "is_null";
|
|
25
|
+
ComparisonOperator["IS_NOT_NULL"] = "is_not_null";
|
|
26
|
+
ComparisonOperator["CONTAINS"] = "contains";
|
|
27
|
+
ComparisonOperator["NOT_CONTAINS"] = "not_contains";
|
|
28
|
+
})(ComparisonOperator || (exports.ComparisonOperator = ComparisonOperator = {}));
|
|
29
|
+
/**
|
|
30
|
+
* Logical operators for combining conditions
|
|
31
|
+
*/
|
|
32
|
+
var LogicalOperator;
|
|
33
|
+
(function (LogicalOperator) {
|
|
34
|
+
LogicalOperator["AND"] = "and";
|
|
35
|
+
LogicalOperator["OR"] = "or";
|
|
36
|
+
LogicalOperator["NOT"] = "not";
|
|
37
|
+
})(LogicalOperator || (exports.LogicalOperator = LogicalOperator = {}));
|
|
38
|
+
/**
|
|
39
|
+
* Sort order
|
|
40
|
+
*/
|
|
41
|
+
var SortOrder;
|
|
42
|
+
(function (SortOrder) {
|
|
43
|
+
SortOrder["ASC"] = "asc";
|
|
44
|
+
SortOrder["DESC"] = "desc";
|
|
45
|
+
})(SortOrder || (exports.SortOrder = SortOrder = {}));
|
|
46
|
+
/**
|
|
47
|
+
* Join type
|
|
48
|
+
*/
|
|
49
|
+
var JoinType;
|
|
50
|
+
(function (JoinType) {
|
|
51
|
+
JoinType["INNER"] = "inner";
|
|
52
|
+
JoinType["LEFT"] = "left";
|
|
53
|
+
JoinType["RIGHT"] = "right";
|
|
54
|
+
JoinType["FULL"] = "full";
|
|
55
|
+
JoinType["CROSS"] = "cross";
|
|
56
|
+
})(JoinType || (exports.JoinType = JoinType = {}));
|
|
57
|
+
//# sourceMappingURL=query.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.types.js","sourceRoot":"","sources":["../../../src/database/types/query.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,IAAY,kBAiBX;AAjBD,WAAY,kBAAkB;IAC5B,kCAAY,CAAA;IACZ,uCAAiB,CAAA;IACjB,wCAAkB,CAAA;IAClB,kDAA4B,CAAA;IAC5B,qCAAe,CAAA;IACf,+CAAyB,CAAA;IACzB,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,+BAAS,CAAA;IACT,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,iDAA2B,CAAA;IAC3B,yCAAmB,CAAA;IACnB,iDAA2B,CAAA;IAC3B,2CAAqB,CAAA;IACrB,mDAA6B,CAAA;AAC/B,CAAC,EAjBW,kBAAkB,kCAAlB,kBAAkB,QAiB7B;AAED;;GAEG;AACH,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,4BAAS,CAAA;IACT,8BAAW,CAAA;AACb,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAED;;GAEG;AACH,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,0BAAa,CAAA;AACf,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AA8CD;;GAEG;AACH,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result type definitions for database operations
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Query result
|
|
6
|
+
*/
|
|
7
|
+
export interface IQueryResult<T = any> {
|
|
8
|
+
/** Result rows/documents */
|
|
9
|
+
data: T[];
|
|
10
|
+
/** Total count (if available) */
|
|
11
|
+
count?: number;
|
|
12
|
+
/** Execution time in milliseconds */
|
|
13
|
+
executionTime?: number;
|
|
14
|
+
/** Database type that executed the query */
|
|
15
|
+
databaseType?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Insert result
|
|
19
|
+
*/
|
|
20
|
+
export interface IInsertResult<T = any> {
|
|
21
|
+
/** Number of rows inserted */
|
|
22
|
+
insertedCount: number;
|
|
23
|
+
/** Inserted row IDs */
|
|
24
|
+
insertedIds?: (string | number)[];
|
|
25
|
+
/** Inserted rows (if returning option was used) */
|
|
26
|
+
data?: T[];
|
|
27
|
+
/** Execution time in milliseconds */
|
|
28
|
+
executionTime?: number;
|
|
29
|
+
/** Success flag */
|
|
30
|
+
success: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Update result
|
|
34
|
+
*/
|
|
35
|
+
export interface IUpdateResult<T = any> {
|
|
36
|
+
/** Number of rows updated */
|
|
37
|
+
updatedCount: number;
|
|
38
|
+
/** Number of rows matched by the where clause */
|
|
39
|
+
matchedCount?: number;
|
|
40
|
+
/** Updated rows (if returning option was used) */
|
|
41
|
+
data?: T[];
|
|
42
|
+
/** Execution time in milliseconds */
|
|
43
|
+
executionTime?: number;
|
|
44
|
+
/** Success flag */
|
|
45
|
+
success: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Delete result
|
|
49
|
+
*/
|
|
50
|
+
export interface IDeleteResult<T = any> {
|
|
51
|
+
/** Number of rows deleted */
|
|
52
|
+
deletedCount: number;
|
|
53
|
+
/** Deleted rows (if returning option was used) */
|
|
54
|
+
data?: T[];
|
|
55
|
+
/** Execution time in milliseconds */
|
|
56
|
+
executionTime?: number;
|
|
57
|
+
/** Success flag */
|
|
58
|
+
success: boolean;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Upsert result
|
|
62
|
+
*/
|
|
63
|
+
export interface IUpsertResult<T = any> {
|
|
64
|
+
/** Number of rows inserted */
|
|
65
|
+
insertedCount: number;
|
|
66
|
+
/** Number of rows updated */
|
|
67
|
+
updatedCount: number;
|
|
68
|
+
/** Total affected rows */
|
|
69
|
+
affectedCount: number;
|
|
70
|
+
/** Upserted rows (if returning option was used) */
|
|
71
|
+
data?: T[];
|
|
72
|
+
/** Execution time in milliseconds */
|
|
73
|
+
executionTime?: number;
|
|
74
|
+
/** Success flag */
|
|
75
|
+
success: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Bulk operation result
|
|
79
|
+
*/
|
|
80
|
+
export interface IBulkOperationResult {
|
|
81
|
+
/** Number of successful operations */
|
|
82
|
+
successCount: number;
|
|
83
|
+
/** Number of failed operations */
|
|
84
|
+
failedCount: number;
|
|
85
|
+
/** Total operations */
|
|
86
|
+
totalCount: number;
|
|
87
|
+
/** Errors (if any) */
|
|
88
|
+
errors?: Array<{
|
|
89
|
+
index: number;
|
|
90
|
+
error: string;
|
|
91
|
+
}>;
|
|
92
|
+
/** Execution time in milliseconds */
|
|
93
|
+
executionTime?: number;
|
|
94
|
+
/** Success flag */
|
|
95
|
+
success: boolean;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Transaction result
|
|
99
|
+
*/
|
|
100
|
+
export interface ITransactionResult {
|
|
101
|
+
/** Transaction ID */
|
|
102
|
+
transactionId?: string;
|
|
103
|
+
/** Operations executed */
|
|
104
|
+
operationsCount: number;
|
|
105
|
+
/** Success flag */
|
|
106
|
+
success: boolean;
|
|
107
|
+
/** Error message (if failed) */
|
|
108
|
+
error?: string;
|
|
109
|
+
/** Execution time in milliseconds */
|
|
110
|
+
executionTime?: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Schema operation result
|
|
114
|
+
*/
|
|
115
|
+
export interface ISchemaOperationResult {
|
|
116
|
+
/** Success flag */
|
|
117
|
+
success: boolean;
|
|
118
|
+
/** Operation type */
|
|
119
|
+
operation: 'create' | 'alter' | 'drop' | 'rename';
|
|
120
|
+
/** Table/Collection name */
|
|
121
|
+
table: string;
|
|
122
|
+
/** Error message (if failed) */
|
|
123
|
+
error?: string;
|
|
124
|
+
/** Migration generated (if applicable) */
|
|
125
|
+
migration?: {
|
|
126
|
+
tag: string;
|
|
127
|
+
name: string;
|
|
128
|
+
};
|
|
129
|
+
/** Execution time in milliseconds */
|
|
130
|
+
executionTime?: number;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Index operation result
|
|
134
|
+
*/
|
|
135
|
+
export interface IIndexOperationResult {
|
|
136
|
+
/** Success flag */
|
|
137
|
+
success: boolean;
|
|
138
|
+
/** Operation type */
|
|
139
|
+
operation: 'create' | 'drop';
|
|
140
|
+
/** Index name */
|
|
141
|
+
indexName: string;
|
|
142
|
+
/** Table name */
|
|
143
|
+
table: string;
|
|
144
|
+
/** Error message (if failed) */
|
|
145
|
+
error?: string;
|
|
146
|
+
/** Execution time in milliseconds */
|
|
147
|
+
executionTime?: number;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Raw query result
|
|
151
|
+
*/
|
|
152
|
+
export interface IRawQueryResult<T = any> {
|
|
153
|
+
/** Result rows/documents */
|
|
154
|
+
rows: T[];
|
|
155
|
+
/** Row count */
|
|
156
|
+
rowCount: number;
|
|
157
|
+
/** Fields/columns info */
|
|
158
|
+
fields?: Array<{
|
|
159
|
+
name: string;
|
|
160
|
+
type: string;
|
|
161
|
+
}>;
|
|
162
|
+
/** Execution time in milliseconds */
|
|
163
|
+
executionTime?: number;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Paginated result
|
|
167
|
+
*/
|
|
168
|
+
export interface IPaginatedResult<T = any> {
|
|
169
|
+
/** Current page data */
|
|
170
|
+
data: T[];
|
|
171
|
+
/** Pagination metadata */
|
|
172
|
+
pagination: {
|
|
173
|
+
/** Current page number */
|
|
174
|
+
page: number;
|
|
175
|
+
/** Page size */
|
|
176
|
+
pageSize: number;
|
|
177
|
+
/** Total records */
|
|
178
|
+
totalRecords: number;
|
|
179
|
+
/** Total pages */
|
|
180
|
+
totalPages: number;
|
|
181
|
+
/** Has next page */
|
|
182
|
+
hasNext: boolean;
|
|
183
|
+
/** Has previous page */
|
|
184
|
+
hasPrevious: boolean;
|
|
185
|
+
};
|
|
186
|
+
/** Execution time in milliseconds */
|
|
187
|
+
executionTime?: number;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Batch operation result item
|
|
191
|
+
*/
|
|
192
|
+
export interface IBatchOperationResultItem {
|
|
193
|
+
/** Operation index */
|
|
194
|
+
index: number;
|
|
195
|
+
/** Success flag */
|
|
196
|
+
success: boolean;
|
|
197
|
+
/** Result data */
|
|
198
|
+
result?: any;
|
|
199
|
+
/** Error (if failed) */
|
|
200
|
+
error?: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Connection test result
|
|
204
|
+
*/
|
|
205
|
+
export interface IConnectionTestResult {
|
|
206
|
+
/** Is connection successful */
|
|
207
|
+
connected: boolean;
|
|
208
|
+
/** Connection message */
|
|
209
|
+
message: string;
|
|
210
|
+
/** Database type */
|
|
211
|
+
databaseType: string;
|
|
212
|
+
/** Database version */
|
|
213
|
+
version?: string;
|
|
214
|
+
/** Response time in milliseconds */
|
|
215
|
+
responseTime: number;
|
|
216
|
+
/** Error (if failed) */
|
|
217
|
+
error?: string;
|
|
218
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.types.js","sourceRoot":"","sources":["../../../src/database/types/result.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|