Update revision entity according to the current database scheme.

Signed-off-by: David Mehren <git@herrmehren.de>
This commit is contained in:
David Mehren 2020-08-12 20:52:26 +02:00
parent c6816f9bba
commit 82f6e6920c
No known key found for this signature in database
GPG key ID: 6017AF117F9756CB

View file

@ -4,47 +4,65 @@ import {
Entity,
ManyToOne,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm';
import { JoinTable, ManyToMany } from 'typeorm/index';
import { Note } from '../notes/note.entity';
import { Authorship } from './authorship.entity';
/**
* The state of a note at a particular point in time,
* with the content at that time and the diff to the previous revision.
*
*/
@Entity()
export class Revision {
//TODO: This is the old schema, we probably want to change it
@PrimaryGeneratedColumn('uuid')
id: string;
/**
* The patch from the previous revision to this one.
*/
@Column({
type: 'text',
})
patch: string;
@Column({
type: 'text',
})
lastContent: string;
/**
* The note content at this revision.
*/
@Column({
type: 'text',
})
content: string;
/**
* The length of the note content.
*/
@Column()
length: number;
@Column({ type: 'text' })
authorship: string;
/**
* Date at which the revision was created.
*/
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
/**
* Note this revision belongs to.
*/
@ManyToOne(
_ => Note,
note => note.revisions,
{ onDelete: 'CASCADE' },
)
note: Note;
/**
* All authorship objects which are used in the revision.
*/
@ManyToMany(
_ => Authorship,
authorship => authorship.revisions,
)
@JoinTable()
authorships: Authorship[];
}