forked from FoundKeyGang/FoundKey
chore: fix lint
This commit is contained in:
parent
b8360313e8
commit
41c2aed7dc
17 changed files with 43 additions and 44 deletions
|
@ -120,9 +120,9 @@ export const httpsAgent = config.proxy
|
||||||
*/
|
*/
|
||||||
export function getAgentByUrl(url: URL, bypassProxy = false) {
|
export function getAgentByUrl(url: URL, bypassProxy = false) {
|
||||||
if (bypassProxy || (config.proxyBypassHosts || []).includes(url.hostname)) {
|
if (bypassProxy || (config.proxyBypassHosts || []).includes(url.hostname)) {
|
||||||
return url.protocol == 'http:' ? _http : _https;
|
return url.protocol === 'http:' ? _http : _https;
|
||||||
} else {
|
} else {
|
||||||
return url.protocol == 'http:' ? httpAgent : httpsAgent;
|
return url.protocol === 'http:' ? httpAgent : httpsAgent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ export const getNoteSummary = (note: Packed<'Note'>): string => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ファイルが添付されているとき
|
// ファイルが添付されているとき
|
||||||
if ((note.files || []).length != 0) {
|
if ((note.files || []).length !== 0) {
|
||||||
summary += ` (📎${note.files!.length})`;
|
summary += ` (📎${note.files!.length})`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ function genSigningString(request: Request, includeHeaders: string[]) {
|
||||||
|
|
||||||
function lcObjectKey(src: Record<string, string>) {
|
function lcObjectKey(src: Record<string, string>) {
|
||||||
const dst: Record<string, string> = {};
|
const dst: Record<string, string> = {};
|
||||||
for (const key of Object.keys(src).filter(x => x != '__proto__' && typeof src[x] === 'string')) dst[key.toLowerCase()] = src[key];
|
for (const key of Object.keys(src).filter(x => x !== '__proto__' && typeof src[x] === 'string')) dst[key.toLowerCase()] = src[key];
|
||||||
return dst;
|
return dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,14 +109,14 @@ export default class DeliverManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.recipes.filter((recipe): recipe is IDirectRecipe => {
|
this.recipes.filter((recipe): recipe is IDirectRecipe =>
|
||||||
// followers recipes have already been processed
|
// followers recipes have already been processed
|
||||||
isDirect(recipe)
|
isDirect(recipe)
|
||||||
// check that shared inbox has not been added yet
|
// check that shared inbox has not been added yet
|
||||||
&& !(recipe.to.sharedInbox && inboxes.has(recipe.to.sharedInbox))
|
&& !(recipe.to.sharedInbox && inboxes.has(recipe.to.sharedInbox))
|
||||||
// check that they actually have an inbox
|
// check that they actually have an inbox
|
||||||
&& recipe.to.inbox
|
&& recipe.to.inbox != null,
|
||||||
})
|
)
|
||||||
.forEach(recipe => inboxes.add(recipe.to.inbox));
|
.forEach(recipe => inboxes.add(recipe.to.inbox));
|
||||||
|
|
||||||
// deliver
|
// deliver
|
||||||
|
|
|
@ -18,7 +18,7 @@ export const performReadActivity = async (actor: CacheableRemoteUser, activity:
|
||||||
return `skip: message not found`;
|
return `skip: message not found`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (actor.id != message.recipientId) {
|
if (actor.id !== message.recipientId) {
|
||||||
return `skip: actor is not a message recipient`;
|
return `skip: actor is not a message recipient`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import unfollow from '@/services/following/delete.js';
|
import unfollow from '@/services/following/delete.js';
|
||||||
import cancelRequest from '@/services/following/requests/cancel.js';
|
import cancelRequest from '@/services/following/requests/cancel.js';
|
||||||
import {IAccept} from '../../type.js';
|
import { IAccept } from '../../type.js';
|
||||||
import { CacheableRemoteUser } from '@/models/entities/user.js';
|
import { CacheableRemoteUser } from '@/models/entities/user.js';
|
||||||
import { Followings } from '@/models/index.js';
|
import { Followings } from '@/models/index.js';
|
||||||
import DbResolver from '../../db-resolver.js';
|
import DbResolver from '../../db-resolver.js';
|
||||||
|
|
|
@ -69,7 +69,7 @@ export async function updateQuestion(value: any) {
|
||||||
const oldCount = poll.votes[poll.choices.indexOf(choice)];
|
const oldCount = poll.votes[poll.choices.indexOf(choice)];
|
||||||
const newCount = apChoices!.filter(ap => ap.name === choice)[0].replies!.totalItems;
|
const newCount = apChoices!.filter(ap => ap.name === choice)[0].replies!.totalItems;
|
||||||
|
|
||||||
if (oldCount != newCount) {
|
if (oldCount !== newCount) {
|
||||||
changed = true;
|
changed = true;
|
||||||
poll.votes[poll.choices.indexOf(choice)] = newCount;
|
poll.votes[poll.choices.indexOf(choice)] = newCount;
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,14 +121,14 @@ export function verifyLogin({
|
||||||
signature: Buffer,
|
signature: Buffer,
|
||||||
challenge: string
|
challenge: string
|
||||||
}) {
|
}) {
|
||||||
if (clientData.type != 'webauthn.get') {
|
if (clientData.type !== 'webauthn.get') {
|
||||||
throw new Error('type is not webauthn.get');
|
throw new Error('type is not webauthn.get');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hash(clientData.challenge).toString('hex') != challenge) {
|
if (hash(clientData.challenge).toString('hex') !== challenge) {
|
||||||
throw new Error('challenge mismatch');
|
throw new Error('challenge mismatch');
|
||||||
}
|
}
|
||||||
if (clientData.origin != config.scheme + '://' + config.host) {
|
if (clientData.origin !== config.scheme + '://' + config.host) {
|
||||||
throw new Error('origin mismatch');
|
throw new Error('origin mismatch');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,11 +148,11 @@ export const procedures = {
|
||||||
verify({ publicKey }: {publicKey: Map<number, Buffer>}) {
|
verify({ publicKey }: {publicKey: Map<number, Buffer>}) {
|
||||||
const negTwo = publicKey.get(-2);
|
const negTwo = publicKey.get(-2);
|
||||||
|
|
||||||
if (!negTwo || negTwo.length != 32) {
|
if (!negTwo || negTwo.length !== 32) {
|
||||||
throw new Error('invalid or no -2 key given');
|
throw new Error('invalid or no -2 key given');
|
||||||
}
|
}
|
||||||
const negThree = publicKey.get(-3);
|
const negThree = publicKey.get(-3);
|
||||||
if (!negThree || negThree.length != 32) {
|
if (!negThree || negThree.length !== 32) {
|
||||||
throw new Error('invalid or no -3 key given');
|
throw new Error('invalid or no -3 key given');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ export const procedures = {
|
||||||
rpIdHash: Buffer,
|
rpIdHash: Buffer,
|
||||||
credentialId: Buffer,
|
credentialId: Buffer,
|
||||||
}) {
|
}) {
|
||||||
if (attStmt.alg != -7) {
|
if (attStmt.alg !== -7) {
|
||||||
throw new Error('alg mismatch');
|
throw new Error('alg mismatch');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,11 +196,11 @@ export const procedures = {
|
||||||
|
|
||||||
const negTwo = publicKey.get(-2);
|
const negTwo = publicKey.get(-2);
|
||||||
|
|
||||||
if (!negTwo || negTwo.length != 32) {
|
if (!negTwo || negTwo.length !== 32) {
|
||||||
throw new Error('invalid or no -2 key given');
|
throw new Error('invalid or no -2 key given');
|
||||||
}
|
}
|
||||||
const negThree = publicKey.get(-3);
|
const negThree = publicKey.get(-3);
|
||||||
if (!negThree || negThree.length != 32) {
|
if (!negThree || negThree.length !== 32) {
|
||||||
throw new Error('invalid or no -3 key given');
|
throw new Error('invalid or no -3 key given');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ export const procedures = {
|
||||||
.map((key: any) => PEMString(key))
|
.map((key: any) => PEMString(key))
|
||||||
.concat([GSR2]);
|
.concat([GSR2]);
|
||||||
|
|
||||||
if (getCertSubject(certificateChain[0]).CN != 'attest.android.com') {
|
if (getCertSubject(certificateChain[0]).CN !== 'attest.android.com') {
|
||||||
throw new Error('invalid common name');
|
throw new Error('invalid common name');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -283,11 +283,11 @@ export const procedures = {
|
||||||
|
|
||||||
const negTwo = publicKey.get(-2);
|
const negTwo = publicKey.get(-2);
|
||||||
|
|
||||||
if (!negTwo || negTwo.length != 32) {
|
if (!negTwo || negTwo.length !== 32) {
|
||||||
throw new Error('invalid or no -2 key given');
|
throw new Error('invalid or no -2 key given');
|
||||||
}
|
}
|
||||||
const negThree = publicKey.get(-3);
|
const negThree = publicKey.get(-3);
|
||||||
if (!negThree || negThree.length != 32) {
|
if (!negThree || negThree.length !== 32) {
|
||||||
throw new Error('invalid or no -3 key given');
|
throw new Error('invalid or no -3 key given');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -332,11 +332,11 @@ export const procedures = {
|
||||||
|
|
||||||
const negTwo = publicKey.get(-2);
|
const negTwo = publicKey.get(-2);
|
||||||
|
|
||||||
if (!negTwo || negTwo.length != 32) {
|
if (!negTwo || negTwo.length !== 32) {
|
||||||
throw new Error('invalid or no -2 key given');
|
throw new Error('invalid or no -2 key given');
|
||||||
}
|
}
|
||||||
const negThree = publicKey.get(-3);
|
const negThree = publicKey.get(-3);
|
||||||
if (!negThree || negThree.length != 32) {
|
if (!negThree || negThree.length !== 32) {
|
||||||
throw new Error('invalid or no -3 key given');
|
throw new Error('invalid or no -3 key given');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -353,7 +353,7 @@ export const procedures = {
|
||||||
// https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-ecdaa-algorithm-v2.0-id-20180227.html#ecdaa-verify-operation
|
// https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-ecdaa-algorithm-v2.0-id-20180227.html#ecdaa-verify-operation
|
||||||
throw new Error('ECDAA-Verify is not supported');
|
throw new Error('ECDAA-Verify is not supported');
|
||||||
} else {
|
} else {
|
||||||
if (attStmt.alg != -7) throw new Error('alg mismatch');
|
if (attStmt.alg !== -7) throw new Error('alg mismatch');
|
||||||
|
|
||||||
throw new Error('self attestation is not supported');
|
throw new Error('self attestation is not supported');
|
||||||
}
|
}
|
||||||
|
@ -377,7 +377,7 @@ export const procedures = {
|
||||||
credentialId: Buffer
|
credentialId: Buffer
|
||||||
}) {
|
}) {
|
||||||
const x5c: Buffer[] = attStmt.x5c;
|
const x5c: Buffer[] = attStmt.x5c;
|
||||||
if (x5c.length != 1) {
|
if (x5c.length !== 1) {
|
||||||
throw new Error('x5c length does not match expectation');
|
throw new Error('x5c length does not match expectation');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -387,11 +387,11 @@ export const procedures = {
|
||||||
|
|
||||||
const negTwo: Buffer = publicKey.get(-2);
|
const negTwo: Buffer = publicKey.get(-2);
|
||||||
|
|
||||||
if (!negTwo || negTwo.length != 32) {
|
if (!negTwo || negTwo.length !== 32) {
|
||||||
throw new Error('invalid or no -2 key given');
|
throw new Error('invalid or no -2 key given');
|
||||||
}
|
}
|
||||||
const negThree: Buffer = publicKey.get(-3);
|
const negThree: Buffer = publicKey.get(-3);
|
||||||
if (!negThree || negThree.length != 32) {
|
if (!negThree || negThree.length !== 32) {
|
||||||
throw new Error('invalid or no -3 key given');
|
throw new Error('invalid or no -3 key given');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,6 @@ export const paramDef = {
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
// eslint-disable-next-line import/no-default-export
|
// eslint-disable-next-line import/no-default-export
|
||||||
// @ts-ignore
|
|
||||||
export default define(meta, paramDef, async (ps, user, _, file, cleanup) => {
|
export default define(meta, paramDef, async (ps, user, _, file, cleanup) => {
|
||||||
// Get 'name' parameter
|
// Get 'name' parameter
|
||||||
let name = ps.name || file.originalname;
|
let name = ps.name || file.originalname;
|
||||||
|
|
|
@ -50,10 +50,10 @@ export default define(meta, paramDef, async (ps, user) => {
|
||||||
|
|
||||||
const clientData = JSON.parse(ps.clientDataJSON);
|
const clientData = JSON.parse(ps.clientDataJSON);
|
||||||
|
|
||||||
if (clientData.type != 'webauthn.create') {
|
if (clientData.type !== 'webauthn.create') {
|
||||||
throw new Error('not a creation attestation');
|
throw new Error('not a creation attestation');
|
||||||
}
|
}
|
||||||
if (clientData.origin != config.scheme + '://' + config.host) {
|
if (clientData.origin !== config.scheme + '://' + config.host) {
|
||||||
throw new Error('origin mismatch');
|
throw new Error('origin mismatch');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ export default define(meta, paramDef, async (ps, user) => {
|
||||||
const credentialId = authData.slice(55, 55 + credentialIdLength);
|
const credentialId = authData.slice(55, 55 + credentialIdLength);
|
||||||
const publicKeyData = authData.slice(55 + credentialIdLength);
|
const publicKeyData = authData.slice(55 + credentialIdLength);
|
||||||
const publicKey: Map<number, any> = await cborDecodeFirst(publicKeyData);
|
const publicKey: Map<number, any> = await cborDecodeFirst(publicKeyData);
|
||||||
if (publicKey.get(3) != -7) {
|
if (publicKey.get(3) !== -7) {
|
||||||
throw new Error('alg mismatch');
|
throw new Error('alg mismatch');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ export default define(meta, paramDef, async (ps, user) => {
|
||||||
take: ps.limit,
|
take: ps.limit,
|
||||||
skip: ps.offset,
|
skip: ps.offset,
|
||||||
order: {
|
order: {
|
||||||
id: ps.sort == 'asc' ? 1 : -1,
|
id: ps.sort === 'asc' ? 1 : -1,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -52,19 +52,19 @@ export default define(meta, paramDef, async (ps) => {
|
||||||
query.andWhere('note.userHost IS NULL');
|
query.andWhere('note.userHost IS NULL');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ps.reply != undefined) {
|
if (ps.reply !== undefined) {
|
||||||
query.andWhere(ps.reply ? 'note.replyId IS NOT NULL' : 'note.replyId IS NULL');
|
query.andWhere(ps.reply ? 'note.replyId IS NOT NULL' : 'note.replyId IS NULL');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ps.renote != undefined) {
|
if (ps.renote !== undefined) {
|
||||||
query.andWhere(ps.renote ? 'note.renoteId IS NOT NULL' : 'note.renoteId IS NULL');
|
query.andWhere(ps.renote ? 'note.renoteId IS NOT NULL' : 'note.renoteId IS NULL');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ps.withFiles != undefined) {
|
if (ps.withFiles !== undefined) {
|
||||||
query.andWhere(ps.withFiles ? `note.fileIds != '{}'` : `note.fileIds = '{}'`);
|
query.andWhere(ps.withFiles ? `note.fileIds != '{}'` : `note.fileIds = '{}'`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ps.poll != undefined) {
|
if (ps.poll !== undefined) {
|
||||||
query.andWhere(ps.poll ? 'note.hasPoll = TRUE' : 'note.hasPoll = FALSE');
|
query.andWhere(ps.poll ? 'note.hasPoll = TRUE' : 'note.hasPoll = FALSE');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ export default define(meta, paramDef, async (ps, user) => {
|
||||||
conversation.push(p);
|
conversation.push(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conversation.length == ps.limit) {
|
if (conversation.length === ps.limit) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,7 +110,7 @@ export default define(meta, paramDef, async (ps, user) => {
|
||||||
|
|
||||||
if (exist.length) {
|
if (exist.length) {
|
||||||
if (poll.multiple) {
|
if (poll.multiple) {
|
||||||
if (exist.some(x => x.choice == ps.choice)) {
|
if (exist.some(x => x.choice === ps.choice)) {
|
||||||
throw new ApiError(meta.errors.alreadyVoted);
|
throw new ApiError(meta.errors.alreadyVoted);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -24,17 +24,17 @@ export default async (ctx: Koa.Context) => {
|
||||||
ctx.body = { error };
|
ctx.body = { error };
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof username != 'string') {
|
if (typeof username !== 'string') {
|
||||||
ctx.status = 400;
|
ctx.status = 400;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof password != 'string') {
|
if (typeof password !== 'string') {
|
||||||
ctx.status = 400;
|
ctx.status = 400;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (token != null && typeof token != 'string') {
|
if (token != null && typeof token !== 'string') {
|
||||||
ctx.status = 400;
|
ctx.status = 400;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ export async function uploadFromUrl({
|
||||||
sensitive = false,
|
sensitive = false,
|
||||||
force = false,
|
force = false,
|
||||||
isLink = false,
|
isLink = false,
|
||||||
comment = null
|
comment = null,
|
||||||
}: Args): Promise<DriveFile> {
|
}: Args): Promise<DriveFile> {
|
||||||
let name = new URL(url).pathname.split('/').pop() || null;
|
let name = new URL(url).pathname.split('/').pop() || null;
|
||||||
if (name == null || !DriveFiles.validateFileName(name)) {
|
if (name == null || !DriveFiles.validateFileName(name)) {
|
||||||
|
@ -38,7 +38,7 @@ export async function uploadFromUrl({
|
||||||
|
|
||||||
// If the comment is same as the name, skip comment
|
// If the comment is same as the name, skip comment
|
||||||
// (image.name is passed in when receiving attachment)
|
// (image.name is passed in when receiving attachment)
|
||||||
if (comment !== null && name == comment) {
|
if (comment !== null && name === comment) {
|
||||||
comment = null;
|
comment = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,7 @@ export async function insertFollowingDoc(followee: { id: User['id']; host: User[
|
||||||
// Publish followed event
|
// Publish followed event
|
||||||
if (Users.isLocalUser(followee)) {
|
if (Users.isLocalUser(followee)) {
|
||||||
Users.pack(follower.id, followee).then(async packed => {
|
Users.pack(follower.id, followee).then(async packed => {
|
||||||
publishMainStream(followee.id, 'followed', packed)
|
publishMainStream(followee.id, 'followed', packed);
|
||||||
|
|
||||||
const webhooks = (await getActiveWebhooks()).filter(x => x.userId === followee.id && x.on.includes('followed'));
|
const webhooks = (await getActiveWebhooks()).filter(x => x.userId === followee.id && x.on.includes('followed'));
|
||||||
for (const webhook of webhooks) {
|
for (const webhook of webhooks) {
|
||||||
|
|
Loading…
Reference in a new issue