merge: Add more "detail" flags to API endpoints (!1186)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1186 Approved-by: dakkar <dakkar@thenautilus.net> Approved-by: Marie <github@yuugi.dev>
This commit is contained in:
commit
b6c8f4f876
16 changed files with 128 additions and 50 deletions
|
|
@ -443,6 +443,8 @@ export class WebhookTestService {
|
||||||
return {
|
return {
|
||||||
...user,
|
...user,
|
||||||
createdAt: this.idService.parse(user.id).date.toISOString(),
|
createdAt: this.idService.parse(user.id).date.toISOString(),
|
||||||
|
updatedAt: null,
|
||||||
|
lastFetchedAt: null,
|
||||||
id: user.id,
|
id: user.id,
|
||||||
name: user.name,
|
name: user.name,
|
||||||
username: user.username,
|
username: user.username,
|
||||||
|
|
|
||||||
|
|
@ -546,6 +546,8 @@ export class UserEntityService implements OnModuleInit {
|
||||||
avatarBlurhash: (user.avatarId == null ? null : user.avatarBlurhash),
|
avatarBlurhash: (user.avatarId == null ? null : user.avatarBlurhash),
|
||||||
description: mastoapi ? mastoapi.description : profile ? profile.description : '',
|
description: mastoapi ? mastoapi.description : profile ? profile.description : '',
|
||||||
createdAt: this.idService.parse(user.id).date.toISOString(),
|
createdAt: this.idService.parse(user.id).date.toISOString(),
|
||||||
|
updatedAt: user.updatedAt ? user.updatedAt.toISOString() : null,
|
||||||
|
lastFetchedAt: user.lastFetchedAt ? user.lastFetchedAt.toISOString() : null,
|
||||||
avatarDecorations: user.avatarDecorations.length > 0 ? this.avatarDecorationService.getAll().then(decorations => user.avatarDecorations.filter(ud => decorations.some(d => d.id === ud.id)).map(ud => ({
|
avatarDecorations: user.avatarDecorations.length > 0 ? this.avatarDecorationService.getAll().then(decorations => user.avatarDecorations.filter(ud => decorations.some(d => d.id === ud.id)).map(ud => ({
|
||||||
id: ud.id,
|
id: ud.id,
|
||||||
angle: ud.angle || undefined,
|
angle: ud.angle || undefined,
|
||||||
|
|
@ -601,8 +603,6 @@ export class UserEntityService implements OnModuleInit {
|
||||||
? Promise.all(user.alsoKnownAs.map(uri => Promise.resolve(opts.userIdsByUri?.get(uri) ?? this.apPersonService.fetchPerson(uri).then(user => user?.id).catch(() => null))))
|
? Promise.all(user.alsoKnownAs.map(uri => Promise.resolve(opts.userIdsByUri?.get(uri) ?? this.apPersonService.fetchPerson(uri).then(user => user?.id).catch(() => null))))
|
||||||
.then(xs => xs.length === 0 ? null : xs.filter(x => x != null))
|
.then(xs => xs.length === 0 ? null : xs.filter(x => x != null))
|
||||||
: null,
|
: null,
|
||||||
updatedAt: user.updatedAt ? user.updatedAt.toISOString() : null,
|
|
||||||
lastFetchedAt: user.lastFetchedAt ? user.lastFetchedAt.toISOString() : null,
|
|
||||||
bannerUrl: user.bannerId == null ? null : user.bannerUrl,
|
bannerUrl: user.bannerId == null ? null : user.bannerUrl,
|
||||||
bannerBlurhash: user.bannerId == null ? null : user.bannerBlurhash,
|
bannerBlurhash: user.bannerId == null ? null : user.bannerBlurhash,
|
||||||
backgroundUrl: user.backgroundId == null ? null : user.backgroundUrl,
|
backgroundUrl: user.backgroundId == null ? null : user.backgroundUrl,
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,16 @@ export const packedUserLiteSchema = {
|
||||||
nullable: false, optional: false,
|
nullable: false, optional: false,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
},
|
},
|
||||||
|
updatedAt: {
|
||||||
|
type: 'string',
|
||||||
|
nullable: true, optional: false,
|
||||||
|
format: 'date-time',
|
||||||
|
},
|
||||||
|
lastFetchedAt: {
|
||||||
|
type: 'string',
|
||||||
|
nullable: true, optional: false,
|
||||||
|
format: 'date-time',
|
||||||
|
},
|
||||||
approved: {
|
approved: {
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
nullable: false, optional: false,
|
nullable: false, optional: false,
|
||||||
|
|
@ -304,16 +314,6 @@ export const packedUserDetailedNotMeOnlySchema = {
|
||||||
nullable: false, optional: false,
|
nullable: false, optional: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
updatedAt: {
|
|
||||||
type: 'string',
|
|
||||||
nullable: true, optional: false,
|
|
||||||
format: 'date-time',
|
|
||||||
},
|
|
||||||
lastFetchedAt: {
|
|
||||||
type: 'string',
|
|
||||||
nullable: true, optional: false,
|
|
||||||
format: 'date-time',
|
|
||||||
},
|
|
||||||
bannerUrl: {
|
bannerUrl: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
format: 'url',
|
format: 'url',
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ export const meta = {
|
||||||
properties: {
|
properties: {
|
||||||
id: { type: 'string', format: 'misskey:id' },
|
id: { type: 'string', format: 'misskey:id' },
|
||||||
createdAt: { type: 'string', format: 'date-time' },
|
createdAt: { type: 'string', format: 'date-time' },
|
||||||
user: { ref: 'UserDetailed' },
|
user: { ref: 'User' },
|
||||||
expiresAt: { type: 'string', format: 'date-time', nullable: true },
|
expiresAt: { type: 'string', format: 'date-time', nullable: true },
|
||||||
},
|
},
|
||||||
required: ['id', 'createdAt', 'user'],
|
required: ['id', 'createdAt', 'user'],
|
||||||
|
|
@ -50,6 +50,11 @@ export const paramDef = {
|
||||||
sinceId: { type: 'string', format: 'misskey:id' },
|
sinceId: { type: 'string', format: 'misskey:id' },
|
||||||
untilId: { type: 'string', format: 'misskey:id' },
|
untilId: { type: 'string', format: 'misskey:id' },
|
||||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
required: ['roleId'],
|
required: ['roleId'],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
@ -90,12 +95,12 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
.getMany();
|
.getMany();
|
||||||
|
|
||||||
const _users = assigns.map(({ user, userId }) => user ?? userId);
|
const _users = assigns.map(({ user, userId }) => user ?? userId);
|
||||||
const _userMap = await this.userEntityService.packMany(_users, me, { schema: 'UserDetailed' })
|
const _userMap = await this.userEntityService.packMany(_users, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' })
|
||||||
.then(users => new Map(users.map(u => [u.id, u])));
|
.then(users => new Map(users.map(u => [u.id, u])));
|
||||||
return await Promise.all(assigns.map(async assign => ({
|
return await Promise.all(assigns.map(async assign => ({
|
||||||
id: assign.id,
|
id: assign.id,
|
||||||
createdAt: this.idService.parse(assign.id).date.toISOString(),
|
createdAt: this.idService.parse(assign.id).date.toISOString(),
|
||||||
user: _userMap.get(assign.userId) ?? await this.userEntityService.pack(assign.user!, me, { schema: 'UserDetailed' }),
|
user: _userMap.get(assign.userId) ?? await this.userEntityService.pack(assign.user!, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' }),
|
||||||
expiresAt: assign.expiresAt?.toISOString() ?? null,
|
expiresAt: assign.expiresAt?.toISOString() ?? null,
|
||||||
})));
|
})));
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ export const meta = {
|
||||||
items: {
|
items: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
nullable: false, optional: false,
|
nullable: false, optional: false,
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
} as const;
|
} as const;
|
||||||
|
|
@ -44,6 +44,11 @@ export const paramDef = {
|
||||||
default: null,
|
default: null,
|
||||||
description: 'The local host is represented with `null`.',
|
description: 'The local host is represented with `null`.',
|
||||||
},
|
},
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
required: [],
|
required: [],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
@ -115,7 +120,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
|
|
||||||
const users = await query.getMany();
|
const users = await query.getMany();
|
||||||
|
|
||||||
return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' });
|
return await this.userEntityService.packMany(users, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ export const meta = {
|
||||||
items: {
|
items: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
optional: false, nullable: false,
|
optional: false, nullable: false,
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -43,6 +43,11 @@ export const paramDef = {
|
||||||
state: { type: 'string', enum: ['all', 'alive'], default: 'all' },
|
state: { type: 'string', enum: ['all', 'alive'], default: 'all' },
|
||||||
origin: { type: 'string', enum: ['combined', 'local', 'remote'], default: 'local' },
|
origin: { type: 'string', enum: ['combined', 'local', 'remote'], default: 'local' },
|
||||||
trending: { type: 'boolean', default: false },
|
trending: { type: 'boolean', default: false },
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
required: ['tag', 'sort'],
|
required: ['tag', 'sort'],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
@ -96,7 +101,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
.map(([u]) => u);
|
.map(([u]) => u);
|
||||||
}
|
}
|
||||||
|
|
||||||
return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' });
|
return await this.userEntityService.packMany(users, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ export const meta = {
|
||||||
items: {
|
items: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
optional: false, nullable: false,
|
optional: false, nullable: false,
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -36,7 +36,13 @@ export const meta = {
|
||||||
|
|
||||||
export const paramDef = {
|
export const paramDef = {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
properties: {},
|
properties: {
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
required: [],
|
required: [],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
|
|
@ -57,7 +63,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
host: acct.host ?? IsNull(),
|
host: acct.host ?? IsNull(),
|
||||||
})));
|
})));
|
||||||
|
|
||||||
return await this.userEntityService.packMany(users.filter(x => x != null), me, { schema: 'UserDetailed' });
|
return await this.userEntityService.packMany(users.filter(x => x != null), me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ export const meta = {
|
||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
required: ['id', 'user'],
|
required: ['id', 'user'],
|
||||||
|
|
@ -58,6 +58,11 @@ export const paramDef = {
|
||||||
sinceId: { type: 'string', format: 'misskey:id' },
|
sinceId: { type: 'string', format: 'misskey:id' },
|
||||||
untilId: { type: 'string', format: 'misskey:id' },
|
untilId: { type: 'string', format: 'misskey:id' },
|
||||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
required: ['roleId'],
|
required: ['roleId'],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
@ -99,11 +104,11 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
.getMany();
|
.getMany();
|
||||||
|
|
||||||
const _users = assigns.map(({ user, userId }) => user ?? userId);
|
const _users = assigns.map(({ user, userId }) => user ?? userId);
|
||||||
const _userMap = await this.userEntityService.packMany(_users, me, { schema: 'UserDetailed' })
|
const _userMap = await this.userEntityService.packMany(_users, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' })
|
||||||
.then(users => new Map(users.map(u => [u.id, u])));
|
.then(users => new Map(users.map(u => [u.id, u])));
|
||||||
return await Promise.all(assigns.map(async assign => ({
|
return await Promise.all(assigns.map(async assign => ({
|
||||||
id: assign.id,
|
id: assign.id,
|
||||||
user: _userMap.get(assign.userId) ?? await this.userEntityService.pack(assign.user!, me, { schema: 'UserDetailed' }),
|
user: _userMap.get(assign.userId) ?? await this.userEntityService.pack(assign.user!, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' }),
|
||||||
})));
|
})));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ export const meta = {
|
||||||
items: {
|
items: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
optional: false, nullable: false,
|
optional: false, nullable: false,
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -50,6 +50,11 @@ export const paramDef = {
|
||||||
default: null,
|
default: null,
|
||||||
description: 'The local host is represented with `null`.',
|
description: 'The local host is represented with `null`.',
|
||||||
},
|
},
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
required: [],
|
required: [],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
@ -111,7 +116,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
.filter(([,p]) => p.canTrend)
|
.filter(([,p]) => p.canTrend)
|
||||||
.map(([u]) => u);
|
.map(([u]) => u);
|
||||||
|
|
||||||
return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' });
|
return await this.userEntityService.packMany(users, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ export const meta = {
|
||||||
user: {
|
user: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
optional: false, nullable: false,
|
optional: false, nullable: false,
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
weight: {
|
weight: {
|
||||||
type: 'number',
|
type: 'number',
|
||||||
|
|
@ -60,6 +60,11 @@ export const paramDef = {
|
||||||
properties: {
|
properties: {
|
||||||
userId: { type: 'string', format: 'misskey:id' },
|
userId: { type: 'string', format: 'misskey:id' },
|
||||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
required: ['userId'],
|
required: ['userId'],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
@ -127,10 +132,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
const topRepliedUserIds = repliedUsersSorted.slice(0, ps.limit);
|
const topRepliedUserIds = repliedUsersSorted.slice(0, ps.limit);
|
||||||
|
|
||||||
// Make replies object (includes weights)
|
// Make replies object (includes weights)
|
||||||
const _userMap = await this.userEntityService.packMany(topRepliedUserIds, me, { schema: 'UserDetailed' })
|
const _userMap = await this.userEntityService.packMany(topRepliedUserIds, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' })
|
||||||
.then(users => new Map(users.map(u => [u.id, u])));
|
.then(users => new Map(users.map(u => [u.id, u])));
|
||||||
const repliesObj = await Promise.all(topRepliedUserIds.map(async (userId) => ({
|
const repliesObj = await Promise.all(topRepliedUserIds.map(async (userId) => ({
|
||||||
user: _userMap.get(userId) ?? await this.userEntityService.pack(userId, me, { schema: 'UserDetailed' }),
|
user: _userMap.get(userId) ?? await this.userEntityService.pack(userId, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' }),
|
||||||
weight: repliedUsers[userId] / peak,
|
weight: repliedUsers[userId] / peak,
|
||||||
})));
|
})));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ export const meta = {
|
||||||
items: {
|
items: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
optional: false, nullable: false,
|
optional: false, nullable: false,
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -42,6 +42,11 @@ export const paramDef = {
|
||||||
properties: {
|
properties: {
|
||||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||||
offset: { type: 'integer', default: 0 },
|
offset: { type: 'integer', default: 0 },
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
required: [],
|
required: [],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
@ -83,7 +88,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
|
|
||||||
const users = await query.limit(ps.limit).offset(ps.offset).getMany();
|
const users = await query.limit(ps.limit).offset(ps.offset).getMany();
|
||||||
|
|
||||||
return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' });
|
return await this.userEntityService.packMany(users, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,13 +30,13 @@ export const meta = {
|
||||||
oneOf: [
|
oneOf: [
|
||||||
{
|
{
|
||||||
type: 'object',
|
type: 'object',
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'array',
|
type: 'array',
|
||||||
items: {
|
items: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
ref: 'UserDetailed',
|
ref: 'User',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
@ -79,6 +79,11 @@ export const paramDef = {
|
||||||
nullable: true,
|
nullable: true,
|
||||||
description: 'The local host is represented with `null`.',
|
description: 'The local host is represented with `null`.',
|
||||||
},
|
},
|
||||||
|
detail: {
|
||||||
|
type: 'boolean',
|
||||||
|
nullable: false,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
anyOf: [
|
anyOf: [
|
||||||
{ required: ['userId'] },
|
{ required: ['userId'] },
|
||||||
|
|
@ -125,7 +130,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
if (user != null) _users.push(user);
|
if (user != null) _users.push(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
const _userMap = await this.userEntityService.packMany(_users, me, { schema: 'UserDetailed' })
|
const _userMap = await this.userEntityService.packMany(_users, me, { schema: ps.detail ? 'UserDetailed' : 'UserLite' })
|
||||||
.then(users => new Map(users.map(u => [u.id, u])));
|
.then(users => new Map(users.map(u => [u.id, u])));
|
||||||
return _users.map(u => _userMap.get(u.id)!);
|
return _users.map(u => _userMap.get(u.id)!);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -156,7 +161,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
}
|
}
|
||||||
|
|
||||||
return await this.userEntityService.pack(user, me, {
|
return await this.userEntityService.pack(user, me, {
|
||||||
schema: 'UserDetailed',
|
schema: ps.detail ? 'UserDetailed' : 'UserLite',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -2067,6 +2067,7 @@ declare namespace entities {
|
||||||
PagesUnlikeRequest,
|
PagesUnlikeRequest,
|
||||||
PagesUpdateRequest,
|
PagesUpdateRequest,
|
||||||
PingResponse,
|
PingResponse,
|
||||||
|
PinnedUsersRequest,
|
||||||
PinnedUsersResponse,
|
PinnedUsersResponse,
|
||||||
PromoReadRequest,
|
PromoReadRequest,
|
||||||
RenoteMuteCreateRequest,
|
RenoteMuteCreateRequest,
|
||||||
|
|
@ -3411,6 +3412,9 @@ export const permissions: readonly ["read:account", "write:account", "read:block
|
||||||
// @public (undocumented)
|
// @public (undocumented)
|
||||||
type PingResponse = operations['ping']['responses']['200']['content']['application/json'];
|
type PingResponse = operations['ping']['responses']['200']['content']['application/json'];
|
||||||
|
|
||||||
|
// @public (undocumented)
|
||||||
|
type PinnedUsersRequest = operations['pinned-users']['requestBody']['content']['application/json'];
|
||||||
|
|
||||||
// @public (undocumented)
|
// @public (undocumented)
|
||||||
type PinnedUsersResponse = operations['pinned-users']['responses']['200']['content']['application/json'];
|
type PinnedUsersResponse = operations['pinned-users']['responses']['200']['content']['application/json'];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -563,6 +563,7 @@ import type {
|
||||||
PagesUnlikeRequest,
|
PagesUnlikeRequest,
|
||||||
PagesUpdateRequest,
|
PagesUpdateRequest,
|
||||||
PingResponse,
|
PingResponse,
|
||||||
|
PinnedUsersRequest,
|
||||||
PinnedUsersResponse,
|
PinnedUsersResponse,
|
||||||
PromoReadRequest,
|
PromoReadRequest,
|
||||||
RenoteMuteCreateRequest,
|
RenoteMuteCreateRequest,
|
||||||
|
|
@ -1044,7 +1045,7 @@ export type Endpoints = {
|
||||||
'pages/unlike': { req: PagesUnlikeRequest; res: EmptyResponse };
|
'pages/unlike': { req: PagesUnlikeRequest; res: EmptyResponse };
|
||||||
'pages/update': { req: PagesUpdateRequest; res: EmptyResponse };
|
'pages/update': { req: PagesUpdateRequest; res: EmptyResponse };
|
||||||
'ping': { req: EmptyRequest; res: PingResponse };
|
'ping': { req: EmptyRequest; res: PingResponse };
|
||||||
'pinned-users': { req: EmptyRequest; res: PinnedUsersResponse };
|
'pinned-users': { req: PinnedUsersRequest; res: PinnedUsersResponse };
|
||||||
'promo/read': { req: PromoReadRequest; res: EmptyResponse };
|
'promo/read': { req: PromoReadRequest; res: EmptyResponse };
|
||||||
'renote-mute/create': { req: RenoteMuteCreateRequest; res: EmptyResponse };
|
'renote-mute/create': { req: RenoteMuteCreateRequest; res: EmptyResponse };
|
||||||
'renote-mute/delete': { req: RenoteMuteDeleteRequest; res: EmptyResponse };
|
'renote-mute/delete': { req: RenoteMuteDeleteRequest; res: EmptyResponse };
|
||||||
|
|
|
||||||
|
|
@ -566,6 +566,7 @@ export type PagesShowResponse = operations['pages___show']['responses']['200']['
|
||||||
export type PagesUnlikeRequest = operations['pages___unlike']['requestBody']['content']['application/json'];
|
export type PagesUnlikeRequest = operations['pages___unlike']['requestBody']['content']['application/json'];
|
||||||
export type PagesUpdateRequest = operations['pages___update']['requestBody']['content']['application/json'];
|
export type PagesUpdateRequest = operations['pages___update']['requestBody']['content']['application/json'];
|
||||||
export type PingResponse = operations['ping']['responses']['200']['content']['application/json'];
|
export type PingResponse = operations['ping']['responses']['200']['content']['application/json'];
|
||||||
|
export type PinnedUsersRequest = operations['pinned-users']['requestBody']['content']['application/json'];
|
||||||
export type PinnedUsersResponse = operations['pinned-users']['responses']['200']['content']['application/json'];
|
export type PinnedUsersResponse = operations['pinned-users']['responses']['200']['content']['application/json'];
|
||||||
export type PromoReadRequest = operations['promo___read']['requestBody']['content']['application/json'];
|
export type PromoReadRequest = operations['promo___read']['requestBody']['content']['application/json'];
|
||||||
export type RenoteMuteCreateRequest = operations['renote-mute___create']['requestBody']['content']['application/json'];
|
export type RenoteMuteCreateRequest = operations['renote-mute___create']['requestBody']['content']['application/json'];
|
||||||
|
|
|
||||||
|
|
@ -4254,6 +4254,10 @@ export type components = {
|
||||||
host: string | null;
|
host: string | null;
|
||||||
/** Format: date-time */
|
/** Format: date-time */
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
|
/** Format: date-time */
|
||||||
|
updatedAt: string | null;
|
||||||
|
/** Format: date-time */
|
||||||
|
lastFetchedAt: string | null;
|
||||||
approved: boolean;
|
approved: boolean;
|
||||||
/** @example Hi masters, I am Ai! */
|
/** @example Hi masters, I am Ai! */
|
||||||
description: string | null;
|
description: string | null;
|
||||||
|
|
@ -4320,10 +4324,6 @@ export type components = {
|
||||||
/** Format: uri */
|
/** Format: uri */
|
||||||
movedTo: string | null;
|
movedTo: string | null;
|
||||||
alsoKnownAs: string[] | null;
|
alsoKnownAs: string[] | null;
|
||||||
/** Format: date-time */
|
|
||||||
updatedAt: string | null;
|
|
||||||
/** Format: date-time */
|
|
||||||
lastFetchedAt: string | null;
|
|
||||||
/** Format: url */
|
/** Format: url */
|
||||||
bannerUrl: string | null;
|
bannerUrl: string | null;
|
||||||
bannerBlurhash: string | null;
|
bannerBlurhash: string | null;
|
||||||
|
|
@ -10902,6 +10902,8 @@ export type operations = {
|
||||||
untilId?: string;
|
untilId?: string;
|
||||||
/** @default 10 */
|
/** @default 10 */
|
||||||
limit?: number;
|
limit?: number;
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -10914,7 +10916,7 @@ export type operations = {
|
||||||
id: string;
|
id: string;
|
||||||
/** Format: date-time */
|
/** Format: date-time */
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
user: components['schemas']['UserDetailed'];
|
user: components['schemas']['User'];
|
||||||
/** Format: date-time */
|
/** Format: date-time */
|
||||||
expiresAt: string | null;
|
expiresAt: string | null;
|
||||||
})[];
|
})[];
|
||||||
|
|
@ -11410,6 +11412,8 @@ export type operations = {
|
||||||
* @default null
|
* @default null
|
||||||
*/
|
*/
|
||||||
hostname?: string | null;
|
hostname?: string | null;
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -11417,7 +11421,7 @@ export type operations = {
|
||||||
/** @description OK (with results) */
|
/** @description OK (with results) */
|
||||||
200: {
|
200: {
|
||||||
content: {
|
content: {
|
||||||
'application/json': components['schemas']['UserDetailed'][];
|
'application/json': components['schemas']['User'][];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** @description Client error */
|
/** @description Client error */
|
||||||
|
|
@ -21857,6 +21861,8 @@ export type operations = {
|
||||||
origin?: 'combined' | 'local' | 'remote';
|
origin?: 'combined' | 'local' | 'remote';
|
||||||
/** @default false */
|
/** @default false */
|
||||||
trending?: boolean;
|
trending?: boolean;
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -21864,7 +21870,7 @@ export type operations = {
|
||||||
/** @description OK (with results) */
|
/** @description OK (with results) */
|
||||||
200: {
|
200: {
|
||||||
content: {
|
content: {
|
||||||
'application/json': components['schemas']['UserDetailed'][];
|
'application/json': components['schemas']['User'][];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** @description Client error */
|
/** @description Client error */
|
||||||
|
|
@ -29834,11 +29840,19 @@ export type operations = {
|
||||||
* **Credential required**: *No*
|
* **Credential required**: *No*
|
||||||
*/
|
*/
|
||||||
'pinned-users': {
|
'pinned-users': {
|
||||||
|
requestBody: {
|
||||||
|
content: {
|
||||||
|
'application/json': {
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
responses: {
|
responses: {
|
||||||
/** @description OK (with results) */
|
/** @description OK (with results) */
|
||||||
200: {
|
200: {
|
||||||
content: {
|
content: {
|
||||||
'application/json': components['schemas']['UserDetailed'][];
|
'application/json': components['schemas']['User'][];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** @description Client error */
|
/** @description Client error */
|
||||||
|
|
@ -30966,6 +30980,8 @@ export type operations = {
|
||||||
untilId?: string;
|
untilId?: string;
|
||||||
/** @default 10 */
|
/** @default 10 */
|
||||||
limit?: number;
|
limit?: number;
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -30976,7 +30992,7 @@ export type operations = {
|
||||||
'application/json': {
|
'application/json': {
|
||||||
/** Format: misskey:id */
|
/** Format: misskey:id */
|
||||||
id: string;
|
id: string;
|
||||||
user: components['schemas']['UserDetailed'];
|
user: components['schemas']['User'];
|
||||||
}[];
|
}[];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -31639,6 +31655,8 @@ export type operations = {
|
||||||
* @default null
|
* @default null
|
||||||
*/
|
*/
|
||||||
hostname?: string | null;
|
hostname?: string | null;
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -31646,7 +31664,7 @@ export type operations = {
|
||||||
/** @description OK (with results) */
|
/** @description OK (with results) */
|
||||||
200: {
|
200: {
|
||||||
content: {
|
content: {
|
||||||
'application/json': components['schemas']['UserDetailed'][];
|
'application/json': components['schemas']['User'][];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** @description Client error */
|
/** @description Client error */
|
||||||
|
|
@ -32162,6 +32180,8 @@ export type operations = {
|
||||||
userId: string;
|
userId: string;
|
||||||
/** @default 10 */
|
/** @default 10 */
|
||||||
limit?: number;
|
limit?: number;
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -32170,7 +32190,7 @@ export type operations = {
|
||||||
200: {
|
200: {
|
||||||
content: {
|
content: {
|
||||||
'application/json': {
|
'application/json': {
|
||||||
user: components['schemas']['UserDetailed'];
|
user: components['schemas']['User'];
|
||||||
weight: number;
|
weight: number;
|
||||||
}[];
|
}[];
|
||||||
};
|
};
|
||||||
|
|
@ -33183,6 +33203,8 @@ export type operations = {
|
||||||
limit?: number;
|
limit?: number;
|
||||||
/** @default 0 */
|
/** @default 0 */
|
||||||
offset?: number;
|
offset?: number;
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -33190,7 +33212,7 @@ export type operations = {
|
||||||
/** @description OK (with results) */
|
/** @description OK (with results) */
|
||||||
200: {
|
200: {
|
||||||
content: {
|
content: {
|
||||||
'application/json': components['schemas']['UserDetailed'][];
|
'application/json': components['schemas']['User'][];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** @description Client error */
|
/** @description Client error */
|
||||||
|
|
@ -33525,6 +33547,8 @@ export type operations = {
|
||||||
username?: string;
|
username?: string;
|
||||||
/** @description The local host is represented with `null`. */
|
/** @description The local host is represented with `null`. */
|
||||||
host?: string | null;
|
host?: string | null;
|
||||||
|
/** @default true */
|
||||||
|
detail?: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -33532,7 +33556,7 @@ export type operations = {
|
||||||
/** @description OK (with results) */
|
/** @description OK (with results) */
|
||||||
200: {
|
200: {
|
||||||
content: {
|
content: {
|
||||||
'application/json': components['schemas']['UserDetailed'] | components['schemas']['UserDetailed'][];
|
'application/json': components['schemas']['User'] | components['schemas']['User'][];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** @description Client error */
|
/** @description Client error */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue