Skip to content

Commit 7241e06

Browse files
committed
Remove insertId
1 parent a0d6fb4 commit 7241e06

File tree

4 files changed

+87
-73
lines changed

4 files changed

+87
-73
lines changed

src/app/api/upload/place-image/route.ts

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,22 @@ export const POST = withAxiom(async (request) => {
3030
})
3131

3232
const rawDate = formData.get('captureDate')?.toString()
33-
const insertImageResult = await db
34-
.insert(images)
35-
.values({
36-
...image,
37-
alt: formData.get('alt')?.toString(),
38-
source: formData.get('source')?.toString(),
39-
captureDate: rawDate ? new Date(rawDate) : null,
40-
})
41-
.execute()
42-
const imageId = Number(insertImageResult.insertId)
33+
const newImage = (
34+
await db
35+
.insert(images)
36+
.values({
37+
...image,
38+
alt: formData.get('alt')?.toString(),
39+
source: formData.get('source')?.toString(),
40+
captureDate: rawDate ? new Date(rawDate) : null,
41+
})
42+
.returning()
43+
.execute()
44+
)[0]
4345

4446
return NextResponse.json({
4547
image: {
46-
id: imageId,
48+
id: newImage.id,
4749
...image,
4850
},
4951
} satisfies UploadPlaceImageResponse)

