summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-11-13 19:10:14 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-11-13 19:10:14 +0900
commit8b7f5be878bd86d34dde7790346df1835cdc6756 (patch)
treec29940c6fbb071efbd0c99514a5b7d288cf69067
parentUpdate .eslintrc.js (diff)
downloadmisskey-8b7f5be878bd86d34dde7790346df1835cdc6756.tar.gz
misskey-8b7f5be878bd86d34dde7790346df1835cdc6756.tar.bz2
misskey-8b7f5be878bd86d34dde7790346df1835cdc6756.zip
fix for lint
-rw-r--r--packages/backend/src/games/reversi/core.ts8
-rw-r--r--packages/backend/src/misc/populate-emojis.ts8
-rw-r--r--packages/backend/src/misc/reaction-lib.ts1
-rw-r--r--packages/backend/src/remote/activitypub/ap-request.ts6
-rw-r--r--packages/backend/src/remote/activitypub/misc/contexts.ts1008
-rw-r--r--packages/backend/src/remote/activitypub/models/person.ts37
-rw-r--r--packages/backend/src/remote/activitypub/renderer/question.ts2
-rw-r--r--packages/backend/src/server/api/2fa.ts60
-rw-r--r--packages/backend/src/server/api/endpoints/notes/create.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/notes/polls/vote.ts3
-rw-r--r--packages/backend/src/server/api/service/github.ts11
-rw-r--r--packages/backend/src/server/well-known.ts8
12 files changed, 581 insertions, 574 deletions
diff --git a/packages/backend/src/games/reversi/core.ts b/packages/backend/src/games/reversi/core.ts
index 9bfce9834a..fc7f006cea 100644
--- a/packages/backend/src/games/reversi/core.ts
+++ b/packages/backend/src/games/reversi/core.ts
@@ -82,8 +82,7 @@ export default class Reversi {
//#endregion
// ゲームが始まった時点で片方の色の石しかないか、始まった時点で勝敗が決定するようなマップの場合がある
- if (!this.canPutSomewhere(BLACK))
- this.turn = this.canPutSomewhere(WHITE) ? WHITE : null;
+ if (!this.canPutSomewhere(BLACK)) this.turn = this.canPutSomewhere(WHITE) ? WHITE : null;
}
/**
@@ -226,11 +225,12 @@ export default class Reversi {
// 座標が指し示す位置がボード外に出たとき
if (this.opts.loopedBoard && this.transformXyToPos(
(x = ((x % this.mapWidth) + this.mapWidth) % this.mapWidth),
- (y = ((y % this.mapHeight) + this.mapHeight) % this.mapHeight)) === initPos)
+ (y = ((y % this.mapHeight) + this.mapHeight) % this.mapHeight)) === initPos) {
// 盤面の境界でループし、自分が石を置く位置に戻ってきたとき、挟めるようにしている (ref: Test4のマップ)
return found;
- else if (x === -1 || y === -1 || x === this.mapWidth || y === this.mapHeight)
+ } else if (x === -1 || y === -1 || x === this.mapWidth || y === this.mapHeight) {
return []; // 挟めないことが確定 (盤面外に到達)
+ }
const pos = this.transformXyToPos(x, y);
if (this.mapDataGet(pos) === 'null') return []; // 挟めないことが確定 (配置不可能なマスに到達)
diff --git a/packages/backend/src/misc/populate-emojis.ts b/packages/backend/src/misc/populate-emojis.ts
index f0a8bde31e..b021ec46eb 100644
--- a/packages/backend/src/misc/populate-emojis.ts
+++ b/packages/backend/src/misc/populate-emojis.ts
@@ -54,7 +54,7 @@ export async function populateEmoji(emojiName: string, noteUserHost: string | nu
const queryOrNull = async () => (await Emojis.findOne({
name,
- host
+ host,
})) || null;
const emoji = await cache.fetch(`${name} ${host}`, queryOrNull);
@@ -62,7 +62,7 @@ export async function populateEmoji(emojiName: string, noteUserHost: string | nu
if (emoji == null) return null;
const isLocal = emoji.host == null;
- const url = isLocal ? emoji.url : `${config.url}/proxy/image.png?${query({url: emoji.url})}`;
+ const url = isLocal ? emoji.url : `${config.url}/proxy/image.png?${query({ url: emoji.url })}`;
return {
name: emojiName,
@@ -111,12 +111,12 @@ export async function prefetchEmojis(emojis: { name: string; host: string | null
for (const host of hosts) {
emojisQuery.push({
name: In(notCachedEmojis.filter(e => e.host === host).map(e => e.name)),
- host: host
+ host: host,
});
}
const _emojis = emojisQuery.length > 0 ? await Emojis.find({
where: emojisQuery,
- select: ['name', 'host', 'url']
+ select: ['name', 'host', 'url'],
}) : [];
for (const emoji of _emojis) {
cache.set(`${emoji.name} ${emoji.host}`, emoji);
diff --git a/packages/backend/src/misc/reaction-lib.ts b/packages/backend/src/misc/reaction-lib.ts
index 46dedfa24b..e24f4a4fcd 100644
--- a/packages/backend/src/misc/reaction-lib.ts
+++ b/packages/backend/src/misc/reaction-lib.ts
@@ -1,3 +1,4 @@
+/* eslint-disable key-spacing */
import { emojiRegex } from './emoji-regex';
import { fetchMeta } from './fetch-meta';
import { Emojis } from '@/models/index';
diff --git a/packages/backend/src/remote/activitypub/ap-request.ts b/packages/backend/src/remote/activitypub/ap-request.ts
index 76a3857140..c75f44f2e6 100644
--- a/packages/backend/src/remote/activitypub/ap-request.ts
+++ b/packages/backend/src/remote/activitypub/ap-request.ts
@@ -19,7 +19,7 @@ export function createSignedPost(args: { key: PrivateKey, url: string, body: str
const request: Request = {
url: u.href,
method: 'POST',
- headers: objectAssignWithLcKey({
+ headers: objectAssignWithLcKey({
'Date': new Date().toUTCString(),
'Host': u.hostname,
'Content-Type': 'application/activity+json',
@@ -43,7 +43,7 @@ export function createSignedGet(args: { key: PrivateKey, url: string, additional
const request: Request = {
url: u.href,
method: 'GET',
- headers: objectAssignWithLcKey({
+ headers: objectAssignWithLcKey({
'Accept': 'application/activity+json, application/ld+json',
'Date': new Date().toUTCString(),
'Host': new URL(args.url).hostname,
@@ -66,7 +66,7 @@ function signToRequest(request: Request, key: PrivateKey, includeHeaders: string
const signatureHeader = `keyId="${key.keyId}",algorithm="rsa-sha256",headers="${includeHeaders.join(' ')}",signature="${signature}"`;
request.headers = objectAssignWithLcKey(request.headers, {
- Signature: signatureHeader
+ Signature: signatureHeader,
});
return {
diff --git a/packages/backend/src/remote/activitypub/misc/contexts.ts b/packages/backend/src/remote/activitypub/misc/contexts.ts
index 64d9da647f..aee0d3629c 100644
--- a/packages/backend/src/remote/activitypub/misc/contexts.ts
+++ b/packages/backend/src/remote/activitypub/misc/contexts.ts
@@ -1,526 +1,526 @@
/* eslint:disable:quotemark indent */
const id_v1 = {
- "@context": {
- "id": "@id",
- "type": "@type",
+ '@context': {
+ 'id': '@id',
+ 'type': '@type',
- "cred": "https://w3id.org/credentials#",
- "dc": "http://purl.org/dc/terms/",
- "identity": "https://w3id.org/identity#",
- "perm": "https://w3id.org/permissions#",
- "ps": "https://w3id.org/payswarm#",
- "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
- "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
- "sec": "https://w3id.org/security#",
- "schema": "http://schema.org/",
- "xsd": "http://www.w3.org/2001/XMLSchema#",
+ 'cred': 'https://w3id.org/credentials#',
+ 'dc': 'http://purl.org/dc/terms/',
+ 'identity': 'https://w3id.org/identity#',
+ 'perm': 'https://w3id.org/permissions#',
+ 'ps': 'https://w3id.org/payswarm#',
+ 'rdf': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
+ 'rdfs': 'http://www.w3.org/2000/01/rdf-schema#',
+ 'sec': 'https://w3id.org/security#',
+ 'schema': 'http://schema.org/',
+ 'xsd': 'http://www.w3.org/2001/XMLSchema#',
- "Group": "https://www.w3.org/ns/activitystreams#Group",
+ 'Group': 'https://www.w3.org/ns/activitystreams#Group',
- "claim": {"@id": "cred:claim", "@type": "@id"},
- "credential": {"@id": "cred:credential", "@type": "@id"},
- "issued": {"@id": "cred:issued", "@type": "xsd:dateTime"},
- "issuer": {"@id": "cred:issuer", "@type": "@id"},
- "recipient": {"@id": "cred:recipient", "@type": "@id"},
- "Credential": "cred:Credential",
- "CryptographicKeyCredential": "cred:CryptographicKeyCredential",
+ 'claim': { '@id': 'cred:claim', '@type': '@id' },
+ 'credential': { '@id': 'cred:credential', '@type': '@id' },
+ 'issued': { '@id': 'cred:issued', '@type': 'xsd:dateTime' },
+ 'issuer': { '@id': 'cred:issuer', '@type': '@id' },
+ 'recipient': { '@id': 'cred:recipient', '@type': '@id' },
+ 'Credential': 'cred:Credential',
+ 'CryptographicKeyCredential': 'cred:CryptographicKeyCredential',
- "about": {"@id": "schema:about", "@type": "@id"},
- "address": {"@id": "schema:address", "@type": "@id"},
- "addressCountry": "schema:addressCountry",
- "addressLocality": "schema:addressLocality",
- "addressRegion": "schema:addressRegion",
- "comment": "rdfs:comment",
- "created": {"@id": "dc:created", "@type": "xsd:dateTime"},
- "creator": {"@id": "dc:creator", "@type": "@id"},
- "description": "schema:description",
- "email": "schema:email",
- "familyName": "schema:familyName",
- "givenName": "schema:givenName",
- "image": {"@id": "schema:image", "@type": "@id"},
- "label": "rdfs:label",
- "name": "schema:name",
- "postalCode": "schema:postalCode",
- "streetAddress": "schema:streetAddress",
- "title": "dc:title",
- "url": {"@id": "schema:url", "@type": "@id"},
- "Person": "schema:Person",
- "PostalAddress": "schema:PostalAddress",
- "Organization": "schema:Organization",
+ 'about': { '@id': 'schema:about', '@type': '@id' },
+ 'address': { '@id': 'schema:address', '@type': '@id' },
+ 'addressCountry': 'schema:addressCountry',
+ 'addressLocality': 'schema:addressLocality',
+ 'addressRegion': 'schema:addressRegion',
+ 'comment': 'rdfs:comment',
+ 'created': { '@id': 'dc:created', '@type': 'xsd:dateTime' },
+ 'creator': { '@id': 'dc:creator', '@type': '@id' },
+ 'description': 'schema:description',
+ 'email': 'schema:email',
+ 'familyName': 'schema:familyName',
+ 'givenName': 'schema:givenName',
+ 'image': { '@id': 'schema:image', '@type': '@id' },
+ 'label': 'rdfs:label',
+ 'name': 'schema:name',
+ 'postalCode': 'schema:postalCode',
+ 'streetAddress': 'schema:streetAddress',
+ 'title': 'dc:title',
+ 'url': { '@id': 'schema:url', '@type': '@id' },
+ 'Person': 'schema:Person',
+ 'PostalAddress': 'schema:PostalAddress',
+ 'Organization': 'schema:Organization',
- "identityService": {"@id": "identity:identityService", "@type": "@id"},
- "idp": {"@id": "identity:idp", "@type": "@id"},
- "Identity": "identity:Identity",
+ 'identityService': { '@id': 'identity:identityService', '@type': '@id' },
+ 'idp': { '@id': 'identity:idp', '@type': '@id' },
+ 'Identity': 'identity:Identity',
- "paymentProcessor": "ps:processor",
- "preferences": {"@id": "ps:preferences", "@type": "@vocab"},
+ 'paymentProcessor': 'ps:processor',
+ 'preferences': { '@id': 'ps:preferences', '@type': '@vocab' },
- "cipherAlgorithm": "sec:cipherAlgorithm",
- "cipherData": "sec:cipherData",
- "cipherKey": "sec:cipherKey",
- "digestAlgorithm": "sec:digestAlgorithm",
- "digestValue": "sec:digestValue",
- "domain": "sec:domain",
- "expires": {"@id": "sec:expiration", "@type": "xsd:dateTime"},
- "initializationVector": "sec:initializationVector",
- "member": {"@id": "schema:member", "@type": "@id"},
- "memberOf": {"@id": "schema:memberOf", "@type": "@id"},
- "nonce": "sec:nonce",
- "normalizationAlgorithm": "sec:normalizationAlgorithm",
- "owner": {"@id": "sec:owner", "@type": "@id"},
- "password": "sec:password",
- "privateKey": {"@id": "sec:privateKey", "@type": "@id"},
- "privateKeyPem": "sec:privateKeyPem",
- "publicKey": {"@id": "sec:publicKey", "@type": "@id"},
- "publicKeyPem": "sec:publicKeyPem",
- "publicKeyService": {"@id": "sec:publicKeyService", "@type": "@id"},
- "revoked": {"@id": "sec:revoked", "@type": "xsd:dateTime"},
- "signature": "sec:signature",
- "signatureAlgorithm": "sec:signatureAlgorithm",
- "signatureValue": "sec:signatureValue",
- "CryptographicKey": "sec:Key",
- "EncryptedMessage": "sec:EncryptedMessage",
- "GraphSignature2012": "sec:GraphSignature2012",
- "LinkedDataSignature2015": "sec:LinkedDataSignature2015",
+ 'cipherAlgorithm': 'sec:cipherAlgorithm',
+ 'cipherData': 'sec:cipherData',
+ 'cipherKey': 'sec:cipherKey',
+ 'digestAlgorithm': 'sec:digestAlgorithm',
+ 'digestValue': 'sec:digestValue',
+ 'domain': 'sec:domain',
+ 'expires': { '@id': 'sec:expiration', '@type': 'xsd:dateTime' },
+ 'initializationVector': 'sec:initializationVector',
+ 'member': { '@id': 'schema:member', '@type': '@id' },
+ 'memberOf': { '@id': 'schema:memberOf', '@type': '@id' },
+ 'nonce': 'sec:nonce',
+ 'normalizationAlgorithm': 'sec:normalizationAlgorithm',
+ 'owner': { '@id': 'sec:owner', '@type': '@id' },
+ 'password': 'sec:password',
+ 'privateKey': { '@id': 'sec:privateKey', '@type': '@id' },
+ 'privateKeyPem': 'sec:privateKeyPem',
+ 'publicKey': { '@id': 'sec:publicKey', '@type': '@id' },
+ 'publicKeyPem': 'sec:publicKeyPem',
+ 'publicKeyService': { '@id': 'sec:publicKeyService', '@type': '@id' },
+ 'revoked': { '@id': 'sec:revoked', '@type': 'xsd:dateTime' },
+ 'signature': 'sec:signature',
+ 'signatureAlgorithm': 'sec:signatureAlgorithm',
+ 'signatureValue': 'sec:signatureValue',
+ 'CryptographicKey': 'sec:Key',
+ 'EncryptedMessage': 'sec:EncryptedMessage',
+ 'GraphSignature2012': 'sec:GraphSignature2012',
+ 'LinkedDataSignature2015': 'sec:LinkedDataSignature2015',
- "accessControl": {"@id": "perm:accessControl", "@type": "@id"},
- "writePermission": {"@id": "perm:writePermission", "@type": "@id"}
- }
+ 'accessControl': { '@id': 'perm:accessControl', '@type': '@id' },
+ 'writePermission': { '@id': 'perm:writePermission', '@type': '@id' },
+ },
};
const security_v1 = {
- "@context": {
- "id": "@id",
- "type": "@type",
+ '@context': {
+ 'id': '@id',
+ 'type': '@type',
- "dc": "http://purl.org/dc/terms/",
- "sec": "https://w3id.org/security#",
- "xsd": "http://www.w3.org/2001/XMLSchema#",
+ 'dc': 'http://purl.org/dc/terms/',
+ 'sec': 'https://w3id.org/security#',
+ 'xsd': 'http://www.w3.org/2001/XMLSchema#',
- "EcdsaKoblitzSignature2016": "sec:EcdsaKoblitzSignature2016",
- "Ed25519Signature2018": "sec:Ed25519Signature2018",
- "EncryptedMessage": "sec:EncryptedMessage",
- "GraphSignature2012": "sec:GraphSignature2012",
- "LinkedDataSignature2015": "sec:LinkedDataSignature2015",
- "LinkedDataSignature2016": "sec:LinkedDataSignature2016",
- "CryptographicKey": "sec:Key",
+ 'EcdsaKoblitzSignature2016': 'sec:EcdsaKoblitzSignature2016',
+ 'Ed25519Signature2018': 'sec:Ed25519Signature2018',
+ 'EncryptedMessage': 'sec:EncryptedMessage',
+ 'GraphSignature2012': 'sec:GraphSignature2012',
+ 'LinkedDataSignature2015': 'sec:LinkedDataSignature2015',
+ 'LinkedDataSignature2016': 'sec:LinkedDataSignature2016',
+ 'CryptographicKey': 'sec:Key',
- "authenticationTag": "sec:authenticationTag",
- "canonicalizationAlgorithm": "sec:canonicalizationAlgorithm",
- "cipherAlgorithm": "sec:cipherAlgorithm",
- "cipherData": "sec:cipherData",
- "cipherKey": "sec:cipherKey",
- "created": {"@id": "dc:created", "@type": "xsd:dateTime"},
- "creator": {"@id": "dc:creator", "@type": "@id"},
- "digestAlgorithm": "sec:digestAlgorithm",
- "digestValue": "sec:digestValue",
- "domain": "sec:domain",
- "encryptionKey": "sec:encryptionKey",
- "expiration": {"@id": "sec:expiration", "@type": "xsd:dateTime"},
- "expires": {"@id": "sec:expiration", "@type": "xsd:dateTime"},
- "initializationVector": "sec:initializationVector",
- "iterationCount": "sec:iterationCount",
- "nonce": "sec:nonce",
- "normalizationAlgorithm": "sec:normalizationAlgorithm",
- "owner": {"@id": "sec:owner", "@type": "@id"},
- "password": "sec:password",
- "privateKey": {"@id": "sec:privateKey", "@type": "@id"},
- "privateKeyPem": "sec:privateKeyPem",
- "publicKey": {"@id": "sec:publicKey", "@type": "@id"},
- "publicKeyBase58": "sec:publicKeyBase58",
- "publicKeyPem": "sec:publicKeyPem",
- "publicKeyWif": "sec:publicKeyWif",
- "publicKeyService": {"@id": "sec:publicKeyService", "@type": "@id"},
- "revoked": {"@id": "sec:revoked", "@type": "xsd:dateTime"},
- "salt": "sec:salt",
- "signature": "sec:signature",
- "signatureAlgorithm": "sec:signingAlgorithm",
- "signatureValue": "sec:signatureValue"
- }
+ 'authenticationTag': 'sec:authenticationTag',
+ 'canonicalizationAlgorithm': 'sec:canonicalizationAlgorithm',
+ 'cipherAlgorithm': 'sec:cipherAlgorithm',
+ 'cipherData': 'sec:cipherData',
+ 'cipherKey': 'sec:cipherKey',
+ 'created': { '@id': 'dc:created', '@type': 'xsd:dateTime' },
+ 'creator': { '@id': 'dc:creator', '@type': '@id' },
+ 'digestAlgorithm': 'sec:digestAlgorithm',
+ 'digestValue': 'sec:digestValue',
+ 'domain': 'sec:domain',
+ 'encryptionKey': 'sec:encryptionKey',
+ 'expiration': { '@id': 'sec:expiration', '@type': 'xsd:dateTime' },
+ 'expires': { '@id': 'sec:expiration', '@type': 'xsd:dateTime' },
+ 'initializationVector': 'sec:initializationVector',
+ 'iterationCount': 'sec:iterationCount',
+ 'nonce': 'sec:nonce',
+ 'normalizationAlgorithm': 'sec:normalizationAlgorithm',
+ 'owner': { '@id': 'sec:owner', '@type': '@id' },
+ 'password': 'sec:password',
+ 'privateKey': { '@id': 'sec:privateKey', '@type': '@id' },
+ 'privateKeyPem': 'sec:privateKeyPem',
+ 'publicKey': { '@id': 'sec:publicKey', '@type': '@id' },
+ 'publicKeyBase58': 'sec:publicKeyBase58',
+ 'publicKeyPem': 'sec:publicKeyPem',
+ 'publicKeyWif': 'sec:publicKeyWif',
+ 'publicKeyService': { '@id': 'sec:publicKeyService', '@type': '@id' },
+ 'revoked': { '@id': 'sec:revoked', '@type': 'xsd:dateTime' },
+ 'salt': 'sec:salt',
+ 'signature': 'sec:signature',
+ 'signatureAlgorithm': 'sec:signingAlgorithm',
+ 'signatureValue': 'sec:signatureValue',
+ },
};
const activitystreams = {
- "@context": {
- "@vocab": "_:",
- "xsd": "http://www.w3.org/2001/XMLSchema#",
- "as": "https://www.w3.org/ns/activitystreams#",
- "ldp": "http://www.w3.org/ns/ldp#",
- "vcard": "http://www.w3.org/2006/vcard/ns#",
- "id": "@id",
- "type": "@type",
- "Accept": "as:Accept",
- "Activity": "as:Activity",
- "IntransitiveActivity": "as:IntransitiveActivity",
- "Add": "as:Add",
- "Announce": "as:Announce",
- "Application": "as:Application",
- "Arrive": "as:Arrive",
- "Article": "as:Article",
- "Audio": "as:Audio",
- "Block": "as:Block",
- "Collection": "as:Collection",
- "CollectionPage": "as:CollectionPage",
- "Relationship": "as:Relationship",
- "Create": "as:Create",
- "Delete": "as:Delete",
- "Dislike": "as:Dislike",
- "Document": "as:Document",
- "Event": "as:Event",
- "Follow": "as:Follow",
- "Flag": "as:Flag",
- "Group": "as:Group",
- "Ignore": "as:Ignore",
- "Image": "as:Image",
- "Invite": "as:Invite",
- "Join": "as:Join",
- "Leave": "as:Leave",
- "Like": "as:Like",
- "Link": "as:Link",
- "Mention": "as:Mention",
- "Note": "as:Note",
- "Object": "as:Object",
- "Offer": "as:Offer",
- "OrderedCollection": "as:OrderedCollection",
- "OrderedCollectionPage": "as:OrderedCollectionPage",
- "Organization": "as:Organization",
- "Page": "as:Page",
- "Person": "as:Person",
- "Place": "as:Place",
- "Profile": "as:Profile",
- "Question": "as:Question",
- "Reject": "as:Reject",
- "Remove": "as:Remove",
- "Service": "as:Service",
- "TentativeAccept": "as:TentativeAccept",
- "TentativeReject": "as:TentativeReject",
- "Tombstone": "as:Tombstone",
- "Undo": "as:Undo",
- "Update": "as:Update",
- "Video": "as:Video",
- "View": "as:View",
- "Listen": "as:Listen",
- "Read": "as:Read",
- "Move": "as:Move",
- "Travel": "as:Travel",
- "IsFollowing": "as:IsFollowing",
- "IsFollowedBy": "as:IsFollowedBy",
- "IsContact": "as:IsContact",
- "IsMember": "as:IsMember",
- "subject": {
- "@id": "as:subject",
- "@type": "@id"
- },
- "relationship": {
- "@id": "as:relationship",
- "@type": "@id"
- },
- "actor": {
- "@id": "as:actor",
- "@type": "@id"
- },
- "attributedTo": {
- "@id": "as:attributedTo",
- "@type": "@id"
- },
- "attachment": {
- "@id": "as:attachment",
- "@type": "@id"
- },
- "bcc": {
- "@id": "as:bcc",
- "@type": "@id"
- },
- "bto": {
- "@id": "as:bto",
- "@type": "@id"
- },
- "cc": {
- "@id": "as:cc",
- "@type": "@id"
- },
- "context": {
- "@id": "as:context",
- "@type": "@id"
- },
- "current": {
- "@id": "as:current",
- "@type": "@id"
- },
- "first": {
- "@id": "as:first",
- "@type": "@id"
- },
- "generator": {
- "@id": "as:generator",
- "@type": "@id"
- },
- "icon": {
- "@id": "as:icon",
- "@type": "@id"
- },
- "image": {
- "@id": "as:image",
- "@type": "@id"
- },
- "inReplyTo": {
- "@id": "as:inReplyTo",
- "@type": "@id"
- },
- "items": {
- "@id": "as:items",
- "@type": "@id"
- },
- "instrument": {
- "@id": "as:instrument",
- "@type": "@id"
- },
- "orderedItems": {
- "@id": "as:items",
- "@type": "@id",
- "@container": "@list"
- },
- "last": {
- "@id": "as:last",
- "@type": "@id"
- },
- "location": {
- "@id": "as:location",
- "@type": "@id"
- },
- "next": {
- "@id": "as:next",
- "@type": "@id"
- },
- "object": {
- "@id": "as:object",
- "@type": "@id"
- },
- "oneOf": {
- "@id": "as:oneOf",
- "@type": "@id"
- },
- "anyOf": {
- "@id": "as:anyOf",
- "@type": "@id"
- },
- "closed": {
- "@id": "as:closed",
- "@type": "xsd:dateTime"
- },
- "origin": {
- "@id": "as:origin",
- "@type": "@id"
- },
- "accuracy": {
- "@id": "as:accuracy",
- "@type": "xsd:float"
- },
- "prev": {
- "@id": "as:prev",
- "@type": "@id"
- },
- "preview": {
- "@id": "as:preview",
- "@type": "@id"
- },
- "replies": {
- "@id": "as:replies",
- "@type": "@id"
- },
- "result": {
- "@id": "as:result",
- "@type": "@id"
- },
- "audience": {
- "@id": "as:audience",
- "@type": "@id"
- },
- "partOf": {
- "@id": "as:partOf",
- "@type": "@id"
- },
- "tag": {
- "@id": "as:tag",
- "@type": "@id"
- },
- "target": {
- "@id": "as:target",
- "@type": "@id"
- },
- "to": {
- "@id": "as:to",
- "@type": "@id"
- },
- "url": {
- "@id": "as:url",
- "@type": "@id"
- },
- "altitude": {
- "@id": "as:altitude",
- "@type": "xsd:float"
- },
- "content": "as:content",
- "contentMap": {
- "@id": "as:content",
- "@container": "@language"
- },
- "name": "as:name",
- "nameMap": {
- "@id": "as:name",
- "@container": "@language"
- },
- "duration": {
- "@id": "as:duration",
- "@type": "xsd:duration"
- },
- "endTime": {
- "@id": "as:endTime",
- "@type": "xsd:dateTime"
- },
- "height": {
- "@id": "as:height",
- "@type": "xsd:nonNegativeInteger"
- },
- "href": {
- "@id": "as:href",
- "@type": "@id"
- },
- "hreflang": "as:hreflang",
- "latitude": {
- "@id": "as:latitude",
- "@type": "xsd:float"
- },
- "longitude": {
- "@id": "as:longitude",
- "@type": "xsd:float"
- },
- "mediaType": "as:mediaType",
- "published": {
- "@id": "as:published",
- "@type": "xsd:dateTime"
- },
- "radius": {
- "@id": "as:radius",
- "@type": "xsd:float"
- },
- "rel": "as:rel",
- "startIndex": {
- "@id": "as:startIndex",
- "@type": "xsd:nonNegativeInteger"
- },
- "startTime": {
- "@id": "as:startTime",
- "@type": "xsd:dateTime"
- },
- "summary": "as:summary",
- "summaryMap": {
- "@id": "as:summary",
- "@container": "@language"
- },
- "totalItems": {
- "@id": "as:totalItems",
- "@type": "xsd:nonNegativeInteger"
- },
- "units": "as:units",
- "updated": {
- "@id": "as:updated",
- "@type": "xsd:dateTime"
- },
- "width": {
- "@id": "as:width",
- "@type": "xsd:nonNegativeInteger"
- },
- "describes": {
- "@id": "as:describes",
- "@type": "@id"
- },
- "formerType": {
- "@id": "as:formerType",
- "@type": "@id"
- },
- "deleted": {
- "@id": "as:deleted",
- "@type": "xsd:dateTime"
- },
- "inbox": {
- "@id": "ldp:inbox",
- "@type": "@id"
- },
- "outbox": {
- "@id": "as:outbox",
- "@type": "@id"
- },
- "following": {
- "@id": "as:following",
- "@type": "@id"
- },
- "followers": {
- "@id": "as:followers",
- "@type": "@id"
- },
- "streams": {
- "@id": "as:streams",
- "@type": "@id"
- },
- "preferredUsername": "as:preferredUsername",
- "endpoints": {
- "@id": "as:endpoints",
- "@type": "@id"
- },
- "uploadMedia": {
- "@id": "as:uploadMedia",
- "@type": "@id"
- },
- "proxyUrl": {
- "@id": "as:proxyUrl",
- "@type": "@id"
- },
- "liked": {
- "@id": "as:liked",
- "@type": "@id"
- },
- "oauthAuthorizationEndpoint": {
- "@id": "as:oauthAuthorizationEndpoint",
- "@type": "@id"
- },
- "oauthTokenEndpoint": {
- "@id": "as:oauthTokenEndpoint",
- "@type": "@id"
- },
- "provideClientKey": {
- "@id": "as:provideClientKey",
- "@type": "@id"
- },
- "signClientKey": {
- "@id": "as:signClientKey",
- "@type": "@id"
- },
- "sharedInbox": {
- "@id": "as:sharedInbox",
- "@type": "@id"
- },
- "Public": {
- "@id": "as:Public",
- "@type": "@id"
- },
- "source": "as:source",
- "likes": {
- "@id": "as:likes",
- "@type": "@id"
- },
- "shares": {
- "@id": "as:shares",
- "@type": "@id"
- },
- "alsoKnownAs": {
- "@id": "as:alsoKnownAs",
- "@type": "@id"
- }
- }
+ '@context': {
+ '@vocab': '_:',
+ 'xsd': 'http://www.w3.org/2001/XMLSchema#',
+ 'as': 'https://www.w3.org/ns/activitystreams#',
+ 'ldp': 'http://www.w3.org/ns/ldp#',
+ 'vcard': 'http://www.w3.org/2006/vcard/ns#',
+ 'id': '@id',
+ 'type': '@type',
+ 'Accept': 'as:Accept',
+ 'Activity': 'as:Activity',
+ 'IntransitiveActivity': 'as:IntransitiveActivity',
+ 'Add': 'as:Add',
+ 'Announce': 'as:Announce',
+ 'Application': 'as:Application',
+ 'Arrive': 'as:Arrive',
+ 'Article': 'as:Article',
+ 'Audio': 'as:Audio',
+ 'Block': 'as:Block',
+ 'Collection': 'as:Collection',
+ 'CollectionPage': 'as:CollectionPage',
+ 'Relationship': 'as:Relationship',
+ 'Create': 'as:Create',
+ 'Delete': 'as:Delete',
+ 'Dislike': 'as:Dislike',
+ 'Document': 'as:Document',
+ 'Event': 'as:Event',
+ 'Follow': 'as:Follow',
+ 'Flag': 'as:Flag',
+ 'Group': 'as:Group',
+ 'Ignore': 'as:Ignore',
+ 'Image': 'as:Image',
+ 'Invite': 'as:Invite',
+ 'Join': 'as:Join',
+ 'Leave': 'as:Leave',
+ 'Like': 'as:Like',
+ 'Link': 'as:Link',
+ 'Mention': 'as:Mention',
+ 'Note': 'as:Note',
+ 'Object': 'as:Object',
+ 'Offer': 'as:Offer',
+ 'OrderedCollection': 'as:OrderedCollection',
+ 'OrderedCollectionPage': 'as:OrderedCollectionPage',
+ 'Organization': 'as:Organization',
+ 'Page': 'as:Page',
+ 'Person': 'as:Person',
+ 'Place': 'as:Place',
+ 'Profile': 'as:Profile',
+ 'Question': 'as:Question',
+ 'Reject': 'as:Reject',
+ 'Remove': 'as:Remove',
+ 'Service': 'as:Service',
+ 'TentativeAccept': 'as:TentativeAccept',
+ 'TentativeReject': 'as:TentativeReject',
+ 'Tombstone': 'as:Tombstone',
+ 'Undo': 'as:Undo',
+ 'Update': 'as:Update',
+ 'Video': 'as:Video',
+ 'View': 'as:View',
+ 'Listen': 'as:Listen',
+ 'Read': 'as:Read',
+ 'Move': 'as:Move',
+ 'Travel': 'as:Travel',
+ 'IsFollowing': 'as:IsFollowing',
+ 'IsFollowedBy': 'as:IsFollowedBy',
+ 'IsContact': 'as:IsContact',
+ 'IsMember': 'as:IsMember',
+ 'subject': {
+ '@id': 'as:subject',
+ '@type': '@id',
+ },
+ 'relationship': {
+ '@id': 'as:relationship',
+ '@type': '@id',
+ },
+ 'actor': {
+ '@id': 'as:actor',
+ '@type': '@id',
+ },
+ 'attributedTo': {
+ '@id': 'as:attributedTo',
+ '@type': '@id',
+ },
+ 'attachment': {
+ '@id': 'as:attachment',
+ '@type': '@id',
+ },
+ 'bcc': {
+ '@id': 'as:bcc',
+ '@type': '@id',
+ },
+ 'bto': {
+ '@id': 'as:bto',
+ '@type': '@id',
+ },
+ 'cc': {
+ '@id': 'as:cc',
+ '@type': '@id',
+ },
+ 'context': {
+ '@id': 'as:context',
+ '@type': '@id',
+ },
+ 'current': {
+ '@id': 'as:current',
+ '@type': '@id',
+ },
+ 'first': {
+ '@id': 'as:first',
+ '@type': '@id',
+ },
+ 'generator': {
+ '@id': 'as:generator',
+ '@type': '@id',
+ },
+ 'icon': {
+ '@id': 'as:icon',
+ '@type': '@id',
+ },
+ 'image': {
+ '@id': 'as:image',
+ '@type': '@id',
+ },
+ 'inReplyTo': {
+ '@id': 'as:inReplyTo',
+ '@type': '@id',
+ },
+ 'items': {
+ '@id': 'as:items',
+ '@type': '@id',
+ },
+ 'instrument': {
+ '@id': 'as:instrument',
+ '@type': '@id',
+ },
+ 'orderedItems': {
+ '@id': 'as:items',
+ '@type': '@id',
+ '@container': '@list',
+ },
+ 'last': {
+ '@id': 'as:last',
+ '@type': '@id',
+ },
+ 'location': {
+ '@id': 'as:location',
+ '@type': '@id',
+ },
+ 'next': {
+ '@id': 'as:next',
+ '@type': '@id',
+ },
+ 'object': {
+ '@id': 'as:object',
+ '@type': '@id',
+ },
+ 'oneOf': {
+ '@id': 'as:oneOf',
+ '@type': '@id',
+ },
+ 'anyOf': {
+ '@id': 'as:anyOf',
+ '@type': '@id',
+ },
+ 'closed': {
+ '@id': 'as:closed',
+ '@type': 'xsd:dateTime',
+ },
+ 'origin': {
+ '@id': 'as:origin',
+ '@type': '@id',
+ },
+ 'accuracy': {
+ '@id': 'as:accuracy',
+ '@type': 'xsd:float',
+ },
+ 'prev': {
+ '@id': 'as:prev',
+ '@type': '@id',
+ },
+ 'preview': {
+ '@id': 'as:preview',
+ '@type': '@id',
+ },
+ 'replies': {
+ '@id': 'as:replies',
+ '@type': '@id',
+ },
+ 'result': {
+ '@id': 'as:result',
+ '@type': '@id',
+ },
+ 'audience': {
+ '@id': 'as:audience',
+ '@type': '@id',
+ },
+ 'partOf': {
+ '@id': 'as:partOf',
+ '@type': '@id',
+ },
+ 'tag': {
+ '@id': 'as:tag',
+ '@type': '@id',
+ },
+ 'target': {
+ '@id': 'as:target',
+ '@type': '@id',
+ },
+ 'to': {
+ '@id': 'as:to',
+ '@type': '@id',
+ },
+ 'url': {
+ '@id': 'as:url',
+ '@type': '@id',
+ },
+ 'altitude': {
+ '@id': 'as:altitude',
+ '@type': 'xsd:float',
+ },
+ 'content': 'as:content',
+ 'contentMap': {
+ '@id': 'as:content',
+ '@container': '@language',
+ },
+ 'name': 'as:name',
+ 'nameMap': {
+ '@id': 'as:name',
+ '@container': '@language',
+ },
+ 'duration': {
+ '@id': 'as:duration',
+ '@type': 'xsd:duration',
+ },
+ 'endTime': {
+ '@id': 'as:endTime',
+ '@type': 'xsd:dateTime',
+ },
+ 'height': {
+ '@id': 'as:height',
+ '@type': 'xsd:nonNegativeInteger',
+ },
+ 'href': {
+ '@id': 'as:href',
+ '@type': '@id',
+ },
+ 'hreflang': 'as:hreflang',
+ 'latitude': {
+ '@id': 'as:latitude',
+ '@type': 'xsd:float',
+ },
+ 'longitude': {
+ '@id': 'as:longitude',
+ '@type': 'xsd:float',
+ },
+ 'mediaType': 'as:mediaType',
+ 'published': {
+ '@id': 'as:published',
+ '@type': 'xsd:dateTime',
+ },
+ 'radius': {
+ '@id': 'as:radius',
+ '@type': 'xsd:float',
+ },
+ 'rel': 'as:rel',
+ 'startIndex': {
+ '@id': 'as:startIndex',
+ '@type': 'xsd:nonNegativeInteger',
+ },
+ 'startTime': {
+ '@id': 'as:startTime',
+ '@type': 'xsd:dateTime',
+ },
+ 'summary': 'as:summary',
+ 'summaryMap': {
+ '@id': 'as:summary',
+ '@container': '@language',
+ },
+ 'totalItems': {
+ '@id': 'as:totalItems',
+ '@type': 'xsd:nonNegativeInteger',
+ },
+ 'units': 'as:units',
+ 'updated': {
+ '@id': 'as:updated',
+ '@type': 'xsd:dateTime',
+ },
+ 'width': {
+ '@id': 'as:width',
+ '@type': 'xsd:nonNegativeInteger',
+ },
+ 'describes': {
+ '@id': 'as:describes',
+ '@type': '@id',
+ },
+ 'formerType': {
+ '@id': 'as:formerType',
+ '@type': '@id',
+ },
+ 'deleted': {
+ '@id': 'as:deleted',
+ '@type': 'xsd:dateTime',
+ },
+ 'inbox': {
+ '@id': 'ldp:inbox',
+ '@type': '@id',
+ },
+ 'outbox': {
+ '@id': 'as:outbox',
+ '@type': '@id',
+ },
+ 'following': {
+ '@id': 'as:following',
+ '@type': '@id',
+ },
+ 'followers': {
+ '@id': 'as:followers',
+ '@type': '@id',
+ },
+ 'streams': {
+ '@id': 'as:streams',
+ '@type': '@id',
+ },
+ 'preferredUsername': 'as:preferredUsername',
+ 'endpoints': {
+ '@id': 'as:endpoints',
+ '@type': '@id',
+ },
+ 'uploadMedia': {
+ '@id': 'as:uploadMedia',
+ '@type': '@id',
+ },
+ 'proxyUrl': {
+ '@id': 'as:proxyUrl',
+ '@type': '@id',
+ },
+ 'liked': {
+ '@id': 'as:liked',
+ '@type': '@id',
+ },
+ 'oauthAuthorizationEndpoint': {
+ '@id': 'as:oauthAuthorizationEndpoint',
+ '@type': '@id',
+ },
+ 'oauthTokenEndpoint': {
+ '@id': 'as:oauthTokenEndpoint',
+ '@type': '@id',
+ },
+ 'provideClientKey': {
+ '@id': 'as:provideClientKey',
+ '@type': '@id',
+ },
+ 'signClientKey': {
+ '@id': 'as:signClientKey',
+ '@type': '@id',
+ },
+ 'sharedInbox': {
+ '@id': 'as:sharedInbox',
+ '@type': '@id',
+ },
+ 'Public': {
+ '@id': 'as:Public',
+ '@type': '@id',
+ },
+ 'source': 'as:source',
+ 'likes': {
+ '@id': 'as:likes',
+ '@type': '@id',
+ },
+ 'shares': {
+ '@id': 'as:shares',
+ '@type': '@id',
+ },
+ 'alsoKnownAs': {
+ '@id': 'as:alsoKnownAs',
+ '@type': '@id',
+ },
+ },
};
-export const CONTEXTS: Record<string, any> = {
- "https://w3id.org/identity/v1": id_v1,
- "https://w3id.org/security/v1": security_v1,
- "https://www.w3.org/ns/activitystreams": activitystreams,
+export const CONTEXTS: Record<string, unknown> = {
+ 'https://w3id.org/identity/v1': id_v1,
+ 'https://w3id.org/security/v1': security_v1,
+ 'https://www.w3.org/ns/activitystreams': activitystreams,
};
diff --git a/packages/backend/src/remote/activitypub/models/person.ts b/packages/backend/src/remote/activitypub/models/person.ts
index 95db46bff2..9e9cb3a96a 100644
--- a/packages/backend/src/remote/activitypub/models/person.ts
+++ b/packages/backend/src/remote/activitypub/models/person.ts
@@ -163,7 +163,7 @@ export async function createPerson(uri: string, resolver?: Resolver): Promise<Us
uri: person.id,
tags,
isBot,
- isCat: (person as any).isCat === true
+ isCat: (person as any).isCat === true,
})) as IRemoteUser;
await transactionalEntityManager.save(new UserProfile({
@@ -173,14 +173,14 @@ export async function createPerson(uri: string, resolver?: Resolver): Promise<Us
fields,
birthday: bday ? bday[0] : null,
location: person['vcard:Address'] || null,
- userHost: host
+ userHost: host,
}));
if (person.publicKey) {
await transactionalEntityManager.save(new UserPublickey({
userId: user.id,
keyId: person.publicKey.id,
- keyPem: person.publicKey.publicKeyPem
+ keyPem: person.publicKey.publicKeyPem,
}));
}
});
@@ -189,7 +189,7 @@ export async function createPerson(uri: string, resolver?: Resolver): Promise<Us
if (isDuplicateKeyValueError(e)) {
// /users/@a => /users/:id のように入力がaliasなときにエラーになることがあるのを対応
const u = await Users.findOne({
- uri: person.id
+ uri: person.id,
});
if (u) {
@@ -218,11 +218,11 @@ export async function createPerson(uri: string, resolver?: Resolver): Promise<Us
//#region アバターとヘッダー画像をフェッチ
const [avatar, banner] = await Promise.all([
person.icon,
- person.image
+ person.image,
].map(img =>
img == null
? Promise.resolve(null)
- : resolveImage(user!, img).catch(() => null)
+ : resolveImage(user!, img).catch(() => null),
));
const avatarId = avatar ? avatar.id : null;
@@ -258,7 +258,7 @@ export async function createPerson(uri: string, resolver?: Resolver): Promise<Us
const emojiNames = emojis.map(emoji => emoji.name);
await Users.update(user!.id, {
- emojis: emojiNames
+ emojis: emojiNames,
});
//#endregion
@@ -301,11 +301,11 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint
// アバターとヘッダー画像をフェッチ
const [avatar, banner] = await Promise.all([
person.icon,
- person.image
+ person.image,
].map(img =>
img == null
? Promise.resolve(null)
- : resolveImage(exist, img).catch(() => null)
+ : resolveImage(exist, img).catch(() => null),
));
// カスタム絵文字取得
@@ -355,7 +355,7 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint
if (person.publicKey) {
await UserPublickeys.update({ userId: exist.id }, {
keyId: person.publicKey.id,
- keyPem: person.publicKey.publicKeyPem
+ keyPem: person.publicKey.publicKeyPem,
});
}
@@ -372,9 +372,9 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint
// 該当ユーザーが既にフォロワーになっていた場合はFollowingもアップデートする
await Followings.update({
- followerId: exist.id
+ followerId: exist.id,
}, {
- followerSharedInbox: person.sharedInbox || (person.endpoints ? person.endpoints.sharedInbox : undefined)
+ followerSharedInbox: person.sharedInbox || (person.endpoints ? person.endpoints.sharedInbox : undefined),
});
await updateFeatured(exist.id).catch(err => logger.error(err));
@@ -411,8 +411,9 @@ const services: {
};
const $discord = (id: string, name: string) => {
- if (typeof name !== 'string')
+ if (typeof name !== 'string') {
name = 'unknown#0000';
+ }
const [username, discriminator] = name.split('#');
return { id, username, discriminator };
};
@@ -420,13 +421,15 @@ const $discord = (id: string, name: string) => {
function addService(target: { [x: string]: any }, source: IApPropertyValue) {
const service = services[source.name];
- if (typeof source.value !== 'string')
+ if (typeof source.value !== 'string') {
source.value = 'unknown';
+ }
const [id, username] = source.value.split('@');
- if (service)
+ if (service) {
target[source.name.split(':')[2]] = service(id, username);
+ }
}
export function analyzeAttachments(attachments: IObject | IObject[] | undefined) {
@@ -443,7 +446,7 @@ export function analyzeAttachments(attachments: IObject | IObject[] | undefined)
} else {
fields.push({
name: attachment.name,
- value: fromHtml(attachment.value)
+ value: fromHtml(attachment.value),
});
}
}
@@ -487,7 +490,7 @@ export async function updateFeatured(userId: User['id']) {
id: genId(new Date(Date.now() + td)),
createdAt: new Date(),
userId: user.id,
- noteId: note!.id
+ noteId: note!.id,
});
}
});
diff --git a/packages/backend/src/remote/activitypub/renderer/question.ts b/packages/backend/src/remote/activitypub/renderer/question.ts
index 246d599bab..c800e73a5b 100644
--- a/packages/backend/src/remote/activitypub/renderer/question.ts
+++ b/packages/backend/src/remote/activitypub/renderer/question.ts
@@ -8,7 +8,7 @@ export default async function renderQuestion(user: { id: User['id'] }, note: Not
type: 'Question',
id: `${config.url}/questions/${note.id}`,
actor: `${config.url}/users/${user.id}`,
- content: note.text || '',
+ content: note.text || '',
[poll.multiple ? 'anyOf' : 'oneOf']: poll.choices.map((text, i) => ({
name: text,
_misskey_votes: poll.votes[i],
diff --git a/packages/backend/src/server/api/2fa.ts b/packages/backend/src/server/api/2fa.ts
index 117446383d..2c8c842a11 100644
--- a/packages/backend/src/server/api/2fa.ts
+++ b/packages/backend/src/server/api/2fa.ts
@@ -6,7 +6,7 @@ const ECC_PRELUDE = Buffer.from([0x04]);
const NULL_BYTE = Buffer.from([0]);
const PEM_PRELUDE = Buffer.from(
'3059301306072a8648ce3d020106082a8648ce3d030107034200',
- 'hex'
+ 'hex',
);
// Android Safetynet attestations are signed with this cert:
@@ -68,7 +68,7 @@ function verifyCertificateChain(certificates: string[]) {
const signatureHex = certificate.getSignatureValueHex();
// Verify against CA
- const Signature = new jsrsasign.KJUR.crypto.Signature({alg: algorithm});
+ const Signature = new jsrsasign.KJUR.crypto.Signature({ alg: algorithm });
Signature.init(CACert);
Signature.updateHex(certStruct);
valid = valid && !!Signature.verify(signatureHex); // true if CA signed the certificate
@@ -134,7 +134,7 @@ export function verifyLogin({
const verificationData = Buffer.concat(
[authenticatorData, hash(clientDataJSON)],
- 32 + authenticatorData.length
+ 32 + authenticatorData.length,
);
return crypto
@@ -145,7 +145,7 @@ export function verifyLogin({
export const procedures = {
none: {
- verify({publicKey}: {publicKey: Map<number, Buffer>}) {
+ verify({ publicKey }: {publicKey: Map<number, Buffer>}) {
const negTwo = publicKey.get(-2);
if (!negTwo || negTwo.length != 32) {
@@ -158,14 +158,14 @@ export const procedures = {
const publicKeyU2F = Buffer.concat(
[ECC_PRELUDE, negTwo, negThree],
- 1 + 32 + 32
+ 1 + 32 + 32,
);
return {
publicKey: publicKeyU2F,
- valid: true
+ valid: true,
};
- }
+ },
},
'android-key': {
verify({
@@ -174,7 +174,7 @@ export const procedures = {
clientDataHash,
publicKey,
rpIdHash,
- credentialId
+ credentialId,
}: {
attStmt: any,
authenticatorData: Buffer,
@@ -189,7 +189,7 @@ export const procedures = {
const verificationData = Buffer.concat([
authenticatorData,
- clientDataHash
+ clientDataHash,
]);
const attCert: Buffer = attStmt.x5c[0];
@@ -206,7 +206,7 @@ export const procedures = {
const publicKeyData = Buffer.concat(
[ECC_PRELUDE, negTwo, negThree],
- 1 + 32 + 32
+ 1 + 32 + 32,
);
if (!attCert.equals(publicKeyData)) {
@@ -222,9 +222,9 @@ export const procedures = {
return {
valid: isValid,
- publicKey: publicKeyData
+ publicKey: publicKeyData,
};
- }
+ },
},
// what a stupid attestation
'android-safetynet': {
@@ -234,7 +234,7 @@ export const procedures = {
clientDataHash,
publicKey,
rpIdHash,
- credentialId
+ credentialId,
}: {
attStmt: any,
authenticatorData: Buffer,
@@ -244,14 +244,14 @@ export const procedures = {
credentialId: Buffer,
}) {
const verificationData = hash(
- Buffer.concat([authenticatorData, clientDataHash])
+ Buffer.concat([authenticatorData, clientDataHash]),
);
const jwsParts = attStmt.response.toString('utf-8').split('.');
const header = JSON.parse(base64URLDecode(jwsParts[0]).toString('utf-8'));
const response = JSON.parse(
- base64URLDecode(jwsParts[1]).toString('utf-8')
+ base64URLDecode(jwsParts[1]).toString('utf-8'),
);
const signature = jwsParts[2];
@@ -273,7 +273,7 @@ export const procedures = {
const signatureBase = Buffer.from(
jwsParts[0] + '.' + jwsParts[1],
- 'utf-8'
+ 'utf-8',
);
const valid = crypto
@@ -293,13 +293,13 @@ export const procedures = {
const publicKeyData = Buffer.concat(
[ECC_PRELUDE, negTwo, negThree],
- 1 + 32 + 32
+ 1 + 32 + 32,
);
return {
valid,
- publicKey: publicKeyData
+ publicKey: publicKeyData,
};
- }
+ },
},
packed: {
verify({
@@ -308,7 +308,7 @@ export const procedures = {
clientDataHash,
publicKey,
rpIdHash,
- credentialId
+ credentialId,
}: {
attStmt: any,
authenticatorData: Buffer,
@@ -319,7 +319,7 @@ export const procedures = {
}) {
const verificationData = Buffer.concat([
authenticatorData,
- clientDataHash
+ clientDataHash,
]);
if (attStmt.x5c) {
@@ -342,12 +342,12 @@ export const procedures = {
const publicKeyData = Buffer.concat(
[ECC_PRELUDE, negTwo, negThree],
- 1 + 32 + 32
+ 1 + 32 + 32,
);
return {
valid: validSignature,
- publicKey: publicKeyData
+ publicKey: publicKeyData,
};
} else if (attStmt.ecdaaKeyId) {
// https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-ecdaa-algorithm-v2.0-id-20180227.html#ecdaa-verify-operation
@@ -357,7 +357,7 @@ export const procedures = {
throw new Error('self attestation is not supported');
}
- }
+ },
},
'fido-u2f': {
@@ -367,7 +367,7 @@ export const procedures = {
clientDataHash,
publicKey,
rpIdHash,
- credentialId
+ credentialId,
}: {
attStmt: any,
authenticatorData: Buffer,
@@ -397,7 +397,7 @@ export const procedures = {
const publicKeyU2F = Buffer.concat(
[ECC_PRELUDE, negTwo, negThree],
- 1 + 32 + 32
+ 1 + 32 + 32,
);
const verificationData = Buffer.concat([
@@ -405,7 +405,7 @@ export const procedures = {
rpIdHash,
clientDataHash,
credentialId,
- publicKeyU2F
+ publicKeyU2F,
]);
const validSignature = crypto
@@ -415,8 +415,8 @@ export const procedures = {
return {
valid: validSignature,
- publicKey: publicKeyU2F
+ publicKey: publicKeyU2F,
};
- }
- }
+ },
+ },
};
diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts
index e9584e7b8b..d2d1ede3c8 100644
--- a/packages/backend/src/server/api/endpoints/notes/create.ts
+++ b/packages/backend/src/server/api/endpoints/notes/create.ts
@@ -244,8 +244,9 @@ export default define(meta, async (ps, user) => {
if (ps.poll) {
if (typeof ps.poll.expiresAt === 'number') {
- if (ps.poll.expiresAt < Date.now())
+ if (ps.poll.expiresAt < Date.now()) {
throw new ApiError(meta.errors.cannotCreateAlreadyExpiredPoll);
+ }
} else if (typeof ps.poll.expiredAfter === 'number') {
ps.poll.expiresAt = Date.now() + ps.poll.expiredAfter;
}
diff --git a/packages/backend/src/server/api/endpoints/notes/polls/vote.ts b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
index f670501385..e7a6537025 100644
--- a/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
+++ b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
@@ -112,8 +112,9 @@ export default define(meta, async (ps, user) => {
if (exist.length) {
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);
+ }
} else {
throw new ApiError(meta.errors.alreadyVoted);
}
diff --git a/packages/backend/src/server/api/service/github.ts b/packages/backend/src/server/api/service/github.ts
index 0616f3f773..07b4fe717e 100644
--- a/packages/backend/src/server/api/service/github.ts
+++ b/packages/backend/src/server/api/service/github.ts
@@ -42,7 +42,7 @@ router.get('/disconnect/github', async ctx => {
const user = await Users.findOneOrFail({
host: null,
- token: userToken
+ token: userToken,
});
const profile = await UserProfiles.findOneOrFail(user.id);
@@ -58,7 +58,7 @@ router.get('/disconnect/github', async ctx => {
// Publish i updated event
publishMainStream(user.id, 'meUpdated', await Users.pack(user, user, {
detail: true,
- includeSecrets: true
+ includeSecrets: true,
}));
});
@@ -209,12 +209,13 @@ router.get('/gh/cb', async ctx => {
code,
{ redirect_uri },
(err, accessToken, refresh, result) => {
- if (err)
+ if (err) {
rej(err);
- else if (result.error)
+ } else if (result.error) {
rej(result.error);
- else
+ } else {
res({ accessToken });
+ }
}));
const { login, id } = await getJson('https://api.github.com/user', 'application/vnd.github.v3+json', 10 * 1000, {
diff --git a/packages/backend/src/server/well-known.ts b/packages/backend/src/server/well-known.ts
index 5e99b0065c..0f65f6e58c 100644
--- a/packages/backend/src/server/well-known.ts
+++ b/packages/backend/src/server/well-known.ts
@@ -41,8 +41,8 @@ router.get('/.well-known/host-meta', async ctx => {
ctx.set('Content-Type', xrd);
ctx.body = XRD({ element: 'Link', attributes: {
type: xrd,
- template: `${config.url}${webFingerPath}?resource={uri}`
- }});
+ template: `${config.url}${webFingerPath}?resource={uri}`,
+ } });
});
router.get('/.well-known/host-meta.json', async ctx => {
@@ -51,8 +51,8 @@ router.get('/.well-known/host-meta.json', async ctx => {
links: [{
rel: 'lrdd',
type: jrd,
- template: `${config.url}${webFingerPath}?resource={uri}`
- }]
+ template: `${config.url}${webFingerPath}?resource={uri}`,
+ }],
};
});