Fix type error with null being an invalid value (#213)
parent
51bc3d93c1
commit
e5827b035d
|
@ -38,7 +38,14 @@ export async function patchHandler(req: NextApiRequest) {
|
||||||
where: { id: teamId, members: { some: { userId, role: { in: ["OWNER", "ADMIN"] } } } },
|
where: { id: teamId, members: { some: { userId, role: { in: ["OWNER", "ADMIN"] } } } },
|
||||||
});
|
});
|
||||||
if (!_team) throw new HttpError({ statusCode: 401, message: "Unauthorized: OWNER or ADMIN required" });
|
if (!_team) throw new HttpError({ statusCode: 401, message: "Unauthorized: OWNER or ADMIN required" });
|
||||||
const team = await prisma.team.update({ where: { id: teamId }, data });
|
// TODO: Perhaps there is a better fix for this?
|
||||||
|
const cloneData: typeof data & {
|
||||||
|
metadata: NonNullable<typeof data.metadata> | undefined;
|
||||||
|
} = {
|
||||||
|
...data,
|
||||||
|
metadata: data.metadata === null ? {} : data.metadata || undefined,
|
||||||
|
};
|
||||||
|
const team = await prisma.team.update({ where: { id: teamId }, data: cloneData });
|
||||||
return { team: schemaTeamReadPublic.parse(team) };
|
return { team: schemaTeamReadPublic.parse(team) };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,16 @@ import { schemaTeamBodyParams, schemaTeamReadPublic } from "@lib/validations/tea
|
||||||
async function postHandler(req: NextApiRequest) {
|
async function postHandler(req: NextApiRequest) {
|
||||||
const { prisma, body, userId } = req;
|
const { prisma, body, userId } = req;
|
||||||
const data = schemaTeamBodyParams.parse(body);
|
const data = schemaTeamBodyParams.parse(body);
|
||||||
|
// TODO: Perhaps there is a better fix for this?
|
||||||
|
const cloneData: typeof data & {
|
||||||
|
metadata: NonNullable<typeof data.metadata> | undefined;
|
||||||
|
} = {
|
||||||
|
...data,
|
||||||
|
metadata: data.metadata === null ? {} : data.metadata || undefined,
|
||||||
|
};
|
||||||
const team = await prisma.team.create({
|
const team = await prisma.team.create({
|
||||||
data: {
|
data: {
|
||||||
...data,
|
...cloneData,
|
||||||
members: {
|
members: {
|
||||||
// We're also creating the relation membership of team ownership in this call.
|
// We're also creating the relation membership of team ownership in this call.
|
||||||
create: { userId, role: "OWNER", accepted: true },
|
create: { userId, role: "OWNER", accepted: true },
|
||||||
|
|
Loading…
Reference in New Issue