27 lines
782 B
TypeScript
27 lines
782 B
TypeScript
// PURPOSE:
|
|
// - Provides functionality to create new user records in the database
|
|
// - Handles user input validation and submission
|
|
//
|
|
// RULES:
|
|
// - Must validate all required fields before submission
|
|
// - Should follow the user schema defined in type.d.ts
|
|
// - Must handle errors gracefully and provide user feedback
|
|
// - Should integrate with the authentication system
|
|
//
|
|
import { COL_USERS } from '@/constants';
|
|
|
|
import type { User } from '@/types/user';
|
|
import { pb } from '@/lib/pb';
|
|
|
|
export async function createUser(userData: Partial<User>): Promise<{
|
|
data?: User;
|
|
error?: Error;
|
|
}> {
|
|
try {
|
|
const data = await pb.collection(COL_USERS).create(userData);
|
|
return { data: data as unknown as User };
|
|
} catch (error) {
|
|
return { error: error as Error };
|
|
}
|
|
}
|