25 lines
638 B
TypeScript
25 lines
638 B
TypeScript
/**
|
|
* Record page view input view model
|
|
* Represents input data for recording a page view
|
|
*
|
|
* Note: No matching generated DTO available yet
|
|
*/
|
|
export class RecordPageViewInputViewModel {
|
|
path: string;
|
|
userId?: string;
|
|
|
|
constructor(data: { path: string; userId?: string }) {
|
|
this.path = data.path;
|
|
this.userId = data.userId;
|
|
}
|
|
|
|
/** UI-specific: Formatted path for display */
|
|
get displayPath(): string {
|
|
return this.path.startsWith('/') ? this.path : `/${this.path}`;
|
|
}
|
|
|
|
/** UI-specific: Has user context */
|
|
get hasUserContext(): boolean {
|
|
return this.userId !== undefined && this.userId !== '';
|
|
}
|
|
} |