Update: change identifiers to cuid

This commit is contained in:
Aaron William Po
2023-05-28 21:24:59 -04:00
parent 2b026b7e5f
commit bc298bce0e
26 changed files with 51 additions and 41 deletions

View File

@@ -38,7 +38,7 @@ const LoginForm = () => {
await mutate!();
toast.remove(loadingToast);
toast.success('Logged in!');
await router.push(`/user/current`);
await router.push(`/users/current`);
} catch (error) {
toast.remove(loadingToast);
createErrorToast(error);

View File

@@ -4,7 +4,7 @@ import { NextApiRequest } from 'next';
import { z } from 'zod';
export const BasicUserInfoSchema = z.object({
id: z.string().uuid(),
id: z.string().cuid(),
username: z.string(),
});

View File

@@ -39,6 +39,7 @@ const useUser = () => {
const parsedPayload = GetUserSchema.safeParse(parsed.data.payload);
console.log(parsedPayload)
if (!parsedPayload.success) {
throw new Error(parsedPayload.error.message);
}
@@ -46,6 +47,7 @@ const useUser = () => {
return parsedPayload.data;
});
return { user, isLoading, error: error as unknown, mutate };
};

View File

@@ -85,14 +85,14 @@ const router = createRouter<
router
.delete(
validateRequest({ querySchema: z.object({ id: z.string().uuid() }) }),
validateRequest({ querySchema: z.object({ id: z.string().cuid() }) }),
getCurrentUser,
checkIfCommentOwner,
deleteComment,
)
.put(
validateRequest({
querySchema: z.object({ id: z.string().uuid() }),
querySchema: z.object({ id: z.string().cuid() }),
bodySchema: CreateCommentValidationSchema,
}),
getCurrentUser,

View File

@@ -79,7 +79,7 @@ const router = createRouter<
router.post(
validateRequest({
bodySchema: CreateCommentValidationSchema,
querySchema: z.object({ id: z.string().uuid() }),
querySchema: z.object({ id: z.string().cuid() }),
}),
getCurrentUser,
createComment,
@@ -88,7 +88,7 @@ router.post(
router.get(
validateRequest({
querySchema: z.object({
id: z.string().uuid(),
id: z.string().cuid(),
page_size: z.coerce.number().int().positive(),
page_num: z.coerce.number().int().positive(),
}),

View File

@@ -70,12 +70,12 @@ const router = createRouter<
router.post(
getCurrentUser,
validateRequest({ querySchema: z.object({ id: z.string().uuid() }) }),
validateRequest({ querySchema: z.object({ id: z.string().cuid() }) }),
sendLikeRequest,
);
router.get(
validateRequest({ querySchema: z.object({ id: z.string().uuid() }) }),
validateRequest({ querySchema: z.object({ id: z.string().cuid() }) }),
getLikeCount,
);

View File

@@ -32,7 +32,7 @@ const router = createRouter<
router.get(
getCurrentUser,
validateRequest({ querySchema: z.object({ id: z.string().uuid() }) }),
validateRequest({ querySchema: z.object({ id: z.string().cuid() }) }),
checkIfLiked,
);

View File

@@ -50,7 +50,7 @@ const getBeerRecommendationsRequest = async (
router.get(
validateRequest({
querySchema: z.object({
id: z.string().uuid(),
id: z.string().cuid(),
page_num: z.string().regex(/^[0-9]+$/),
page_size: z.string().regex(/^[0-9]+$/),
}),

View File

@@ -89,7 +89,7 @@ const router = createRouter<
router.post(
validateRequest({
bodySchema: CreateCommentValidationSchema,
querySchema: z.object({ id: z.string().uuid() }),
querySchema: z.object({ id: z.string().cuid() }),
}),
getCurrentUser,
createComment,
@@ -98,7 +98,7 @@ router.post(
router.get(
validateRequest({
querySchema: z.object({
id: z.string().uuid(),
id: z.string().cuid(),
page_size: z.coerce.number().int().positive(),
page_num: z.coerce.number().int().positive(),
}),

View File

@@ -83,12 +83,12 @@ const router = createRouter<
router.post(
getCurrentUser,
validateRequest({ querySchema: z.object({ id: z.string().uuid() }) }),
validateRequest({ querySchema: z.object({ id: z.string().cuid() }) }),
sendLikeRequest,
);
router.get(
validateRequest({ querySchema: z.object({ id: z.string().uuid() }) }),
validateRequest({ querySchema: z.object({ id: z.string().cuid() }) }),
getLikeCount,
);

View File

@@ -39,7 +39,7 @@ router.get(
getCurrentUser,
validateRequest({
querySchema: z.object({
id: z.string().uuid(),
id: z.string().cuid(),
}),
}),
checkIfLiked,

View File

@@ -87,14 +87,14 @@ const router = createRouter<
router
.delete(
validateRequest({ querySchema: z.object({ id: z.string().uuid() }) }),
validateRequest({ querySchema: z.object({ id: z.string().cuid() }) }),
getCurrentUser,
checkIfCommentOwner,
deleteComment,
)
.put(
validateRequest({
querySchema: z.object({ id: z.string().uuid() }),
querySchema: z.object({ id: z.string().cuid() }),
bodySchema: CreateCommentValidationSchema,
}),
getCurrentUser,

View File

@@ -97,7 +97,7 @@ router.put(
getCurrentUser,
validateRequest({
bodySchema: EditUserSchema,
querySchema: z.object({ id: z.string().uuid() }),
querySchema: z.object({ id: z.string().cuid() }),
}),
checkIfUserCanEditUser,
editUser,

6
src/pages/users/[id].tsx Normal file
View File

@@ -0,0 +1,6 @@
import { FC } from "react"
const UserInfoPage: FC = () => null
export default UserInfoPage

View File

@@ -13,7 +13,7 @@ datasource db {
}
model User {
id String @id @default(uuid())
id String @id @default(cuid())
username String @unique
firstName String
lastName String
@@ -36,7 +36,7 @@ model User {
}
model BeerPost {
id String @id @default(uuid())
id String @id @default(cuid())
name String
ibu Float
abv Float
@@ -55,7 +55,7 @@ model BeerPost {
}
model BeerPostLike {
id String @id @default(uuid())
id String @id @default(cuid())
beerPost BeerPost @relation(fields: [beerPostId], references: [id], onDelete: Cascade)
beerPostId String
likedBy User @relation(fields: [likedById], references: [id], onDelete: Cascade)
@@ -65,7 +65,7 @@ model BeerPostLike {
}
model BreweryPostLike {
id String @id @default(uuid())
id String @id @default(cuid())
breweryPost BreweryPost @relation(fields: [breweryPostId], references: [id], onDelete: Cascade)
breweryPostId String
likedBy User @relation(fields: [likedById], references: [id], onDelete: Cascade)
@@ -75,7 +75,7 @@ model BreweryPostLike {
}
model BeerComment {
id String @id @default(uuid())
id String @id @default(cuid())
rating Int
beerPost BeerPost @relation(fields: [beerPostId], references: [id], onDelete: Cascade)
beerPostId String
@@ -87,7 +87,7 @@ model BeerComment {
}
model BeerType {
id String @id @default(uuid())
id String @id @default(cuid())
name String
createdAt DateTime @default(now()) @db.Timestamptz(3)
updatedAt DateTime? @updatedAt @db.Timestamptz(3)
@@ -97,7 +97,7 @@ model BeerType {
}
model Location {
id String @id @default(uuid())
id String @id @default(cuid())
city String
stateOrProvince String?
country String?
@@ -109,7 +109,7 @@ model Location {
}
model BreweryPost {
id String @id @default(uuid())
id String @id @default(cuid())
name String
location Location @relation(fields: [locationId], references: [id])
locationId String @unique
@@ -126,7 +126,7 @@ model BreweryPost {
}
model BreweryComment {
id String @id @default(uuid())
id String @id @default(cuid())
rating Int
breweryPost BreweryPost @relation(fields: [breweryPostId], references: [id], onDelete: Cascade)
breweryPostId String
@@ -138,7 +138,7 @@ model BreweryComment {
}
model BeerImage {
id String @id @default(uuid())
id String @id @default(cuid())
beerPost BeerPost @relation(fields: [beerPostId], references: [id], onDelete: Cascade)
beerPostId String
path String
@@ -151,7 +151,7 @@ model BeerImage {
}
model BreweryImage {
id String @id @default(uuid())
id String @id @default(cuid())
breweryPost BreweryPost @relation(fields: [breweryPostId], references: [id], onDelete: Cascade)
breweryPostId String
path String

View File

@@ -5,7 +5,7 @@ import APIResponseValidationSchema from '@/validation/APIResponseValidationSchem
import { z } from 'zod';
const BeerCommentValidationSchemaWithId = CreateCommentValidationSchema.extend({
beerPostId: z.string().uuid(),
beerPostId: z.string().cuid(),
});
const sendCreateBeerCommentRequest = async ({

View File

@@ -3,8 +3,8 @@ import { z } from 'zod';
import CreateCommentValidationSchema from '../types/CommentSchema/CreateCommentValidationSchema';
const CreateNewBeerCommentServiceSchema = CreateCommentValidationSchema.extend({
userId: z.string().uuid(),
beerPostId: z.string().uuid(),
userId: z.string().cuid(),
beerPostId: z.string().cuid(),
});
const createNewBeerComment = async ({

View File

@@ -4,7 +4,7 @@ import beerPostQueryResult from './schema/BeerPostQueryResult';
import CreateBeerPostValidationSchema from './schema/CreateBeerPostValidationSchema';
const CreateBeerPostWithUserSchema = CreateBeerPostValidationSchema.extend({
userId: z.string().uuid(),
userId: z.string().cuid(),
});
const createNewBeerPost = async ({

View File

@@ -31,13 +31,13 @@ const CreateBeerPostValidationSchema = z.object({
required_error: 'Type id is required.',
invalid_type_error: 'Type id must be a string.',
})
.uuid({ message: 'Invalid type id.' }),
.cuid({ message: 'Invalid type id.' }),
breweryId: z
.string({
required_error: 'Brewery id is required.',
invalid_type_error: 'Brewery id must be a string.',
})
.uuid({ message: 'Invalid brewery id.' }),
.cuid({ message: 'Invalid brewery id.' }),
});
export default CreateBeerPostValidationSchema;

View File

@@ -4,6 +4,6 @@ import CreateBeerPostValidationSchema from './CreateBeerPostValidationSchema';
const EditBeerPostValidationSchema = CreateBeerPostValidationSchema.omit({
breweryId: true,
typeId: true,
}).extend({ id: z.string().uuid() });
}).extend({ id: z.string().cuid() });
export default EditBeerPostValidationSchema;

View File

@@ -3,8 +3,8 @@ import { z } from 'zod';
import CreateCommentValidationSchema from '../types/CommentSchema/CreateCommentValidationSchema';
const CreateNewBreweryCommentServiceSchema = CreateCommentValidationSchema.extend({
userId: z.string().uuid(),
breweryPostId: z.string().uuid(),
userId: z.string().cuid(),
breweryPostId: z.string().cuid(),
});
const createNewBreweryComment = async ({

View File

@@ -15,6 +15,7 @@ const findUserById = async (id: string) => {
dateOfBirth: true,
createdAt: true,
accountIsVerified: true,
updatedAt: true
},
});

View File

@@ -1,7 +1,7 @@
import { z } from 'zod';
const GetUserSchema = z.object({
id: z.string().uuid(),
id: z.string().cuid(),
username: z.string(),
createdAt: z.coerce.date(),
updatedAt: z.coerce.date().nullable(),

View File

@@ -14,6 +14,7 @@ const updateUserToBeConfirmedById = async (id: string) => {
createdAt: true,
firstName: true,
lastName: true,
updatedAt: true,
dateOfBirth: true,
},
});

View File

@@ -1,12 +1,12 @@
import { z } from 'zod';
const CommentQueryResult = z.object({
id: z.string().uuid(),
id: z.string().cuid(),
content: z.string().min(1).max(500),
rating: z.number().int().min(1).max(5),
createdAt: z.coerce.date(),
postedBy: z.object({
id: z.string().uuid(),
id: z.string().cuid(),
username: z.string().min(1).max(50),
}),
});