Skip to content

Commit ca246fe

Browse files
chore: wip
1 parent ded8063 commit ca246fe

29 files changed

+72
-446
lines changed

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

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -447,11 +447,12 @@ export async function writeModelRequest(): Promise<void> {
447447
fieldStringInt += `
448448
public deleted_at = ''
449449
`
450+
451+
fileString += `deleted_at?: Date`
450452
}
451453

452454
fieldString += `created_at?: Date
453-
updated_at?: Date
454-
deleted_at?: Date`
455+
updated_at?: Date`
455456

456457
const requestFile = Bun.file(path.frameworkPath(`requests/${modelName}Request.ts`))
457458

@@ -983,6 +984,9 @@ export async function generateModelString(
983984
const formattedTableName = pascalCase(tableName) // users -> Users
984985
const formattedModelName = modelName.toLowerCase() // User -> user
985986

987+
let instanceSoftDeleteStatements = ''
988+
let thisSoftDeleteStatements = ''
989+
986990
let fieldString = ''
987991
let constructorFields = ''
988992
let jsonFields = '{\n'
@@ -1005,9 +1009,8 @@ export async function generateModelString(
10051009

10061010
const relations = await getRelations(model, modelName)
10071011

1008-
for (const relationInstance of relations) {
1012+
for (const relationInstance of relations)
10091013
relationImports += `import ${relationInstance.model} from './${relationInstance.model}'\n\n`
1010-
}
10111014

10121015
const useTimestamps = model?.traits?.useTimestamps ?? model?.traits?.timestampable ?? true
10131016
const useSoftDeletes = model?.traits?.useSoftDeletes ?? model?.traits?.softDeletable ?? false
@@ -1023,6 +1026,16 @@ export async function generateModelString(
10231026
`
10241027
}
10251028

