summaryrefslogtreecommitdiff
path: root/src/remote
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-03-22 15:14:54 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-03-22 15:14:54 +0900
commit7c3086e9d9508d5df03d7859932c766a26b9664e (patch)
treeddb4da56c3a14fdb6115c91290dd58d1111ef51b /src/remote
parenttweak cache lifetime (diff)
downloadmisskey-7c3086e9d9508d5df03d7859932c766a26b9664e.tar.gz
misskey-7c3086e9d9508d5df03d7859932c766a26b9664e.tar.bz2
misskey-7c3086e9d9508d5df03d7859932c766a26b9664e.zip
perf(server): Cache user keypair
Diffstat (limited to 'src/remote')
-rw-r--r--src/remote/activitypub/renderer/index.ts6
-rw-r--r--src/remote/activitypub/renderer/person.ts5
-rw-r--r--src/remote/activitypub/request.ts10
3 files changed, 8 insertions, 13 deletions
diff --git a/src/remote/activitypub/renderer/index.ts b/src/remote/activitypub/renderer/index.ts
index e74affdadf..4c33fdafb1 100644
--- a/src/remote/activitypub/renderer/index.ts
+++ b/src/remote/activitypub/renderer/index.ts
@@ -3,7 +3,7 @@ import { v4 as uuid } from 'uuid';
import { IActivity } from '../type';
import { LdSignature } from '../misc/ld-signature';
import { ILocalUser } from '../../../models/entities/user';
-import { UserKeypairs } from '../../../models';
+import { getUserKeypair } from '../../../misc/keypair-store';
export const renderActivity = (x: any): IActivity | null => {
if (x == null) return null;
@@ -23,9 +23,7 @@ export const renderActivity = (x: any): IActivity | null => {
export const attachLdSignature = async (activity: any, user: ILocalUser): Promise<IActivity | null> => {
if (activity == null) return null;
- const keypair = await UserKeypairs.findOneOrFail({
- userId: user.id
- });
+ const keypair = await getUserKeypair(user.id);
const obj = {
// as non-standards
diff --git a/src/remote/activitypub/renderer/person.ts b/src/remote/activitypub/renderer/person.ts
index 4907e3bc6f..479e6d76bf 100644
--- a/src/remote/activitypub/renderer/person.ts
+++ b/src/remote/activitypub/renderer/person.ts
@@ -8,7 +8,8 @@ import { getEmojis } from './note';
import renderEmoji from './emoji';
import { IIdentifier } from '../models/identifier';
import renderHashtag from './hashtag';
-import { DriveFiles, UserProfiles, UserKeypairs } from '../../../models';
+import { DriveFiles, UserProfiles } from '../../../models';
+import { getUserKeypair } from '../../../misc/keypair-store';
export async function renderPerson(user: ILocalUser) {
const id = `${config.url}/users/${user.id}`;
@@ -49,7 +50,7 @@ export async function renderPerson(user: ILocalUser) {
...hashtagTags,
];
- const keypair = await UserKeypairs.findOneOrFail(user.id);
+ const keypair = await getUserKeypair(user.id);
const person = {
type: isSystem ? 'Application' : user.isBot ? 'Service' : 'Person',
diff --git a/src/remote/activitypub/request.ts b/src/remote/activitypub/request.ts
index 2f07351635..5f15d5480c 100644
--- a/src/remote/activitypub/request.ts
+++ b/src/remote/activitypub/request.ts
@@ -5,11 +5,11 @@ import * as crypto from 'crypto';
import config from '../../config';
import { ILocalUser } from '../../models/entities/user';
-import { UserKeypairs } from '../../models';
import { getAgentByUrl } from '../../misc/fetch';
import { URL } from 'url';
import got from 'got';
import * as Got from 'got';
+import { getUserKeypair } from '../../misc/keypair-store';
export default async (user: ILocalUser, url: string, object: any) => {
const timeout = 10 * 1000;
@@ -22,9 +22,7 @@ export default async (user: ILocalUser, url: string, object: any) => {
sha256.update(data);
const hash = sha256.digest('base64');
- const keypair = await UserKeypairs.findOneOrFail({
- userId: user.id
- });
+ const keypair = await getUserKeypair(user.id);
await new Promise((resolve, reject) => {
const req = https.request({
@@ -74,9 +72,7 @@ export default async (user: ILocalUser, url: string, object: any) => {
export async function signedGet(url: string, user: ILocalUser) {
const timeout = 10 * 1000;
- const keypair = await UserKeypairs.findOneOrFail({
- userId: user.id
- });
+ const keypair = await getUserKeypair(user.id);
const req = got.get<any>(url, {
headers: {