UNPKG

ddd-tool-kit

Version:

A development tool kit for using Domain Driven Design in your Web API Node.js

19 lines (18 loc) 1.04 kB
import { Output } from '../../../utils/output/output.util'; import { Entity } from '../../../abstract/entity/entity.abstract'; import { IError } from '../../../interfaces/error-message.interface'; import { ISessionProps } from '../../../implementations/entities/session/session.props'; import { IdValueObject } from '../../../implementations/value-objects/id/id.value-object'; import { IpValueObject } from '../../../implementations/value-objects/ip/ip.value-object'; import { DateValueObject } from '../../../implementations/value-objects/date/date.value-object'; export declare class SessionEntity extends Entity<ISessionProps> { private readonly EXPIRATION_SESSION_IN_DAYS; constructor(props: ISessionProps); get ip(): IpValueObject; get expiresAt(): DateValueObject; get loggedAt(): DateValueObject; renew(ip: string): Output<IError> | Output<IdValueObject>; protected sanitizeProps(): void; protected isValidProps(): boolean; static init(props: ISessionProps): Output<IError> | Output<SessionEntity>; }