Skip to content

Commit f05b4b4

Browse files
chore: wip
1 parent 1ea7495 commit f05b4b4

File tree

18 files changed

+256
-76
lines changed

18 files changed

+256
-76
lines changed

storage/framework/core/orm/src/generate.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,7 @@ export async function generateModelString(
904904
${getFields}
905905
${setFields}
906906
907-
getOriginal(column?: keyof ${modelName}Type): Partial<${modelName}Type> | any {
907+
getOriginal(column?: keyof ${modelName}Type): Partial<${modelName}Type> {
908908
if (column) {
909909
return this.originalAttributes[column]
910910
}
@@ -998,6 +998,8 @@ export async function generateModelString(
998998
model = await this.selectFromQuery.selectAll().executeTakeFirst()
999999
}
10001000
1001+
await this.loadRelations(model)
1002+
10011003
const data = new ${modelName}Model(model as ${modelName}Type)
10021004
10031005
return data
@@ -1018,7 +1020,7 @@ export async function generateModelString(
10181020
10191021
if (model === undefined)
10201022
throw new ModelNotFoundException(404, 'No ${modelName}Model results found for query')
1021-
1023+
10221024
const data = new ${modelName}Model(model as ${modelName}Type)
10231025
10241026
return data
@@ -1050,15 +1052,18 @@ export async function generateModelString(
10501052
}
10511053
10521054
static async findOrFail(id: number): Promise<${modelName}Model> {
1055+
const instance = new ${modelName}Model(null)
10531056
const model = await DB.instance.selectFrom('${tableName}').where('id', '=', id).selectAll().executeTakeFirst()
10541057
10551058
${instanceSoftDeleteStatementsSelectFrom}
10561059
10571060
if (model === undefined)
10581061
throw new ModelNotFoundException(404, \`No ${modelName}Model results for \${id}\`)
1059-
1062+
10601063
cache.getOrSet(\`${formattedModelName}:\${id}\`, JSON.stringify(model))
1061-
1064+
1065+
await instance.loadRelations(model)
1066+
10621067
const data = new ${modelName}Model(model as ${modelName}Type)
10631068
10641069
return data
@@ -1073,11 +1078,14 @@ export async function generateModelString(
10731078
10741079
query = query.selectAll()
10751080
1076-
const model = await query.execute()
1081+
const models = await query.execute()
1082+
1083+
await instance.loadRelations(models)
10771084
1078-
return model.map((modelItem: ${modelName}Model) => instance.parseResult(new ${modelName}Model(modelItem)))
1085+
return models.map((modelItem: ${modelName}Model) => instance.parseResult(new ${modelName}Model(modelItem)))
10791086
}
1080-
1087+
1088+
//TODO: fix
10811089
skip(count: number): ${modelName}Model {
10821090
return ${modelName}Model.skip(count)
10831091
}
@@ -1255,6 +1263,8 @@ export async function generateModelString(
12551263
} else {
12561264
models = await this.selectFromQuery.selectAll().execute()
12571265
}
1266+
1267+
await this.loadRelations(models)
12581268
12591269
const data = await Promise.all(models.map(async (model: ${modelName}Model) => {
12601270
return new ${modelName}Model(model)
@@ -1911,7 +1921,7 @@ export async function generateModelString(
19111921
}
19121922
}
19131923
1914-
async loadRelationsHasMany(models: ${modelName}Model[]): Promise<void> {
1924+
async loadRelations(models: ${modelName}Model[]): Promise<void> {
19151925
if (!models.length)
19161926
return
19171927

storage/framework/orm/src/models/AccessToken.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export class AccessTokenModel {
142142
this.attributes.updated_at = value
143143
}
144144

145-
getOriginal(column?: keyof AccessTokenType): Partial<AccessTokenType> | any {
145+
getOriginal(column?: keyof AccessTokenType): Partial<AccessTokenType> {
146146
if (column) {
147147
return this.originalAttributes[column]
148148
}
@@ -236,6 +236,8 @@ export class AccessTokenModel {
236236
model = await this.selectFromQuery.selectAll().executeTakeFirst()
237237
}
238238

239+
await this.loadRelations(model)
240+
239241
const data = new AccessTokenModel(model as AccessTokenType)
240242

241243
return data
@@ -287,13 +289,16 @@ export class AccessTokenModel {
287289
}
288290

289291
static async findOrFail(id: number): Promise<AccessTokenModel> {
292+
const instance = new AccessTokenModel(null)
290293
const model = await DB.instance.selectFrom('personal_access_tokens').where('id', '=', id).selectAll().executeTakeFirst()
291294

292295
if (model === undefined)
293296
throw new ModelNotFoundException(404, `No AccessTokenModel results for ${id}`)
294297

295298
cache.getOrSet(`accesstoken:${id}`, JSON.stringify(model))
296299

300+
await instance.loadRelations(model)
301+
297302
const data = new AccessTokenModel(model as AccessTokenType)
298303

299304
return data
@@ -306,11 +311,14 @@ export class AccessTokenModel {
306311

307312
query = query.selectAll()
308313

309-
const model = await query.execute()
314+
const models = await query.execute()
310315

311-
return model.map((modelItem: AccessTokenModel) => instance.parseResult(new AccessTokenModel(modelItem)))
316+
await instance.loadRelations(models)
317+
318+
return models.map((modelItem: AccessTokenModel) => instance.parseResult(new AccessTokenModel(modelItem)))
312319
}
313320

321+
// TODO: fix
314322
skip(count: number): AccessTokenModel {
315323
return AccessTokenModel.skip(count)
316324
}
@@ -490,6 +498,8 @@ export class AccessTokenModel {
490498
models = await this.selectFromQuery.selectAll().execute()
491499
}
492500

501+
await this.loadRelations(models)
502+
493503
const data = await Promise.all(models.map(async (model: AccessTokenModel) => {
494504
return new AccessTokenModel(model)
495505
}))
@@ -1165,7 +1175,7 @@ export class AccessTokenModel {
11651175
}
11661176
}
11671177

1168-
async loadRelationsHasMany(models: AccessTokenModel[]): Promise<void> {
1178+
async loadRelations(models: AccessTokenModel[]): Promise<void> {
11691179
if (!models.length)
11701180
return
11711181

storage/framework/orm/src/models/Activity.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ export class ActivityModel {
157157
this.attributes.deleted_at = value
158158
}
159159

160-
getOriginal(column?: keyof ActivityType): Partial<ActivityType> | any {
160+
getOriginal(column?: keyof ActivityType): Partial<ActivityType> {
161161
if (column) {
162162
return this.originalAttributes[column]
163163
}
@@ -251,6 +251,8 @@ export class ActivityModel {
251251
model = await this.selectFromQuery.selectAll().executeTakeFirst()
252252
}
253253

254+
await this.loadRelations(model)
255+
254256
const data = new ActivityModel(model as ActivityType)
255257

256258
return data
@@ -302,6 +304,7 @@ export class ActivityModel {
302304
}
303305

304306
static async findOrFail(id: number): Promise<ActivityModel> {
307+
const instance = new ActivityModel(null)
305308
const model = await DB.instance.selectFrom('activities').where('id', '=', id).selectAll().executeTakeFirst()
306309

307310
if (instance.softDeletes) {
@@ -313,6 +316,8 @@ export class ActivityModel {
313316

314317
cache.getOrSet(`activity:${id}`, JSON.stringify(model))
315318

319+
await instance.loadRelations(model)
320+
316321
const data = new ActivityModel(model as ActivityType)
317322

318323
return data
@@ -329,11 +334,14 @@ export class ActivityModel {
329334

330335
query = query.selectAll()
331336

332-
const model = await query.execute()
337+
const models = await query.execute()
333338

334-
return model.map((modelItem: ActivityModel) => instance.parseResult(new ActivityModel(modelItem)))
339+
await instance.loadRelations(models)
340+
341+
return models.map((modelItem: ActivityModel) => instance.parseResult(new ActivityModel(modelItem)))
335342
}
336343

344+
// TODO: fix
337345
skip(count: number): ActivityModel {
338346
return ActivityModel.skip(count)
339347
}
@@ -513,6 +521,8 @@ export class ActivityModel {
513521
models = await this.selectFromQuery.selectAll().execute()
514522
}
515523

524+
await this.loadRelations(models)
525+
516526
const data = await Promise.all(models.map(async (model: ActivityModel) => {
517527
return new ActivityModel(model)
518528
}))
@@ -1215,7 +1225,7 @@ export class ActivityModel {
12151225
}
12161226
}
12171227

1218-
async loadRelationsHasMany(models: ActivityModel[]): Promise<void> {
1228+
async loadRelations(models: ActivityModel[]): Promise<void> {
12191229
if (!models.length)
12201230
return
12211231

storage/framework/orm/src/models/Deployment.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ export class DeploymentModel {
179179
this.attributes.updated_at = value
180180
}
181181

182-
getOriginal(column?: keyof DeploymentType): Partial<DeploymentType> | any {
182+
getOriginal(column?: keyof DeploymentType): Partial<DeploymentType> {
183183
if (column) {
184184
return this.originalAttributes[column]
185185
}
@@ -273,6 +273,8 @@ export class DeploymentModel {
273273
model = await this.selectFromQuery.selectAll().executeTakeFirst()
274274
}
275275

276+
await this.loadRelations(model)
277+
276278
const data = new DeploymentModel(model as DeploymentType)
277279

278280
return data
@@ -324,13 +326,16 @@ export class DeploymentModel {
324326
}
325327

326328
static async findOrFail(id: number): Promise<DeploymentModel> {
329+
const instance = new DeploymentModel(null)
327330
const model = await DB.instance.selectFrom('deployments').where('id', '=', id).selectAll().executeTakeFirst()
328331

329332
if (model === undefined)
330333
throw new ModelNotFoundException(404, `No DeploymentModel results for ${id}`)
331334

332335
cache.getOrSet(`deployment:${id}`, JSON.stringify(model))
333336

337+
await instance.loadRelations(model)
338+
334339
const data = new DeploymentModel(model as DeploymentType)
335340

336341
return data
@@ -343,11 +348,14 @@ export class DeploymentModel {
343348

344349
query = query.selectAll()
345350

346-
const model = await query.execute()
351+
const models = await query.execute()
347352

348-
return model.map((modelItem: DeploymentModel) => instance.parseResult(new DeploymentModel(modelItem)))
353+
await instance.loadRelations(models)
354+
355+
return models.map((modelItem: DeploymentModel) => instance.parseResult(new DeploymentModel(modelItem)))
349356
}
350357

358+
// TODO: fix
351359
skip(count: number): DeploymentModel {
352360
return DeploymentModel.skip(count)
353361
}
@@ -527,6 +535,8 @@ export class DeploymentModel {
527535
models = await this.selectFromQuery.selectAll().execute()
528536
}
529537

538+
await this.loadRelations(models)
539+
530540
const data = await Promise.all(models.map(async (model: DeploymentModel) => {
531541
return new DeploymentModel(model)
532542
}))
@@ -1230,7 +1240,7 @@ export class DeploymentModel {
12301240
}
12311241
}
12321242

1233-
async loadRelationsHasMany(models: DeploymentModel[]): Promise<void> {
1243+
async loadRelations(models: DeploymentModel[]): Promise<void> {
12341244
if (!models.length)
12351245
return
12361246

storage/framework/orm/src/models/Error.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ export class ErrorModel {
138138
this.attributes.updated_at = value
139139
}
140140

141-
getOriginal(column?: keyof ErrorType): Partial<ErrorType> | any {
141+
getOriginal(column?: keyof ErrorType): Partial<ErrorType> {
142142
if (column) {
143143
return this.originalAttributes[column]
144144
}
@@ -232,6 +232,8 @@ export class ErrorModel {
232232
model = await this.selectFromQuery.selectAll().executeTakeFirst()
233233
}
234234

235+
await this.loadRelations(model)
236+
235237
const data = new ErrorModel(model as ErrorType)
236238

237239
return data
@@ -283,13 +285,16 @@ export class ErrorModel {
283285
}
284286

285287
static async findOrFail(id: number): Promise<ErrorModel> {
288+
const instance = new ErrorModel(null)
286289
const model = await DB.instance.selectFrom('errors').where('id', '=', id).selectAll().executeTakeFirst()
287290

288291
if (model === undefined)
289292
throw new ModelNotFoundException(404, `No ErrorModel results for ${id}`)
290293

291294
cache.getOrSet(`error:${id}`, JSON.stringify(model))
292295

296+
await instance.loadRelations(model)
297+
293298
const data = new ErrorModel(model as ErrorType)
294299

295300
return data
@@ -302,11 +307,14 @@ export class ErrorModel {
302307

303308
query = query.selectAll()
304309

305-
const model = await query.execute()
310+
const models = await query.execute()
306311

307-
return model.map((modelItem: ErrorModel) => instance.parseResult(new ErrorModel(modelItem)))
312+
await instance.loadRelations(models)
313+
314+
return models.map((modelItem: ErrorModel) => instance.parseResult(new ErrorModel(modelItem)))
308315
}
309316

317+
// TODO: fix
310318
skip(count: number): ErrorModel {
311319
return ErrorModel.skip(count)
312320
}
@@ -486,6 +494,8 @@ export class ErrorModel {
486494
models = await this.selectFromQuery.selectAll().execute()
487495
}
488496

497+
await this.loadRelations(models)
498+
489499
const data = await Promise.all(models.map(async (model: ErrorModel) => {
490500
return new ErrorModel(model)
491501
}))
@@ -1169,7 +1179,7 @@ export class ErrorModel {
11691179
}
11701180
}
11711181

1172-
async loadRelationsHasMany(models: ErrorModel[]): Promise<void> {
1182+
async loadRelations(models: ErrorModel[]): Promise<void> {
11731183
if (!models.length)
11741184
return
11751185

0 commit comments

Comments
 (0)