* feat: add defaultWithReplies to MiUser * feat: use defaultWithReplies when creating MiFollowing * feat: update defaultWithReplies from API * feat: return defaultWithReplies as a part of $i * feat(frontend): configure defaultWithReplies * docs(changelog): 新規にフォローした人のをデフォルトでTL二追加できるように * fix: typo * style: fix lint failure * chore: improve UI text * chore: make optional params of UserFollowingService.follow() object * chore: UserFollowingService.follow() accept withReplies * chore: add withReplies to MiFollowRequest * chore: process withReplies for follow request * feat: accept withReplies on 'following/create' endpoint * feat: store defaultWithReplies in client store * Revert "feat: return defaultWithReplies as a part of $i" This reverts commit f2cc4fe6 * Revert "feat: update defaultWithReplies from API" This reverts commit 95e3cee6 * Revert "feat: add defaultWithReplies to MiUser" This reverts commit 9f5ab14d7063532de2b049bc2ed40a15658168f5. * feat: configuring withReplies in import-following * feat(frontend): configure withReplies * fix(frontend): incorrectly showRepliesToOthersInTimeline can be shown * fix(backend): withReplies of following/create not working * fix(frontend): importFollowing error * fix: withReplies is not working with follow import * fix(frontend): use v-model * style: fix lint --------- Co-authored-by: Sayamame-beans <61457993+sayamame-beans@users.noreply.github.com> Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
90 lines
1.8 KiB
TypeScript
90 lines
1.8 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: syuilo and other misskey contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
|
|
import { id } from './util/id.js';
|
|
import { MiUser } from './User.js';
|
|
|
|
@Entity('follow_request')
|
|
@Index(['followerId', 'followeeId'], { unique: true })
|
|
export class MiFollowRequest {
|
|
@PrimaryColumn(id())
|
|
public id: string;
|
|
|
|
@Index()
|
|
@Column({
|
|
...id(),
|
|
comment: 'The followee user ID.',
|
|
})
|
|
public followeeId: MiUser['id'];
|
|
|
|
@ManyToOne(type => MiUser, {
|
|
onDelete: 'CASCADE',
|
|
})
|
|
@JoinColumn()
|
|
public followee: MiUser | null;
|
|
|
|
@Index()
|
|
@Column({
|
|
...id(),
|
|
comment: 'The follower user ID.',
|
|
})
|
|
public followerId: MiUser['id'];
|
|
|
|
@ManyToOne(type => MiUser, {
|
|
onDelete: 'CASCADE',
|
|
})
|
|
@JoinColumn()
|
|
public follower: MiUser | null;
|
|
|
|
@Column('varchar', {
|
|
length: 128, nullable: true,
|
|
comment: 'id of Follow Activity.',
|
|
})
|
|
public requestId: string | null;
|
|
|
|
@Column('boolean', {
|
|
default: false,
|
|
})
|
|
public withReplies: boolean;
|
|
|
|
//#region Denormalized fields
|
|
@Column('varchar', {
|
|
length: 128, nullable: true,
|
|
comment: '[Denormalized]',
|
|
})
|
|
public followerHost: string | null;
|
|
|
|
@Column('varchar', {
|
|
length: 512, nullable: true,
|
|
comment: '[Denormalized]',
|
|
})
|
|
public followerInbox: string | null;
|
|
|
|
@Column('varchar', {
|
|
length: 512, nullable: true,
|
|
comment: '[Denormalized]',
|
|
})
|
|
public followerSharedInbox: string | null;
|
|
|
|
@Column('varchar', {
|
|
length: 128, nullable: true,
|
|
comment: '[Denormalized]',
|
|
})
|
|
public followeeHost: string | null;
|
|
|
|
@Column('varchar', {
|
|
length: 512, nullable: true,
|
|
comment: '[Denormalized]',
|
|
})
|
|
public followeeInbox: string | null;
|
|
|
|
@Column('varchar', {
|
|
length: 512, nullable: true,
|
|
comment: '[Denormalized]',
|
|
})
|
|
public followeeSharedInbox: string | null;
|
|
//#endregion
|
|
}
|