Files
market-backOfficce/src/app/models/category.model.ts

37 lines
1020 B
TypeScript
Raw Normal View History

2026-02-20 09:01:02 +04:00
/**
* Per-language translation content for a category or subcategory.
* Stored under `translations['ru']`, `translations['en']`, etc.
*/
export interface CategoryTranslation {
name?: string;
}
2026-01-19 23:17:07 +04:00
export interface Category {
id: string;
name: string;
visible: boolean;
priority: number;
img?: string;
projectId: string;
subcategories?: Subcategory[];
2026-02-20 09:01:02 +04:00
/** Optional translations keyed by language code: { ru: { name: '...' } } */
translations?: { [lang: string]: CategoryTranslation };
2026-01-19 23:17:07 +04:00
}
export interface Subcategory {
id: string;
name: string;
visible: boolean;
priority: number;
img?: string;
2026-02-20 01:25:29 +04:00
/** Root-level category this subcategory belongs to */
2026-01-19 23:17:07 +04:00
categoryId: string;
2026-02-20 01:25:29 +04:00
/** Direct parent ID — could be a category ID or a parent subcategory ID */
parentId?: string;
2026-01-19 23:17:07 +04:00
itemCount?: number;
2026-01-22 00:41:13 +04:00
subcategories?: Subcategory[];
hasItems?: boolean;
2026-02-20 09:01:02 +04:00
/** Optional translations keyed by language code: { ru: { name: '...' } } */
translations?: { [lang: string]: CategoryTranslation };
2026-01-19 23:17:07 +04:00
}