@orchestr-sh/orchestr 1.2.0 → 1.3.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 +67 -4
- package/dist/Routing/Route.d.ts +1 -1
- package/dist/Routing/Route.d.ts.map +1 -1
- package/dist/Routing/Router.d.ts +5 -0
- package/dist/Routing/Router.d.ts.map +1 -1
- package/dist/Routing/Router.js +19 -0
- package/dist/Routing/Router.js.map +1 -1
- package/dist/Support/Injectable.d.ts +21 -0
- package/dist/Support/Injectable.d.ts.map +1 -0
- package/dist/Support/Injectable.js +30 -0
- package/dist/Support/Injectable.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/Database/Eloquent/Builder.d.ts +0 -76
- package/dist/Database/Eloquent/Builder.d.ts.map +0 -1
- package/dist/Database/Eloquent/Builder.js +0 -154
- package/dist/Database/Eloquent/Builder.js.map +0 -1
- package/dist/Database/Eloquent/Collection.d.ts +0 -137
- package/dist/Database/Eloquent/Collection.d.ts.map +0 -1
- package/dist/Database/Eloquent/Collection.js +0 -284
- package/dist/Database/Eloquent/Collection.js.map +0 -1
- package/dist/Database/Eloquent/Concerns/HasAttributes.d.ts +0 -44
- package/dist/Database/Eloquent/Concerns/HasAttributes.d.ts.map +0 -1
- package/dist/Database/Eloquent/Concerns/HasAttributes.js +0 -8
- package/dist/Database/Eloquent/Concerns/HasAttributes.js.map +0 -1
- package/dist/Database/Eloquent/Concerns/HasTimestamps.d.ts +0 -41
- package/dist/Database/Eloquent/Concerns/HasTimestamps.d.ts.map +0 -1
- package/dist/Database/Eloquent/Concerns/HasTimestamps.js +0 -14
- package/dist/Database/Eloquent/Concerns/HasTimestamps.js.map +0 -1
- package/dist/Database/Eloquent/Model.d.ts +0 -265
- package/dist/Database/Eloquent/Model.d.ts.map +0 -1
- package/dist/Database/Eloquent/Model.js +0 -523
- package/dist/Database/Eloquent/Model.js.map +0 -1
- package/dist/Database/Eloquent/SoftDeletes.d.ts +0 -41
- package/dist/Database/Eloquent/SoftDeletes.d.ts.map +0 -1
- package/dist/Database/Eloquent/SoftDeletes.js +0 -22
- package/dist/Database/Eloquent/SoftDeletes.js.map +0 -1
package/README.md
CHANGED
|
@@ -26,6 +26,11 @@ npm install @orchestr-sh/orchestr reflect-metadata
|
|
|
26
26
|
|
|
27
27
|
**Note**: `reflect-metadata` is required for dependency injection to work.
|
|
28
28
|
|
|
29
|
+
## Documentation
|
|
30
|
+
|
|
31
|
+
- **[Dependency Injection Guide](./DEPENDENCY_INJECTION.md)** - Complete guide to using DI with troubleshooting
|
|
32
|
+
- **[DI Example](./examples/dependency-injection/)** - Working example with services and controllers
|
|
33
|
+
|
|
29
34
|
## Quick Start
|
|
30
35
|
|
|
31
36
|
```typescript
|
|
@@ -78,6 +83,45 @@ app.singleton('Database', () => new Database());
|
|
|
78
83
|
const userService = app.make('UserService');
|
|
79
84
|
```
|
|
80
85
|
|
|
86
|
+
### Dependency Injection
|
|
87
|
+
|
|
88
|
+
Orchestr supports automatic constructor-based dependency injection using TypeScript's reflection:
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import { Injectable, Controller, Request, Response } from 'orchestr';
|
|
92
|
+
|
|
93
|
+
// Define a service
|
|
94
|
+
export class UserService {
|
|
95
|
+
getUsers() {
|
|
96
|
+
return [{ id: 1, name: 'John' }];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Use @Injectable() decorator to enable DI
|
|
101
|
+
@Injectable()
|
|
102
|
+
export class UserController extends Controller {
|
|
103
|
+
// Dependencies are automatically injected
|
|
104
|
+
constructor(private userService: UserService) {
|
|
105
|
+
super();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
async index(req: Request, res: Response) {
|
|
109
|
+
const users = this.userService.getUsers();
|
|
110
|
+
return res.json({ users });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Register the service in a provider
|
|
115
|
+
class AppServiceProvider extends ServiceProvider {
|
|
116
|
+
register(): void {
|
|
117
|
+
// Bind the service to the container
|
|
118
|
+
this.app.singleton(UserService, () => new UserService());
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Important**: The `@Injectable()` decorator is required for dependency injection to work. It triggers TypeScript to emit metadata about constructor parameters.
|
|
124
|
+
|
|
81
125
|
### Service Providers
|
|
82
126
|
|
|
83
127
|
Organize service registration and bootstrapping:
|
|
@@ -211,17 +255,28 @@ Route.get('/profile', handler).addMiddleware(authMiddleware);
|
|
|
211
255
|
|
|
212
256
|
### Controllers
|
|
213
257
|
|
|
214
|
-
MVC pattern with base controller:
|
|
258
|
+
MVC pattern with base controller and dependency injection:
|
|
215
259
|
|
|
216
260
|
```typescript
|
|
261
|
+
import { Injectable, Controller, Request, Response, Route } from 'orchestr';
|
|
262
|
+
|
|
263
|
+
// Use @Injectable() when injecting dependencies
|
|
264
|
+
@Injectable()
|
|
217
265
|
class UserController extends Controller {
|
|
266
|
+
// Services are automatically injected
|
|
267
|
+
constructor(private userService: UserService) {
|
|
268
|
+
super();
|
|
269
|
+
}
|
|
270
|
+
|
|
218
271
|
async index(req: Request, res: Response) {
|
|
219
|
-
|
|
272
|
+
const users = await this.userService.getAll();
|
|
273
|
+
return res.json({ users });
|
|
220
274
|
}
|
|
221
275
|
|
|
222
276
|
async show(req: Request, res: Response) {
|
|
223
277
|
const id = req.routeParam('id');
|
|
224
|
-
|
|
278
|
+
const user = await this.userService.findById(id);
|
|
279
|
+
return res.json({ user });
|
|
225
280
|
}
|
|
226
281
|
|
|
227
282
|
async store(req: Request, res: Response) {
|
|
@@ -229,11 +284,19 @@ class UserController extends Controller {
|
|
|
229
284
|
name: 'required',
|
|
230
285
|
email: 'required|email',
|
|
231
286
|
});
|
|
232
|
-
|
|
287
|
+
const user = await this.userService.create(validated);
|
|
288
|
+
return res.status(201).json({ user });
|
|
233
289
|
}
|
|
234
290
|
}
|
|
291
|
+
|
|
292
|
+
// Register controller routes
|
|
293
|
+
Route.get('/users', [UserController, 'index']);
|
|
294
|
+
Route.get('/users/:id', [UserController, 'show']);
|
|
295
|
+
Route.post('/users', [UserController, 'store']);
|
|
235
296
|
```
|
|
236
297
|
|
|
298
|
+
**Note**: The `@Injectable()` decorator must be used on any class that needs constructor dependency injection. Without it, TypeScript won't emit the metadata needed for automatic resolution.
|
|
299
|
+
|
|
237
300
|
### Request
|
|
238
301
|
|
|
239
302
|
Powerful request helper methods:
|
package/dist/Routing/Route.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Request } from './Request';
|
|
2
2
|
import { Response } from './Response';
|
|
3
3
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';
|
|
4
|
-
export type RouteAction = Function | string;
|
|
4
|
+
export type RouteAction = Function | string | [new (...args: any[]) => any, string];
|
|
5
5
|
export type Middleware = (req: Request, res: Response, next: () => void) => void | Promise<void>;
|
|
6
6
|
/**
|
|
7
7
|
* Route - Represents a single route in the application
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/Routing/Route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1F,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/Routing/Route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1F,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,CAAC,CAAC;AACpF,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjG;;;GAGG;AACH,qBAAa,KAAK;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,UAAU,EAAE,CAAM;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC/C,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAgB;gBAE1B,OAAO,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IAOhF;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ9C;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWxB;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI;IAM1D;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIvC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGnE"}
|
package/dist/Routing/Router.d.ts
CHANGED
|
@@ -101,6 +101,11 @@ export declare class Router {
|
|
|
101
101
|
* Run the route action
|
|
102
102
|
*/
|
|
103
103
|
private runRoute;
|
|
104
|
+
/**
|
|
105
|
+
* Call a controller action using tuple format
|
|
106
|
+
* Laravel-style: [UserController, 'index']
|
|
107
|
+
*/
|
|
108
|
+
private callControllerTuple;
|
|
104
109
|
/**
|
|
105
110
|
* Call a controller action
|
|
106
111
|
* Laravel: 'UserController@index'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAAiC;gBAExC,GAAG,EAAE,WAAW;IAI5B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI7C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI9C;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI/C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAIrE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAahB;;;OAGG;IACH,KAAK,CAAC,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAMnE;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKtC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI1C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,MAAM;IASd;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAWrD;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1D;;OAEG;YACW,aAAa;IAqB3B;;OAEG;YACW,QAAQ;
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAAiC;gBAExC,GAAG,EAAE,WAAW;IAI5B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI7C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI9C;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI/C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAIrE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAahB;;;OAGG;IACH,KAAK,CAAC,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAMnE;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKtC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI1C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,MAAM;IASd;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAWrD;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1D;;OAEG;YACW,aAAa;IAqB3B;;OAEG;YACW,QAAQ;IAsBtB;;;OAGG;YACW,mBAAmB;IAqBjC;;;OAGG;YACW,oBAAoB;IAWlC;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE;CAGrB"}
|
package/dist/Routing/Router.js
CHANGED
|
@@ -185,6 +185,10 @@ class Router {
|
|
|
185
185
|
// Direct closure
|
|
186
186
|
result = await action(req, res);
|
|
187
187
|
}
|
|
188
|
+
else if (Array.isArray(action)) {
|
|
189
|
+
// Controller tuple: [ControllerClass, 'method']
|
|
190
|
+
result = await this.callControllerTuple(action, req, res);
|
|
191
|
+
}
|
|
188
192
|
else if (typeof action === 'string') {
|
|
189
193
|
// Controller@method string
|
|
190
194
|
result = await this.callControllerAction(action, req, res);
|
|
@@ -194,6 +198,21 @@ class Router {
|
|
|
194
198
|
res.send(result);
|
|
195
199
|
}
|
|
196
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Call a controller action using tuple format
|
|
203
|
+
* Laravel-style: [UserController, 'index']
|
|
204
|
+
*/
|
|
205
|
+
async callControllerTuple(action, req, res) {
|
|
206
|
+
const [ControllerClass, methodName] = action;
|
|
207
|
+
// Resolve the controller from the container
|
|
208
|
+
const controller = this.app.make(ControllerClass);
|
|
209
|
+
// Verify the method exists on the controller
|
|
210
|
+
if (typeof controller[methodName] !== 'function') {
|
|
211
|
+
throw new Error(`Method [${methodName}] does not exist on controller [${ControllerClass.name}].`);
|
|
212
|
+
}
|
|
213
|
+
// Call the controller method
|
|
214
|
+
return await controller[methodName](req, res);
|
|
215
|
+
}
|
|
197
216
|
/**
|
|
198
217
|
* Call a controller action
|
|
199
218
|
* Laravel: 'UserController@index'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Injectable Decorator
|
|
3
|
+
*
|
|
4
|
+
* Marks a class as injectable, enabling TypeScript to emit decorator metadata
|
|
5
|
+
* required for automatic dependency injection via reflect-metadata.
|
|
6
|
+
*
|
|
7
|
+
* This decorator does nothing at runtime - it only triggers TypeScript's
|
|
8
|
+
* emitDecoratorMetadata feature to include parameter type information.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* @Injectable()
|
|
13
|
+
* export class UserController extends Controller {
|
|
14
|
+
* constructor(private userService: UserService) {
|
|
15
|
+
* super();
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function Injectable(): ClassDecorator;
|
|
21
|
+
//# sourceMappingURL=Injectable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Injectable.d.ts","sourceRoot":"","sources":["../../src/Support/Injectable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,IAAI,cAAc,CAM3C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Injectable = Injectable;
|
|
4
|
+
/**
|
|
5
|
+
* Injectable Decorator
|
|
6
|
+
*
|
|
7
|
+
* Marks a class as injectable, enabling TypeScript to emit decorator metadata
|
|
8
|
+
* required for automatic dependency injection via reflect-metadata.
|
|
9
|
+
*
|
|
10
|
+
* This decorator does nothing at runtime - it only triggers TypeScript's
|
|
11
|
+
* emitDecoratorMetadata feature to include parameter type information.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* @Injectable()
|
|
16
|
+
* export class UserController extends Controller {
|
|
17
|
+
* constructor(private userService: UserService) {
|
|
18
|
+
* super();
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
function Injectable() {
|
|
24
|
+
return (target) => {
|
|
25
|
+
// This decorator is intentionally empty.
|
|
26
|
+
// Its sole purpose is to trigger TypeScript's emitDecoratorMetadata
|
|
27
|
+
// feature, which adds reflection metadata to the class constructor.
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=Injectable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Injectable.js","sourceRoot":"","sources":["../../src/Support/Injectable.ts"],"names":[],"mappings":";;AAmBA,gCAMC;AAzBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,UAAU;IACxB,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,yCAAyC;QACzC,oEAAoE;QACpE,oEAAoE;IACtE,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export { Controller } from './Routing/Controller';
|
|
|
14
14
|
export { Facade } from './Support/Facade';
|
|
15
15
|
export { Route } from './Facades/Route';
|
|
16
16
|
export { loadRoutes, base_path, routes_path } from './Support/helpers';
|
|
17
|
+
export { Injectable } from './Support/Injectable';
|
|
17
18
|
export { RouteServiceProvider } from './Providers/RouteServiceProvider';
|
|
18
19
|
export { DatabaseServiceProvider } from './Database/DatabaseServiceProvider';
|
|
19
20
|
export { DatabaseManager } from './Database/DatabaseManager';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/H,YAAY,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACzG,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACV,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/H,YAAY,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACzG,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACV,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Main exports
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.softDeletes = exports.EnsembleCollection = exports.EnsembleBuilder = exports.Ensemble = exports.DB = exports.DrizzleAdapter = exports.raw = exports.Expression = exports.QueryBuilder = exports.Connection = exports.DatabaseManager = exports.DatabaseServiceProvider = exports.RouteServiceProvider = exports.routes_path = exports.base_path = exports.loadRoutes = exports.Route = exports.Facade = exports.Controller = exports.Response = exports.Request = exports.RouteClass = exports.Router = exports.Container = exports.Kernel = exports.ServiceProvider = exports.Application = void 0;
|
|
7
|
+
exports.softDeletes = exports.EnsembleCollection = exports.EnsembleBuilder = exports.Ensemble = exports.DB = exports.DrizzleAdapter = exports.raw = exports.Expression = exports.QueryBuilder = exports.Connection = exports.DatabaseManager = exports.DatabaseServiceProvider = exports.RouteServiceProvider = exports.Injectable = exports.routes_path = exports.base_path = exports.loadRoutes = exports.Route = exports.Facade = exports.Controller = exports.Response = exports.Request = exports.RouteClass = exports.Router = exports.Container = exports.Kernel = exports.ServiceProvider = exports.Application = void 0;
|
|
8
8
|
// Foundation
|
|
9
9
|
var Application_1 = require("./Foundation/Application");
|
|
10
10
|
Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return Application_1.Application; } });
|
|
@@ -36,6 +36,9 @@ var helpers_1 = require("./Support/helpers");
|
|
|
36
36
|
Object.defineProperty(exports, "loadRoutes", { enumerable: true, get: function () { return helpers_1.loadRoutes; } });
|
|
37
37
|
Object.defineProperty(exports, "base_path", { enumerable: true, get: function () { return helpers_1.base_path; } });
|
|
38
38
|
Object.defineProperty(exports, "routes_path", { enumerable: true, get: function () { return helpers_1.routes_path; } });
|
|
39
|
+
// Decorators
|
|
40
|
+
var Injectable_1 = require("./Support/Injectable");
|
|
41
|
+
Object.defineProperty(exports, "Injectable", { enumerable: true, get: function () { return Injectable_1.Injectable; } });
|
|
39
42
|
// Providers
|
|
40
43
|
var RouteServiceProvider_1 = require("./Providers/RouteServiceProvider");
|
|
41
44
|
Object.defineProperty(exports, "RouteServiceProvider", { enumerable: true, get: function () { return RouteServiceProvider_1.RouteServiceProvider; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,aAAa;AACb,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,gEAA+D;AAAtD,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gGAAA,MAAM,OAAA;AAEf,YAAY;AACZ,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAElB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAsD;AAA7C,mGAAA,KAAK,OAAc;AAC5B,6CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA;AACjB,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AAEnB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,8FAAA,KAAK,OAAA;AAEd,UAAU;AACV,6CAAuE;AAA9D,qGAAA,UAAU,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAE3C,YAAY;AACZ,yEAAwE;AAA/D,4HAAA,oBAAoB,OAAA;AAC7B,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAEhC,WAAW;AACX,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,oDAAmE;AAA1D,uGAAA,OAAO,OAAgB;AAChC,0DAA8D;AAArD,wGAAA,UAAU,OAAA;AAAE,iGAAA,GAAG,OAAA;AACxB,qEAAoE;AAA3D,gHAAA,cAAc,OAAA;AAEvB,mBAAmB;AACnB,mCAAkC;AAAzB,wFAAA,EAAE,OAAA;AAEX,eAAe;AACf,yDAAwD;AAA/C,oGAAA,QAAQ,OAAA;AACjB,uEAAsE;AAA7D,kHAAA,eAAe,OAAA;AACxB,6EAA4E;AAAnE,wHAAA,kBAAkB,OAAA;AAC3B,+DAA8D;AAArD,0GAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,aAAa;AACb,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,gEAA+D;AAAtD,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gGAAA,MAAM,OAAA;AAEf,YAAY;AACZ,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAElB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAsD;AAA7C,mGAAA,KAAK,OAAc;AAC5B,6CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA;AACjB,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AAEnB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,8FAAA,KAAK,OAAA;AAEd,UAAU;AACV,6CAAuE;AAA9D,qGAAA,UAAU,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAE3C,aAAa;AACb,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AAEnB,YAAY;AACZ,yEAAwE;AAA/D,4HAAA,oBAAoB,OAAA;AAC7B,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAEhC,WAAW;AACX,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,oDAAmE;AAA1D,uGAAA,OAAO,OAAgB;AAChC,0DAA8D;AAArD,wGAAA,UAAU,OAAA;AAAE,iGAAA,GAAG,OAAA;AACxB,qEAAoE;AAA3D,gHAAA,cAAc,OAAA;AAEvB,mBAAmB;AACnB,mCAAkC;AAAzB,wFAAA,EAAE,OAAA;AAEX,eAAe;AACf,yDAAwD;AAA/C,oGAAA,QAAQ,OAAA;AACjB,uEAAsE;AAA7D,kHAAA,eAAe,OAAA;AACxB,6EAA4E;AAAnE,wHAAA,kBAAkB,OAAA;AAC3B,+DAA8D;AAArD,0GAAA,WAAW,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Eloquent Builder
|
|
3
|
-
*
|
|
4
|
-
* Extends the query builder to work with Eloquent models
|
|
5
|
-
*/
|
|
6
|
-
import { Builder as QueryBuilder } from '../Query/Builder';
|
|
7
|
-
import { DatabaseAdapter } from '../Contracts/DatabaseAdapter';
|
|
8
|
-
import { Model } from './Model';
|
|
9
|
-
export declare class Builder<T extends Model> extends QueryBuilder<T> {
|
|
10
|
-
/**
|
|
11
|
-
* The model being queried
|
|
12
|
-
*/
|
|
13
|
-
protected model: T;
|
|
14
|
-
/**
|
|
15
|
-
* The relationships that should be eager loaded
|
|
16
|
-
*/
|
|
17
|
-
protected eagerLoad: Record<string, any>;
|
|
18
|
-
constructor(adapter: DatabaseAdapter, model: T);
|
|
19
|
-
/**
|
|
20
|
-
* Find a model by its primary key
|
|
21
|
-
*/
|
|
22
|
-
find(id: any): Promise<T | null>;
|
|
23
|
-
/**
|
|
24
|
-
* Execute the query and get all results
|
|
25
|
-
*/
|
|
26
|
-
get(): Promise<T[]>;
|
|
27
|
-
/**
|
|
28
|
-
* Get the first record
|
|
29
|
-
*/
|
|
30
|
-
first(): Promise<T | null>;
|
|
31
|
-
/**
|
|
32
|
-
* Create a collection of models from plain arrays
|
|
33
|
-
*/
|
|
34
|
-
protected hydrate(items: any[]): T[];
|
|
35
|
-
/**
|
|
36
|
-
* Create a new instance of the model
|
|
37
|
-
*/
|
|
38
|
-
protected newModelInstance(attributes?: Record<string, any>, exists?: boolean): T;
|
|
39
|
-
/**
|
|
40
|
-
* Set the relationships that should be eager loaded
|
|
41
|
-
*/
|
|
42
|
-
with(relations: string | string[]): this;
|
|
43
|
-
/**
|
|
44
|
-
* Create a new model and store it in the database
|
|
45
|
-
*/
|
|
46
|
-
create(attributes: Record<string, any>): Promise<T>;
|
|
47
|
-
/**
|
|
48
|
-
* Update records in the database
|
|
49
|
-
*/
|
|
50
|
-
update(values: Record<string, any>): Promise<number>;
|
|
51
|
-
/**
|
|
52
|
-
* Delete records from the database
|
|
53
|
-
*/
|
|
54
|
-
delete(): Promise<number>;
|
|
55
|
-
/**
|
|
56
|
-
* Get a paginated result
|
|
57
|
-
*/
|
|
58
|
-
paginate(perPage?: number, page?: number): Promise<{
|
|
59
|
-
data: T[];
|
|
60
|
-
total: number;
|
|
61
|
-
perPage: number;
|
|
62
|
-
currentPage: number;
|
|
63
|
-
lastPage: number;
|
|
64
|
-
from: number;
|
|
65
|
-
to: number;
|
|
66
|
-
}>;
|
|
67
|
-
/**
|
|
68
|
-
* Chunk the results of the query
|
|
69
|
-
*/
|
|
70
|
-
chunk(count: number, callback: (models: T[]) => Promise<boolean | void>): Promise<void>;
|
|
71
|
-
/**
|
|
72
|
-
* Clone the query builder
|
|
73
|
-
*/
|
|
74
|
-
clone(): Builder<T>;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=Builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../../src/Database/Eloquent/Builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,qBAAa,OAAO,CAAC,CAAC,SAAS,KAAK,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC3D;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAElC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAM9C;;OAEG;IACG,IAAI,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAItC;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAKzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAQhC;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IAIpC;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,MAAM,GAAE,OAAe,GAAG,CAAC;IAQ5F;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAUxC;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAMzD;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B;;OAEG;IACG,QAAQ,CAAC,OAAO,GAAE,MAAW,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC;QAC9D,IAAI,EAAE,CAAC,EAAE,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IAqBF;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7F;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;CAgBpB"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Eloquent Builder
|
|
4
|
-
*
|
|
5
|
-
* Extends the query builder to work with Eloquent models
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.Builder = void 0;
|
|
9
|
-
const Builder_1 = require("../Query/Builder");
|
|
10
|
-
class Builder extends Builder_1.Builder {
|
|
11
|
-
/**
|
|
12
|
-
* The model being queried
|
|
13
|
-
*/
|
|
14
|
-
model;
|
|
15
|
-
/**
|
|
16
|
-
* The relationships that should be eager loaded
|
|
17
|
-
*/
|
|
18
|
-
eagerLoad = {};
|
|
19
|
-
constructor(adapter, model) {
|
|
20
|
-
super(adapter);
|
|
21
|
-
this.model = model;
|
|
22
|
-
this.from(model.getTable());
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Find a model by its primary key
|
|
26
|
-
*/
|
|
27
|
-
async find(id) {
|
|
28
|
-
return this.where(this.model.getKeyName(), '=', id).first();
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Execute the query and get all results
|
|
32
|
-
*/
|
|
33
|
-
async get() {
|
|
34
|
-
const results = await super.get();
|
|
35
|
-
return this.hydrate(results);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Get the first record
|
|
39
|
-
*/
|
|
40
|
-
async first() {
|
|
41
|
-
const result = await super.first();
|
|
42
|
-
if (!result) {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
return this.newModelInstance(result, true);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Create a collection of models from plain arrays
|
|
49
|
-
*/
|
|
50
|
-
hydrate(items) {
|
|
51
|
-
return items.map((item) => this.newModelInstance(item, true));
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Create a new instance of the model
|
|
55
|
-
*/
|
|
56
|
-
newModelInstance(attributes = {}, exists = false) {
|
|
57
|
-
const ModelClass = this.model.constructor;
|
|
58
|
-
const instance = new ModelClass(attributes);
|
|
59
|
-
instance.exists = exists;
|
|
60
|
-
instance.syncOriginal();
|
|
61
|
-
return instance;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Set the relationships that should be eager loaded
|
|
65
|
-
*/
|
|
66
|
-
with(relations) {
|
|
67
|
-
const relationArray = Array.isArray(relations) ? relations : [relations];
|
|
68
|
-
for (const relation of relationArray) {
|
|
69
|
-
this.eagerLoad[relation] = () => { };
|
|
70
|
-
}
|
|
71
|
-
return this;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Create a new model and store it in the database
|
|
75
|
-
*/
|
|
76
|
-
async create(attributes) {
|
|
77
|
-
const instance = this.newModelInstance(attributes);
|
|
78
|
-
await instance.save();
|
|
79
|
-
return instance;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Update records in the database
|
|
83
|
-
*/
|
|
84
|
-
async update(values) {
|
|
85
|
-
return await super.update(values);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Delete records from the database
|
|
89
|
-
*/
|
|
90
|
-
async delete() {
|
|
91
|
-
return await super.delete();
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Get a paginated result
|
|
95
|
-
*/
|
|
96
|
-
async paginate(perPage = 15, page = 1) {
|
|
97
|
-
const total = await this.clone().count();
|
|
98
|
-
const offset = (page - 1) * perPage;
|
|
99
|
-
const data = await this.clone().offset(offset).limit(perPage).get();
|
|
100
|
-
const lastPage = Math.ceil(total / perPage);
|
|
101
|
-
const from = total > 0 ? offset + 1 : 0;
|
|
102
|
-
const to = Math.min(offset + perPage, total);
|
|
103
|
-
return {
|
|
104
|
-
data,
|
|
105
|
-
total,
|
|
106
|
-
perPage,
|
|
107
|
-
currentPage: page,
|
|
108
|
-
lastPage,
|
|
109
|
-
from,
|
|
110
|
-
to,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Chunk the results of the query
|
|
115
|
-
*/
|
|
116
|
-
async chunk(count, callback) {
|
|
117
|
-
let page = 1;
|
|
118
|
-
do {
|
|
119
|
-
const results = await this.clone()
|
|
120
|
-
.offset((page - 1) * count)
|
|
121
|
-
.limit(count)
|
|
122
|
-
.get();
|
|
123
|
-
if (results.length === 0) {
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
const shouldContinue = await callback(results);
|
|
127
|
-
if (shouldContinue === false) {
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
page++;
|
|
131
|
-
} while (true);
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Clone the query builder
|
|
135
|
-
*/
|
|
136
|
-
clone() {
|
|
137
|
-
const cloned = new Builder(this.adapter, this.model);
|
|
138
|
-
cloned._columns = [...this._columns];
|
|
139
|
-
cloned._distinct = this._distinct;
|
|
140
|
-
cloned._table = this._table;
|
|
141
|
-
cloned._wheres = [...this._wheres];
|
|
142
|
-
cloned._joins = [...this._joins];
|
|
143
|
-
cloned._orders = [...this._orders];
|
|
144
|
-
cloned._groups = [...this._groups];
|
|
145
|
-
cloned._havings = [...this._havings];
|
|
146
|
-
cloned._limit = this._limit;
|
|
147
|
-
cloned._offset = this._offset;
|
|
148
|
-
cloned._bindings = [...this._bindings];
|
|
149
|
-
cloned.eagerLoad = { ...this.eagerLoad };
|
|
150
|
-
return cloned;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
exports.Builder = Builder;
|
|
154
|
-
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Database/Eloquent/Builder.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,8CAA2D;AAK3D,MAAa,OAAyB,SAAQ,iBAAe;IAC3D;;OAEG;IACO,KAAK,CAAI;IAEnB;;OAEG;IACO,SAAS,GAAwB,EAAE,CAAC;IAE9C,YAAY,OAAwB,EAAE,KAAQ;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,EAAO;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACO,OAAO,CAAC,KAAY;QAC5B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,aAAkC,EAAE,EAAE,SAAkB,KAAK;QACtF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAyD,CAAC;QACxF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3C,QAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,QAAgB,CAAC,YAAY,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAA4B;QAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEzE,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,UAA+B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAA2B;QACtC,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,EAAE,OAAe,CAAC;QASnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QAEpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QAEpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;QAE7C,OAAO;YACL,IAAI;YACJ,KAAK;YACL,OAAO;YACP,WAAW,EAAE,IAAI;YACjB,QAAQ;YACR,IAAI;YACJ,EAAE;SACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,QAAkD;QAC3E,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,GAAG,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;iBAC/B,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;iBAC1B,KAAK,CAAC,KAAK,CAAC;iBACZ,GAAG,EAAE,CAAC;YAET,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM;YACR,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;gBAC7B,MAAM;YACR,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,QAAQ,IAAI,EAAE;IACjB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,OAAO,CAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA7KD,0BA6KC"}
|