src/server/api/router/admin/places.ts

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -211,30 +211,35 @@ export const placesAdminRouter = router({
211211
.input(createPlaceSchema)
212212
.mutation(async ({ input }) => {
213213
await db.transaction(async (tx) => {
214-
const insertFeaturesResult = await tx
215-
.insert(features)
216-
.values({ ...input.features })
217-
218-
const featuresId = Number(insertFeaturesResult.insertId)
214+
const newFeatures = (
215+
await tx
216+
.insert(features)
217+
.values({ ...input.features })
218+
.returning()
219+
)[0]
219220

220-
const insertPlaceResult = await tx.insert(places).values({
221-
name: input.name,
222-
description: input.description,
223-
googleMapsId: input.googleMapsId,
224-
mainCategoryId: input.mainCategory,
225-
mainImageId: input.mainImageId,
226-
location: pointToString(input.location),
227-
importance: input.importance,
228-
content: input.content,
229-
verificationRequirementsId: 1,
230-
featuresId,
231-
})
232-
const newPlaceId = Number(insertPlaceResult.insertId)
221+
const newPlace = (
222+
await tx
223+
.insert(places)
224+
.values({
225+
name: input.name,
226+
description: input.description,
227+
googleMapsId: input.googleMapsId,
228+
mainCategoryId: input.mainCategory,
229+
mainImageId: input.mainImageId,
230+
location: pointToString(input.location),
231+
importance: input.importance,
232+
content: input.content,
233+
verificationRequirementsId: 1,
234+
featuresId: newFeatures.id,
235+
})
236+
.returning()
237+
)[0]
233238

234239
if (input.categories.length > 0) {
235240
await tx.insert(placesToPlaceCategories).values(
236241
input.categories.map((categoryId) => ({
237-
placeId: newPlaceId,
242+
placeId: newPlace.id,
238243
categoryId: categoryId,
239244
}))
240245
)
@@ -243,13 +248,13 @@ export const placesAdminRouter = router({
243248
if (input.externalLinks.length > 0) {
244249
await tx.insert(externalLinks).values(
245250
input.externalLinks.map((externalLink) => ({
246-
placeId: newPlaceId,
251+
placeId: newPlace.id,
247252
...externalLink,
248253
}))
249254
)
250255
}
251256

252-
return newPlaceId
257+
return newPlace.id
253258
})
254259
}),
255260
editPlace: adminProcedure

src/server/api/router/admin/routes.ts

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -213,28 +213,33 @@ export const routesAdminRouter = router({
213213
.input(createRouteSchema)
214214
.mutation(async ({ input }) => {
215215
await db.transaction(async (tx) => {
216-
const insertFeaturesResult = await tx
217-
.insert(features)
218-
.values({ ...input.features })
219-
220-
const featuresId = Number(insertFeaturesResult.insertId)
216+
const newFeatures = (
217+
await tx
218+
.insert(features)
219+
.values({ ...input.features })
220+
.returning()
221+
)[0]
221222

222-
const insertRouteResult = await tx.insert(routes).values({
223-
name: input.name,
224-
description: input.description,
225-
mainCategoryId: input.mainCategory,
226-
path: multiLineToString(input.path),
227-
importance: input.importance,
228-
content: input.content,
229-
verificationRequirementsId: 1,
230-
featuresId,
231-
})
232-
const newRouteId = Number(insertRouteResult.insertId)
223+
const newRoute = (
224+
await tx
225+
.insert(routes)
226+
.values({
227+
name: input.name,
228+
description: input.description,
229+
mainCategoryId: input.mainCategory,
230+
path: multiLineToString(input.path),
231+
importance: input.importance,
232+
content: input.content,
233+
verificationRequirementsId: 1,
234+
featuresId: newFeatures.id,
235+
})
236+
.returning()
237+
)[0]
233238

234239
if (input.categories.length > 0) {
235240
await tx.insert(routesToRouteCategories).values(
236241
input.categories.map((categoryId) => ({
237-
routeId: newRouteId,
242+
routeId: newRoute.id,
238243
categoryId: categoryId,
239244
}))
240245
)
@@ -243,13 +248,13 @@ export const routesAdminRouter = router({
243248
if (input.externalLinks.length > 0) {
244249
await tx.insert(externalLinks).values(
245250
input.externalLinks.map((externalLink) => ({
246-
routeId: newRouteId,
251+
routeId: newRoute.id,
247252
...externalLink,
248253
}))
249254
)
250255
}
251256

252-
return newRouteId
257+
return newRoute.id
253258
})
254259
}),
255260
editRoute: adminProcedure

src/server/helpers/auth/initialize-user.ts

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,41 +26,43 @@ export async function initializeUserInDatabase(newUser: {
2626

2727
const userId = uuidv4()
2828

29-
const visitedPlaceListId = Number(
30-
(
31-
await tx.insert(placeLists).values({
29+
const newVisitedPlaceList = (
30+
await tx
31+
.insert(placeLists)
32+
.values({
3233
userId,
3334
})
34-
).insertId
35-
)
35+
.returning()
36+
)[0]
3637

3738
if (
3839
!(
3940
await tx.query.placeLists.findFirst({
4041
columns: { id: true },
41-
where: eq(placeLists.id, visitedPlaceListId),
42+
where: eq(placeLists.id, newVisitedPlaceList.id),
4243
})
4344
)?.id
4445
) {
4546
throw new Error('Error creating visitedPlaceList')
4647
}
4748

48-
await tx.insert(users).values({
49-
id: userId,
50-
email: newUser.email,
51-
emailVerified: newUser.emailVerified,
52-
name: newUser.name,
53-
image: newUser.image,
54-
hashedPassword: newUser.password
55-
? bcrypt.hashSync(newUser.password, 10)
56-
: null,
57-
visitedPlaceListId: visitedPlaceListId,
58-
})
49+
const createdUser = (
50+
await tx
51+
.insert(users)
52+
.values({
53+
id: userId,
54+
email: newUser.email,
55+
emailVerified: newUser.emailVerified,
56+
name: newUser.name,
57+
image: newUser.image,
58+
hashedPassword: newUser.password
59+
? bcrypt.hashSync(newUser.password, 10)
60+
: null,
61+
visitedPlaceListId: newVisitedPlaceList.id,
62+
})
63+
.returning()
64+
)[0]
5965

60-
return await tx
61-
.select()
62-
.from(users)
63-
.where(eq(users.id, userId))
64-
.then((res) => res[0])
66+
return createdUser
6567
})
6668
}

0 commit comments

Comments
 (0)