summaryrefslogtreecommitdiff
path: root/packages/backend/src/core
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-02-13 15:50:22 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-02-13 15:50:22 +0900
commit1b21bad202db9d30adc3f71d2ffa11b3b5187482 (patch)
tree89036a2bb0eeb9670f8b4ac50546b01414e200d5 /packages/backend/src/core
parentMerge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff)
downloadsharkey-1b21bad202db9d30adc3f71d2ffa11b3b5187482.tar.gz
sharkey-1b21bad202db9d30adc3f71d2ffa11b3b5187482.tar.bz2
sharkey-1b21bad202db9d30adc3f71d2ffa11b3b5187482.zip
refactor
Diffstat (limited to 'packages/backend/src/core')
-rw-r--r--packages/backend/src/core/DriveService.ts8
-rw-r--r--packages/backend/src/core/InstanceActorService.ts12
-rw-r--r--packages/backend/src/core/MessagingService.ts4
-rw-r--r--packages/backend/src/core/NoteCreateService.ts8
-rw-r--r--packages/backend/src/core/NoteDeleteService.ts6
-rw-r--r--packages/backend/src/core/ProxyAccountService.ts6
-rw-r--r--packages/backend/src/core/ReactionService.ts8
-rw-r--r--packages/backend/src/core/RelayService.ts8
-rw-r--r--packages/backend/src/core/RemoteUserResolveService.ts6
-rw-r--r--packages/backend/src/core/UserCacheService.ts12
-rw-r--r--packages/backend/src/core/UserFollowingService.ts20
-rw-r--r--packages/backend/src/core/activitypub/ApAudienceService.ts8
-rw-r--r--packages/backend/src/core/activitypub/ApDbResolverService.ts10
-rw-r--r--packages/backend/src/core/activitypub/ApDeliverManagerService.ts10
-rw-r--r--packages/backend/src/core/activitypub/ApInboxService.ts56
-rw-r--r--packages/backend/src/core/activitypub/ApRendererService.ts18
-rw-r--r--packages/backend/src/core/activitypub/ApResolverService.ts6
-rw-r--r--packages/backend/src/core/activitypub/models/ApImageService.ts6
-rw-r--r--packages/backend/src/core/activitypub/models/ApNoteService.ts4
-rw-r--r--packages/backend/src/core/activitypub/models/ApPersonService.ts10
-rw-r--r--packages/backend/src/core/entities/UserEntityService.ts6
21 files changed, 116 insertions, 116 deletions
diff --git a/packages/backend/src/core/DriveService.ts b/packages/backend/src/core/DriveService.ts
index 42a430ea75..b15c967c85 100644
--- a/packages/backend/src/core/DriveService.ts
+++ b/packages/backend/src/core/DriveService.ts
@@ -7,7 +7,7 @@ import { DI } from '@/di-symbols.js';
import type { DriveFilesRepository, UsersRepository, DriveFoldersRepository, UserProfilesRepository } from '@/models/index.js';
import type { Config } from '@/config.js';
import Logger from '@/logger.js';
-import type { IRemoteUser, User } from '@/models/entities/User.js';
+import type { RemoteUser, User } from '@/models/entities/User.js';
import { MetaService } from '@/core/MetaService.js';
import { DriveFile } from '@/models/entities/DriveFile.js';
import { IdService } from '@/core/IdService.js';
@@ -255,7 +255,7 @@ export class DriveService {
return {
webpublic: null,
thumbnail: null,
- }
+ };
}
try {
@@ -399,7 +399,7 @@ export class DriveService {
}
@bindThis
- private async deleteOldFile(user: IRemoteUser) {
+ private async deleteOldFile(user: RemoteUser) {
const q = this.driveFilesRepository.createQueryBuilder('file')
.where('file.userId = :userId', { userId: user.id })
.andWhere('file.isLink = FALSE');
@@ -500,7 +500,7 @@ export class DriveService {
throw new IdentifiableError('c6244ed2-a39a-4e1c-bf93-f0fbd7764fa6', 'No free space.');
} else {
// (アバターまたはバナーを含まず)最も古いファイルを削除する
- this.deleteOldFile(await this.usersRepository.findOneByOrFail({ id: user.id }) as IRemoteUser);
+ this.deleteOldFile(await this.usersRepository.findOneByOrFail({ id: user.id }) as RemoteUser);
}
}
}
diff --git a/packages/backend/src/core/InstanceActorService.ts b/packages/backend/src/core/InstanceActorService.ts
index 0b4a83c634..ee9ae0733f 100644
--- a/packages/backend/src/core/InstanceActorService.ts
+++ b/packages/backend/src/core/InstanceActorService.ts
@@ -1,6 +1,6 @@
import { Inject, Injectable } from '@nestjs/common';
import { IsNull } from 'typeorm';
-import type { ILocalUser } from '@/models/entities/User.js';
+import type { LocalUser } from '@/models/entities/User.js';
import type { UsersRepository } from '@/models/index.js';
import { Cache } from '@/misc/cache.js';
import { DI } from '@/di-symbols.js';
@@ -11,7 +11,7 @@ const ACTOR_USERNAME = 'instance.actor' as const;
@Injectable()
export class InstanceActorService {
- private cache: Cache<ILocalUser>;
+ private cache: Cache<LocalUser>;
constructor(
@Inject(DI.usersRepository)
@@ -19,24 +19,24 @@ export class InstanceActorService {
private createSystemUserService: CreateSystemUserService,
) {
- this.cache = new Cache<ILocalUser>(Infinity);
+ this.cache = new Cache<LocalUser>(Infinity);
}
@bindThis
- public async getInstanceActor(): Promise<ILocalUser> {
+ public async getInstanceActor(): Promise<LocalUser> {
const cached = this.cache.get(null);
if (cached) return cached;
const user = await this.usersRepository.findOneBy({
host: IsNull(),
username: ACTOR_USERNAME,
- }) as ILocalUser | undefined;
+ }) as LocalUser | undefined;
if (user) {
this.cache.set(null, user);
return user;
} else {
- const created = await this.createSystemUserService.createSystemUser(ACTOR_USERNAME) as ILocalUser;
+ const created = await this.createSystemUserService.createSystemUser(ACTOR_USERNAME) as LocalUser;
this.cache.set(null, created);
return created;
}
diff --git a/packages/backend/src/core/MessagingService.ts b/packages/backend/src/core/MessagingService.ts
index 0721f63d5e..3a8a25c602 100644
--- a/packages/backend/src/core/MessagingService.ts
+++ b/packages/backend/src/core/MessagingService.ts
@@ -5,7 +5,7 @@ import type { Config } from '@/config.js';
import type { DriveFile } from '@/models/entities/DriveFile.js';
import type { MessagingMessage } from '@/models/entities/MessagingMessage.js';
import type { Note } from '@/models/entities/Note.js';
-import type { User, IRemoteUser } from '@/models/entities/User.js';
+import type { User, RemoteUser } from '@/models/entities/User.js';
import type { UserGroup } from '@/models/entities/UserGroup.js';
import { QueueService } from '@/core/QueueService.js';
import { toArray } from '@/misc/prelude/array.js';
@@ -291,7 +291,7 @@ export class MessagingService {
}
@bindThis
- public async deliverReadActivity(user: { id: User['id']; host: null; }, recipient: IRemoteUser, messages: MessagingMessage | MessagingMessage[]) {
+ public async deliverReadActivity(user: { id: User['id']; host: null; }, recipient: RemoteUser, messages: MessagingMessage | MessagingMessage[]) {
messages = toArray(messages).filter(x => x.uri);
const contents = messages.map(x => this.apRendererService.renderRead(user, x));
diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts
index 04c057f6cd..2484cfc6c1 100644
--- a/packages/backend/src/core/NoteCreateService.ts
+++ b/packages/backend/src/core/NoteCreateService.ts
@@ -11,7 +11,7 @@ import type { DriveFile } from '@/models/entities/DriveFile.js';
import type { App } from '@/models/entities/App.js';
import { concat } from '@/misc/prelude/array.js';
import { IdService } from '@/core/IdService.js';
-import type { User, ILocalUser, IRemoteUser } from '@/models/entities/User.js';
+import type { User, LocalUser, RemoteUser } from '@/models/entities/User.js';
import type { IPoll } from '@/models/entities/Poll.js';
import { Poll } from '@/models/entities/Poll.js';
import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
@@ -52,7 +52,7 @@ class NotificationManager {
private notifier: { id: User['id']; };
private note: Note;
private queue: {
- target: ILocalUser['id'];
+ target: LocalUser['id'];
reason: NotificationType;
}[];
@@ -68,7 +68,7 @@ class NotificationManager {
}
@bindThis
- public push(notifiee: ILocalUser['id'], reason: NotificationType) {
+ public push(notifiee: LocalUser['id'], reason: NotificationType) {
// 自分自身へは通知しない
if (this.notifier.id === notifiee) return;
@@ -605,7 +605,7 @@ export class NoteCreateService {
// メンションされたリモートユーザーに配送
for (const u of mentionedUsers.filter(u => this.userEntityService.isRemoteUser(u))) {
- dm.addDirectRecipe(u as IRemoteUser);
+ dm.addDirectRecipe(u as RemoteUser);
}
// 投稿がリプライかつ投稿者がローカルユーザーかつリプライ先の投稿の投稿者がリモートユーザーなら配送
diff --git a/packages/backend/src/core/NoteDeleteService.ts b/packages/backend/src/core/NoteDeleteService.ts
index fbcac2eff3..571b625523 100644
--- a/packages/backend/src/core/NoteDeleteService.ts
+++ b/packages/backend/src/core/NoteDeleteService.ts
@@ -1,6 +1,6 @@
import { Brackets, In } from 'typeorm';
import { Injectable, Inject } from '@nestjs/common';
-import type { User, ILocalUser, IRemoteUser } from '@/models/entities/User.js';
+import type { User, LocalUser, RemoteUser } from '@/models/entities/User.js';
import type { Note, IMentionedRemoteUsers } from '@/models/entities/Note.js';
import type { InstancesRepository, NotesRepository, UsersRepository } from '@/models/index.js';
import { RelayService } from '@/core/RelayService.js';
@@ -159,11 +159,11 @@ export class NoteDeleteService {
return await this.usersRepository.find({
where,
- }) as IRemoteUser[];
+ }) as RemoteUser[];
}
@bindThis
- private async deliverToConcerned(user: { id: ILocalUser['id']; host: null; }, note: Note, content: any) {
+ private async deliverToConcerned(user: { id: LocalUser['id']; host: null; }, note: Note, content: any) {
this.apDeliverManagerService.deliverToFollowers(user, content);
this.relayService.deliverToRelays(user, content);
const remoteUsers = await this.getMentionedRemoteUsers(note);
diff --git a/packages/backend/src/core/ProxyAccountService.ts b/packages/backend/src/core/ProxyAccountService.ts
index 55b70bfc94..7ed322ae65 100644
--- a/packages/backend/src/core/ProxyAccountService.ts
+++ b/packages/backend/src/core/ProxyAccountService.ts
@@ -1,6 +1,6 @@
import { Inject, Injectable } from '@nestjs/common';
import type { UsersRepository } from '@/models/index.js';
-import type { ILocalUser, User } from '@/models/entities/User.js';
+import type { LocalUser, User } from '@/models/entities/User.js';
import { DI } from '@/di-symbols.js';
import { MetaService } from '@/core/MetaService.js';
import { bindThis } from '@/decorators.js';
@@ -16,9 +16,9 @@ export class ProxyAccountService {
}
@bindThis
- public async fetch(): Promise<ILocalUser | null> {
+ public async fetch(): Promise<LocalUser | null> {
const meta = await this.metaService.fetch();
if (meta.proxyAccountId == null) return null;
- return await this.usersRepository.findOneByOrFail({ id: meta.proxyAccountId }) as ILocalUser;
+ return await this.usersRepository.findOneByOrFail({ id: meta.proxyAccountId }) as LocalUser;
}
}
diff --git a/packages/backend/src/core/ReactionService.ts b/packages/backend/src/core/ReactionService.ts
index 9ac3058ef9..9fccc14ee4 100644
--- a/packages/backend/src/core/ReactionService.ts
+++ b/packages/backend/src/core/ReactionService.ts
@@ -3,7 +3,7 @@ import { IsNull } from 'typeorm';
import { DI } from '@/di-symbols.js';
import type { EmojisRepository, BlockingsRepository, NoteReactionsRepository, UsersRepository, NotesRepository } from '@/models/index.js';
import { IdentifiableError } from '@/misc/identifiable-error.js';
-import type { IRemoteUser, User } from '@/models/entities/User.js';
+import type { RemoteUser, User } from '@/models/entities/User.js';
import type { Note } from '@/models/entities/Note.js';
import { IdService } from '@/core/IdService.js';
import type { NoteReaction } from '@/models/entities/NoteReaction.js';
@@ -181,7 +181,7 @@ export class ReactionService {
const dm = this.apDeliverManagerService.createDeliverManager(user, content);
if (note.userHost !== null) {
const reactee = await this.usersRepository.findOneBy({ id: note.userId });
- dm.addDirectRecipe(reactee as IRemoteUser);
+ dm.addDirectRecipe(reactee as RemoteUser);
}
if (['public', 'home', 'followers'].includes(note.visibility)) {
@@ -189,7 +189,7 @@ export class ReactionService {
} else if (note.visibility === 'specified') {
const visibleUsers = await Promise.all(note.visibleUserIds.map(id => this.usersRepository.findOneBy({ id })));
for (const u of visibleUsers.filter(u => u && this.userEntityService.isRemoteUser(u))) {
- dm.addDirectRecipe(u as IRemoteUser);
+ dm.addDirectRecipe(u as RemoteUser);
}
}
@@ -239,7 +239,7 @@ export class ReactionService {
const dm = this.apDeliverManagerService.createDeliverManager(user, content);
if (note.userHost !== null) {
const reactee = await this.usersRepository.findOneBy({ id: note.userId });
- dm.addDirectRecipe(reactee as IRemoteUser);
+ dm.addDirectRecipe(reactee as RemoteUser);
}
dm.addFollowersRecipe();
dm.execute();
diff --git a/packages/backend/src/core/RelayService.ts b/packages/backend/src/core/RelayService.ts
index 326fd0af1f..2e07825e9b 100644
--- a/packages/backend/src/core/RelayService.ts
+++ b/packages/backend/src/core/RelayService.ts
@@ -1,6 +1,6 @@
import { Inject, Injectable } from '@nestjs/common';
import { IsNull } from 'typeorm';
-import type { ILocalUser, User } from '@/models/entities/User.js';
+import type { LocalUser, User } from '@/models/entities/User.js';
import type { RelaysRepository, UsersRepository } from '@/models/index.js';
import { IdService } from '@/core/IdService.js';
import { Cache } from '@/misc/cache.js';
@@ -34,16 +34,16 @@ export class RelayService {
}
@bindThis
- private async getRelayActor(): Promise<ILocalUser> {
+ private async getRelayActor(): Promise<LocalUser> {
const user = await this.usersRepository.findOneBy({
host: IsNull(),
username: ACTOR_USERNAME,
});
- if (user) return user as ILocalUser;
+ if (user) return user as LocalUser;
const created = await this.createSystemUserService.createSystemUser(ACTOR_USERNAME);
- return created as ILocalUser;
+ return created as LocalUser;
}
@bindThis
diff --git a/packages/backend/src/core/RemoteUserResolveService.ts b/packages/backend/src/core/RemoteUserResolveService.ts
index dde4098624..b72dce5180 100644
--- a/packages/backend/src/core/RemoteUserResolveService.ts
+++ b/packages/backend/src/core/RemoteUserResolveService.ts
@@ -4,7 +4,7 @@ import chalk from 'chalk';
import { IsNull } from 'typeorm';
import { DI } from '@/di-symbols.js';
import type { UsersRepository } from '@/models/index.js';
-import type { IRemoteUser, User } from '@/models/entities/User.js';
+import type { RemoteUser, User } from '@/models/entities/User.js';
import type { Config } from '@/config.js';
import type Logger from '@/logger.js';
import { UtilityService } from '@/core/UtilityService.js';
@@ -60,7 +60,7 @@ export class RemoteUserResolveService {
});
}
- const user = await this.usersRepository.findOneBy({ usernameLower, host }) as IRemoteUser | null;
+ const user = await this.usersRepository.findOneBy({ usernameLower, host }) as RemoteUser | null;
const acctLower = `${usernameLower}@${host}`;
@@ -82,7 +82,7 @@ export class RemoteUserResolveService {
const self = await this.resolveSelf(acctLower);
if (user.uri !== self.href) {
- // if uri mismatch, Fix (user@host <=> AP's Person id(IRemoteUser.uri)) mapping.
+ // if uri mismatch, Fix (user@host <=> AP's Person id(RemoteUser.uri)) mapping.
this.logger.info(`uri missmatch: ${acctLower}`);
this.logger.info(`recovery missmatch uri for (username=${username}, host=${host}) from ${user.uri} to ${self.href}`);
diff --git a/packages/backend/src/core/UserCacheService.ts b/packages/backend/src/core/UserCacheService.ts
index 5f0a919088..fc383d1c08 100644
--- a/packages/backend/src/core/UserCacheService.ts
+++ b/packages/backend/src/core/UserCacheService.ts
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@nestjs/common';
import Redis from 'ioredis';
import type { UsersRepository } from '@/models/index.js';
import { Cache } from '@/misc/cache.js';
-import type { ILocalUser, User } from '@/models/entities/User.js';
+import type { LocalUser, User } from '@/models/entities/User.js';
import { DI } from '@/di-symbols.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js';
import { bindThis } from '@/decorators.js';
@@ -12,8 +12,8 @@ import type { OnApplicationShutdown } from '@nestjs/common';
@Injectable()
export class UserCacheService implements OnApplicationShutdown {
public userByIdCache: Cache<User>;
- public localUserByNativeTokenCache: Cache<ILocalUser | null>;
- public localUserByIdCache: Cache<ILocalUser>;
+ public localUserByNativeTokenCache: Cache<LocalUser | null>;
+ public localUserByIdCache: Cache<LocalUser>;
public uriPersonCache: Cache<User | null>;
constructor(
@@ -28,8 +28,8 @@ export class UserCacheService implements OnApplicationShutdown {
//this.onMessage = this.onMessage.bind(this);
this.userByIdCache = new Cache<User>(Infinity);
- this.localUserByNativeTokenCache = new Cache<ILocalUser | null>(Infinity);
- this.localUserByIdCache = new Cache<ILocalUser>(Infinity);
+ this.localUserByNativeTokenCache = new Cache<LocalUser | null>(Infinity);
+ this.localUserByIdCache = new Cache<LocalUser>(Infinity);
this.uriPersonCache = new Cache<User | null>(Infinity);
this.redisSubscriber.on('message', this.onMessage);
@@ -58,7 +58,7 @@ export class UserCacheService implements OnApplicationShutdown {
break;
}
case 'userTokenRegenerated': {
- const user = await this.usersRepository.findOneByOrFail({ id: body.id }) as ILocalUser;
+ const user = await this.usersRepository.findOneByOrFail({ id: body.id }) as LocalUser;
this.localUserByNativeTokenCache.delete(body.oldToken);
this.localUserByNativeTokenCache.set(body.newToken, user);
break;
diff --git a/packages/backend/src/core/UserFollowingService.ts b/packages/backend/src/core/UserFollowingService.ts
index 589842a419..d8426512bf 100644
--- a/packages/backend/src/core/UserFollowingService.ts
+++ b/packages/backend/src/core/UserFollowingService.ts
@@ -1,5 +1,5 @@
import { Inject, Injectable } from '@nestjs/common';
-import type { ILocalUser, IRemoteUser, User } from '@/models/entities/User.js';
+import type { LocalUser, RemoteUser, User } from '@/models/entities/User.js';
import { IdentifiableError } from '@/misc/identifiable-error.js';
import { QueueService } from '@/core/QueueService.js';
import PerUserFollowingChart from '@/core/chart/charts/per-user-following.js';
@@ -21,16 +21,16 @@ import Logger from '../logger.js';
const logger = new Logger('following/create');
-type Local = ILocalUser | {
- id: ILocalUser['id'];
- host: ILocalUser['host'];
- uri: ILocalUser['uri']
+type Local = LocalUser | {
+ id: LocalUser['id'];
+ host: LocalUser['host'];
+ uri: LocalUser['uri']
};
-type Remote = IRemoteUser | {
- id: IRemoteUser['id'];
- host: IRemoteUser['host'];
- uri: IRemoteUser['uri'];
- inbox: IRemoteUser['inbox'];
+type Remote = RemoteUser | {
+ id: RemoteUser['id'];
+ host: RemoteUser['host'];
+ uri: RemoteUser['uri'];
+ inbox: RemoteUser['inbox'];
};
type Both = Local | Remote;
diff --git a/packages/backend/src/core/activitypub/ApAudienceService.ts b/packages/backend/src/core/activitypub/ApAudienceService.ts
index ee14f4ddd7..4c22297b37 100644
--- a/packages/backend/src/core/activitypub/ApAudienceService.ts
+++ b/packages/backend/src/core/activitypub/ApAudienceService.ts
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@nestjs/common';
import { In } from 'typeorm';
import promiseLimit from 'promise-limit';
import { DI } from '@/di-symbols.js';
-import type { IRemoteUser, User } from '@/models/entities/User.js';
+import type { RemoteUser, User } from '@/models/entities/User.js';
import { concat, toArray, toSingle, unique } from '@/misc/prelude/array.js';
import { bindThis } from '@/decorators.js';
import { getApId, getApIds, getApType, isAccept, isActor, isAdd, isAnnounce, isBlock, isCollection, isCollectionOrOrderedCollection, isCreate, isDelete, isFlag, isFollow, isLike, isPost, isRead, isReject, isRemove, isTombstone, isUndo, isUpdate, validActor, validPost } from './type.js';
@@ -26,7 +26,7 @@ export class ApAudienceService {
}
@bindThis
- public async parseAudience(actor: IRemoteUser, to?: ApObject, cc?: ApObject, resolver?: Resolver): Promise<AudienceInfo> {
+ public async parseAudience(actor: RemoteUser, to?: ApObject, cc?: ApObject, resolver?: Resolver): Promise<AudienceInfo> {
const toGroups = this.groupingAudience(getApIds(to), actor);
const ccGroups = this.groupingAudience(getApIds(cc), actor);
@@ -69,7 +69,7 @@ export class ApAudienceService {
}
@bindThis
- private groupingAudience(ids: string[], actor: IRemoteUser) {
+ private groupingAudience(ids: string[], actor: RemoteUser) {
const groups = {
public: [] as string[],
followers: [] as string[],
@@ -101,7 +101,7 @@ export class ApAudienceService {
}
@bindThis
- private isFollowers(id: string, actor: IRemoteUser) {
+ private isFollowers(id: string, actor: RemoteUser) {
return (
id === (actor.followersUri ?? `${actor.uri}/followers`)
);
diff --git a/packages/backend/src/core/activitypub/ApDbResolverService.ts b/packages/backend/src/core/activitypub/ApDbResolverService.ts
index 5af9e29069..9a894826c8 100644
--- a/packages/backend/src/core/activitypub/ApDbResolverService.ts
+++ b/packages/backend/src/core/activitypub/ApDbResolverService.ts
@@ -9,7 +9,7 @@ import { UserCacheService } from '@/core/UserCacheService.js';
import type { Note } from '@/models/entities/Note.js';
import type { MessagingMessage } from '@/models/entities/MessagingMessage.js';
import { bindThis } from '@/decorators.js';
-import { IRemoteUser, User } from '@/models/entities/User.js';
+import { RemoteUser, User } from '@/models/entities/User.js';
import { getApId } from './type.js';
import { ApPersonService } from './models/ApPersonService.js';
import type { IObject } from './type.js';
@@ -143,7 +143,7 @@ export class ApDbResolverService {
*/
@bindThis
public async getAuthUserFromKeyId(keyId: string): Promise<{
- user: IRemoteUser;
+ user: RemoteUser;
key: UserPublickey;
} | null> {
const key = await this.publicKeyCache.fetch(keyId, async () => {
@@ -159,7 +159,7 @@ export class ApDbResolverService {
if (key == null) return null;
return {
- user: await this.userCacheService.findById(key.userId) as IRemoteUser,
+ user: await this.userCacheService.findById(key.userId) as RemoteUser,
key,
};
}
@@ -169,10 +169,10 @@ export class ApDbResolverService {
*/
@bindThis
public async getAuthUserFromApId(uri: string): Promise<{
- user: IRemoteUser;
+ user: RemoteUser;
key: UserPublickey | null;
} | null> {
- const user = await this.apPersonService.resolvePerson(uri) as IRemoteUser;
+ const user = await this.apPersonService.resolvePerson(uri) as RemoteUser;
if (user == null) return null;
diff --git a/packages/backend/src/core/activitypub/ApDeliverManagerService.ts b/packages/backend/src/core/activitypub/ApDeliverManagerService.ts
index 256cf12651..5e6ea69846 100644
--- a/packages/backend/src/core/activitypub/ApDeliverManagerService.ts
+++ b/packages/backend/src/core/activitypub/ApDeliverManagerService.ts
@@ -3,7 +3,7 @@ import { IsNull, Not } from 'typeorm';
import { DI } from '@/di-symbols.js';
import type { FollowingsRepository, UsersRepository } from '@/models/index.js';
import type { Config } from '@/config.js';
-import type { ILocalUser, IRemoteUser, User } from '@/models/entities/User.js';
+import type { LocalUser, RemoteUser, User } from '@/models/entities/User.js';
import { QueueService } from '@/core/QueueService.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js';
import { bindThis } from '@/decorators.js';
@@ -18,7 +18,7 @@ interface IFollowersRecipe extends IRecipe {
interface IDirectRecipe extends IRecipe {
type: 'Direct';
- to: IRemoteUser;
+ to: RemoteUser;
}
const isFollowers = (recipe: any): recipe is IFollowersRecipe =>
@@ -50,7 +50,7 @@ export class ApDeliverManagerService {
* @param from Followee
*/
@bindThis
- public async deliverToFollowers(actor: { id: ILocalUser['id']; host: null; }, activity: any) {
+ public async deliverToFollowers(actor: { id: LocalUser['id']; host: null; }, activity: any) {
const manager = new DeliverManager(
this.userEntityService,
this.followingsRepository,
@@ -68,7 +68,7 @@ export class ApDeliverManagerService {
* @param to Target user
*/
@bindThis
- public async deliverToUser(actor: { id: ILocalUser['id']; host: null; }, activity: any, to: IRemoteUser) {
+ public async deliverToUser(actor: { id: LocalUser['id']; host: null; }, activity: any, to: RemoteUser) {
const manager = new DeliverManager(
this.userEntityService,
this.followingsRepository,
@@ -132,7 +132,7 @@ class DeliverManager {
* @param to To
*/
@bindThis
- public addDirectRecipe(to: IRemoteUser) {
+ public addDirectRecipe(to: RemoteUser) {
const recipe = {
type: 'Direct',
to,
diff --git a/packages/backend/src/core/activitypub/ApInboxService.ts b/packages/backend/src/core/activitypub/ApInboxService.ts
index d514e9845e..62f3827343 100644
--- a/packages/backend/src/core/activitypub/ApInboxService.ts
+++ b/packages/backend/src/core/activitypub/ApInboxService.ts
@@ -22,7 +22,7 @@ import { QueueService } from '@/core/QueueService.js';
import { MessagingService } from '@/core/MessagingService.js';
import type { UsersRepository, NotesRepository, FollowingsRepository, MessagingMessagesRepository, AbuseUserReportsRepository, FollowRequestsRepository } from '@/models/index.js';
import { bindThis } from '@/decorators.js';
-import type { IRemoteUser } from '@/models/entities/User.js';
+import type { RemoteUser } from '@/models/entities/User.js';
import { getApId, getApIds, getApType, isAccept, isActor, isAdd, isAnnounce, isBlock, isCollection, isCollectionOrOrderedCollection, isCreate, isDelete, isFlag, isFollow, isLike, isPost, isRead, isReject, isRemove, isTombstone, isUndo, isUpdate, validActor, validPost } from './type.js';
import { ApNoteService } from './models/ApNoteService.js';
import { ApLoggerService } from './ApLoggerService.js';
@@ -87,7 +87,7 @@ export class ApInboxService {
}
@bindThis
- public async performActivity(actor: IRemoteUser, activity: IObject) {
+ public async performActivity(actor: RemoteUser, activity: IObject) {
if (isCollectionOrOrderedCollection(activity)) {
const resolver = this.apResolverService.createResolver();
for (const item of toArray(isCollection(activity) ? activity.items : activity.orderedItems)) {
@@ -115,7 +115,7 @@ export class ApInboxService {
}
@bindThis
- public async performOneActivity(actor: IRemoteUser, activity: IObject): Promise<void> {
+ public async performOneActivity(actor: RemoteUser, activity: IObject): Promise<void> {
if (actor.isSuspended) return;
if (isCreate(activity)) {
@@ -152,7 +152,7 @@ export class ApInboxService {
}
@bindThis
- private async follow(actor: IRemoteUser, activity: IFollow): Promise<string> {
+ private async follow(actor: RemoteUser, activity: IFollow): Promise<string> {
const followee = await this.apDbResolverService.getUserFromApId(activity.object);
if (followee == null) {
@@ -168,7 +168,7 @@ export class ApInboxService {
}
@bindThis
- private async like(actor: IRemoteUser, activity: ILike): Promise<string> {
+ private async like(actor: RemoteUser, activity: ILike): Promise<string> {
const targetUri = getApId(activity.object);
const note = await this.apNoteService.fetchNote(targetUri);
@@ -186,7 +186,7 @@ export class ApInboxService {
}
@bindThis
- private async read(actor: IRemoteUser, activity: IRead): Promise<string> {
+ private async read(actor: RemoteUser, activity: IRead): Promise<string> {
const id = await getApId(activity.object);
if (!this.utilityService.isSelfHost(this.utilityService.extractDbHost(id))) {
@@ -209,7 +209,7 @@ export class ApInboxService {
}
@bindThis
- private async accept(actor: IRemoteUser, activity: IAccept): Promise<string> {
+ private async accept(actor: RemoteUser, activity: IAccept): Promise<string> {
const uri = activity.id ?? activity;
this.logger.info(`Accept: ${uri}`);
@@ -227,7 +227,7 @@ export class ApInboxService {
}
@bindThis
- private async acceptFollow(actor: IRemoteUser, activity: IFollow): Promise<string> {
+ private async acceptFollow(actor: RemoteUser, activity: IFollow): Promise<string> {
// ※ activityはこっちから投げたフォローリクエストなので、activity.actorは存在するローカルユーザーである必要がある
const follower = await this.apDbResolverService.getUserFromApId(activity.actor);
@@ -251,7 +251,7 @@ export class ApInboxService {
}
@bindThis
- private async add(actor: IRemoteUser, activity: IAdd): Promise<void> {
+ private async add(actor: RemoteUser, activity: IAdd): Promise<void> {
if ('actor' in activity && actor.uri !== activity.actor) {
throw new Error('invalid actor');
}
@@ -271,7 +271,7 @@ export class ApInboxService {
}
@bindThis
- private async announce(actor: IRemoteUser, activity: IAnnounce): Promise<void> {
+ private async announce(actor: RemoteUser, activity: IAnnounce): Promise<void> {
const uri = getApId(activity);
this.logger.info(`Announce: ${uri}`);
@@ -282,7 +282,7 @@ export class ApInboxService {
}
@bindThis
- private async announceNote(actor: IRemoteUser, activity: IAnnounce, targetUri: string): Promise<void> {
+ private async announceNote(actor: RemoteUser, activity: IAnnounce, targetUri: string): Promise<void> {
const uri = getApId(activity);
if (actor.isSuspended) {
@@ -342,7 +342,7 @@ export class ApInboxService {
}
@bindThis
- private async block(actor: IRemoteUser, activity: IBlock): Promise<string> {
+ private async block(actor: RemoteUser, activity: IBlock): Promise<string> {
// ※ activity.objectにブロック対象があり、それは存在するローカルユーザーのはず
const blockee = await this.apDbResolverService.getUserFromApId(activity.object);
@@ -360,7 +360,7 @@ export class ApInboxService {
}
@bindThis
- private async create(actor: IRemoteUser, activity: ICreate): Promise<void> {
+ private async create(actor: RemoteUser, activity: ICreate): Promise<void> {
const uri = getApId(activity);
this.logger.info(`Create: ${uri}`);
@@ -396,7 +396,7 @@ export class ApInboxService {
}
@bindThis
- private async createNote(resolver: Resolver, actor: IRemoteUser, note: IObject, silent = false, activity?: ICreate): Promise<string> {
+ private async createNote(resolver: Resolver, actor: RemoteUser, note: IObject, silent = false, activity?: ICreate): Promise<string> {
const uri = getApId(note);
if (typeof note === 'object') {
@@ -431,7 +431,7 @@ export class ApInboxService {
}
@bindThis
- private async delete(actor: IRemoteUser, activity: IDelete): Promise<string> {
+ private async delete(actor: RemoteUser, activity: IDelete): Promise<string> {
if ('actor' in activity && actor.uri !== activity.actor) {
throw new Error('invalid actor');
}
@@ -473,7 +473,7 @@ export class ApInboxService {
}
@bindThis
- private async deleteActor(actor: IRemoteUser, uri: string): Promise<string> {
+ private async deleteActor(actor: RemoteUser, uri: string): Promise<string> {
this.logger.info(`Deleting the Actor: ${uri}`);
if (actor.uri !== uri) {
@@ -495,7 +495,7 @@ export class ApInboxService {
}
@bindThis
- private async deleteNote(actor: IRemoteUser, uri: string): Promise<string> {
+ private async deleteNote(actor: RemoteUser, uri: string): Promise<string> {
this.logger.info(`Deleting the Note: ${uri}`);
const unlock = await this.appLockService.getApLock(uri);
@@ -528,7 +528,7 @@ export class ApInboxService {
}
@bindThis
- private async flag(actor: IRemoteUser, activity: IFlag): Promise<string> {
+ private async flag(actor: RemoteUser, activity: IFlag): Promise<string> {
// objectは `(User|Note) | (User|Note)[]` だけど、全パターンDBスキーマと対応させられないので
// 対象ユーザーは一番最初のユーザー として あとはコメントとして格納する
const uris = getApIds(activity.object);
@@ -553,7 +553,7 @@ export class ApInboxService {
}
@bindThis
- private async reject(actor: IRemoteUser, activity: IReject): Promise<string> {
+ private async reject(actor: RemoteUser, activity: IReject): Promise<string> {
const uri = activity.id ?? activity;
this.logger.info(`Reject: ${uri}`);
@@ -571,7 +571,7 @@ export class ApInboxService {
}
@bindThis
- private async rejectFollow(actor: IRemoteUser, activity: IFollow): Promise<string> {
+ private async rejectFollow(actor: RemoteUser, activity: IFollow): Promise<string> {
// ※ activityはこっちから投げたフォローリクエストなので、activity.actorは存在するローカルユーザーである必要がある
const follower = await this.apDbResolverService.getUserFromApId(activity.actor);
@@ -595,7 +595,7 @@ export class ApInboxService {
}
@bindThis
- private async remove(actor: IRemoteUser, activity: IRemove): Promise<void> {
+ private async remove(actor: RemoteUser, activity: IRemove): Promise<void> {
if ('actor' in activity && actor.uri !== activity.actor) {
throw new Error('invalid actor');
}
@@ -615,7 +615,7 @@ export class ApInboxService {
}
@bindThis
- private async undo(actor: IRemoteUser, activity: IUndo): Promise<string> {
+ private async undo(actor: RemoteUser, activity: IUndo): Promise<string> {
if ('actor' in activity && actor.uri !== activity.actor) {
throw new Error('invalid actor');
}
@@ -641,7 +641,7 @@ export class ApInboxService {
}
@bindThis
- private async undoAccept(actor: IRemoteUser, activity: IAccept): Promise<string> {
+ private async undoAccept(actor: RemoteUser, activity: IAccept): Promise<string> {
const follower = await this.apDbResolverService.getUserFromApId(activity.object);
if (follower == null) {
return 'skip: follower not found';
@@ -661,7 +661,7 @@ export class ApInboxService {
}
@bindThis
- private async undoAnnounce(actor: IRemoteUser, activity: IAnnounce): Promise<string> {
+ private async undoAnnounce(actor: RemoteUser, activity: IAnnounce): Promise<string> {
const uri = getApId(activity);
const note = await this.notesRepository.findOneBy({
@@ -676,7 +676,7 @@ export class ApInboxService {
}
@bindThis
- private async undoBlock(actor: IRemoteUser, activity: IBlock): Promise<string> {
+ private async undoBlock(actor: RemoteUser, activity: IBlock): Promise<string> {
const blockee = await this.apDbResolverService.getUserFromApId(activity.object);
if (blockee == null) {
@@ -692,7 +692,7 @@ export class ApInboxService {
}
@bindThis
- private async undoFollow(actor: IRemoteUser, activity: IFollow): Promise<string> {
+ private async undoFollow(actor: RemoteUser, activity: IFollow): Promise<string> {
const followee = await this.apDbResolverService.getUserFromApId(activity.object);
if (followee == null) {
return 'skip: followee not found';
@@ -726,7 +726,7 @@ export class ApInboxService {
}
@bindThis
- private async undoLike(actor: IRemoteUser, activity: ILike): Promise<string> {
+ private async undoLike(actor: RemoteUser, activity: ILike): Promise<string> {
const targetUri = getApId(activity.object);
const note = await this.apNoteService.fetchNote(targetUri);
@@ -741,7 +741,7 @@ export class ApInboxService {
}
@bindThis
- private async update(actor: IRemoteUser, activity: IUpdate): Promise<string> {
+ private async update(actor: RemoteUser, activity: IUpdate): Promise<string> {
if ('actor' in activity && actor.uri !== activity.actor) {
return 'skip: invalid actor';
}
diff --git a/packages/backend/src/core/activitypub/ApRendererService.ts b/packages/backend/src/core/activitypub/ApRendererService.ts
index 996ff625e8..308393f9fb 100644
--- a/packages/backend/src/core/activitypub/ApRendererService.ts
+++ b/packages/backend/src/core/activitypub/ApRendererService.ts
@@ -5,7 +5,7 @@ import { v4 as uuid } from 'uuid';
import * as mfm from 'mfm-js';
import { DI } from '@/di-symbols.js';
import type { Config } from '@/config.js';
-import type { ILocalUser, IRemoteUser, User } from '@/models/entities/User.js';
+import type { LocalUser, RemoteUser, User } from '@/models/entities/User.js';
import type { IMentionedRemoteUsers, Note } from '@/models/entities/Note.js';
import type { Blocking } from '@/models/entities/Blocking.js';
import type { Relay } from '@/models/entities/Relay.js';
@@ -70,7 +70,7 @@ export class ApRendererService {
}
@bindThis
- public renderAdd(user: ILocalUser, target: any, object: any): IAdd {
+ public renderAdd(user: LocalUser, target: any, object: any): IAdd {
return {
type: 'Add',
actor: `${this.config.url}/users/${user.id}`,
@@ -181,7 +181,7 @@ export class ApRendererService {
// to anonymise reporters, the reporting actor must be a system user
// object has to be a uri or array of uris
@bindThis
- public renderFlag(user: ILocalUser, object: IObject, content: string): IFlag {
+ public renderFlag(user: LocalUser, object: IObject, content: string): IFlag {
return {
type: 'Flag',
actor: `${this.config.url}/users/${user.id}`,
@@ -191,7 +191,7 @@ export class ApRendererService {
}
@bindThis
- public renderFollowRelay(relay: Relay, relayActor: ILocalUser): IFollow {
+ public renderFollowRelay(relay: Relay, relayActor: LocalUser): IFollow {
return {
id: `${this.config.url}/activities/follow-relay/${relay.id}`,
type: 'Follow',
@@ -244,7 +244,7 @@ export class ApRendererService {
}
@bindThis
- public renderKey(user: ILocalUser, key: UserKeypair, postfix?: string): IKey {
+ public renderKey(user: LocalUser, key: UserKeypair, postfix?: string): IKey {
return {
id: `${this.config.url}/users/${user.id}${postfix ?? '/publickey'}`,
type: 'Key',
@@ -287,8 +287,8 @@ export class ApRendererService {
public renderMention(mention: User): IApMention {
return {
type: 'Mention',
- href: this.userEntityService.isRemoteUser(mention) ? mention.uri! : `${this.config.url}/users/${(mention as ILocalUser).id}`,
- name: this.userEntityService.isRemoteUser(mention) ? `@${mention.username}@${mention.host}` : `@${(mention as ILocalUser).username}`,
+ href: this.userEntityService.isRemoteUser(mention) ? mention.uri! : `${this.config.url}/users/${(mention as LocalUser).id}`,
+ name: this.userEntityService.isRemoteUser(mention) ? `@${mention.username}@${mention.host}` : `@${(mention as LocalUser).username}`,
};
}
@@ -438,7 +438,7 @@ export class ApRendererService {
}
@bindThis
- public async renderPerson(user: ILocalUser) {
+ public async renderPerson(user: LocalUser) {
const id = `${this.config.url}/users/${user.id}`;
const isSystem = !!user.username.match(/\./);
@@ -594,7 +594,7 @@ export class ApRendererService {
}
@bindThis
- public renderVote(user: { id: User['id'] }, vote: PollVote, note: Note, poll: Poll, pollOwner: IRemoteUser): ICreate {
+ public renderVote(user: { id: User['id'] }, vote: PollVote, note: Note, poll: Poll, pollOwner: RemoteUser): ICreate {
return {
id: `${this.config.url}/users/${user.id}#votes/${vote.id}/activity`,
actor: `${this.config.url}/users/${user.id}`,
diff --git a/packages/backend/src/core/activitypub/ApResolverService.ts b/packages/backend/src/core/activitypub/ApResolverService.ts
index 65026cc4c5..df7bb46405 100644
--- a/packages/backend/src/core/activitypub/ApResolverService.ts
+++ b/packages/backend/src/core/activitypub/ApResolverService.ts
@@ -1,5 +1,5 @@
import { Inject, Injectable } from '@nestjs/common';
-import type { ILocalUser } from '@/models/entities/User.js';
+import type { LocalUser } from '@/models/entities/User.js';
import { InstanceActorService } from '@/core/InstanceActorService.js';
import type { NotesRepository, PollsRepository, NoteReactionsRepository, UsersRepository } from '@/models/index.js';
import type { Config } from '@/config.js';
@@ -18,7 +18,7 @@ import type { IObject, ICollection, IOrderedCollection } from './type.js';
export class Resolver {
private history: Set<string>;
- private user?: ILocalUser;
+ private user?: LocalUser;
private logger: Logger;
constructor(
@@ -133,7 +133,7 @@ export class Resolver {
});
case 'users':
return this.usersRepository.findOneByOrFail({ id: parsed.id })
- .then(user => this.apRendererService.renderPerson(user as ILocalUser));
+ .then(user => this.apRendererService.renderPerson(user as LocalUser));
case 'questions':
// Polls are indexed by the note they are attached to.
return Promise.all([
diff --git a/packages/backend/src/core/activitypub/models/ApImageService.ts b/packages/backend/src/core/activitypub/models/ApImageService.ts
index f14b150138..3b671af127 100644
--- a/packages/backend/src/core/activitypub/models/ApImageService.ts
+++ b/packages/backend/src/core/activitypub/models/ApImageService.ts
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@nestjs/common';
import { DI } from '@/di-symbols.js';
import type { DriveFilesRepository } from '@/models/index.js';
import type { Config } from '@/config.js';
-import type { IRemoteUser } from '@/models/entities/User.js';
+import type { RemoteUser } from '@/models/entities/User.js';
import type { DriveFile } from '@/models/entities/DriveFile.js';
import { MetaService } from '@/core/MetaService.js';
import { truncate } from '@/misc/truncate.js';
@@ -36,7 +36,7 @@ export class ApImageService {
* Imageを作成します。
*/
@bindThis
- public async createImage(actor: IRemoteUser, value: any): Promise<DriveFile> {
+ public async createImage(actor: RemoteUser, value: any): Promise<DriveFile> {
// 投稿者が凍結されていたらスキップ
if (actor.isSuspended) {
throw new Error('actor has been suspended');
@@ -88,7 +88,7 @@ export class ApImageService {
* リモートサーバーからフェッチしてMisskeyに登録しそれを返します。
*/
@bindThis
- public async resolveImage(actor: IRemoteUser, value: any): Promise<DriveFile> {
+ public async resolveImage(actor: RemoteUser, value: any): Promise<DriveFile> {
// TODO
// リモートサーバーからフェッチしてきて登録
diff --git a/packages/backend/src/core/activitypub/models/ApNoteService.ts b/packages/backend/src/core/activitypub/models/ApNoteService.ts
index 0292a27d94..d4c4836887 100644
--- a/packages/backend/src/core/activitypub/models/ApNoteService.ts
+++ b/packages/backend/src/core/activitypub/models/ApNoteService.ts
@@ -3,7 +3,7 @@ import promiseLimit from 'promise-limit';
import { DI } from '@/di-symbols.js';
import type { MessagingMessagesRepository, PollsRepository, EmojisRepository, UsersRepository } from '@/models/index.js';
import type { Config } from '@/config.js';
-import type { IRemoteUser } from '@/models/entities/User.js';
+import type { RemoteUser } from '@/models/entities/User.js';
import type { Note } from '@/models/entities/Note.js';
import { toArray, toSingle, unique } from '@/misc/prelude/array.js';
import type { Emoji } from '@/models/entities/Emoji.js';
@@ -146,7 +146,7 @@ export class ApNoteService {
this.logger.info(`Creating the Note: ${note.id}`);
// 投稿者をフェッチ
- const actor = await this.apPersonService.resolvePerson(getOneApId(note.attributedTo!), resolver) as IRemoteUser;
+ const actor = await this.apPersonService.resolvePerson(getOneApId(note.attributedTo!), resolver) as RemoteUser;
// 投稿者が凍結されていたらスキップ
if (actor.isSuspended) {
diff --git a/packages/backend/src/core/activitypub/models/ApPersonService.ts b/packages/backend/src/core/activitypub/models/ApPersonService.ts
index 9dca065529..35d6985f7a 100644
--- a/packages/backend/src/core/activitypub/models/ApPersonService.ts
+++ b/packages/backend/src/core/activitypub/models/ApPersonService.ts
@@ -5,7 +5,7 @@ import { ModuleRef } from '@nestjs/core';
import { DI } from '@/di-symbols.js';
import type { FollowingsRepository, InstancesRepository, UserProfilesRepository, UserPublickeysRepository, UsersRepository } from '@/models/index.js';
import type { Config } from '@/config.js';
-import type { IRemoteUser } from '@/models/entities/User.js';
+import type { RemoteUser } from '@/models/entities/User.js';
import { User } from '@/models/entities/User.js';
import { truncate } from '@/misc/truncate.js';
import type { UserCacheService } from '@/core/UserCacheService.js';
@@ -259,7 +259,7 @@ export class ApPersonService implements OnModuleInit {
}
// Create user
- let user: IRemoteUser;
+ let user: RemoteUser;
try {
// Start transaction
await this.db.transaction(async transactionalEntityManager => {
@@ -284,7 +284,7 @@ export class ApPersonService implements OnModuleInit {
isBot,
isCat: (person as any).isCat === true,
showTimelineReplies: false,
- })) as IRemoteUser;
+ })) as RemoteUser;
await transactionalEntityManager.save(new UserProfile({
userId: user.id,
@@ -313,7 +313,7 @@ export class ApPersonService implements OnModuleInit {
});
if (u) {
- user = u as IRemoteUser;
+ user = u as RemoteUser;
} else {
throw new Error('already registered');
}
@@ -392,7 +392,7 @@ export class ApPersonService implements OnModuleInit {
}
//#region このサーバーに既に登録されているか
- const exist = await this.usersRepository.findOneBy({ uri }) as IRemoteUser;
+ const exist = await this.usersRepository.findOneBy({ uri }) as RemoteUser;
if (exist == null) {
return;
diff --git a/packages/backend/src/core/entities/UserEntityService.ts b/packages/backend/src/core/entities/UserEntityService.ts
index eea9d5567d..fa3337c019 100644
--- a/packages/backend/src/core/entities/UserEntityService.ts
+++ b/packages/backend/src/core/entities/UserEntityService.ts
@@ -10,7 +10,7 @@ import { awaitAll } from '@/misc/prelude/await-all.js';
import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from '@/const.js';
import { Cache } from '@/misc/cache.js';
import type { Instance } from '@/models/entities/Instance.js';
-import type { ILocalUser, IRemoteUser, User } from '@/models/entities/User.js';
+import type { LocalUser, RemoteUser, User } from '@/models/entities/User.js';
import { birthdaySchema, descriptionSchema, localUsernameSchema, locationSchema, nameSchema, passwordSchema } from '@/models/entities/User.js';
import type { UsersRepository, UserSecurityKeysRepository, FollowingsRepository, FollowRequestsRepository, BlockingsRepository, MutingsRepository, DriveFilesRepository, NoteUnreadsRepository, ChannelFollowingsRepository, NotificationsRepository, UserNotePiningsRepository, UserProfilesRepository, InstancesRepository, AnnouncementReadsRepository, MessagingMessagesRepository, UserGroupJoiningsRepository, AnnouncementsRepository, AntennaNotesRepository, PagesRepository, UserProfile } from '@/models/index.js';
import { bindThis } from '@/decorators.js';
@@ -32,13 +32,13 @@ type IsMeAndIsUserDetailed<ExpectsMe extends boolean | null, Detailed extends bo
const ajv = new Ajv();
-function isLocalUser(user: User): user is ILocalUser;
+function isLocalUser(user: User): user is LocalUser;
function isLocalUser<T extends { host: User['host'] }>(user: T): user is T & { host: null; };
function isLocalUser(user: User | { host: User['host'] }): boolean {
return user.host == null;
}
-function isRemoteUser(user: User): user is IRemoteUser;
+function isRemoteUser(user: User): user is RemoteUser;
function isRemoteUser<T extends { host: User['host'] }>(user: T): user is T & { host: string; };
function isRemoteUser(user: User | { host: User['host'] }): boolean {
return !isLocalUser(user);