oralify-backend
Version:
Express Node CRUD backend for Oralify
35 lines (25 loc) • 834 B
text/typescript
import { Request, Response } from "express";
import { supabase } from "../supabase";
import { RoleKey } from '../types/userTypes';
export const setRole = async (req: Request, res: Response): Promise<void> => {
const id = req.body.id;
const { role } = req.body;
if (!role) {
res.status(404).json({ error: 'Role required' });
return;
}
if (!Object.values(RoleKey).includes(role)) {
res.status(400).json({ error: 'Invalid role', message: 'Expected one of: ' + Object.values(RoleKey).join(', ') });
return;
}
const { error } = await supabase
.from('users')
.update({
role
})
.eq('id', id);
if (error) {
res.status(500).json({ error });
}
res.status(200).json({ message: 'Successfully updated', role });
}