26 lines
813 B
TypeScript
26 lines
813 B
TypeScript
import { hostsRepository } from './hosts.repository';
|
|
import { createHostSchema, updateHostSchema } from './hosts.schema';
|
|
import type { CreateHostInput, UpdateHostInput } from './hosts.schema';
|
|
|
|
/**
|
|
* Logique métier des Hosts.
|
|
* - Ne doit JAMAIS être appelée depuis un Server Component sans être typée/validée.
|
|
* - Les routes API (`src/app/api/hosts/*`) l'utilisent pour rester fines.
|
|
*/
|
|
export const hostsService = {
|
|
list: hostsRepository.list,
|
|
get: hostsRepository.get,
|
|
|
|
async create(input: CreateHostInput) {
|
|
const data = createHostSchema.parse(input);
|
|
return hostsRepository.create(data);
|
|
},
|
|
|
|
async update(id: string, input: UpdateHostInput) {
|
|
const data = updateHostSchema.parse(input);
|
|
return hostsRepository.update(id, data);
|
|
},
|
|
|
|
delete: hostsRepository.delete,
|
|
};
|