/** * {{PASCAL_NAME}} Repository * * Auto-generated by SPFN CLI */ import { findOne, findMany, create, update, deleteById } from '@spfn/core/db'; import { eq } from 'drizzle-orm'; import { {{ENTITY_NAME}} } from '@/entities'; import type { {{PASCAL_NAME}}, New{{PASCAL_NAME}} } from '@/entities'; export const {{REPO_NAME}} = { /** * Find {{PASCAL_NAME}} by ID */ findById: async (id: number): Promise<{{PASCAL_NAME}} | null> => { return findOne({{ENTITY_NAME}}, eq({{ENTITY_NAME}}.id, id)); }, /** * Find all {{PASCAL_NAME}} items */ findMany: async (options?: { limit?: number; offset?: number }): Promise<{{PASCAL_NAME}}[]> => { const { limit = 20, offset = 0 } = options || {}; return findMany({{ENTITY_NAME}}, { limit, offset, }); }, /** * Create new {{PASCAL_NAME}} */ create: async (data: New{{PASCAL_NAME}}): Promise<{{PASCAL_NAME}}> => { return create({{ENTITY_NAME}}, data); }, /** * Update {{PASCAL_NAME}} by ID */ updateById: async (id: number, data: Partial): Promise<{{PASCAL_NAME}} | null> => { return update({{ENTITY_NAME}}, eq({{ENTITY_NAME}}.id, id), data); }, /** * Delete {{PASCAL_NAME}} by ID */ deleteById: async (id: number): Promise => { await deleteById({{ENTITY_NAME}}, id); }, };