summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-02-09 11:54:49 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-02-09 11:54:49 +0900
commita558767b7ae8b1845377e5f01ebf3505cd0e9c56 (patch)
tree1695e487ac0d0e6fa73da74eb7b9a1fbbed96961 /packages/backend/src/server/api
parentMerge branch 'develop' (diff)
parent13.5.3 (diff)
downloadmisskey-a558767b7ae8b1845377e5f01ebf3505cd0e9c56.tar.gz
misskey-a558767b7ae8b1845377e5f01ebf3505cd0e9c56.tar.bz2
misskey-a558767b7ae8b1845377e5f01ebf3505cd0e9c56.zip
Merge branch 'develop'
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/RateLimiterService.ts6
-rw-r--r--packages/backend/src/server/api/SigninApiService.ts4
-rw-r--r--packages/backend/src/server/api/SigninService.ts28
-rw-r--r--packages/backend/src/server/api/SignupApiService.ts5
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/create.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/update.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/charts/user/pv.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/endpoint.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/claim-achievement.ts4
9 files changed, 21 insertions, 34 deletions
diff --git a/packages/backend/src/server/api/RateLimiterService.ts b/packages/backend/src/server/api/RateLimiterService.ts
index a9c34e363a..1f8915ecca 100644
--- a/packages/backend/src/server/api/RateLimiterService.ts
+++ b/packages/backend/src/server/api/RateLimiterService.ts
@@ -34,7 +34,7 @@ export class RateLimiterService {
const min = (): void => {
const minIntervalLimiter = new Limiter({
id: `${actor}:${limitation.key}:min`,
- duration: limitation.minInterval * factor,
+ duration: limitation.minInterval! * factor,
max: 1,
db: this.redisClient,
});
@@ -62,8 +62,8 @@ export class RateLimiterService {
const max = (): void => {
const limiter = new Limiter({
id: `${actor}:${limitation.key}`,
- duration: limitation.duration * factor,
- max: limitation.max / factor,
+ duration: limitation.duration! * factor,
+ max: limitation.max! / factor,
db: this.redisClient,
});
diff --git a/packages/backend/src/server/api/SigninApiService.ts b/packages/backend/src/server/api/SigninApiService.ts
index 10f8423d44..d490097dea 100644
--- a/packages/backend/src/server/api/SigninApiService.ts
+++ b/packages/backend/src/server/api/SigninApiService.ts
@@ -10,9 +10,9 @@ import { getIpHash } from '@/misc/get-ip-hash.js';
import type { ILocalUser } from '@/models/entities/User.js';
import { IdService } from '@/core/IdService.js';
import { TwoFactorAuthenticationService } from '@/core/TwoFactorAuthenticationService.js';
+import { bindThis } from '@/decorators.js';
import { RateLimiterService } from './RateLimiterService.js';
import { SigninService } from './SigninService.js';
-import { bindThis } from '@/decorators.js';
import type { FastifyRequest, FastifyReply } from 'fastify';
@Injectable()
@@ -131,7 +131,7 @@ export class SigninApiService {
createdAt: new Date(),
userId: user.id,
ip: request.ip,
- headers: request.headers,
+ headers: request.headers as any,
success: false,
});
diff --git a/packages/backend/src/server/api/SigninService.ts b/packages/backend/src/server/api/SigninService.ts
index 89a8a9ff16..c78d9f85cd 100644
--- a/packages/backend/src/server/api/SigninService.ts
+++ b/packages/backend/src/server/api/SigninService.ts
@@ -25,7 +25,7 @@ export class SigninService {
}
@bindThis
- public signin(request: FastifyRequest, reply: FastifyReply, user: ILocalUser, redirect = false) {
+ public signin(request: FastifyRequest, reply: FastifyReply, user: ILocalUser) {
setImmediate(async () => {
// Append signin history
const record = await this.signinsRepository.insert({
@@ -33,7 +33,7 @@ export class SigninService {
createdAt: new Date(),
userId: user.id,
ip: request.ip,
- headers: request.headers,
+ headers: request.headers as any,
success: true,
}).then(x => this.signinsRepository.findOneByOrFail(x.identifiers[0]));
@@ -41,25 +41,11 @@ export class SigninService {
this.globalEventService.publishMainStream(user.id, 'signin', await this.signinEntityService.pack(record));
});
- if (redirect) {
- //#region Cookie
- reply.setCookie('igi', user.token!, {
- path: '/',
- // SEE: https://github.com/koajs/koa/issues/974
- // When using a SSL proxy it should be configured to add the "X-Forwarded-Proto: https" header
- secure: this.config.url.startsWith('https'),
- httpOnly: false,
- });
- //#endregion
-
- reply.redirect(this.config.url);
- } else {
- reply.code(200);
- return {
- id: user.id,
- i: user.token,
- };
- }
+ reply.code(200);
+ return {
+ id: user.id,
+ i: user.token,
+ };
}
}
diff --git a/packages/backend/src/server/api/SignupApiService.ts b/packages/backend/src/server/api/SignupApiService.ts
index 4b676bb8b9..ffd7e203ea 100644
--- a/packages/backend/src/server/api/SignupApiService.ts
+++ b/packages/backend/src/server/api/SignupApiService.ts
@@ -146,6 +146,7 @@ export class SignupApiService {
`To complete signup, please click this link: ${link}`);
reply.code(204);
+ return;
} else {
try {
const { account, secret } = await this.signupService.signup({
@@ -162,7 +163,7 @@ export class SignupApiService {
token: secret,
};
} catch (err) {
- throw new FastifyReplyError(400, err);
+ throw new FastifyReplyError(400, typeof err === 'string' ? err : (err as Error).toString());
}
}
}
@@ -195,7 +196,7 @@ export class SignupApiService {
return this.signinService.signin(request, reply, account as ILocalUser);
} catch (err) {
- throw new FastifyReplyError(400, err);
+ throw new FastifyReplyError(400, typeof err === 'string' ? err : (err as Error).toString());
}
}
}
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/create.ts b/packages/backend/src/server/api/endpoints/admin/roles/create.ts
index 1a2a9fb747..df60c6be94 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/create.ts
@@ -20,7 +20,7 @@ export const paramDef = {
description: { type: 'string' },
color: { type: 'string', nullable: true },
iconUrl: { type: 'string', nullable: true },
- target: { type: 'string' },
+ target: { type: 'string', enum: ['manual', 'conditional'] },
condFormula: { type: 'object' },
isPublic: { type: 'boolean' },
isModerator: { type: 'boolean' },
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/update.ts b/packages/backend/src/server/api/endpoints/admin/roles/update.ts
index c9f4a9fed8..b939ccdbf9 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/update.ts
@@ -28,7 +28,7 @@ export const paramDef = {
description: { type: 'string' },
color: { type: 'string', nullable: true },
iconUrl: { type: 'string', nullable: true },
- target: { type: 'string' },
+ target: { type: 'string', enum: ['manual', 'conditional'] },
condFormula: { type: 'object' },
isPublic: { type: 'boolean' },
isModerator: { type: 'boolean' },
diff --git a/packages/backend/src/server/api/endpoints/charts/user/pv.ts b/packages/backend/src/server/api/endpoints/charts/user/pv.ts
index c920e0f57d..33652c3adf 100644
--- a/packages/backend/src/server/api/endpoints/charts/user/pv.ts
+++ b/packages/backend/src/server/api/endpoints/charts/user/pv.ts
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@nestjs/common';
import { getJsonSchema } from '@/core/chart/core.js';
import { Endpoint } from '@/server/api/endpoint-base.js';
import PerUserPvChart from '@/core/chart/charts/per-user-pv.js';
-import { schema } from '@/core/chart/charts/entities/per-user-notes.js';
+import { schema } from '@/core/chart/charts/entities/per-user-pv.js';
export const meta = {
tags: ['charts', 'users'],
diff --git a/packages/backend/src/server/api/endpoints/endpoint.ts b/packages/backend/src/server/api/endpoints/endpoint.ts
index a337a05f8c..13b91685a4 100644
--- a/packages/backend/src/server/api/endpoints/endpoint.ts
+++ b/packages/backend/src/server/api/endpoints/endpoint.ts
@@ -27,7 +27,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
return {
params: Object.entries(ep.params.properties ?? {}).map(([k, v]) => ({
name: k,
- type: v.type.charAt(0).toUpperCase() + v.type.slice(1),
+ type: v.type ? v.type.charAt(0).toUpperCase() + v.type.slice(1) : 'string',
})),
};
});
diff --git a/packages/backend/src/server/api/endpoints/i/claim-achievement.ts b/packages/backend/src/server/api/endpoints/i/claim-achievement.ts
index 52ae5475b6..d7109c6953 100644
--- a/packages/backend/src/server/api/endpoints/i/claim-achievement.ts
+++ b/packages/backend/src/server/api/endpoints/i/claim-achievement.ts
@@ -1,7 +1,7 @@
import { Inject, Injectable } from '@nestjs/common';
import { Endpoint } from '@/server/api/endpoint-base.js';
import { DI } from '@/di-symbols.js';
-import { AchievementService } from '@/core/AchievementService.js';
+import { AchievementService, ACHIEVEMENT_TYPES } from '@/core/AchievementService.js';
export const meta = {
requireCredential: true,
@@ -10,7 +10,7 @@ export const meta = {
export const paramDef = {
type: 'object',
properties: {
- name: { type: 'string' },
+ name: { type: 'string', enum: ACHIEVEMENT_TYPES },
},
required: ['name'],
} as const;