@orchestr-sh/orchestr 1.0.1 → 1.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.
Files changed (93) 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/index.d.ts +18 -0
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +27 -1
  92. package/dist/index.js.map +1 -1
  93. package/package.json +13 -5
@@ -0,0 +1,41 @@
1
+ /**
2
+ * HasTimestamps Concern
3
+ *
4
+ * Provides timestamp handling functionality for models
5
+ */
6
+ export interface HasTimestamps {
7
+ /**
8
+ * Indicates if the model should be timestamped
9
+ */
10
+ timestamps: boolean;
11
+ /**
12
+ * Update the model's timestamps
13
+ */
14
+ updateTimestamps(): void;
15
+ /**
16
+ * Set the value of the "created at" attribute
17
+ */
18
+ setCreatedAt(value: Date): void;
19
+ /**
20
+ * Set the value of the "updated at" attribute
21
+ */
22
+ setUpdatedAt(value: Date): void;
23
+ /**
24
+ * Get the name of the "created at" column
25
+ */
26
+ getCreatedAtColumn(): string;
27
+ /**
28
+ * Get the name of the "updated at" column
29
+ */
30
+ getUpdatedAtColumn(): string;
31
+ /**
32
+ * Determine if the model uses timestamps
33
+ */
34
+ usesTimestamps(): boolean;
35
+ }
36
+ /**
37
+ * Default timestamp column names
38
+ */
39
+ export declare const CREATED_AT = "created_at";
40
+ export declare const UPDATED_AT = "updated_at";
41
+ //# sourceMappingURL=HasTimestamps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasTimestamps.d.ts","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Concerns/HasTimestamps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAAC;IAE7B;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAAC;IAE7B;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,eAAe,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /**
3
+ * HasTimestamps Concern
4
+ *
5
+ * Provides timestamp handling functionality for models
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.UPDATED_AT = exports.CREATED_AT = void 0;
9
+ /**
10
+ * Default timestamp column names
11
+ */
12
+ exports.CREATED_AT = 'created_at';
13
+ exports.UPDATED_AT = 'updated_at';
14
+ //# sourceMappingURL=HasTimestamps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasTimestamps.js","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Concerns/HasTimestamps.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuCH;;GAEG;AACU,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,UAAU,GAAG,YAAY,CAAC"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Ensemble Class
3
+ *
4
+ * Base class for Ensemble models with ActiveRecord pattern
5
+ * In Orchestr, your data models are called Ensembles - groups that work in harmony
6
+ */
7
+ import { DatabaseManager } from '../DatabaseManager';
8
+ import { Connection } from '../Connection';
9
+ import { EnsembleBuilder } from './EnsembleBuilder';
10
+ export declare abstract class Ensemble {
11
+ /**
12
+ * The connection resolver instance
13
+ */
14
+ protected static connectionResolver: DatabaseManager;
15
+ /**
16
+ * The table associated with the model
17
+ */
18
+ protected table?: string;
19
+ /**
20
+ * The primary key for the model
21
+ */
22
+ protected primaryKey: string;
23
+ /**
24
+ * Indicates if the IDs are auto-incrementing
25
+ */
26
+ protected incrementing: boolean;
27
+ /**
28
+ * The data type of the primary key
29
+ */
30
+ protected keyType: string;
31
+ /**
32
+ * The attributes that are mass assignable
33
+ */
34
+ protected fillable: string[];
35
+ /**
36
+ * The attributes that aren't mass assignable
37
+ */
38
+ protected guarded: string[];
39
+ /**
40
+ * The attributes that should be hidden for serialization
41
+ */
42
+ protected hidden: string[];
43
+ /**
44
+ * The attributes that should be visible for serialization
45
+ */
46
+ protected visible: string[];
47
+ /**
48
+ * The accessors to append to the model's array form
49
+ */
50
+ protected appends: string[];
51
+ /**
52
+ * The attributes that should be cast
53
+ */
54
+ protected casts: Record<string, string>;
55
+ /**
56
+ * Indicates if the model should be timestamped
57
+ */
58
+ protected timestamps: boolean;
59
+ /**
60
+ * The name of the "created at" column
61
+ */
62
+ protected static CREATED_AT: string;
63
+ /**
64
+ * The name of the "updated at" column
65
+ */
66
+ protected static UPDATED_AT: string;
67
+ /**
68
+ * The name of the "deleted at" column (for soft deletes)
69
+ */
70
+ protected static DELETED_AT: string;
71
+ /**
72
+ * The model's attributes
73
+ */
74
+ protected attributes: Record<string, any>;
75
+ /**
76
+ * The model's original attributes
77
+ */
78
+ protected original: Record<string, any>;
79
+ /**
80
+ * Indicates if the model exists in the database
81
+ */
82
+ exists: boolean;
83
+ /**
84
+ * Indicates if the model was inserted during this request
85
+ */
86
+ wasRecentlyCreated: boolean;
87
+ /**
88
+ * The connection name for the model
89
+ */
90
+ protected connection?: string;
91
+ /**
92
+ * Create a new Eloquent model instance
93
+ */
94
+ constructor(attributes?: Record<string, any>);
95
+ /**
96
+ * Fill the model with an array of attributes
97
+ */
98
+ fill(attributes: Record<string, any>): this;
99
+ /**
100
+ * Set a given attribute on the model
101
+ */
102
+ setAttribute(key: string, value: any): this;
103
+ /**
104
+ * Get an attribute from the model
105
+ */
106
+ getAttribute(key: string): any;
107
+ /**
108
+ * Determine if the given attribute may be mass assigned
109
+ */
110
+ protected isFillable(key: string): boolean;
111
+ /**
112
+ * Determine if a get mutator exists for an attribute
113
+ */
114
+ protected hasGetMutator(key: string): boolean;
115
+ /**
116
+ * Determine if a set mutator exists for an attribute
117
+ */
118
+ protected hasSetMutator(key: string): boolean;
119
+ /**
120
+ * Determine if a cast is defined for an attribute
121
+ */
122
+ protected hasCast(key: string): boolean;
123
+ /**
124
+ * Cast an attribute to a native PHP type
125
+ */
126
+ protected castAttribute(key: string, value: any): any;
127
+ /**
128
+ * Convert the model to a plain object
129
+ */
130
+ toObject(): Record<string, any>;
131
+ /**
132
+ * Convert the model to JSON
133
+ */
134
+ toJSON(): Record<string, any>;
135
+ /**
136
+ * Determine if an attribute is visible
137
+ */
138
+ protected isVisible(key: string): boolean;
139
+ /**
140
+ * Get the table associated with the model
141
+ */
142
+ getTable(): string;
143
+ /**
144
+ * Get the primary key for the model
145
+ */
146
+ getKeyName(): string;
147
+ /**
148
+ * Get the value of the model's primary key
149
+ */
150
+ getKey(): any;
151
+ /**
152
+ * Set the connection resolver instance
153
+ */
154
+ static setConnectionResolver(resolver: DatabaseManager): void;
155
+ /**
156
+ * Get the database connection for the model
157
+ */
158
+ getConnection(): Connection;
159
+ /**
160
+ * Begin querying the model
161
+ */
162
+ static query<T extends Ensemble>(this: {
163
+ new (): T;
164
+ }): EnsembleBuilder<T>;
165
+ /**
166
+ * Get all of the models from the database
167
+ */
168
+ static all<T extends Ensemble>(this: {
169
+ new (): T;
170
+ }, columns?: string[]): Promise<T[]>;
171
+ /**
172
+ * Find a model by its primary key
173
+ */
174
+ static find<T extends Ensemble>(this: {
175
+ new (): T;
176
+ }, id: any, columns?: string[]): Promise<T | null>;
177
+ /**
178
+ * Find a model by its primary key or throw an exception
179
+ */
180
+ static findOrFail<T extends Ensemble>(this: {
181
+ new (): T;
182
+ }, id: any, columns?: string[]): Promise<T>;
183
+ /**
184
+ * Find multiple models by their primary keys
185
+ */
186
+ static findMany<T extends Ensemble>(this: {
187
+ new (): T;
188
+ }, ids: any[], columns?: string[]): Promise<T[]>;
189
+ /**
190
+ * Create a new instance and save it to the database
191
+ */
192
+ static create<T extends Ensemble>(this: {
193
+ new (attrs?: Record<string, any>): T;
194
+ }, attributes: Record<string, any>): Promise<T>;
195
+ /**
196
+ * Update or create a model matching the attributes
197
+ */
198
+ static updateOrCreate<T extends Ensemble>(this: {
199
+ new (): T;
200
+ }, attributes: Record<string, any>, values?: Record<string, any>): Promise<T>;
201
+ /**
202
+ * Save the model to the database
203
+ */
204
+ save(): Promise<boolean>;
205
+ /**
206
+ * Perform a model insert operation
207
+ */
208
+ protected performInsert(): Promise<boolean>;
209
+ /**
210
+ * Perform a model update operation
211
+ */
212
+ protected performUpdate(): Promise<boolean>;
213
+ /**
214
+ * Update the model's timestamps
215
+ */
216
+ protected updateTimestamps(): void;
217
+ /**
218
+ * Get the attributes that have been changed
219
+ */
220
+ getDirty(): Record<string, any>;
221
+ /**
222
+ * Determine if the given attribute has been changed
223
+ */
224
+ isDirty(attribute?: string): boolean;
225
+ /**
226
+ * Determine if the original value is equivalent to the current value
227
+ */
228
+ protected originalIsEquivalent(key: string, current: any): boolean;
229
+ /**
230
+ * Determine if the given attribute is a date or date castable
231
+ */
232
+ protected isDateAttribute(key: string): boolean;
233
+ /**
234
+ * Compare two dates
235
+ */
236
+ protected compareDates(current: any, original: any): boolean;
237
+ /**
238
+ * Get the attributes for insert
239
+ */
240
+ protected getAttributesForInsert(): Record<string, any>;
241
+ /**
242
+ * Sync the original attributes with the current
243
+ */
244
+ protected syncOriginal(): this;
245
+ /**
246
+ * Delete the model from the database
247
+ */
248
+ delete(): Promise<boolean>;
249
+ /**
250
+ * Reload the current model instance from the database
251
+ */
252
+ refresh(): Promise<this>;
253
+ /**
254
+ * Convert a string to studly case
255
+ */
256
+ protected studly(value: string): string;
257
+ /**
258
+ * Convert a string to snake case
259
+ */
260
+ protected snake(value: string): string;
261
+ /**
262
+ * Pluralize a string (simple implementation)
263
+ */
264
+ protected pluralize(value: string): string;
265
+ }
266
+ //# sourceMappingURL=Ensemble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ensemble.d.ts","sourceRoot":"","sources":["../../../src/Database/Ensemble/Ensemble.ts"],"names":[],"mappings":"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"}