hedgedoc/src/revisions/edit.entity.ts
David Mehren 5ed2fae44e
Enforce import order with prettier
Signed-off-by: David Mehren <git@herrmehren.de>
2021-08-29 18:45:46 +02:00

61 lines
1.2 KiB
TypeScript

/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import {
Column,
CreateDateColumn,
Entity,
ManyToMany,
ManyToOne,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm';
import { Author } from '../authors/author.entity';
import { Revision } from './revision.entity';
/**
* The Edit represents a change in the content of a note by a particular {@link Author}
*/
@Entity()
export class Edit {
@PrimaryGeneratedColumn('uuid')
id: string;
/**
* Revisions this edit appears in
*/
@ManyToMany((_) => Revision, (revision) => revision.edits)
revisions: Revision[];
/**
* Author that created the change
*/
@ManyToOne(() => Author, (author) => author.edits)
author: Author;
@Column()
startPos: number;
@Column()
endPos: number;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
// eslint-disable-next-line @typescript-eslint/no-empty-function
private constructor() {}
public static create(author: Author, startPos: number, endPos: number) {
const newEdit = new Edit();
newEdit.author = author;
newEdit.startPos = startPos;
newEdit.endPos = endPos;
return newEdit;
}
}