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
TypeScript
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>;
}