@orchestr-sh/orchestr 1.0.1 → 1.1.1

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.
Files changed (96) hide show
  1. package/dist/Database/Adapters/DrizzleAdapter.d.ts +119 -0
  2. package/dist/Database/Adapters/DrizzleAdapter.d.ts.map +1 -0
  3. package/dist/Database/Adapters/DrizzleAdapter.js +384 -0
  4. package/dist/Database/Adapters/DrizzleAdapter.js.map +1 -0
  5. package/dist/Database/Connection.d.ts +103 -0
  6. package/dist/Database/Connection.d.ts.map +1 -0
  7. package/dist/Database/Connection.js +164 -0
  8. package/dist/Database/Connection.js.map +1 -0
  9. package/dist/Database/Contracts/DatabaseAdapter.d.ts +85 -0
  10. package/dist/Database/Contracts/DatabaseAdapter.d.ts.map +1 -0
  11. package/dist/Database/Contracts/DatabaseAdapter.js +9 -0
  12. package/dist/Database/Contracts/DatabaseAdapter.js.map +1 -0
  13. package/dist/Database/Contracts/QueryBuilderInterface.d.ts +196 -0
  14. package/dist/Database/Contracts/QueryBuilderInterface.d.ts.map +1 -0
  15. package/dist/Database/Contracts/QueryBuilderInterface.js +8 -0
  16. package/dist/Database/Contracts/QueryBuilderInterface.js.map +1 -0
  17. package/dist/Database/Contracts/Schema.d.ts +234 -0
  18. package/dist/Database/Contracts/Schema.d.ts.map +1 -0
  19. package/dist/Database/Contracts/Schema.js +8 -0
  20. package/dist/Database/Contracts/Schema.js.map +1 -0
  21. package/dist/Database/DatabaseManager.d.ts +61 -0
  22. package/dist/Database/DatabaseManager.d.ts.map +1 -0
  23. package/dist/Database/DatabaseManager.js +102 -0
  24. package/dist/Database/DatabaseManager.js.map +1 -0
  25. package/dist/Database/DatabaseServiceProvider.d.ts +17 -0
  26. package/dist/Database/DatabaseServiceProvider.d.ts.map +1 -0
  27. package/dist/Database/DatabaseServiceProvider.js +44 -0
  28. package/dist/Database/DatabaseServiceProvider.js.map +1 -0
  29. package/dist/Database/Eloquent/Builder.d.ts +76 -0
  30. package/dist/Database/Eloquent/Builder.d.ts.map +1 -0
  31. package/dist/Database/Eloquent/Builder.js +154 -0
  32. package/dist/Database/Eloquent/Builder.js.map +1 -0
  33. package/dist/Database/Eloquent/Collection.d.ts +137 -0
  34. package/dist/Database/Eloquent/Collection.d.ts.map +1 -0
  35. package/dist/Database/Eloquent/Collection.js +284 -0
  36. package/dist/Database/Eloquent/Collection.js.map +1 -0
  37. package/dist/Database/Eloquent/Concerns/HasAttributes.d.ts +44 -0
  38. package/dist/Database/Eloquent/Concerns/HasAttributes.d.ts.map +1 -0
  39. package/dist/Database/Eloquent/Concerns/HasAttributes.js +8 -0
  40. package/dist/Database/Eloquent/Concerns/HasAttributes.js.map +1 -0
  41. package/dist/Database/Eloquent/Concerns/HasTimestamps.d.ts +41 -0
  42. package/dist/Database/Eloquent/Concerns/HasTimestamps.d.ts.map +1 -0
  43. package/dist/Database/Eloquent/Concerns/HasTimestamps.js +14 -0
  44. package/dist/Database/Eloquent/Concerns/HasTimestamps.js.map +1 -0
  45. package/dist/Database/Eloquent/Model.d.ts +265 -0
  46. package/dist/Database/Eloquent/Model.d.ts.map +1 -0
  47. package/dist/Database/Eloquent/Model.js +523 -0
  48. package/dist/Database/Eloquent/Model.js.map +1 -0
  49. package/dist/Database/Eloquent/SoftDeletes.d.ts +41 -0
  50. package/dist/Database/Eloquent/SoftDeletes.d.ts.map +1 -0
  51. package/dist/Database/Eloquent/SoftDeletes.js +22 -0
  52. package/dist/Database/Eloquent/SoftDeletes.js.map +1 -0
  53. package/dist/Database/Ensemble/Concerns/HasAttributes.d.ts +44 -0
  54. package/dist/Database/Ensemble/Concerns/HasAttributes.d.ts.map +1 -0
  55. package/dist/Database/Ensemble/Concerns/HasAttributes.js +8 -0
  56. package/dist/Database/Ensemble/Concerns/HasAttributes.js.map +1 -0
  57. package/dist/Database/Ensemble/Concerns/HasTimestamps.d.ts +41 -0
  58. package/dist/Database/Ensemble/Concerns/HasTimestamps.d.ts.map +1 -0
  59. package/dist/Database/Ensemble/Concerns/HasTimestamps.js +14 -0
  60. package/dist/Database/Ensemble/Concerns/HasTimestamps.js.map +1 -0
  61. package/dist/Database/Ensemble/Ensemble.d.ts +266 -0
  62. package/dist/Database/Ensemble/Ensemble.d.ts.map +1 -0
  63. package/dist/Database/Ensemble/Ensemble.js +524 -0
  64. package/dist/Database/Ensemble/Ensemble.js.map +1 -0
  65. package/dist/Database/Ensemble/EnsembleBuilder.d.ts +76 -0
  66. package/dist/Database/Ensemble/EnsembleBuilder.d.ts.map +1 -0
  67. package/dist/Database/Ensemble/EnsembleBuilder.js +154 -0
  68. package/dist/Database/Ensemble/EnsembleBuilder.js.map +1 -0
  69. package/dist/Database/Ensemble/EnsembleCollection.d.ts +137 -0
  70. package/dist/Database/Ensemble/EnsembleCollection.d.ts.map +1 -0
  71. package/dist/Database/Ensemble/EnsembleCollection.js +284 -0
  72. package/dist/Database/Ensemble/EnsembleCollection.js.map +1 -0
  73. package/dist/Database/Ensemble/SoftDeletes.d.ts +41 -0
  74. package/dist/Database/Ensemble/SoftDeletes.d.ts.map +1 -0
  75. package/dist/Database/Ensemble/SoftDeletes.js +22 -0
  76. package/dist/Database/Ensemble/SoftDeletes.js.map +1 -0
  77. package/dist/Database/Query/Builder.d.ts +219 -0
  78. package/dist/Database/Query/Builder.d.ts.map +1 -0
  79. package/dist/Database/Query/Builder.js +554 -0
  80. package/dist/Database/Query/Builder.js.map +1 -0
  81. package/dist/Database/Query/Expression.d.ts +22 -0
  82. package/dist/Database/Query/Expression.d.ts.map +1 -0
  83. package/dist/Database/Query/Expression.js +35 -0
  84. package/dist/Database/Query/Expression.js.map +1 -0
  85. package/dist/Facades/DB.d.ts +7 -0
  86. package/dist/Facades/DB.d.ts.map +1 -0
  87. package/dist/Facades/DB.js +42 -0
  88. package/dist/Facades/DB.js.map +1 -0
  89. package/dist/Facades/Route.d.ts +1 -1
  90. package/dist/Facades/Route.d.ts.map +1 -1
  91. package/dist/Facades/Route.js.map +1 -1
  92. package/dist/index.d.ts +18 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +27 -1
  95. package/dist/index.js.map +1 -1
  96. package/package.json +13 -5
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ /**
3
+ * Connection Class
4
+ *
5
+ * Represents a database connection
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Connection = void 0;
9
+ const Builder_1 = require("./Query/Builder");
10
+ class Connection {
11
+ adapter;
12
+ config;
13
+ queryLog = [];
14
+ loggingEnabled = false;
15
+ constructor(adapter, config) {
16
+ this.adapter = adapter;
17
+ this.config = config;
18
+ }
19
+ /**
20
+ * Get a query builder instance
21
+ */
22
+ table(tableName) {
23
+ return new Builder_1.Builder(this.adapter).from(tableName);
24
+ }
25
+ /**
26
+ * Execute a raw SQL query
27
+ */
28
+ async query(sql, bindings = []) {
29
+ return this.runQueryWithLogging(sql, bindings, () => this.adapter.query(sql, bindings));
30
+ }
31
+ /**
32
+ * Execute a SELECT query
33
+ */
34
+ async select(sql, bindings = []) {
35
+ return this.runQueryWithLogging(sql, bindings, () => this.adapter.select(sql, bindings));
36
+ }
37
+ /**
38
+ * Execute an INSERT query
39
+ */
40
+ async insert(sql, bindings = []) {
41
+ return this.runQueryWithLogging(sql, bindings, () => this.adapter.insert(sql, bindings));
42
+ }
43
+ /**
44
+ * Execute an UPDATE query
45
+ */
46
+ async update(sql, bindings = []) {
47
+ return this.runQueryWithLogging(sql, bindings, () => this.adapter.update(sql, bindings));
48
+ }
49
+ /**
50
+ * Execute a DELETE query
51
+ */
52
+ async delete(sql, bindings = []) {
53
+ return this.runQueryWithLogging(sql, bindings, () => this.adapter.delete(sql, bindings));
54
+ }
55
+ /**
56
+ * Begin a transaction
57
+ */
58
+ async beginTransaction() {
59
+ await this.adapter.beginTransaction();
60
+ }
61
+ /**
62
+ * Commit a transaction
63
+ */
64
+ async commit() {
65
+ await this.adapter.commit();
66
+ }
67
+ /**
68
+ * Rollback a transaction
69
+ */
70
+ async rollback() {
71
+ await this.adapter.rollback();
72
+ }
73
+ /**
74
+ * Execute a callback within a transaction
75
+ */
76
+ async transaction(callback) {
77
+ await this.beginTransaction();
78
+ try {
79
+ const result = await callback(this);
80
+ await this.commit();
81
+ return result;
82
+ }
83
+ catch (error) {
84
+ await this.rollback();
85
+ throw error;
86
+ }
87
+ }
88
+ /**
89
+ * Connect to the database
90
+ */
91
+ async connect() {
92
+ await this.adapter.connect();
93
+ }
94
+ /**
95
+ * Disconnect from the database
96
+ */
97
+ async disconnect() {
98
+ await this.adapter.disconnect();
99
+ }
100
+ /**
101
+ * Check if connected
102
+ */
103
+ isConnected() {
104
+ return this.adapter.isConnected();
105
+ }
106
+ /**
107
+ * Get the underlying adapter
108
+ */
109
+ getAdapter() {
110
+ return this.adapter;
111
+ }
112
+ /**
113
+ * Get the configuration
114
+ */
115
+ getConfig() {
116
+ return this.config;
117
+ }
118
+ /**
119
+ * Enable query logging
120
+ */
121
+ enableQueryLog() {
122
+ this.loggingEnabled = true;
123
+ }
124
+ /**
125
+ * Disable query logging
126
+ */
127
+ disableQueryLog() {
128
+ this.loggingEnabled = false;
129
+ }
130
+ /**
131
+ * Get the query log
132
+ */
133
+ getQueryLog() {
134
+ return this.queryLog;
135
+ }
136
+ /**
137
+ * Clear the query log
138
+ */
139
+ flushQueryLog() {
140
+ this.queryLog = [];
141
+ }
142
+ /**
143
+ * Run a query with logging
144
+ */
145
+ async runQueryWithLogging(query, bindings, callback) {
146
+ if (!this.loggingEnabled) {
147
+ return callback();
148
+ }
149
+ const start = Date.now();
150
+ try {
151
+ const result = await callback();
152
+ const time = Date.now() - start;
153
+ this.queryLog.push({ query, bindings, time });
154
+ return result;
155
+ }
156
+ catch (error) {
157
+ const time = Date.now() - start;
158
+ this.queryLog.push({ query, bindings, time });
159
+ throw error;
160
+ }
161
+ }
162
+ }
163
+ exports.Connection = Connection;
164
+ //# sourceMappingURL=Connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../src/Database/Connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * DatabaseAdapter Interface
3
+ *
4
+ * Defines the contract that all ORM adapters must implement.
5
+ * This allows Orchestr to work with different ORMs (Drizzle, Prisma, TypeORM, etc.)
6
+ */
7
+ export interface DatabaseConfig {
8
+ driver: string;
9
+ host?: string;
10
+ port?: number;
11
+ database: string;
12
+ username?: string;
13
+ password?: string;
14
+ poolMin?: number;
15
+ poolMax?: number;
16
+ [key: string]: any;
17
+ }
18
+ export interface QueryResult<T = any> {
19
+ rows: T[];
20
+ rowCount: number;
21
+ fields?: any[];
22
+ }
23
+ export interface DatabaseAdapter {
24
+ /**
25
+ * Connect to the database
26
+ */
27
+ connect(): Promise<void>;
28
+ /**
29
+ * Disconnect from the database
30
+ */
31
+ disconnect(): Promise<void>;
32
+ /**
33
+ * Execute a raw SQL query
34
+ */
35
+ query<T = any>(sql: string, bindings?: any[]): Promise<QueryResult<T>>;
36
+ /**
37
+ * Execute a SELECT query
38
+ */
39
+ select<T = any>(sql: string, bindings?: any[]): Promise<T[]>;
40
+ /**
41
+ * Execute an INSERT query
42
+ */
43
+ insert(sql: string, bindings?: any[]): Promise<any>;
44
+ /**
45
+ * Execute an UPDATE query
46
+ */
47
+ update(sql: string, bindings?: any[]): Promise<number>;
48
+ /**
49
+ * Execute a DELETE query
50
+ */
51
+ delete(sql: string, bindings?: any[]): Promise<number>;
52
+ /**
53
+ * Begin a transaction
54
+ */
55
+ beginTransaction(): Promise<void>;
56
+ /**
57
+ * Commit a transaction
58
+ */
59
+ commit(): Promise<void>;
60
+ /**
61
+ * Rollback a transaction
62
+ */
63
+ rollback(): Promise<void>;
64
+ /**
65
+ * Execute a callback within a transaction
66
+ */
67
+ transaction<T>(callback: (adapter: DatabaseAdapter) => Promise<T>): Promise<T>;
68
+ /**
69
+ * Check if adapter is connected
70
+ */
71
+ isConnected(): boolean;
72
+ /**
73
+ * Get the underlying driver instance
74
+ */
75
+ getDriver(): any;
76
+ /**
77
+ * Get table information
78
+ */
79
+ getTableInfo(tableName: string): Promise<any>;
80
+ /**
81
+ * Get all table names
82
+ */
83
+ getTables(): Promise<string[]>;
84
+ }
85
+ //# sourceMappingURL=DatabaseAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/Database/Contracts/DatabaseAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE;;OAEG;IACH,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAE7D;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/E;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;IAEvB;;OAEG;IACH,SAAS,IAAI,GAAG,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9C;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAChC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * DatabaseAdapter Interface
4
+ *
5
+ * Defines the contract that all ORM adapters must implement.
6
+ * This allows Orchestr to work with different ORMs (Drizzle, Prisma, TypeORM, etc.)
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=DatabaseAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseAdapter.js","sourceRoot":"","sources":["../../../src/Database/Contracts/DatabaseAdapter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * QueryBuilder Interface
3
+ *
4
+ * Defines the contract for query builders
5
+ */
6
+ export type WhereOperator = '=' | '!=' | '<>' | '>' | '>=' | '<' | '<=' | 'like' | 'not like' | 'in' | 'not in' | 'between' | 'not between';
7
+ export type OrderDirection = 'asc' | 'desc';
8
+ export type JoinType = 'inner' | 'left' | 'right' | 'cross';
9
+ export interface WhereClause {
10
+ column: string;
11
+ operator: WhereOperator | string;
12
+ value: any;
13
+ boolean: 'and' | 'or';
14
+ }
15
+ export interface JoinClause {
16
+ type: JoinType;
17
+ table: string;
18
+ first: string;
19
+ operator?: string;
20
+ second?: string;
21
+ }
22
+ export interface OrderByClause {
23
+ column: string;
24
+ direction: OrderDirection;
25
+ }
26
+ export interface QueryBuilderInterface<T = any> {
27
+ /**
28
+ * Set the columns to be selected
29
+ */
30
+ select(...columns: string[]): this;
31
+ /**
32
+ * Add a raw select expression
33
+ */
34
+ selectRaw(sql: string, bindings?: any[]): this;
35
+ /**
36
+ * Force the query to only return distinct results
37
+ */
38
+ distinct(): this;
39
+ /**
40
+ * Set the table which the query is targeting
41
+ */
42
+ from(table: string): this;
43
+ /**
44
+ * Add a basic where clause
45
+ */
46
+ where(column: string, operator?: WhereOperator | any, value?: any): this;
47
+ /**
48
+ * Add an "or where" clause
49
+ */
50
+ orWhere(column: string, operator?: WhereOperator | any, value?: any): this;
51
+ /**
52
+ * Add a where in clause
53
+ */
54
+ whereIn(column: string, values: any[]): this;
55
+ /**
56
+ * Add a where not in clause
57
+ */
58
+ whereNotIn(column: string, values: any[]): this;
59
+ /**
60
+ * Add a where null clause
61
+ */
62
+ whereNull(column: string): this;
63
+ /**
64
+ * Add a where not null clause
65
+ */
66
+ whereNotNull(column: string): this;
67
+ /**
68
+ * Add a where between clause
69
+ */
70
+ whereBetween(column: string, values: [any, any]): this;
71
+ /**
72
+ * Add a raw where clause
73
+ */
74
+ whereRaw(sql: string, bindings?: any[]): this;
75
+ /**
76
+ * Add a join clause
77
+ */
78
+ join(table: string, first: string, operator?: string, second?: string): this;
79
+ /**
80
+ * Add a left join clause
81
+ */
82
+ leftJoin(table: string, first: string, operator?: string, second?: string): this;
83
+ /**
84
+ * Add a right join clause
85
+ */
86
+ rightJoin(table: string, first: string, operator?: string, second?: string): this;
87
+ /**
88
+ * Add an order by clause
89
+ */
90
+ orderBy(column: string, direction?: OrderDirection): this;
91
+ /**
92
+ * Order by latest (descending created_at)
93
+ */
94
+ latest(column?: string): this;
95
+ /**
96
+ * Order by oldest (ascending created_at)
97
+ */
98
+ oldest(column?: string): this;
99
+ /**
100
+ * Add a group by clause
101
+ */
102
+ groupBy(...columns: string[]): this;
103
+ /**
104
+ * Add a having clause
105
+ */
106
+ having(column: string, operator?: string, value?: any): this;
107
+ /**
108
+ * Set the limit
109
+ */
110
+ limit(value: number): this;
111
+ /**
112
+ * Alias for limit
113
+ */
114
+ take(value: number): this;
115
+ /**
116
+ * Set the offset
117
+ */
118
+ offset(value: number): this;
119
+ /**
120
+ * Alias for offset
121
+ */
122
+ skip(value: number): this;
123
+ /**
124
+ * Get all records
125
+ */
126
+ get(): Promise<T[]>;
127
+ /**
128
+ * Get the first record
129
+ */
130
+ first(): Promise<T | null>;
131
+ /**
132
+ * Find a record by ID
133
+ */
134
+ find(id: any): Promise<T | null>;
135
+ /**
136
+ * Get a single column's value
137
+ */
138
+ value(column: string): Promise<any>;
139
+ /**
140
+ * Get an array of column values
141
+ */
142
+ pluck(column: string): Promise<any[]>;
143
+ /**
144
+ * Determine if any rows exist
145
+ */
146
+ exists(): Promise<boolean>;
147
+ /**
148
+ * Get the count of records
149
+ */
150
+ count(column?: string): Promise<number>;
151
+ /**
152
+ * Get the maximum value of a column
153
+ */
154
+ max(column: string): Promise<number | null>;
155
+ /**
156
+ * Get the minimum value of a column
157
+ */
158
+ min(column: string): Promise<number | null>;
159
+ /**
160
+ * Get the average value of a column
161
+ */
162
+ avg(column: string): Promise<number | null>;
163
+ /**
164
+ * Get the sum of a column's values
165
+ */
166
+ sum(column: string): Promise<number>;
167
+ /**
168
+ * Insert a new record
169
+ */
170
+ insert(values: Record<string, any> | Record<string, any>[]): Promise<boolean>;
171
+ /**
172
+ * Insert a new record and get the ID
173
+ */
174
+ insertGetId(values: Record<string, any>, sequence?: string): Promise<any>;
175
+ /**
176
+ * Update records
177
+ */
178
+ update(values: Record<string, any>): Promise<number>;
179
+ /**
180
+ * Delete records
181
+ */
182
+ delete(): Promise<number>;
183
+ /**
184
+ * Truncate the table
185
+ */
186
+ truncate(): Promise<void>;
187
+ /**
188
+ * Get the SQL query string
189
+ */
190
+ toSql(): string;
191
+ /**
192
+ * Get the bindings for the query
193
+ */
194
+ getBindings(): any[];
195
+ }
196
+ //# sourceMappingURL=QueryBuilderInterface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderInterface.d.ts","sourceRoot":"","sources":["../../../src/Database/Contracts/QueryBuilderInterface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * QueryBuilder Interface
4
+ *
5
+ * Defines the contract for query builders
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=QueryBuilderInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderInterface.js","sourceRoot":"","sources":["../../../src/Database/Contracts/QueryBuilderInterface.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}