Skip to content

Commit 17675fb

Browse files
chore: wip
1 parent 8e79ac8 commit 17675fb

File tree

17 files changed

+120
-1
lines changed

17 files changed

+120
-1
lines changed

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -808,7 +808,9 @@ export async function generateModelString(
808808
protected updateFromQuery: any
809809
protected deleteFromQuery: any
810810
protected hasSelect: boolean
811+
private hasSaved: boolean
811812
private customColumns: Record<string, unknown> = {}
813+
812814
constructor(${formattedModelName}: Partial<${modelName}Type> | null) {
813815
if (${formattedModelName}) {
814816
@@ -827,6 +829,7 @@ export async function generateModelString(
827829
this.updateFromQuery = DB.instance.updateTable('${tableName}')
828830
this.deleteFromQuery = DB.instance.deleteFrom('${tableName}')
829831
this.hasSelect = false
832+
this.hasSaved = false
830833
}
831834
832835
${getFields}
@@ -843,7 +846,7 @@ export async function generateModelString(
843846
getChanges(): Partial<${modelName}JsonResponse> {
844847
return this.fillable.reduce<Partial<${modelName}JsonResponse>>((changes, key) => {
845848
const currentValue = this.attributes[key as keyof ${formattedTableName}Table]
846-
const originalValue = this.originalAttributes[key as keyof ${formattedTableName}Table]
849+
const originalValue = this.originalAttributes[key as keyof ${formattedTableName}Table]
847850
848851
if (currentValue !== originalValue) {
849852
changes[key] = currentValue
@@ -864,6 +867,10 @@ export async function generateModelString(
864867
return currentValue !== originalValue
865868
})
866869
}
870+
871+
wasChanged(column?: keyof ${modelName}Type): boolean {
872+
return this.hasSaved && this.isDirty(column)
873+
}
867874
868875
select(params: (keyof ${modelName}Type)[] | RawBuilder<string> | string): ${modelName}Model {
869876
return ${modelName}Model.select(params)

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ export class AccessTokenModel {
6464
protected updateFromQuery: any
6565
protected deleteFromQuery: any
6666
protected hasSelect: boolean
67+
private hasSaved: boolean
6768
private customColumns: Record<string, unknown> = {}
69+
6870
constructor(accesstoken: Partial<AccessTokenType> | null) {
6971
if (accesstoken) {
7072
this.attributes = { ...accesstoken }
@@ -82,6 +84,7 @@ export class AccessTokenModel {
8284
this.updateFromQuery = DB.instance.updateTable('personal_access_tokens')
8385
this.deleteFromQuery = DB.instance.deleteFrom('personal_access_tokens')
8486
this.hasSelect = false
87+
this.hasSaved = false
8588
}
8689

8790
get team_id(): number | undefined {
@@ -173,6 +176,10 @@ export class AccessTokenModel {
173176
})
174177
}
175178

179+
wasChanged(column?: keyof AccessTokenType): boolean {
180+
return this.hasSaved && this.isDirty(column)
181+
}
182+
176183
select(params: (keyof AccessTokenType)[] | RawBuilder<string> | string): AccessTokenModel {
177184
return AccessTokenModel.select(params)
178185
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ export class DeploymentModel {
6868
protected updateFromQuery: any
6969
protected deleteFromQuery: any
7070
protected hasSelect: boolean
71+
private hasSaved: boolean
7172
private customColumns: Record<string, unknown> = {}
73+
7274
constructor(deployment: Partial<DeploymentType> | null) {
7375
if (deployment) {
7476
this.attributes = { ...deployment }
@@ -86,6 +88,7 @@ export class DeploymentModel {
8688
this.updateFromQuery = DB.instance.updateTable('deployments')
8789
this.deleteFromQuery = DB.instance.deleteFrom('deployments')
8890
this.hasSelect = false
91+
this.hasSaved = false
8992
}
9093

9194
get user_id(): number | undefined {
@@ -209,6 +212,10 @@ export class DeploymentModel {
209212
})
210213
}
211214

215+
wasChanged(column?: keyof DeploymentType): boolean {
216+
return this.hasSaved && this.isDirty(column)
217+
}
218+
212219
select(params: (keyof DeploymentType)[] | RawBuilder<string> | string): DeploymentModel {
213220
return DeploymentModel.select(params)
214221
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ export class ErrorModel {
6060
protected updateFromQuery: any
6161
protected deleteFromQuery: any
6262
protected hasSelect: boolean
63+
private hasSaved: boolean
6364
private customColumns: Record<string, unknown> = {}
65+
6466
constructor(error: Partial<ErrorType> | null) {
6567
if (error) {
6668
this.attributes = { ...error }
@@ -78,6 +80,7 @@ export class ErrorModel {
7880
this.updateFromQuery = DB.instance.updateTable('errors')
7981
this.deleteFromQuery = DB.instance.deleteFrom('errors')
8082
this.hasSelect = false
83+
this.hasSaved = false
8184
}
8285

8386
get id(): number | undefined {
@@ -169,6 +172,10 @@ export class ErrorModel {
169172
})
170173
}
171174

175+
wasChanged(column?: keyof ErrorType): boolean {
176+
return this.hasSaved && this.isDirty(column)
177+
}
178+
172179
select(params: (keyof ErrorType)[] | RawBuilder<string> | string): ErrorModel {
173180
return ErrorModel.select(params)
174181
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ export class FailedJobModel {
6060
protected updateFromQuery: any
6161
protected deleteFromQuery: any
6262
protected hasSelect: boolean
63+
private hasSaved: boolean
6364
private customColumns: Record<string, unknown> = {}
65+
6466
constructor(failedjob: Partial<FailedJobType> | null) {
6567
if (failedjob) {
6668
this.attributes = { ...failedjob }
@@ -78,6 +80,7 @@ export class FailedJobModel {
7880
this.updateFromQuery = DB.instance.updateTable('failed_jobs')
7981
this.deleteFromQuery = DB.instance.deleteFrom('failed_jobs')
8082
this.hasSelect = false
83+
this.hasSaved = false
8184
}
8285

8386
get id(): number | undefined {
@@ -169,6 +172,10 @@ export class FailedJobModel {
169172
})
170173
}
171174

175+
wasChanged(column?: keyof FailedJobType): boolean {
176+
return this.hasSaved && this.isDirty(column)
177+
}
178+
172179
select(params: (keyof FailedJobType)[] | RawBuilder<string> | string): FailedJobModel {
173180
return FailedJobModel.select(params)
174181
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ export class JobModel {
6060
protected updateFromQuery: any
6161
protected deleteFromQuery: any
6262
protected hasSelect: boolean
63+
private hasSaved: boolean
6364
private customColumns: Record<string, unknown> = {}
65+
6466
constructor(job: Partial<JobType> | null) {
6567
if (job) {
6668
this.attributes = { ...job }
@@ -78,6 +80,7 @@ export class JobModel {
7880
this.updateFromQuery = DB.instance.updateTable('jobs')
7981
this.deleteFromQuery = DB.instance.deleteFrom('jobs')
8082
this.hasSelect = false
83+
this.hasSaved = false
8184
}
8285

8386
get id(): number | undefined {
@@ -169,6 +172,10 @@ export class JobModel {
169172
})
170173
}
171174

175+
wasChanged(column?: keyof JobType): boolean {
176+
return this.hasSaved && this.isDirty(column)
177+
}
178+
172179
select(params: (keyof JobType)[] | RawBuilder<string> | string): JobModel {
173180
return JobModel.select(params)
174181
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ export class PaymentMethodModel {
7373
protected updateFromQuery: any
7474
protected deleteFromQuery: any
7575
protected hasSelect: boolean
76+
private hasSaved: boolean
7677
private customColumns: Record<string, unknown> = {}
78+
7779
constructor(paymentmethod: Partial<PaymentMethodType> | null) {
7880
if (paymentmethod) {
7981
this.attributes = { ...paymentmethod }
@@ -91,6 +93,7 @@ export class PaymentMethodModel {
9193
this.updateFromQuery = DB.instance.updateTable('payment_methods')
9294
this.deleteFromQuery = DB.instance.deleteFrom('payment_methods')
9395
this.hasSelect = false
96+
this.hasSaved = false
9497
}
9598

9699
get user_id(): number | undefined {
@@ -218,6 +221,10 @@ export class PaymentMethodModel {
218221
})
219222
}
220223

224+
wasChanged(column?: keyof PaymentMethodType): boolean {
225+
return this.hasSaved && this.isDirty(column)
226+
}
227+
221228
select(params: (keyof PaymentMethodType)[] | RawBuilder<string> | string): PaymentMethodModel {
222229
return PaymentMethodModel.select(params)
223230
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ export class PostModel {
6262
protected updateFromQuery: any
6363
protected deleteFromQuery: any
6464
protected hasSelect: boolean
65+
private hasSaved: boolean
6566
private customColumns: Record<string, unknown> = {}
67+
6668
constructor(post: Partial<PostType> | null) {
6769
if (post) {
6870
this.attributes = { ...post }
@@ -80,6 +82,7 @@ export class PostModel {
8082
this.updateFromQuery = DB.instance.updateTable('posts')
8183
this.deleteFromQuery = DB.instance.deleteFrom('posts')
8284
this.hasSelect = false
85+
this.hasSaved = false
8386
}
8487

8588
get user_id(): number | undefined {
@@ -155,6 +158,10 @@ export class PostModel {
155158
})
156159
}
157160

161+
wasChanged(column?: keyof PostType): boolean {
162+
return this.hasSaved && this.isDirty(column)
163+
}
164+
158165
select(params: (keyof PostType)[] | RawBuilder<string> | string): PostModel {
159166
return PostModel.select(params)
160167
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ export class ProductModel {
6363
protected updateFromQuery: any
6464
protected deleteFromQuery: any
6565
protected hasSelect: boolean
66+
private hasSaved: boolean
6667
private customColumns: Record<string, unknown> = {}
68+
6769
constructor(product: Partial<ProductType> | null) {
6870
if (product) {
6971
this.attributes = { ...product }
@@ -81,6 +83,7 @@ export class ProductModel {
8183
this.updateFromQuery = DB.instance.updateTable('products')
8284
this.deleteFromQuery = DB.instance.deleteFrom('products')
8385
this.hasSelect = false
86+
this.hasSaved = false
8487
}
8588

8689
get id(): number | undefined {
@@ -196,6 +199,10 @@ export class ProductModel {
196199
})
197200
}
198201

202+
wasChanged(column?: keyof ProductType): boolean {
203+
return this.hasSaved && this.isDirty(column)
204+
}
205+
199206
select(params: (keyof ProductType)[] | RawBuilder<string> | string): ProductModel {
200207
return ProductModel.select(params)
201208
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ export class ProjectModel {
5959
protected updateFromQuery: any
6060
protected deleteFromQuery: any
6161
protected hasSelect: boolean
62+
private hasSaved: boolean
6263
private customColumns: Record<string, unknown> = {}
64+
6365
constructor(project: Partial<ProjectType> | null) {
6466
if (project) {
6567
this.attributes = { ...project }
@@ -77,6 +79,7 @@ export class ProjectModel {
7779
this.updateFromQuery = DB.instance.updateTable('projects')
7880
this.deleteFromQuery = DB.instance.deleteFrom('projects')
7981
this.hasSelect = false
82+
this.hasSaved = false
8083
}
8184

8285
get id(): number | undefined {
@@ -160,6 +163,10 @@ export class ProjectModel {
160163
})
161164
}
162165

166+
wasChanged(column?: keyof ProjectType): boolean {
167+
return this.hasSaved && this.isDirty(column)
168+
}
169+
163170
select(params: (keyof ProjectType)[] | RawBuilder<string> | string): ProjectModel {
164171
return ProjectModel.select(params)
165172
}

0 commit comments

Comments
 (0)