export class Game { readonly id: string; readonly name: string; private constructor(props: { id: string; name: string }) { this.id = props.id; this.name = props.name; } static create(props: { id: string; name: string }): Game { if (!props.id || props.id.trim().length === 0) { throw new Error('Game ID is required'); } if (!props.name || props.name.trim().length === 0) { throw new Error('Game name is required'); } return new Game({ id: props.id, name: props.name, }); } }