P
Prisma9mo ago
matt

How to use enum?

I'm using Next.js and TypeScript for my project, but I'm getting an error when I attempt to call prisma create. Error: Type 'string' is not assignable to type 'Status | undefined'.ts(2322)
// page.tsx
const [name, setName] = useState('');
const [company, setCompany] = useState('');
const [status, setStatus] = useState('Applied');

async function handleSubmit(e: React.FormEvent<HTMLFormElement>) {
const result = await prisma.job.create({
data: {
name: name,
company: company,
status: status.toLocaleLowerCase(), // Error: Type 'string' is not assignable to type 'Status | undefined'.ts(2322)
},
});
}
// page.tsx
const [name, setName] = useState('');
const [company, setCompany] = useState('');
const [status, setStatus] = useState('Applied');

async function handleSubmit(e: React.FormEvent<HTMLFormElement>) {
const result = await prisma.job.create({
data: {
name: name,
company: company,
status: status.toLocaleLowerCase(), // Error: Type 'string' is not assignable to type 'Status | undefined'.ts(2322)
},
});
}
// schema.prisma
model Job {
id Int @id @default(autoincrement())
name String
company String
status Status @default(APPLIED)
}

enum Status {
OFFERED
REJECTED
APPLIED
PENDING
}
// schema.prisma
model Job {
id Int @id @default(autoincrement())
name String
company String
status Status @default(APPLIED)
}

enum Status {
OFFERED
REJECTED
APPLIED
PENDING
}
Does anyone know how to resolve this error? It looks like I need to use the enum instead of a string, but I'm not sure how to do that
5 Replies
LEGION
LEGION9mo ago
I think its should not be lower case It needs to be upper case Same as defined in enumeration
Unknown User
Unknown User9mo ago
Message Not Public
Sign In & Join Server To View
LEGION
LEGION9mo ago
u need to pass string What is Role.OFFERED?
Unknown User
Unknown User9mo ago
Message Not Public
Sign In & Join Server To View
matt
mattOP9mo ago
Thanks!
Want results from more Discord servers?
Add your server