Skip to content

Commit d890b80

Browse files
committed
chore: wip
1 parent af9df0c commit d890b80

File tree

1 file changed

+38
-30
lines changed
  • storage/framework/core/orm/src/generated

1 file changed

+38
-30
lines changed

storage/framework/core/orm/src/generated/User.ts

Lines changed: 38 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ export type NewUser = Insertable<UsersTable>
3333
export type UserUpdate = Updateable<UsersTable>
3434

3535
export class UserModel {
36-
private userData: Partial<UserType>
36+
private user: Partial<UserType>
3737

3838
// TODO: this hidden functionality needs to be implemented still
3939
private hidden = ['password']
4040

41-
constructor(userData: Partial<UserType>) {
42-
this.userData = userData
41+
constructor(user: Partial<UserType>) {
42+
this.user = user
4343
}
4444

4545
// Method to find a user by ID
@@ -51,12 +51,12 @@ export class UserModel {
5151
else
5252
query = query.selectAll()
5353

54-
const userData = await query.executeTakeFirst()
54+
const user = await query.executeTakeFirst()
5555

56-
if (!userData)
56+
if (!user)
5757
return null
5858

59-
return new UserModel(userData)
59+
return new UserModel(user)
6060
}
6161

6262
// Method to get a user by criteria
@@ -117,15 +117,15 @@ export class UserModel {
117117

118118
// Method to find a user by email
119119
static async findByEmail(email: string): Promise<UserModel | null> {
120-
const userData = await db.selectFrom('users')
120+
const user = await db.selectFrom('users')
121121
.where('email', '=', email)
122122
.selectAll()
123123
.executeTakeFirst()
124124

125-
if (!userData)
125+
if (!user)
126126
return null
127127

128-
return new UserModel(userData)
128+
return new UserModel(user)
129129
}
130130

131131
async where(criteria: Partial<UserType>) {
@@ -172,78 +172,86 @@ export class UserModel {
172172

173173
// Method to get the user instance data
174174
get() {
175-
return this.userData
175+
return this.user
176176
}
177177

178178
// Method to update the user instance
179-
async update(userUpdate: UserUpdate): Promise<Result<UserType, Error>> {
180-
if (this.userData.id === undefined)
179+
async update(user: UserUpdate): Promise<Result<UserType, Error>> {
180+
if (this.user.id === undefined)
181181
return err(handleError('User ID is undefined'))
182182

183183
const updatedUser = await db.updateTable('users')
184-
.set(userUpdate)
185-
.where('id', '=', this.userData.id)
184+
.set(user)
185+
.where('id', '=', this.user.id)
186186
.returningAll()
187187
.executeTakeFirst()
188188

189189
if (!updatedUser)
190190
return err(handleError('User not found'))
191191

192-
this.userData = updatedUser
192+
this.user = updatedUser
193193

194194
return ok(updatedUser)
195195
}
196196

197197
// Method to save (insert or update) the user instance
198198
async save(): Promise<void> {
199-
if (this.userData.id === undefined) {
199+
if (!this.user)
200+
throw new Error('User data is undefined')
201+
202+
if (this.user.id === undefined) {
200203
// Insert new user
201204
const newUser = await db.insertInto('users')
202-
.values(this.userData)
205+
.values(this.user)
203206
.returningAll()
204207
.executeTakeFirstOrThrow()
205-
this.userData = newUser
208+
this.user = newUser
206209
}
207210
else {
208211
// Update existing user
209-
await this.update(this.userData as UserUpdate)
212+
await this.update(this.user)
210213
}
211214
}
212215

213216
// Method to delete the user instance
214217
async delete(): Promise<void> {
215-
if (this.userData.id === undefined)
218+
if (this.user.id === undefined)
216219
throw new Error('User ID is undefined')
217220

218221
await db.deleteFrom('users')
219-
.where('id', '=', this.userData.id)
222+
.where('id', '=', this.user.id)
220223
.execute()
221-
this.userData = {}
224+
225+
this.user = {}
222226
}
223227

224228
// Method to refresh the user instance data from the database
225229
async refresh(): Promise<void> {
226-
if (this.userData.id === undefined)
230+
if (this.user.id === undefined)
227231
throw new Error('User ID is undefined')
228232

229233
const refreshedUser = await db.selectFrom('users')
230-
.where('id', '=', this.userData.id)
234+
.where('id', '=', this.user.id)
231235
.selectAll()
232236
.executeTakeFirst()
233237

234238
if (!refreshedUser)
235239
throw new Error('User not found')
236240

237-
this.userData = refreshedUser
241+
this.user = refreshedUser
238242
}
239243

240244
toJSON() {
241-
const output: Partial<UserType> = { ...this.userData }
245+
const output: Partial<UserType> = { ...this.user }
246+
242247
this.hidden.forEach((attr) => {
243248
if (attr in output)
244249
delete output[attr as keyof Partial<UserType>]
245250
})
246-
return output
251+
252+
type User = Omit<UserType, 'password'>
253+
254+
return output as User
247255
}
248256
}
249257

@@ -258,12 +266,12 @@ export async function find(id: number, fields?: (keyof UserType)[]) {
258266
else
259267
query = query.selectAll()
260268

261-
const userData = await query.executeTakeFirst()
269+
const user = await query.executeTakeFirst()
262270

263-
if (!userData)
271+
if (!user)
264272
return null
265273

266-
return new UserModel(userData)
274+
return new UserModel(user)
267275
}
268276

269277
export async function get(criteria: Partial<UserType>, sort: { column: keyof UserType, order: 'asc' | 'desc' } = { column: 'created_at', order: 'desc' }) {

0 commit comments

Comments
 (0)