37 lines
989 B
TypeScript
37 lines
989 B
TypeScript
/** FEAT-13: Zuchtprofil (/settings/breeder-profile) — Verkäufer-Block der Verträge. */
|
|
import { api } from './client'
|
|
|
|
export interface BreederProfile {
|
|
zuchtName: string
|
|
name: string
|
|
address: string
|
|
phone: string
|
|
email: string
|
|
homepage: string
|
|
/** Ort der Unterschriftszeile („{Ort}, den {Datum}“). */
|
|
city: string
|
|
}
|
|
|
|
export const EMPTY_BREEDER_PROFILE: BreederProfile = {
|
|
zuchtName: '',
|
|
name: '',
|
|
address: '',
|
|
phone: '',
|
|
email: '',
|
|
homepage: '',
|
|
city: '',
|
|
}
|
|
|
|
/** Pflichtangaben für einen brauchbaren Vertrag (Hinweis-Logik der UI). */
|
|
export function isBreederProfileComplete(p: BreederProfile): boolean {
|
|
return [p.name, p.address, p.city].every((v) => v.trim().length > 0)
|
|
}
|
|
|
|
export function getBreederProfile(): Promise<BreederProfile> {
|
|
return api.get<BreederProfile>('/settings/breeder-profile')
|
|
}
|
|
|
|
export function putBreederProfile(profile: BreederProfile): Promise<void> {
|
|
return api.put<void>('/settings/breeder-profile', profile)
|
|
}
|