diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2021-10-31 15:30:22 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-31 15:30:22 +0900 |
| commit | fc65190ef7b687650018cccfee2219bf00827f70 (patch) | |
| tree | d2482c79dd095509b8b57dac28db460fb812196a /src/models | |
| parent | fix: Fix #7895 (#7937) (diff) | |
| download | sharkey-fc65190ef7b687650018cccfee2219bf00827f70.tar.gz sharkey-fc65190ef7b687650018cccfee2219bf00827f70.tar.bz2 sharkey-fc65190ef7b687650018cccfee2219bf00827f70.zip | |
feat: thread mute (#7930)
* feat: thread mute
* chore: fix comment
* fix test
* fix
* refactor
Diffstat (limited to 'src/models')
| -rw-r--r-- | src/models/entities/note-thread-muting.ts | 33 | ||||
| -rw-r--r-- | src/models/entities/note.ts | 6 | ||||
| -rw-r--r-- | src/models/index.ts | 2 |
3 files changed, 41 insertions, 0 deletions
diff --git a/src/models/entities/note-thread-muting.ts b/src/models/entities/note-thread-muting.ts new file mode 100644 index 0000000000..b438522a4c --- /dev/null +++ b/src/models/entities/note-thread-muting.ts @@ -0,0 +1,33 @@ +import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm'; +import { User } from './user'; +import { Note } from './note'; +import { id } from '../id'; + +@Entity() +@Index(['userId', 'threadId'], { unique: true }) +export class NoteThreadMuting { + @PrimaryColumn(id()) + public id: string; + + @Column('timestamp with time zone', { + }) + public createdAt: Date; + + @Index() + @Column({ + ...id(), + }) + public userId: User['id']; + + @ManyToOne(type => User, { + onDelete: 'CASCADE' + }) + @JoinColumn() + public user: User | null; + + @Index() + @Column('varchar', { + length: 256, + }) + public threadId: string; +} diff --git a/src/models/entities/note.ts b/src/models/entities/note.ts index 9a85532637..4a5411f93d 100644 --- a/src/models/entities/note.ts +++ b/src/models/entities/note.ts @@ -47,6 +47,12 @@ export class Note { @JoinColumn() public renote: Note | null; + @Index() + @Column('varchar', { + length: 256, nullable: true + }) + public threadId: string | null; + @Column('varchar', { length: 8192, nullable: true }) diff --git a/src/models/index.ts b/src/models/index.ts index 4c6f19eaff..7154cca550 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -7,6 +7,7 @@ import { PollVote } from './entities/poll-vote'; import { Meta } from './entities/meta'; import { SwSubscription } from './entities/sw-subscription'; import { NoteWatching } from './entities/note-watching'; +import { NoteThreadMuting } from './entities/note-thread-muting'; import { NoteUnread } from './entities/note-unread'; import { RegistrationTicket } from './entities/registration-tickets'; import { UserRepository } from './repositories/user'; @@ -69,6 +70,7 @@ export const Apps = getCustomRepository(AppRepository); export const Notes = getCustomRepository(NoteRepository); export const NoteFavorites = getCustomRepository(NoteFavoriteRepository); export const NoteWatchings = getRepository(NoteWatching); +export const NoteThreadMutings = getRepository(NoteThreadMuting); export const NoteReactions = getCustomRepository(NoteReactionRepository); export const NoteUnreads = getRepository(NoteUnread); export const Polls = getRepository(Poll); |