1029+
if (useSoftDeletes) {
1030+
instanceSoftDeleteStatements += `if (instance.softDeletes) {
1031+
query = query.where('deleted_at', 'is', null)
1032+
}`
1033+
1034+
thisSoftDeleteStatements += ` if (this.softDeletes) {
1035+
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
1036+
}`
1037+
}
1038+
10261039
if (typeof observer === 'boolean') {
10271040
if (observer) {
10281041
mittCreateStatement += `if (model)\n dispatch('${formattedModelName}:created', model)`
@@ -1565,9 +1578,11 @@ export async function generateModelString(
15651578
`
15661579
}
15671580

1568-
fieldString += `
1569-
deleted_at?: Date
1570-
`
1581+
if (useSoftDeletes) {
1582+
fieldString += `
1583+
deleted_at?: Date
1584+
`
1585+
}
15711586

15721587
const hidden = JSON.stringify(getHiddenAttributes(model.attributes))
15731588
const fillable = JSON.stringify(getFillableAttributes(model, otherModelRelations))
@@ -1671,9 +1686,7 @@ export async function generateModelString(
16711686
16721687
const instance = new ${modelName}Model(null)
16731688
1674-
if (instance.softDeletes) {
1675-
query = query.where('deleted_at', 'is', null)
1676-
}
1689+
${instanceSoftDeleteStatements}
16771690
16781691
const results = await query.execute();
16791692
@@ -1686,9 +1699,7 @@ export async function generateModelString(
16861699
16871700
const instance = new ${modelName}Model(null)
16881701
1689-
if (instance.softDeletes) {
1690-
query = query.where('deleted_at', 'is', null);
1691-
}
1702+
${instanceSoftDeleteStatements}
16921703
16931704
query = query.selectAll()
16941705
@@ -1707,9 +1718,7 @@ export async function generateModelString(
17071718
17081719
const instance = new ${modelName}Model(null)
17091720
1710-
if (instance.softDeletes) {
1711-
query = query.where('deleted_at', 'is', null);
1712-
}
1721+
${instanceSoftDeleteStatements}
17131722
17141723
query = query.selectAll()
17151724
@@ -1746,18 +1755,14 @@ export async function generateModelString(
17461755
async get(): Promise<${modelName}Model[]> {
17471756
if (this.hasSelect) {
17481757
1749-
if (this.softDeletes) {
1750-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null);
1751-
}
1758+
${thisSoftDeleteStatements}
17521759
17531760
const model = await this.selectFromQuery.execute()
17541761
17551762
return model.map((modelItem: ${modelName}Model) => new ${modelName}Model(modelItem))
17561763
}
17571764
1758-
if (this.softDeletes) {
1759-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null);
1760-
}
1765+
${thisSoftDeleteStatements}
17611766
17621767
const model = await this.selectFromQuery.selectAll().execute()
17631768
@@ -1768,7 +1773,7 @@ export async function generateModelString(
17681773
const instance = new ${modelName}Model(null)
17691774
17701775
if (instance.softDeletes) {
1771-
instance.selectFromQuery = instance.selectFromQuery.where('deleted_at', 'is', null);
1776+
instance.selectFromQuery = instance.selectFromQuery.where('deleted_at', 'is', null)
17721777
}
17731778
17741779
const results = await instance.selectFromQuery.selectAll().execute()
@@ -1779,9 +1784,7 @@ export async function generateModelString(
17791784
async count(): Promise<number> {
17801785
if (this.hasSelect) {
17811786
1782-
if (this.softDeletes) {
1783-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null);
1784-
}
1787+
${thisSoftDeleteStatements}
17851788
17861789
const results = await this.selectFromQuery.execute()
17871790

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

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ export interface PersonalAccessTokensTable {
1717

1818
updated_at?: Date
1919

20-
deleted_at?: Date
21-
2220
}
2321

2422
interface AccessTokenResponse {
@@ -117,14 +115,10 @@ export class AccessTokenModel {
117115
}
118116

119117
static async all(): Promise<AccessTokenModel[]> {
120-
let query = db.selectFrom('personal_access_tokens').selectAll()
118+
const query = db.selectFrom('personal_access_tokens').selectAll()
121119

122120
const instance = new AccessTokenModel(null)
123121

124-
if (instance.softDeletes) {
125-
query = query.where('deleted_at', 'is', null)
126-
}
127-
128122
const results = await query.execute()
129123

130124
return results.map(modelItem => instance.parseResult(new AccessTokenModel(modelItem)))
@@ -135,10 +129,6 @@ export class AccessTokenModel {
135129

136130
const instance = new AccessTokenModel(null)
137131

138-
if (instance.softDeletes) {
139-
query = query.where('deleted_at', 'is', null)
140-
}
141-
142132
query = query.selectAll()
143133

144134
const model = await query.executeTakeFirst()
@@ -156,10 +146,6 @@ export class AccessTokenModel {
156146

157147
const instance = new AccessTokenModel(null)
158148

159-
if (instance.softDeletes) {
160-
query = query.where('deleted_at', 'is', null)
161-
}
162-
163149
query = query.selectAll()
164150

165151
const model = await query.execute()
@@ -193,19 +179,11 @@ export class AccessTokenModel {
193179
// Method to get a AccessToken by criteria
194180
async get(): Promise<AccessTokenModel[]> {
195181
if (this.hasSelect) {
196-
if (this.softDeletes) {
197-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
198-
}
199-
200182
const model = await this.selectFromQuery.execute()
201183

202184
return model.map((modelItem: AccessTokenModel) => new AccessTokenModel(modelItem))
203185
}
204186

205-
if (this.softDeletes) {
206-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
207-
}
208-
209187
const model = await this.selectFromQuery.selectAll().execute()
210188

211189
return model.map((modelItem: AccessTokenModel) => new AccessTokenModel(modelItem))
@@ -225,10 +203,6 @@ export class AccessTokenModel {
225203

226204
async count(): Promise<number> {
227205
if (this.hasSelect) {
228-
if (this.softDeletes) {
229-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
230-
}
231-
232206
const results = await this.selectFromQuery.execute()
233207

234208
return results.length

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

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ export interface DeploymentsTable {
2222

2323
updated_at?: Date
2424

25-
deleted_at?: Date
26-
2725
}
2826

2927
interface DeploymentResponse {
@@ -130,14 +128,10 @@ export class DeploymentModel {
130128
}
131129

132130
static async all(): Promise<DeploymentModel[]> {
133-
let query = db.selectFrom('deployments').selectAll()
131+
const query = db.selectFrom('deployments').selectAll()
134132

135133
const instance = new DeploymentModel(null)
136134

137-
if (instance.softDeletes) {
138-
query = query.where('deleted_at', 'is', null)
139-
}
140-
141135
const results = await query.execute()
142136

143137
return results.map(modelItem => instance.parseResult(new DeploymentModel(modelItem)))
@@ -148,10 +142,6 @@ export class DeploymentModel {
148142

149143
const instance = new DeploymentModel(null)
150144

151-
if (instance.softDeletes) {
152-
query = query.where('deleted_at', 'is', null)
153-
}
154-
155145
query = query.selectAll()
156146

157147
const model = await query.executeTakeFirst()
@@ -169,10 +159,6 @@ export class DeploymentModel {
169159

170160
const instance = new DeploymentModel(null)
171161

172-
if (instance.softDeletes) {
173-
query = query.where('deleted_at', 'is', null)
174-
}
175-
176162
query = query.selectAll()
177163

178164
const model = await query.execute()
@@ -206,19 +192,11 @@ export class DeploymentModel {
206192
// Method to get a Deployment by criteria
207193
async get(): Promise<DeploymentModel[]> {
208194
if (this.hasSelect) {
209-
if (this.softDeletes) {
210-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
211-
}
212-
213195
const model = await this.selectFromQuery.execute()
214196

215197
return model.map((modelItem: DeploymentModel) => new DeploymentModel(modelItem))
216198
}
217199

218-
if (this.softDeletes) {
219-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
220-
}
221-
222200
const model = await this.selectFromQuery.selectAll().execute()
223201

224202
return model.map((modelItem: DeploymentModel) => new DeploymentModel(modelItem))
@@ -238,10 +216,6 @@ export class DeploymentModel {
238216

239217
async count(): Promise<number> {
240218
if (this.hasSelect) {
241-
if (this.softDeletes) {
242-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
243-
}
244-
245219
const results = await this.selectFromQuery.execute()
246220

247221
return results.length

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

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ export interface ErrorsTable {
1616

1717
updated_at?: Date
1818

19-
deleted_at?: Date
20-
2119
}
2220

2321
interface ErrorResponse {
@@ -117,14 +115,10 @@ export class ErrorModel {
117115
}
118116

119117
static async all(): Promise<ErrorModel[]> {
120-
let query = db.selectFrom('errors').selectAll()
118+
const query = db.selectFrom('errors').selectAll()
121119

122120
const instance = new ErrorModel(null)
123121

124-
if (instance.softDeletes) {
125-
query = query.where('deleted_at', 'is', null)
126-
}
127-
128122
const results = await query.execute()
129123

130124
return results.map(modelItem => instance.parseResult(new ErrorModel(modelItem)))
@@ -135,10 +129,6 @@ export class ErrorModel {
135129

136130
const instance = new ErrorModel(null)
137131

138-
if (instance.softDeletes) {
139-
query = query.where('deleted_at', 'is', null)
140-
}
141-
142132
query = query.selectAll()
143133

144134
const model = await query.executeTakeFirst()
@@ -156,10 +146,6 @@ export class ErrorModel {
156146

157147
const instance = new ErrorModel(null)
158148

159-
if (instance.softDeletes) {
160-
query = query.where('deleted_at', 'is', null)
161-
}
162-
163149
query = query.selectAll()
164150

165151
const model = await query.execute()
@@ -193,19 +179,11 @@ export class ErrorModel {
193179
// Method to get a Error by criteria
194180
async get(): Promise<ErrorModel[]> {
195181
if (this.hasSelect) {
196-
if (this.softDeletes) {
197-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
198-
}
199-
200182
const model = await this.selectFromQuery.execute()
201183

202184
return model.map((modelItem: ErrorModel) => new ErrorModel(modelItem))
203185
}
204186

205-
if (this.softDeletes) {
206-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
207-
}
208-
209187
const model = await this.selectFromQuery.selectAll().execute()
210188

211189
return model.map((modelItem: ErrorModel) => new ErrorModel(modelItem))
@@ -225,10 +203,6 @@ export class ErrorModel {
225203

226204
async count(): Promise<number> {
227205
if (this.hasSelect) {
228-
if (this.softDeletes) {
229-
this.selectFromQuery = this.selectFromQuery.where('deleted_at', 'is', null)
230-
}
231-
232206
const results = await this.selectFromQuery.execute()
233207

234208
return results.length

0 commit comments

Comments
 (0)