Skip to content

Commit cdc4984

Browse files
chore: wip
1 parent 7660201 commit cdc4984

File tree

17 files changed

+425
-0
lines changed

17 files changed

+425
-0
lines changed

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1730,6 +1730,17 @@ export async function generateModelString(
17301730
this.hasSelect = false
17311731
}
17321732
1733+
static select(params: (keyof ${modelName}Type)[] | Sql): ${modelName}Model {
1734+
const instance = new ${modelName}Model(null)
1735+
1736+
// Initialize a query with the table name and selected fields
1737+
instance.selectFromQuery = instance.selectFromQuery.select(params)
1738+
1739+
instance.hasSelect = true
1740+
1741+
return instance
1742+
}
1743+
17331744
// Method to find a ${modelName} by ID
17341745
async find(id: number): Promise<${modelName}Model | undefined> {
17351746
let query = db.selectFrom('${tableName}').where('id', '=', id).selectAll()
@@ -2435,12 +2446,26 @@ export async function generateModelString(
24352446
return instance
24362447
}
24372448
2449+
static groupBy(column: keyof ${modelName}Type): ${modelName}Model {
2450+
const instance = new ${modelName}Model(null)
2451+
2452+
instance.selectFromQuery = instance.selectFromQuery.orderBy(column)
2453+
2454+
return instance
2455+
}
2456+
24382457
orderBy(column: keyof ${modelName}Type, order: 'asc' | 'desc'): ${modelName}Model {
24392458
this.selectFromQuery = this.selectFromQuery.orderBy(column, order)
24402459
24412460
return this
24422461
}
24432462
2463+
groupBy(column: keyof ${modelName}Type): ${modelName}Model {
2464+
this.selectFromQuery = this.selectFromQuery.groupBy(column)
2465+
2466+
return this
2467+
}
2468+
24442469
static orderByDesc(column: keyof ${modelName}Type): ${modelName}Model {
24452470
const instance = new ${modelName}Model(null)
24462471

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,17 @@ export class AccessTokenModel {
8989
this.hasSelect = false
9090
}
9191

92+
static select(params: (keyof AccessTokenType)[] | Sql): AccessTokenModel {
93+
const instance = new AccessTokenModel(null)
94+
95+
// Initialize a query with the table name and selected fields
96+
instance.selectFromQuery = instance.selectFromQuery.select(params)
97+
98+
instance.hasSelect = true
99+
100+
return instance
101+
}
102+
92103
// Method to find a AccessToken by ID
93104
async find(id: number): Promise<AccessTokenModel | undefined> {
94105
const query = db.selectFrom('personal_access_tokens').where('id', '=', id).selectAll()
@@ -792,12 +803,26 @@ export class AccessTokenModel {
792803
return instance
793804
}
794805

806+
static groupBy(column: keyof AccessTokenType): AccessTokenModel {
807+
const instance = new AccessTokenModel(null)
808+
809+
instance.selectFromQuery = instance.selectFromQuery.orderBy(column)
810+
811+
return instance
812+
}
813+
795814
orderBy(column: keyof AccessTokenType, order: 'asc' | 'desc'): AccessTokenModel {
796815
this.selectFromQuery = this.selectFromQuery.orderBy(column, order)
797816

798817
return this
799818
}
800819

820+
groupBy(column: keyof AccessTokenType): AccessTokenModel {
821+
this.selectFromQuery = this.selectFromQuery.groupBy(column)
822+
823+
return this
824+
}
825+
801826
static orderByDesc(column: keyof AccessTokenType): AccessTokenModel {
802827
const instance = new AccessTokenModel(null)
803828

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,17 @@ export class DeploymentModel {
102102
this.hasSelect = false
103103
}
104104

105+
static select(params: (keyof DeploymentType)[] | Sql): DeploymentModel {
106+
const instance = new DeploymentModel(null)
107+
108+
// Initialize a query with the table name and selected fields
109+
instance.selectFromQuery = instance.selectFromQuery.select(params)
110+
111+
instance.hasSelect = true
112+
113+
return instance
114+
}
115+
105116
// Method to find a Deployment by ID
106117
async find(id: number): Promise<DeploymentModel | undefined> {
107118
const query = db.selectFrom('deployments').where('id', '=', id).selectAll()
@@ -835,12 +846,26 @@ export class DeploymentModel {
835846
return instance
836847
}
837848

849+
static groupBy(column: keyof DeploymentType): DeploymentModel {
850+
const instance = new DeploymentModel(null)
851+
852+
instance.selectFromQuery = instance.selectFromQuery.orderBy(column)
853+
854+
return instance
855+
}
856+
838857
orderBy(column: keyof DeploymentType, order: 'asc' | 'desc'): DeploymentModel {
839858
this.selectFromQuery = this.selectFromQuery.orderBy(column, order)
840859

841860
return this
842861
}
843862

863+
groupBy(column: keyof DeploymentType): DeploymentModel {
864+
this.selectFromQuery = this.selectFromQuery.groupBy(column)
865+
866+
return this
867+
}
868+
844869
static orderByDesc(column: keyof DeploymentType): DeploymentModel {
845870
const instance = new DeploymentModel(null)
846871

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,17 @@ export class ErrorModel {
8383
this.hasSelect = false
8484
}
8585

86+
static select(params: (keyof ErrorType)[] | Sql): ErrorModel {
87+
const instance = new ErrorModel(null)
88+
89+
// Initialize a query with the table name and selected fields
90+
instance.selectFromQuery = instance.selectFromQuery.select(params)
91+
92+
instance.hasSelect = true
93+
94+
return instance
95+
}
96+
8697
// Method to find a Error by ID
8798
async find(id: number): Promise<ErrorModel | undefined> {
8899
const query = db.selectFrom('errors').where('id', '=', id).selectAll()
@@ -790,12 +801,26 @@ export class ErrorModel {
790801
return instance
791802
}
792803

804+
static groupBy(column: keyof ErrorType): ErrorModel {
805+
const instance = new ErrorModel(null)
806+
807+
instance.selectFromQuery = instance.selectFromQuery.orderBy(column)
808+
809+
return instance
810+
}
811+
793812
orderBy(column: keyof ErrorType, order: 'asc' | 'desc'): ErrorModel {
794813
this.selectFromQuery = this.selectFromQuery.orderBy(column, order)
795814

796815
return this
797816
}
798817

818+
groupBy(column: keyof ErrorType): ErrorModel {
819+
this.selectFromQuery = this.selectFromQuery.groupBy(column)
820+
821+
return this
822+
}
823+
799824
static orderByDesc(column: keyof ErrorType): ErrorModel {
800825
const instance = new ErrorModel(null)
801826

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,17 @@ export class FailedJobModel {
8383
this.hasSelect = false
8484
}
8585

86+
static select(params: (keyof FailedJobType)[] | Sql): FailedJobModel {
87+
const instance = new FailedJobModel(null)
88+
89+
// Initialize a query with the table name and selected fields
90+
instance.selectFromQuery = instance.selectFromQuery.select(params)
91+
92+
instance.hasSelect = true
93+
94+
return instance
95+
}
96+
8697
// Method to find a FailedJob by ID
8798
async find(id: number): Promise<FailedJobModel | undefined> {
8899
const query = db.selectFrom('failed_jobs').where('id', '=', id).selectAll()
@@ -790,12 +801,26 @@ export class FailedJobModel {
790801
return instance
791802
}
792803

804+
static groupBy(column: keyof FailedJobType): FailedJobModel {
805+
const instance = new FailedJobModel(null)
806+
807+
instance.selectFromQuery = instance.selectFromQuery.orderBy(column)
808+
809+
return instance
810+
}
811+
793812
orderBy(column: keyof FailedJobType, order: 'asc' | 'desc'): FailedJobModel {
794813
this.selectFromQuery = this.selectFromQuery.orderBy(column, order)
795814

796815
return this
797816
}
798817

818+
groupBy(column: keyof FailedJobType): FailedJobModel {
819+
this.selectFromQuery = this.selectFromQuery.groupBy(column)
820+
821+
return this
822+
}
823+
799824
static orderByDesc(column: keyof FailedJobType): FailedJobModel {
800825
const instance = new FailedJobModel(null)
801826

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,17 @@ export class JobModel {
8383
this.hasSelect = false
8484
}
8585

86+
static select(params: (keyof JobType)[] | Sql): JobModel {
87+
const instance = new JobModel(null)
88+
89+
// Initialize a query with the table name and selected fields
90+
instance.selectFromQuery = instance.selectFromQuery.select(params)
91+
92+
instance.hasSelect = true
93+
94+
return instance
95+
}
96+
8697
// Method to find a Job by ID
8798
async find(id: number): Promise<JobModel | undefined> {
8899
const query = db.selectFrom('jobs').where('id', '=', id).selectAll()
@@ -790,12 +801,26 @@ export class JobModel {
790801
return instance
791802
}
792803

804+
static groupBy(column: keyof JobType): JobModel {
805+
const instance = new JobModel(null)
806+
807+
instance.selectFromQuery = instance.selectFromQuery.orderBy(column)
808+
809+
return instance
810+
}
811+
793812
orderBy(column: keyof JobType, order: 'asc' | 'desc'): JobModel {
794813
this.selectFromQuery = this.selectFromQuery.orderBy(column, order)
795814

796815
return this
797816
}
798817

818+
groupBy(column: keyof JobType): JobModel {
819+
this.selectFromQuery = this.selectFromQuery.groupBy(column)
820+
821+
return this
822+
}
823+
799824
static orderByDesc(column: keyof JobType): JobModel {
800825
const instance = new JobModel(null)
801826

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,17 @@ export class PaymentMethodModel {
108108
this.hasSelect = false
109109
}
110110

111+
static select(params: (keyof PaymentMethodType)[] | Sql): PaymentMethodModel {
112+
const instance = new PaymentMethodModel(null)
113+
114+
// Initialize a query with the table name and selected fields
115+
instance.selectFromQuery = instance.selectFromQuery.select(params)
116+
117+
instance.hasSelect = true
118+
119+
return instance
120+
}
121+
111122
// Method to find a PaymentMethod by ID
112123
async find(id: number): Promise<PaymentMethodModel | undefined> {
113124
const query = db.selectFrom('payment_methods').where('id', '=', id).selectAll()
@@ -845,12 +856,26 @@ export class PaymentMethodModel {
845856
return instance
846857
}
847858

859+
static groupBy(column: keyof PaymentMethodType): PaymentMethodModel {
860+
const instance = new PaymentMethodModel(null)
861+
862+
instance.selectFromQuery = instance.selectFromQuery.orderBy(column)
863+
864+
return instance
865+
}
866+
848867
orderBy(column: keyof PaymentMethodType, order: 'asc' | 'desc'): PaymentMethodModel {
849868
this.selectFromQuery = this.selectFromQuery.orderBy(column, order)
850869

851870
return this
852871
}
853872

873+
groupBy(column: keyof PaymentMethodType): PaymentMethodModel {
874+
this.selectFromQuery = this.selectFromQuery.groupBy(column)
875+
876+
return this
877+
}
878+
854879
static orderByDesc(column: keyof PaymentMethodType): PaymentMethodModel {
855880
const instance = new PaymentMethodModel(null)
856881

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,17 @@ export class PostModel {
8383
this.hasSelect = false
8484
}
8585

86+
static select(params: (keyof PostType)[] | Sql): PostModel {
87+
const instance = new PostModel(null)
88+
89+
// Initialize a query with the table name and selected fields
90+
instance.selectFromQuery = instance.selectFromQuery.select(params)
91+
92+
instance.hasSelect = true
93+
94+
return instance
95+
}
96+
8697
// Method to find a Post by ID
8798
async find(id: number): Promise<PostModel | undefined> {
8899
const query = db.selectFrom('posts').where('id', '=', id).selectAll()
@@ -770,12 +781,26 @@ export class PostModel {
770781
return instance
771782
}
772783

784+
static groupBy(column: keyof PostType): PostModel {
785+
const instance = new PostModel(null)
786+
787+
instance.selectFromQuery = instance.selectFromQuery.orderBy(column)
788+
789+
return instance
790+
}
791+
773792
orderBy(column: keyof PostType, order: 'asc' | 'desc'): PostModel {
774793
this.selectFromQuery = this.selectFromQuery.orderBy(column, order)
775794

776795
return this
777796
}
778797

798+
groupBy(column: keyof PostType): PostModel {
799+
this.selectFromQuery = this.selectFromQuery.groupBy(column)
800+
801+
return this
802+
}
803+
779804
static orderByDesc(column: keyof PostType): PostModel {
780805
const instance = new PostModel(null)
781806

0 commit comments

Comments
 (0)