forked from naskya/firefish
Firefish v1.0.5-dev21
This commit is contained in:
parent
c3dc2db3eb
commit
b98707c37b
518 changed files with 1073 additions and 1179 deletions
|
@ -168,11 +168,11 @@ cacheRemoteFiles: "Cache remote files"
|
||||||
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded
|
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded
|
||||||
directly from the remote server. Disabling this will decrease storage usage, but
|
directly from the remote server. Disabling this will decrease storage usage, but
|
||||||
increase traffic, as thumbnails will not be generated."
|
increase traffic, as thumbnails will not be generated."
|
||||||
flagAsBot: "Mark this account as a bot"
|
flagAsBot: "Mark this account as automated"
|
||||||
flagAsBotDescription: "Enable this option if this account is controlled by a program.
|
flagAsBotDescription: "Enable this option if this account is controlled by a program.
|
||||||
If enabled, it will act as a flag for other developers to prevent endless interaction
|
If enabled, it will act as a flag for other developers to prevent endless interaction
|
||||||
chains with other bots and adjust Firefish's internal systems to treat this account
|
chains with other automated accounts and adjust Firefish's internal systems to treat this
|
||||||
as a bot."
|
account as an automated account."
|
||||||
flagAsCat: "Are you a cat? 😺"
|
flagAsCat: "Are you a cat? 😺"
|
||||||
flagAsCatDescription: "You'll get cat ears and speak like a cat!"
|
flagAsCatDescription: "You'll get cat ears and speak like a cat!"
|
||||||
flagSpeakAsCat: "Speak as a cat"
|
flagSpeakAsCat: "Speak as a cat"
|
||||||
|
@ -1117,7 +1117,7 @@ noGraze: "Please disable the \"Graze for Mastodon\" browser extension, as it int
|
||||||
with Firefish."
|
with Firefish."
|
||||||
silencedWarning: "This page is showing because these users are from servers your admin
|
silencedWarning: "This page is showing because these users are from servers your admin
|
||||||
silenced, so they may potentially be spam."
|
silenced, so they may potentially be spam."
|
||||||
isBot: "This account is a bot"
|
isBot: "This account is automated"
|
||||||
isLocked: "This account has follow approvals"
|
isLocked: "This account has follow approvals"
|
||||||
isModerator: "Moderator"
|
isModerator: "Moderator"
|
||||||
isAdmin: "Administrator"
|
isAdmin: "Administrator"
|
||||||
|
|
|
@ -114,7 +114,7 @@ you: "Vous"
|
||||||
clickToShow: "Cliquer pour afficher"
|
clickToShow: "Cliquer pour afficher"
|
||||||
sensitive: "Contenu sensible"
|
sensitive: "Contenu sensible"
|
||||||
add: "Ajouter"
|
add: "Ajouter"
|
||||||
reaction: "Réactions"
|
reaction: "Réaction"
|
||||||
reactionSetting: "Réactions à afficher dans le sélecteur de réactions"
|
reactionSetting: "Réactions à afficher dans le sélecteur de réactions"
|
||||||
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser
|
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser
|
||||||
« + » pour ajouter."
|
« + » pour ajouter."
|
||||||
|
@ -1148,7 +1148,7 @@ _wordMute:
|
||||||
langDescription: Cacher du fil de publication les publications qui correspondent
|
langDescription: Cacher du fil de publication les publications qui correspondent
|
||||||
à ces langues.
|
à ces langues.
|
||||||
muteLangs: Langages filtrés
|
muteLangs: Langages filtrés
|
||||||
muteLangsDescription: Séparer avec des espaces or des retours à la ligne pour une
|
muteLangsDescription: Séparer avec des espaces ou des retours à la ligne pour une
|
||||||
condition OU (OR).
|
condition OU (OR).
|
||||||
_instanceMute:
|
_instanceMute:
|
||||||
instanceMuteDescription2: "Séparer avec des sauts de lignes"
|
instanceMuteDescription2: "Séparer avec des sauts de lignes"
|
||||||
|
@ -2225,3 +2225,14 @@ indexable: Indexable
|
||||||
languageForTranslation: Langage post-traduction
|
languageForTranslation: Langage post-traduction
|
||||||
vibrate: Jouer les vibrations
|
vibrate: Jouer les vibrations
|
||||||
clickToShowPatterns: Cliquer pour montrer les patrons de modules
|
clickToShowPatterns: Cliquer pour montrer les patrons de modules
|
||||||
|
iconSet: Jeu d'icônes
|
||||||
|
_iconSets:
|
||||||
|
fill: Rempli
|
||||||
|
regular: Normal
|
||||||
|
bold: Gras
|
||||||
|
duotone: Deux tons
|
||||||
|
light: Fin
|
||||||
|
reactions: Réactions
|
||||||
|
replies: Réponses
|
||||||
|
quotes: Citations
|
||||||
|
renotes: Boosts
|
||||||
|
|
|
@ -148,11 +148,11 @@ cacheRemoteFiles: "Tembolokkan berkas remote"
|
||||||
cacheRemoteFilesDescription: "Ketika pengaturan ini dinonaktifkan, berkas luar akan
|
cacheRemoteFilesDescription: "Ketika pengaturan ini dinonaktifkan, berkas luar akan
|
||||||
dimuat langsung dari server luar. Menonaktifkan ini akan mengurangi penggunaan penyimpanan,
|
dimuat langsung dari server luar. Menonaktifkan ini akan mengurangi penggunaan penyimpanan,
|
||||||
tapi dapat menyebabkan meningkatkan lalu lintas, mengingat keluku tidak akan dihasilkan."
|
tapi dapat menyebabkan meningkatkan lalu lintas, mengingat keluku tidak akan dihasilkan."
|
||||||
flagAsBot: "Atur akun ini sebagai Bot"
|
flagAsBot: "Tandai akun ini sebagai akun otomatis"
|
||||||
flagAsBotDescription: "Jika akun ini dikendalikan oleh program, tetapkanlah opsi ini.
|
flagAsBotDescription: "Jika akun ini dikendalikan oleh program, aktifkan opsi ini.
|
||||||
Jika diaktifkan, ini akan berfungsi sebagai tanda bagi pengembang lain untuk mencegah
|
Jika diaktifkan, ini akan berfungsi sebagai tanda bagi pengembang lain untuk mencegah
|
||||||
interaksi berantai dengan bot lain dan menyesuaikan sistem internal Firefish untuk
|
interaksi berantai dengan akun otomatis lain dan menyesuaikan sistem internal Firefish
|
||||||
memperlakukan akun ini sebagai bot."
|
untuk memperlakukan akun ini sebagai akun otomatis."
|
||||||
flagAsCat: "Atur akun ini sebagai kucing"
|
flagAsCat: "Atur akun ini sebagai kucing"
|
||||||
flagAsCatDescription: "Kamu akan mendapatkan telinga kucing dan berbicara seperti
|
flagAsCatDescription: "Kamu akan mendapatkan telinga kucing dan berbicara seperti
|
||||||
seekor kucing!"
|
seekor kucing!"
|
||||||
|
@ -2005,7 +2005,7 @@ signupsDisabled: Pendaftaran ke server ini nonaktif, tapi kamu dapat selalu mend
|
||||||
ke server lain! Jika kamu memiliki kode undangan server ini, harap masukkan di bawah
|
ke server lain! Jika kamu memiliki kode undangan server ini, harap masukkan di bawah
|
||||||
ini.
|
ini.
|
||||||
enableCustomKaTeXMacro: Aktifkan makro KaTeX khusus
|
enableCustomKaTeXMacro: Aktifkan makro KaTeX khusus
|
||||||
isBot: Akun ini bot
|
isBot: Akun ini akun otomatis
|
||||||
customMOTD: MOTD khusus (pesan layar percik)
|
customMOTD: MOTD khusus (pesan layar percik)
|
||||||
recommendedInstancesDescription: Server yang direkomendasikan dipisahkan dengan garis
|
recommendedInstancesDescription: Server yang direkomendasikan dipisahkan dengan garis
|
||||||
baru untuk tampil di linimasa rekomendasi.
|
baru untuk tampil di linimasa rekomendasi.
|
||||||
|
|
|
@ -147,11 +147,11 @@ cacheRemoteFiles: "Mantieni i file remoti nella cache"
|
||||||
cacheRemoteFilesDescription: "Disabilitando questa opzione, i file remoti verranno
|
cacheRemoteFilesDescription: "Disabilitando questa opzione, i file remoti verranno
|
||||||
scaricati direttamente dal loro server. L'opzione permette di risparmiare spazio
|
scaricati direttamente dal loro server. L'opzione permette di risparmiare spazio
|
||||||
ma aumenta il traffico di rete e non verranno generate anteprime."
|
ma aumenta il traffico di rete e non verranno generate anteprime."
|
||||||
flagAsBot: "Questo account è un bot"
|
flagAsBot: "Questo account è automatizzato"
|
||||||
flagAsBotDescription: "Se l'account esegue principalmente operazioni automatiche,
|
flagAsBotDescription: "Se l'account esegue principalmente operazioni automatiche,
|
||||||
attiva quest'opzione. Quando attivata, opera come un segnalatore per gli altri sviluppatori
|
attiva quest'opzione. Quando attivata, permette agli sviluppatori di prevenire catene
|
||||||
allo scopo di prevenire catene d’interazione senza fine con altri bot, e di adeguare
|
d’interazione senza fine con altri account automatizzati. Inoltre imposta Firefish
|
||||||
i sistemi interni di Firefish perché trattino questo account come un bot."
|
perché tratti questo account come automatizzato."
|
||||||
flagAsCat: "Sei un gatto? 😺"
|
flagAsCat: "Sei un gatto? 😺"
|
||||||
flagAsCatDescription: "Ti compariranno le orecchie e parlerai come un gatto!"
|
flagAsCatDescription: "Ti compariranno le orecchie e parlerai come un gatto!"
|
||||||
autoAcceptFollowed: "Accetta in automatico i follow dagli account che segui"
|
autoAcceptFollowed: "Accetta in automatico i follow dagli account che segui"
|
||||||
|
@ -2079,7 +2079,7 @@ noGraze: Per favore disattiva l'estenzione del browser "Graze for Mastodon", per
|
||||||
interferisce con Firefish.
|
interferisce con Firefish.
|
||||||
silencedWarning: Vedi questa pagina perché gli utenti sono su un server che il tuo
|
silencedWarning: Vedi questa pagina perché gli utenti sono su un server che il tuo
|
||||||
admin ha silenziato, quindi potrebbero essere spam.
|
admin ha silenziato, quindi potrebbero essere spam.
|
||||||
isBot: Questo account è un bot
|
isBot: Questo account è automatizzato
|
||||||
isLocked: Serve una approvazione per seguire questo account
|
isLocked: Serve una approvazione per seguire questo account
|
||||||
moveFromDescription: Questa operazione crea un alias del vecchio account in modo che
|
moveFromDescription: Questa operazione crea un alias del vecchio account in modo che
|
||||||
tu possa migrare su questo nuovo account. Fallo PRIMA di migrare il tuo vecchio
|
tu possa migrare su questo nuovo account. Fallo PRIMA di migrare il tuo vecchio
|
||||||
|
|
|
@ -149,8 +149,8 @@ addEmoji: "絵文字を追加"
|
||||||
settingGuide: "おすすめ設定"
|
settingGuide: "おすすめ設定"
|
||||||
cacheRemoteFiles: "リモートのファイルをキャッシュする"
|
cacheRemoteFiles: "リモートのファイルをキャッシュする"
|
||||||
cacheRemoteFilesDescription: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクします。サーバーのストレージを節約できますが、サムネイルが生成されないので通信量が増加します。"
|
cacheRemoteFilesDescription: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクします。サーバーのストレージを節約できますが、サムネイルが生成されないので通信量が増加します。"
|
||||||
flagAsBot: "Botとして設定"
|
flagAsBot: "自動化されたアカウントとして設定"
|
||||||
flagAsBotDescription: "このアカウントがBotである場合は、この設定をオンにします。オンにすると、反応の連鎖を防ぐためのフラグとして他の開発者に役立ったり、Firefishのシステム上での扱いがBotに合ったものになります。"
|
flagAsBotDescription: "このアカウントが自動で投稿する場合は、この設定をオンにします。オンにすると、反応の連鎖を防ぐためのフラグとして他の開発者に役立ったり、Firefishのシステム上での扱いが自動で投稿するアカウントに合ったものになります。"
|
||||||
flagAsCat: "あなたは…猫?😺"
|
flagAsCat: "あなたは…猫?😺"
|
||||||
flagAsCatDescription: "このアカウントが猫であることを示す猫モードを有効にするには、このフラグをオンにします。"
|
flagAsCatDescription: "このアカウントが猫であることを示す猫モードを有効にするには、このフラグをオンにします。"
|
||||||
flagSpeakAsCat: "猫語で話す"
|
flagSpeakAsCat: "猫語で話す"
|
||||||
|
@ -1968,7 +1968,7 @@ isModerator: モデレーター
|
||||||
audio: 音声
|
audio: 音声
|
||||||
image: 画像
|
image: 画像
|
||||||
video: 動画
|
video: 動画
|
||||||
isBot: このアカウントはBotです
|
isBot: このアカウントは自動で投稿します
|
||||||
isLocked: このアカウントのフォローは承認制です
|
isLocked: このアカウントのフォローは承認制です
|
||||||
isAdmin: 管理者
|
isAdmin: 管理者
|
||||||
isPatron: Firefish 後援者
|
isPatron: Firefish 後援者
|
||||||
|
|
|
@ -2151,3 +2151,14 @@ deletePasskeysConfirm: Это действие безвозвратно удал
|
||||||
на этом аккаунте. Продолжить?
|
на этом аккаунте. Продолжить?
|
||||||
inputNotMatch: Введённые данные не совпадают
|
inputNotMatch: Введённые данные не совпадают
|
||||||
addRe: Добавить "re:" в начале комментария в ответ на запись с предупреждением о содержимом
|
addRe: Добавить "re:" в начале комментария в ответ на запись с предупреждением о содержимом
|
||||||
|
detectPostLanguage: Автоматическое определение языка и отображение кнопки перевода
|
||||||
|
для сообщений на иностранных языках
|
||||||
|
indexableDescription: Разрешить встроенной поисковой системе искать ваши публичные
|
||||||
|
записи
|
||||||
|
reactions: Реакции
|
||||||
|
indexable: Индексируемый(-ая)
|
||||||
|
languageForTranslation: Язык перевода поста
|
||||||
|
replies: Ответы
|
||||||
|
quotes: Цитаты
|
||||||
|
clickToShowPatterns: Нажмите, чтобы показать модуль шаблонов
|
||||||
|
renotes: Репосты
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
3b3320d5323648a5ad9a9c3e12561613e3b89a6c
|
465a585f47037ce26834587429f0bd341e35f76f
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "firefish",
|
"name": "firefish",
|
||||||
"version": "1.0.5-dev20",
|
"version": "1.0.5-dev21",
|
||||||
"codename": "aqua",
|
"codename": "aqua",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
"ajv": "8.12.0",
|
"ajv": "8.12.0",
|
||||||
"archiver": "6.0.1",
|
"archiver": "6.0.1",
|
||||||
"argon2": "0.31.2",
|
"argon2": "0.31.2",
|
||||||
"aws-sdk": "2.1496.0",
|
"aws-sdk": "2.1498.0",
|
||||||
"axios": "1.6.2",
|
"axios": "1.6.2",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"blurhash": "2.0.5",
|
"blurhash": "2.0.5",
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
"nsfwjs": "2.4.2",
|
"nsfwjs": "2.4.2",
|
||||||
"opencc-js": "1.0.5",
|
"opencc-js": "1.0.5",
|
||||||
"os-utils": "0.0.14",
|
"os-utils": "0.0.14",
|
||||||
"otpauth": "9.1.5",
|
"otpauth": "9.2.0",
|
||||||
"parse5": "7.1.2",
|
"parse5": "7.1.2",
|
||||||
"pg": "8.11.3",
|
"pg": "8.11.3",
|
||||||
"private-ip": "3.0.1",
|
"private-ip": "3.0.1",
|
||||||
|
@ -135,7 +135,7 @@
|
||||||
"xev": "3.0.2"
|
"xev": "3.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@swc/cli": "0.1.62",
|
"@swc/cli": "0.1.63",
|
||||||
"@swc/core": "1.3.78",
|
"@swc/core": "1.3.78",
|
||||||
"@types/adm-zip": "0.5.4",
|
"@types/adm-zip": "0.5.4",
|
||||||
"@types/bcryptjs": "2.4.6",
|
"@types/bcryptjs": "2.4.6",
|
||||||
|
@ -158,6 +158,8 @@
|
||||||
"@types/node-fetch": "2.6.9",
|
"@types/node-fetch": "2.6.9",
|
||||||
"@types/nodemailer": "6.4.14",
|
"@types/nodemailer": "6.4.14",
|
||||||
"@types/oauth": "0.9.4",
|
"@types/oauth": "0.9.4",
|
||||||
|
"@types/opencc-js": "1.0.3",
|
||||||
|
"@types/pg": "8.10.9",
|
||||||
"@types/probe-image-size": "7.2.3",
|
"@types/probe-image-size": "7.2.3",
|
||||||
"@types/pug": "2.0.9",
|
"@types/pug": "2.0.9",
|
||||||
"@types/punycode": "2.1.2",
|
"@types/punycode": "2.1.2",
|
||||||
|
@ -169,6 +171,7 @@
|
||||||
"@types/sanitize-html": "2.9.4",
|
"@types/sanitize-html": "2.9.4",
|
||||||
"@types/semver": "7.5.5",
|
"@types/semver": "7.5.5",
|
||||||
"@types/sinonjs__fake-timers": "8.1.5",
|
"@types/sinonjs__fake-timers": "8.1.5",
|
||||||
|
"@types/syslog-pro": "1.0.3",
|
||||||
"@types/tinycolor2": "1.4.6",
|
"@types/tinycolor2": "1.4.6",
|
||||||
"@types/tmp": "0.2.6",
|
"@types/tmp": "0.2.6",
|
||||||
"@types/uuid": "9.0.7",
|
"@types/uuid": "9.0.7",
|
||||||
|
|
|
@ -10,10 +10,9 @@ import semver from "semver";
|
||||||
import Logger from "@/services/logger.js";
|
import Logger from "@/services/logger.js";
|
||||||
import loadConfig from "@/config/load.js";
|
import loadConfig from "@/config/load.js";
|
||||||
import type { Config } from "@/config/types.js";
|
import type { Config } from "@/config/types.js";
|
||||||
import { lessThan } from "@/prelude/array.js";
|
import { envOption } from "@/env.js";
|
||||||
import { envOption } from "../env.js";
|
|
||||||
import { showMachineInfo } from "@/misc/show-machine-info.js";
|
import { showMachineInfo } from "@/misc/show-machine-info.js";
|
||||||
import { db, initDb } from "../db/postgre.js";
|
import { db, initDb } from "@/db/postgre.js";
|
||||||
|
|
||||||
const _filename = fileURLToPath(import.meta.url);
|
const _filename = fileURLToPath(import.meta.url);
|
||||||
const _dirname = dirname(_filename);
|
const _dirname = dirname(_filename);
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import cluster from "node:cluster";
|
import cluster from "node:cluster";
|
||||||
import { initDb } from "../db/postgre.js";
|
import { initDb } from "@/db/postgre.js";
|
||||||
import config from "@/config/index.js";
|
|
||||||
import os from "node:os";
|
import os from "node:os";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Xev from "xev";
|
import Xev from "xev";
|
||||||
import { deliverQueue, inboxQueue } from "../queue/queues.js";
|
import { deliverQueue, inboxQueue } from "@/queue/queues.js";
|
||||||
|
|
||||||
const ev = new Xev();
|
const ev = new Xev();
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ import si from "systeminformation";
|
||||||
import Xev from "xev";
|
import Xev from "xev";
|
||||||
import * as osUtils from "os-utils";
|
import * as osUtils from "os-utils";
|
||||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
import { fetchMeta } from "@/misc/fetch-meta.js";
|
||||||
import meilisearch from "../db/meilisearch.js";
|
import meilisearch from "@/db/meilisearch.js";
|
||||||
|
|
||||||
const ev = new Xev();
|
const ev = new Xev();
|
||||||
|
|
||||||
|
|
|
@ -74,9 +74,10 @@ import { UserIp } from "@/models/entities/user-ip.js";
|
||||||
import { NoteEdit } from "@/models/entities/note-edit.js";
|
import { NoteEdit } from "@/models/entities/note-edit.js";
|
||||||
|
|
||||||
import { entities as charts } from "@/services/chart/entities.js";
|
import { entities as charts } from "@/services/chart/entities.js";
|
||||||
import { envOption } from "../env.js";
|
|
||||||
import { dbLogger } from "./logger.js";
|
import { dbLogger } from "./logger.js";
|
||||||
import { redisClient } from "./redis.js";
|
import { redisClient } from "./redis.js";
|
||||||
|
|
||||||
|
// TODO?: should we avoid importing things from built directory?
|
||||||
import { nativeInitDatabase } from "native-utils/built/index.js";
|
import { nativeInitDatabase } from "native-utils/built/index.js";
|
||||||
|
|
||||||
const sqlLogger = dbLogger.createSubLogger("sql", "gray", false);
|
const sqlLogger = dbLogger.createSubLogger("sql", "gray", false);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { redisClient } from "../db/redis.js";
|
import { redisClient } from "@/db/redis.js";
|
||||||
import { Mutex } from "redis-semaphore";
|
import { Mutex } from "redis-semaphore";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import fetch from "node-fetch";
|
import fetch from "node-fetch";
|
||||||
import { URLSearchParams } from "node:url";
|
import { URLSearchParams } from "node:url";
|
||||||
import { getAgentByUrl } from "./fetch.js";
|
import { getAgentByUrl } from "@/misc/fetch.js";
|
||||||
import config from "@/config/index.js";
|
import config from "@/config/index.js";
|
||||||
|
|
||||||
export async function verifyRecaptcha(secret: string, response: string) {
|
export async function verifyRecaptcha(secret: string, response: string) {
|
||||||
|
|
|
@ -4,9 +4,9 @@ import type { User } from "@/models/entities/user.js";
|
||||||
import { Blockings, Followings, UserProfiles } from "@/models/index.js";
|
import { Blockings, Followings, UserProfiles } from "@/models/index.js";
|
||||||
import { getFullApAccount } from "./convert-host.js";
|
import { getFullApAccount } from "./convert-host.js";
|
||||||
import * as Acct from "@/misc/acct.js";
|
import * as Acct from "@/misc/acct.js";
|
||||||
import type { Packed } from "./schema.js";
|
import type { Packed } from "@/misc/schema.js";
|
||||||
import { Cache } from "./cache.js";
|
import { Cache } from "@/misc/cache.js";
|
||||||
import { getWordHardMute } from "./check-word-mute.js";
|
import { getWordHardMute } from "@/misc/check-word-mute.js";
|
||||||
|
|
||||||
const blockingCache = new Cache<User["id"][]>("blocking", 60 * 5);
|
const blockingCache = new Cache<User["id"][]>("blocking", 60 * 5);
|
||||||
const mutedWordsCache = new Cache<string[][] | undefined>("mutedWords", 60 * 5);
|
const mutedWordsCache = new Cache<string[][] | undefined>("mutedWords", 60 * 5);
|
||||||
|
|
|
@ -7,7 +7,6 @@ import {
|
||||||
ManyToOne,
|
ManyToOne,
|
||||||
} from "typeorm";
|
} from "typeorm";
|
||||||
import { User } from "./user.js";
|
import { User } from "./user.js";
|
||||||
import { Note } from "./note.js";
|
|
||||||
import { id } from "../id.js";
|
import { id } from "../id.js";
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
|
|
|
@ -1,14 +1,5 @@
|
||||||
import {
|
import { Entity, Index, Column, PrimaryGeneratedColumn } from "typeorm";
|
||||||
PrimaryColumn,
|
|
||||||
Entity,
|
|
||||||
Index,
|
|
||||||
JoinColumn,
|
|
||||||
Column,
|
|
||||||
ManyToOne,
|
|
||||||
PrimaryGeneratedColumn,
|
|
||||||
} from "typeorm";
|
|
||||||
import { id } from "../id.js";
|
import { id } from "../id.js";
|
||||||
import { Note } from "./note.js";
|
|
||||||
import type { User } from "./user.js";
|
import type { User } from "./user.js";
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
import {} from "typeorm";
|
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
import { Announcement } from "./entities/announcement.js";
|
import { Announcement } from "./entities/announcement.js";
|
||||||
import { AnnouncementRead } from "./entities/announcement-read.js";
|
import { AnnouncementRead } from "./entities/announcement-read.js";
|
||||||
import { Instance } from "./entities/instance.js";
|
|
||||||
import { Poll } from "./entities/poll.js";
|
import { Poll } from "./entities/poll.js";
|
||||||
import { PollVote } from "./entities/poll-vote.js";
|
import { PollVote } from "./entities/poll-vote.js";
|
||||||
import { Meta } from "./entities/meta.js";
|
import { Meta } from "./entities/meta.js";
|
||||||
|
|
|
@ -2,12 +2,10 @@ import { db } from "@/db/postgre.js";
|
||||||
import { DriveFile } from "@/models/entities/drive-file.js";
|
import { DriveFile } from "@/models/entities/drive-file.js";
|
||||||
import type { User } from "@/models/entities/user.js";
|
import type { User } from "@/models/entities/user.js";
|
||||||
import { toPuny } from "@/misc/convert-host.js";
|
import { toPuny } from "@/misc/convert-host.js";
|
||||||
import { awaitAll, Promiseable } from "@/prelude/await-all.js";
|
import { awaitAll } from "@/prelude/await-all.js";
|
||||||
import type { Packed } from "@/misc/schema.js";
|
import type { Packed } from "@/misc/schema.js";
|
||||||
import config from "@/config/index.js";
|
import config from "@/config/index.js";
|
||||||
import { query, appendQuery } from "@/prelude/url.js";
|
import { query, appendQuery } from "@/prelude/url.js";
|
||||||
import { Meta } from "@/models/entities/meta.js";
|
|
||||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
|
||||||
import { Users, DriveFolders } from "../index.js";
|
import { Users, DriveFolders } from "../index.js";
|
||||||
import { deepClone } from "@/misc/clone.js";
|
import { deepClone } from "@/misc/clone.js";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { In, Repository } from "typeorm";
|
import { In } from "typeorm";
|
||||||
import { Notification } from "@/models/entities/notification.js";
|
import { Notification } from "@/models/entities/notification.js";
|
||||||
import { awaitAll } from "@/prelude/await-all.js";
|
import { awaitAll } from "@/prelude/await-all.js";
|
||||||
import type { Packed } from "@/misc/schema.js";
|
import type { Packed } from "@/misc/schema.js";
|
||||||
|
@ -6,7 +6,6 @@ import type { Note } from "@/models/entities/note.js";
|
||||||
import type { NoteReaction } from "@/models/entities/note-reaction.js";
|
import type { NoteReaction } from "@/models/entities/note-reaction.js";
|
||||||
import type { User } from "@/models/entities/user.js";
|
import type { User } from "@/models/entities/user.js";
|
||||||
import { aggregateNoteEmojis, prefetchEmojis } from "@/misc/populate-emojis.js";
|
import { aggregateNoteEmojis, prefetchEmojis } from "@/misc/populate-emojis.js";
|
||||||
import { notificationTypes } from "@/types.js";
|
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
import {
|
import {
|
||||||
Users,
|
Users,
|
||||||
|
|
|
@ -7,7 +7,6 @@ import type { Packed } from "@/misc/schema.js";
|
||||||
import type { Promiseable } from "@/prelude/await-all.js";
|
import type { Promiseable } from "@/prelude/await-all.js";
|
||||||
import { awaitAll } from "@/prelude/await-all.js";
|
import { awaitAll } from "@/prelude/await-all.js";
|
||||||
import { populateEmojis } from "@/misc/populate-emojis.js";
|
import { populateEmojis } from "@/misc/populate-emojis.js";
|
||||||
import { getAntennas } from "@/misc/antenna-cache.js";
|
|
||||||
import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from "@/const.js";
|
import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from "@/const.js";
|
||||||
import { Cache } from "@/misc/cache.js";
|
import { Cache } from "@/misc/cache.js";
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
|
@ -6,7 +6,7 @@ import { Notes } from "@/models/index.js";
|
||||||
import { MoreThan } from "typeorm";
|
import { MoreThan } from "typeorm";
|
||||||
import { index } from "@/services/note/create.js";
|
import { index } from "@/services/note/create.js";
|
||||||
import { Note } from "@/models/entities/note.js";
|
import { Note } from "@/models/entities/note.js";
|
||||||
import meilisearch from "../../../db/meilisearch.js";
|
import meilisearch from "@/db/meilisearch.js";
|
||||||
|
|
||||||
const logger = queueLogger.createSubLogger("index-all-notes");
|
const logger = queueLogger.createSubLogger("index-all-notes");
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
import type Bull from "bull";
|
import type Bull from "bull";
|
||||||
import * as fs from "node:fs";
|
import * as fs from "node:fs";
|
||||||
|
|
||||||
import { ulid } from "ulid";
|
|
||||||
import mime from "mime-types";
|
import mime from "mime-types";
|
||||||
import archiver from "archiver";
|
import archiver from "archiver";
|
||||||
import { queueLogger } from "../../logger.js";
|
import { queueLogger } from "../../logger.js";
|
||||||
import { addFile } from "@/services/drive/add-file.js";
|
import { addFile } from "@/services/drive/add-file.js";
|
||||||
import { format as dateFormat } from "date-fns";
|
import { format as dateFormat } from "date-fns";
|
||||||
import { Users, Emojis } from "@/models/index.js";
|
import { Users, Emojis } from "@/models/index.js";
|
||||||
import {} from "@/queue/types.js";
|
|
||||||
import { createTemp, createTempDir } from "@/misc/create-temp.js";
|
import { createTemp, createTempDir } from "@/misc/create-temp.js";
|
||||||
import { downloadUrl } from "@/misc/download-url.js";
|
import { downloadUrl } from "@/misc/download-url.js";
|
||||||
import config from "@/config/index.js";
|
import config from "@/config/index.js";
|
||||||
|
|
|
@ -5,7 +5,7 @@ import * as Acct from "@/misc/acct.js";
|
||||||
import { resolveUser } from "@/remote/resolve-user.js";
|
import { resolveUser } from "@/remote/resolve-user.js";
|
||||||
import { downloadTextFile } from "@/misc/download-text-file.js";
|
import { downloadTextFile } from "@/misc/download-text-file.js";
|
||||||
import { isSelfHost, toPuny } from "@/misc/convert-host.js";
|
import { isSelfHost, toPuny } from "@/misc/convert-host.js";
|
||||||
import { Users, DriveFiles, Blockings } from "@/models/index.js";
|
import { Users, DriveFiles } from "@/models/index.js";
|
||||||
import type { DbUserImportJobData } from "@/queue/types.js";
|
import type { DbUserImportJobData } from "@/queue/types.js";
|
||||||
import block from "@/services/blocking/create.js";
|
import block from "@/services/blocking/create.js";
|
||||||
import { IsNull } from "typeorm";
|
import { IsNull } from "typeorm";
|
||||||
|
|
|
@ -5,7 +5,6 @@ import { queueLogger } from "../../logger.js";
|
||||||
import type Bull from "bull";
|
import type Bull from "bull";
|
||||||
import { htmlToMfm } from "@/remote/activitypub/misc/html-to-mfm.js";
|
import { htmlToMfm } from "@/remote/activitypub/misc/html-to-mfm.js";
|
||||||
import { resolveNote } from "@/remote/activitypub/models/note.js";
|
import { resolveNote } from "@/remote/activitypub/models/note.js";
|
||||||
import { Note } from "@/models/entities/note.js";
|
|
||||||
import { uploadFromUrl } from "@/services/drive/upload-from-url.js";
|
import { uploadFromUrl } from "@/services/drive/upload-from-url.js";
|
||||||
import type { DriveFile } from "@/models/entities/drive-file.js";
|
import type { DriveFile } from "@/models/entities/drive-file.js";
|
||||||
import { Notes, NoteEdits } from "@/models/index.js";
|
import { Notes, NoteEdits } from "@/models/index.js";
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import type Bull from "bull";
|
import type Bull from "bull";
|
||||||
import { Notes, PollVotes } from "@/models/index.js";
|
import { Notes, PollVotes } from "@/models/index.js";
|
||||||
import { queueLogger } from "../logger.js";
|
// import { queueLogger } from "../logger.js";
|
||||||
import type { EndedPollNotificationJobData } from "@/queue/types.js";
|
import type { EndedPollNotificationJobData } from "@/queue/types.js";
|
||||||
import { createNotification } from "@/services/create-notification.js";
|
import { createNotification } from "@/services/create-notification.js";
|
||||||
import { deliverQuestionUpdate } from "@/services/note/polls/update.js";
|
import { deliverQuestionUpdate } from "@/services/note/polls/update.js";
|
||||||
|
|
||||||
const logger = queueLogger.createSubLogger("ended-poll-notification");
|
// unused
|
||||||
|
// const logger = queueLogger.createSubLogger("ended-poll-notification");
|
||||||
|
|
||||||
export async function endedPollNotification(
|
export async function endedPollNotification(
|
||||||
job: Bull.Job<EndedPollNotificationJobData>,
|
job: Bull.Job<EndedPollNotificationJobData>,
|
||||||
|
|
|
@ -4,7 +4,6 @@ import { UserProfiles } from "@/models/index.js";
|
||||||
import { Not } from "typeorm";
|
import { Not } from "typeorm";
|
||||||
import { queueLogger } from "../../logger.js";
|
import { queueLogger } from "../../logger.js";
|
||||||
import { verifyLink } from "@/services/fetch-rel-me.js";
|
import { verifyLink } from "@/services/fetch-rel-me.js";
|
||||||
import config from "@/config/index.js";
|
|
||||||
|
|
||||||
const logger = queueLogger.createSubLogger("verify-links");
|
const logger = queueLogger.createSubLogger("verify-links");
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import { URL } from "node:url";
|
|
||||||
import type Bull from "bull";
|
import type Bull from "bull";
|
||||||
import Logger from "@/services/logger.js";
|
import Logger from "@/services/logger.js";
|
||||||
import type { WebhookDeliverJobData } from "../types.js";
|
import type { WebhookDeliverJobData } from "../types.js";
|
||||||
|
|
|
@ -8,7 +8,6 @@ import type {
|
||||||
CacheableRemoteUser,
|
CacheableRemoteUser,
|
||||||
CacheableUser,
|
CacheableUser,
|
||||||
} from "@/models/entities/user.js";
|
} from "@/models/entities/user.js";
|
||||||
import { User } from "@/models/entities/user.js";
|
|
||||||
|
|
||||||
type Visibility = "public" | "home" | "followers" | "specified";
|
type Visibility = "public" | "home" | "followers" | "specified";
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ import type { IRead } from "../type.js";
|
||||||
import { getApId } from "../type.js";
|
import { getApId } from "../type.js";
|
||||||
import { isSelfHost, extractDbHost } from "@/misc/convert-host.js";
|
import { isSelfHost, extractDbHost } from "@/misc/convert-host.js";
|
||||||
import { MessagingMessages } from "@/models/index.js";
|
import { MessagingMessages } from "@/models/index.js";
|
||||||
import { readUserMessagingMessage } from "../../../server/api/common/read-messaging-message.js";
|
import { readUserMessagingMessage } from "@/server/api/common/read-messaging-message.js";
|
||||||
|
|
||||||
export const performReadActivity = async (
|
export const performReadActivity = async (
|
||||||
actor: CacheableRemoteUser,
|
actor: CacheableRemoteUser,
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import unfollow from "@/services/following/delete.js";
|
import unfollow from "@/services/following/delete.js";
|
||||||
import cancelRequest from "@/services/following/requests/cancel.js";
|
|
||||||
import type { IAccept } from "../../type.js";
|
import type { IAccept } from "../../type.js";
|
||||||
import type { CacheableRemoteUser } from "@/models/entities/user.js";
|
import type { CacheableRemoteUser } from "@/models/entities/user.js";
|
||||||
import { Followings } from "@/models/index.js";
|
import { Followings } from "@/models/index.js";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import * as mfm from "mfm-js";
|
import * as mfm from "mfm-js";
|
||||||
import type { Note } from "@/models/entities/note.js";
|
import type { Note } from "@/models/entities/note.js";
|
||||||
import { toHtml } from "../../../mfm/to-html.js";
|
import { toHtml } from "@/mfm/to-html.js";
|
||||||
|
|
||||||
export default function (note: Note) {
|
export default function (note: Note) {
|
||||||
if (!note.text) return "";
|
if (!note.text) return "";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import type { IObject } from "../type.js";
|
import type { IObject } from "../type.js";
|
||||||
import { extractApHashtagObjects } from "../models/tag.js";
|
import { extractApHashtagObjects } from "../models/tag.js";
|
||||||
import { fromHtml } from "../../../mfm/from-html.js";
|
import { fromHtml } from "@/mfm/from-html.js";
|
||||||
|
|
||||||
export function htmlToMfm(html: string, tag?: IObject | IObject[]) {
|
export function htmlToMfm(html: string, tag?: IObject | IObject[]) {
|
||||||
const hashtagNames = extractApHashtagObjects(tag)
|
const hashtagNames = extractApHashtagObjects(tag)
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
import { uploadFromUrl } from "@/services/drive/upload-from-url.js";
|
import { uploadFromUrl } from "@/services/drive/upload-from-url.js";
|
||||||
import type { CacheableRemoteUser } from "@/models/entities/user.js";
|
import type { CacheableRemoteUser } from "@/models/entities/user.js";
|
||||||
import { IRemoteUser } from "@/models/entities/user.js";
|
|
||||||
import Resolver from "../resolver.js";
|
import Resolver from "../resolver.js";
|
||||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
import { fetchMeta } from "@/misc/fetch-meta.js";
|
||||||
import { apLogger } from "../logger.js";
|
import { apLogger } from "../logger.js";
|
||||||
import type { DriveFile } from "@/models/entities/drive-file.js";
|
import type { DriveFile } from "@/models/entities/drive-file.js";
|
||||||
import { DriveFiles, Users } from "@/models/index.js";
|
import { DriveFiles } from "@/models/index.js";
|
||||||
import { truncate } from "@/misc/truncate.js";
|
import { truncate } from "@/misc/truncate.js";
|
||||||
import { DB_MAX_IMAGE_COMMENT_LENGTH } from "@/misc/hard-limits.js";
|
import { DB_MAX_IMAGE_COMMENT_LENGTH } from "@/misc/hard-limits.js";
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import promiseLimit from "promise-limit";
|
import promiseLimit from "promise-limit";
|
||||||
import { toArray, unique } from "@/prelude/array.js";
|
import { toArray, unique } from "@/prelude/array.js";
|
||||||
import type { CacheableUser } from "@/models/entities/user.js";
|
import type { CacheableUser } from "@/models/entities/user.js";
|
||||||
import { User } from "@/models/entities/user.js";
|
|
||||||
import type { IObject, IApMention } from "../type.js";
|
import type { IObject, IApMention } from "../type.js";
|
||||||
import { isMention } from "../type.js";
|
import { isMention } from "../type.js";
|
||||||
import Resolver from "../resolver.js";
|
import Resolver from "../resolver.js";
|
||||||
|
|
|
@ -6,10 +6,7 @@ import post from "@/services/note/create.js";
|
||||||
import { extractMentionedUsers } from "@/services/note/create.js";
|
import { extractMentionedUsers } from "@/services/note/create.js";
|
||||||
import { resolvePerson } from "./person.js";
|
import { resolvePerson } from "./person.js";
|
||||||
import { resolveImage } from "./image.js";
|
import { resolveImage } from "./image.js";
|
||||||
import type {
|
import type { CacheableRemoteUser } from "@/models/entities/user.js";
|
||||||
ILocalUser,
|
|
||||||
CacheableRemoteUser,
|
|
||||||
} from "@/models/entities/user.js";
|
|
||||||
import { htmlToMfm } from "../misc/html-to-mfm.js";
|
import { htmlToMfm } from "../misc/html-to-mfm.js";
|
||||||
import { extractApHashtags } from "./tag.js";
|
import { extractApHashtags } from "./tag.js";
|
||||||
import { unique, toArray, toSingle } from "@/prelude/array.js";
|
import { unique, toArray, toSingle } from "@/prelude/array.js";
|
||||||
|
@ -52,7 +49,6 @@ import { In } from "typeorm";
|
||||||
import { DB_MAX_IMAGE_COMMENT_LENGTH } from "@/misc/hard-limits.js";
|
import { DB_MAX_IMAGE_COMMENT_LENGTH } from "@/misc/hard-limits.js";
|
||||||
import { truncate } from "@/misc/truncate.js";
|
import { truncate } from "@/misc/truncate.js";
|
||||||
import { type Size, getEmojiSize } from "@/misc/emoji-meta.js";
|
import { type Size, getEmojiSize } from "@/misc/emoji-meta.js";
|
||||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
|
||||||
import { langmap } from "@/misc/langmap.js";
|
import { langmap } from "@/misc/langmap.js";
|
||||||
|
|
||||||
const logger = apLogger;
|
const logger = apLogger;
|
||||||
|
|
|
@ -8,7 +8,6 @@ import { updateUsertags } from "@/services/update-hashtag.js";
|
||||||
import {
|
import {
|
||||||
Users,
|
Users,
|
||||||
Instances,
|
Instances,
|
||||||
DriveFiles,
|
|
||||||
Followings,
|
Followings,
|
||||||
UserProfiles,
|
UserProfiles,
|
||||||
UserPublickeys,
|
UserPublickeys,
|
||||||
|
@ -32,8 +31,8 @@ import { publishInternalEvent } from "@/services/stream.js";
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
import { apLogger } from "../logger.js";
|
import { apLogger } from "../logger.js";
|
||||||
import { htmlToMfm } from "../misc/html-to-mfm.js";
|
import { htmlToMfm } from "../misc/html-to-mfm.js";
|
||||||
import { fromHtml } from "../../../mfm/from-html.js";
|
import { fromHtml } from "@/mfm/from-html.js";
|
||||||
import type { IActor, IObject, IApPropertyValue } from "../type.js";
|
import type { IActor, IObject } from "../type.js";
|
||||||
import {
|
import {
|
||||||
isCollectionOrOrderedCollection,
|
isCollectionOrOrderedCollection,
|
||||||
isCollection,
|
isCollection,
|
||||||
|
@ -312,7 +311,9 @@ export async function createPerson(
|
||||||
await transactionalEntityManager.save(
|
await transactionalEntityManager.save(
|
||||||
new UserProfile({
|
new UserProfile({
|
||||||
userId: user.id,
|
userId: user.id,
|
||||||
description: person.summary
|
description: person._misskey_summary
|
||||||
|
? truncate(person._misskey_summary, summaryLength)
|
||||||
|
: person.summary
|
||||||
? htmlToMfm(truncate(person.summary, summaryLength), person.tag)
|
? htmlToMfm(truncate(person.summary, summaryLength), person.tag)
|
||||||
: null,
|
: null,
|
||||||
url: url,
|
url: url,
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
import config from "@/config/index.js";
|
import config from "@/config/index.js";
|
||||||
import { IObject, IActivity } from "@/remote/activitypub/type.js";
|
|
||||||
import type { ILocalUser } from "@/models/entities/user.js";
|
import type { ILocalUser } from "@/models/entities/user.js";
|
||||||
import { IRemoteUser } from "@/models/entities/user.js";
|
|
||||||
import { getInstanceActor } from "@/services/instance-actor.js";
|
|
||||||
|
|
||||||
// to anonymise reporters, the reporting actor must be a system user
|
// to anonymise reporters, the reporting actor must be a system user
|
||||||
// object has to be a uri or array of uris
|
// object has to be a uri or array of uris
|
||||||
|
|
|
@ -43,6 +43,7 @@ export const renderActivity = (x: any): IActivity | null => {
|
||||||
_misskey_talk: "misskey:_misskey_talk",
|
_misskey_talk: "misskey:_misskey_talk",
|
||||||
_misskey_reaction: "misskey:_misskey_reaction",
|
_misskey_reaction: "misskey:_misskey_reaction",
|
||||||
_misskey_votes: "misskey:_misskey_votes",
|
_misskey_votes: "misskey:_misskey_votes",
|
||||||
|
_misskey_summary: "misskey:_misskey_summary",
|
||||||
isCat: "misskey:isCat",
|
isCat: "misskey:isCat",
|
||||||
// Fedibird
|
// Fedibird
|
||||||
fedibird: "http://fedibird.com/ns#",
|
fedibird: "http://fedibird.com/ns#",
|
||||||
|
|
|
@ -74,6 +74,7 @@ export async function renderPerson(user: ILocalUser) {
|
||||||
summary: profile.description
|
summary: profile.description
|
||||||
? toHtml(mfm.parse(profile.description))
|
? toHtml(mfm.parse(profile.description))
|
||||||
: null,
|
: null,
|
||||||
|
_misskey_summary: profile.description,
|
||||||
icon: avatar ? renderImage(avatar) : null,
|
icon: avatar ? renderImage(avatar) : null,
|
||||||
image: banner ? renderImage(banner) : null,
|
image: banner ? renderImage(banner) : null,
|
||||||
tag,
|
tag,
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import config from "@/config/index.js";
|
import config from "@/config/index.js";
|
||||||
import type { User } from "@/models/entities/user.js";
|
import type { User } from "@/models/entities/user.js";
|
||||||
import { ILocalUser } from "@/models/entities/user.js";
|
|
||||||
|
|
||||||
export default (object: any, user: { id: User["id"] }) => {
|
export default (object: any, user: { id: User["id"] }) => {
|
||||||
if (object == null) return null;
|
if (object == null) return null;
|
||||||
|
|
|
@ -7,13 +7,7 @@ import { extractDbHost, isSelfHost } from "@/misc/convert-host.js";
|
||||||
import { signedGet } from "./request.js";
|
import { signedGet } from "./request.js";
|
||||||
import type { IObject, ICollection, IOrderedCollection } from "./type.js";
|
import type { IObject, ICollection, IOrderedCollection } from "./type.js";
|
||||||
import { isCollectionOrOrderedCollection, getApId } from "./type.js";
|
import { isCollectionOrOrderedCollection, getApId } from "./type.js";
|
||||||
import {
|
import { Notes, NoteReactions, Polls, Users } from "@/models/index.js";
|
||||||
FollowRequests,
|
|
||||||
Notes,
|
|
||||||
NoteReactions,
|
|
||||||
Polls,
|
|
||||||
Users,
|
|
||||||
} from "@/models/index.js";
|
|
||||||
import { parseUri } from "./db-resolver.js";
|
import { parseUri } from "./db-resolver.js";
|
||||||
import renderNote from "@/remote/activitypub/renderer/note.js";
|
import renderNote from "@/remote/activitypub/renderer/note.js";
|
||||||
import { renderLike } from "@/remote/activitypub/renderer/like.js";
|
import { renderLike } from "@/remote/activitypub/renderer/like.js";
|
||||||
|
|
|
@ -205,6 +205,7 @@ export interface IActor extends IObject {
|
||||||
};
|
};
|
||||||
"vcard:bday"?: string;
|
"vcard:bday"?: string;
|
||||||
"vcard:Address"?: string;
|
"vcard:Address"?: string;
|
||||||
|
_misskey_summary?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const isCollection = (object: IObject): object is ICollection =>
|
export const isCollection = (object: IObject): object is ICollection =>
|
||||||
|
|
|
@ -9,7 +9,7 @@ import renderKey from "@/remote/activitypub/renderer/key.js";
|
||||||
import { renderPerson } from "@/remote/activitypub/renderer/person.js";
|
import { renderPerson } from "@/remote/activitypub/renderer/person.js";
|
||||||
import renderEmoji from "@/remote/activitypub/renderer/emoji.js";
|
import renderEmoji from "@/remote/activitypub/renderer/emoji.js";
|
||||||
import { inbox as processInbox } from "@/queue/index.js";
|
import { inbox as processInbox } from "@/queue/index.js";
|
||||||
import { isSelfHost, toPuny } from "@/misc/convert-host.js";
|
import { isSelfHost } from "@/misc/convert-host.js";
|
||||||
import {
|
import {
|
||||||
Notes,
|
Notes,
|
||||||
Users,
|
Users,
|
||||||
|
@ -22,7 +22,6 @@ import { renderLike } from "@/remote/activitypub/renderer/like.js";
|
||||||
import { getUserKeypair } from "@/misc/keypair-store.js";
|
import { getUserKeypair } from "@/misc/keypair-store.js";
|
||||||
import {
|
import {
|
||||||
checkFetch,
|
checkFetch,
|
||||||
hasSignature,
|
|
||||||
getSignatureUser,
|
getSignatureUser,
|
||||||
} from "@/remote/activitypub/check-fetch.js";
|
} from "@/remote/activitypub/check-fetch.js";
|
||||||
import { getInstanceActor } from "@/services/instance-actor.js";
|
import { getInstanceActor } from "@/services/instance-actor.js";
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import { performance } from "perf_hooks";
|
import { performance } from "perf_hooks";
|
||||||
import type Koa from "koa";
|
import type Koa from "koa";
|
||||||
import type { CacheableLocalUser } from "@/models/entities/user.js";
|
import type { CacheableLocalUser } from "@/models/entities/user.js";
|
||||||
import { User } from "@/models/entities/user.js";
|
|
||||||
import type { AccessToken } from "@/models/entities/access-token.js";
|
import type { AccessToken } from "@/models/entities/access-token.js";
|
||||||
import { getIpHash } from "@/misc/get-ip-hash.js";
|
import { getIpHash } from "@/misc/get-ip-hash.js";
|
||||||
import { limiter } from "./limiter.js";
|
import { limiter } from "./limiter.js";
|
||||||
|
@ -10,7 +9,6 @@ import endpoints from "./endpoints.js";
|
||||||
import compatibility from "./compatibility.js";
|
import compatibility from "./compatibility.js";
|
||||||
import { ApiError } from "./error.js";
|
import { ApiError } from "./error.js";
|
||||||
import { apiLogger } from "./logger.js";
|
import { apiLogger } from "./logger.js";
|
||||||
import type { AccessToken } from "@/models/entities/access-token.js";
|
|
||||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
import { fetchMeta } from "@/misc/fetch-meta.js";
|
||||||
|
|
||||||
const accessDenied = {
|
const accessDenied = {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import * as fs from "node:fs";
|
import * as fs from "node:fs";
|
||||||
import Ajv from "ajv";
|
import Ajv from "ajv";
|
||||||
import type { CacheableLocalUser } from "@/models/entities/user.js";
|
import type { CacheableLocalUser } from "@/models/entities/user.js";
|
||||||
import { ILocalUser } from "@/models/entities/user.js";
|
|
||||||
import type { Schema, SchemaType } from "@/misc/schema.js";
|
import type { Schema, SchemaType } from "@/misc/schema.js";
|
||||||
import type { AccessToken } from "@/models/entities/access-token.js";
|
import type { AccessToken } from "@/models/entities/access-token.js";
|
||||||
import type { IEndpointMeta } from "./endpoints.js";
|
import type { IEndpointMeta } from "./endpoints.js";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { AbuseUserReports } from "@/models/index.js";
|
import { AbuseUserReports } from "@/models/index.js";
|
||||||
import { makePaginationQuery } from "../../common/make-pagination-query.js";
|
import { makePaginationQuery } from "@/server/api/common/make-pagination-query.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Users } from "@/models/index.js";
|
import { Users } from "@/models/index.js";
|
||||||
import { signup } from "../../../common/signup.js";
|
import { signup } from "@/server/api/common/signup.js";
|
||||||
import { IsNull } from "typeorm";
|
import { IsNull } from "typeorm";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Users } from "@/models/index.js";
|
import { Users } from "@/models/index.js";
|
||||||
import { doPostSuspend } from "@/services/suspend-user.js";
|
import { doPostSuspend } from "@/services/suspend-user.js";
|
||||||
import { publishUserEvent } from "@/services/stream.js";
|
import { publishUserEvent } from "@/services/stream.js";
|
||||||
|
|
|
@ -2,7 +2,7 @@ import config from "@/config/index.js";
|
||||||
import { Meta } from "@/models/entities/meta.js";
|
import { Meta } from "@/models/entities/meta.js";
|
||||||
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Ads } from "@/models/index.js";
|
import { Ads } from "@/models/index.js";
|
||||||
import { genId } from "@/misc/gen-id.js";
|
import { genId } from "@/misc/gen-id.js";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Ads } from "@/models/index.js";
|
import { Ads } from "@/models/index.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Ads } from "@/models/index.js";
|
import { Ads } from "@/models/index.js";
|
||||||
import { makePaginationQuery } from "../../../common/make-pagination-query.js";
|
import { makePaginationQuery } from "@/server/api/common/make-pagination-query.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Ads } from "@/models/index.js";
|
import { Ads } from "@/models/index.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Announcements } from "@/models/index.js";
|
import { Announcements } from "@/models/index.js";
|
||||||
import { genId } from "@/misc/gen-id.js";
|
import { genId } from "@/misc/gen-id.js";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Announcements } from "@/models/index.js";
|
import { Announcements } from "@/models/index.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Announcements, AnnouncementReads } from "@/models/index.js";
|
import { Announcements, AnnouncementReads } from "@/models/index.js";
|
||||||
import type { Announcement } from "@/models/entities/announcement.js";
|
import type { Announcement } from "@/models/entities/announcement.js";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { makePaginationQuery } from "../../../common/make-pagination-query.js";
|
import { makePaginationQuery } from "@/server/api/common/make-pagination-query.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Announcements } from "@/models/index.js";
|
import { Announcements } from "@/models/index.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Users, UserProfiles } from "@/models/index.js";
|
import { Users, UserProfiles } from "@/models/index.js";
|
||||||
import { publishMainStream } from "@/services/stream.js";
|
import { publishMainStream } from "@/services/stream.js";
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Users } from "@/models/index.js";
|
import { Users } from "@/models/index.js";
|
||||||
import { deleteAccount } from "@/services/delete-account.js";
|
import { deleteAccount } from "@/services/delete-account.js";
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { deleteFile } from "@/services/drive/delete-file.js";
|
import { deleteFile } from "@/services/drive/delete-file.js";
|
||||||
import { DriveFiles } from "@/models/index.js";
|
import { DriveFiles } from "@/models/index.js";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Users, UserProfiles, UserSecurityKeys } from "@/models/index.js";
|
import { Users, UserProfiles, UserSecurityKeys } from "@/models/index.js";
|
||||||
import { publishMainStream } from "@/services/stream.js";
|
import { publishMainStream } from "@/services/stream.js";
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Users } from "@/models/index.js";
|
import { Users } from "@/models/index.js";
|
||||||
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
||||||
import { publishInternalEvent } from "@/services/stream.js";
|
import { publishInternalEvent } from "@/services/stream.js";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { createCleanRemoteFilesJob } from "@/queue/index.js";
|
import { createCleanRemoteFilesJob } from "@/queue/index.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { IsNull } from "typeorm";
|
import { IsNull } from "typeorm";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { deleteFile } from "@/services/drive/delete-file.js";
|
import { deleteFile } from "@/services/drive/delete-file.js";
|
||||||
import { DriveFiles } from "@/models/index.js";
|
import { DriveFiles } from "@/models/index.js";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { DriveFiles } from "@/models/index.js";
|
import { DriveFiles } from "@/models/index.js";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { makePaginationQuery } from "../../../common/make-pagination-query.js";
|
import { makePaginationQuery } from "@/server/api/common/make-pagination-query.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { DriveFiles } from "@/models/index.js";
|
import { DriveFiles } from "@/models/index.js";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { In } from "typeorm";
|
import { In } from "typeorm";
|
||||||
import { ApiError } from "../../../error.js";
|
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis, DriveFiles } from "@/models/index.js";
|
import { Emojis, DriveFiles } from "@/models/index.js";
|
||||||
import { genId } from "@/misc/gen-id.js";
|
import { genId } from "@/misc/gen-id.js";
|
||||||
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
import rndstr from "rndstr";
|
import rndstr from "rndstr";
|
||||||
import { publishBroadcastStream } from "@/services/stream.js";
|
import { publishBroadcastStream } from "@/services/stream.js";
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { genId } from "@/misc/gen-id.js";
|
import { genId } from "@/misc/gen-id.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
import type { DriveFile } from "@/models/entities/drive-file.js";
|
import type { DriveFile } from "@/models/entities/drive-file.js";
|
||||||
import { uploadFromUrl } from "@/services/drive/upload-from-url.js";
|
import { uploadFromUrl } from "@/services/drive/upload-from-url.js";
|
||||||
import { publishBroadcastStream } from "@/services/stream.js";
|
import { publishBroadcastStream } from "@/services/stream.js";
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { In } from "typeorm";
|
import { In } from "typeorm";
|
||||||
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
||||||
import { ApiError } from "../../../error.js";
|
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { createImportCustomEmojisJob } from "@/queue/index.js";
|
import { createImportCustomEmojisJob } from "@/queue/index.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "../../../error.js";
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { toPuny } from "@/misc/convert-host.js";
|
import { toPuny } from "@/misc/convert-host.js";
|
||||||
import { makePaginationQuery } from "../../../common/make-pagination-query.js";
|
import { makePaginationQuery } from "@/server/api/common/make-pagination-query.js";
|
||||||
import { sqlLikeEscape } from "@/misc/sql-like-escape.js";
|
import { sqlLikeEscape } from "@/misc/sql-like-escape.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "../../../error.js";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { makePaginationQuery } from "../../../common/make-pagination-query.js";
|
import { makePaginationQuery } from "../../../common/make-pagination-query.js";
|
||||||
import type { Emoji } from "@/models/entities/emoji.js";
|
import type { Emoji } from "@/models/entities/emoji.js";
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { In } from "typeorm";
|
import { In } from "typeorm";
|
||||||
import { ApiError } from "../../../error.js";
|
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { In } from "typeorm";
|
import { In } from "typeorm";
|
||||||
import { ApiError } from "../../../error.js";
|
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { In } from "typeorm";
|
import { In } from "typeorm";
|
||||||
import { ApiError } from "../../../error.js";
|
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { In } from "typeorm";
|
import { In } from "typeorm";
|
||||||
import { ApiError } from "../../../error.js";
|
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Emojis } from "@/models/index.js";
|
import { Emojis } from "@/models/index.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { deleteFile } from "@/services/drive/delete-file.js";
|
import { deleteFile } from "@/services/drive/delete-file.js";
|
||||||
import { DriveFiles } from "@/models/index.js";
|
import { DriveFiles } from "@/models/index.js";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Instances } from "@/models/index.js";
|
import { Instances } from "@/models/index.js";
|
||||||
import { toPuny } from "@/misc/convert-host.js";
|
import { toPuny } from "@/misc/convert-host.js";
|
||||||
import { fetchInstanceMetadata } from "@/services/fetch-instance-metadata.js";
|
import { fetchInstanceMetadata } from "@/services/fetch-instance-metadata.js";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import deleteFollowing from "@/services/following/delete.js";
|
import deleteFollowing from "@/services/following/delete.js";
|
||||||
import { Followings, Users } from "@/models/index.js";
|
import { Followings, Users } from "@/models/index.js";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Instances } from "@/models/index.js";
|
import { Instances } from "@/models/index.js";
|
||||||
import { toPuny } from "@/misc/convert-host.js";
|
import { toPuny } from "@/misc/convert-host.js";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { db } from "@/db/postgre.js";
|
import { db } from "@/db/postgre.js";
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
requireCredential: true,
|
requireCredential: true,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { UserIps } from "@/models/index.js";
|
import { UserIps } from "@/models/index.js";
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import rndstr from "rndstr";
|
import rndstr from "rndstr";
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { RegistrationTickets } from "@/models/index.js";
|
import { RegistrationTickets } from "@/models/index.js";
|
||||||
import { genId } from "@/misc/gen-id.js";
|
import { genId } from "@/misc/gen-id.js";
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import config from "@/config/index.js";
|
import config from "@/config/index.js";
|
||||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
import { fetchMeta } from "@/misc/fetch-meta.js";
|
||||||
import { MAX_NOTE_TEXT_LENGTH, MAX_CAPTION_TEXT_LENGTH } from "@/const.js";
|
import { MAX_NOTE_TEXT_LENGTH, MAX_CAPTION_TEXT_LENGTH } from "@/const.js";
|
||||||
import define from "../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["meta"],
|
tags: ["meta"],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Users } from "@/models/index.js";
|
import { Users } from "@/models/index.js";
|
||||||
import { publishInternalEvent } from "@/services/stream.js";
|
import { publishInternalEvent } from "@/services/stream.js";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { Users } from "@/models/index.js";
|
import { Users } from "@/models/index.js";
|
||||||
import { publishInternalEvent } from "@/services/stream.js";
|
import { publishInternalEvent } from "@/services/stream.js";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
import { getNote } from "../../../common/getters.js";
|
import { getNote } from "@/server/api/common/getters.js";
|
||||||
import { PromoNotes } from "@/models/index.js";
|
import { PromoNotes } from "@/models/index.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { destroy } from "@/queue/index.js";
|
import { destroy } from "@/queue/index.js";
|
||||||
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
import { insertModerationLog } from "@/services/insert-moderation-log.js";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { deliverQueue } from "@/queue/queues.js";
|
import { deliverQueue } from "@/queue/queues.js";
|
||||||
import { URL } from "node:url";
|
import { URL } from "node:url";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { URL } from "node:url";
|
import { URL } from "node:url";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { inboxQueue } from "@/queue/queues.js";
|
import { inboxQueue } from "@/queue/queues.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
|
@ -5,7 +5,7 @@ import {
|
||||||
objectStorageQueue,
|
objectStorageQueue,
|
||||||
backgroundQueue,
|
backgroundQueue,
|
||||||
} from "@/queue/queues.js";
|
} from "@/queue/queues.js";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { URL } from "node:url";
|
import { URL } from "node:url";
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { addRelay } from "@/services/relay.js";
|
import { addRelay } from "@/services/relay.js";
|
||||||
import { ApiError } from "../../../error.js";
|
import { ApiError } from "@/server/api/error.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ["admin"],
|
tags: ["admin"],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import define from "../../../define.js";
|
import define from "@/server/api/define.js";
|
||||||
import { listRelay } from "@/services/relay.js";
|
import { listRelay } from "@/services/relay.js";
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue