mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-03 23:14:13 +00:00 
			
		
		
		
	chore: fix lint
This commit is contained in:
		
							parent
							
								
									b8360313e8
								
							
						
					
					
						commit
						41c2aed7dc
					
				
					 17 changed files with 43 additions and 44 deletions
				
			
		packages/backend/src
| 
						 | 
					@ -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…
	
	Add table
		
		Reference in a new issue