Files
market-backOfficce/src/app/models/category.model.ts
2026-02-20 09:01:02 +04:00

37 lines
1020 B
TypeScript

/**
* Per-language translation content for a category or subcategory.
* Stored under `translations['ru']`, `translations['en']`, etc.
*/
export interface CategoryTranslation {
name?: string;
}
export interface Category {
id: string;
name: string;
visible: boolean;
priority: number;
img?: string;
projectId: string;
subcategories?: Subcategory[];
/** Optional translations keyed by language code: { ru: { name: '...' } } */
translations?: { [lang: string]: CategoryTranslation };
}
export interface Subcategory {
id: string;
name: string;
visible: boolean;
priority: number;
img?: string;
/** Root-level category this subcategory belongs to */
categoryId: string;
/** Direct parent ID — could be a category ID or a parent subcategory ID */
parentId?: string;
itemCount?: number;
subcategories?: Subcategory[];
hasItems?: boolean;
/** Optional translations keyed by language code: { ru: { name: '...' } } */
translations?: { [lang: string]: CategoryTranslation };
}