Changed DB to have events behave like polls
This commit is contained in:
parent
4e6a4915d8
commit
8ab1d62444
|
@ -1,10 +1,17 @@
|
||||||
import { Entity, Index, Column, PrimaryColumn } from 'typeorm';
|
import { Entity, Index, Column, PrimaryColumn, OneToOne, JoinColumn } from 'typeorm';
|
||||||
import { id } from '../id.js';
|
import { id } from '../id.js';
|
||||||
|
import { Note } from './Note.js';
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class Event {
|
export class Event {
|
||||||
@PrimaryColumn(id())
|
@PrimaryColumn(id())
|
||||||
public id: string;
|
public noteId: Note['id'];
|
||||||
|
|
||||||
|
@OneToOne(type => Note, {
|
||||||
|
onDelete: 'CASCADE',
|
||||||
|
})
|
||||||
|
@JoinColumn()
|
||||||
|
public note: Note | null;
|
||||||
|
|
||||||
@Index()
|
@Index()
|
||||||
@Column('timestamp with time zone', {
|
@Column('timestamp with time zone', {
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne, OneToOne } from 'typeorm';
|
import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
|
||||||
import { id } from '../id.js';
|
import { id } from '../id.js';
|
||||||
import { noteVisibilities } from '../../types.js';
|
import { noteVisibilities } from '../../types.js';
|
||||||
import { User } from './User.js';
|
import { User } from './User.js';
|
||||||
import { Channel } from './Channel.js';
|
import { Channel } from './Channel.js';
|
||||||
import { Event } from './Event.js';
|
|
||||||
import type { DriveFile } from './DriveFile.js';
|
import type { DriveFile } from './DriveFile.js';
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
|
@ -54,19 +53,10 @@ export class Note {
|
||||||
})
|
})
|
||||||
public threadId: string | null;
|
public threadId: string | null;
|
||||||
|
|
||||||
@Index()
|
@Column('boolean', {
|
||||||
@Column({
|
default: false,
|
||||||
...id(),
|
|
||||||
nullable: true,
|
|
||||||
comment: 'The ID of child event',
|
|
||||||
})
|
})
|
||||||
public eventId: Event['id'] | null;
|
public isEvent: boolean;
|
||||||
|
|
||||||
@OneToOne(type => Event, {
|
|
||||||
onDelete: 'CASCADE',
|
|
||||||
})
|
|
||||||
@JoinColumn()
|
|
||||||
public event: Event | null;
|
|
||||||
|
|
||||||
// TODO: varcharにしたい
|
// TODO: varcharにしたい
|
||||||
@Column('text', {
|
@Column('text', {
|
||||||
|
|
Loading…
Reference in New Issue