46 lines
910 B
TypeScript
46 lines
910 B
TypeScript
import { Entity } from '../../../../shared/domain/Entity';
|
|
import { UniqueId } from '../../../../shared/domain/UniqueId';
|
|
|
|
interface CrawlStateProps {
|
|
url: string;
|
|
title: string;
|
|
domSnapshot: string;
|
|
visitCount: number;
|
|
stateId: string;
|
|
sessionId: string;
|
|
}
|
|
|
|
export class CrawlState extends Entity<CrawlStateProps> {
|
|
private constructor(props: CrawlStateProps, id?: UniqueId) {
|
|
super(props, id);
|
|
}
|
|
|
|
static create(props: CrawlStateProps, id?: UniqueId): CrawlState {
|
|
return new CrawlState(props, id);
|
|
}
|
|
|
|
get url(): string {
|
|
return this.props.url;
|
|
}
|
|
|
|
get title(): string {
|
|
return this.props.title;
|
|
}
|
|
|
|
get domSnapshot(): string {
|
|
return this.props.domSnapshot;
|
|
}
|
|
|
|
get visitCount(): number {
|
|
return this.props.visitCount;
|
|
}
|
|
|
|
get stateId(): string {
|
|
return this.props.stateId;
|
|
}
|
|
|
|
get sessionId(): string {
|
|
return this.props.sessionId;
|
|
}
|
|
}
|