summaryrefslogtreecommitdiff
path: root/packages/backend/src/server
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-05-06 08:15:17 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-05-06 08:15:17 +0900
commit5dfbce7571d0ecb70a9be6610f7906b702700d25 (patch)
tree10939a08571ba3d3e8942de926d099bd78f901d3 /packages/backend/src/server
parentenhance: プロフィール設定「追加情報」の並び替え・削除... (diff)
downloadsharkey-5dfbce7571d0ecb70a9be6610f7906b702700d25.tar.gz
sharkey-5dfbce7571d0ecb70a9be6610f7906b702700d25.tar.bz2
sharkey-5dfbce7571d0ecb70a9be6610f7906b702700d25.zip
feat: チャンネルの削除
Resolve #7171 Resolve #9935
Diffstat (limited to 'packages/backend/src/server')
-rw-r--r--packages/backend/src/server/api/endpoints/channels/featured.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/channels/owned.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/channels/search.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/channels/update.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/notes/create.ts2
5 files changed, 7 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/endpoints/channels/featured.ts b/packages/backend/src/server/api/endpoints/channels/featured.ts
index d25faae38d..1a8d1164c7 100644
--- a/packages/backend/src/server/api/endpoints/channels/featured.ts
+++ b/packages/backend/src/server/api/endpoints/channels/featured.ts
@@ -38,6 +38,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
super(meta, paramDef, async (ps, me) => {
const query = this.channelsRepository.createQueryBuilder('channel')
.where('channel.lastNotedAt IS NOT NULL')
+ .andWhere('channel.isArchived = FALSE')
.orderBy('channel.lastNotedAt', 'DESC');
const channels = await query.take(10).getMany();
diff --git a/packages/backend/src/server/api/endpoints/channels/owned.ts b/packages/backend/src/server/api/endpoints/channels/owned.ts
index 59df0616be..6556e6e105 100644
--- a/packages/backend/src/server/api/endpoints/channels/owned.ts
+++ b/packages/backend/src/server/api/endpoints/channels/owned.ts
@@ -45,6 +45,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
) {
super(meta, paramDef, async (ps, me) => {
const query = this.queryService.makePaginationQuery(this.channelsRepository.createQueryBuilder(), ps.sinceId, ps.untilId)
+ .andWhere('channel.isArchived = FALSE')
.andWhere({ userId: me.id });
const channels = await query
diff --git a/packages/backend/src/server/api/endpoints/channels/search.ts b/packages/backend/src/server/api/endpoints/channels/search.ts
index 900723ff8a..a3b40b0bbd 100644
--- a/packages/backend/src/server/api/endpoints/channels/search.ts
+++ b/packages/backend/src/server/api/endpoints/channels/search.ts
@@ -46,7 +46,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
private queryService: QueryService,
) {
super(meta, paramDef, async (ps, me) => {
- const query = this.queryService.makePaginationQuery(this.channelsRepository.createQueryBuilder('channel'), ps.sinceId, ps.untilId);
+ const query = this.queryService.makePaginationQuery(this.channelsRepository.createQueryBuilder('channel'), ps.sinceId, ps.untilId)
+ .andWhere('channel.isArchived = FALSE');
if (ps.query !== '') {
if (ps.type === 'nameAndDescription') {
diff --git a/packages/backend/src/server/api/endpoints/channels/update.ts b/packages/backend/src/server/api/endpoints/channels/update.ts
index a4e38d429d..30d7f8b244 100644
--- a/packages/backend/src/server/api/endpoints/channels/update.ts
+++ b/packages/backend/src/server/api/endpoints/channels/update.ts
@@ -47,6 +47,7 @@ export const paramDef = {
name: { type: 'string', minLength: 1, maxLength: 128 },
description: { type: 'string', nullable: true, minLength: 1, maxLength: 2048 },
bannerId: { type: 'string', format: 'misskey:id', nullable: true },
+ isArchived: { type: 'boolean', nullable: true },
pinnedNoteIds: {
type: 'array',
items: {
@@ -106,6 +107,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
...(ps.description !== undefined ? { description: ps.description } : {}),
...(ps.pinnedNoteIds !== undefined ? { pinnedNoteIds: ps.pinnedNoteIds } : {}),
...(ps.color !== undefined ? { color: ps.color } : {}),
+ ...(typeof ps.isArchived === 'boolean' ? { isArchived: ps.isArchived } : {}),
...(banner ? { bannerId: banner.id } : {}),
});
diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts
index fa2dc447d8..3f7f2cdece 100644
--- a/packages/backend/src/server/api/endpoints/notes/create.ts
+++ b/packages/backend/src/server/api/endpoints/notes/create.ts
@@ -262,7 +262,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
let channel: Channel | null = null;
if (ps.channelId != null) {
- channel = await this.channelsRepository.findOneBy({ id: ps.channelId });
+ channel = await this.channelsRepository.findOneBy({ id: ps.channelId, isArchived: false });
if (channel == null) {
throw new ApiError(meta.errors.noSuchChannel);