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 0a33d8ef8d
commit 68a0852691
No known key found for this signature in database
GPG key ID: 185982BA4C42B7C3

View file

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