forked from FoundKeyGang/FoundKey
Merge branch 'develop'
This commit is contained in:
commit
d04014f875
259 changed files with 408 additions and 2549 deletions
|
@ -326,6 +326,7 @@ driveCapacityPerRemoteAccount: "Drive-Kapazität pro Benutzer anderer Instanzen"
|
||||||
inMb: "In Megabytes"
|
inMb: "In Megabytes"
|
||||||
iconUrl: "Icon-URL"
|
iconUrl: "Icon-URL"
|
||||||
bannerUrl: "Banner-URL"
|
bannerUrl: "Banner-URL"
|
||||||
|
backgroundImageUrl: "Hintergrundbild-URL"
|
||||||
basicInfo: "Basisdaten"
|
basicInfo: "Basisdaten"
|
||||||
pinnedUsers: "Angepinnte Benutzer"
|
pinnedUsers: "Angepinnte Benutzer"
|
||||||
pinnedUsersDescription: "Gib einen Benutzernamen pro Zeile ein. Diese werden im \"Erkunden\" Tab angezeigt."
|
pinnedUsersDescription: "Gib einen Benutzernamen pro Zeile ein. Diese werden im \"Erkunden\" Tab angezeigt."
|
||||||
|
|
|
@ -326,6 +326,7 @@ driveCapacityPerRemoteAccount: "Drive capacity per remote user"
|
||||||
inMb: "In megabytes"
|
inMb: "In megabytes"
|
||||||
iconUrl: "Icon URL"
|
iconUrl: "Icon URL"
|
||||||
bannerUrl: "Banner image URL"
|
bannerUrl: "Banner image URL"
|
||||||
|
backgroundImageUrl: "Background image URL"
|
||||||
basicInfo: "Basic info"
|
basicInfo: "Basic info"
|
||||||
pinnedUsers: "Pinned user"
|
pinnedUsers: "Pinned user"
|
||||||
pinnedUsersDescription: "List one username per line. Users listed here will be pinned under \"Explore\" tab."
|
pinnedUsersDescription: "List one username per line. Users listed here will be pinned under \"Explore\" tab."
|
||||||
|
|
|
@ -279,6 +279,7 @@ emptyDrive: "Le Drive est vide"
|
||||||
emptyFolder: "Le dossier est vide"
|
emptyFolder: "Le dossier est vide"
|
||||||
unableToDelete: "Suppression impossible"
|
unableToDelete: "Suppression impossible"
|
||||||
inputNewFileName: "Entrez un nouveau nom de fichier"
|
inputNewFileName: "Entrez un nouveau nom de fichier"
|
||||||
|
inputNewDescription: "Veuillez entrer une nouvelle description"
|
||||||
inputNewFolderName: "Entrez un nouveau nom de dossier"
|
inputNewFolderName: "Entrez un nouveau nom de dossier"
|
||||||
circularReferenceFolder: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer."
|
circularReferenceFolder: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer."
|
||||||
hasChildFilesOrFolders: "Impossible de supprimer ce dossier car il n'est pas vide."
|
hasChildFilesOrFolders: "Impossible de supprimer ce dossier car il n'est pas vide."
|
||||||
|
@ -310,6 +311,8 @@ monthX: "{month}"
|
||||||
yearX: "{year}"
|
yearX: "{year}"
|
||||||
pages: "Pages"
|
pages: "Pages"
|
||||||
integration: "Intégrations"
|
integration: "Intégrations"
|
||||||
|
connectService: "Connexion"
|
||||||
|
disconnectService: "Déconnexion"
|
||||||
enableLocalTimeline: "Activer le fil local"
|
enableLocalTimeline: "Activer le fil local"
|
||||||
enableGlobalTimeline: "Activer le fil global"
|
enableGlobalTimeline: "Activer le fil global"
|
||||||
disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur·rice·s et les modérateur·rice·s pourront toujours y accéder."
|
disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur·rice·s et les modérateur·rice·s pourront toujours y accéder."
|
||||||
|
@ -544,6 +547,8 @@ disablePlayer: "Fermer le lecteur vidéo"
|
||||||
expandTweet: "Étendre le tweet"
|
expandTweet: "Étendre le tweet"
|
||||||
themeEditor: "Éditeur de thèmes"
|
themeEditor: "Éditeur de thèmes"
|
||||||
description: "Description"
|
description: "Description"
|
||||||
|
describeFile: "Ajouter une description d'image"
|
||||||
|
enterFileDescription: "Saisissez une description"
|
||||||
author: "Auteur·rice"
|
author: "Auteur·rice"
|
||||||
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer ?"
|
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer ?"
|
||||||
manage: "Gestion"
|
manage: "Gestion"
|
||||||
|
|
|
@ -274,6 +274,7 @@ emptyDrive: "Il Drive è vuoto"
|
||||||
emptyFolder: "La cartella è vuota"
|
emptyFolder: "La cartella è vuota"
|
||||||
unableToDelete: "Eliminazione impossibile"
|
unableToDelete: "Eliminazione impossibile"
|
||||||
inputNewFileName: "Inserisci nome del nuovo file"
|
inputNewFileName: "Inserisci nome del nuovo file"
|
||||||
|
inputNewDescription: "Inserisci una nuova descrizione"
|
||||||
inputNewFolderName: "Inserisci nome della nuova cartella"
|
inputNewFolderName: "Inserisci nome della nuova cartella"
|
||||||
circularReferenceFolder: "La cartella di destinazione è una sottocartella della cartella che vuoi spostare."
|
circularReferenceFolder: "La cartella di destinazione è una sottocartella della cartella che vuoi spostare."
|
||||||
hasChildFilesOrFolders: "Impossibile eliminare la cartella perché non è vuota"
|
hasChildFilesOrFolders: "Impossibile eliminare la cartella perché non è vuota"
|
||||||
|
@ -305,6 +306,8 @@ monthX: "{month}"
|
||||||
yearX: "{year}"
|
yearX: "{year}"
|
||||||
pages: "Pagine"
|
pages: "Pagine"
|
||||||
integration: "App collegate"
|
integration: "App collegate"
|
||||||
|
connectService: "Connessione"
|
||||||
|
disconnectService: "Disconnessione "
|
||||||
enableLocalTimeline: "Abilita Timeline locale"
|
enableLocalTimeline: "Abilita Timeline locale"
|
||||||
enableGlobalTimeline: "Abilita Timeline federata"
|
enableGlobalTimeline: "Abilita Timeline federata"
|
||||||
disablingTimelinesInfo: "Anche se disabiliti queste timeline, gli amministratori e i moderatori potranno sempre accederci."
|
disablingTimelinesInfo: "Anche se disabiliti queste timeline, gli amministratori e i moderatori potranno sempre accederci."
|
||||||
|
@ -531,6 +534,8 @@ disablePlayer: "Chiudi lettore video"
|
||||||
expandTweet: "Espandi tweet"
|
expandTweet: "Espandi tweet"
|
||||||
themeEditor: "Editor di temi"
|
themeEditor: "Editor di temi"
|
||||||
description: "Descrizione"
|
description: "Descrizione"
|
||||||
|
describeFile: "Aggiungi una descrizione d'immagine"
|
||||||
|
enterFileDescription: "Inserisci descrizione"
|
||||||
author: "Autore"
|
author: "Autore"
|
||||||
leaveConfirm: "Ci sono delle modifiche ancora non salvate. Vuoi cancellarle?"
|
leaveConfirm: "Ci sono delle modifiche ancora non salvate. Vuoi cancellarle?"
|
||||||
manage: "Gestione"
|
manage: "Gestione"
|
||||||
|
|
|
@ -326,6 +326,7 @@ driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのド
|
||||||
inMb: "メガバイト単位"
|
inMb: "メガバイト単位"
|
||||||
iconUrl: "アイコン画像のURL (faviconなど)"
|
iconUrl: "アイコン画像のURL (faviconなど)"
|
||||||
bannerUrl: "バナー画像のURL"
|
bannerUrl: "バナー画像のURL"
|
||||||
|
backgroundImageUrl: "背景画像のURL"
|
||||||
basicInfo: "基本情報"
|
basicInfo: "基本情報"
|
||||||
pinnedUsers: "ピン留めユーザー"
|
pinnedUsers: "ピン留めユーザー"
|
||||||
pinnedUsersDescription: "「みつける」ページなどにピン留めしたいユーザーを改行で区切って記述します。"
|
pinnedUsersDescription: "「みつける」ページなどにピン留めしたいユーザーを改行で区切って記述します。"
|
||||||
|
|
|
@ -326,6 +326,7 @@ driveCapacityPerRemoteAccount: "리모트 유저 한 명당 드라이브 용량"
|
||||||
inMb: "메가바이트 단위"
|
inMb: "메가바이트 단위"
|
||||||
iconUrl: "아이콘 URL"
|
iconUrl: "아이콘 URL"
|
||||||
bannerUrl: "배너 이미지 URL"
|
bannerUrl: "배너 이미지 URL"
|
||||||
|
backgroundImageUrl: "배경 이미지 URL"
|
||||||
basicInfo: "기본 정보"
|
basicInfo: "기본 정보"
|
||||||
pinnedUsers: "고정된 유저"
|
pinnedUsers: "고정된 유저"
|
||||||
pinnedUsersDescription: "\"발견하기\" 페이지 등에 고정하고 싶은 유저를 한 줄에 한 명씩 적습니다."
|
pinnedUsersDescription: "\"발견하기\" 페이지 등에 고정하고 싶은 유저를 한 줄에 한 명씩 적습니다."
|
||||||
|
|
|
@ -326,6 +326,7 @@ driveCapacityPerRemoteAccount: "每个远程用户的网盘容量"
|
||||||
inMb: "以兆字节(MegaByte)为单位"
|
inMb: "以兆字节(MegaByte)为单位"
|
||||||
iconUrl: "图标URL"
|
iconUrl: "图标URL"
|
||||||
bannerUrl: "Banner URL"
|
bannerUrl: "Banner URL"
|
||||||
|
backgroundImageUrl: "背景图URL"
|
||||||
basicInfo: "基本信息"
|
basicInfo: "基本信息"
|
||||||
pinnedUsers: "置顶用户"
|
pinnedUsers: "置顶用户"
|
||||||
pinnedUsersDescription: "在「发现」页面中使用换行标记想要置顶的用户。"
|
pinnedUsersDescription: "在「发现」页面中使用换行标记想要置顶的用户。"
|
||||||
|
|
13
migration/1622679304522-user-profile-description-length.ts
Normal file
13
migration/1622679304522-user-profile-description-length.ts
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||||
|
|
||||||
|
export class userProfileDescriptionLength1622679304522 implements MigrationInterface {
|
||||||
|
name = 'userProfileDescriptionLength1622679304522';
|
||||||
|
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "description" TYPE character varying(2048)`, undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "description" TYPE character varying(1024)`, undefined);
|
||||||
|
}
|
||||||
|
}
|
12
migration/1622681548499-log-message-length.ts
Normal file
12
migration/1622681548499-log-message-length.ts
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||||
|
|
||||||
|
export class logMessageLength1622681548499 implements MigrationInterface {
|
||||||
|
name = 'logMessageLength1622681548499';
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE "log" ALTER COLUMN "message" TYPE character varying(2048)`, undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE "log" ALTER COLUMN "message" TYPE character varying(1024)`, undefined);
|
||||||
|
}
|
||||||
|
}
|
44
package.json
44
package.json
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"author": "syuilo <syuilotan@yahoo.co.jp>",
|
"author": "syuilo <syuilotan@yahoo.co.jp>",
|
||||||
"version": "12.82.0",
|
"version": "12.83.0",
|
||||||
"codename": "indigo",
|
"codename": "indigo",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
"@types/jsonld": "1.5.5",
|
"@types/jsonld": "1.5.5",
|
||||||
"@types/katex": "0.11.0",
|
"@types/katex": "0.11.0",
|
||||||
"@types/koa": "2.13.3",
|
"@types/koa": "2.13.3",
|
||||||
"@types/koa-bodyparser": "4.3.0",
|
"@types/koa-bodyparser": "4.3.1",
|
||||||
"@types/koa-cors": "0.0.0",
|
"@types/koa-cors": "0.0.0",
|
||||||
"@types/koa-favicon": "2.0.19",
|
"@types/koa-favicon": "2.0.19",
|
||||||
"@types/koa-logger": "3.1.1",
|
"@types/koa-logger": "3.1.1",
|
||||||
|
@ -70,10 +70,10 @@
|
||||||
"@types/koa__cors": "3.0.2",
|
"@types/koa__cors": "3.0.2",
|
||||||
"@types/koa__multer": "2.0.2",
|
"@types/koa__multer": "2.0.2",
|
||||||
"@types/koa__router": "8.0.4",
|
"@types/koa__router": "8.0.4",
|
||||||
"@types/markdown-it": "12.0.1",
|
"@types/markdown-it": "12.0.2",
|
||||||
"@types/matter-js": "0.14.12",
|
"@types/matter-js": "0.14.12",
|
||||||
"@types/mocha": "8.2.2",
|
"@types/mocha": "8.2.2",
|
||||||
"@types/node": "15.6.1",
|
"@types/node": "15.12.2",
|
||||||
"@types/node-fetch": "2.5.10",
|
"@types/node-fetch": "2.5.10",
|
||||||
"@types/nodemailer": "6.4.2",
|
"@types/nodemailer": "6.4.2",
|
||||||
"@types/nprogress": "0.2.0",
|
"@types/nprogress": "0.2.0",
|
||||||
|
@ -91,7 +91,7 @@
|
||||||
"@types/request-stats": "3.0.0",
|
"@types/request-stats": "3.0.0",
|
||||||
"@types/rimraf": "3.0.0",
|
"@types/rimraf": "3.0.0",
|
||||||
"@types/seedrandom": "2.4.28",
|
"@types/seedrandom": "2.4.28",
|
||||||
"@types/sharp": "0.28.2",
|
"@types/sharp": "0.28.3",
|
||||||
"@types/sinonjs__fake-timers": "6.0.2",
|
"@types/sinonjs__fake-timers": "6.0.2",
|
||||||
"@types/speakeasy": "2.0.5",
|
"@types/speakeasy": "2.0.5",
|
||||||
"@types/throttle-debounce": "2.1.0",
|
"@types/throttle-debounce": "2.1.0",
|
||||||
|
@ -103,18 +103,18 @@
|
||||||
"@types/webpack-stream": "3.2.12",
|
"@types/webpack-stream": "3.2.12",
|
||||||
"@types/websocket": "1.0.2",
|
"@types/websocket": "1.0.2",
|
||||||
"@types/ws": "7.4.4",
|
"@types/ws": "7.4.4",
|
||||||
"@typescript-eslint/parser": "4.25.0",
|
"@typescript-eslint/parser": "4.26.1",
|
||||||
"@vue/compiler-sfc": "3.0.11",
|
"@vue/compiler-sfc": "3.1.1",
|
||||||
"abort-controller": "3.0.0",
|
"abort-controller": "3.0.0",
|
||||||
"apexcharts": "3.26.3",
|
"apexcharts": "3.27.1",
|
||||||
"autobind-decorator": "2.4.0",
|
"autobind-decorator": "2.4.0",
|
||||||
"autosize": "4.0.4",
|
"autosize": "4.0.4",
|
||||||
"autwh": "0.1.0",
|
"autwh": "0.1.0",
|
||||||
"aws-sdk": "2.918.0",
|
"aws-sdk": "2.923.0",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"blurhash": "1.1.3",
|
"blurhash": "1.1.3",
|
||||||
"broadcast-channel": "3.6.0",
|
"broadcast-channel": "3.6.0",
|
||||||
"bull": "3.22.6",
|
"bull": "3.22.7",
|
||||||
"cafy": "15.2.1",
|
"cafy": "15.2.1",
|
||||||
"cbor": "7.0.5",
|
"cbor": "7.0.5",
|
||||||
"chalk": "4.1.1",
|
"chalk": "4.1.1",
|
||||||
|
@ -123,14 +123,14 @@
|
||||||
"commander": "7.2.0",
|
"commander": "7.2.0",
|
||||||
"concurrently": "6.2.0",
|
"concurrently": "6.2.0",
|
||||||
"content-disposition": "0.5.3",
|
"content-disposition": "0.5.3",
|
||||||
"core-js": "3.13.1",
|
"core-js": "3.14.0",
|
||||||
"crc-32": "1.2.0",
|
"crc-32": "1.2.0",
|
||||||
"css-loader": "5.2.6",
|
"css-loader": "5.2.6",
|
||||||
"cssnano": "5.0.5",
|
"cssnano": "5.0.5",
|
||||||
"dateformat": "4.5.1",
|
"dateformat": "4.5.1",
|
||||||
"diskusage": "1.1.3",
|
"diskusage": "1.1.3",
|
||||||
"escape-regexp": "0.0.1",
|
"escape-regexp": "0.0.1",
|
||||||
"eslint": "7.27.0",
|
"eslint": "7.28.0",
|
||||||
"eslint-plugin-vue": "7.10.0",
|
"eslint-plugin-vue": "7.10.0",
|
||||||
"eventemitter3": "4.0.7",
|
"eventemitter3": "4.0.7",
|
||||||
"feed": "4.2.2",
|
"feed": "4.2.2",
|
||||||
|
@ -174,8 +174,8 @@
|
||||||
"markdown-it": "12.0.6",
|
"markdown-it": "12.0.6",
|
||||||
"markdown-it-anchor": "7.1.0",
|
"markdown-it-anchor": "7.1.0",
|
||||||
"matter-js": "0.17.1",
|
"matter-js": "0.17.1",
|
||||||
"mfm-js": "0.16.4",
|
"mfm-js": "0.18.0",
|
||||||
"misskey-js": "0.0.2",
|
"misskey-js": "0.0.4",
|
||||||
"mocha": "8.4.0",
|
"mocha": "8.4.0",
|
||||||
"moji": "0.5.1",
|
"moji": "0.5.1",
|
||||||
"ms": "2.1.3",
|
"ms": "2.1.3",
|
||||||
|
@ -191,7 +191,7 @@
|
||||||
"postcss": "8.3.0",
|
"postcss": "8.3.0",
|
||||||
"postcss-loader": "5.3.0",
|
"postcss-loader": "5.3.0",
|
||||||
"prismjs": "1.23.0",
|
"prismjs": "1.23.0",
|
||||||
"probe-image-size": "7.1.1",
|
"probe-image-size": "7.2.1",
|
||||||
"promise-limit": "2.7.0",
|
"promise-limit": "2.7.0",
|
||||||
"promise-sequential": "1.1.1",
|
"promise-sequential": "1.1.1",
|
||||||
"pug": "3.0.2",
|
"pug": "3.0.2",
|
||||||
|
@ -212,8 +212,8 @@
|
||||||
"rimraf": "3.0.2",
|
"rimraf": "3.0.2",
|
||||||
"rndstr": "1.0.0",
|
"rndstr": "1.0.0",
|
||||||
"s-age": "1.1.2",
|
"s-age": "1.1.2",
|
||||||
"sass": "1.34.0",
|
"sass": "1.34.1",
|
||||||
"sass-loader": "11.1.1",
|
"sass-loader": "12.0.0",
|
||||||
"seedrandom": "3.0.5",
|
"seedrandom": "3.0.5",
|
||||||
"sharp": "0.28.3",
|
"sharp": "0.28.3",
|
||||||
"speakeasy": "2.0.0",
|
"speakeasy": "2.0.0",
|
||||||
|
@ -228,20 +228,20 @@
|
||||||
"throttle-debounce": "3.0.1",
|
"throttle-debounce": "3.0.1",
|
||||||
"tinycolor2": "1.4.2",
|
"tinycolor2": "1.4.2",
|
||||||
"tmp": "0.2.1",
|
"tmp": "0.2.1",
|
||||||
"ts-loader": "9.2.2",
|
"ts-loader": "9.2.3",
|
||||||
"ts-node": "10.0.0",
|
"ts-node": "10.0.0",
|
||||||
"tsc-alias": "1.2.11",
|
"tsc-alias": "1.3.2",
|
||||||
"tsconfig-paths": "3.9.0",
|
"tsconfig-paths": "3.9.0",
|
||||||
"tslint": "6.1.3",
|
"tslint": "6.1.3",
|
||||||
"tslint-sonarts": "1.9.0",
|
"tslint-sonarts": "1.9.0",
|
||||||
"twemoji-parser": "13.1.0",
|
"twemoji-parser": "13.1.0",
|
||||||
"typeorm": "0.2.32",
|
"typeorm": "0.2.34",
|
||||||
"typescript": "4.3.2",
|
"typescript": "4.3.2",
|
||||||
"ulid": "2.3.0",
|
"ulid": "2.3.0",
|
||||||
"uuid": "8.3.2",
|
"uuid": "8.3.2",
|
||||||
"v-debounce": "0.1.2",
|
"v-debounce": "0.1.2",
|
||||||
"vanilla-tilt": "1.7.0",
|
"vanilla-tilt": "1.7.0",
|
||||||
"vue": "3.0.11",
|
"vue": "3.1.1",
|
||||||
"vue-color": "2.8.1",
|
"vue-color": "2.8.1",
|
||||||
"vue-json-pretty": "1.7.1",
|
"vue-json-pretty": "1.7.1",
|
||||||
"vue-loader": "16.1.2",
|
"vue-loader": "16.1.2",
|
||||||
|
@ -252,7 +252,7 @@
|
||||||
"vuedraggable": "4.0.1",
|
"vuedraggable": "4.0.1",
|
||||||
"web-push": "3.4.4",
|
"web-push": "3.4.4",
|
||||||
"webpack": "5.38.1",
|
"webpack": "5.38.1",
|
||||||
"webpack-cli": "4.7.0",
|
"webpack-cli": "4.7.2",
|
||||||
"websocket": "1.0.34",
|
"websocket": "1.0.34",
|
||||||
"ws": "7.4.6",
|
"ws": "7.4.6",
|
||||||
"xev": "2.0.1"
|
"xev": "2.0.1"
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="xfbouadm" v-if="meta" :style="{ backgroundImage: `url(${ meta.backgroundImageUrl })` }">
|
<div class="xfbouadm" v-if="meta" :style="{ backgroundImage: `url(${ meta.backgroundImageUrl })` }"></div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|
|
@ -87,8 +87,6 @@ export default defineComponent({
|
||||||
> .icon {
|
> .icon {
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
font-size: .9em;
|
font-size: .9em;
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -19,6 +19,11 @@
|
||||||
<span>{{ $ts.bannerUrl }}</span>
|
<span>{{ $ts.bannerUrl }}</span>
|
||||||
</FormInput>
|
</FormInput>
|
||||||
|
|
||||||
|
<FormInput v-model:value="backgroundImageUrl">
|
||||||
|
<template #prefix><i class="fas fa-link"></i></template>
|
||||||
|
<span>{{ $ts.backgroundImageUrl }}</span>
|
||||||
|
</FormInput>
|
||||||
|
|
||||||
<FormInput v-model:value="tosUrl">
|
<FormInput v-model:value="tosUrl">
|
||||||
<template #prefix><i class="fas fa-link"></i></template>
|
<template #prefix><i class="fas fa-link"></i></template>
|
||||||
<span>{{ $ts.tosUrl }}</span>
|
<span>{{ $ts.tosUrl }}</span>
|
||||||
|
@ -88,6 +93,7 @@ export default defineComponent({
|
||||||
maintainerEmail: null,
|
maintainerEmail: null,
|
||||||
iconUrl: null,
|
iconUrl: null,
|
||||||
bannerUrl: null,
|
bannerUrl: null,
|
||||||
|
backgroundImageUrl: null,
|
||||||
maxNoteTextLength: 0,
|
maxNoteTextLength: 0,
|
||||||
enableLocalTimeline: false,
|
enableLocalTimeline: false,
|
||||||
enableGlobalTimeline: false,
|
enableGlobalTimeline: false,
|
||||||
|
@ -106,6 +112,7 @@ export default defineComponent({
|
||||||
this.tosUrl = meta.tosUrl;
|
this.tosUrl = meta.tosUrl;
|
||||||
this.iconUrl = meta.iconUrl;
|
this.iconUrl = meta.iconUrl;
|
||||||
this.bannerUrl = meta.bannerUrl;
|
this.bannerUrl = meta.bannerUrl;
|
||||||
|
this.backgroundImageUrl = meta.backgroundImageUrl;
|
||||||
this.maintainerName = meta.maintainerName;
|
this.maintainerName = meta.maintainerName;
|
||||||
this.maintainerEmail = meta.maintainerEmail;
|
this.maintainerEmail = meta.maintainerEmail;
|
||||||
this.maxNoteTextLength = meta.maxNoteTextLength;
|
this.maxNoteTextLength = meta.maxNoteTextLength;
|
||||||
|
@ -120,6 +127,7 @@ export default defineComponent({
|
||||||
tosUrl: this.tosUrl,
|
tosUrl: this.tosUrl,
|
||||||
iconUrl: this.iconUrl,
|
iconUrl: this.iconUrl,
|
||||||
bannerUrl: this.bannerUrl,
|
bannerUrl: this.bannerUrl,
|
||||||
|
backgroundImageUrl: this.backgroundImageUrl,
|
||||||
maintainerName: this.maintainerName,
|
maintainerName: this.maintainerName,
|
||||||
maintainerEmail: this.maintainerEmail,
|
maintainerEmail: this.maintainerEmail,
|
||||||
maxNoteTextLength: this.maxNoteTextLength,
|
maxNoteTextLength: this.maxNoteTextLength,
|
||||||
|
|
|
@ -350,6 +350,9 @@ export default defineComponent({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
@use "sass:math";
|
||||||
|
|
||||||
.xqnhankfuuilcwvhgsopeqncafzsquya {
|
.xqnhankfuuilcwvhgsopeqncafzsquya {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
|
@ -388,11 +391,11 @@ export default defineComponent({
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
margin-left: -($gap / 2);
|
margin-left: -(math.div($gap, 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-right: -($gap / 2);
|
margin-right: -(math.div($gap, 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -413,11 +416,11 @@ export default defineComponent({
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
margin-top: -($gap / 2);
|
margin-top: -(math.div($gap, 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-bottom: -($gap / 2);
|
margin-bottom: -(math.div($gap, 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -220,6 +220,9 @@ export default defineComponent({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
@use "sass:math";
|
||||||
|
|
||||||
.uawsfosz {
|
.uawsfosz {
|
||||||
> div {
|
> div {
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
|
@ -227,12 +230,12 @@ export default defineComponent({
|
||||||
> .meter {
|
> .meter {
|
||||||
$size: 12px;
|
$size: 12px;
|
||||||
background: rgba(0, 0, 0, 0.1);
|
background: rgba(0, 0, 0, 0.1);
|
||||||
border-radius: ($size / 2);
|
border-radius: math.div($size, 2);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
> div {
|
> div {
|
||||||
height: $size;
|
height: $size;
|
||||||
border-radius: ($size / 2);
|
border-radius: math.div($size, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
# ストリーミングAPI
|
# API de Streaming
|
||||||
|
|
||||||
ストリーミングAPIを使うと、リアルタイムで様々な情報(例えばタイムラインに新しい投稿が流れてきた、メッセージが届いた、フォローされた、など)を受け取ったり、様々な操作を行ったりすることができます。
|
Usando la API de streaming, se puede recibir en tiempo real toda clase de información (por ejemplo, los posts nuevos que pasaron por la linea de tiempo, los mensajes recibidos, las notificaciones de seguimiento, etc.) y manejar varias operaciones en estas.
|
||||||
|
|
||||||
## ストリームに接続する
|
## Conectarse a streams
|
||||||
|
|
||||||
ストリーミングAPIを利用するには、まずMisskeyサーバーに**websocket**接続する必要があります。
|
Para usar la API de streaming, primero hay que conectar un **websocket** al servidor de Misskey
|
||||||
|
|
||||||
以下のURLに、`i`というパラメータ名で認証情報を含めて、websocket接続してください。例:
|
Conecte el websocket a la URL mencionada abajo, incluyendo la información de autenticación en el parámetro `i`Ej:
|
||||||
```
|
```
|
||||||
%WS_URL%/streaming?i=xxxxxxxxxxxxxxx
|
%WS_URL%/streaming?i=xxxxxxxxxxxxxxx
|
||||||
```
|
```
|
||||||
|
|
||||||
認証情報は、自分のAPIキーや、アプリケーションからストリームに接続する際はユーザーのアクセストークンのことを指します。
|
La información de autenticación hace referencia a tu propia clave de la API, o al token de acceso del usuario cuando se conecta al stream desde la aplicación
|
||||||
|
|
||||||
<div class="ui info">
|
<div class="ui info">
|
||||||
<p><i class="fas fa-info-circle"></i> 認証情報の取得については、<a href="./api">こちらのドキュメント</a>をご確認ください。</p>
|
<p><i class="fas fa-info-circle"></i> Para obtener la información de la autenticación, consulte <a href="./api">Este documento</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
認証情報は省略することもできますが、その場合非ログインでの利用ということになり、受信できる情報や可能な操作は限られます。例:
|
La información de autenticación puede omitirse, pero en ese caso de uso sin un login, se restringirá la información que puede ser recibida y las operaciones posibles,Ej:
|
||||||
|
|
||||||
```
|
```
|
||||||
%WS_URL%/streaming
|
%WS_URL%/streaming
|
||||||
|
@ -50,7 +50,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `channel`には接続したいチャンネル名を設定します。チャンネルの種類については後述します。
|
* `channel`には接続したいチャンネル名を設定します。チャンネルの種類については後述します。
|
||||||
* `id`にはそのチャンネルとやり取りするための任意のIDを設定します。ストリームでは様々なメッセージが流れるので、そのメッセージがどのチャンネルからのものなのか識別する必要があるからです。このIDは、UUIDや、乱数のようなもので構いません。
|
* `id`にはそのチャンネルとやり取りするための任意のIDを設定します。ストリームでは様々なメッセージが流れるので、そのメッセージがどのチャンネルからのものなのか識別する必要があるからです。このIDは、UUIDや、乱数のようなもので構いません。
|
||||||
* `params`はチャンネルに接続する際のパラメータです。チャンネルによって接続時に必要とされるパラメータは異なります。パラメータ不要のチャンネルに接続する際は、このプロパティは省略可能です。
|
* `params`はチャンネルに接続する際のパラメータです。チャンネルによって接続時に必要とされるパラメータは異なります。パラメータ不要のチャンネルに接続する際は、このプロパティは省略可能です。
|
||||||
|
@ -76,7 +76,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `id`には前述したそのチャンネルに接続する際に設定したIDが設定されています。これで、このメッセージがどのチャンネルからのものなのか知ることができます。
|
* `id`には前述したそのチャンネルに接続する際に設定したIDが設定されています。これで、このメッセージがどのチャンネルからのものなのか知ることができます。
|
||||||
* `type`にはメッセージの種類が設定されます。チャンネルによって、どのような種類のメッセージが流れてくるかは異なります。
|
* `type`にはメッセージの種類が設定されます。チャンネルによって、どのような種類のメッセージが流れてくるかは異なります。
|
||||||
* `body`にはメッセージの内容が設定されます。チャンネルによって、どのような内容のメッセージが流れてくるかは異なります。
|
* `body`にはメッセージの内容が設定されます。チャンネルによって、どのような内容のメッセージが流れてくるかは異なります。
|
||||||
|
@ -98,7 +98,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。これで、このメッセージがどのチャンネルに向けたものなのか識別させることができます。
|
* `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。これで、このメッセージがどのチャンネルに向けたものなのか識別させることができます。
|
||||||
* `type`にはメッセージの種類を設定します。チャンネルによって、どのような種類のメッセージを受け付けるかは異なります。
|
* `type`にはメッセージの種類を設定します。チャンネルによって、どのような種類のメッセージを受け付けるかは異なります。
|
||||||
* `body`にはメッセージの内容を設定します。チャンネルによって、どのような内容のメッセージを受け付けるかは異なります。
|
* `body`にはメッセージの内容を設定します。チャンネルによって、どのような内容のメッセージを受け付けるかは異なります。
|
||||||
|
@ -115,7 +115,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。
|
* `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。
|
||||||
|
|
||||||
## ストリームを経由してAPIリクエストする
|
## ストリームを経由してAPIリクエストする
|
||||||
|
@ -136,7 +136,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `id`には、APIのレスポンスを識別するための、APIリクエストごとの一意なIDを設定する必要があります。UUIDや、簡単な乱数のようなもので構いません。
|
* `id`には、APIのレスポンスを識別するための、APIリクエストごとの一意なIDを設定する必要があります。UUIDや、簡単な乱数のようなもので構いません。
|
||||||
* `endpoint`には、あなたがリクエストしたいAPIのエンドポイントを指定します。
|
* `endpoint`には、あなたがリクエストしたいAPIのエンドポイントを指定します。
|
||||||
* `data`には、エンドポイントのパラメータを含めます。
|
* `data`には、エンドポイントのパラメータを含めます。
|
||||||
|
@ -158,7 +158,7 @@ APIへリクエストすると、レスポンスがストリームから次の
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `xxxxxxxxxxxxxxxx`の部分には、リクエストの際に設定された`id`が含まれています。これにより、どのリクエストに対するレスポンスなのか判別することができます。
|
* `xxxxxxxxxxxxxxxx`の部分には、リクエストの際に設定された`id`が含まれています。これにより、どのリクエストに対するレスポンスなのか判別することができます。
|
||||||
* `body`には、レスポンスが含まれています。
|
* `body`には、レスポンスが含まれています。
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `id`にキャプチャしたい投稿の`id`を設定します。
|
* `id`にキャプチャしたい投稿の`id`を設定します。
|
||||||
|
|
||||||
このメッセージを送信すると、Misskeyにキャプチャを要請したことになり、以後、その投稿に関するイベントが流れてくるようになります。
|
このメッセージを送信すると、Misskeyにキャプチャを要請したことになり、以後、その投稿に関するイベントが流れてくるようになります。
|
||||||
|
@ -206,7 +206,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `body`内の`id`に、イベントを発生させた投稿のIDが設定されます。
|
* `body`内の`id`に、イベントを発生させた投稿のIDが設定されます。
|
||||||
* `body`内の`type`に、イベントの種類が設定されます。
|
* `body`内の`type`に、イベントの種類が設定されます。
|
||||||
* `body`内の`body`に、イベントの詳細が設定されます。
|
* `body`内の`body`に、イベントの詳細が設定されます。
|
||||||
|
@ -219,7 +219,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
|
||||||
* `reaction`に、リアクションの種類が設定されます。
|
* `reaction`に、リアクションの種類が設定されます。
|
||||||
* `userId`に、リアクションを行ったユーザーのIDが設定されます。
|
* `userId`に、リアクションを行ったユーザーのIDが設定されます。
|
||||||
|
|
||||||
例:
|
Ej:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
type: 'noteUpdated',
|
type: 'noteUpdated',
|
||||||
|
@ -239,7 +239,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
|
||||||
|
|
||||||
* `deletedAt`に、削除日時が設定されます。
|
* `deletedAt`に、削除日時が設定されます。
|
||||||
|
|
||||||
例:
|
Ej:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
type: 'noteUpdated',
|
type: 'noteUpdated',
|
||||||
|
@ -259,7 +259,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
|
||||||
* `choice`に、選択肢IDが設定されます。
|
* `choice`に、選択肢IDが設定されます。
|
||||||
* `userId`に、投票を行ったユーザーのIDが設定されます。
|
* `userId`に、投票を行ったユーザーのIDが設定されます。
|
||||||
|
|
||||||
例:
|
Ej:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
type: 'noteUpdated',
|
type: 'noteUpdated',
|
||||||
|
@ -289,7 +289,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ここで、
|
Aquí
|
||||||
* `id`にキャプチャを解除したい投稿の`id`を設定します。
|
* `id`にキャプチャを解除したい投稿の`id`を設定します。
|
||||||
|
|
||||||
このメッセージを送信すると、以後、その投稿に関するイベントは流れてこないようになります。
|
このメッセージを送信すると、以後、その投稿に関するイベントは流れてこないようになります。
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
# Tema
|
# Tema
|
||||||
|
|
||||||
テーマを設定して、Misskeyクライアントの見た目を変更できます。
|
Eligiendo un tema, se puede cambiar la apariencia del cliente de Misskey
|
||||||
|
|
||||||
## テーマの設定
|
## Configuración del tema
|
||||||
設定 > テーマ
|
Configuración > Tema
|
||||||
|
|
||||||
## テーマを作成する
|
## Crear tema
|
||||||
テーマコードはJSON5で記述されたテーマオブジェクトです。 テーマは以下のようなオブジェクトです。
|
El código del tema se guarda como un archivo JSON5. Un ejemplo de tema se puede ver aquí:
|
||||||
``` js
|
``` js
|
||||||
{
|
{
|
||||||
id: '17587283-dd92-4a2c-a22c-be0637c9e22a',
|
id: '17587283-dd92-4a2c-a22c-be0637c9e22a',
|
||||||
|
@ -33,36 +33,36 @@
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
* `id` ... テーマの一意なID。UUIDをおすすめします。
|
* `id` ... Clave única del tema.Se recomienda un código UUID
|
||||||
* `name` ... テーマ名
|
* `name` ... Nombre del tema
|
||||||
* `author` ... テーマの作者
|
* `author` ... Autor del tema
|
||||||
* `desc` ... テーマの説明(オプション)
|
* `desc` ... Descripción del tema (opcional)
|
||||||
* `base` ... 明るいテーマか、暗いテーマか
|
* `base` ... Si es un tema claro u oscuro
|
||||||
* `light`にすると明るいテーマになり、`dark`にすると暗いテーマになります。
|
* Si se elige `light`, será un tema claro. Si se elige `dark`, será un tema oscuro.
|
||||||
* テーマはここで設定されたベーステーマを継承します。
|
* Aquí el tema hereda los valores por defecto del tema base elegido
|
||||||
* `props` ... テーマのスタイル定義。これから説明します。
|
* `props` ... Definición del estilo del tema. Esto se explica en lo siguiente.
|
||||||
|
|
||||||
### テーマのスタイル定義
|
### Definición del estilo del tema
|
||||||
`props`下にはテーマのスタイルを定義します。 キーがCSSの変数名になり、バリューで中身を指定します。 なお、この`props`オブジェクトはベーステーマから継承されます。 ベーステーマは、このテーマの`base`が`light`なら[_light.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_light.json5)で、`dark`なら[_dark.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_dark.json5)です。 つまり、このテーマ内の`props`に`panel`というキーが無くても、そこにはベーステーマの`panel`があると見なされます。
|
Debajo de `props`, se define el estilo del tema. La clave es el nombre de las variables del CSS, y con los valores estos se configuran. Incluso más, este objeto `props` hereda los valores por defecto del tema base. El tema base es [_light.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_light.json5) si el `base` de este tema es `light`, y [_dark.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_dark.json5) si si el `base` de este tema es `dark` Resumiendo, aunque no haya una clave `panel` en el `props` del tema, se considera el <0>panel</0> del tema base.
|
||||||
|
|
||||||
#### バリューで使える構文
|
#### Sintaxis de las variables
|
||||||
* 16進数で表された色
|
* Los colores en base hexadecimal
|
||||||
* 例: `#00ff00`
|
* Ej: `#00ff00`
|
||||||
* `rgb(r, g, b)`形式で表された色
|
* Los colores con la sintaxis `rgb(r, g, b)`
|
||||||
* 例: `rgb(0, 255, 0)`
|
* Ej: `rgb(0, 255, 0)`
|
||||||
* `rgb(r, g, b, a)`形式で表された透明度を含む色
|
* Los colores con la sintaxis `rgb(r, g, b, a)` con un grado de transparencia
|
||||||
* 例: `rgba(0, 255, 0, 0.5)`
|
* Ej: `rgba(0, 255, 0, 0.5)`
|
||||||
* 他のキーの値の参照
|
* Referencias a valores de otras claves
|
||||||
* `@{キー名}`と書くと他のキーの値の参照になります。`{キー名}`は参照したいキーの名前に置き換えます。
|
* Escribiendo `@{nombre de clave}` se hace referencia al valor de la otra clave.Reemplace `{nombre de clave}` por el nombre de la clave al cual quiera hacer referencia.
|
||||||
* 例: `@panel`
|
* Ej: `@panel`
|
||||||
* 定数(後述)の参照
|
* Referencia a una constante (ver más abajo)
|
||||||
* `${定数名}`と書くと定数の参照になります。`{定数名}`は参照したい定数の名前に置き換えます。
|
* Escribiendo `${nombre de la constante}` se hace referencia a la constante.Reemplace `{nombre de la constante}` por la constante al cual quiera hacer referencia.
|
||||||
* 例: `$main`
|
* Ej: `$main`
|
||||||
* 関数(後述)
|
* Funciones (ver más abajo)
|
||||||
* `:{関数名}<{引数}<{色}`
|
* `:{nombre de la función}<{parámetros}<{color}`
|
||||||
|
|
||||||
#### Constante
|
#### Constantes
|
||||||
「CSS変数として出力はしたくないが、他のCSS変数の値として使いまわしたい」値があるときは、定数を使うと便利です。 キー名を`$`で始めると、そのキーはCSS変数として出力されません。
|
Cuando hay un valor que no se quiere generar como variable CSS pero sí se quiere reutilizar como valor de otra variable CSS, es conveniente usar constantes. Cuando a un nombre de clave se le añade como prefijo `$`, esa clave no será generada como una variable CSS.
|
||||||
|
|
||||||
#### funciones
|
#### funciones
|
||||||
wip
|
wip
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
# タイムラインの比較
|
# Comparación de las lineas de tiempo
|
||||||
|
|
||||||
https://docs.google.com/spreadsheets/d/1lxQ2ugKrhz58Bg96HTDK_2F98BUritkMyIiBkOByjHA/edit?usp=sharing
|
https://docs.google.com/spreadsheets/d/1lxQ2ugKrhz58Bg96HTDK_2F98BUritkMyIiBkOByjHA/edit?usp=sharing
|
||||||
|
|
||||||
## Inicio
|
## Inicio
|
||||||
自分のフォローしているユーザーの投稿
|
Los posts de los usuarios que uno sigue
|
||||||
|
|
||||||
## Local
|
## Local
|
||||||
全てのローカルユーザーの「ホーム」指定されていない投稿
|
Todos los posts de los usuarios locales que no estén marcados como "Solo inicio"
|
||||||
|
|
||||||
## Social
|
## Social
|
||||||
自分のフォローしているユーザーの投稿と、全てのローカルユーザーの「ホーム」指定されていない投稿
|
Los posts de los usuarios que uno sigue más todos los posts de los usuarios locales que no estén marcados como "Solo inicio"
|
||||||
|
|
||||||
## Global
|
## Global
|
||||||
全てのローカルユーザーの「ホーム」指定されていない投稿と、サーバーに届いた全てのリモートユーザーの「ホーム」指定されていない投稿
|
Todos los posts de los usuarios locales que no estén marcados como "Solo inicio" más todos los posts de los usuarios remotos recibidos por el servidor que no estén marcados como "Solo inicio"
|
||||||
|
|
|
@ -7,11 +7,11 @@ API를 사용하려면 먼저 액세스 토큰을 취득해야 합니다. 이
|
||||||
## 액세스 토큰 가져오기
|
## 액세스 토큰 가져오기
|
||||||
기본적으로 API는 요청 시에 액세스 토큰이 필요합니다. API에 요청하는 것이 자기 자신인지, 불특정한 유저에게 사용하는 애플리케이션인지에 따라 취득 절차가 달라집니다.
|
기본적으로 API는 요청 시에 액세스 토큰이 필요합니다. API에 요청하는 것이 자기 자신인지, 불특정한 유저에게 사용하는 애플리케이션인지에 따라 취득 절차가 달라집니다.
|
||||||
|
|
||||||
* 전자의 경우: [ 「자기 자신의 액세스 토큰을 수동으로 발급하기」](#自分自身のアクセストークンを手動発行する)로 진행
|
* 전자의 경우: [「자기 자신의 액세스 토큰을 수동으로 발급하기」](#自分自身のアクセストークンを手動発行する)로 진행
|
||||||
* 후자의 경우: [「애플리케이션 사용자에게 액세스 토큰 발급을 요청하기」](#アプリケーション利用者にアクセストークンの発行をリクエストする)로 진행
|
* 후자의 경우: [「애플리케이션 사용자에게 액세스 토큰 발급을 요청하기」](#アプリケーション利用者にアクセストークンの発行をリクエストする)로 진행
|
||||||
|
|
||||||
### 자기 자신의 액세스 토큰을 수동으로 발급하기
|
### 자기 자신의 액세스 토큰을 수동으로 발급하기
|
||||||
「설정 > API」에서 자신의 액세스 토큰을 발급할 수 있습니다.
|
「설정 > API」에서 자신의 액세스 토큰을 발급할 수 있습니다.
|
||||||
|
|
||||||
[「API 사용 방법」으로 이동](#APIの使い方)
|
[「API 사용 방법」으로 이동](#APIの使い方)
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
# MFM
|
# MFM
|
||||||
MFM은 Misskey Flavored Markdown의 약자로, Misskey의 다양한 장소에서 사용할 수 있는 전용 마크업 언어입니다. MFM로 사용 가능한 구문은 [MFM 치트 시트 ](/mfm-cheat-sheet)에서 확인할 수 있습니다.
|
MFM은 Misskey Flavored Markdown의 약자로, Misskey의 다양한 장소에서 사용할 수 있는 전용 마크업 언어입니다. MFM로 사용 가능한 구문은 [MFM 치트 시트](/mfm-cheat-sheet)에서 확인할 수 있습니다.
|
||||||
|
|
|
@ -56,6 +56,8 @@ const forceExitAfter = timeout => () => {
|
||||||
* @param {string} signalOrEvent The exit signal or event name received on the process.
|
* @param {string} signalOrEvent The exit signal or event name received on the process.
|
||||||
*/
|
*/
|
||||||
async function shutdownHandler(signalOrEvent) {
|
async function shutdownHandler(signalOrEvent) {
|
||||||
|
if (process.env.NODE_ENV === 'test') return process.exit(0);
|
||||||
|
|
||||||
console.warn(`Shutting down: received [${signalOrEvent}] signal`);
|
console.warn(`Shutting down: received [${signalOrEvent}] signal`);
|
||||||
|
|
||||||
for (const listener of shutdownListeners) {
|
for (const listener of shutdownListeners) {
|
||||||
|
|
|
@ -41,14 +41,12 @@ export const packedBlockingSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this blocking.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the blocking was created.'
|
|
||||||
},
|
},
|
||||||
blockeeId: {
|
blockeeId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -59,7 +57,6 @@ export const packedBlockingSchema = {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
ref: 'User',
|
ref: 'User',
|
||||||
description: 'The blockee.'
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -51,14 +51,12 @@ export const packedChannelSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Channel.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Channel was created.'
|
|
||||||
},
|
},
|
||||||
lastNotedAt: {
|
lastNotedAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -68,7 +66,6 @@ export const packedChannelSchema = {
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The name of the Channel.'
|
|
||||||
},
|
},
|
||||||
description: {
|
description: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
|
|
@ -39,14 +39,12 @@ export const packedClipSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Clip.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Clip was created.'
|
|
||||||
},
|
},
|
||||||
userId: {
|
userId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -61,17 +59,14 @@ export const packedClipSchema = {
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The name of the Clip.'
|
|
||||||
},
|
},
|
||||||
description: {
|
description: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'The description of the Clip.'
|
|
||||||
},
|
},
|
||||||
isPublic: {
|
isPublic: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Whether this Clip is public.',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -154,44 +154,37 @@ export const packedDriveFileSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Drive file.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Drive file was created on Misskey.'
|
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The file name with extension.',
|
|
||||||
example: 'lenna.jpg'
|
example: 'lenna.jpg'
|
||||||
},
|
},
|
||||||
type: {
|
type: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The MIME type of this Drive file.',
|
|
||||||
example: 'image/jpeg'
|
example: 'image/jpeg'
|
||||||
},
|
},
|
||||||
md5: {
|
md5: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'md5',
|
format: 'md5',
|
||||||
description: 'The MD5 hash of this Drive file.',
|
|
||||||
example: '15eca7fba0480996e2245f5185bf39f2'
|
example: '15eca7fba0480996e2245f5185bf39f2'
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The size of this Drive file. (bytes)',
|
|
||||||
example: 51469
|
example: 51469
|
||||||
},
|
},
|
||||||
isSensitive: {
|
isSensitive: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Whether this Drive file is sensitive.',
|
|
||||||
},
|
},
|
||||||
blurhash: {
|
blurhash: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -222,13 +215,11 @@ export const packedDriveFileSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'url',
|
format: 'url',
|
||||||
description: 'The URL of this Drive file.',
|
|
||||||
},
|
},
|
||||||
thumbnailUrl: {
|
thumbnailUrl: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'url',
|
format: 'url',
|
||||||
description: 'The thumbnail URL of this Drive file.',
|
|
||||||
},
|
},
|
||||||
comment: {
|
comment: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -238,26 +229,22 @@ export const packedDriveFileSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The parent folder ID of this Drive file.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
folder: {
|
folder: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: true as const, nullable: true as const,
|
optional: true as const, nullable: true as const,
|
||||||
description: 'The parent folder of this Drive file.',
|
|
||||||
ref: 'DriveFolder'
|
ref: 'DriveFolder'
|
||||||
},
|
},
|
||||||
userId: {
|
userId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'Owner ID of this Drive file.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: true as const, nullable: true as const,
|
optional: true as const, nullable: true as const,
|
||||||
description: 'Owner of this Drive file.',
|
|
||||||
ref: 'User'
|
ref: 'User'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -59,35 +59,29 @@ export const packedDriveFolderSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Drive folder.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Drive folder was created.'
|
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The folder name.',
|
|
||||||
},
|
},
|
||||||
foldersCount: {
|
foldersCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: true as const, nullable: false as const,
|
optional: true as const, nullable: false as const,
|
||||||
description: 'The count of child folders.',
|
|
||||||
},
|
},
|
||||||
filesCount: {
|
filesCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: true as const, nullable: false as const,
|
optional: true as const, nullable: false as const,
|
||||||
description: 'The count of child files.',
|
|
||||||
},
|
},
|
||||||
parentId: {
|
parentId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The parent folder ID of this folder.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
parent: {
|
parent: {
|
||||||
|
|
|
@ -95,14 +95,12 @@ export const packedFollowingSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this following.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the following was created.'
|
|
||||||
},
|
},
|
||||||
followeeId: {
|
followeeId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -113,7 +111,6 @@ export const packedFollowingSchema = {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: true as const, nullable: false as const,
|
optional: true as const, nullable: false as const,
|
||||||
ref: 'User',
|
ref: 'User',
|
||||||
description: 'The followee.'
|
|
||||||
},
|
},
|
||||||
followerId: {
|
followerId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -124,7 +121,6 @@ export const packedFollowingSchema = {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: true as const, nullable: false as const,
|
optional: true as const, nullable: false as const,
|
||||||
ref: 'User',
|
ref: 'User',
|
||||||
description: 'The follower.'
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -34,38 +34,31 @@ export const packedHashtagSchema = {
|
||||||
tag: {
|
tag: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The hashtag name. No # prefixed.',
|
|
||||||
example: 'misskey',
|
example: 'misskey',
|
||||||
},
|
},
|
||||||
mentionedUsersCount: {
|
mentionedUsersCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Number of all users using this hashtag.'
|
|
||||||
},
|
},
|
||||||
mentionedLocalUsersCount: {
|
mentionedLocalUsersCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Number of local users using this hashtag.'
|
|
||||||
},
|
},
|
||||||
mentionedRemoteUsersCount: {
|
mentionedRemoteUsersCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Number of remote users using this hashtag.'
|
|
||||||
},
|
},
|
||||||
attachedUsersCount: {
|
attachedUsersCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Number of all users who attached this hashtag to profile.'
|
|
||||||
},
|
},
|
||||||
attachedLocalUsersCount: {
|
attachedLocalUsersCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Number of local users who attached this hashtag to profile.'
|
|
||||||
},
|
},
|
||||||
attachedRemoteUsersCount: {
|
attachedRemoteUsersCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Number of remote users who attached this hashtag to profile.'
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -53,14 +53,12 @@ export const packedMessagingMessageSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this MessagingMessage.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the MessagingMessage was created.'
|
|
||||||
},
|
},
|
||||||
userId: {
|
userId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
|
|
@ -41,14 +41,12 @@ export const packedMutingSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this muting.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the muting was created.'
|
|
||||||
},
|
},
|
||||||
muteeId: {
|
muteeId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -59,7 +57,6 @@ export const packedMutingSchema = {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
ref: 'User',
|
ref: 'User',
|
||||||
description: 'The mutee.'
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -35,14 +35,12 @@ export const packedNoteFavoriteSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this favorite.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the favorite was created.'
|
|
||||||
},
|
},
|
||||||
note: {
|
note: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
|
|
|
@ -32,25 +32,21 @@ export const packedNoteReactionSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this reaction.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the reaction was created.'
|
|
||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
ref: 'User',
|
ref: 'User',
|
||||||
description: 'User who performed this reaction.'
|
|
||||||
},
|
},
|
||||||
type: {
|
type: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The reaction type.'
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -281,14 +281,12 @@ export const packedNoteSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Note.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Note was created on Misskey.'
|
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -426,7 +424,6 @@ export const packedNoteSchema = {
|
||||||
reactions: {
|
reactions: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Key is either Unicode emoji or custom emoji, value is count of that emoji reaction.',
|
|
||||||
},
|
},
|
||||||
renoteCount: {
|
renoteCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
|
@ -439,18 +436,15 @@ export const packedNoteSchema = {
|
||||||
uri: {
|
uri: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'The URI of a note. it will be null when the note is local.',
|
|
||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'The human readable url of a note. it will be null when the note is local.',
|
|
||||||
},
|
},
|
||||||
|
|
||||||
myReaction: {
|
myReaction: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
optional: true as const, nullable: true as const,
|
optional: true as const, nullable: true as const,
|
||||||
description: 'Key is either Unicode emoji or custom emoji, value is count of that emoji reaction.',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -117,20 +117,17 @@ export const packedNotificationSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this notification.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the notification was created.'
|
|
||||||
},
|
},
|
||||||
type: {
|
type: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
enum: ['follow', 'followRequestAccepted', 'receiveFollowRequest', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote'],
|
enum: ['follow', 'followRequestAccepted', 'receiveFollowRequest', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote'],
|
||||||
description: 'The type of the notification.'
|
|
||||||
},
|
},
|
||||||
userId: {
|
userId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
|
|
@ -34,19 +34,16 @@ export const packedUserGroupSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this UserGroup.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the UserGroup was created.'
|
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The name of the UserGroup.'
|
|
||||||
},
|
},
|
||||||
ownerId: {
|
ownerId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
|
|
@ -33,19 +33,16 @@ export const packedUserListSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this UserList.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the UserList was created.'
|
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The name of the UserList.'
|
|
||||||
},
|
},
|
||||||
userIds: {
|
userIds: {
|
||||||
type: 'array' as const,
|
type: 'array' as const,
|
||||||
|
|
|
@ -342,19 +342,16 @@ export const packedUserSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this User.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: true as const, optional: false as const,
|
nullable: true as const, optional: false as const,
|
||||||
description: 'The name of the user, as they’ve defined it.',
|
|
||||||
example: '藍'
|
example: '藍'
|
||||||
},
|
},
|
||||||
username: {
|
username: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
description: 'The screen name, handle, or alias that this user identifies themselves with.',
|
|
||||||
example: 'ai'
|
example: 'ai'
|
||||||
},
|
},
|
||||||
host: {
|
host: {
|
||||||
|
@ -379,24 +376,20 @@ export const packedUserSchema = {
|
||||||
isAdmin: {
|
isAdmin: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
description: 'Whether this account is the admin.',
|
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
isModerator: {
|
isModerator: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
description: 'Whether this account is a moderator.',
|
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
isBot: {
|
isBot: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
nullable: false as const, optional: true as const,
|
nullable: false as const, optional: true as const,
|
||||||
description: 'Whether this account is a bot.'
|
|
||||||
},
|
},
|
||||||
isCat: {
|
isCat: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
nullable: false as const, optional: true as const,
|
nullable: false as const, optional: true as const,
|
||||||
description: 'Whether this account is a cat.'
|
|
||||||
},
|
},
|
||||||
emojis: {
|
emojis: {
|
||||||
type: 'array' as const,
|
type: 'array' as const,
|
||||||
|
@ -438,7 +431,6 @@ export const packedUserSchema = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: false as const, optional: true as const,
|
nullable: false as const, optional: true as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the user account was created on Misskey.'
|
|
||||||
},
|
},
|
||||||
updatedAt: {
|
updatedAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -471,7 +463,6 @@ export const packedUserSchema = {
|
||||||
description: {
|
description: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: true as const, optional: true as const,
|
nullable: true as const, optional: true as const,
|
||||||
description: 'The user-defined UTF-8 string describing their account.',
|
|
||||||
example: 'Hi masters, I am Ai!'
|
example: 'Hi masters, I am Ai!'
|
||||||
},
|
},
|
||||||
location: {
|
location: {
|
||||||
|
@ -505,17 +496,14 @@ export const packedUserSchema = {
|
||||||
followersCount: {
|
followersCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
nullable: false as const, optional: true as const,
|
nullable: false as const, optional: true as const,
|
||||||
description: 'The number of followers this account currently has.'
|
|
||||||
},
|
},
|
||||||
followingCount: {
|
followingCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
nullable: false as const, optional: true as const,
|
nullable: false as const, optional: true as const,
|
||||||
description: 'The number of users this account is following.'
|
|
||||||
},
|
},
|
||||||
notesCount: {
|
notesCount: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
nullable: false as const, optional: true as const,
|
nullable: false as const, optional: true as const,
|
||||||
description: 'The number of Notes (including renotes) issued by the user.'
|
|
||||||
},
|
},
|
||||||
pinnedNoteIds: {
|
pinnedNoteIds: {
|
||||||
type: 'array' as const,
|
type: 'array' as const,
|
||||||
|
|
|
@ -3,7 +3,7 @@ export type ApObject = IObject | string | (IObject | string)[];
|
||||||
|
|
||||||
export interface IObject {
|
export interface IObject {
|
||||||
'@context': string | obj | obj[];
|
'@context': string | obj | obj[];
|
||||||
type: string | unknown[];
|
type: string | string[];
|
||||||
id?: string;
|
id?: string;
|
||||||
summary?: string;
|
summary?: string;
|
||||||
published?: string;
|
published?: string;
|
||||||
|
|
|
@ -8,15 +8,12 @@ export type Param = {
|
||||||
transform?: any;
|
transform?: any;
|
||||||
default?: any;
|
default?: any;
|
||||||
deprecated?: boolean;
|
deprecated?: boolean;
|
||||||
desc?: { [key: string]: string };
|
|
||||||
ref?: string;
|
ref?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export interface IEndpointMeta {
|
export interface IEndpointMeta {
|
||||||
stability?: string; //'deprecated' | 'experimental' | 'stable';
|
stability?: string; //'deprecated' | 'experimental' | 'stable';
|
||||||
|
|
||||||
desc?: { [key: string]: string };
|
|
||||||
|
|
||||||
tags?: string[];
|
tags?: string[];
|
||||||
|
|
||||||
params?: {
|
params?: {
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { AbuseUserReports } from '../../../../models';
|
||||||
import { makePaginationQuery } from '../../common/make-pagination-query';
|
import { makePaginationQuery } from '../../common/make-pagination-query';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '通報一覧を表示します。',
|
|
||||||
'en-US': 'Show list of abuse user reports.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -64,43 +59,36 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this User.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the abuse user report was created on Misskey.'
|
|
||||||
},
|
},
|
||||||
comment: {
|
comment: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
description: 'The content of the report.',
|
|
||||||
},
|
},
|
||||||
resolved: {
|
resolved: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
description: 'Returns whether this report has been resolved',
|
|
||||||
example: false
|
example: false
|
||||||
},
|
},
|
||||||
reporterId: {
|
reporterId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'Reporter\'s user ID.'
|
|
||||||
},
|
},
|
||||||
targetUserId: {
|
targetUserId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: false as const, optional: false as const,
|
nullable: false as const, optional: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'User ID of the person to be reported.'
|
|
||||||
},
|
},
|
||||||
assigneeId: {
|
assigneeId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
nullable: true as const, optional: false as const,
|
nullable: true as const, optional: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'User ID of the person who responded to the report.'
|
|
||||||
},
|
},
|
||||||
reporter: {
|
reporter: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
|
|
|
@ -3,11 +3,6 @@ import { Users } from '../../../../../models';
|
||||||
import { signup } from '../../../common/signup';
|
import { signup } from '../../../common/signup';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アカウントを作成します。',
|
|
||||||
'en-US': 'Create a account.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
|
@ -28,7 +23,6 @@ export const meta = {
|
||||||
token: {
|
token: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Token to access this user.'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,11 +4,6 @@ import { Announcements } from '../../../../../models';
|
||||||
import { genId } from '@/misc/gen-id';
|
import { genId } from '@/misc/gen-id';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アナウンスを作成します。',
|
|
||||||
'en-US': 'Create a announcement.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -34,35 +29,29 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Announcement.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Announcement was created.'
|
|
||||||
},
|
},
|
||||||
updatedAt: {
|
updatedAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Announcement was updated.'
|
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Announcement title.'
|
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Announcement text.'
|
|
||||||
},
|
},
|
||||||
imageUrl: {
|
imageUrl: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'Announcement image.'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,11 +10,6 @@ export const meta = {
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
requireModerator: true,
|
requireModerator: true,
|
||||||
|
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アナウンスを削除します。',
|
|
||||||
'en-US': 'Delete a announcement.'
|
|
||||||
},
|
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
id: {
|
id: {
|
||||||
validator: $.type(ID)
|
validator: $.type(ID)
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { Announcements, AnnouncementReads } from '../../../../../models';
|
||||||
import { makePaginationQuery } from '../../../common/make-pagination-query';
|
import { makePaginationQuery } from '../../../common/make-pagination-query';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アナウンスのリストを表示します。',
|
|
||||||
'en-US': 'List announcements.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -41,40 +36,33 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Announcement.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Announcement was created.'
|
|
||||||
},
|
},
|
||||||
updatedAt: {
|
updatedAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Announcement was updated.'
|
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Announcement text.'
|
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Announcement title.'
|
|
||||||
},
|
},
|
||||||
imageUrl: {
|
imageUrl: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'Announcement image.'
|
|
||||||
},
|
},
|
||||||
reads: {
|
reads: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Number of people who read this announcement.'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { Announcements } from '../../../../../models';
|
||||||
import { ApiError } from '../../../error';
|
import { ApiError } from '../../../error';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アナウンスの内容を変更します。',
|
|
||||||
'en-US': 'Update a annoucement.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { DriveFiles } from '../../../../models';
|
||||||
import { ID } from '@/misc/cafy-id';
|
import { ID } from '@/misc/cafy-id';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーのファイルを全て削除します。',
|
|
||||||
'en-US': 'Delete all files to specified user.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -18,10 +13,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID which you want to suspend'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,11 +2,6 @@ import define from '../../define';
|
||||||
import { Logs } from '../../../../models';
|
import { Logs } from '../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ログを全て削除します。',
|
|
||||||
'en-US': 'Delete all logs.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -2,11 +2,6 @@ import define from '../../../define';
|
||||||
import { createCleanRemoteFilesJob } from '../../../../../queue';
|
import { createCleanRemoteFilesJob } from '../../../../../queue';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'キャッシュされたリモートファイルをすべて削除します。',
|
|
||||||
'en-US': 'Deletes all cached remote files.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -4,11 +4,6 @@ import { deleteFile } from '../../../../../services/drive/delete-file';
|
||||||
import { DriveFiles } from '../../../../../models';
|
import { DriveFiles } from '../../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '使用されていないユーザーのファイルを削除します。',
|
|
||||||
'en-US': 'Delete the unused user\'s files.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { makePaginationQuery } from '../../../common/make-pagination-query';
|
||||||
import { ID } from '@/misc/cafy-id';
|
import { ID } from '@/misc/cafy-id';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '管理用のドライブの一覧を表示します。',
|
|
||||||
'en-US': 'Displays a list of management drives.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: false as const,
|
requireCredential: false as const,
|
||||||
|
|
|
@ -36,20 +36,17 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Drive file.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Drive file was created on Misskey.'
|
|
||||||
},
|
},
|
||||||
userId: {
|
userId: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'Owner ID of this Drive file.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
userHost: {
|
userHost: {
|
||||||
|
@ -60,25 +57,21 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'md5',
|
format: 'md5',
|
||||||
description: 'The MD5 hash of this Drive file.',
|
|
||||||
example: '15eca7fba0480996e2245f5185bf39f2'
|
example: '15eca7fba0480996e2245f5185bf39f2'
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The file name with extension.',
|
|
||||||
example: 'lenna.jpg'
|
example: 'lenna.jpg'
|
||||||
},
|
},
|
||||||
type: {
|
type: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The MIME type of this Drive file.',
|
|
||||||
example: 'image/jpeg'
|
example: 'image/jpeg'
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The size of this Drive file. (bytes)',
|
|
||||||
example: 51469
|
example: 51469
|
||||||
},
|
},
|
||||||
comment: {
|
comment: {
|
||||||
|
@ -113,41 +106,34 @@ export const meta = {
|
||||||
storedInternal: {
|
storedInternal: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'Indicates whether this file is stored in the same location as Misskey itself',
|
|
||||||
example: true
|
example: true
|
||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'url',
|
format: 'url',
|
||||||
description: 'The URL of this Drive file.',
|
|
||||||
},
|
},
|
||||||
thumbnailUrl: {
|
thumbnailUrl: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'url',
|
format: 'url',
|
||||||
description: 'The thumbnail URL of this Drive file.',
|
|
||||||
},
|
},
|
||||||
webpublicUrl: {
|
webpublicUrl: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'url',
|
format: 'url',
|
||||||
description: 'The public URL of this Drive file.',
|
|
||||||
},
|
},
|
||||||
accessKey: {
|
accessKey: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Access key to access this file'
|
|
||||||
},
|
},
|
||||||
thumbnailAccessKey: {
|
thumbnailAccessKey: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Access key to access this file for thumbnail'
|
|
||||||
},
|
},
|
||||||
webpublicAccessKey: {
|
webpublicAccessKey: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Access key to access this file for webpublic'
|
|
||||||
},
|
},
|
||||||
uri: {
|
uri: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
|
@ -161,13 +147,11 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The parent folder ID of this Drive file.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
isSensitive: {
|
isSensitive: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Whether this Drive file is sensitive.',
|
|
||||||
},
|
},
|
||||||
isLink: {
|
isLink: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
|
|
|
@ -10,10 +10,6 @@ import rndstr from 'rndstr';
|
||||||
import { publishBroadcastStream } from '../../../../../services/stream';
|
import { publishBroadcastStream } from '../../../../../services/stream';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'カスタム絵文字を追加します。'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -9,11 +9,6 @@ import { ID } from '@/misc/cafy-id';
|
||||||
import uploadFromUrl from '../../../../../services/drive/upload-from-url';
|
import uploadFromUrl from '../../../../../services/drive/upload-from-url';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '選択したカスタム絵文字をコピーします。',
|
|
||||||
'en-US': 'Copies the selected custom emoji.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -41,7 +36,6 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'New copied emoji ID'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,6 @@ import { makePaginationQuery } from '../../../common/make-pagination-query';
|
||||||
import { ID } from '@/misc/cafy-id';
|
import { ID } from '@/misc/cafy-id';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'リモートのカスタム絵文字一覧を取得します。',
|
|
||||||
'en-US': 'Gets a list of remote custom emojis.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -19,12 +14,12 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
query: {
|
query: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
default: null as any
|
default: null
|
||||||
},
|
},
|
||||||
|
|
||||||
host: {
|
host: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
default: null as any
|
default: null
|
||||||
},
|
},
|
||||||
|
|
||||||
limit: {
|
limit: {
|
||||||
|
@ -52,12 +47,10 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Emoji.'
|
|
||||||
},
|
},
|
||||||
aliases: {
|
aliases: {
|
||||||
type: 'array' as const,
|
type: 'array' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'List to make it easier to be displayed as a candidate when entering emoji.',
|
|
||||||
items: {
|
items: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const
|
optional: false as const, nullable: false as const
|
||||||
|
@ -66,22 +59,18 @@ export const meta = {
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Official name of custom emoji.'
|
|
||||||
},
|
},
|
||||||
category: {
|
category: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'Names categorized in the emoji list.'
|
|
||||||
},
|
},
|
||||||
host: {
|
host: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'If it is another server, the FQDN will be returned here.'
|
|
||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Image URL of emoji.'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,6 @@ import { ID } from '@/misc/cafy-id';
|
||||||
import { Emoji } from '../../../../../models/entities/emoji';
|
import { Emoji } from '../../../../../models/entities/emoji';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'カスタム絵文字一覧を取得します。',
|
|
||||||
'en-US': 'List custom emojis.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -19,7 +14,7 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
query: {
|
query: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
default: null as any
|
default: null
|
||||||
},
|
},
|
||||||
|
|
||||||
limit: {
|
limit: {
|
||||||
|
@ -47,12 +42,10 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Emoji.'
|
|
||||||
},
|
},
|
||||||
aliases: {
|
aliases: {
|
||||||
type: 'array' as const,
|
type: 'array' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'List to make it easier to be displayed as a candidate when entering emoji.',
|
|
||||||
items: {
|
items: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const
|
optional: false as const, nullable: false as const
|
||||||
|
@ -61,22 +54,18 @@ export const meta = {
|
||||||
name: {
|
name: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Official name of custom emoji.'
|
|
||||||
},
|
},
|
||||||
category: {
|
category: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'Names categorized in the emoji list.'
|
|
||||||
},
|
},
|
||||||
host: {
|
host: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'If it is another server, the FQDN will be returned here.'
|
|
||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Image URL of emoji.'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,10 +7,6 @@ import { insertModerationLog } from '../../../../../services/insert-moderation-l
|
||||||
import { ApiError } from '../../../error';
|
import { ApiError } from '../../../error';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'カスタム絵文字を削除します。'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -6,10 +6,6 @@ import { getConnection } from 'typeorm';
|
||||||
import { ApiError } from '../../../error';
|
import { ApiError } from '../../../error';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'カスタム絵文字を更新します。'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -4,11 +4,6 @@ import { deleteFile } from '../../../../../services/drive/delete-file';
|
||||||
import { DriveFiles } from '../../../../../models';
|
import { DriveFiles } from '../../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したドメインのファイルを全て削除します。',
|
|
||||||
'en-US': 'Deletes all files in the specified domain.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -4,11 +4,6 @@ import deleteFollowing from '../../../../../services/following/delete';
|
||||||
import { Followings, Users } from '../../../../../models';
|
import { Followings, Users } from '../../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したドメインの全ユーザーのフォローを全て解除します。',
|
|
||||||
'en-US': 'Unfollow all users in the specified domain.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -4,11 +4,6 @@ import { Instances } from '../../../../../models';
|
||||||
import { toPuny } from '@/misc/convert-host';
|
import { toPuny } from '@/misc/convert-host';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したドメインのアクティビティの配信を停止するかを選択します。',
|
|
||||||
'en-US': 'Select whether to undeliver the activity for the specified domain.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -5,11 +5,6 @@ export const meta = {
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
requireModerator: true,
|
requireModerator: true,
|
||||||
|
|
||||||
desc: {
|
|
||||||
'ja-JP': 'テーブル情報を取得します。',
|
|
||||||
'en-US': 'Get table stats'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
|
|
|
@ -4,11 +4,6 @@ import { RegistrationTickets } from '../../../../models';
|
||||||
import { genId } from '@/misc/gen-id';
|
import { genId } from '@/misc/gen-id';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '招待コードを発行します。',
|
|
||||||
'en-US': 'Issue an invitation code.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -23,7 +18,6 @@ export const meta = {
|
||||||
code: {
|
code: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Give this code to the applicant for registration.',
|
|
||||||
example: '2ERUA5VR',
|
example: '2ERUA5VR',
|
||||||
maxLength: 8,
|
maxLength: 8,
|
||||||
minLength: 8
|
minLength: 8
|
||||||
|
|
|
@ -4,11 +4,6 @@ import { Logs } from '../../../../models';
|
||||||
import { Brackets } from 'typeorm';
|
import { Brackets } from 'typeorm';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ログを表示します。',
|
|
||||||
'en-US': 'Show logs.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -22,12 +17,12 @@ export const meta = {
|
||||||
|
|
||||||
level: {
|
level: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
default: null as any
|
default: null
|
||||||
},
|
},
|
||||||
|
|
||||||
domain: {
|
domain: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
default: null as any
|
default: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -42,14 +37,12 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this log.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Drive file was created on Misskey.'
|
|
||||||
},
|
},
|
||||||
domain: {
|
domain: {
|
||||||
type: 'array' as const,
|
type: 'array' as const,
|
||||||
|
@ -70,12 +63,10 @@ export const meta = {
|
||||||
machine: {
|
machine: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The name of the running machine.'
|
|
||||||
},
|
},
|
||||||
message: {
|
message: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Log body.'
|
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
|
|
|
@ -4,11 +4,6 @@ import define from '../../../define';
|
||||||
import { Users } from '../../../../../models';
|
import { Users } from '../../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したユーザーをモデレーターにします。',
|
|
||||||
'en-US': 'Mark a user as moderator.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -17,10 +12,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,11 +4,6 @@ import define from '../../../define';
|
||||||
import { Users } from '../../../../../models';
|
import { Users } from '../../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したユーザーをモデレーター解除します。',
|
|
||||||
'en-US': 'Unmark a user as moderator.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -17,10 +12,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,11 +6,6 @@ import { getNote } from '../../../common/getters';
|
||||||
import { PromoNotes } from '../../../../../models';
|
import { PromoNotes } from '../../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'プロモーションを作成します。',
|
|
||||||
'en-US': 'Create a promotion.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -3,11 +3,6 @@ import { destroy } from '../../../../../queue';
|
||||||
import { insertModerationLog } from '../../../../../services/insert-moderation-log';
|
import { insertModerationLog } from '../../../../../services/insert-moderation-log';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ジョブキューを全て削除します。',
|
|
||||||
'en-US': 'Delete all job queues.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -3,11 +3,6 @@ import { URL } from 'url';
|
||||||
import define from '../../../define';
|
import define from '../../../define';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '他サーバーへ送るキューの遅延一覧を返します。',
|
|
||||||
'en-US': 'Returns a list of delays in queues sent to other servers.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -26,11 +21,9 @@ export const meta = {
|
||||||
anyOf: [
|
anyOf: [
|
||||||
{
|
{
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
description: 'FQDN to fediverse server'
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
description: 'Delayed queue counts'
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,11 +3,6 @@ import define from '../../../define';
|
||||||
import { inboxQueue } from '../../../../../queue';
|
import { inboxQueue } from '../../../../../queue';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'このサーバーへのキューの遅延一覧を返します。',
|
|
||||||
'en-US': 'Returns a list of queue delays to this server.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -26,11 +21,9 @@ export const meta = {
|
||||||
anyOf: [
|
anyOf: [
|
||||||
{
|
{
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
description: 'FQDN to fediverse server'
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
description: 'Delayed queue counts'
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,11 +3,6 @@ import $ from 'cafy';
|
||||||
import define from '../../../define';
|
import define from '../../../define';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ジョブ一覧を表示します。',
|
|
||||||
'en-US': 'Display the job list.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -2,11 +2,6 @@ import { deliverQueue, inboxQueue, dbQueue, objectStorageQueue } from '@/queue/q
|
||||||
import define from '../../../define';
|
import define from '../../../define';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'キューの状態を返します。',
|
|
||||||
'en-US': 'Returns the status of the queue.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { addRelay } from '../../../../../services/relay';
|
||||||
import { ApiError } from '../../../error';
|
import { ApiError } from '../../../error';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'リレーを追加します。',
|
|
||||||
'en-US': 'Add relay'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -2,11 +2,6 @@ import define from '../../../define';
|
||||||
import { listRelay } from '../../../../../services/relay';
|
import { listRelay } from '../../../../../services/relay';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'リレー一覧を表示します。',
|
|
||||||
'en-US': 'List relay'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -3,11 +3,6 @@ import define from '../../../define';
|
||||||
import { removeRelay } from '../../../../../services/relay';
|
import { removeRelay } from '../../../../../services/relay';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'リレーを削除します。',
|
|
||||||
'en-US': 'Remove relay'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -6,11 +6,6 @@ import rndstr from 'rndstr';
|
||||||
import { Users, UserProfiles } from '../../../../models';
|
import { Users, UserProfiles } from '../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したユーザーのパスワードをリセットします。',
|
|
||||||
'en-US': 'Reset password to specified user.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -19,10 +14,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID which you want to suspend'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,6 @@ import define from '../../define';
|
||||||
import { AbuseUserReports } from '../../../../models';
|
import { AbuseUserReports } from '../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定した通報を解決済みにします。',
|
|
||||||
'en-US': 'Marks the specified report as resolved.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -3,11 +3,6 @@ import { driveChart, notesChart, usersChart, instanceChart } from '../../../../s
|
||||||
import { insertModerationLog } from '../../../../services/insert-moderation-log';
|
import { insertModerationLog } from '../../../../services/insert-moderation-log';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'チャートを再同期します。',
|
|
||||||
'en-US': 'Resync the chart.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -3,11 +3,6 @@ import define from '../../define';
|
||||||
import { sendEmail } from '../../../../services/send-email';
|
import { sendEmail } from '../../../../services/send-email';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'メールを送信します。',
|
|
||||||
'en-US': 'Send a mail.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -8,11 +8,6 @@ export const meta = {
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
requireModerator: true,
|
requireModerator: true,
|
||||||
|
|
||||||
desc: {
|
|
||||||
'ja-JP': 'サーバー情報を表示します。',
|
|
||||||
'en-US': 'Show server information.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin', 'meta'],
|
tags: ['admin', 'meta'],
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
|
@ -25,23 +20,19 @@ export const meta = {
|
||||||
machine: {
|
machine: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The name of the running server'
|
|
||||||
},
|
},
|
||||||
os: {
|
os: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'OS used by the server',
|
|
||||||
example: 'linux'
|
example: 'linux'
|
||||||
},
|
},
|
||||||
node: {
|
node: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Version of Node.js'
|
|
||||||
},
|
},
|
||||||
psql: {
|
psql: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Version of Postgresql'
|
|
||||||
},
|
},
|
||||||
cpu: {
|
cpu: {
|
||||||
type: 'object' as const,
|
type: 'object' as const,
|
||||||
|
@ -50,12 +41,10 @@ export const meta = {
|
||||||
model: {
|
model: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The name of the CPU you are using'
|
|
||||||
},
|
},
|
||||||
cores: {
|
cores: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Number of CPU cores used (number of logical processors)'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -67,7 +56,6 @@ export const meta = {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'bytes',
|
format: 'bytes',
|
||||||
description: 'RAM capacity.'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -79,13 +67,11 @@ export const meta = {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'bytes',
|
format: 'bytes',
|
||||||
description: 'Total storage capacity.'
|
|
||||||
},
|
},
|
||||||
used: {
|
used: {
|
||||||
type: 'number' as const,
|
type: 'number' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'bytes',
|
format: 'bytes',
|
||||||
description: 'Amount of storage used'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -96,7 +82,6 @@ export const meta = {
|
||||||
interface: {
|
interface: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'The interface name of your network.',
|
|
||||||
example: 'eth0'
|
example: 'eth0'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { ModerationLogs } from '../../../../models';
|
||||||
import { makePaginationQuery } from '../../common/make-pagination-query';
|
import { makePaginationQuery } from '../../common/make-pagination-query';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'モデレーションログ一覧を表示します。',
|
|
||||||
'en-US': 'Display the moderation log list.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -4,11 +4,6 @@ import define from '../../define';
|
||||||
import { Users } from '../../../../models';
|
import { Users } from '../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したユーザーの情報を取得します(管理者向け)。',
|
|
||||||
'en-US': 'Gets the information of the specified user (for administrators).'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -17,10 +12,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID which you want to suspend'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,6 @@ import define from '../../define';
|
||||||
import { Users } from '../../../../models';
|
import { Users } from '../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '管理者用のユーザー一覧を表示します。',
|
|
||||||
'en-US': 'Displays a list of users for administrators.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { Users } from '../../../../models';
|
||||||
import { insertModerationLog } from '../../../../services/insert-moderation-log';
|
import { insertModerationLog } from '../../../../services/insert-moderation-log';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したユーザーをサイレンスにします。',
|
|
||||||
'en-US': 'Make silence a user.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -18,10 +13,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID which you want to make silence'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,11 +8,6 @@ import { insertModerationLog } from '../../../../services/insert-moderation-log'
|
||||||
import { doPostSuspend } from '../../../../services/suspend-user';
|
import { doPostSuspend } from '../../../../services/suspend-user';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したユーザーを凍結します。',
|
|
||||||
'en-US': 'Suspend a user.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -21,10 +16,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID which you want to suspend'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { Users } from '../../../../models';
|
||||||
import { insertModerationLog } from '../../../../services/insert-moderation-log';
|
import { insertModerationLog } from '../../../../services/insert-moderation-log';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したユーザーのサイレンスを解除します。',
|
|
||||||
'en-US': 'Unsilence a user.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -18,10 +13,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID which you want to unsilence'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,11 +6,6 @@ import { insertModerationLog } from '../../../../services/insert-moderation-log'
|
||||||
import { doPostUnsuspend } from '../../../../services/unsuspend-user';
|
import { doPostUnsuspend } from '../../../../services/unsuspend-user';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したユーザーの凍結を解除します。',
|
|
||||||
'en-US': 'Unsuspend a user.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -19,10 +14,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
userId: {
|
userId: {
|
||||||
validator: $.type(ID),
|
validator: $.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': '対象のユーザーID',
|
|
||||||
'en-US': 'The user ID which you want to unsuspend'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,10 +7,6 @@ import { DB_MAX_NOTE_TEXT_LENGTH } from '@/misc/hard-limits';
|
||||||
import { ID } from '@/misc/cafy-id';
|
import { ID } from '@/misc/cafy-id';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンスの設定を更新します。'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
@ -19,79 +15,46 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
disableRegistration: {
|
disableRegistration: {
|
||||||
validator: $.optional.nullable.bool,
|
validator: $.optional.nullable.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': '招待制か否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
disableLocalTimeline: {
|
disableLocalTimeline: {
|
||||||
validator: $.optional.nullable.bool,
|
validator: $.optional.nullable.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ローカルタイムライン(とソーシャルタイムライン)を無効にするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
disableGlobalTimeline: {
|
disableGlobalTimeline: {
|
||||||
validator: $.optional.nullable.bool,
|
validator: $.optional.nullable.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'グローバルタイムラインを無効にするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
useStarForReactionFallback: {
|
useStarForReactionFallback: {
|
||||||
validator: $.optional.nullable.bool,
|
validator: $.optional.nullable.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': '不明なリアクションのフォールバックに star リアクションを使うか'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
pinnedUsers: {
|
pinnedUsers: {
|
||||||
validator: $.optional.nullable.arr($.str),
|
validator: $.optional.nullable.arr($.str),
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ピン留めユーザー'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
hiddenTags: {
|
hiddenTags: {
|
||||||
validator: $.optional.nullable.arr($.str),
|
validator: $.optional.nullable.arr($.str),
|
||||||
desc: {
|
|
||||||
'ja-JP': '統計などで無視するハッシュタグ'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
blockedHosts: {
|
blockedHosts: {
|
||||||
validator: $.optional.nullable.arr($.str),
|
validator: $.optional.nullable.arr($.str),
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ブロックするホスト'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
mascotImageUrl: {
|
mascotImageUrl: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンスキャラクター画像のURL'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
bannerUrl: {
|
bannerUrl: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンスのバナー画像URL'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
errorImageUrl: {
|
errorImageUrl: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンスのエラー画像URL'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
iconUrl: {
|
iconUrl: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンスのアイコンURL'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
backgroundImageUrl: {
|
backgroundImageUrl: {
|
||||||
|
@ -104,116 +67,66 @@ export const meta = {
|
||||||
|
|
||||||
name: {
|
name: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンス名'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
description: {
|
description: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンスの紹介文'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
maxNoteTextLength: {
|
maxNoteTextLength: {
|
||||||
validator: $.optional.num.min(0).max(DB_MAX_NOTE_TEXT_LENGTH),
|
validator: $.optional.num.min(0).max(DB_MAX_NOTE_TEXT_LENGTH),
|
||||||
desc: {
|
|
||||||
'ja-JP': '投稿の最大文字数'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
localDriveCapacityMb: {
|
localDriveCapacityMb: {
|
||||||
validator: $.optional.num.min(0),
|
validator: $.optional.num.min(0),
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ローカルユーザーひとりあたりのドライブ容量 (メガバイト単位)',
|
|
||||||
'en-US': 'Drive capacity of a local user (MB)'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
remoteDriveCapacityMb: {
|
remoteDriveCapacityMb: {
|
||||||
validator: $.optional.num.min(0),
|
validator: $.optional.num.min(0),
|
||||||
desc: {
|
|
||||||
'ja-JP': 'リモートユーザーひとりあたりのドライブ容量 (メガバイト単位)',
|
|
||||||
'en-US': 'Drive capacity of a remote user (MB)'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
cacheRemoteFiles: {
|
cacheRemoteFiles: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'リモートのファイルをキャッシュするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
proxyRemoteFiles: {
|
proxyRemoteFiles: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ローカルにないリモートのファイルをプロキシするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
enableHcaptcha: {
|
enableHcaptcha: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'hCaptchaを使用するか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
hcaptchaSiteKey: {
|
hcaptchaSiteKey: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'hCaptcha site key'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
hcaptchaSecretKey: {
|
hcaptchaSecretKey: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'hCaptcha secret key'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
enableRecaptcha: {
|
enableRecaptcha: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'reCAPTCHAを使用するか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
recaptchaSiteKey: {
|
recaptchaSiteKey: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'reCAPTCHA site key'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
recaptchaSecretKey: {
|
recaptchaSecretKey: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'reCAPTCHA secret key'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
proxyAccountId: {
|
proxyAccountId: {
|
||||||
validator: $.optional.nullable.type(ID),
|
validator: $.optional.nullable.type(ID),
|
||||||
desc: {
|
|
||||||
'ja-JP': 'プロキシアカウントのID'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
maintainerName: {
|
maintainerName: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンスの管理者名'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
maintainerEmail: {
|
maintainerEmail: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンス管理者の連絡先メールアドレス'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
pinnedPages: {
|
pinnedPages: {
|
||||||
|
@ -226,170 +139,98 @@ export const meta = {
|
||||||
|
|
||||||
langs: {
|
langs: {
|
||||||
validator: $.optional.arr($.str),
|
validator: $.optional.arr($.str),
|
||||||
desc: {
|
|
||||||
'ja-JP': 'インスタンスの対象言語'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
summalyProxy: {
|
summalyProxy: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'summalyプロキシURL'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
enableTwitterIntegration: {
|
enableTwitterIntegration: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'Twitter連携機能を有効にするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
twitterConsumerKey: {
|
twitterConsumerKey: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'TwitterアプリのConsumer key'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
twitterConsumerSecret: {
|
twitterConsumerSecret: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'TwitterアプリのConsumer secret'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
enableGithubIntegration: {
|
enableGithubIntegration: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'GitHub連携機能を有効にするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
githubClientId: {
|
githubClientId: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'GitHubアプリのClient ID'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
githubClientSecret: {
|
githubClientSecret: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'GitHubアプリのClient Secret'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
enableDiscordIntegration: {
|
enableDiscordIntegration: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'Discord連携機能を有効にするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
discordClientId: {
|
discordClientId: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'DiscordアプリのClient ID'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
discordClientSecret: {
|
discordClientSecret: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'DiscordアプリのClient Secret'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
enableEmail: {
|
enableEmail: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'メール配信を有効にするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
email: {
|
email: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'メール配信する際に利用するメールアドレス'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
smtpSecure: {
|
smtpSecure: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'SMTPサーバがSSLを使用しているか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
smtpHost: {
|
smtpHost: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'SMTPサーバのホスト'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
smtpPort: {
|
smtpPort: {
|
||||||
validator: $.optional.nullable.num,
|
validator: $.optional.nullable.num,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'SMTPサーバのポート'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
smtpUser: {
|
smtpUser: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'SMTPサーバのユーザー名'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
smtpPass: {
|
smtpPass: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'SMTPサーバのパスワード'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
enableServiceWorker: {
|
enableServiceWorker: {
|
||||||
validator: $.optional.bool,
|
validator: $.optional.bool,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ServiceWorkerを有効にするか否か'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
swPublicKey: {
|
swPublicKey: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ServiceWorkerのVAPIDキーペアの公開鍵'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
swPrivateKey: {
|
swPrivateKey: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ServiceWorkerのVAPIDキーペアの秘密鍵'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
tosUrl: {
|
tosUrl: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': '利用規約のURL'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
repositoryUrl: {
|
repositoryUrl: {
|
||||||
validator: $.optional.str,
|
validator: $.optional.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'リポジトリのURL'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
feedbackUrl: {
|
feedbackUrl: {
|
||||||
validator: $.optional.str,
|
validator: $.optional.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'フィードバックのURL'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
useObjectStorage: {
|
useObjectStorage: {
|
||||||
|
|
|
@ -4,11 +4,6 @@ import { getConnection } from 'typeorm';
|
||||||
import { insertModerationLog } from '../../../../services/insert-moderation-log';
|
import { insertModerationLog } from '../../../../services/insert-moderation-log';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'データベースのメンテナンスを行います。',
|
|
||||||
'en-US': 'Perform database maintenance.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['admin'],
|
tags: ['admin'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { Announcements, AnnouncementReads } from '../../../models';
|
||||||
import { makePaginationQuery } from '../common/make-pagination-query';
|
import { makePaginationQuery } from '../common/make-pagination-query';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アナウンスを表示します。',
|
|
||||||
'en-US': 'Show announcements.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['meta'],
|
tags: ['meta'],
|
||||||
|
|
||||||
requireCredential: false as const,
|
requireCredential: false as const,
|
||||||
|
@ -45,40 +40,33 @@ export const meta = {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'id',
|
format: 'id',
|
||||||
description: 'The unique identifier for this Announcement.',
|
|
||||||
example: 'xxxxxxxxxx',
|
example: 'xxxxxxxxxx',
|
||||||
},
|
},
|
||||||
createdAt: {
|
createdAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Announcement was created.'
|
|
||||||
},
|
},
|
||||||
updatedAt: {
|
updatedAt: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
format: 'date-time',
|
format: 'date-time',
|
||||||
description: 'The date that the Announcement was updated.'
|
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Announcement text.'
|
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Announcement title.'
|
|
||||||
},
|
},
|
||||||
imageUrl: {
|
imageUrl: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: true as const,
|
optional: false as const, nullable: true as const,
|
||||||
description: 'Announcement image.'
|
|
||||||
},
|
},
|
||||||
isRead: {
|
isRead: {
|
||||||
type: 'boolean' as const,
|
type: 'boolean' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'Indicates that you have read this announcement'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,11 +7,6 @@ import { ApiError } from '../../error';
|
||||||
import { publishInternalEvent } from '../../../../services/stream';
|
import { publishInternalEvent } from '../../../../services/stream';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アンテナを作成します。',
|
|
||||||
'en-US': 'Create a antenna.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['antennas'],
|
tags: ['antennas'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -6,11 +6,6 @@ import { Antennas } from '../../../../models';
|
||||||
import { publishInternalEvent } from '../../../../services/stream';
|
import { publishInternalEvent } from '../../../../services/stream';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アンテナを削除します。',
|
|
||||||
'en-US': 'Delete a antenna.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['antennas'],
|
tags: ['antennas'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -2,11 +2,6 @@ import define from '../../define';
|
||||||
import { Antennas } from '../../../../models';
|
import { Antennas } from '../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アンテナの一覧を取得します。',
|
|
||||||
'en-US': 'Get a list of antennas.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['antennas', 'account'],
|
tags: ['antennas', 'account'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -8,11 +8,6 @@ import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
|
||||||
import { ApiError } from '../../error';
|
import { ApiError } from '../../error';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したアンテナのノート一覧を表示します。',
|
|
||||||
'en-US': 'Displays a list of notes for the specified antenna.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['antennas', 'account', 'notes'],
|
tags: ['antennas', 'account', 'notes'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -5,11 +5,6 @@ import { ApiError } from '../../error';
|
||||||
import { Antennas } from '../../../../models';
|
import { Antennas } from '../../../../models';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': '指定したアンテナの情報を取得します。',
|
|
||||||
'en-US': 'Acquires the information of the specified antenna.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['antennas', 'account'],
|
tags: ['antennas', 'account'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -6,11 +6,6 @@ import { Antennas, UserLists, UserGroupJoinings } from '../../../../models';
|
||||||
import { publishInternalEvent } from '../../../../services/stream';
|
import { publishInternalEvent } from '../../../../services/stream';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アンテナの情報を更新します。',
|
|
||||||
'en-US': 'Updates the information of the specified antenna.'
|
|
||||||
},
|
|
||||||
|
|
||||||
tags: ['antennas'],
|
tags: ['antennas'],
|
||||||
|
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
|
|
|
@ -6,19 +6,11 @@ import { ApiError } from '../../error';
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ['federation'],
|
tags: ['federation'],
|
||||||
|
|
||||||
desc: {
|
|
||||||
'ja-JP': 'URIを指定してActivityPubオブジェクトを参照します。',
|
|
||||||
'en-US': 'Browse to the ActivityPub object by specifying the URI.'
|
|
||||||
},
|
|
||||||
|
|
||||||
requireCredential: false as const,
|
requireCredential: false as const,
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
uri: {
|
uri: {
|
||||||
validator: $.str,
|
validator: $.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ActivityPubオブジェクトのURI'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -15,19 +15,11 @@ import { isActor, isPost, getApId } from '../../../../remote/activitypub/type';
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ['federation'],
|
tags: ['federation'],
|
||||||
|
|
||||||
desc: {
|
|
||||||
'ja-JP': 'URIを指定してActivityPubオブジェクトを参照します。',
|
|
||||||
'en-US': 'Browse to the ActivityPub object by specifying the URI.'
|
|
||||||
},
|
|
||||||
|
|
||||||
requireCredential: false as const,
|
requireCredential: false as const,
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
uri: {
|
uri: {
|
||||||
validator: $.str,
|
validator: $.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'ActivityPubオブジェクトのURI'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -10,44 +10,23 @@ export const meta = {
|
||||||
|
|
||||||
requireCredential: false as const,
|
requireCredential: false as const,
|
||||||
|
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アプリを作成します。',
|
|
||||||
'en-US': 'Create a application.'
|
|
||||||
},
|
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
name: {
|
name: {
|
||||||
validator: $.str,
|
validator: $.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アプリの名前',
|
|
||||||
'en-US': 'Name of application'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
description: {
|
description: {
|
||||||
validator: $.str,
|
validator: $.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アプリの説明',
|
|
||||||
'en-US': 'Description of application'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
permission: {
|
permission: {
|
||||||
validator: $.arr($.str).unique(),
|
validator: $.arr($.str).unique(),
|
||||||
desc: {
|
|
||||||
'ja-JP': 'このアプリに割り当てる権限(権限については"Permissions"を参照)',
|
|
||||||
'en-US': 'Permissions assigned to this app (see "Permissions" for the permissions)'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// TODO: Check it is valid url
|
// TODO: Check it is valid url
|
||||||
callbackUrl: {
|
callbackUrl: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
default: null as any,
|
default: null,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アプリ認証時にコールバックするURL',
|
|
||||||
'en-US': 'URL to call back at app authentication'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -11,18 +11,9 @@ export const meta = {
|
||||||
|
|
||||||
requireCredential: false as const,
|
requireCredential: false as const,
|
||||||
|
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アプリを認証するためのトークンを作成します。',
|
|
||||||
'en-US': 'Generate a token for authorize application.'
|
|
||||||
},
|
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
appSecret: {
|
appSecret: {
|
||||||
validator: $.str,
|
validator: $.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'アプリケーションのシークレットキー',
|
|
||||||
'en-US': 'The secret key of your application.'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -33,13 +24,11 @@ export const meta = {
|
||||||
token: {
|
token: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
description: 'セッションのトークン'
|
|
||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
type: 'string' as const,
|
type: 'string' as const,
|
||||||
optional: false as const, nullable: false as const,
|
optional: false as const, nullable: false as const,
|
||||||
format: 'url',
|
format: 'url',
|
||||||
description: 'セッションのURL'
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -11,10 +11,6 @@ export const meta = {
|
||||||
params: {
|
params: {
|
||||||
token: {
|
token: {
|
||||||
validator: $.str,
|
validator: $.str,
|
||||||
desc: {
|
|
||||||
'ja-JP': 'セッションのトークン',
|
|
||||||
'en-US': 'The token of a session.'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue