@upv/ushi-shared
Version:
Shared DTOs, types, and utilities for the USHI platform (LMS, Trials, Social, Wallet).
41 lines (40 loc) • 1.09 kB
TypeScript
import BaseDto from '../base/BaseDto';
import { IBaseDtoInput, IBaseDtoOutput } from '../../../types/base';
/**
* IRegionDto - Raw input structure for Region
*/
export interface IRegionDto extends IBaseDtoInput {
name: string;
label: string;
languageCode: string;
}
/**
* IRegion - Serialized output structure for Region
*/
export interface IRegion extends IBaseDtoOutput {
name: string;
label: string;
languageCode: string;
}
/**
* RegionDto
*
* DTO class for Region entities in the USHI platform.
*/
declare class RegionDto extends BaseDto<IRegionDto> {
protected _name: string;
protected _label: string;
protected _languageCode: string;
constructor(data: IRegionDto);
/**
* Serializes the RegionDto into a plain object.
*/
serialize(): Promise<IRegion>;
/** Get the region's internal name */
get name(): string;
/** Get the region's user-facing label */
get label(): string;
/** Get the region's associated language code (e.g., 'en', 'fr') */
get languageCode(): string;
}
export default RegionDto;