Compare commits
280 Commits
Author | SHA1 | Date | |
---|---|---|---|
b14e347da1 | |||
034b8f09df | |||
c537a0ba93 | |||
897d775b14 | |||
4f43f019e0 | |||
1ea0aaef76 | |||
fd1cfcff5f | |||
c7308f4178 | |||
5cc65c5bd3 | |||
f216dd7617 | |||
af022fd8b8 | |||
5c7181ca21 | |||
30892ebfa3 | |||
ae2d71553e | |||
154e418c34 | |||
cfd1888969 | |||
d53795184c | |||
fe3609451e | |||
3692c9eb64 | |||
89a532eeac | |||
85740dd09f | |||
b05cfe4a84 | |||
322b64c0b4 | |||
601bc3e3cc | |||
c77fe1f2cf | |||
8e7744a695 | |||
901d6894de | |||
b463663175 | |||
2294e9ffdc | |||
1122f7281e | |||
99ced12ac5 | |||
2e80f9dfba | |||
3a990dce75 | |||
cc441258db | |||
ee144acea9 | |||
35b7ce1a96 | |||
dc0e55bf16 | |||
a3dceee7c0 | |||
7940417d23 | |||
b1751543aa | |||
034dcaeb9d | |||
936fb136d2 | |||
55ab528c87 | |||
c544e38f34 | |||
9b771baa5e | |||
f607faef0b | |||
cb16ff866c | |||
d6e85ffb59 | |||
f9e3fd7001 | |||
ba1e14443c | |||
35cd9e621a | |||
ea66080197 | |||
06837662a9 | |||
f9024a0058 | |||
493ff2eed5 | |||
ac82435014 | |||
d9257a5c0e | |||
f7c90b58d6 | |||
2f8e3559b5 | |||
e96a914b6b | |||
6ab2c7780c | |||
6d6162333e | |||
58b9dc581e | |||
fa8eb43eaf | |||
cf5fe2d107 | |||
50f2025421 | |||
1894df882b | |||
983599bdae | |||
6319dd1bfb | |||
d1ea8654e6 | |||
13288e1ed8 | |||
6d82bbef17 | |||
a46e2f2868 | |||
6cbc460c19 | |||
9cd2b767a9 | |||
60b9c467e6 | |||
ceabd7c791 | |||
0be4e10462 | |||
d95fafb5b3 | |||
ef485044ea | |||
c599a304c8 | |||
6d918f195a | |||
31a3748a18 | |||
48212e7a44 | |||
0f7241c2c2 | |||
bd903cdbb5 | |||
0b038f6477 | |||
7e26daa51b | |||
225d7701a4 | |||
1cae39e281 | |||
b635b064ee | |||
640fc337af | |||
43f2ac56ee | |||
d3c7c0ebe3 | |||
d15c8afcdf | |||
20134a5367 | |||
46c0280764 | |||
980a99b6c9 | |||
c69b72e199 | |||
0abe2dfee0 | |||
caf0a219a6 | |||
4341c4cccc | |||
054417354c | |||
b9095995eb | |||
a60bd33cfc | |||
7eedb9b19b | |||
e804a299e0 | |||
bcf7530eef | |||
bed982e705 | |||
d9853d9683 | |||
fbe4869d1e | |||
ac04c46d3b | |||
b1bd7307bb | |||
8a3f860213 | |||
e42e9530cb | |||
b65353bc3c | |||
75c087b79f | |||
300785923c | |||
00982d2742 | |||
4f208b99ff | |||
fa36b88af4 | |||
8223a069fe | |||
8de8de7669 | |||
705b46b3a0 | |||
e46e88344c | |||
5c8561c903 | |||
5fe2e8a59a | |||
c722225c80 | |||
584ceb3714 | |||
902bed4db3 | |||
e617ced1d3 | |||
22464c434e | |||
f33ded3107 | |||
a82ff360c6 | |||
14fa8b177d | |||
e46bb2f948 | |||
3eef0a65c2 | |||
bcd188a0e0 | |||
f38b6a1806 | |||
4cc2a561d5 | |||
f3e29c4f6a | |||
2fc58a780e | |||
561b0fc10e | |||
b8f42fca56 | |||
e8005c8d3a | |||
335e4bd213 | |||
0d21083c9a | |||
698e0d08a1 | |||
8e0108a0b8 | |||
d9775c147f | |||
b4ebf254c8 | |||
dec7c4f722 | |||
aaba43e754 | |||
9604ad3dc1 | |||
8e04bd12cf | |||
270df5c5b0 | |||
f5bea67515 | |||
1ec4156b49 | |||
5e33ca3da0 | |||
b9a57715e8 | |||
24681bbe10 | |||
a0c6ae2cba | |||
9a51ae5def | |||
f7c21868fe | |||
5d968afa74 | |||
b6e3f1c490 | |||
cb4d65b5c9 | |||
a902576334 | |||
1c6463e66f | |||
1cf5198372 | |||
a9a5673069 | |||
9d67857a34 | |||
25fde3b5eb | |||
0e3ca41b3c | |||
318759cfa4 | |||
73b5c12927 | |||
c850cef711 | |||
12fad68f58 | |||
037db7c5ef | |||
ea9aeef9d8 | |||
63415f1074 | |||
dded3912f8 | |||
d35f0247a2 | |||
76a7b5f067 | |||
c864d700d2 | |||
50e1040f1e | |||
8a40026c5c | |||
974250da6c | |||
7042933b3b | |||
8b7f5be878 | |||
01afdc410e | |||
7f5299cf46 | |||
ac7f04e669 | |||
65740da979 | |||
4ab773eb92 | |||
66b512af5d | |||
0f9a6417b0 | |||
6a9e52d83c | |||
1161d6cae2 | |||
187696c973 | |||
4b7b51d5cc | |||
0e3213ff6d | |||
9b092e918a | |||
cfa38e875c | |||
9ea7d75aa4 | |||
165d272552 | |||
9b876b30b2 | |||
5e82064a7d | |||
90fade8e72 | |||
c038892795 | |||
926eb34680 | |||
e6e33faefb | |||
0a2e046b28 | |||
36a632dc02 | |||
c9ce150fe8 | |||
6496835515 | |||
b404ce463f | |||
b875b0faa2 | |||
4786214e2a | |||
0484976afa | |||
19cc9f7fb0 | |||
7706c38d3d | |||
9acc36185b | |||
be89516707 | |||
e5acd1afb9 | |||
f6e7f389d6 | |||
b9eaf906e7 | |||
84df0714d8 | |||
c7650846a2 | |||
ea97d6a028 | |||
0e4a111f81 | |||
037837b551 | |||
c5eb3021c0 | |||
3b8b03d8b4 | |||
1afe46b19a | |||
fe281f1786 | |||
24ef4d3da2 | |||
68192126e6 | |||
a28c515ef6 | |||
07526ada45 | |||
71d9c2a53d | |||
c0144db75c | |||
5e8c95bde8 | |||
8630542146 | |||
a674657bcb | |||
c625a3fa5b | |||
ae6f0d49c2 | |||
575a8bd9c8 | |||
3db7551ad3 | |||
37b535df30 | |||
f30df92597 | |||
9b18104343 | |||
e2862ed097 | |||
1c38c7010d | |||
34ea3cf226 | |||
944250f7fd | |||
ab0253ab07 | |||
758e054c92 | |||
187b44c7f3 | |||
587ea5b424 | |||
1a883f4f05 | |||
540e6e4f99 | |||
baf3d8f3ee | |||
7a66c9b5f3 | |||
15cd563612 | |||
e2556189de | |||
9236a8fd6c | |||
303c5abfb4 | |||
fc65190ef7 | |||
f47a564819 | |||
fa0814f939 | |||
ddd931a0a3 | |||
46010187c3 | |||
877bd52ed7 | |||
d964c5f27f | |||
d35b02fa23 | |||
21ece52a9f | |||
c2ae160d23 | |||
9c74c5c5dc | |||
2e80cebc11 |
@ -1,49 +0,0 @@
|
|||||||
version: 2.1
|
|
||||||
|
|
||||||
executors:
|
|
||||||
docker:
|
|
||||||
working_directory: /tmp/workspace
|
|
||||||
docker:
|
|
||||||
- image: docker:latest
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
docker:
|
|
||||||
parameters:
|
|
||||||
with_deploy:
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
executor: docker
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
- setup_remote_docker:
|
|
||||||
version: 19.03.13
|
|
||||||
- run:
|
|
||||||
name: Build
|
|
||||||
command: |
|
|
||||||
docker build -t misskey/misskey .
|
|
||||||
- when:
|
|
||||||
condition: <<parameters.with_deploy>>
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Deploy
|
|
||||||
command: |
|
|
||||||
if [ "$DOCKERHUB_USERNAME$DOCKERHUB_PASSWORD" ]
|
|
||||||
then
|
|
||||||
apk update && apk add jq
|
|
||||||
docker tag misskey/misskey misskey/misskey:$(cat package.json | jq -r .version)
|
|
||||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
|
|
||||||
docker push -a misskey/misskey
|
|
||||||
else
|
|
||||||
echo -e '\033[0;33mAborted deploying to Docker Hub\033[0;39m'
|
|
||||||
fi
|
|
||||||
|
|
||||||
workflows:
|
|
||||||
version: 2
|
|
||||||
docker:
|
|
||||||
jobs:
|
|
||||||
- docker:
|
|
||||||
name: auto-build
|
|
||||||
with_deploy: true
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
only: master
|
|
@ -1,12 +0,0 @@
|
|||||||
url: 'http://misskey.local'
|
|
||||||
port: 8080
|
|
||||||
db:
|
|
||||||
host: localhost
|
|
||||||
port: 5432
|
|
||||||
db: test-misskey
|
|
||||||
user: postgres
|
|
||||||
pass: ''
|
|
||||||
redis:
|
|
||||||
host: localhost
|
|
||||||
port: 6379
|
|
||||||
id: aid
|
|
@ -1,12 +0,0 @@
|
|||||||
url: 'http://misskey.local'
|
|
||||||
port: 8080
|
|
||||||
db:
|
|
||||||
host: localhost
|
|
||||||
port: 5432
|
|
||||||
db: test-misskey
|
|
||||||
user: postgres
|
|
||||||
pass: ''
|
|
||||||
redis:
|
|
||||||
host: localhost
|
|
||||||
port: 6379
|
|
||||||
id: aid
|
|
13
.eslintrc
13
.eslintrc
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"parserOptions": {
|
|
||||||
"parser": "@typescript-eslint/parser"
|
|
||||||
},
|
|
||||||
"extends": [
|
|
||||||
"eslint:recommended"
|
|
||||||
],
|
|
||||||
"rules": {
|
|
||||||
"no-console": 0,
|
|
||||||
"no-unused-vars": 0,
|
|
||||||
"no-empty": 0
|
|
||||||
}
|
|
||||||
}
|
|
38
.github/CODEOWNERS
vendored
38
.github/CODEOWNERS
vendored
@ -1,38 +0,0 @@
|
|||||||
# PATH OWNERS
|
|
||||||
/.autogen/ @acid-chicken
|
|
||||||
/.circleci/ @syuilo @acid-chicken
|
|
||||||
/.config/ @syuilo @AyaMorisawa @mei23 @acid-chicken @rinsuki
|
|
||||||
# /.config/mongo_initdb_example.js @khws4v1
|
|
||||||
/.github/ @syuilo @AyaMorisawa @acid-chicken
|
|
||||||
/.vscode/ @acid-chicken
|
|
||||||
/assets/ @syuilo # @tamaina
|
|
||||||
/docs/ @syuilo
|
|
||||||
/docs/*.en.md @AyaMorisawa # @skid9000
|
|
||||||
# /docs/*.fr.md @BoFFire
|
|
||||||
# /docs/docker.*.md @khws4v1
|
|
||||||
/locales/ @syuilo
|
|
||||||
/src/ @syuilo @AyaMorisawa @mei23 @acid-chicken @rinsuki
|
|
||||||
# /src/crypto_key.cc @akihikodaki
|
|
||||||
# /src/crypto_key.d.ts @akihikodaki
|
|
||||||
/.dockerignore @syuilo # @khws4v1
|
|
||||||
/.editorconfig @syuilo @AyaMorisawa
|
|
||||||
/.eslintrc @syuilo
|
|
||||||
/.gitattributes @syuilo
|
|
||||||
/.gitignore @syuilo
|
|
||||||
/.npmrc @syuilo
|
|
||||||
/.vsls.json @AyaMorisawa
|
|
||||||
/CHANGELOG.md @syuilo
|
|
||||||
/CODE_OF_CONDUCT.md @syuilo
|
|
||||||
/CONTRIBUTING.md @syuilo
|
|
||||||
/Dockerfile @syuilo @AyaMorisawa @acid-chicken # @khws4v1
|
|
||||||
/LICENSE @syuilo
|
|
||||||
/README.md @syuilo @AyaMorisawa @acid-chicken # @nikhiljha
|
|
||||||
# /binding.gyp @akihikodaki
|
|
||||||
/crowdin.yml @syuilo
|
|
||||||
# /docker-compose.yml @khws4v1
|
|
||||||
/gulpfile.ts @syuilo @AyaMorisawa
|
|
||||||
/jsconfig.json @syuilo @AyaMorisawa
|
|
||||||
/package.json @syuilo @AyaMorisawa
|
|
||||||
/tsconfig.json @syuilo @AyaMorisawa
|
|
||||||
/tslint.json @syuilo @AyaMorisawa
|
|
||||||
/webpack.config.ts @syuilo @AyaMorisawa
|
|
15
.github/misskey/test.yml
vendored
Normal file
15
.github/misskey/test.yml
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
url: 'http://misskey.local'
|
||||||
|
|
||||||
|
# ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ)
|
||||||
|
port: 61812
|
||||||
|
|
||||||
|
db:
|
||||||
|
host: localhost
|
||||||
|
port: 54312
|
||||||
|
db: test-misskey
|
||||||
|
user: postgres
|
||||||
|
pass: ''
|
||||||
|
redis:
|
||||||
|
host: localhost
|
||||||
|
port: 56312
|
||||||
|
id: aid
|
25
.github/workflows/lint.yml
vendored
Normal file
25
.github/workflows/lint.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
name: Lint
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 12.x
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: '**/node_modules'
|
||||||
|
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
- run: yarn install
|
||||||
|
- run: yarn lint
|
59
.github/workflows/nodejs.yml
vendored
59
.github/workflows/nodejs.yml
vendored
@ -1,59 +0,0 @@
|
|||||||
name: Node.js CI
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_and_test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [14.x, 16.x]
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:12.2-alpine
|
|
||||||
ports:
|
|
||||||
- 54312:5432
|
|
||||||
env:
|
|
||||||
POSTGRES_DB: test-misskey
|
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
|
||||||
redis:
|
|
||||||
image: redis:4.0-alpine
|
|
||||||
ports:
|
|
||||||
- 56312:6379
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
- name: Check yarn.lock
|
|
||||||
run: git diff --exit-code yarn.lock
|
|
||||||
- name: Copy Configure
|
|
||||||
run: cp test/test.yml .config
|
|
||||||
- name: Build
|
|
||||||
run: yarn build
|
|
||||||
- name: Test
|
|
||||||
run: yarn test
|
|
||||||
|
|
||||||
lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
- uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: 12.x
|
|
||||||
- run: yarn install
|
|
||||||
- run: yarn lint
|
|
91
.github/workflows/test.yml
vendored
Normal file
91
.github/workflows/test.yml
vendored
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
name: Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
mocha:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [16.x]
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:12.2-alpine
|
||||||
|
ports:
|
||||||
|
- 54312:5432
|
||||||
|
env:
|
||||||
|
POSTGRES_DB: test-misskey
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
redis:
|
||||||
|
image: redis:4.0-alpine
|
||||||
|
ports:
|
||||||
|
- 56312:6379
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install
|
||||||
|
- name: Check yarn.lock
|
||||||
|
run: git diff --exit-code yarn.lock
|
||||||
|
- name: Copy Configure
|
||||||
|
run: cp .github/misskey/test.yml .config
|
||||||
|
- name: Build
|
||||||
|
run: yarn build
|
||||||
|
- name: Test
|
||||||
|
run: yarn mocha
|
||||||
|
|
||||||
|
e2e:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [16.x]
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:12.2-alpine
|
||||||
|
ports:
|
||||||
|
- 54312:5432
|
||||||
|
env:
|
||||||
|
POSTGRES_DB: test-misskey
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
redis:
|
||||||
|
image: redis:4.0-alpine
|
||||||
|
ports:
|
||||||
|
- 56312:6379
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: '**/node_modules'
|
||||||
|
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install
|
||||||
|
- name: Check yarn.lock
|
||||||
|
run: git diff --exit-code yarn.lock
|
||||||
|
- name: Copy Configure
|
||||||
|
run: cp .github/misskey/test.yml .config
|
||||||
|
- name: Build
|
||||||
|
run: yarn build
|
||||||
|
- name: Test
|
||||||
|
run: yarn e2e
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -6,7 +6,7 @@
|
|||||||
/.idea
|
/.idea
|
||||||
|
|
||||||
# Node.js
|
# Node.js
|
||||||
/node_modules
|
node_modules
|
||||||
report.*.json
|
report.*.json
|
||||||
|
|
||||||
# Cypress
|
# Cypress
|
||||||
@ -20,7 +20,7 @@ cypress/videos
|
|||||||
|
|
||||||
# misskey
|
# misskey
|
||||||
/build
|
/build
|
||||||
/built
|
built
|
||||||
/data
|
/data
|
||||||
/.cache-loader
|
/.cache-loader
|
||||||
/db
|
/db
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"ignoredFiles": [
|
|
||||||
"test/resources/*"
|
|
||||||
]
|
|
||||||
}
|
|
3
.vscode/extensions.json
vendored
3
.vscode/extensions.json
vendored
@ -2,8 +2,7 @@
|
|||||||
"recommendations": [
|
"recommendations": [
|
||||||
"editorconfig.editorconfig",
|
"editorconfig.editorconfig",
|
||||||
"eg2.vscode-npm-script",
|
"eg2.vscode-npm-script",
|
||||||
"ms-vscode.typescript-javascript-grammar",
|
"dbaeumer.vscode-eslint",
|
||||||
"ms-vscode.vscode-typescript-tslint-plugin",
|
|
||||||
"johnsoncodehk.volar",
|
"johnsoncodehk.volar",
|
||||||
"sysoev.language-stylus"
|
"sysoev.language-stylus"
|
||||||
]
|
]
|
||||||
|
128
CHANGELOG.md
128
CHANGELOG.md
@ -7,6 +7,134 @@
|
|||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## 12.101.0 (2021/12/29)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- クライアント: ノートプレビューの精度を改善
|
||||||
|
- クライアント: MFM sparkleエフェクトの改善
|
||||||
|
- クライアント: デザインの調整
|
||||||
|
- セキュリティの向上
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- クライアント: 一部のコンポーネントが裏に隠れるのを修正
|
||||||
|
- fix html blockquote conversion
|
||||||
|
|
||||||
|
## 12.100.2 (2021/12/18)
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- クライアント: Deckカラムの増減がページをリロードするまで正しく反映されない問題を修正
|
||||||
|
- クライアント: 一部のコンポーネントが裏に隠れるのを修正
|
||||||
|
- クライアント: カスタム絵文字一覧ページの負荷が高いのを修正
|
||||||
|
|
||||||
|
## 12.100.1 (2021/12/17)
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- クライアント: デザインの調整
|
||||||
|
|
||||||
|
## 12.100.0 (2021/12/17)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- クライアント: モバイルでの各種メニュー、リアクションピッカーの表示を改善
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- クライアント: 一部のコンポーネントが裏に隠れるのを修正
|
||||||
|
|
||||||
|
## 12.99.3 (2021/12/14)
|
||||||
|
### Bugfixes
|
||||||
|
- クライアント: オートコンプリートがダイアログの裏に隠れる問題を修正
|
||||||
|
|
||||||
|
## 12.99.2 (2021/12/14)
|
||||||
|
|
||||||
|
## 12.99.1 (2021/12/14)
|
||||||
|
|
||||||
|
## 12.99.0 (2021/12/14)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- Added a user-level instance mute in user settings
|
||||||
|
- フォローエクスポートでミュートしているユーザーを含めないオプションを追加
|
||||||
|
- フォローエクスポートで使われていないアカウントを含めないオプションを追加
|
||||||
|
- カスタム絵文字エクスポート機能
|
||||||
|
- チャートのパフォーマンスの改善
|
||||||
|
- グループから抜けられるように
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- クライアント: タッチ機能付きディスプレイを使っていてマウス操作をしている場合に一部機能が動作しない問題を修正
|
||||||
|
- クライアント: クリップの設定を編集できない問題を修正
|
||||||
|
- クライアント: メニューなどがウィンドウの裏に隠れる問題を修正
|
||||||
|
|
||||||
|
## 12.98.0 (2021/12/03)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- API: /antennas/notes API で日付による絞り込みができるように
|
||||||
|
- クライアント: アンケートに投票する際に確認ダイアログを出すように
|
||||||
|
- クライアント: Renoteなノート詳細ページから元のノートページに遷移できるように
|
||||||
|
- クライアント: 画像ポップアップでクリックで閉じられるように
|
||||||
|
- クライアント: デザインの調整
|
||||||
|
- フォロワーを解除できる機能
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- クライアント: LTLやGTLが無効になっている場合でもUI上にタブが表示される問題を修正
|
||||||
|
- クライアント: ログインにおいてパスワードが誤っている際のエラーメッセージが正しく表示されない問題を修正
|
||||||
|
- クライアント: リアクションツールチップ、Renoteツールチップのユーザーの並び順を修正
|
||||||
|
- クライアント: サウンドのマスターボリュームが正しく保存されない問題を修正
|
||||||
|
- クライアント: 一部環境において通知が表示されると操作不能になる問題を修正
|
||||||
|
- クライアント: モバイルでタップしたときにツールチップが表示される問題を修正
|
||||||
|
- クライアント: リモートインスタンスのノートに返信するとき、対象のノートにそのリモートインスタンス内のユーザーへのメンションが含まれていると、返信テキスト内にローカルユーザーへのメンションとして引き継がれてしまう場合がある問題を修正
|
||||||
|
- クライアント: 画像ビューワーで全体表示した時に上側の一部しか表示されない画像がある問題を修正
|
||||||
|
- API: ユーザーを取得時に条件によっては内部エラーになる問題を修正
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
- クライアント: ノートにモデレーターバッジを表示するのを廃止
|
||||||
|
|
||||||
|
## 12.97.0 (2021/11/19)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- クライアント: 返信先やRenoteに対しても自動折りたたみされるように
|
||||||
|
- クライアント: 長いスレッドの表示を改善
|
||||||
|
- クライアント: 翻訳にもMFMを適用し、元の文章の改行などを保持するように
|
||||||
|
- クライアント: アカウント削除に確認ダイアログを出すように
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- クライアント: ユーザー検索の「全て」が動作しない問題を修正
|
||||||
|
- クライアント: リアクション一覧、Renote一覧ツールチップのスタイルを修正
|
||||||
|
|
||||||
|
## 12.96.1 (2021/11/13)
|
||||||
|
### Improvements
|
||||||
|
- npm scriptの互換性を向上
|
||||||
|
|
||||||
|
## 12.96.0 (2021/11/13)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- フォロー/フォロワーを非公開にできるように
|
||||||
|
- インスタンスプロフィールレンダリング ready
|
||||||
|
- 通知のリアクションアイコンをホバーで拡大できるように
|
||||||
|
- RenoteボタンをホバーでRenoteしたユーザー一覧を表示するように
|
||||||
|
- 返信の際にメンションを含めるように
|
||||||
|
- 通報があったときに管理者へEメールで通知されるように
|
||||||
|
- メールアドレスのバリデーションを強化
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- アカウント削除処理があると高負荷になる問題を修正
|
||||||
|
- クライアント: 長いメニューが画面からはみ出す問題を修正
|
||||||
|
- クライアント: コントロールパネルのジョブキューに個々のジョブが表示されないのを修正
|
||||||
|
- クライアント: fix missing i18n string
|
||||||
|
- fix html conversion issue with code blocks
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
- ノートにモバイルからの投稿か否かの情報を含めないように
|
||||||
|
|
||||||
|
## 12.95.0 (2021/10/31)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- スレッドミュート機能
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- リレー向けのActivityが一部実装で除外されてしまうことがあるのを修正
|
||||||
|
- 削除したノートやユーザーがリモートから参照されると復活することがあるのを修正
|
||||||
|
- クライアント: ページ編集時のドロップダウンメニューなどが動作しない問題を修正
|
||||||
|
- クライアント: コントロールパネルのカスタム絵文字タブが切り替わらないように見える問題を修正
|
||||||
|
- API: ユーザー情報の hasUnreadChannel が常に false になっている問題を修正
|
||||||
|
|
||||||
## 12.94.1 (2021/10/25)
|
## 12.94.1 (2021/10/25)
|
||||||
|
|
||||||
### Improvements
|
### Improvements
|
||||||
|
@ -49,9 +49,10 @@ If your language is not listed in Crowdin, please open an issue.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Documentation
|
## Development
|
||||||
* Documents for instance admins are located in [`/docs`](/docs).
|
During development, it is useful to use the `npm run dev` command.
|
||||||
* Documents for end users are located in [`/src/docs`](/src/docs).
|
This command monitors the server-side and client-side source files and automatically builds them if they are modified.
|
||||||
|
In addition, it will also automatically start the Misskey server process.
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
- Test codes are located in [`/test`](/test).
|
- Test codes are located in [`/test`](/test).
|
||||||
@ -84,6 +85,11 @@ TODO
|
|||||||
Misskey uses GitHub Actions for executing automated tests.
|
Misskey uses GitHub Actions for executing automated tests.
|
||||||
Configuration files are located in [`/.github/workflows`](/.github/workflows).
|
Configuration files are located in [`/.github/workflows`](/.github/workflows).
|
||||||
|
|
||||||
|
## Vue
|
||||||
|
Misskey uses Vue(v3) as its front-end framework.
|
||||||
|
**When creating a new component, please use the Composition API (and [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html)) instead of the Options API.**
|
||||||
|
Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
|
||||||
|
|
||||||
## Adding MisskeyRoom items
|
## Adding MisskeyRoom items
|
||||||
* Use English for material, object and texture names.
|
* Use English for material, object and texture names.
|
||||||
* Use meter for unit of length.
|
* Use meter for unit of length.
|
||||||
@ -180,7 +186,7 @@ MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`
|
|||||||
|
|
||||||
### Migration作成方法
|
### Migration作成方法
|
||||||
```
|
```
|
||||||
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前
|
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前 -o
|
||||||
```
|
```
|
||||||
|
|
||||||
作成されたスクリプトは不必要な変更を含むため除去してください。
|
作成されたスクリプトは不必要な変更を含むため除去してください。
|
||||||
|
@ -26,6 +26,9 @@ ENTRYPOINT ["/sbin/tini", "--"]
|
|||||||
|
|
||||||
COPY --from=builder /misskey/node_modules ./node_modules
|
COPY --from=builder /misskey/node_modules ./node_modules
|
||||||
COPY --from=builder /misskey/built ./built
|
COPY --from=builder /misskey/built ./built
|
||||||
|
COPY --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
|
||||||
|
COPY --from=builder /misskey/packages/backend/built ./packages/backend/built
|
||||||
|
COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node_modules
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
CMD ["npm", "run", "migrateandstart"]
|
CMD ["npm", "run", "migrateandstart"]
|
||||||
|
130
README.md
130
README.md
@ -1,117 +1,57 @@
|
|||||||
[](https://join.misskey.page/)
|
[](https://join.misskey.page/)
|
||||||
|
|
||||||
<h1 align="center">Misskey</h1>
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
[](https://circleci.com/gh/misskey-dev/misskey)
|
**🌎 A forever evolving, interplanetary microblogging platform. 🚀**
|
||||||
[](https://david-dm.org/misskey-dev/misskey)
|
|
||||||
[](http://makeapullrequest.com)
|
|
||||||
[](https://github.com/humanetech-community/awesome-humane-tech)
|
|
||||||
|
|
||||||
**A forever evolving, interplanetary microblogging platform.**
|
**Misskey** is a distributed microblogging platform with advanced features such as Reactions and a highly customizable UI.
|
||||||
|
|
||||||
<a href="https://join.misskey.page/">Misskey</a> is a decentralized microblogging platform born on Earth.
|
[Learn more](https://misskey-hub.net/)
|
||||||
Since it exists within the Fediverse (a universe where various social media platforms are organized),
|
|
||||||
it is mutually linked with other social media platforms.
|
---
|
||||||
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? <a href="https://join.misskey.page/">Find an instance!</a>
|
|
||||||
|
[✨ Find an instance](https://misskey-hub.net/instances.html)
|
||||||
|
•
|
||||||
|
[📦 Create your own instance](https://misskey-hub.net/docs/install.html)
|
||||||
|
•
|
||||||
|
[🛠️ Contribute](./CONTRIBUTING.md)
|
||||||
|
•
|
||||||
|
[🚀 Join the community](https://discord.gg/Wp8gVStHW3)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
<a href="https://www.patreon.com/syuilo"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160" /></a>
|
<a href="https://www.patreon.com/syuilo"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160" /></a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
---
|
<div>
|
||||||
|
|
||||||
Do you have a question? Or are you experiencing trouble?
|
<a href="https://xn--931a.moe/"><img src="https://github.com/misskey-dev/misskey/blob/develop/assets/ai.png?raw=true" align="right" height="320px"/></a>
|
||||||
Visit [our forum](https://forum.misskey.io/)!
|
|
||||||
|
|
||||||
---
|
## ✨ Features
|
||||||
|
- **ActivityPub support**\
|
||||||
|
It is possible to interact with other software.
|
||||||
|
- **Reactions**\
|
||||||
|
You can add "reactions" to each post, making it easy for you to express your feelings.
|
||||||
|
- **Drive**\
|
||||||
|
An interface to manage uploaded files such as images, videos, sounds, etc.
|
||||||
|
You can also organize your favorite content into folders, making it easy to share again.
|
||||||
|
- **Rich Web UI**\
|
||||||
|
Misskey has a rich WebUI by default.
|
||||||
|
It is highly customizable by flexibly changing the layout and installing various widgets and themes.
|
||||||
|
Furthermore, plug-ins can be created using AiScript, a original programming language.
|
||||||
|
- and more...
|
||||||
|
|
||||||

|
</div>
|
||||||
|
|
||||||
:sparkles: Features
|
<div style="clear: both;"></div>
|
||||||
----------------------------------------------------------------
|
|
||||||
<a href="https://xn--931a.moe/"><img src="https://github.com/misskey-dev/misskey/blob/develop/assets/ai-orig.png?raw=true" align="right" height="320px"/></a>
|
|
||||||
|
|
||||||
<h3>Posting</h3>
|
## Sponsors
|
||||||
<p>
|
|
||||||
Post your ideas, discussion topics, fun moments, or anything else you want to share! Misskey supports text, emoji, pictures, videos, and polls!
|
|
||||||
</p>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<h3 >Reactions</h3>
|
|
||||||
<p>
|
|
||||||
Reactions are the simplest way to respond to others' posts. Simply pick a reaction emote from the list! Reactions on Misskey are much more expressive than other social media services which only allow “liking”.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<h3>Interface</h3>
|
|
||||||
<p>
|
|
||||||
Customize the UI to your own tastes! No UI will work for everyone, so Misskey is completely customizable. Make Misskey *yours* by editing the style, adjusting timeline layouts, and placing widgets.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<h3>Misskey Drive</h3>
|
|
||||||
<p>
|
|
||||||
Organize and store your files! Want to post a picture you have already uploaded? Wish you could organize your files into folders? Misskey Drive is a solution!
|
|
||||||
</p>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
...and more!
|
|
||||||
|
|
||||||
:package: Create your own instance
|
|
||||||
----------------------------------------------------------------
|
|
||||||
Please see the [Setup and Installation Guide](https://misskey-hub.net/docs/install/install.html).
|
|
||||||
|
|
||||||
:wrench: Contribution
|
|
||||||
----------------------------------------------------------------
|
|
||||||
Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|
||||||
|
|
||||||
### Collaborators
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="https://avatars3.githubusercontent.com/u/4439005?s=460&v=4" alt="syuilo" width="100"></td>
|
|
||||||
<td><img src="https://avatars0.githubusercontent.com/u/10798641?s=460&v=4" alt="AyaMorisawa" width="100"></td>
|
|
||||||
<td><img src="https://avatars1.githubusercontent.com/u/30769358?s=460&v=4" alt="mei23" width="100"></td>
|
|
||||||
<td><img src="https://avatars2.githubusercontent.com/u/20679825?s=460&v=4" alt="acid-chicken" width="100"></td>
|
|
||||||
<td><img src="https://avatars2.githubusercontent.com/u/6533808?s=460&v=4" alt="rinsuki" width="100"></td>
|
|
||||||
<td><img src="https://avatars0.githubusercontent.com/u/7973572?s=460&v=4" alt="tamaina" width="100"></td>
|
|
||||||
<td><img src="https://avatars1.githubusercontent.com/u/7106976?s=460&v=4" alt="Xeltica" width="100"></td>
|
|
||||||
<td><img src="https://avatars1.githubusercontent.com/u/17376330?s=460&v=4" alt="u1-liquid" width="100"></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center"><a href="https://github.com/syuilo">@syuilo</a></td>
|
|
||||||
<td align="center"><a href="https://github.com/AyaMorisawa">@AyaMorisawa</a></td>
|
|
||||||
<td align="center"><a href="https://github.com/mei23">@mei23</a></td>
|
|
||||||
<td align="center"><a href="https://github.com/acid-chicken">@acid-chicken</a></td>
|
|
||||||
<td align="center"><a href="https://github.com/rinsuki">@rinsuki</a></td>
|
|
||||||
<td align="center"><a href="https://github.com/tamaina">@tamaina</a></td>
|
|
||||||
<td align="center"><a href="https://github.com/Xeltica">@Xeltica</a></td>
|
|
||||||
<td align="center"><a href="https://github.com/u1-liquid">@u1-liquid</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
To receive updates of this repo, follow [@repo@misskey.io](https://misskey.io/@repo) on fediverse.
|
|
||||||
|
|
||||||
Related projects
|
|
||||||
----------------------------------------------------------------
|
|
||||||
- [misskey.js](https://github.com/misskey-dev/misskey.js) - Misskey SDK for JavaScript
|
|
||||||
- [mfm.js](https://github.com/misskey-dev/mfm.js) - MFM parser
|
|
||||||
|
|
||||||
Sponsors
|
|
||||||
----------------------------------------------------------------
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank" style="display: inline-block;"><img src="https://rss3.io/assets/images/Logo.svg" alt="RSS3" style="display: inline-block; height: 60px;"></a>
|
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank" style="display: inline-block;"><img src="https://rss3.io/assets/images/Logo.svg" alt="RSS3" style="display: inline-block; height: 60px;"></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
:heart: Backers
|
## Backers
|
||||||
----------------------------------------------------------------
|
|
||||||
<!-- PATREON_START -->
|
<!-- PATREON_START -->
|
||||||
<table><tr>
|
<table><tr>
|
||||||
<td><img src="https://c8.patreon.com/2/200/20832595" alt="Roujo " width="100"></td>
|
<td><img src="https://c8.patreon.com/2/200/20832595" alt="Roujo " width="100"></td>
|
||||||
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 38 KiB |
Binary file not shown.
Before Width: | Height: | Size: 185 B |
@ -2,6 +2,3 @@ files:
|
|||||||
- source: /locales/ja-JP.yml
|
- source: /locales/ja-JP.yml
|
||||||
translation: /locales/%locale%.yml
|
translation: /locales/%locale%.yml
|
||||||
update_option: update_as_unapproved
|
update_option: update_as_unapproved
|
||||||
- source: /src/docs/ja-JP/**/*.md
|
|
||||||
translation: /src/docs/%locale%/**/%original_file_name%
|
|
||||||
update_option: update_as_unapproved
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"baseUrl": "http://localhost"
|
"baseUrl": "http://localhost:61812"
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,8 @@ describe('After user signup', () => {
|
|||||||
cy.get('[data-cy-signin-username] input').type('alice');
|
cy.get('[data-cy-signin-username] input').type('alice');
|
||||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||||
|
|
||||||
cy.contains('アカウントが凍結されています');
|
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
|
||||||
|
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -18,3 +18,9 @@ import './commands'
|
|||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
// Alternatively you can use CommonJS syntax:
|
||||||
// require('./commands')
|
// require('./commands')
|
||||||
|
|
||||||
|
Cypress.on('uncaught:exception', (err, runnable) => {
|
||||||
|
if (err.message.includes('ResizeObserver loop limit exceeded')) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
62
gulpfile.js
Normal file
62
gulpfile.js
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/**
|
||||||
|
* Gulp tasks
|
||||||
|
*/
|
||||||
|
|
||||||
|
const fs = require('fs');
|
||||||
|
const gulp = require('gulp');
|
||||||
|
const replace = require('gulp-replace');
|
||||||
|
const terser = require('gulp-terser');
|
||||||
|
const cssnano = require('gulp-cssnano');
|
||||||
|
|
||||||
|
const locales = require('./locales');
|
||||||
|
const meta = require('./package.json');
|
||||||
|
|
||||||
|
gulp.task('copy:backend:views', () =>
|
||||||
|
gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views'))
|
||||||
|
);
|
||||||
|
|
||||||
|
gulp.task('copy:client:fonts', () =>
|
||||||
|
gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/'))
|
||||||
|
);
|
||||||
|
|
||||||
|
gulp.task('copy:client:locales', cb => {
|
||||||
|
fs.mkdirSync('./built/_client_dist_/locales', { recursive: true });
|
||||||
|
|
||||||
|
const v = { '_version_': meta.version };
|
||||||
|
|
||||||
|
for (const [lang, locale] of Object.entries(locales)) {
|
||||||
|
fs.writeFileSync(`./built/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
||||||
|
}
|
||||||
|
|
||||||
|
cb();
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('build:backend:script', () => {
|
||||||
|
return gulp.src(['./packages/backend/src/server/web/boot.js', './packages/backend/src/server/web/bios.js', './packages/backend/src/server/web/cli.js'])
|
||||||
|
.pipe(replace('VERSION', JSON.stringify(meta.version)))
|
||||||
|
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
|
||||||
|
.pipe(terser({
|
||||||
|
toplevel: true
|
||||||
|
}))
|
||||||
|
.pipe(gulp.dest('./packages/backend/built/server/web/'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('build:backend:style', () => {
|
||||||
|
return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css'])
|
||||||
|
.pipe(cssnano({
|
||||||
|
zindex: false
|
||||||
|
}))
|
||||||
|
.pipe(gulp.dest('./packages/backend/built/server/web/'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('build', gulp.parallel(
|
||||||
|
'copy:client:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:client:fonts'
|
||||||
|
));
|
||||||
|
|
||||||
|
gulp.task('default', gulp.task('build'));
|
||||||
|
|
||||||
|
gulp.task('watch', () => {
|
||||||
|
gulp.watch([
|
||||||
|
'./packages/*/src/**/*',
|
||||||
|
], { ignoreInitial: false }, gulp.task('build'));
|
||||||
|
});
|
80
gulpfile.ts
80
gulpfile.ts
@ -1,80 +0,0 @@
|
|||||||
/**
|
|
||||||
* Gulp tasks
|
|
||||||
*/
|
|
||||||
|
|
||||||
import * as fs from 'fs';
|
|
||||||
import * as gulp from 'gulp';
|
|
||||||
import rimraf from 'rimraf';
|
|
||||||
const replace = require('gulp-replace');
|
|
||||||
const terser = require('gulp-terser');
|
|
||||||
const cssnano = require('gulp-cssnano');
|
|
||||||
|
|
||||||
const locales: { [x: string]: any } = require('./locales');
|
|
||||||
const meta = require('./package.json');
|
|
||||||
|
|
||||||
gulp.task('build:copy:views', () =>
|
|
||||||
gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('build:copy:fonts', () =>
|
|
||||||
gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/assets/fonts/'))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('build:copy:locales', cb => {
|
|
||||||
fs.mkdirSync('./built/assets/locales', { recursive: true });
|
|
||||||
|
|
||||||
const v = { '_version_': meta.version };
|
|
||||||
|
|
||||||
for (const [lang, locale] of Object.entries(locales)) {
|
|
||||||
fs.writeFileSync(`./built/assets/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
|
||||||
}
|
|
||||||
|
|
||||||
cb();
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('build:client:script', () => {
|
|
||||||
return gulp.src(['./src/server/web/boot.js', './src/server/web/bios.js', './src/server/web/cli.js'])
|
|
||||||
.pipe(replace('VERSION', JSON.stringify(meta.version)))
|
|
||||||
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
|
|
||||||
.pipe(terser({
|
|
||||||
toplevel: true
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest('./built/server/web/'));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('build:client:style', () => {
|
|
||||||
return gulp.src(['./src/server/web/style.css', './src/server/web/bios.css', './src/server/web/cli.css'])
|
|
||||||
.pipe(cssnano({
|
|
||||||
zindex: false
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest('./built/server/web/'));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('build:copy', gulp.parallel('build:copy:locales', 'build:copy:views', 'build:client:script', 'build:client:style', 'build:copy:fonts', () =>
|
|
||||||
gulp.src([
|
|
||||||
'./src/emojilist.json',
|
|
||||||
'./src/**/assets/**/*',
|
|
||||||
'!./src/client/assets/**/*'
|
|
||||||
]).pipe(gulp.dest('./built/'))
|
|
||||||
));
|
|
||||||
|
|
||||||
gulp.task('clean', cb =>
|
|
||||||
rimraf('./built', cb)
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('cleanall', gulp.parallel('clean', cb =>
|
|
||||||
rimraf('./node_modules', cb)
|
|
||||||
));
|
|
||||||
|
|
||||||
gulp.task('build', gulp.parallel(
|
|
||||||
'build:copy',
|
|
||||||
));
|
|
||||||
|
|
||||||
gulp.task('default', gulp.task('build'));
|
|
||||||
|
|
||||||
gulp.task('watch', () => {
|
|
||||||
gulp.watch([
|
|
||||||
'./src/**/*',
|
|
||||||
'!./src/client/**/*'
|
|
||||||
], { ignoreInitial: false }, gulp.task('build'));
|
|
||||||
});
|
|
17
index.js
17
index.js
@ -1,17 +0,0 @@
|
|||||||
/*
|
|
||||||
import * as fs from 'fs';
|
|
||||||
|
|
||||||
if (fs.existsSync('./built')) {
|
|
||||||
import('./built/index.js').then(built => built());
|
|
||||||
} else {
|
|
||||||
console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.');
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
if (fs.existsSync('./built')) {
|
|
||||||
require('./built').default();
|
|
||||||
} else {
|
|
||||||
console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.');
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -52,6 +52,7 @@ searchUser: "Vyhledat uživatele"
|
|||||||
reply: "Odpovědět"
|
reply: "Odpovědět"
|
||||||
loadMore: "Zobrazit více"
|
loadMore: "Zobrazit více"
|
||||||
showMore: "Zobrazit více"
|
showMore: "Zobrazit více"
|
||||||
|
youGotNewFollower: "Máte nového následovníka"
|
||||||
mention: "Zmínění"
|
mention: "Zmínění"
|
||||||
mentions: "Zmínění"
|
mentions: "Zmínění"
|
||||||
importAndExport: "Import a export"
|
importAndExport: "Import a export"
|
||||||
@ -87,7 +88,6 @@ clickToShow: "Klikněte pro zobrazení"
|
|||||||
sensitive: "NSFW"
|
sensitive: "NSFW"
|
||||||
add: "Přidat"
|
add: "Přidat"
|
||||||
reaction: "Reakce"
|
reaction: "Reakce"
|
||||||
reactionSettingDescription: "Vyberte Vaší oblíbenou reakci, kterou chcete připnout ve výběru."
|
|
||||||
reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
|
reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
|
||||||
rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
|
rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
|
||||||
attachCancel: "Odstranit přílohu"
|
attachCancel: "Odstranit přílohu"
|
||||||
@ -163,6 +163,7 @@ clearQueue: "Vyčistit frontu"
|
|||||||
clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
|
clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
|
||||||
clearCachedFiles: "Vyprázdnit mezipaměť"
|
clearCachedFiles: "Vyprázdnit mezipaměť"
|
||||||
blockedInstances: "Blokované instance"
|
blockedInstances: "Blokované instance"
|
||||||
|
noUsers: "Žádní uživatelé"
|
||||||
editProfile: "Upravit můj profil"
|
editProfile: "Upravit můj profil"
|
||||||
pinLimitExceeded: "Nemůžete připnout další poznámky."
|
pinLimitExceeded: "Nemůžete připnout další poznámky."
|
||||||
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
|
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
|
||||||
@ -170,6 +171,7 @@ done: "Hotovo"
|
|||||||
processing: "Zpracovávám"
|
processing: "Zpracovávám"
|
||||||
preview: "Náhled"
|
preview: "Náhled"
|
||||||
default: "Výchozí"
|
default: "Výchozí"
|
||||||
|
noCustomEmojis: "Bez Emoji"
|
||||||
blocked: "Blokováno"
|
blocked: "Blokováno"
|
||||||
suspended: "Suspendováno"
|
suspended: "Suspendováno"
|
||||||
all: "Vše"
|
all: "Vše"
|
||||||
@ -402,6 +404,9 @@ smtpPass: "Heslo"
|
|||||||
clearCache: "Vyprázdnit mezipaměť"
|
clearCache: "Vyprázdnit mezipaměť"
|
||||||
info: "Informace"
|
info: "Informace"
|
||||||
user: "Uživatelé"
|
user: "Uživatelé"
|
||||||
|
_email:
|
||||||
|
_follow:
|
||||||
|
title: "Máte nového následovníka"
|
||||||
_mfm:
|
_mfm:
|
||||||
mention: "Zmínění"
|
mention: "Zmínění"
|
||||||
quote: "Citovat"
|
quote: "Citovat"
|
||||||
@ -464,6 +469,7 @@ _pages:
|
|||||||
types:
|
types:
|
||||||
array: "Seznamy"
|
array: "Seznamy"
|
||||||
_notification:
|
_notification:
|
||||||
|
youWereFollowed: "Máte nového následovníka"
|
||||||
youWereInvitedToGroup: "Pozvat do skupiny"
|
youWereInvitedToGroup: "Pozvat do skupiny"
|
||||||
_types:
|
_types:
|
||||||
follow: "Sledovaní"
|
follow: "Sledovaní"
|
||||||
|
@ -106,7 +106,7 @@ clickToShow: "Zum Anzeigen anklicken"
|
|||||||
sensitive: "NSFW"
|
sensitive: "NSFW"
|
||||||
add: "Hinzufügen"
|
add: "Hinzufügen"
|
||||||
reaction: "Reaktionen"
|
reaction: "Reaktionen"
|
||||||
reactionSettingDescription: "Wähle die Reaktionen aus, die in der Reaktionsauswahl angezeigt werden sollen."
|
reactionSetting: "In der Reaktionsauswahl anzuzeigende Reaktionen"
|
||||||
reactionSettingDescription2: "Ziehe zum Anordnen, klicke zum Löschen, drücke + zum Hinzufügen"
|
reactionSettingDescription2: "Ziehe zum Anordnen, klicke zum Löschen, drücke + zum Hinzufügen"
|
||||||
rememberNoteVisibility: "Notizsichtbarkeit merken"
|
rememberNoteVisibility: "Notizsichtbarkeit merken"
|
||||||
attachCancel: "Anhang entfernen"
|
attachCancel: "Anhang entfernen"
|
||||||
@ -448,6 +448,7 @@ uiLanguage: "Sprache der Benutzeroberfläche"
|
|||||||
groupInvited: "Du wurdest in eine Gruppe eingeladen"
|
groupInvited: "Du wurdest in eine Gruppe eingeladen"
|
||||||
aboutX: "Über {x}"
|
aboutX: "Über {x}"
|
||||||
useOsNativeEmojis: "Eingebaute Emojis des Betriebssystems benutzen"
|
useOsNativeEmojis: "Eingebaute Emojis des Betriebssystems benutzen"
|
||||||
|
disableDrawer: "Keine ausfahrbaren Menüs verwenden"
|
||||||
youHaveNoGroups: "Keine Gruppen vorhanden"
|
youHaveNoGroups: "Keine Gruppen vorhanden"
|
||||||
joinOrCreateGroup: "Lass dich zu einer Gruppe einladen oder erstelle deine eigene."
|
joinOrCreateGroup: "Lass dich zu einer Gruppe einladen oder erstelle deine eigene."
|
||||||
noHistory: "Kein Verlauf"
|
noHistory: "Kein Verlauf"
|
||||||
@ -592,6 +593,7 @@ smtpSecure: "Für SMTP-Verbindungen implizit SSL/TLS verwenden"
|
|||||||
smtpSecureInfo: "Schalte dies aus, falls du STARTTLS verwendest"
|
smtpSecureInfo: "Schalte dies aus, falls du STARTTLS verwendest"
|
||||||
testEmail: "Email-Versand testen"
|
testEmail: "Email-Versand testen"
|
||||||
wordMute: "Wort-Stummschaltung"
|
wordMute: "Wort-Stummschaltung"
|
||||||
|
instanceMute: "Instanzstummschaltungen"
|
||||||
userSaysSomething: "{name} hat etwas gesagt"
|
userSaysSomething: "{name} hat etwas gesagt"
|
||||||
makeActive: "Aktivieren"
|
makeActive: "Aktivieren"
|
||||||
display: "Anzeigeart"
|
display: "Anzeigeart"
|
||||||
@ -612,7 +614,6 @@ regenerateLoginToken: "Anmeldungstoken regenerieren"
|
|||||||
regenerateLoginTokenDescription: "Den zur Anmeldung intern verwendeten Token regenerieren. Normalerweise wird dies nicht benötigt. Bei Regeneration werden alle Geräte ausgeloggt."
|
regenerateLoginTokenDescription: "Den zur Anmeldung intern verwendeten Token regenerieren. Normalerweise wird dies nicht benötigt. Bei Regeneration werden alle Geräte ausgeloggt."
|
||||||
setMultipleBySeparatingWithSpace: "Trenne Elemente durch ein Leerzeichen um mehrere Einstellungen zu kofigurieren."
|
setMultipleBySeparatingWithSpace: "Trenne Elemente durch ein Leerzeichen um mehrere Einstellungen zu kofigurieren."
|
||||||
fileIdOrUrl: "Datei-ID oder URL"
|
fileIdOrUrl: "Datei-ID oder URL"
|
||||||
chatOpenBehavior: "Verhalten des Chatfensters bei Öffnung"
|
|
||||||
behavior: "Verhalten"
|
behavior: "Verhalten"
|
||||||
sample: "Beispiel"
|
sample: "Beispiel"
|
||||||
abuseReports: "Meldungen"
|
abuseReports: "Meldungen"
|
||||||
@ -620,6 +621,8 @@ reportAbuse: "Melden"
|
|||||||
reportAbuseOf: "{name} melden"
|
reportAbuseOf: "{name} melden"
|
||||||
fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Meldung an. Falls es sich um eine spezielle Notiz handelt, bitte gib dessen URL an."
|
fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Meldung an. Falls es sich um eine spezielle Notiz handelt, bitte gib dessen URL an."
|
||||||
abuseReported: "Die Meldung wurde versendet. Vielen Dank."
|
abuseReported: "Die Meldung wurde versendet. Vielen Dank."
|
||||||
|
reporteeOrigin: "Herkunft des Gemeldeten"
|
||||||
|
reporterOrigin: "Herkunft des Meldenden"
|
||||||
send: "Senden"
|
send: "Senden"
|
||||||
abuseMarkAsResolved: "Meldung als gelöst markieren"
|
abuseMarkAsResolved: "Meldung als gelöst markieren"
|
||||||
openInNewTab: "In neuem Tab öffnen"
|
openInNewTab: "In neuem Tab öffnen"
|
||||||
@ -682,6 +685,7 @@ center: "Mitte"
|
|||||||
wide: "Breit"
|
wide: "Breit"
|
||||||
narrow: "Schmal"
|
narrow: "Schmal"
|
||||||
reloadToApplySetting: "Diese Einstellung tritt nach einer Aktualisierung der Seite in Kraft. Jetzt aktualisieren?"
|
reloadToApplySetting: "Diese Einstellung tritt nach einer Aktualisierung der Seite in Kraft. Jetzt aktualisieren?"
|
||||||
|
needReloadToApply: "Diese Einstellung tritt nach einer Aktualisierung der Seite in Kraft."
|
||||||
showTitlebar: "Titelleiste anzeigen"
|
showTitlebar: "Titelleiste anzeigen"
|
||||||
clearCache: "Cache leeren"
|
clearCache: "Cache leeren"
|
||||||
onlineUsersCount: "{n} Benutzer sind online"
|
onlineUsersCount: "{n} Benutzer sind online"
|
||||||
@ -790,15 +794,41 @@ pubSub: "Pub/Sub Benutzerkonten"
|
|||||||
lastCommunication: "Letzte Kommunikation"
|
lastCommunication: "Letzte Kommunikation"
|
||||||
resolved: "Gelöst"
|
resolved: "Gelöst"
|
||||||
unresolved: "Ungelöst"
|
unresolved: "Ungelöst"
|
||||||
|
breakFollow: "Follower entfernen"
|
||||||
itsOn: "Eingeschaltet"
|
itsOn: "Eingeschaltet"
|
||||||
itsOff: "Ausgeschaltet"
|
itsOff: "Ausgeschaltet"
|
||||||
emailRequiredForSignup: "Angaben einer Email-Adresse als benötigt markieren"
|
emailRequiredForSignup: "Angaben einer Email-Adresse als benötigt markieren"
|
||||||
unread: "Ungelesen"
|
unread: "Ungelesen"
|
||||||
filter: "Filter"
|
filter: "Filter"
|
||||||
|
controlPanel: "Systemsteuerung"
|
||||||
manageAccounts: "Benutzerkonten verwalten"
|
manageAccounts: "Benutzerkonten verwalten"
|
||||||
makeReactionsPublic: "Reaktionsverlauf veröffentlichen"
|
makeReactionsPublic: "Reaktionsverlauf veröffentlichen"
|
||||||
makeReactionsPublicDescription: "Jeder wird die Liste deiner gesendeten Reaktionen einsehen können."
|
makeReactionsPublicDescription: "Jeder wird die Liste deiner gesendeten Reaktionen einsehen können."
|
||||||
classic: "Classic"
|
classic: "Classic"
|
||||||
|
muteThread: "Thread stummschalten"
|
||||||
|
unmuteThread: "Threadstummschaltung aufheben"
|
||||||
|
ffVisibility: "Sichtbarkeit von Gefolgten/Followern"
|
||||||
|
ffVisibilityDescription: "Konfiguriere wer sehen kann, wem du folgst sowie wer dir folgt."
|
||||||
|
continueThread: "Weiteren Threadverlauf anzeigen"
|
||||||
|
deleteAccountConfirm: "Dein Benutzerkonto wird unwiderruflich gelöscht. Trotzdem fortfahren?"
|
||||||
|
incorrectPassword: "Falsches Passwort."
|
||||||
|
voteConfirm: "Wirklich für \"{choice}\" abstimmen?"
|
||||||
|
hide: "Inhalt verbergen"
|
||||||
|
leaveGroup: "Gruppe verlassen"
|
||||||
|
leaveGroupConfirm: "Möchtest du \"{name}\" wirklich verlassen?"
|
||||||
|
useDrawerReactionPickerForMobile: "Auf mobilen Geräten ausfahrbare Reaktionsauswahl anzeigen"
|
||||||
|
welcomeBackWithName: "Willkommen zurück, {name}"
|
||||||
|
clickToFinishEmailVerification: "Drücke bitte auf [{ok}], um die Email-Bestätigung abzuschließen."
|
||||||
|
_emailUnavailable:
|
||||||
|
used: "Diese Email-Adresse wird bereits verwendet"
|
||||||
|
format: "Das Format dieser Email-Adresse ist ungültig"
|
||||||
|
disposable: "Wegwerf-Email-Adressen können nicht verwendet werden"
|
||||||
|
mx: "Dieser Email-Server ist ungültig"
|
||||||
|
smtp: "Dieser Email-Server antwortet nicht"
|
||||||
|
_ffVisibility:
|
||||||
|
public: "Öffentlich"
|
||||||
|
followers: "Nur für Follower sichtbar"
|
||||||
|
private: "Privat"
|
||||||
_signup:
|
_signup:
|
||||||
almostThere: "Fast geschafft"
|
almostThere: "Fast geschafft"
|
||||||
emailAddressInfo: "Bitte gib deine Email-Adresse ein."
|
emailAddressInfo: "Bitte gib deine Email-Adresse ein."
|
||||||
@ -810,13 +840,6 @@ _accountDelete:
|
|||||||
requestAccountDelete: "Löschung des Benutzerkontos anfordern"
|
requestAccountDelete: "Löschung des Benutzerkontos anfordern"
|
||||||
started: "Löschung wurde eingeleitet."
|
started: "Löschung wurde eingeleitet."
|
||||||
inProgress: "Löschung in Bearbeitung"
|
inProgress: "Löschung in Bearbeitung"
|
||||||
_docs:
|
|
||||||
continueReading: "Mehr lesen"
|
|
||||||
features: "Funktionen"
|
|
||||||
generalTopics: "Allgemeine Themen"
|
|
||||||
advancedTopics: "Erweiterte Themen"
|
|
||||||
admin: "Administration"
|
|
||||||
translateWarn: "Dies ist ein übersetztes Dokument. Es kann zu Unterschieden mit dem Original kommen."
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "Zurück"
|
back: "Zurück"
|
||||||
reduceFrequencyOfThisAd: "Diese Werbung weniger anzeigen"
|
reduceFrequencyOfThisAd: "Diese Werbung weniger anzeigen"
|
||||||
@ -919,6 +942,8 @@ _mfm:
|
|||||||
rainbowDescription: "Lässt den Inhalt in Regenbogenfarben erscheinen."
|
rainbowDescription: "Lässt den Inhalt in Regenbogenfarben erscheinen."
|
||||||
sparkle: "Glitzer"
|
sparkle: "Glitzer"
|
||||||
sparkleDescription: "Verleiht Inhalt einen glitzernden Partikeleffekt."
|
sparkleDescription: "Verleiht Inhalt einen glitzernden Partikeleffekt."
|
||||||
|
rotate: "Drehen"
|
||||||
|
rotateDescription: "Dreht den Inhalt um einen angegebenen Winkel"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
gameSettings: "Spieleinstellungen"
|
gameSettings: "Spieleinstellungen"
|
||||||
@ -984,6 +1009,11 @@ _wordMute:
|
|||||||
soft: "Leicht"
|
soft: "Leicht"
|
||||||
hard: "Schwer"
|
hard: "Schwer"
|
||||||
mutedNotes: "Stummgeschaltete Notizen"
|
mutedNotes: "Stummgeschaltete Notizen"
|
||||||
|
_instanceMute:
|
||||||
|
instanceMuteDescription: "Schaltet alle Notizen/Renotes stumm, die von den gelisteten Instanzen stammen, inklusive Antworten von Benutzern an einen Benutzer einer stummgeschalteten Instanz."
|
||||||
|
instanceMuteDescription2: "Instanzen getrennt durch Zeilenumbrüchen angeben"
|
||||||
|
title: "Blendet Notizen von stummgeschalteten Instanzen aus."
|
||||||
|
heading: "Liste der stummzuschaltenden Instanzen"
|
||||||
_theme:
|
_theme:
|
||||||
explore: "Themen erforschen"
|
explore: "Themen erforschen"
|
||||||
install: "Thema installieren"
|
install: "Thema installieren"
|
||||||
@ -1257,6 +1287,8 @@ _exportOrImport:
|
|||||||
muteList: "Stummschaltungen"
|
muteList: "Stummschaltungen"
|
||||||
blockingList: "Blockierungen"
|
blockingList: "Blockierungen"
|
||||||
userLists: "Listen"
|
userLists: "Listen"
|
||||||
|
excludeMutingUsers: "Stummgeschaltete Benutzer aussortieren"
|
||||||
|
excludeInactiveUsers: "Inaktive Benutzer aussortieren"
|
||||||
_charts:
|
_charts:
|
||||||
federationInstancesIncDec: "Unterschied in der Anzahl von förderierenden Instanzen"
|
federationInstancesIncDec: "Unterschied in der Anzahl von förderierenden Instanzen"
|
||||||
federationInstancesTotal: "Anzahl aller föderierenden Instanzen"
|
federationInstancesTotal: "Anzahl aller föderierenden Instanzen"
|
||||||
|
@ -106,7 +106,7 @@ clickToShow: "Click to show"
|
|||||||
sensitive: "NSFW"
|
sensitive: "NSFW"
|
||||||
add: "Add"
|
add: "Add"
|
||||||
reaction: "Reactions"
|
reaction: "Reactions"
|
||||||
reactionSettingDescription: "Configure which reactions you want to display in the reaction picker."
|
reactionSetting: "Reactions to show in the reaction picker"
|
||||||
reactionSettingDescription2: "Drag to reorder, Click to delete, Press \"+\" to add"
|
reactionSettingDescription2: "Drag to reorder, Click to delete, Press \"+\" to add"
|
||||||
rememberNoteVisibility: "Remember note visibility settings"
|
rememberNoteVisibility: "Remember note visibility settings"
|
||||||
attachCancel: "Remove attachment"
|
attachCancel: "Remove attachment"
|
||||||
@ -137,7 +137,7 @@ addEmoji: "Add an emoji"
|
|||||||
settingGuide: "Recommended settings"
|
settingGuide: "Recommended settings"
|
||||||
cacheRemoteFiles: "Cache remote files"
|
cacheRemoteFiles: "Cache remote files"
|
||||||
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded directly from the remote instance. Disabling this will decrease storage usage, but increase traffic, as thumbnails will not be generated."
|
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded directly from the remote instance. Disabling this will decrease storage usage, but increase traffic, as thumbnails will not be generated."
|
||||||
flagAsBot: "Mark this account as as bot"
|
flagAsBot: "Mark this account as a bot"
|
||||||
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 chains with other bots and adjust Misskey's internal systems to treat this account as a bot."
|
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 chains with other bots and adjust Misskey's internal systems to treat this account as a bot."
|
||||||
flagAsCat: "Mark this account as a cat"
|
flagAsCat: "Mark this account as a cat"
|
||||||
flagAsCatDescription: "Enable this option to mark this account as a cat."
|
flagAsCatDescription: "Enable this option to mark this account as a cat."
|
||||||
@ -448,6 +448,7 @@ uiLanguage: "User interface language"
|
|||||||
groupInvited: "You've been invited to a group"
|
groupInvited: "You've been invited to a group"
|
||||||
aboutX: "About {x}"
|
aboutX: "About {x}"
|
||||||
useOsNativeEmojis: "Use OS native Emoji"
|
useOsNativeEmojis: "Use OS native Emoji"
|
||||||
|
disableDrawer: "Don't use drawer-style menus"
|
||||||
youHaveNoGroups: "You have no groups"
|
youHaveNoGroups: "You have no groups"
|
||||||
joinOrCreateGroup: "Get invited to a group or create your own."
|
joinOrCreateGroup: "Get invited to a group or create your own."
|
||||||
noHistory: "No history available"
|
noHistory: "No history available"
|
||||||
@ -592,6 +593,7 @@ smtpSecure: "Use implicit SSL/TLS for SMTP connections"
|
|||||||
smtpSecureInfo: "Turn this off when using STARTTLS"
|
smtpSecureInfo: "Turn this off when using STARTTLS"
|
||||||
testEmail: "Test email delivery"
|
testEmail: "Test email delivery"
|
||||||
wordMute: "Word mute"
|
wordMute: "Word mute"
|
||||||
|
instanceMute: "Instance mutes"
|
||||||
userSaysSomething: "{name} said something"
|
userSaysSomething: "{name} said something"
|
||||||
makeActive: "Activate"
|
makeActive: "Activate"
|
||||||
display: "Display"
|
display: "Display"
|
||||||
@ -612,7 +614,6 @@ regenerateLoginToken: "Regenerate login token"
|
|||||||
regenerateLoginTokenDescription: "Regenerate the token used internally during login. Normally this action is not necessary. If regenerated, all devices will be logged out."
|
regenerateLoginTokenDescription: "Regenerate the token used internally during login. Normally this action is not necessary. If regenerated, all devices will be logged out."
|
||||||
setMultipleBySeparatingWithSpace: "Separate multiple entries with spaces."
|
setMultipleBySeparatingWithSpace: "Separate multiple entries with spaces."
|
||||||
fileIdOrUrl: "File-ID or URL"
|
fileIdOrUrl: "File-ID or URL"
|
||||||
chatOpenBehavior: "Behavior of the chat window when opened"
|
|
||||||
behavior: "Behavior"
|
behavior: "Behavior"
|
||||||
sample: "Sample"
|
sample: "Sample"
|
||||||
abuseReports: "Reports"
|
abuseReports: "Reports"
|
||||||
@ -620,6 +621,8 @@ reportAbuse: "Report"
|
|||||||
reportAbuseOf: "Report {name}"
|
reportAbuseOf: "Report {name}"
|
||||||
fillAbuseReportDescription: "Please fill in details regarding this report. If it is about a specific note, please include its URL."
|
fillAbuseReportDescription: "Please fill in details regarding this report. If it is about a specific note, please include its URL."
|
||||||
abuseReported: "Your report has been sent. Thank you very much."
|
abuseReported: "Your report has been sent. Thank you very much."
|
||||||
|
reporteeOrigin: "Reportee Origin"
|
||||||
|
reporterOrigin: "Reporter Origin"
|
||||||
send: "Send"
|
send: "Send"
|
||||||
abuseMarkAsResolved: "Mark report as resolved"
|
abuseMarkAsResolved: "Mark report as resolved"
|
||||||
openInNewTab: "Open in new tab"
|
openInNewTab: "Open in new tab"
|
||||||
@ -682,6 +685,7 @@ center: "Center"
|
|||||||
wide: "Wide"
|
wide: "Wide"
|
||||||
narrow: "Narrow"
|
narrow: "Narrow"
|
||||||
reloadToApplySetting: "This setting will only apply after a page reload. Reload now?"
|
reloadToApplySetting: "This setting will only apply after a page reload. Reload now?"
|
||||||
|
needReloadToApply: "This setting will only apply after a page reload."
|
||||||
showTitlebar: "Show title bar"
|
showTitlebar: "Show title bar"
|
||||||
clearCache: "Clear cache"
|
clearCache: "Clear cache"
|
||||||
onlineUsersCount: "{n} users are online"
|
onlineUsersCount: "{n} users are online"
|
||||||
@ -800,6 +804,30 @@ manageAccounts: "Manage Accounts"
|
|||||||
makeReactionsPublic: "Set reaction history to public"
|
makeReactionsPublic: "Set reaction history to public"
|
||||||
makeReactionsPublicDescription: "This will make the list of all your past reactions publicly visible."
|
makeReactionsPublicDescription: "This will make the list of all your past reactions publicly visible."
|
||||||
classic: "Classic"
|
classic: "Classic"
|
||||||
|
muteThread: "Mute thread"
|
||||||
|
unmuteThread: "Unmute thread"
|
||||||
|
ffVisibility: "Follows/Followers Visibility"
|
||||||
|
ffVisibilityDescription: "Allows you to configure who can see who you follow and who follows you."
|
||||||
|
continueThread: "View thread continuation"
|
||||||
|
deleteAccountConfirm: "This will irreversibly delete your account. Proceed?"
|
||||||
|
incorrectPassword: "Incorrect password."
|
||||||
|
voteConfirm: "Confirm your vote for \"{choice}\"?"
|
||||||
|
hide: "Hide"
|
||||||
|
leaveGroup: "Leave Group"
|
||||||
|
leaveGroupConfirm: "Are you sure you want to leave \"{name}\"?"
|
||||||
|
useDrawerReactionPickerForMobile: "Display reaction picker as drawer on mobile"
|
||||||
|
welcomeBackWithName: "Welcome back, {name}"
|
||||||
|
clickToFinishEmailVerification: "Please click [{ok}] to complete email verification."
|
||||||
|
_emailUnavailable:
|
||||||
|
used: "This email address is already being used"
|
||||||
|
format: "The format of this email address is invalid"
|
||||||
|
disposable: "Disposable email addresses may not be used"
|
||||||
|
mx: "This email server is invalid"
|
||||||
|
smtp: "This email server is not responding"
|
||||||
|
_ffVisibility:
|
||||||
|
public: "Public"
|
||||||
|
followers: "Visible to followers only"
|
||||||
|
private: "Private"
|
||||||
_signup:
|
_signup:
|
||||||
almostThere: "Almost there"
|
almostThere: "Almost there"
|
||||||
emailAddressInfo: "Please enter your email address."
|
emailAddressInfo: "Please enter your email address."
|
||||||
@ -811,13 +839,6 @@ _accountDelete:
|
|||||||
requestAccountDelete: "Request account deletion"
|
requestAccountDelete: "Request account deletion"
|
||||||
started: "Deletion has been started."
|
started: "Deletion has been started."
|
||||||
inProgress: "Deletion is currently in progress"
|
inProgress: "Deletion is currently in progress"
|
||||||
_docs:
|
|
||||||
continueReading: "Read more"
|
|
||||||
features: "Features"
|
|
||||||
generalTopics: "General topics"
|
|
||||||
advancedTopics: "Advanced Topics"
|
|
||||||
admin: "Administration"
|
|
||||||
translateWarn: "This is a translated document. Its contents may differ from the original."
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "Back"
|
back: "Back"
|
||||||
reduceFrequencyOfThisAd: "Show this ad less"
|
reduceFrequencyOfThisAd: "Show this ad less"
|
||||||
@ -920,6 +941,8 @@ _mfm:
|
|||||||
rainbowDescription: "Makes the content appear in rainbow colors."
|
rainbowDescription: "Makes the content appear in rainbow colors."
|
||||||
sparkle: "Sparkle"
|
sparkle: "Sparkle"
|
||||||
sparkleDescription: "Gives content a sparkling particle effect."
|
sparkleDescription: "Gives content a sparkling particle effect."
|
||||||
|
rotate: "Rotate"
|
||||||
|
rotateDescription: "Turns content by a specified angle."
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
gameSettings: "Game settings"
|
gameSettings: "Game settings"
|
||||||
@ -985,6 +1008,11 @@ _wordMute:
|
|||||||
soft: "Soft"
|
soft: "Soft"
|
||||||
hard: "Hard"
|
hard: "Hard"
|
||||||
mutedNotes: "Muted notes"
|
mutedNotes: "Muted notes"
|
||||||
|
_instanceMute:
|
||||||
|
instanceMuteDescription: "This will mute any notes/renotes from the listed instances, including those of users replying to a user from a muted instance."
|
||||||
|
instanceMuteDescription2: "Separate with newlines"
|
||||||
|
title: "Hides notes from listed instances."
|
||||||
|
heading: "List of instances to be muted"
|
||||||
_theme:
|
_theme:
|
||||||
explore: "Explore Themes"
|
explore: "Explore Themes"
|
||||||
install: "Install a theme"
|
install: "Install a theme"
|
||||||
@ -1258,6 +1286,8 @@ _exportOrImport:
|
|||||||
muteList: "Muted users"
|
muteList: "Muted users"
|
||||||
blockingList: "Blocked users"
|
blockingList: "Blocked users"
|
||||||
userLists: "User lists"
|
userLists: "User lists"
|
||||||
|
excludeMutingUsers: "Exclude muted users"
|
||||||
|
excludeInactiveUsers: "Exclude inactive users"
|
||||||
_charts:
|
_charts:
|
||||||
federationInstancesIncDec: "Difference in # of federating instances"
|
federationInstancesIncDec: "Difference in # of federating instances"
|
||||||
federationInstancesTotal: "Total # of federating instances"
|
federationInstancesTotal: "Total # of federating instances"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -104,7 +104,6 @@ clickToShow: "Click para ver"
|
|||||||
sensitive: "Marcado como sensible"
|
sensitive: "Marcado como sensible"
|
||||||
add: "Agregar"
|
add: "Agregar"
|
||||||
reaction: "Reacción"
|
reaction: "Reacción"
|
||||||
reactionSettingDescription: "Asigne sus reacción favoritas que desean anclar en el selector de reacciones."
|
|
||||||
reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
|
reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
|
||||||
rememberNoteVisibility: "Recordar visibilidad"
|
rememberNoteVisibility: "Recordar visibilidad"
|
||||||
attachCancel: "Quitar adjunto"
|
attachCancel: "Quitar adjunto"
|
||||||
@ -610,7 +609,6 @@ regenerateLoginToken: "Regenerar token de login"
|
|||||||
regenerateLoginTokenDescription: "Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos."
|
regenerateLoginTokenDescription: "Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos."
|
||||||
setMultipleBySeparatingWithSpace: "Puedes añadir mas de uno, separado por espacios."
|
setMultipleBySeparatingWithSpace: "Puedes añadir mas de uno, separado por espacios."
|
||||||
fileIdOrUrl: "Id del archivo o URL"
|
fileIdOrUrl: "Id del archivo o URL"
|
||||||
chatOpenBehavior: "Comportamiento al abrir el chat"
|
|
||||||
behavior: "Comportamiento"
|
behavior: "Comportamiento"
|
||||||
sample: "Muestra"
|
sample: "Muestra"
|
||||||
abuseReports: "Reportes"
|
abuseReports: "Reportes"
|
||||||
@ -737,10 +735,10 @@ pubSub: "Cuentas Pub/Sub"
|
|||||||
lastCommunication: "Última comunicación"
|
lastCommunication: "Última comunicación"
|
||||||
resolved: "Resuelto"
|
resolved: "Resuelto"
|
||||||
unresolved: "Sin resolver"
|
unresolved: "Sin resolver"
|
||||||
|
controlPanel: "Panel de control"
|
||||||
|
hide: "Ocultar"
|
||||||
_accountDelete:
|
_accountDelete:
|
||||||
accountDelete: "Eliminar Cuenta"
|
accountDelete: "Eliminar Cuenta"
|
||||||
_docs:
|
|
||||||
admin: "Administrar"
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "Deseleccionar"
|
back: "Deseleccionar"
|
||||||
_gallery:
|
_gallery:
|
||||||
@ -769,6 +767,7 @@ _mfm:
|
|||||||
flip: "Echar de un capirotazo"
|
flip: "Echar de un capirotazo"
|
||||||
flipDescription: "Voltea el contenido hacia arriba / abajo o hacia la izquierda / derecha."
|
flipDescription: "Voltea el contenido hacia arriba / abajo o hacia la izquierda / derecha."
|
||||||
font: "Fuente"
|
font: "Fuente"
|
||||||
|
rotate: "Rotar"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
gameSettings: "Configuración del juego"
|
gameSettings: "Configuración del juego"
|
||||||
|
@ -106,7 +106,6 @@ clickToShow: "Cliquer pour afficher"
|
|||||||
sensitive: "Contenu sensible"
|
sensitive: "Contenu sensible"
|
||||||
add: "Ajouter"
|
add: "Ajouter"
|
||||||
reaction: "Réactions"
|
reaction: "Réactions"
|
||||||
reactionSettingDescription: "Choisissez vos réactions préférées que vous souhaitez épingler dans le sélecteur de réactions."
|
|
||||||
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter."
|
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter."
|
||||||
rememberNoteVisibility: "Activer l'option \" se souvenir de la visibilité des notes \" vous permet de réutiliser automatiquement la visibilité utilisée lors de la publication de votre note précédente."
|
rememberNoteVisibility: "Activer l'option \" se souvenir de la visibilité des notes \" vous permet de réutiliser automatiquement la visibilité utilisée lors de la publication de votre note précédente."
|
||||||
attachCancel: "Supprimer le fichier attaché"
|
attachCancel: "Supprimer le fichier attaché"
|
||||||
@ -612,7 +611,6 @@ regenerateLoginToken: "Régénérer le jeton de connexion"
|
|||||||
regenerateLoginTokenDescription: "Générer un nouveau jeton d'authentification. Cette opération ne devrait pas être nécessaire ; lors de la génération d'un nouveau jeton, tous les appareils seront déconnectés. "
|
regenerateLoginTokenDescription: "Générer un nouveau jeton d'authentification. Cette opération ne devrait pas être nécessaire ; lors de la génération d'un nouveau jeton, tous les appareils seront déconnectés. "
|
||||||
setMultipleBySeparatingWithSpace: "Vous pouvez en définir plusieurs, en les séparant par des espaces."
|
setMultipleBySeparatingWithSpace: "Vous pouvez en définir plusieurs, en les séparant par des espaces."
|
||||||
fileIdOrUrl: "ID du fichier ou URL"
|
fileIdOrUrl: "ID du fichier ou URL"
|
||||||
chatOpenBehavior: "Comportement de la fenêtre de discussion lors de son ouverture"
|
|
||||||
behavior: "Comportement"
|
behavior: "Comportement"
|
||||||
sample: "Exemple"
|
sample: "Exemple"
|
||||||
abuseReports: "Signalements"
|
abuseReports: "Signalements"
|
||||||
@ -797,6 +795,16 @@ unread: "Non lu"
|
|||||||
filter: "Filtre"
|
filter: "Filtre"
|
||||||
controlPanel: "Panneau de contrôle"
|
controlPanel: "Panneau de contrôle"
|
||||||
manageAccounts: "Gérer les comptes"
|
manageAccounts: "Gérer les comptes"
|
||||||
|
classic: "Classique"
|
||||||
|
hide: "Masquer"
|
||||||
|
_emailUnavailable:
|
||||||
|
format: "Le format de cette adresse de courriel est invalide"
|
||||||
|
mx: "Ce serveur de courriels est invalide"
|
||||||
|
smtp: "Ce serveur de courriels ne répond pas"
|
||||||
|
_ffVisibility:
|
||||||
|
public: "Public"
|
||||||
|
followers: "Visible uniquement pour les abonné·e·s"
|
||||||
|
private: "Privé"
|
||||||
_signup:
|
_signup:
|
||||||
almostThere: "Bientôt fini"
|
almostThere: "Bientôt fini"
|
||||||
emailAddressInfo: "Insérez votre adresse e-mail."
|
emailAddressInfo: "Insérez votre adresse e-mail."
|
||||||
@ -808,13 +816,6 @@ _accountDelete:
|
|||||||
requestAccountDelete: "Demander la suppression de votre compte"
|
requestAccountDelete: "Demander la suppression de votre compte"
|
||||||
started: "La procédure de suppression a commencé."
|
started: "La procédure de suppression a commencé."
|
||||||
inProgress: "Suppression en cours"
|
inProgress: "Suppression en cours"
|
||||||
_docs:
|
|
||||||
continueReading: "Lire plus"
|
|
||||||
features: "Fonctionnalités"
|
|
||||||
generalTopics: "Sujets généraux"
|
|
||||||
advancedTopics: "Sujets avancés"
|
|
||||||
admin: "Gestion"
|
|
||||||
translateWarn: "Ceci est une traduction dont le contenu peut différer du texte original."
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "Retour"
|
back: "Retour"
|
||||||
reduceFrequencyOfThisAd: "Voir cette publicité moins souvent"
|
reduceFrequencyOfThisAd: "Voir cette publicité moins souvent"
|
||||||
@ -917,6 +918,7 @@ _mfm:
|
|||||||
rainbowDescription: "Permet d'afficher le contenu en couleurs arc-en-ciel."
|
rainbowDescription: "Permet d'afficher le contenu en couleurs arc-en-ciel."
|
||||||
sparkle: "Paillettes"
|
sparkle: "Paillettes"
|
||||||
sparkleDescription: "Ajoute un effet scintillant au contenu."
|
sparkleDescription: "Ajoute un effet scintillant au contenu."
|
||||||
|
rotate: "Pivoter"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
gameSettings: "Réglages de la partie"
|
gameSettings: "Réglages de la partie"
|
||||||
|
@ -81,6 +81,8 @@ somethingHappened: "Terjadi kesalahan"
|
|||||||
retry: "Coba lagi"
|
retry: "Coba lagi"
|
||||||
pageLoadError: "Gagal memuat halaman."
|
pageLoadError: "Gagal memuat halaman."
|
||||||
pageLoadErrorDescription: "Umumnya disebabkan jaringan atau tembolok perambah. Cobalah bersihkan tembolok peramban lalu tunggu sesaat sebelum mencoba kembali."
|
pageLoadErrorDescription: "Umumnya disebabkan jaringan atau tembolok perambah. Cobalah bersihkan tembolok peramban lalu tunggu sesaat sebelum mencoba kembali."
|
||||||
|
serverIsDead: "Tidak ada respon dari server. Mohon tunggu dan coba beberapa saat lagi."
|
||||||
|
youShouldUpgradeClient: "Untuk melihat halaman ini, mohon muat ulang untuk memutakhirkan klienmu."
|
||||||
enterListName: "Masukkan nama daftar"
|
enterListName: "Masukkan nama daftar"
|
||||||
privacy: "Privasi"
|
privacy: "Privasi"
|
||||||
makeFollowManuallyApprove: "Permintaan mengikuti membutuhkan persetujuan"
|
makeFollowManuallyApprove: "Permintaan mengikuti membutuhkan persetujuan"
|
||||||
@ -104,7 +106,6 @@ clickToShow: "Klik untuk melihat"
|
|||||||
sensitive: "Konten sensitif"
|
sensitive: "Konten sensitif"
|
||||||
add: "Tambahkan"
|
add: "Tambahkan"
|
||||||
reaction: "Reaksi"
|
reaction: "Reaksi"
|
||||||
reactionSettingDescription: "Masukkan reaksi favorit yang ingin kamu sematkan pada bilah reaksi"
|
|
||||||
reactionSettingDescription2: "Geser untuk memindah urutkan, klik untuk menghapus, tekan \"+\" untuk menambahkan"
|
reactionSettingDescription2: "Geser untuk memindah urutkan, klik untuk menghapus, tekan \"+\" untuk menambahkan"
|
||||||
rememberNoteVisibility: "Ingat pengaturan visibilitas catatan"
|
rememberNoteVisibility: "Ingat pengaturan visibilitas catatan"
|
||||||
attachCancel: "Hapus lampiran"
|
attachCancel: "Hapus lampiran"
|
||||||
@ -529,6 +530,8 @@ removeAllFollowing: "Tahan semua mengikuti"
|
|||||||
removeAllFollowingDescription: "Batal mengikuti semua akun dari {host}. Mohon jalankan ini ketika instansi sudah tidak ada lagi."
|
removeAllFollowingDescription: "Batal mengikuti semua akun dari {host}. Mohon jalankan ini ketika instansi sudah tidak ada lagi."
|
||||||
userSuspended: "Pengguna ini telah dibekukan."
|
userSuspended: "Pengguna ini telah dibekukan."
|
||||||
userSilenced: "Pengguna ini telah dibungkam."
|
userSilenced: "Pengguna ini telah dibungkam."
|
||||||
|
yourAccountSuspendedTitle: "Akun ini dibekukan"
|
||||||
|
yourAccountSuspendedDescription: "Akun ini dibekukan karena melanggar ketentuan penggunaan layanan server atau semacamnya. Hubungi admin apabila ingin tahu alasan lebih lanjut. Mohon untuk tidak membuat akun baru."
|
||||||
menu: "Menu"
|
menu: "Menu"
|
||||||
divider: "Pembagi"
|
divider: "Pembagi"
|
||||||
addItem: "Tambahkan item"
|
addItem: "Tambahkan item"
|
||||||
@ -608,7 +611,6 @@ regenerateLoginToken: "Perbarui token login"
|
|||||||
regenerateLoginTokenDescription: "Perbarui token yang digunakan secara internal saat login. Normalnya aksi ini tidak diperlukan. Jika diperbarui, semua perangkat akan dilogout."
|
regenerateLoginTokenDescription: "Perbarui token yang digunakan secara internal saat login. Normalnya aksi ini tidak diperlukan. Jika diperbarui, semua perangkat akan dilogout."
|
||||||
setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkannya menggunakan spasi."
|
setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkannya menggunakan spasi."
|
||||||
fileIdOrUrl: "File-ID atau URL"
|
fileIdOrUrl: "File-ID atau URL"
|
||||||
chatOpenBehavior: "Perilaku jendelan obrolan ketika dibuka"
|
|
||||||
behavior: "Perilaku"
|
behavior: "Perilaku"
|
||||||
sample: "Contoh"
|
sample: "Contoh"
|
||||||
abuseReports: "Laporkan"
|
abuseReports: "Laporkan"
|
||||||
@ -616,6 +618,8 @@ reportAbuse: "Laporkan"
|
|||||||
reportAbuseOf: "Laporkan {name}"
|
reportAbuseOf: "Laporkan {name}"
|
||||||
fillAbuseReportDescription: "Mohon isi rincian laporan. Jika laporan ini mengenai catatan yang spesifik, mohon lampirkan serta URL catatan tersebut."
|
fillAbuseReportDescription: "Mohon isi rincian laporan. Jika laporan ini mengenai catatan yang spesifik, mohon lampirkan serta URL catatan tersebut."
|
||||||
abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
|
abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
|
||||||
|
reporteeOrigin: "Yang dilaporkan"
|
||||||
|
reporterOrigin: "Pelapor"
|
||||||
send: "Kirim"
|
send: "Kirim"
|
||||||
abuseMarkAsResolved: "Tandai laporan sebagai selesai"
|
abuseMarkAsResolved: "Tandai laporan sebagai selesai"
|
||||||
openInNewTab: "Buka di tab baru"
|
openInNewTab: "Buka di tab baru"
|
||||||
@ -762,6 +766,7 @@ middle: "Sedang"
|
|||||||
low: "Rendah"
|
low: "Rendah"
|
||||||
emailNotConfiguredWarning: "Alamat surel tidak disetel."
|
emailNotConfiguredWarning: "Alamat surel tidak disetel."
|
||||||
ratio: "Rasio"
|
ratio: "Rasio"
|
||||||
|
previewNoteText: "Tampilkan pratinjau"
|
||||||
customCss: "Custom CSS"
|
customCss: "Custom CSS"
|
||||||
customCssWarn: "Pengaturan ini seharusnya digunakan jika kamu tahu cara kerjanya. Memasukkan nilai yang tidak tepat dapat menyebabkan klien tidak berfungsi semestinya."
|
customCssWarn: "Pengaturan ini seharusnya digunakan jika kamu tahu cara kerjanya. Memasukkan nilai yang tidak tepat dapat menyebabkan klien tidak berfungsi semestinya."
|
||||||
global: "Global"
|
global: "Global"
|
||||||
@ -779,8 +784,45 @@ translate: "Terjemahkan"
|
|||||||
translatedFrom: "Terjemahkan dari {x}"
|
translatedFrom: "Terjemahkan dari {x}"
|
||||||
accountDeletionInProgress: "Penghapusan akun sedang dalam proses"
|
accountDeletionInProgress: "Penghapusan akun sedang dalam proses"
|
||||||
usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada server ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya."
|
usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada server ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya."
|
||||||
|
aiChanMode: "Mode Ai"
|
||||||
keepCw: "Biarkan Peringatan Konten"
|
keepCw: "Biarkan Peringatan Konten"
|
||||||
|
pubSub: "Akun Pub/Sub"
|
||||||
|
lastCommunication: "Komunikasi terakhir"
|
||||||
|
resolved: "Selesai"
|
||||||
|
unresolved: "Belum selesai"
|
||||||
|
itsOn: "Aktif"
|
||||||
|
itsOff: "Nonaktif"
|
||||||
|
emailRequiredForSignup: "Membutuhkan alamat surel untuk mendaftar"
|
||||||
|
unread: "Belum dibaca"
|
||||||
|
filter: "Saring"
|
||||||
controlPanel: "Panel kontrol"
|
controlPanel: "Panel kontrol"
|
||||||
|
manageAccounts: "Kelola Akun"
|
||||||
|
makeReactionsPublic: "Tampilkan riwayat reaksi ke publik"
|
||||||
|
makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua reaksi masa lalu kamu ditampilkan secara publik."
|
||||||
|
classic: "Klasik"
|
||||||
|
muteThread: "Bisukan thread"
|
||||||
|
unmuteThread: "Suarakan thread"
|
||||||
|
ffVisibility: "Visibilitas Mengikuti/Pengikut"
|
||||||
|
ffVisibilityDescription: "Mengatur siapa yang dapat melihat pengikutmu dan yang kamu ikuti."
|
||||||
|
continueThread: "Lihat lanjutan thread"
|
||||||
|
deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?"
|
||||||
|
incorrectPassword: "Kata sandi salah."
|
||||||
|
voteConfirm: "Konfirmasi suara kamu untuk ({choice})?"
|
||||||
|
hide: "Sembunyikan"
|
||||||
|
_emailUnavailable:
|
||||||
|
used: "Alamat surel ini telah digunakan"
|
||||||
|
format: "Format tidak valid."
|
||||||
|
disposable: "Alamat surel temporer tidak dapat digunakan"
|
||||||
|
mx: "Server alamat surel ini tidak valid"
|
||||||
|
smtp: "Server alamat surel ini tidak merespon"
|
||||||
|
_ffVisibility:
|
||||||
|
public: "Terbitkan"
|
||||||
|
followers: "Tampil untuk pengikut saja"
|
||||||
|
private: "Tersembunyi"
|
||||||
|
_signup:
|
||||||
|
almostThere: "Hampir selesai"
|
||||||
|
emailAddressInfo: "Mohon masukkan alamat surel kamu."
|
||||||
|
emailSent: "Konfirmasi surel telah dikirimkan ke alamat surel kamu ({email}). Mohon klik tautan yang tercantum di dalamnya untuk menyelesaikan pembuatan akun."
|
||||||
_accountDelete:
|
_accountDelete:
|
||||||
accountDelete: "Hapus akun"
|
accountDelete: "Hapus akun"
|
||||||
mayTakeTime: "Karena penghapusan akun merupakan proses yang berat dan intensif, kemungkinan dapat membutuhkan waktu untuk menyelesaikan tergantung daripada berapa banyak konten yang kamu buat dan berapa banyak berkas yang telah kamu unggah."
|
mayTakeTime: "Karena penghapusan akun merupakan proses yang berat dan intensif, kemungkinan dapat membutuhkan waktu untuk menyelesaikan tergantung daripada berapa banyak konten yang kamu buat dan berapa banyak berkas yang telah kamu unggah."
|
||||||
@ -788,13 +830,6 @@ _accountDelete:
|
|||||||
requestAccountDelete: "Minta penghapusan akun"
|
requestAccountDelete: "Minta penghapusan akun"
|
||||||
started: "Penghapusan telah dimulai"
|
started: "Penghapusan telah dimulai"
|
||||||
inProgress: "Penghapusan sedang dalam proses"
|
inProgress: "Penghapusan sedang dalam proses"
|
||||||
_docs:
|
|
||||||
continueReading: "Baca lebih lanjut"
|
|
||||||
features: "Fitur"
|
|
||||||
generalTopics: "Topik umum"
|
|
||||||
advancedTopics: "Topik tingkat lanjut"
|
|
||||||
admin: "Manajemen"
|
|
||||||
translateWarn: "Ini merupakan dokumen terjemahan. Konten di dalamnya kemungkinan dapat berbeda dari yang aslinya."
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "Kembali"
|
back: "Kembali"
|
||||||
reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit"
|
reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit"
|
||||||
@ -895,6 +930,10 @@ _mfm:
|
|||||||
fontDescription: "Setel font yang ditampilkan untuk konten."
|
fontDescription: "Setel font yang ditampilkan untuk konten."
|
||||||
rainbow: "Pelangi"
|
rainbow: "Pelangi"
|
||||||
rainbowDescription: "Membuat konten muncul dalam warna pelangi."
|
rainbowDescription: "Membuat konten muncul dalam warna pelangi."
|
||||||
|
sparkle: "Kelap-kelip"
|
||||||
|
sparkleDescription: "Memberikan konten efek partikel kelap-kelip."
|
||||||
|
rotate: "Putar"
|
||||||
|
rotateDescription: "Putar konten sesuai sudut yang ditentukan."
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
gameSettings: "Pengaturan permainan"
|
gameSettings: "Pengaturan permainan"
|
||||||
@ -1121,6 +1160,10 @@ _permissions:
|
|||||||
"write:user-groups": "Sunting atau hapus grup pengguna"
|
"write:user-groups": "Sunting atau hapus grup pengguna"
|
||||||
"read:channels": "Lihat saluran"
|
"read:channels": "Lihat saluran"
|
||||||
"write:channels": "Sunting saluran"
|
"write:channels": "Sunting saluran"
|
||||||
|
"read:gallery": "Lihat galeri"
|
||||||
|
"write:gallery": "Sunting galeri"
|
||||||
|
"read:gallery-likes": "Lihat daftar postingan galeri yang disukai"
|
||||||
|
"write:gallery-likes": "Sunting daftar postingan galeri yang disukai"
|
||||||
_auth:
|
_auth:
|
||||||
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
|
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
|
||||||
shareAccessAsk: "Apakah kamu ingin mengijinkan aplikasi ini untuk mengakses akun kamu?"
|
shareAccessAsk: "Apakah kamu ingin mengijinkan aplikasi ini untuk mengakses akun kamu?"
|
||||||
|
@ -19,9 +19,11 @@ const languages = [
|
|||||||
'da-DK',
|
'da-DK',
|
||||||
'de-DE',
|
'de-DE',
|
||||||
'en-US',
|
'en-US',
|
||||||
|
'eo-UY',
|
||||||
'es-ES',
|
'es-ES',
|
||||||
'fr-FR',
|
'fr-FR',
|
||||||
'id-ID',
|
'id-ID',
|
||||||
|
'it-IT',
|
||||||
'ja-JP',
|
'ja-JP',
|
||||||
'ja-KS',
|
'ja-KS',
|
||||||
'kab-KAB',
|
'kab-KAB',
|
||||||
@ -44,7 +46,10 @@ const primaries = {
|
|||||||
'zh': 'CN',
|
'zh': 'CN',
|
||||||
};
|
};
|
||||||
|
|
||||||
const locales = languages.reduce((a, c) => (a[c] = yaml.load(fs.readFileSync(`${__dirname}/${c}.yml`, 'utf-8')) || {}, a), {});
|
// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
|
||||||
|
const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '');
|
||||||
|
|
||||||
|
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(`${__dirname}/${c}.yml`, 'utf-8'))) || {}, a), {});
|
||||||
|
|
||||||
module.exports = Object.entries(locales)
|
module.exports = Object.entries(locales)
|
||||||
.reduce((a, [k ,v]) => (a[k] = (() => {
|
.reduce((a, [k ,v]) => (a[k] = (() => {
|
||||||
|
@ -103,7 +103,6 @@ clickToShow: "Clicca per visualizzare"
|
|||||||
sensitive: "Contenuto sensibile"
|
sensitive: "Contenuto sensibile"
|
||||||
add: "Aggiungi"
|
add: "Aggiungi"
|
||||||
reaction: "Reazione"
|
reaction: "Reazione"
|
||||||
reactionSettingDescription: "Scegli le reazioni che preferisci e fissale nel pannello di reazioni."
|
|
||||||
reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa il pulsante \"+\" per aggiungere."
|
reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa il pulsante \"+\" per aggiungere."
|
||||||
rememberNoteVisibility: "Ricordare le impostazioni di visibilità delle note"
|
rememberNoteVisibility: "Ricordare le impostazioni di visibilità delle note"
|
||||||
attachCancel: "Rimuovi allegato"
|
attachCancel: "Rimuovi allegato"
|
||||||
@ -591,7 +590,6 @@ other: "Avanzate"
|
|||||||
regenerateLoginToken: "Genera di nuovo un token di connessione"
|
regenerateLoginToken: "Genera di nuovo un token di connessione"
|
||||||
regenerateLoginTokenDescription: "Genera un nuovo token di autenticazione. Solitamente questa operazione non è necessaria: quando si genera un nuovo token, tutti i dispositivi vanno disconnessi."
|
regenerateLoginTokenDescription: "Genera un nuovo token di autenticazione. Solitamente questa operazione non è necessaria: quando si genera un nuovo token, tutti i dispositivi vanno disconnessi."
|
||||||
fileIdOrUrl: "ID o URL del file"
|
fileIdOrUrl: "ID o URL del file"
|
||||||
chatOpenBehavior: "Comportamento della finestra di chat quando viene aperta"
|
|
||||||
behavior: "Comportamento"
|
behavior: "Comportamento"
|
||||||
abuseReports: "Segnalazioni"
|
abuseReports: "Segnalazioni"
|
||||||
reportAbuse: "Segnalazioni"
|
reportAbuse: "Segnalazioni"
|
||||||
@ -745,10 +743,9 @@ global: "Federata"
|
|||||||
sent: "Inviare"
|
sent: "Inviare"
|
||||||
hashtags: "Hashtag"
|
hashtags: "Hashtag"
|
||||||
troubleshooting: "Risoluzione problemi"
|
troubleshooting: "Risoluzione problemi"
|
||||||
_docs:
|
hide: "Nascondere"
|
||||||
continueReading: "Leggi di più"
|
_ffVisibility:
|
||||||
features: "Funzionalità"
|
public: "Pubblico"
|
||||||
admin: "Gestione"
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "Indietro"
|
back: "Indietro"
|
||||||
reduceFrequencyOfThisAd: "Visualizza questa pubblicità meno spesso"
|
reduceFrequencyOfThisAd: "Visualizza questa pubblicità meno spesso"
|
||||||
@ -808,6 +805,7 @@ _mfm:
|
|||||||
font: "Tipo di carattere"
|
font: "Tipo di carattere"
|
||||||
fontDescription: "Puoi scegliere il tipo di carattere per il contenuto."
|
fontDescription: "Puoi scegliere il tipo di carattere per il contenuto."
|
||||||
rainbow: "Arcobaleno"
|
rainbow: "Arcobaleno"
|
||||||
|
rotate: "Ruota"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
gameSettings: "Impostazioni di gioco"
|
gameSettings: "Impostazioni di gioco"
|
||||||
|
@ -106,7 +106,7 @@ clickToShow: "クリックして表示"
|
|||||||
sensitive: "閲覧注意"
|
sensitive: "閲覧注意"
|
||||||
add: "追加"
|
add: "追加"
|
||||||
reaction: "リアクション"
|
reaction: "リアクション"
|
||||||
reactionSettingDescription: "リアクションピッカーに表示するリアクションを設定します。"
|
reactionSetting: "ピッカーに表示するリアクション"
|
||||||
reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。"
|
reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。"
|
||||||
rememberNoteVisibility: "公開範囲を記憶する"
|
rememberNoteVisibility: "公開範囲を記憶する"
|
||||||
attachCancel: "添付取り消し"
|
attachCancel: "添付取り消し"
|
||||||
@ -448,6 +448,7 @@ uiLanguage: "UIの表示言語"
|
|||||||
groupInvited: "グループに招待されました"
|
groupInvited: "グループに招待されました"
|
||||||
aboutX: "{x}について"
|
aboutX: "{x}について"
|
||||||
useOsNativeEmojis: "OSネイティブの絵文字を使用"
|
useOsNativeEmojis: "OSネイティブの絵文字を使用"
|
||||||
|
disableDrawer: "メニューをドロワーで表示しない"
|
||||||
youHaveNoGroups: "グループがありません"
|
youHaveNoGroups: "グループがありません"
|
||||||
joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループを作成してください。"
|
joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループを作成してください。"
|
||||||
noHistory: "履歴はありません"
|
noHistory: "履歴はありません"
|
||||||
@ -592,6 +593,7 @@ smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
|
|||||||
smtpSecureInfo: "STARTTLS使用時はオフにします。"
|
smtpSecureInfo: "STARTTLS使用時はオフにします。"
|
||||||
testEmail: "配信テスト"
|
testEmail: "配信テスト"
|
||||||
wordMute: "ワードミュート"
|
wordMute: "ワードミュート"
|
||||||
|
instanceMute: "インスタンスミュート"
|
||||||
userSaysSomething: "{name}が何かを言いました"
|
userSaysSomething: "{name}が何かを言いました"
|
||||||
makeActive: "アクティブにする"
|
makeActive: "アクティブにする"
|
||||||
display: "表示"
|
display: "表示"
|
||||||
@ -612,7 +614,6 @@ regenerateLoginToken: "ログイントークンを再生成"
|
|||||||
regenerateLoginTokenDescription: "ログインに使用される内部トークンを再生成します。通常この操作を行う必要はありません。再生成すると、全てのデバイスでログアウトされます。"
|
regenerateLoginTokenDescription: "ログインに使用される内部トークンを再生成します。通常この操作を行う必要はありません。再生成すると、全てのデバイスでログアウトされます。"
|
||||||
setMultipleBySeparatingWithSpace: "スペースで区切って複数設定できます。"
|
setMultipleBySeparatingWithSpace: "スペースで区切って複数設定できます。"
|
||||||
fileIdOrUrl: "ファイルIDまたはURL"
|
fileIdOrUrl: "ファイルIDまたはURL"
|
||||||
chatOpenBehavior: "チャットを開くときの動作"
|
|
||||||
behavior: "動作"
|
behavior: "動作"
|
||||||
sample: "サンプル"
|
sample: "サンプル"
|
||||||
abuseReports: "通報"
|
abuseReports: "通報"
|
||||||
@ -620,6 +621,8 @@ reportAbuse: "通報"
|
|||||||
reportAbuseOf: "{name}を通報する"
|
reportAbuseOf: "{name}を通報する"
|
||||||
fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のノートがある場合はそのURLも記入してください。"
|
fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のノートがある場合はそのURLも記入してください。"
|
||||||
abuseReported: "内容が送信されました。ご報告ありがとうございました。"
|
abuseReported: "内容が送信されました。ご報告ありがとうございました。"
|
||||||
|
reporteeOrigin: "通報先"
|
||||||
|
reporterOrigin: "通報元"
|
||||||
send: "送信"
|
send: "送信"
|
||||||
abuseMarkAsResolved: "対応済みにする"
|
abuseMarkAsResolved: "対応済みにする"
|
||||||
openInNewTab: "新しいタブで開く"
|
openInNewTab: "新しいタブで開く"
|
||||||
@ -682,6 +685,7 @@ center: "中央"
|
|||||||
wide: "広い"
|
wide: "広い"
|
||||||
narrow: "狭い"
|
narrow: "狭い"
|
||||||
reloadToApplySetting: "設定はページリロード後に反映されます。今すぐリロードしますか?"
|
reloadToApplySetting: "設定はページリロード後に反映されます。今すぐリロードしますか?"
|
||||||
|
needReloadToApply: "反映には再起動が必要です。"
|
||||||
showTitlebar: "タイトルバーを表示する"
|
showTitlebar: "タイトルバーを表示する"
|
||||||
clearCache: "キャッシュをクリア"
|
clearCache: "キャッシュをクリア"
|
||||||
onlineUsersCount: "{n}人がオンライン"
|
onlineUsersCount: "{n}人がオンライン"
|
||||||
@ -790,6 +794,7 @@ pubSub: "Pub/Subのアカウント"
|
|||||||
lastCommunication: "直近の通信"
|
lastCommunication: "直近の通信"
|
||||||
resolved: "解決済み"
|
resolved: "解決済み"
|
||||||
unresolved: "未解決"
|
unresolved: "未解決"
|
||||||
|
breakFollow: "フォロワーを解除"
|
||||||
itsOn: "オンになっています"
|
itsOn: "オンになっています"
|
||||||
itsOff: "オフになっています"
|
itsOff: "オフになっています"
|
||||||
emailRequiredForSignup: "アカウント登録にメールアドレスを必須にする"
|
emailRequiredForSignup: "アカウント登録にメールアドレスを必須にする"
|
||||||
@ -800,10 +805,36 @@ manageAccounts: "アカウントを管理"
|
|||||||
makeReactionsPublic: "リアクション一覧を公開する"
|
makeReactionsPublic: "リアクション一覧を公開する"
|
||||||
makeReactionsPublicDescription: "あなたがしたリアクション一覧を誰でも見れるようにします。"
|
makeReactionsPublicDescription: "あなたがしたリアクション一覧を誰でも見れるようにします。"
|
||||||
classic: "クラシック"
|
classic: "クラシック"
|
||||||
|
muteThread: "スレッドをミュート"
|
||||||
|
unmuteThread: "スレッドのミュートを解除"
|
||||||
|
ffVisibility: "つながりの公開範囲"
|
||||||
|
ffVisibilityDescription: "自分のフォロー/フォロワー情報の公開範囲を設定できます。"
|
||||||
|
continueThread: "さらにスレッドを見る"
|
||||||
|
deleteAccountConfirm: "アカウントが削除されます。よろしいですか?"
|
||||||
|
incorrectPassword: "パスワードが間違っています。"
|
||||||
|
voteConfirm: "「{choice}」に投票しますか?"
|
||||||
|
hide: "隠す"
|
||||||
|
leaveGroup: "グループから抜ける"
|
||||||
|
leaveGroupConfirm: "「{name}」から抜けますか?"
|
||||||
|
useDrawerReactionPickerForMobile: "モバイルデバイスのときドロワーで表示"
|
||||||
|
welcomeBackWithName: "おかえりなさい、{name}さん"
|
||||||
|
clickToFinishEmailVerification: "[{ok}]を押して、メールアドレスの確認を完了してください。"
|
||||||
|
|
||||||
|
_emailUnavailable:
|
||||||
|
used: "既に使用されています"
|
||||||
|
format: "形式が正しくありません"
|
||||||
|
disposable: "恒久的に使用可能なアドレスではありません"
|
||||||
|
mx: "正しいメールサーバーではありません"
|
||||||
|
smtp: "メールサーバーが応答しません"
|
||||||
|
|
||||||
|
_ffVisibility:
|
||||||
|
public: "公開"
|
||||||
|
followers: "フォロワーだけに公開"
|
||||||
|
private: "非公開"
|
||||||
|
|
||||||
_signup:
|
_signup:
|
||||||
almostThere: "ほとんど完了です"
|
almostThere: "ほとんど完了です"
|
||||||
emailAddressInfo: "あなたが使っているメールアドレスを入力してください。"
|
emailAddressInfo: "あなたが使っているメールアドレスを入力してください。メールアドレスが公開されることはありません。"
|
||||||
emailSent: "入力されたメールアドレス({email})宛に確認のメールが送信されました。メールに記載されたリンクにアクセスすると、アカウントの作成が完了します。"
|
emailSent: "入力されたメールアドレス({email})宛に確認のメールが送信されました。メールに記載されたリンクにアクセスすると、アカウントの作成が完了します。"
|
||||||
|
|
||||||
_accountDelete:
|
_accountDelete:
|
||||||
@ -814,14 +845,6 @@ _accountDelete:
|
|||||||
started: "削除処理が開始されました。"
|
started: "削除処理が開始されました。"
|
||||||
inProgress: "削除が進行中"
|
inProgress: "削除が進行中"
|
||||||
|
|
||||||
_docs:
|
|
||||||
continueReading: "続きを読む"
|
|
||||||
features: "機能"
|
|
||||||
generalTopics: "一般的なトピック"
|
|
||||||
advancedTopics: "高度なトピック"
|
|
||||||
admin: "管理"
|
|
||||||
translateWarn: "このドキュメントは翻訳されたものです。オリジナルとは内容が異なる場合があります。"
|
|
||||||
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "戻る"
|
back: "戻る"
|
||||||
reduceFrequencyOfThisAd: "この広告の表示頻度を下げる"
|
reduceFrequencyOfThisAd: "この広告の表示頻度を下げる"
|
||||||
@ -932,6 +955,8 @@ _mfm:
|
|||||||
rainbowDescription: "内容をレインボーにします。"
|
rainbowDescription: "内容をレインボーにします。"
|
||||||
sparkle: "キラキラ"
|
sparkle: "キラキラ"
|
||||||
sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。"
|
sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。"
|
||||||
|
rotate: "回転"
|
||||||
|
rotateDescription: "指定した角度で回転させます。"
|
||||||
|
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
@ -1004,6 +1029,12 @@ _wordMute:
|
|||||||
hard: "ハード"
|
hard: "ハード"
|
||||||
mutedNotes: "ミュートされたノート"
|
mutedNotes: "ミュートされたノート"
|
||||||
|
|
||||||
|
_instanceMute:
|
||||||
|
instanceMuteDescription: "ミュートしたインスタンスのユーザーへの返信を含めて、設定したインスタンスの全てのノートとRenoteをミュートします。"
|
||||||
|
instanceMuteDescription2: "改行で区切って設定します"
|
||||||
|
title: "設定したインスタンスのノートを隠します。"
|
||||||
|
heading: "ミュートするインスタンス"
|
||||||
|
|
||||||
_theme:
|
_theme:
|
||||||
explore: "テーマを探す"
|
explore: "テーマを探す"
|
||||||
install: "テーマのインストール"
|
install: "テーマのインストール"
|
||||||
@ -1294,6 +1325,8 @@ _exportOrImport:
|
|||||||
muteList: "ミュート"
|
muteList: "ミュート"
|
||||||
blockingList: "ブロック"
|
blockingList: "ブロック"
|
||||||
userLists: "リスト"
|
userLists: "リスト"
|
||||||
|
excludeMutingUsers: "ミュートしているユーザーを除外"
|
||||||
|
excludeInactiveUsers: "使われていないアカウントを除外"
|
||||||
|
|
||||||
_charts:
|
_charts:
|
||||||
federationInstancesIncDec: "連合の増減"
|
federationInstancesIncDec: "連合の増減"
|
||||||
|
@ -104,7 +104,6 @@ clickToShow: "押したら見えるで"
|
|||||||
sensitive: "ちょっとアカンやつやで"
|
sensitive: "ちょっとアカンやつやで"
|
||||||
add: "増やす"
|
add: "増やす"
|
||||||
reaction: "リアクション"
|
reaction: "リアクション"
|
||||||
reactionSettingDescription: "リアクションピッカーに出しとくリアクションを選んでや。"
|
|
||||||
reactionSettingDescription2: "ドラッグで並び替え、クリックで削除、+を押して追加やで。"
|
reactionSettingDescription2: "ドラッグで並び替え、クリックで削除、+を押して追加やで。"
|
||||||
rememberNoteVisibility: "公開範囲覚えといて"
|
rememberNoteVisibility: "公開範囲覚えといて"
|
||||||
attachCancel: "のっけるのやめる"
|
attachCancel: "のっけるのやめる"
|
||||||
@ -204,7 +203,7 @@ noJobs: "ジョブはあらへん"
|
|||||||
federating: "連合しとる"
|
federating: "連合しとる"
|
||||||
blocked: "ブロックしとる"
|
blocked: "ブロックしとる"
|
||||||
suspended: "配信せぇへん"
|
suspended: "配信せぇへん"
|
||||||
all: "みな"
|
all: "みんな"
|
||||||
subscribing: "購読しとる"
|
subscribing: "購読しとる"
|
||||||
publishing: "配信しとる"
|
publishing: "配信しとる"
|
||||||
notResponding: "応答してへんで"
|
notResponding: "応答してへんで"
|
||||||
@ -653,8 +652,7 @@ low: "低い"
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
sent: "送信"
|
sent: "送信"
|
||||||
hashtags: "ハッシュタグ"
|
hashtags: "ハッシュタグ"
|
||||||
_docs:
|
hide: "隠す"
|
||||||
admin: "管理"
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "戻る"
|
back: "戻る"
|
||||||
_gallery:
|
_gallery:
|
||||||
@ -702,6 +700,7 @@ _mfm:
|
|||||||
spin: "アニメーション(回転)"
|
spin: "アニメーション(回転)"
|
||||||
blur: "ぼかし"
|
blur: "ぼかし"
|
||||||
font: "フォント"
|
font: "フォント"
|
||||||
|
rotate: "回転"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
gameSettings: "対局の設定"
|
gameSettings: "対局の設定"
|
||||||
@ -849,7 +848,7 @@ _permissions:
|
|||||||
_auth:
|
_auth:
|
||||||
permissionAsk: "このアプリは次の権限を要求しとるで"
|
permissionAsk: "このアプリは次の権限を要求しとるで"
|
||||||
_antennaSources:
|
_antennaSources:
|
||||||
all: "みなのノート"
|
all: "みんなのノート"
|
||||||
homeTimeline: "フォローしとるユーザーのノート"
|
homeTimeline: "フォローしとるユーザーのノート"
|
||||||
_weekday:
|
_weekday:
|
||||||
sunday: "日曜日"
|
sunday: "日曜日"
|
||||||
@ -897,7 +896,7 @@ _poll:
|
|||||||
votesCount: "{n}票"
|
votesCount: "{n}票"
|
||||||
vote: "投票する"
|
vote: "投票する"
|
||||||
_visibility:
|
_visibility:
|
||||||
publicDescription: "みなのユーザーに公開"
|
publicDescription: "みんなに公開"
|
||||||
home: "ホーム"
|
home: "ホーム"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
_profile:
|
_profile:
|
||||||
|
@ -81,6 +81,8 @@ somethingHappened: "오류가 발생했습니다"
|
|||||||
retry: "다시 시도"
|
retry: "다시 시도"
|
||||||
pageLoadError: "페이지를 불러오지 못했습니다."
|
pageLoadError: "페이지를 불러오지 못했습니다."
|
||||||
pageLoadErrorDescription: "네트워크 연결 또는 브라우저 캐시로 인해 발생했을 가능성이 높습니다. 캐시를 삭제하거나, 잠시 후 다시 시도해 주세요."
|
pageLoadErrorDescription: "네트워크 연결 또는 브라우저 캐시로 인해 발생했을 가능성이 높습니다. 캐시를 삭제하거나, 잠시 후 다시 시도해 주세요."
|
||||||
|
serverIsDead: "서버로부터 응답이 없습니다. 잠시 후 다시 시도해주세요."
|
||||||
|
youShouldUpgradeClient: "이 페이지를 표시하려면 새로고침하여 새로운 버전의 클라이언트를 이용해 주십시오."
|
||||||
enterListName: "리스트 이름을 입력"
|
enterListName: "리스트 이름을 입력"
|
||||||
privacy: "프라이버시"
|
privacy: "프라이버시"
|
||||||
makeFollowManuallyApprove: "팔로우를 수동으로 승인"
|
makeFollowManuallyApprove: "팔로우를 수동으로 승인"
|
||||||
@ -104,7 +106,6 @@ clickToShow: "클릭하여 보기"
|
|||||||
sensitive: "열람주의"
|
sensitive: "열람주의"
|
||||||
add: "추가"
|
add: "추가"
|
||||||
reaction: "리액션"
|
reaction: "리액션"
|
||||||
reactionSettingDescription: "리액션 선택 상자에 표시할 리액션을 설정합니다."
|
|
||||||
reactionSettingDescription2: "끌어서 순서 변경, 클릭해서 삭제, +를 눌러서 추가할 수 있습니다."
|
reactionSettingDescription2: "끌어서 순서 변경, 클릭해서 삭제, +를 눌러서 추가할 수 있습니다."
|
||||||
rememberNoteVisibility: "공개 범위를 기억하기"
|
rememberNoteVisibility: "공개 범위를 기억하기"
|
||||||
attachCancel: "첨부 취소"
|
attachCancel: "첨부 취소"
|
||||||
@ -590,6 +591,7 @@ smtpSecure: "SMTP 연결에 Implicit SSL/TTS 사용"
|
|||||||
smtpSecureInfo: "STARTTLS 사용 시에는 해제합니다."
|
smtpSecureInfo: "STARTTLS 사용 시에는 해제합니다."
|
||||||
testEmail: "이메일 전송 테스트"
|
testEmail: "이메일 전송 테스트"
|
||||||
wordMute: "단어 뮤트"
|
wordMute: "단어 뮤트"
|
||||||
|
instanceMute: "인스턴스 뮤트"
|
||||||
userSaysSomething: "{name}님이 무언가를 말했습니다"
|
userSaysSomething: "{name}님이 무언가를 말했습니다"
|
||||||
makeActive: "활성화"
|
makeActive: "활성화"
|
||||||
display: "표시"
|
display: "표시"
|
||||||
@ -610,7 +612,6 @@ regenerateLoginToken: "로그인 토큰을 재생성"
|
|||||||
regenerateLoginTokenDescription: "로그인할 때 사용되는 내부 토큰을 재생성합니다. 일반적으로 이 작업을 실행할 필요는 없습니다. 이 기능을 사용하면 이 계정으로 로그인한 모든 기기에서 로그아웃됩니다."
|
regenerateLoginTokenDescription: "로그인할 때 사용되는 내부 토큰을 재생성합니다. 일반적으로 이 작업을 실행할 필요는 없습니다. 이 기능을 사용하면 이 계정으로 로그인한 모든 기기에서 로그아웃됩니다."
|
||||||
setMultipleBySeparatingWithSpace: "공백으로 구분하여 여러 개 설정할 수 있습니다."
|
setMultipleBySeparatingWithSpace: "공백으로 구분하여 여러 개 설정할 수 있습니다."
|
||||||
fileIdOrUrl: "파일 ID 또는 URL"
|
fileIdOrUrl: "파일 ID 또는 URL"
|
||||||
chatOpenBehavior: "대화를 열 때의 동작"
|
|
||||||
behavior: "동작"
|
behavior: "동작"
|
||||||
sample: "예시"
|
sample: "예시"
|
||||||
abuseReports: "신고"
|
abuseReports: "신고"
|
||||||
@ -618,6 +619,8 @@ reportAbuse: "신고"
|
|||||||
reportAbuseOf: "{name}을 신고하기"
|
reportAbuseOf: "{name}을 신고하기"
|
||||||
fillAbuseReportDescription: "신고하려는 이유를 자세히 알려주세요. 특정 게시물을 신고할 때에는 게시물의 URL도 포함해 주세요."
|
fillAbuseReportDescription: "신고하려는 이유를 자세히 알려주세요. 특정 게시물을 신고할 때에는 게시물의 URL도 포함해 주세요."
|
||||||
abuseReported: "신고를 보냈습니다. 신고해 주셔서 감사합니다."
|
abuseReported: "신고를 보냈습니다. 신고해 주셔서 감사합니다."
|
||||||
|
reporteeOrigin: "피신고자"
|
||||||
|
reporterOrigin: "신고자"
|
||||||
send: "전송"
|
send: "전송"
|
||||||
abuseMarkAsResolved: "해결됨으로 표시"
|
abuseMarkAsResolved: "해결됨으로 표시"
|
||||||
openInNewTab: "새 탭에서 열기"
|
openInNewTab: "새 탭에서 열기"
|
||||||
@ -764,6 +767,7 @@ middle: "보통"
|
|||||||
low: "낮음"
|
low: "낮음"
|
||||||
emailNotConfiguredWarning: "메일 주소가 설정되어 있지 않습니다."
|
emailNotConfiguredWarning: "메일 주소가 설정되어 있지 않습니다."
|
||||||
ratio: "비율"
|
ratio: "비율"
|
||||||
|
previewNoteText: "본문 미리보기"
|
||||||
customCss: "CSS 사용자화"
|
customCss: "CSS 사용자화"
|
||||||
customCssWarn: "이 설정은 기능을 알고 있는 경우에만 사용해야 합니다. 잘못된 값을 입력하면 클라이언트가 정상적으로 작동하지 않을 수 있습니다."
|
customCssWarn: "이 설정은 기능을 알고 있는 경우에만 사용해야 합니다. 잘못된 값을 입력하면 클라이언트가 정상적으로 작동하지 않을 수 있습니다."
|
||||||
global: "글로벌"
|
global: "글로벌"
|
||||||
@ -787,7 +791,40 @@ pubSub: "Pub/Sub 계정"
|
|||||||
lastCommunication: "마지막 통신"
|
lastCommunication: "마지막 통신"
|
||||||
resolved: "해결됨"
|
resolved: "해결됨"
|
||||||
unresolved: "해결되지 않음"
|
unresolved: "해결되지 않음"
|
||||||
|
breakFollow: "팔로워 해제"
|
||||||
|
itsOn: "켜짐"
|
||||||
|
itsOff: "꺼짐"
|
||||||
|
emailRequiredForSignup: "가입할 때 이메일 주소 입력을 필수로 하기"
|
||||||
|
unread: "읽지 않음"
|
||||||
|
filter: "필터"
|
||||||
controlPanel: "제어판"
|
controlPanel: "제어판"
|
||||||
|
manageAccounts: "계정 관리"
|
||||||
|
makeReactionsPublic: "리액션 목록을 공개하기"
|
||||||
|
makeReactionsPublicDescription: "나의 리액션을 누구나 볼 수 있게 합니다."
|
||||||
|
classic: "클래식"
|
||||||
|
muteThread: "이 글타래를 뮤트"
|
||||||
|
unmuteThread: "글타래 뮤트 해제"
|
||||||
|
ffVisibility: "내 인맥의 공개 범위"
|
||||||
|
ffVisibilityDescription: "나의 팔로우와 팔로워 정보에 대한 공개 범위를 설정할 수 있습니다."
|
||||||
|
continueThread: "이 글타래 이어서 보기"
|
||||||
|
deleteAccountConfirm: "계정이 삭제되고 되돌릴 수 없게 됩니다. 계속하시겠습니까? "
|
||||||
|
incorrectPassword: "비밀번호가 올바르지 않습니다."
|
||||||
|
voteConfirm: "\"{choice}\"에 투표하시겠습니까?"
|
||||||
|
hide: "숨기기"
|
||||||
|
_emailUnavailable:
|
||||||
|
used: "이 메일 주소는 사용중입니다"
|
||||||
|
format: "형식이 올바르지 않습니다"
|
||||||
|
disposable: "임시 이메일 주소는 사용할 수 없습니다"
|
||||||
|
mx: "메일 서버가 올바르지 않습니다"
|
||||||
|
smtp: "메일 서버가 응답하지 않습니다"
|
||||||
|
_ffVisibility:
|
||||||
|
public: "공개"
|
||||||
|
followers: "팔로워에게만 공개"
|
||||||
|
private: "비공개"
|
||||||
|
_signup:
|
||||||
|
almostThere: "거의 다 끝났습니다"
|
||||||
|
emailAddressInfo: "당신이 사용하고 있는 이메일 주소를 입력해 주세요. 이메일 주소는 다른 유저에게 공개되지 않습니다."
|
||||||
|
emailSent: "입력하신 메일 주소({email})로 확인 메일을 보내드렸습니다. 가입을 완료하시려면 보내드린 메일에 있는 링크로 접속해 주세요."
|
||||||
_accountDelete:
|
_accountDelete:
|
||||||
accountDelete: "계정 삭제"
|
accountDelete: "계정 삭제"
|
||||||
mayTakeTime: "계정 삭제는 서버에 부하를 가하기 때문에, 작성한 콘텐츠나 업로드한 파일의 수가 많으면 완료까지 시간이 걸릴 수 있습니다."
|
mayTakeTime: "계정 삭제는 서버에 부하를 가하기 때문에, 작성한 콘텐츠나 업로드한 파일의 수가 많으면 완료까지 시간이 걸릴 수 있습니다."
|
||||||
@ -795,13 +832,6 @@ _accountDelete:
|
|||||||
requestAccountDelete: "계정 삭제 요청"
|
requestAccountDelete: "계정 삭제 요청"
|
||||||
started: "삭제 작업이 시작되었습니다."
|
started: "삭제 작업이 시작되었습니다."
|
||||||
inProgress: "삭제 진행 중"
|
inProgress: "삭제 진행 중"
|
||||||
_docs:
|
|
||||||
continueReading: "계속 읽기"
|
|
||||||
features: "기능"
|
|
||||||
generalTopics: "일반 주제"
|
|
||||||
advancedTopics: "심화 주제"
|
|
||||||
admin: "관리"
|
|
||||||
translateWarn: "이 문서는 번역되었기 때문에 원본과는 내용이 다를 수 있습니다."
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "뒤로"
|
back: "뒤로"
|
||||||
reduceFrequencyOfThisAd: "이 광고의 표시 빈도 낮추기"
|
reduceFrequencyOfThisAd: "이 광고의 표시 빈도 낮추기"
|
||||||
@ -904,6 +934,8 @@ _mfm:
|
|||||||
rainbowDescription: "내용을 무지개로 표시합니다."
|
rainbowDescription: "내용을 무지개로 표시합니다."
|
||||||
sparkle: "반짝반짝"
|
sparkle: "반짝반짝"
|
||||||
sparkleDescription: "반짝이는 파티클 효과를 추가합니다."
|
sparkleDescription: "반짝이는 파티클 효과를 추가합니다."
|
||||||
|
rotate: "회전"
|
||||||
|
rotateDescription: "지정한 각도로 회전시킵니다."
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "리버시"
|
reversi: "리버시"
|
||||||
gameSettings: "대국 설정"
|
gameSettings: "대국 설정"
|
||||||
@ -969,6 +1001,11 @@ _wordMute:
|
|||||||
soft: "보통"
|
soft: "보통"
|
||||||
hard: "보다 높은 수준"
|
hard: "보다 높은 수준"
|
||||||
mutedNotes: "뮤트된 노트"
|
mutedNotes: "뮤트된 노트"
|
||||||
|
_instanceMute:
|
||||||
|
instanceMuteDescription: "뮤트한 인스턴스에서 오는 답글을 포함한 모든 노트와 Renote를 뮤트합니다."
|
||||||
|
instanceMuteDescription2: "한 줄에 하나씩 입력해 주세요"
|
||||||
|
title: "지정한 인스턴스의 노트를 숨깁니다."
|
||||||
|
heading: "뮤트할 인스턴스"
|
||||||
_theme:
|
_theme:
|
||||||
explore: "테마 찾아보기"
|
explore: "테마 찾아보기"
|
||||||
install: "테마 설치"
|
install: "테마 설치"
|
||||||
@ -1242,6 +1279,8 @@ _exportOrImport:
|
|||||||
muteList: "뮤트"
|
muteList: "뮤트"
|
||||||
blockingList: "차단"
|
blockingList: "차단"
|
||||||
userLists: "리스트"
|
userLists: "리스트"
|
||||||
|
excludeMutingUsers: "뮤트한 유저 제외하기"
|
||||||
|
excludeInactiveUsers: "휴면 중인 계정 제외하기"
|
||||||
_charts:
|
_charts:
|
||||||
federationInstancesIncDec: "연합 인스턴스 수 증감"
|
federationInstancesIncDec: "연합 인스턴스 수 증감"
|
||||||
federationInstancesTotal: "연합 인스턴스 수 합계"
|
federationInstancesTotal: "연합 인스턴스 수 합계"
|
||||||
|
@ -1,3 +1,336 @@
|
|||||||
---
|
---
|
||||||
_lang_: "Nederlands"
|
_lang_: "Nederlands"
|
||||||
headlineMisskey: "Netwerk verbonden door notities"
|
headlineMisskey: "Netwerk verbonden door notities"
|
||||||
|
introMisskey: "Welkom! Misskey is een open source, gedecentraliseerde microblogdienst.\nMaak \"notities\" om je gedachten te delen met iedereen om je heen. 📡\nMet \"reacties\" kun je ook snel je mening geven over berichten van anderen. 👍\nLaten we een nieuwe wereld verkennen! 🚀"
|
||||||
|
monthAndDay: "{day} {month}"
|
||||||
|
search: "Zoeken"
|
||||||
|
notifications: "Meldingen"
|
||||||
|
username: "Gebruikersnaam"
|
||||||
|
password: "Wachtwoord"
|
||||||
|
forgotPassword: "Wachtwoord vergeten"
|
||||||
|
fetchingAsApObject: "Ophalen vanuit de Fediverse"
|
||||||
|
ok: "Ok"
|
||||||
|
gotIt: "Begrepen"
|
||||||
|
cancel: "Annuleren"
|
||||||
|
enterUsername: "Voer een gebruikersnaam in"
|
||||||
|
renotedBy: "Hergedeeld door {user}"
|
||||||
|
noNotes: "Geen notities"
|
||||||
|
noNotifications: "Geen meldingen"
|
||||||
|
instance: "Server"
|
||||||
|
settings: "Instellingen"
|
||||||
|
basicSettings: "Basisinstellingen"
|
||||||
|
otherSettings: "Overige instellingen"
|
||||||
|
openInWindow: "In een venster openen"
|
||||||
|
profile: "Profiel"
|
||||||
|
timeline: "Tijdlijn"
|
||||||
|
noAccountDescription: "Deze gebruiker heeft nog geen bio geschreven"
|
||||||
|
login: "Inloggen"
|
||||||
|
loggingIn: "Aan het inloggen"
|
||||||
|
logout: "Afmelden"
|
||||||
|
signup: "Registreren"
|
||||||
|
uploading: "Bezig met uploaden"
|
||||||
|
save: "Opslaan"
|
||||||
|
users: "Gebruikers"
|
||||||
|
addUser: "Toevoegen gebruiker"
|
||||||
|
favorite: "Favorieten"
|
||||||
|
favorites: "Toevoegen aan favorieten"
|
||||||
|
unfavorite: "Verwijderen uit favorieten"
|
||||||
|
favorited: "Toegevoegd aan favorieten."
|
||||||
|
alreadyFavorited: "Al toegevoegd aan favorieten"
|
||||||
|
cantFavorite: "Kon niet toevoegen aan favorieten"
|
||||||
|
pin: "Vastmaken aan profielpagina"
|
||||||
|
unpin: "Losmaken van profielpagina"
|
||||||
|
copyContent: "Kopiëren inhoud"
|
||||||
|
copyLink: "Kopiëren link"
|
||||||
|
delete: "Verwijderen"
|
||||||
|
deleteAndEdit: "Verwijderen en bewerken"
|
||||||
|
deleteAndEditConfirm: "Weet je zeker dat je deze notitie wilt verwijderen en dan bewerken? Je verliest alle reacties, herdelingen en antwoorden erop."
|
||||||
|
addToList: "Aan lijst toevoegen"
|
||||||
|
sendMessage: "Verstuur bericht"
|
||||||
|
copyUsername: "Kopiëren gebruikersnaam "
|
||||||
|
searchUser: "Zoeken een gebruiker"
|
||||||
|
reply: "Antwoord"
|
||||||
|
loadMore: "Laad meer"
|
||||||
|
showMore: "Toon meer"
|
||||||
|
youGotNewFollower: "volgde jou"
|
||||||
|
receiveFollowRequest: "Volgverzoek ontvangen"
|
||||||
|
followRequestAccepted: "Volgverzoek geaccepteerd"
|
||||||
|
mention: "Vermelding"
|
||||||
|
mentions: "Vermeldingen"
|
||||||
|
directNotes: "Directe notities"
|
||||||
|
importAndExport: "Import / export"
|
||||||
|
import: "Import"
|
||||||
|
export: "Export"
|
||||||
|
files: "Bestanden"
|
||||||
|
download: "Downloaden"
|
||||||
|
driveFileDeleteConfirm: "Weet je zeker dat je het bestand \"{name}\" wilt verwijderen? Notities met dit bestand als bijlage worden ook verwijderd."
|
||||||
|
unfollowConfirm: "Weet je zeker dat je {name} wilt ontvolgen?"
|
||||||
|
exportRequested: "Je hebt een export aangevraagd. Dit kan een tijdje duren. Het wordt toegevoegd aan je Drive zodra het is voltooid."
|
||||||
|
importRequested: "Je hebt een import aangevraagd. Dit kan even duren."
|
||||||
|
lists: "Lijsten"
|
||||||
|
noLists: "Je hebt geen lijsten"
|
||||||
|
note: "Notitie"
|
||||||
|
notes: "Notities"
|
||||||
|
following: "Volgend"
|
||||||
|
followers: "Volgers"
|
||||||
|
followsYou: "Volgt jou"
|
||||||
|
createList: "Creëer lijst"
|
||||||
|
manageLists: "Beheren lijsten"
|
||||||
|
error: "Fout"
|
||||||
|
somethingHappened: "Er is iets misgegaan."
|
||||||
|
retry: "Probeer opnieuw"
|
||||||
|
pageLoadError: "Pagina laden mislukt"
|
||||||
|
pageLoadErrorDescription: "Dit wordt normaal gesproken veroorzaakt door netwerkfouten of door de cache van de browser. Probeer de cache te wissen en probeer het na een tijdje wachten opnieuw."
|
||||||
|
serverIsDead: "De server reageert niet. Wacht even en probeer het opnieuw."
|
||||||
|
youShouldUpgradeClient: "Werk je client bij om deze pagina te zien."
|
||||||
|
enterListName: "Voer de naam van de lijst in"
|
||||||
|
privacy: "Privacy"
|
||||||
|
makeFollowManuallyApprove: "Volgverzoeken vergen een goedkeuring"
|
||||||
|
defaultNoteVisibility: "Standaard zichtbaarheid"
|
||||||
|
follow: "Volgen"
|
||||||
|
followRequest: "Verzoek om te mogen volgen"
|
||||||
|
followRequests: "Volgverzoeken"
|
||||||
|
unfollow: "Ontvolgen"
|
||||||
|
followRequestPending: "Wachten op goedkeuring volgverzoek"
|
||||||
|
enterEmoji: "Voer een emoji in"
|
||||||
|
renote: "Herdelen"
|
||||||
|
unrenote: "Stop herdelen"
|
||||||
|
renoted: "Herdeeld"
|
||||||
|
cantRenote: "Dit bericht kan niet worden herdeeld"
|
||||||
|
cantReRenote: "Een herdeling kan niet worden herdeeld"
|
||||||
|
quote: "Quote"
|
||||||
|
pinnedNote: "Vastgemaakte notitie"
|
||||||
|
pinned: "Vastmaken aan profielpagina"
|
||||||
|
you: "Jij"
|
||||||
|
clickToShow: "Klik om te bekijken"
|
||||||
|
sensitive: "NSFW"
|
||||||
|
add: "Toevoegen"
|
||||||
|
reaction: "Reacties"
|
||||||
|
reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
|
||||||
|
rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen"
|
||||||
|
attachCancel: "Verwijder bijlage"
|
||||||
|
markAsSensitive: "Markeren als NSFW"
|
||||||
|
unmarkAsSensitive: "Geen NSFW"
|
||||||
|
enterFileName: "Invoeren bestandsnaam"
|
||||||
|
mute: "Dempen"
|
||||||
|
unmute: "Stop dempen"
|
||||||
|
block: "Blokkeren"
|
||||||
|
unblock: "Deblokkeren"
|
||||||
|
suspend: "Opschorten"
|
||||||
|
unsuspend: "Heractiveren"
|
||||||
|
blockConfirm: "Weet je zeker dat je dit account wil blokkeren?"
|
||||||
|
searchWith: "Zoeken: {q}"
|
||||||
|
youHaveNoLists: "Je hebt geen lijsten"
|
||||||
|
followConfirm: "Weet je zeker dat je {name} wilt volgen?"
|
||||||
|
proxyAccount: "Proxy account"
|
||||||
|
proxyAccountDescription: "Een proxy-account is een account dat onder bepaalde voorwaarden fungeert als externe volger voor gebruikers. Als een gebruiker bijvoorbeeld een externe gebruiker aan de lijst toevoegt, wordt de activiteit van de externe gebruiker niet aan de server geleverd als geen lokale gebruiker die gebruiker volgt, dus het proxy-account volgt in plaats daarvan."
|
||||||
|
host: "Server"
|
||||||
|
selectUser: "Kies een gebruiker"
|
||||||
|
recipient: "Ontvanger"
|
||||||
|
annotation: "Reacties"
|
||||||
|
federation: "Federatie"
|
||||||
|
instances: "Server"
|
||||||
|
registeredAt: "Geregistreerd op"
|
||||||
|
latestRequestSentAt: "Laatste aanvraag verstuurd"
|
||||||
|
latestRequestReceivedAt: "Laatste aanvraag ontvangen"
|
||||||
|
latestStatus: "Laatste status"
|
||||||
|
storageUsage: "Gebruikte opslagruimte"
|
||||||
|
charts: "Grafieken"
|
||||||
|
perHour: "Per uur"
|
||||||
|
perDay: "Per dag"
|
||||||
|
stopActivityDelivery: "Stop met versturen activiteiten"
|
||||||
|
blockThisInstance: "Blokkeer deze server"
|
||||||
|
operations: "Verwerkingen"
|
||||||
|
software: "Software"
|
||||||
|
version: "Versie"
|
||||||
|
metadata: "Metadata"
|
||||||
|
withNFiles: "{n} bestand(en)"
|
||||||
|
monitor: "Monitor"
|
||||||
|
jobQueue: "Job Queue"
|
||||||
|
cpuAndMemory: "CPU en geheugen"
|
||||||
|
network: "Netwerk"
|
||||||
|
disk: "Schijfruimte"
|
||||||
|
instanceInfo: "Serverinformatie"
|
||||||
|
statistics: "Statistieken"
|
||||||
|
clearQueue: "Wachtrij wissen"
|
||||||
|
clearQueueConfirmTitle: "Weet je zeker dat je de wachtrji leeg wil maken?"
|
||||||
|
clearQueueConfirmText: "Niet-bezorgde biljetten die nog in de wachtrij staan, worden niet gefedereerd. Meestal is deze operatie niet nodig."
|
||||||
|
clearCachedFiles: "Cache opschonen"
|
||||||
|
clearCachedFilesConfirm: "Weet je zeker dat je alle externe bestanden in de cache wilt verwijderen?"
|
||||||
|
blockedInstances: "Geblokkeerde servers"
|
||||||
|
blockedInstancesDescription: "Maak een lijst van de servers die moeten worden geblokkeerd, gescheiden door regeleinden. Geblokkeerde servers kunnen niet meer communiceren met deze server."
|
||||||
|
muteAndBlock: "Gedempt en geblokkeerd"
|
||||||
|
mutedUsers: "Gedempte gebruikers"
|
||||||
|
blockedUsers: "Geblokkeerde gebruikers"
|
||||||
|
noUsers: "Er zijn geen gebruikers."
|
||||||
|
editProfile: "Bewerk Profiel"
|
||||||
|
noteDeleteConfirm: "Ben je zeker dat je dit bericht wil verwijderen?"
|
||||||
|
pinLimitExceeded: "Je kunt geen berichten meer vastprikken"
|
||||||
|
intro: "Installatie van Misskey geëindigd! Maak nu een beheerder aan."
|
||||||
|
done: "Klaar"
|
||||||
|
processing: "Bezig met verwerken"
|
||||||
|
preview: "Voorbeeld"
|
||||||
|
default: "Standaard"
|
||||||
|
noCustomEmojis: "Er zijn geen emojis"
|
||||||
|
noJobs: "Er zijn geen taken"
|
||||||
|
federating: "Federeren"
|
||||||
|
blocked: "Geblokkeerd"
|
||||||
|
suspended: "Opgeschort"
|
||||||
|
all: "Alle"
|
||||||
|
subscribing: "Abonneren"
|
||||||
|
publishing: "Publiceren"
|
||||||
|
notResponding: "Reageert niet"
|
||||||
|
instanceFollowing: "Volgend op server"
|
||||||
|
instanceFollowers: "Volgers op server"
|
||||||
|
instanceUsers: "Gebruikers van deze server"
|
||||||
|
changePassword: "Wachtwoord wijzigen"
|
||||||
|
security: "Beveiliging"
|
||||||
|
retypedNotMatch: "Invoer komt niet overeen"
|
||||||
|
currentPassword: "Huidig wachtwoord"
|
||||||
|
newPassword: "Nieuwe wachtwoord"
|
||||||
|
newPasswordRetype: "Nieuw wachtwoord (herhalen)"
|
||||||
|
attachFile: "Bestanden toevoegen"
|
||||||
|
more: "Meer!"
|
||||||
|
featured: "Uitgelicht"
|
||||||
|
usernameOrUserId: "Gebruikersnaam of id"
|
||||||
|
noSuchUser: "Gebruiker niet gevonden"
|
||||||
|
lookup: "Opzoeken"
|
||||||
|
announcements: "Aankondigingen"
|
||||||
|
imageUrl: "AfbeeldingsURL"
|
||||||
|
remove: "Verwijderen"
|
||||||
|
removed: "Succesvol verwijderd"
|
||||||
|
removeAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
|
||||||
|
deleteAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
|
||||||
|
resetAreYouSure: "Resetten?"
|
||||||
|
saved: "Opgeslagen"
|
||||||
|
messaging: "Chat"
|
||||||
|
upload: "Uploaden"
|
||||||
|
fromDrive: "Van schijf"
|
||||||
|
fromUrl: "Van URL"
|
||||||
|
uploadFromUrl: "Uploaden vanaf een URL"
|
||||||
|
uploadFromUrlDescription: "URL van het bestand dat je wil uploaden"
|
||||||
|
uploadFromUrlRequested: "Uploadverzoek"
|
||||||
|
uploadFromUrlMayTakeTime: "Het kan even duren voordat het uploaden voltooid is."
|
||||||
|
explore: "Verkennen"
|
||||||
|
games: "Misskey spellen"
|
||||||
|
messageRead: "Lezen"
|
||||||
|
noMoreHistory: "Er is geen verdere geschiedenis"
|
||||||
|
startMessaging: "Start een gesprek"
|
||||||
|
nUsersRead: "gelezen door {n}"
|
||||||
|
agreeTo: "Ik stem in met {0}"
|
||||||
|
tos: "Gebruiksvoorwaarden"
|
||||||
|
start: "Aan de slag"
|
||||||
|
home: "Startpagina"
|
||||||
|
remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn."
|
||||||
|
activity: "Activiteit"
|
||||||
|
images: "Afbeeldingen"
|
||||||
|
birthday: "Geboortedatum"
|
||||||
|
yearsOld: "{age} jaar"
|
||||||
|
registeredDate: "Inschrijvingsdatum"
|
||||||
|
location: "Locatie"
|
||||||
|
theme: "Thema's"
|
||||||
|
themeForLightMode: "Thema voor gebruik in de lichte modus"
|
||||||
|
themeForDarkMode: "Thema voor gebruik in de donkere modus"
|
||||||
|
light: "Licht"
|
||||||
|
dark: "Donker"
|
||||||
|
lightThemes: "Licht thema's"
|
||||||
|
darkThemes: "Donkere thema's"
|
||||||
|
syncDeviceDarkMode: "Synchroniseer donkere modus met je apparaatinstellingen"
|
||||||
|
drive: "Schijf"
|
||||||
|
fileName: "Bestandsnaam"
|
||||||
|
selectFile: "Kies een bestand"
|
||||||
|
selectFiles: "Selecteer bestanden"
|
||||||
|
selectFolder: "Kies een map"
|
||||||
|
selectFolders: "Kies mappen"
|
||||||
|
renameFile: "Wijzig bestandsnaam"
|
||||||
|
folderName: "Mapnaam"
|
||||||
|
createFolder: "Map aanmaken"
|
||||||
|
renameFolder: "Map hernoemen"
|
||||||
|
nsfw: "NSFW"
|
||||||
|
pinnedNotes: "Vastgemaakte notitie"
|
||||||
|
userList: "Lijsten"
|
||||||
|
smtpHost: "Server"
|
||||||
|
smtpUser: "Gebruikersnaam"
|
||||||
|
smtpPass: "Wachtwoord"
|
||||||
|
clearCache: "Cache opschonen"
|
||||||
|
user: "Gebruikers"
|
||||||
|
muteThread: "Discussies dempen "
|
||||||
|
unmuteThread: "Dempen van discussie ongedaan maken"
|
||||||
|
hide: "Verbergen"
|
||||||
|
_email:
|
||||||
|
_follow:
|
||||||
|
title: "volgde jou"
|
||||||
|
_mfm:
|
||||||
|
mention: "Vermelding"
|
||||||
|
quote: "Quote"
|
||||||
|
search: "Zoeken"
|
||||||
|
_theme:
|
||||||
|
keys:
|
||||||
|
mention: "Vermelding"
|
||||||
|
renote: "Herdelen"
|
||||||
|
_sfx:
|
||||||
|
note: "Notities"
|
||||||
|
notification: "Meldingen"
|
||||||
|
chat: "Chat"
|
||||||
|
_widgets:
|
||||||
|
notifications: "Meldingen"
|
||||||
|
timeline: "Tijdlijn"
|
||||||
|
activity: "Activiteit"
|
||||||
|
federation: "Federatie"
|
||||||
|
jobQueue: "Job Queue"
|
||||||
|
_cw:
|
||||||
|
show: "Laad meer"
|
||||||
|
_visibility:
|
||||||
|
home: "Startpagina"
|
||||||
|
followers: "Volgers"
|
||||||
|
_profile:
|
||||||
|
username: "Gebruikersnaam"
|
||||||
|
_exportOrImport:
|
||||||
|
followingList: "Volgend"
|
||||||
|
muteList: "Dempen"
|
||||||
|
blockingList: "Blokkeren"
|
||||||
|
userLists: "Lijsten"
|
||||||
|
excludeMutingUsers: "Negeer gedempte gebruikers"
|
||||||
|
excludeInactiveUsers: "Negeer inactieve gebruikers"
|
||||||
|
_timelines:
|
||||||
|
home: "Startpagina"
|
||||||
|
_rooms:
|
||||||
|
_roomType:
|
||||||
|
default: "Standaard"
|
||||||
|
_furnitures:
|
||||||
|
monitor: "Monitor"
|
||||||
|
_pages:
|
||||||
|
blocks:
|
||||||
|
image: "Afbeeldingen"
|
||||||
|
script:
|
||||||
|
categories:
|
||||||
|
list: "Lijsten"
|
||||||
|
blocks:
|
||||||
|
_join:
|
||||||
|
arg1: "Lijsten"
|
||||||
|
_randomPick:
|
||||||
|
arg1: "Lijsten"
|
||||||
|
_dailyRandomPick:
|
||||||
|
arg1: "Lijsten"
|
||||||
|
_seedRandomPick:
|
||||||
|
arg2: "Lijsten"
|
||||||
|
_pick:
|
||||||
|
arg1: "Lijsten"
|
||||||
|
_listLen:
|
||||||
|
arg1: "Lijsten"
|
||||||
|
types:
|
||||||
|
array: "Lijsten"
|
||||||
|
_notification:
|
||||||
|
youWereFollowed: "volgde jou"
|
||||||
|
_types:
|
||||||
|
follow: "Volgend"
|
||||||
|
mention: "Vermelding"
|
||||||
|
renote: "Herdelen"
|
||||||
|
quote: "Quote"
|
||||||
|
reaction: "Reacties"
|
||||||
|
_deck:
|
||||||
|
_columns:
|
||||||
|
notifications: "Meldingen"
|
||||||
|
tl: "Tijdlijn"
|
||||||
|
list: "Lijsten"
|
||||||
|
mentions: "Vermeldingen"
|
||||||
|
@ -81,6 +81,8 @@ somethingHappened: "Coś poszło nie tak"
|
|||||||
retry: "Spróbuj ponownie"
|
retry: "Spróbuj ponownie"
|
||||||
pageLoadError: "Nie udało się załadować strony"
|
pageLoadError: "Nie udało się załadować strony"
|
||||||
pageLoadErrorDescription: "Zwykle jest to spowodowane problemem z siecią lub cache przeglądarki. Spróbuj wyczyścić cache i sprawdź jeszcze raz za chwilę."
|
pageLoadErrorDescription: "Zwykle jest to spowodowane problemem z siecią lub cache przeglądarki. Spróbuj wyczyścić cache i sprawdź jeszcze raz za chwilę."
|
||||||
|
serverIsDead: "Serwer nie odpowiada. Zaczekaj chwilę i spróbuj ponownie."
|
||||||
|
youShouldUpgradeClient: "Odśwież stronę, by zaaktualizować klienta."
|
||||||
enterListName: "Nazwa listy"
|
enterListName: "Nazwa listy"
|
||||||
privacy: "Prywatność"
|
privacy: "Prywatność"
|
||||||
makeFollowManuallyApprove: "Prośby o możliwość obserwacji wymagają zatwierdzenia"
|
makeFollowManuallyApprove: "Prośby o możliwość obserwacji wymagają zatwierdzenia"
|
||||||
@ -104,7 +106,7 @@ clickToShow: "Kliknij, aby wyświetlić"
|
|||||||
sensitive: "NSFW"
|
sensitive: "NSFW"
|
||||||
add: "Dodaj"
|
add: "Dodaj"
|
||||||
reaction: "Reakcja"
|
reaction: "Reakcja"
|
||||||
reactionSettingDescription: "Przypisz swoje ulubione reakcje, które chcesz przypiąć w wyborze reakcji."
|
reactionSetting: "Reakcje do pokazania w wyborniku reakcji"
|
||||||
reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać"
|
reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać"
|
||||||
rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu"
|
rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu"
|
||||||
attachCancel: "Usuń załącznik"
|
attachCancel: "Usuń załącznik"
|
||||||
@ -181,6 +183,7 @@ instanceInfo: "Informacje o instancji"
|
|||||||
statistics: "Statystyki"
|
statistics: "Statystyki"
|
||||||
clearQueue: "Wyczyść kolejkę"
|
clearQueue: "Wyczyść kolejkę"
|
||||||
clearQueueConfirmTitle: "Czy na pewno chcesz wyczyścić kolejkę?"
|
clearQueueConfirmTitle: "Czy na pewno chcesz wyczyścić kolejkę?"
|
||||||
|
clearQueueConfirmText: "Wszystkie niewysłane wpisy z kolejki nie zostaną wysłane. Zwykle to nie jest konieczne."
|
||||||
clearCachedFiles: "Wyczyść pamięć podręczną"
|
clearCachedFiles: "Wyczyść pamięć podręczną"
|
||||||
clearCachedFilesConfirm: "Czy na pewno chcesz usunąć wszystkie zdalne pliki z pamięci podręcznej?"
|
clearCachedFilesConfirm: "Czy na pewno chcesz usunąć wszystkie zdalne pliki z pamięci podręcznej?"
|
||||||
blockedInstances: "Zablokowane instancje"
|
blockedInstances: "Zablokowane instancje"
|
||||||
@ -220,6 +223,7 @@ more: "Więcej!"
|
|||||||
featured: "Wyróżnione"
|
featured: "Wyróżnione"
|
||||||
usernameOrUserId: "Nazwa lub id użytkownika"
|
usernameOrUserId: "Nazwa lub id użytkownika"
|
||||||
noSuchUser: "Nie znaleziono użytkownika"
|
noSuchUser: "Nie znaleziono użytkownika"
|
||||||
|
lookup: "Zapytania"
|
||||||
announcements: "Ogłoszenia"
|
announcements: "Ogłoszenia"
|
||||||
imageUrl: "Adres URL obrazka"
|
imageUrl: "Adres URL obrazka"
|
||||||
remove: "Usuń"
|
remove: "Usuń"
|
||||||
@ -309,22 +313,28 @@ monthX: "{month}"
|
|||||||
yearX: "{year}"
|
yearX: "{year}"
|
||||||
pages: "Strony"
|
pages: "Strony"
|
||||||
integration: "Integracja"
|
integration: "Integracja"
|
||||||
|
connectService: "Połącz"
|
||||||
|
disconnectService: "Rozłącz"
|
||||||
enableLocalTimeline: "Włącz lokalną oś czasu"
|
enableLocalTimeline: "Włącz lokalną oś czasu"
|
||||||
enableGlobalTimeline: "Włącz globalną oś czasu"
|
enableGlobalTimeline: "Włącz globalną oś czasu"
|
||||||
disablingTimelinesInfo: "Administratorzy i moderatorzy będą zawsze mieć dostęp do wszystkich osi czasu, nawet gdy są one wyłączone."
|
disablingTimelinesInfo: "Administratorzy i moderatorzy będą zawsze mieć dostęp do wszystkich osi czasu, nawet gdy są one wyłączone."
|
||||||
registration: "Zarejestruj się"
|
registration: "Zarejestruj się"
|
||||||
enableRegistration: "Włącz rejestrację nowych użytkowników"
|
enableRegistration: "Włącz rejestrację nowych użytkowników"
|
||||||
invite: "Zaproś"
|
invite: "Zaproś"
|
||||||
|
proxyRemoteFiles: "Przekierowuj pliki obcych instancji przez proxy"
|
||||||
|
proxyRemoteFilesDescription: "Gdy ta opcja jest włączona, zdalne pliki które nie są przechowywane lokalnie, lub zostały usunięte z powodu przekroczenia limitu miejsca będą kierowane przez proxy, razem z generowaniem miniatur. Nie ma to żadnego wpływu na przestrzeń dyskową serwera."
|
||||||
driveCapacityPerLocalAccount: "Powierzchnia dyskowa na lokalnego użytkownika"
|
driveCapacityPerLocalAccount: "Powierzchnia dyskowa na lokalnego użytkownika"
|
||||||
driveCapacityPerRemoteAccount: "Powierzchnia dyskowa na zdalnego użytkownika"
|
driveCapacityPerRemoteAccount: "Powierzchnia dyskowa na zdalnego użytkownika"
|
||||||
inMb: "W megabajtach"
|
inMb: "W megabajtach"
|
||||||
iconUrl: "Adres URL ikony"
|
iconUrl: "Adres URL ikony"
|
||||||
bannerUrl: "Adres URL banera"
|
bannerUrl: "Adres URL banera"
|
||||||
|
backgroundImageUrl: "Adres URL tła"
|
||||||
basicInfo: "Podstawowe informacje"
|
basicInfo: "Podstawowe informacje"
|
||||||
pinnedUsers: "Przypięty użytkownik"
|
pinnedUsers: "Przypięty użytkownik"
|
||||||
pinnedUsersDescription: "Wypisz po jednej nazwie użytkownika w wierszu. Podani użytkownicy zostaną przypięci pod kartą „Eksploruj”."
|
pinnedUsersDescription: "Wypisz po jednej nazwie użytkownika w wierszu. Podani użytkownicy zostaną przypięci pod kartą „Eksploruj”."
|
||||||
pinnedPages: "Przypięte strony"
|
pinnedPages: "Przypięte strony"
|
||||||
pinnedPagesDescription: "Wprowadź ścieżki stron które chcesz przypiąć na głównej stronie instancji, oddzielone znakiem nowego wiersza."
|
pinnedPagesDescription: "Wprowadź ścieżki stron które chcesz przypiąć na głównej stronie instancji, oddzielone znakiem nowego wiersza."
|
||||||
|
pinnedClipId: "ID przypiętego klipu"
|
||||||
pinnedNotes: "Przypięty wpis"
|
pinnedNotes: "Przypięty wpis"
|
||||||
hcaptcha: "hCaptcha"
|
hcaptcha: "hCaptcha"
|
||||||
enableHcaptcha: "Włącz hCaptcha"
|
enableHcaptcha: "Włącz hCaptcha"
|
||||||
@ -339,7 +349,9 @@ antennas: "Anteny"
|
|||||||
manageAntennas: "Zarządzaj Antenami"
|
manageAntennas: "Zarządzaj Antenami"
|
||||||
name: "Nazwa"
|
name: "Nazwa"
|
||||||
antennaSource: "Źródło Anteny"
|
antennaSource: "Źródło Anteny"
|
||||||
|
antennaKeywords: "Słowa kluczowe do obserwacji"
|
||||||
antennaExcludeKeywords: "Wykluczone słowa kluczowe"
|
antennaExcludeKeywords: "Wykluczone słowa kluczowe"
|
||||||
|
antennaKeywordsDescription: "Oddziel spacjami dla warunku AND, albo wymuś koniec linii dla warunku OR"
|
||||||
notifyAntenna: "Powiadamiaj o nowych wpisach"
|
notifyAntenna: "Powiadamiaj o nowych wpisach"
|
||||||
withFileAntenna: "Filtruj tylko wpisy z załączonym plikiem"
|
withFileAntenna: "Filtruj tylko wpisy z załączonym plikiem"
|
||||||
enableServiceworker: "Włącz ServiceWorker"
|
enableServiceworker: "Włącz ServiceWorker"
|
||||||
@ -587,8 +599,9 @@ useGlobalSetting: "Użyj globalnych ustawień"
|
|||||||
useGlobalSettingDesc: "Jeżeli włączone, zostaną wykorzystane ustawienia powiadomień Twojego konta. Jeżeli wyłączone, mogą zostać wykonane oddzielne konfiguracje."
|
useGlobalSettingDesc: "Jeżeli włączone, zostaną wykorzystane ustawienia powiadomień Twojego konta. Jeżeli wyłączone, mogą zostać wykonane oddzielne konfiguracje."
|
||||||
other: "Inne"
|
other: "Inne"
|
||||||
regenerateLoginToken: "Generuj token logowania ponownie"
|
regenerateLoginToken: "Generuj token logowania ponownie"
|
||||||
|
regenerateLoginTokenDescription: "Regeneruje token używany wewnętrznie podczas logowania. Zazwyczaj nie jest to konieczne. Po regeneracji wszystkie urządzenia zostaną wylogowane."
|
||||||
setMultipleBySeparatingWithSpace: "Możesz ustawić wiele, oddzielając je spacjami."
|
setMultipleBySeparatingWithSpace: "Możesz ustawić wiele, oddzielając je spacjami."
|
||||||
chatOpenBehavior: "Zachowanie okna czatu po otwarciu"
|
fileIdOrUrl: "ID pliku albo URL"
|
||||||
behavior: "Zachowanie"
|
behavior: "Zachowanie"
|
||||||
sample: "Przykład"
|
sample: "Przykład"
|
||||||
abuseReports: "Zgłoszenia"
|
abuseReports: "Zgłoszenia"
|
||||||
@ -596,6 +609,8 @@ reportAbuse: "Zgłoś"
|
|||||||
reportAbuseOf: "Zgłoś {name}"
|
reportAbuseOf: "Zgłoś {name}"
|
||||||
fillAbuseReportDescription: "Wypełnij szczegóły zgłoszenia. Jeżeli dotyczy ono określonego wpisu, uwzględnij jego adres URL."
|
fillAbuseReportDescription: "Wypełnij szczegóły zgłoszenia. Jeżeli dotyczy ono określonego wpisu, uwzględnij jego adres URL."
|
||||||
abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy."
|
abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy."
|
||||||
|
reporteeOrigin: "Pochodzenie zgłoszonego"
|
||||||
|
reporterOrigin: "Pochodzenie zgłaszającego"
|
||||||
send: "Wyślij"
|
send: "Wyślij"
|
||||||
abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane"
|
abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane"
|
||||||
openInNewTab: "Otwórz w nowej karcie"
|
openInNewTab: "Otwórz w nowej karcie"
|
||||||
@ -608,7 +623,7 @@ random: "Losowe"
|
|||||||
system: "System"
|
system: "System"
|
||||||
switchUi: "Przełącz interfejs użytkownika"
|
switchUi: "Przełącz interfejs użytkownika"
|
||||||
desktop: "Pulpit"
|
desktop: "Pulpit"
|
||||||
createNew: "Utworzy nowy"
|
createNew: "Utwórz nowy"
|
||||||
optional: "Nieobowiązkowe"
|
optional: "Nieobowiązkowe"
|
||||||
public: "Publiczny"
|
public: "Publiczny"
|
||||||
i18nInfo: "Misskey jest tłumaczone na wiele języków przez wolontariuszy. Możesz pomóc na {link}."
|
i18nInfo: "Misskey jest tłumaczone na wiele języków przez wolontariuszy. Możesz pomóc na {link}."
|
||||||
@ -631,6 +646,7 @@ driveFilesCount: "Liczba plików na dysku"
|
|||||||
driveUsage: "Użycie przestrzeni dyskowej"
|
driveUsage: "Użycie przestrzeni dyskowej"
|
||||||
noCrawle: "Odrzuć indeksowanie przez crawlery"
|
noCrawle: "Odrzuć indeksowanie przez crawlery"
|
||||||
noCrawleDescription: "Proś wyszukiwarki internetowe, aby nie indeksowały Twojego profilu, wpisów, stron itd."
|
noCrawleDescription: "Proś wyszukiwarki internetowe, aby nie indeksowały Twojego profilu, wpisów, stron itd."
|
||||||
|
lockedAccountInfo: "Dopóki nie ustawisz widoczności wpisu na \"Obserwujący\", twoje wpisy będą mogli widzieć wszyscy, nawet jeśli ustawisz manualne zatwierdzanie obserwujących."
|
||||||
alwaysMarkSensitive: "Oznacz domyślnie jako NSFW"
|
alwaysMarkSensitive: "Oznacz domyślnie jako NSFW"
|
||||||
loadRawImages: "Wyświetlaj zdjęcia w załącznikach w całości zamiast miniatur"
|
loadRawImages: "Wyświetlaj zdjęcia w załącznikach w całości zamiast miniatur"
|
||||||
disableShowingAnimatedImages: "Nie odtwarzaj animowanych obrazów"
|
disableShowingAnimatedImages: "Nie odtwarzaj animowanych obrazów"
|
||||||
@ -654,6 +670,7 @@ center: "Wyśsrodkuj"
|
|||||||
wide: "Szerokie"
|
wide: "Szerokie"
|
||||||
narrow: "Wąskie"
|
narrow: "Wąskie"
|
||||||
reloadToApplySetting: "To ustawienie zostanie zastosowane po odświeżeniu strony. Chcesz odświeżyć?"
|
reloadToApplySetting: "To ustawienie zostanie zastosowane po odświeżeniu strony. Chcesz odświeżyć?"
|
||||||
|
needReloadToApply: "To ustawienie zostanie zastosowane po odświeżeniu strony"
|
||||||
showTitlebar: "Pokazuj pasek tytułowy"
|
showTitlebar: "Pokazuj pasek tytułowy"
|
||||||
clearCache: "Wyczyść pamięć podręczną"
|
clearCache: "Wyczyść pamięć podręczną"
|
||||||
onlineUsersCount: "{n} osób jest online"
|
onlineUsersCount: "{n} osób jest online"
|
||||||
@ -698,6 +715,8 @@ unlikeConfirm: "Na pewno chcesz usunąć polubienie?"
|
|||||||
fullView: "Pełny widok"
|
fullView: "Pełny widok"
|
||||||
quitFullView: "Opuść pełny widok"
|
quitFullView: "Opuść pełny widok"
|
||||||
addDescription: "Dodaj opis"
|
addDescription: "Dodaj opis"
|
||||||
|
userPagePinTip: "Możesz wyświetlać wpisy w tym miejscu po wybraniu \"Przypnij do profilu\" z menu pojedyńczego wpisu"
|
||||||
|
notSpecifiedMentionWarning: "Ten wpis zawiera wzmianki o użytkownikach niezawartych jako odbiorcy"
|
||||||
info: "Informacje"
|
info: "Informacje"
|
||||||
userInfo: "Informacje o użykowniku"
|
userInfo: "Informacje o użykowniku"
|
||||||
unknown: "Nieznane"
|
unknown: "Nieznane"
|
||||||
@ -735,11 +754,18 @@ middle: "Średnie"
|
|||||||
low: "Niski"
|
low: "Niski"
|
||||||
emailNotConfiguredWarning: "Nie podano adresu e-mail"
|
emailNotConfiguredWarning: "Nie podano adresu e-mail"
|
||||||
ratio: "Stosunek"
|
ratio: "Stosunek"
|
||||||
|
previewNoteText: "Pokaż podgląd"
|
||||||
|
customCss: "Własny CSS"
|
||||||
|
customCssWarn: "Używaj tego ustawienia tylko wtedy, gdy wiesz co ono robi. Nieprawidłowe wpisy mogą spowodować, że klient przestanie działać poprawnie."
|
||||||
global: "Globalna"
|
global: "Globalna"
|
||||||
|
squareAvatars: "Wyświetlaj kwadratowe awatary"
|
||||||
sent: "Wyślij"
|
sent: "Wyślij"
|
||||||
|
received: "Otrzymane"
|
||||||
hashtags: "Hashtag"
|
hashtags: "Hashtag"
|
||||||
_docs:
|
pubSub: "Konta Pub/Sub"
|
||||||
admin: "Zarządzanie"
|
hide: "Ukryj"
|
||||||
|
_ffVisibility:
|
||||||
|
public: "Publikuj"
|
||||||
_ad:
|
_ad:
|
||||||
back: "Wróć"
|
back: "Wróć"
|
||||||
reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej"
|
reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej"
|
||||||
@ -815,6 +841,7 @@ _mfm:
|
|||||||
blur: "Rozmycie"
|
blur: "Rozmycie"
|
||||||
font: "Czcionka"
|
font: "Czcionka"
|
||||||
fontDescription: "Wybiera czcionkę do wyświetlania treści."
|
fontDescription: "Wybiera czcionkę do wyświetlania treści."
|
||||||
|
rotate: "Obróć"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
gameSettings: "Ustawienia gry"
|
gameSettings: "Ustawienia gry"
|
||||||
@ -976,6 +1003,7 @@ _tutorial:
|
|||||||
step1_3: "Twoja oś czasu jest jeszcze pusta, ponieważ nie opublikowałeś(-aś) jeszcze żadnych wpisów i nie obserwujesz jeszcze nikogo."
|
step1_3: "Twoja oś czasu jest jeszcze pusta, ponieważ nie opublikowałeś(-aś) jeszcze żadnych wpisów i nie obserwujesz jeszcze nikogo."
|
||||||
step2_1: "Ukończmy konfigurację profilu zanim utworzymy wpis lub zaczniemy kogoś obserwować."
|
step2_1: "Ukończmy konfigurację profilu zanim utworzymy wpis lub zaczniemy kogoś obserwować."
|
||||||
step3_1: "Zakończyłeś(-aś) konfigurację profilu?"
|
step3_1: "Zakończyłeś(-aś) konfigurację profilu?"
|
||||||
|
step3_3: "Wypełnij pole i kliknij przycisk w prawym górnym rogu by wysłać post."
|
||||||
_2fa:
|
_2fa:
|
||||||
registerDevice: "Zarejestruj nowe urządzenie"
|
registerDevice: "Zarejestruj nowe urządzenie"
|
||||||
step1: "Najpierw, zainstaluj aplikację uwierzytelniającą (taką jak {a} lub {b}) na swoim urządzeniu."
|
step1: "Najpierw, zainstaluj aplikację uwierzytelniającą (taką jak {a} lub {b}) na swoim urządzeniu."
|
||||||
@ -1047,7 +1075,7 @@ _poll:
|
|||||||
deadlineDate: "Data zakończenia"
|
deadlineDate: "Data zakończenia"
|
||||||
deadlineTime: "godz."
|
deadlineTime: "godz."
|
||||||
duration: "Czas trwania"
|
duration: "Czas trwania"
|
||||||
votesCount: "{} głosów"
|
votesCount: "{n} głosów"
|
||||||
totalVotes: "Łącznie {n} głosów"
|
totalVotes: "Łącznie {n} głosów"
|
||||||
vote: "Głosowanie w ankiecie"
|
vote: "Głosowanie w ankiecie"
|
||||||
showResult: "Pokaż wyniki"
|
showResult: "Pokaż wyniki"
|
||||||
|
@ -1,22 +1,33 @@
|
|||||||
---
|
---
|
||||||
_lang_: "Português"
|
_lang_: "Português"
|
||||||
|
headlineMisskey: "Rede conectada por notas"
|
||||||
monthAndDay: "{day}/{month}"
|
monthAndDay: "{day}/{month}"
|
||||||
search: "Pesquisar"
|
search: "Pesquisar"
|
||||||
notifications: "Notificações"
|
notifications: "Notificações"
|
||||||
username: "Nome de usuário"
|
username: "Nome de usuário"
|
||||||
password: "Senha"
|
password: "Senha"
|
||||||
|
forgotPassword: "Esqueci a senha"
|
||||||
|
fetchingAsApObject: "Buscando no Fediverso"
|
||||||
ok: "OK"
|
ok: "OK"
|
||||||
gotIt: "Entendi"
|
gotIt: "Entendi"
|
||||||
cancel: "Cancelar"
|
cancel: "Cancelar"
|
||||||
enterUsername: "Digite o nome de usuário"
|
enterUsername: "Digite o nome de usuário"
|
||||||
renotedBy: "Repostado por {user}"
|
renotedBy: "Repostado por {user}"
|
||||||
noNotes: "Sem posts"
|
noNotes: "Sem posts"
|
||||||
|
noNotifications: "Sem notificações"
|
||||||
|
instance: "Instância"
|
||||||
settings: "Configurações"
|
settings: "Configurações"
|
||||||
basicSettings: "Configurações básicas"
|
basicSettings: "Configurações básicas"
|
||||||
otherSettings: "Outras configurações"
|
otherSettings: "Outras configurações"
|
||||||
|
openInWindow: "Abrir numa janela"
|
||||||
profile: "Perfil"
|
profile: "Perfil"
|
||||||
timeline: "Timeline"
|
timeline: "Timeline"
|
||||||
|
login: "Iniciar sessão"
|
||||||
|
loggingIn: "Iniciando sessão…"
|
||||||
logout: "Sair"
|
logout: "Sair"
|
||||||
|
signup: "Registrar-se"
|
||||||
|
uploading: "Enviando…"
|
||||||
|
save: "Guardar"
|
||||||
users: "Usuários"
|
users: "Usuários"
|
||||||
favorite: "Favoritar"
|
favorite: "Favoritar"
|
||||||
favorites: "Favoritar"
|
favorites: "Favoritar"
|
||||||
|
@ -106,7 +106,6 @@ clickToShow: "Нажмите для просмотра"
|
|||||||
sensitive: "Содержимое не для всех"
|
sensitive: "Содержимое не для всех"
|
||||||
add: "Добавить"
|
add: "Добавить"
|
||||||
reaction: "Реакции"
|
reaction: "Реакции"
|
||||||
reactionSettingDescription: "Подберите, что будет у вас в палитре реакций"
|
|
||||||
reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте кнопкой «+»."
|
reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте кнопкой «+»."
|
||||||
rememberNoteVisibility: "Запоминать видимость заметок"
|
rememberNoteVisibility: "Запоминать видимость заметок"
|
||||||
attachCancel: "Удалить вложение"
|
attachCancel: "Удалить вложение"
|
||||||
@ -612,7 +611,6 @@ regenerateLoginToken: "Создать новый токен для входа"
|
|||||||
regenerateLoginTokenDescription: "Создаёт новый токен, используемый внутри программы во время входа. Обычно в этом нет необходимости. При создании все устройства будут отключены."
|
regenerateLoginTokenDescription: "Создаёт новый токен, используемый внутри программы во время входа. Обычно в этом нет необходимости. При создании все устройства будут отключены."
|
||||||
setMultipleBySeparatingWithSpace: "Можно написать несколько через пробел"
|
setMultipleBySeparatingWithSpace: "Можно написать несколько через пробел"
|
||||||
fileIdOrUrl: "Идентификатор файла или ссылка"
|
fileIdOrUrl: "Идентификатор файла или ссылка"
|
||||||
chatOpenBehavior: "Поведение окна чата при открытии"
|
|
||||||
behavior: "Поведение"
|
behavior: "Поведение"
|
||||||
sample: "Пример"
|
sample: "Пример"
|
||||||
abuseReports: "Жалобы"
|
abuseReports: "Жалобы"
|
||||||
@ -620,6 +618,8 @@ reportAbuse: "Жалоба"
|
|||||||
reportAbuseOf: "Пожаловаться на пользователя {name}"
|
reportAbuseOf: "Пожаловаться на пользователя {name}"
|
||||||
fillAbuseReportDescription: "Опишите, пожалуйста, причину жалобы подробнее. Если речь о конкретной заметке, будьте добры приложить ссылку на неё."
|
fillAbuseReportDescription: "Опишите, пожалуйста, причину жалобы подробнее. Если речь о конкретной заметке, будьте добры приложить ссылку на неё."
|
||||||
abuseReported: "Жалоба отправлена. Большое спасибо за информацию."
|
abuseReported: "Жалоба отправлена. Большое спасибо за информацию."
|
||||||
|
reporteeOrigin: "Куда сообщать"
|
||||||
|
reporterOrigin: "Сообщено"
|
||||||
send: "Отправить"
|
send: "Отправить"
|
||||||
abuseMarkAsResolved: "Отметить жалобу как решённую"
|
abuseMarkAsResolved: "Отметить жалобу как решённую"
|
||||||
openInNewTab: "Открыть в новой вкладке"
|
openInNewTab: "Открыть в новой вкладке"
|
||||||
@ -682,6 +682,7 @@ center: "По центру"
|
|||||||
wide: "Толстый"
|
wide: "Толстый"
|
||||||
narrow: "Тонкий"
|
narrow: "Тонкий"
|
||||||
reloadToApplySetting: "Это настройка вступает в силу при загрузке страницы. Перезагрузить сейчас?"
|
reloadToApplySetting: "Это настройка вступает в силу при загрузке страницы. Перезагрузить сейчас?"
|
||||||
|
needReloadToApply: "Чтобы это вступило в силу, требуется перезагрузка."
|
||||||
showTitlebar: "Показать заголовок"
|
showTitlebar: "Показать заголовок"
|
||||||
clearCache: "Очистить кэш"
|
clearCache: "Очистить кэш"
|
||||||
onlineUsersCount: "Пользователей сейчас в сети: {n}"
|
onlineUsersCount: "Пользователей сейчас в сети: {n}"
|
||||||
@ -766,6 +767,7 @@ middle: "Средне"
|
|||||||
low: "Низкий"
|
low: "Низкий"
|
||||||
emailNotConfiguredWarning: "Не указан адрес электронной почты"
|
emailNotConfiguredWarning: "Не указан адрес электронной почты"
|
||||||
ratio: "Соотношение"
|
ratio: "Соотношение"
|
||||||
|
previewNoteText: "Предварительный просмотр текста"
|
||||||
customCss: "Индивидуальный CSS"
|
customCss: "Индивидуальный CSS"
|
||||||
customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что сайт перестанет нормально работать у вас."
|
customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что сайт перестанет нормально работать у вас."
|
||||||
global: "Всеобщая"
|
global: "Всеобщая"
|
||||||
@ -780,19 +782,50 @@ learnMore: "Подробнее"
|
|||||||
misskeyUpdated: "Misskey обновился!"
|
misskeyUpdated: "Misskey обновился!"
|
||||||
whatIsNew: "Что новенького?"
|
whatIsNew: "Что новенького?"
|
||||||
translate: "Перевод"
|
translate: "Перевод"
|
||||||
|
translatedFrom: "{x}Перевод с английского"
|
||||||
accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи"
|
accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи"
|
||||||
usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
|
usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
|
||||||
aiChanMode: "ИИ режим"
|
aiChanMode: "ИИ режим"
|
||||||
keepCw: "Сохраняйте Предупреждения о содержимом"
|
keepCw: "Сохраняйте Предупреждения о содержимом"
|
||||||
|
lastCommunication: "Последнее сообщение"
|
||||||
|
resolved: "Решен"
|
||||||
|
unresolved: "Неразрешенные"
|
||||||
|
itsOff: "Он выключен!"
|
||||||
|
emailRequiredForSignup: "Требуется адрес электронной почты для регистрации аккаунта"
|
||||||
|
unread: "Непрочитанное"
|
||||||
|
filter: "Фильтры"
|
||||||
controlPanel: "Панель управления"
|
controlPanel: "Панель управления"
|
||||||
manageAccounts: "Управление аккаунтом"
|
manageAccounts: "Управление аккаунтом"
|
||||||
_docs:
|
makeReactionsPublic: "Опубликовать список реакций"
|
||||||
continueReading: "Читать подробнее"
|
makeReactionsPublicDescription: "Список сделанных вами реакций доступен для просмотра всем желающим."
|
||||||
features: "Возможности"
|
classic: "Классика"
|
||||||
generalTopics: "Основные темы"
|
unmuteThread: "Отключить звук"
|
||||||
advancedTopics: "Дополнительные темы"
|
ffVisibilityDescription: "Вы можете установить объем вашей следующей/последней информации."
|
||||||
admin: "Управление"
|
voteConfirm: "Вы бы проголосовали за \"{choice}\"?"
|
||||||
translateWarn: "Это перевод документа. Он может неточно отражать содержимое оригинала."
|
hide: "Спрятать"
|
||||||
|
leaveGroup: "Покинуть группу"
|
||||||
|
leaveGroupConfirm: "Вы хотите оставить \"{name}\"?"
|
||||||
|
welcomeBackWithName: "С возвращением, {name}!"
|
||||||
|
clickToFinishEmailVerification: "Пожалуйста, нажмите [{ok}], чтобы завершить подтверждение адреса электронной почты."
|
||||||
|
_emailUnavailable:
|
||||||
|
used: "Уже используется"
|
||||||
|
format: "Неправильный формат"
|
||||||
|
mx: "Это неправильный почтовый сервер!"
|
||||||
|
smtp: "Почтовый сервер не отвечает"
|
||||||
|
_ffVisibility:
|
||||||
|
public: "Опубликовать"
|
||||||
|
private: "Частный"
|
||||||
|
_signup:
|
||||||
|
almostThere: "Почти готово!"
|
||||||
|
emailAddressInfo: "Пожалуйста, введите адрес электронной почты, который вы используете."
|
||||||
|
emailSent: "На указанный вами адрес электронной почты ({email}) было отправлено письмо с подтверждением. Перейдите по ссылке в электронном письме, чтобы завершить создание учетной записи."
|
||||||
|
_accountDelete:
|
||||||
|
accountDelete: "Удалить свой аккаунт"
|
||||||
|
mayTakeTime: "Удаление учетной записи - это тяжелый процесс, который может занять много времени, если у вас создано много контента или загружено много файлов."
|
||||||
|
sendEmail: "Мы отправим уведомление на зарегистрированный вами адрес электронной почты, когда ваша учетная запись будет удалена."
|
||||||
|
requestAccountDelete: "Запросить удаление вашей учетной записи"
|
||||||
|
started: "Процесс удаления начался."
|
||||||
|
inProgress: "Удаление в процессе"
|
||||||
_ad:
|
_ad:
|
||||||
back: "Выход"
|
back: "Выход"
|
||||||
reduceFrequencyOfThisAd: "Реже показывать эту рекламу"
|
reduceFrequencyOfThisAd: "Реже показывать эту рекламу"
|
||||||
@ -893,6 +926,10 @@ _mfm:
|
|||||||
fontDescription: "Так можно писать произвольным шрифтом."
|
fontDescription: "Так можно писать произвольным шрифтом."
|
||||||
rainbow: "Радуга"
|
rainbow: "Радуга"
|
||||||
rainbowDescription: "Заставлять содержимое отображаться в цветах радуги."
|
rainbowDescription: "Заставлять содержимое отображаться в цветах радуги."
|
||||||
|
sparkle: "Блеск"
|
||||||
|
sparkleDescription: "Добавьте эффект искрящихся частиц."
|
||||||
|
rotate: "Повернуть"
|
||||||
|
rotateDescription: "Повернуть на указанный угол."
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Реверси"
|
reversi: "Реверси"
|
||||||
gameSettings: "Настройки игры"
|
gameSettings: "Настройки игры"
|
||||||
@ -1119,6 +1156,10 @@ _permissions:
|
|||||||
"write:user-groups": "Изменять и удалять группы пользователей"
|
"write:user-groups": "Изменять и удалять группы пользователей"
|
||||||
"read:channels": "Смотреть каналы"
|
"read:channels": "Смотреть каналы"
|
||||||
"write:channels": "Изменять каналы"
|
"write:channels": "Изменять каналы"
|
||||||
|
"read:gallery": "Смотреть галерею"
|
||||||
|
"write:gallery": "Работа с галереей"
|
||||||
|
"read:gallery-likes": "Посмотреть галерею лайков"
|
||||||
|
"write:gallery-likes": "Манипулируйте понравившейся галереей"
|
||||||
_auth:
|
_auth:
|
||||||
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
|
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
|
||||||
shareAccessAsk: "Уверены, что хотите дать приложению доступ к своей учётной записи?"
|
shareAccessAsk: "Уверены, что хотите дать приложению доступ к своей учётной записи?"
|
||||||
@ -1227,6 +1268,7 @@ _exportOrImport:
|
|||||||
muteList: "Скрытые"
|
muteList: "Скрытые"
|
||||||
blockingList: "Заблокированные"
|
blockingList: "Заблокированные"
|
||||||
userLists: "Списки"
|
userLists: "Списки"
|
||||||
|
excludeMutingUsers: "Исключение отключенных пользователей"
|
||||||
_charts:
|
_charts:
|
||||||
federationInstancesIncDec: "Изменение внешних связей"
|
federationInstancesIncDec: "Изменение внешних связей"
|
||||||
federationInstancesTotal: "Количество внешних связей"
|
federationInstancesTotal: "Количество внешних связей"
|
||||||
|
62
locales/tr-TR.yml
Normal file
62
locales/tr-TR.yml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
_lang_: "Türkçe"
|
||||||
|
introMisskey: "Açık kaynaklı bir dağıtılmış mikroblog hizmeti olan Misskey'e hoş geldiniz.\nMisskey, neler olup bittiğini paylaşmak ve herkese sizden bahsetmek için \"notlar\" oluşturmanıza olanak tanıyan, açık kaynaklı, dağıtılmış bir mikroblog hizmetidir.\nHerkesin notlarına kendi tepkilerinizi hızlıca eklemek için \"Tepkiler\" özelliğini de kullanabilirsiniz👍.\nYeni bir dünyayı keşfedin🚀."
|
||||||
|
monthAndDay: "{month}Ay {day}Gün"
|
||||||
|
search: "Arama"
|
||||||
|
notifications: "Bildirim"
|
||||||
|
username: "Kullanıcı Adı"
|
||||||
|
password: "Şifre"
|
||||||
|
forgotPassword: "şifremi unuttum"
|
||||||
|
ok: "TAMAM"
|
||||||
|
gotIt: "Anladım"
|
||||||
|
cancel: "İptal"
|
||||||
|
enterUsername: "Kullanıcı adınızı giriniz"
|
||||||
|
noNotes: "Notlar mevcut değil."
|
||||||
|
noNotifications: "Bildirim bulunmuyor"
|
||||||
|
settings: "Ayarlar"
|
||||||
|
basicSettings: "Temel Ayarlar"
|
||||||
|
otherSettings: "Diğer Ayarlar"
|
||||||
|
openInWindow: "Bir pencere ile aç"
|
||||||
|
profile: "Profil"
|
||||||
|
timeline: "Zaman çizelgesi"
|
||||||
|
noAccountDescription: "Bu kullanıcı henüz biyografisini yazmadı"
|
||||||
|
login: "Giriş Yap "
|
||||||
|
logout: "Çıkış Yap"
|
||||||
|
signup: "Kayıt Ol"
|
||||||
|
uploading: "Yükleniyor"
|
||||||
|
users: "Kullanıcı"
|
||||||
|
addUser: "Kullanıcı Ekle"
|
||||||
|
favorite: "Favoriler"
|
||||||
|
favorites: "Favoriler"
|
||||||
|
unfavorite: "Favorilerden Kaldır"
|
||||||
|
favorited: "Favorilerime eklendi."
|
||||||
|
alreadyFavorited: "Zaten favorilerinizde kayıtlı."
|
||||||
|
pin: "Sabitlenmiş"
|
||||||
|
unpin: "Sabitlemeyi kaldır"
|
||||||
|
copyContent: "İçeriği kopyala"
|
||||||
|
copyLink: "Bağlantıyı Kopyala"
|
||||||
|
delete: "Sil"
|
||||||
|
deleteAndEdit: "Sil ve yeniden düzenle"
|
||||||
|
deleteAndEditConfirm: "Bu notu silip yeniden düzenlemek istiyor musunuz? Bu nota ilişkin tüm Tepkiler, Yeniden Notlar ve Yanıtlar da silinecektir."
|
||||||
|
addToList: "Listeye ekle"
|
||||||
|
sendMessage: "Mesaj Gönder"
|
||||||
|
copyUsername: "Kullanıcı Adını Kopyala"
|
||||||
|
searchUser: "Kullanıcıları ara"
|
||||||
|
pinned: "Sabitlenmiş"
|
||||||
|
remove: "Sil"
|
||||||
|
smtpUser: "Kullanıcı Adı"
|
||||||
|
smtpPass: "Şifre"
|
||||||
|
user: "Kullanıcı"
|
||||||
|
_mfm:
|
||||||
|
search: "Arama"
|
||||||
|
_sfx:
|
||||||
|
notification: "Bildirim"
|
||||||
|
_widgets:
|
||||||
|
notifications: "Bildirim"
|
||||||
|
timeline: "Zaman çizelgesi"
|
||||||
|
_profile:
|
||||||
|
username: "Kullanıcı Adı"
|
||||||
|
_deck:
|
||||||
|
_columns:
|
||||||
|
notifications: "Bildirim"
|
||||||
|
tl: "Zaman çizelgesi"
|
@ -103,7 +103,6 @@ clickToShow: "Натисніть для перегляду"
|
|||||||
sensitive: "NSFW"
|
sensitive: "NSFW"
|
||||||
add: "Додати"
|
add: "Додати"
|
||||||
reaction: "Реакції"
|
reaction: "Реакції"
|
||||||
reactionSettingDescription: "Виберіть свої улюблені реакції, які хочете закріпити в селекторі реакцій."
|
|
||||||
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
|
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
|
||||||
rememberNoteVisibility: "Пам’ятати параметри видимісті"
|
rememberNoteVisibility: "Пам’ятати параметри видимісті"
|
||||||
attachCancel: "Видалити вкладення"
|
attachCancel: "Видалити вкладення"
|
||||||
@ -593,7 +592,6 @@ regenerateLoginToken: "Оновити Login Token"
|
|||||||
regenerateLoginTokenDescription: "Регенерувати внутрішній ключ використовуваний під час входу. Зазвичай цього не потрібно робити. При регенерації всі пристрої вийдуть з системи."
|
regenerateLoginTokenDescription: "Регенерувати внутрішній ключ використовуваний під час входу. Зазвичай цього не потрібно робити. При регенерації всі пристрої вийдуть з системи."
|
||||||
setMultipleBySeparatingWithSpace: "Можна вказати кілька значень, відділивши їх пробілом."
|
setMultipleBySeparatingWithSpace: "Можна вказати кілька значень, відділивши їх пробілом."
|
||||||
fileIdOrUrl: "Ідентифікатор файлу або посилання"
|
fileIdOrUrl: "Ідентифікатор файлу або посилання"
|
||||||
chatOpenBehavior: "Поводження вікна переписки під час відкриття"
|
|
||||||
behavior: "Поведінка"
|
behavior: "Поведінка"
|
||||||
sample: "Приклад"
|
sample: "Приклад"
|
||||||
abuseReports: "Скарги"
|
abuseReports: "Скарги"
|
||||||
@ -692,8 +690,7 @@ middle: "Середній"
|
|||||||
global: "Глобальна"
|
global: "Глобальна"
|
||||||
sent: "Відправити"
|
sent: "Відправити"
|
||||||
hashtags: "Хештеґ"
|
hashtags: "Хештеґ"
|
||||||
_docs:
|
hide: "Сховати"
|
||||||
admin: "Управління"
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "Назад"
|
back: "Назад"
|
||||||
_gallery:
|
_gallery:
|
||||||
@ -773,6 +770,7 @@ _mfm:
|
|||||||
blurDescription: "Цей ефект зробить контент розмитим. Контент можна зробити чітким, якщо навести на нього вказівник миші."
|
blurDescription: "Цей ефект зробить контент розмитим. Контент можна зробити чітким, якщо навести на нього вказівник миші."
|
||||||
font: "Шрифт"
|
font: "Шрифт"
|
||||||
fontDescription: "Встановлює шрифт для контенту."
|
fontDescription: "Встановлює шрифт для контенту."
|
||||||
|
rotate: "Обертати"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "Реверсі"
|
reversi: "Реверсі"
|
||||||
gameSettings: "Налаштування гри"
|
gameSettings: "Налаштування гри"
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
---
|
---
|
||||||
_lang_: "中文(简体)"
|
_lang_: "中文(简体)"
|
||||||
headlineMisskey: "通过帖子连接在一起的网络"
|
headlineMisskey: "通过帖子连接在一起的网络"
|
||||||
introMisskey: "欢迎!Misskey是一个开源的、去中心化的“微博客”服务。\n通过编写「帖子」来和大家分享你的以及你周围的事情吧!📡\n通过「回应」功能,可以让你快速地对大家的帖子表达反馈👍\n来探索新的世界吧!🚀"
|
introMisskey: "欢迎!Misskey是一个开源的、去中心化的“微博客”服务。\n通过编写「帖文」来和大家分享你的以及你周围的事情吧!📡\n通过「回应」功能,可以让你快速地对大家的帖文表达反馈👍\n来探索新的世界吧!🚀"
|
||||||
monthAndDay: "{month}月 {day}日"
|
monthAndDay: "{month}月 {day}日"
|
||||||
search: "搜索"
|
search: "搜索"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
username: "用户名"
|
username: "用户名"
|
||||||
password: "密码"
|
password: "密码"
|
||||||
forgotPassword: "重置密码"
|
forgotPassword: "忘记密码"
|
||||||
fetchingAsApObject: "联合查询中"
|
fetchingAsApObject: "联合查询"
|
||||||
ok: "OK"
|
ok: "OK"
|
||||||
gotIt: "我明白了"
|
gotIt: "我明白了"
|
||||||
cancel: "取消"
|
cancel: "取消"
|
||||||
enterUsername: "输入用户名"
|
enterUsername: "输入用户名"
|
||||||
renotedBy: "{user} 转发了"
|
renotedBy: "由 {user} 转推"
|
||||||
noNotes: "没有帖子"
|
noNotes: "没有帖文"
|
||||||
noNotifications: "无通知"
|
noNotifications: "无通知"
|
||||||
instance: "实例"
|
instance: "实例"
|
||||||
settings: "设置"
|
settings: "设置"
|
||||||
@ -106,7 +106,7 @@ clickToShow: "点击以显示"
|
|||||||
sensitive: "敏感内容"
|
sensitive: "敏感内容"
|
||||||
add: "添加"
|
add: "添加"
|
||||||
reaction: "回应"
|
reaction: "回应"
|
||||||
reactionSettingDescription: "选择您想要置顶的回应。"
|
reactionSetting: "在选择器中显示的回应"
|
||||||
reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。"
|
reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。"
|
||||||
rememberNoteVisibility: "保存上次设置的可见性"
|
rememberNoteVisibility: "保存上次设置的可见性"
|
||||||
attachCancel: "删除附件"
|
attachCancel: "删除附件"
|
||||||
@ -124,9 +124,9 @@ unblockConfirm: "确定要解除拉黑吗?"
|
|||||||
suspendConfirm: "要冻结吗?"
|
suspendConfirm: "要冻结吗?"
|
||||||
unsuspendConfirm: "要解除冻结吗?"
|
unsuspendConfirm: "要解除冻结吗?"
|
||||||
selectList: "选择列表"
|
selectList: "选择列表"
|
||||||
selectAntenna: "天线选择"
|
selectAntenna: "选择天线"
|
||||||
selectWidget: "选择小工具"
|
selectWidget: "选择小工具"
|
||||||
editWidgets: "编辑小工具"
|
editWidgets: "编辑部件"
|
||||||
editWidgetsExit: "完成编辑"
|
editWidgetsExit: "完成编辑"
|
||||||
customEmojis: "自定义表情符号"
|
customEmojis: "自定义表情符号"
|
||||||
emoji: "表情符号"
|
emoji: "表情符号"
|
||||||
@ -139,9 +139,9 @@ cacheRemoteFiles: "远程文件缓存"
|
|||||||
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程实例载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
|
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程实例载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
|
||||||
flagAsBot: "这是一个机器人账号"
|
flagAsBot: "这是一个机器人账号"
|
||||||
flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让Misskey的内部系统将此帐户识别为机器人。"
|
flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让Misskey的内部系统将此帐户识别为机器人。"
|
||||||
flagAsCat: "这个账户是一只猫"
|
flagAsCat: "将这个账户设定为一只猫"
|
||||||
flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后,会在您的头像上出现猫耳朵,并将你的帖子中的「na」替换为「nya」,日文同理。"
|
flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。"
|
||||||
autoAcceptFollowed: "自动允许关注者的关注"
|
autoAcceptFollowed: "自动允许关注"
|
||||||
addAccount: "添加账户"
|
addAccount: "添加账户"
|
||||||
loginFailed: "登录失败"
|
loginFailed: "登录失败"
|
||||||
showOnRemote: "转到所在实例显示"
|
showOnRemote: "转到所在实例显示"
|
||||||
@ -448,6 +448,7 @@ uiLanguage: "显示语言"
|
|||||||
groupInvited: "您有新的群组邀请"
|
groupInvited: "您有新的群组邀请"
|
||||||
aboutX: "关于 {x}"
|
aboutX: "关于 {x}"
|
||||||
useOsNativeEmojis: "使用系统的原生表情符号"
|
useOsNativeEmojis: "使用系统的原生表情符号"
|
||||||
|
disableDrawer: "不显示抽屉菜单"
|
||||||
youHaveNoGroups: "没有群组"
|
youHaveNoGroups: "没有群组"
|
||||||
joinOrCreateGroup: "请加入一个现有的群组,或者创建新群组。"
|
joinOrCreateGroup: "请加入一个现有的群组,或者创建新群组。"
|
||||||
noHistory: "没有历史记录"
|
noHistory: "没有历史记录"
|
||||||
@ -592,6 +593,7 @@ smtpSecure: "在 SMTP 连接中使用隐式 SSL / TLS"
|
|||||||
smtpSecureInfo: "使用STARTTLS时关闭。"
|
smtpSecureInfo: "使用STARTTLS时关闭。"
|
||||||
testEmail: "邮件发送测试"
|
testEmail: "邮件发送测试"
|
||||||
wordMute: "文字屏蔽"
|
wordMute: "文字屏蔽"
|
||||||
|
instanceMute: "实例的屏蔽"
|
||||||
userSaysSomething: "{name}说了什么"
|
userSaysSomething: "{name}说了什么"
|
||||||
makeActive: "启用"
|
makeActive: "启用"
|
||||||
display: "显示"
|
display: "显示"
|
||||||
@ -612,7 +614,6 @@ regenerateLoginToken: "重新生成登录令牌"
|
|||||||
regenerateLoginTokenDescription: "重新生成用于登录的内部令牌。通常您不需要这样做。重新生成后,您将在所有设备上登出。"
|
regenerateLoginTokenDescription: "重新生成用于登录的内部令牌。通常您不需要这样做。重新生成后,您将在所有设备上登出。"
|
||||||
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多个项目。"
|
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多个项目。"
|
||||||
fileIdOrUrl: "文件ID或者URL"
|
fileIdOrUrl: "文件ID或者URL"
|
||||||
chatOpenBehavior: "聊天窗口打开时的行为"
|
|
||||||
behavior: "行为"
|
behavior: "行为"
|
||||||
sample: "示例"
|
sample: "示例"
|
||||||
abuseReports: "举报"
|
abuseReports: "举报"
|
||||||
@ -620,6 +621,8 @@ reportAbuse: "举报"
|
|||||||
reportAbuseOf: "举报{name}"
|
reportAbuseOf: "举报{name}"
|
||||||
fillAbuseReportDescription: "请填写举报的详细原因。如果有对方发的帖子,请同时填写URL地址。"
|
fillAbuseReportDescription: "请填写举报的详细原因。如果有对方发的帖子,请同时填写URL地址。"
|
||||||
abuseReported: "内容已发送。感谢您的报告。"
|
abuseReported: "内容已发送。感谢您的报告。"
|
||||||
|
reporteeOrigin: "举报来源"
|
||||||
|
reporterOrigin: "举报者来源"
|
||||||
send: "发送"
|
send: "发送"
|
||||||
abuseMarkAsResolved: "处理完毕"
|
abuseMarkAsResolved: "处理完毕"
|
||||||
openInNewTab: "在新标签页中打开"
|
openInNewTab: "在新标签页中打开"
|
||||||
@ -682,6 +685,7 @@ center: "中央"
|
|||||||
wide: "宽"
|
wide: "宽"
|
||||||
narrow: "窄"
|
narrow: "窄"
|
||||||
reloadToApplySetting: "页面刷新后设置才会生效。是否现在刷新页面?"
|
reloadToApplySetting: "页面刷新后设置才会生效。是否现在刷新页面?"
|
||||||
|
needReloadToApply: "重启后应用才会生效。"
|
||||||
showTitlebar: "显示标题栏"
|
showTitlebar: "显示标题栏"
|
||||||
clearCache: "清除缓存"
|
clearCache: "清除缓存"
|
||||||
onlineUsersCount: "{n}人在线"
|
onlineUsersCount: "{n}人在线"
|
||||||
@ -790,6 +794,7 @@ pubSub: "Pub/Sub账户"
|
|||||||
lastCommunication: "最近通信"
|
lastCommunication: "最近通信"
|
||||||
resolved: "已解决"
|
resolved: "已解决"
|
||||||
unresolved: "未解决"
|
unresolved: "未解决"
|
||||||
|
breakFollow: "移除关注者"
|
||||||
itsOn: "已开启"
|
itsOn: "已开启"
|
||||||
itsOff: "已关闭"
|
itsOff: "已关闭"
|
||||||
emailRequiredForSignup: "注册账户需要电子邮件地址"
|
emailRequiredForSignup: "注册账户需要电子邮件地址"
|
||||||
@ -797,7 +802,33 @@ unread: "未读"
|
|||||||
filter: "筛选"
|
filter: "筛选"
|
||||||
controlPanel: "控制面板"
|
controlPanel: "控制面板"
|
||||||
manageAccounts: "管理账户"
|
manageAccounts: "管理账户"
|
||||||
|
makeReactionsPublic: "将回应设置为公开"
|
||||||
|
makeReactionsPublicDescription: "将您发表过的回应设置成公开可见。"
|
||||||
classic: "经典"
|
classic: "经典"
|
||||||
|
muteThread: "屏蔽帖子列表"
|
||||||
|
unmuteThread: "取消屏蔽帖子列表"
|
||||||
|
ffVisibility: "连接的可见范围"
|
||||||
|
ffVisibilityDescription: "您可以设置您的关注/关注者信息的公开范围"
|
||||||
|
continueThread: "查看更多帖子"
|
||||||
|
deleteAccountConfirm: "将要删除账户。是否确认?"
|
||||||
|
incorrectPassword: "密码错误"
|
||||||
|
voteConfirm: "确定投给“{choice}” ?"
|
||||||
|
hide: "隐藏"
|
||||||
|
leaveGroup: "离开群组"
|
||||||
|
leaveGroupConfirm: "确定离开「{name}」?"
|
||||||
|
useDrawerReactionPickerForMobile: "在移动设备上使用抽屉显示"
|
||||||
|
welcomeBackWithName: "欢迎回来,{name}"
|
||||||
|
clickToFinishEmailVerification: "点击 [{ok}] 完成电子邮件地址认证。"
|
||||||
|
_emailUnavailable:
|
||||||
|
used: "已经被使用过"
|
||||||
|
format: "无效的格式"
|
||||||
|
disposable: "不是永久可用的地址"
|
||||||
|
mx: "邮件服务器不正确"
|
||||||
|
smtp: "邮件服务器没有响应"
|
||||||
|
_ffVisibility:
|
||||||
|
public: "发布"
|
||||||
|
followers: "只有关注你的用户能看到"
|
||||||
|
private: "私密"
|
||||||
_signup:
|
_signup:
|
||||||
almostThere: "即将完成"
|
almostThere: "即将完成"
|
||||||
emailAddressInfo: "请输入您所使用的电子邮件地址"
|
emailAddressInfo: "请输入您所使用的电子邮件地址"
|
||||||
@ -809,13 +840,6 @@ _accountDelete:
|
|||||||
requestAccountDelete: "请求删除账户"
|
requestAccountDelete: "请求删除账户"
|
||||||
started: "账户删除过程已开始。"
|
started: "账户删除过程已开始。"
|
||||||
inProgress: "正在删除"
|
inProgress: "正在删除"
|
||||||
_docs:
|
|
||||||
continueReading: "继续阅读"
|
|
||||||
features: "特性"
|
|
||||||
generalTopics: "通常提示"
|
|
||||||
advancedTopics: "进阶提示"
|
|
||||||
admin: "管理"
|
|
||||||
translateWarn: "本文档是翻译后的文档。内容可能与原文有所不同。"
|
|
||||||
_ad:
|
_ad:
|
||||||
back: "返回"
|
back: "返回"
|
||||||
reduceFrequencyOfThisAd: "减少此广告的频率"
|
reduceFrequencyOfThisAd: "减少此广告的频率"
|
||||||
@ -918,6 +942,8 @@ _mfm:
|
|||||||
rainbowDescription: "用彩虹色来显示内容。"
|
rainbowDescription: "用彩虹色来显示内容。"
|
||||||
sparkle: "闪光"
|
sparkle: "闪光"
|
||||||
sparkleDescription: "添加发光粒子效果。"
|
sparkleDescription: "添加发光粒子效果。"
|
||||||
|
rotate: "旋转"
|
||||||
|
rotateDescription: "旋转指定的角度。"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "黑白棋"
|
reversi: "黑白棋"
|
||||||
gameSettings: "对局设置"
|
gameSettings: "对局设置"
|
||||||
@ -983,6 +1009,11 @@ _wordMute:
|
|||||||
soft: "软屏蔽"
|
soft: "软屏蔽"
|
||||||
hard: "硬屏蔽"
|
hard: "硬屏蔽"
|
||||||
mutedNotes: "被屏蔽的帖子"
|
mutedNotes: "被屏蔽的帖子"
|
||||||
|
_instanceMute:
|
||||||
|
instanceMuteDescription: "屏蔽配置实例中的所有帖子和转帖,包括实例的用户回复。"
|
||||||
|
instanceMuteDescription2: "设置时用换行符来分隔"
|
||||||
|
title: "隐藏实例已设置的帖子。"
|
||||||
|
heading: "屏蔽实例"
|
||||||
_theme:
|
_theme:
|
||||||
explore: "寻找主题"
|
explore: "寻找主题"
|
||||||
install: "安装主题"
|
install: "安装主题"
|
||||||
@ -1256,6 +1287,8 @@ _exportOrImport:
|
|||||||
muteList: "屏蔽"
|
muteList: "屏蔽"
|
||||||
blockingList: "拉黑"
|
blockingList: "拉黑"
|
||||||
userLists: "列表"
|
userLists: "列表"
|
||||||
|
excludeMutingUsers: "排除屏蔽用户"
|
||||||
|
excludeInactiveUsers: "排除不活跃用户"
|
||||||
_charts:
|
_charts:
|
||||||
federationInstancesIncDec: "联合:增加/减少"
|
federationInstancesIncDec: "联合:增加/减少"
|
||||||
federationInstancesTotal: "联合总数"
|
federationInstancesTotal: "联合总数"
|
||||||
|
@ -104,7 +104,6 @@ clickToShow: "按一下以顯示"
|
|||||||
sensitive: "敏感內容"
|
sensitive: "敏感內容"
|
||||||
add: "新增"
|
add: "新增"
|
||||||
reaction: "情感"
|
reaction: "情感"
|
||||||
reactionSettingDescription: "置頂「反應」表情符號\n"
|
|
||||||
reactionSettingDescription2: "拖動以重新列序,點擊以刪除,按下 + 添加。"
|
reactionSettingDescription2: "拖動以重新列序,點擊以刪除,按下 + 添加。"
|
||||||
rememberNoteVisibility: "記住貼文可見性"
|
rememberNoteVisibility: "記住貼文可見性"
|
||||||
attachCancel: "移除附件"
|
attachCancel: "移除附件"
|
||||||
@ -598,7 +597,6 @@ regenerateLoginToken: "重新產生登入權杖"
|
|||||||
regenerateLoginTokenDescription: "重新產生用於登入的內部權杖。一般情況下是不需要這樣做的。一旦重產,所有裝置將會被登出。"
|
regenerateLoginTokenDescription: "重新產生用於登入的內部權杖。一般情況下是不需要這樣做的。一旦重產,所有裝置將會被登出。"
|
||||||
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多個項目。"
|
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多個項目。"
|
||||||
fileIdOrUrl: "檔案ID或URL"
|
fileIdOrUrl: "檔案ID或URL"
|
||||||
chatOpenBehavior: "開啟聊天窗口時的行為"
|
|
||||||
behavior: "行為"
|
behavior: "行為"
|
||||||
sample: "範例"
|
sample: "範例"
|
||||||
abuseReports: "檢舉"
|
abuseReports: "檢舉"
|
||||||
@ -754,8 +752,9 @@ ratio: "%"
|
|||||||
global: "公開"
|
global: "公開"
|
||||||
sent: "發送"
|
sent: "發送"
|
||||||
hashtags: "#tag"
|
hashtags: "#tag"
|
||||||
_docs:
|
hide: "隱藏"
|
||||||
admin: "管理"
|
_ffVisibility:
|
||||||
|
public: "發佈"
|
||||||
_ad:
|
_ad:
|
||||||
back: "返回"
|
back: "返回"
|
||||||
reduceFrequencyOfThisAd: "降低此廣告的頻率 "
|
reduceFrequencyOfThisAd: "降低此廣告的頻率 "
|
||||||
@ -840,6 +839,7 @@ _mfm:
|
|||||||
blur: "模糊"
|
blur: "模糊"
|
||||||
font: "字型"
|
font: "字型"
|
||||||
fontDescription: "您可以設定顯示內容的字型"
|
fontDescription: "您可以設定顯示內容的字型"
|
||||||
|
rotate: "旋轉"
|
||||||
_reversi:
|
_reversi:
|
||||||
reversi: "黑白棋"
|
reversi: "黑白棋"
|
||||||
gameSettings: "對弈設定"
|
gameSettings: "對弈設定"
|
||||||
|
@ -1,485 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class Init1000000000000 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TYPE "log_level_enum" AS ENUM('error', 'warning', 'info', 'success', 'debug')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "domain" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "level" "log_level_enum" NOT NULL, "worker" character varying(8) NOT NULL, "machine" character varying(128) NOT NULL, "message" character varying(1024) NOT NULL, "data" jsonb NOT NULL DEFAULT '{}', CONSTRAINT "PK_350604cbdf991d5930d9e618fbd" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_8e4eb51a35d81b64dda28eed0a" ON "log" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_8cb40cfc8f3c28261e6f887b03" ON "log" ("domain") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_584b536b49e53ac81beb39a177" ON "log" ("level") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "drive_folder" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(128) NOT NULL, "userId" character varying(32), "parentId" character varying(32), CONSTRAINT "PK_7a0c089191f5ebdc214e0af808a" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_02878d441ceae15ce060b73daf" ON "drive_folder" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f4fc06e49c0171c85f1c48060d" ON "drive_folder" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_00ceffb0cdc238b3233294f08f" ON "drive_folder" ("parentId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "drive_file" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "userHost" character varying(128), "md5" character varying(32) NOT NULL, "name" character varying(256) NOT NULL, "type" character varying(128) NOT NULL, "size" integer NOT NULL, "comment" character varying(512), "properties" jsonb NOT NULL DEFAULT '{}', "storedInternal" boolean NOT NULL, "url" character varying(512) NOT NULL, "thumbnailUrl" character varying(512), "webpublicUrl" character varying(512), "accessKey" character varying(256), "thumbnailAccessKey" character varying(256), "webpublicAccessKey" character varying(256), "uri" character varying(512), "src" character varying(512), "folderId" character varying(32), "isSensitive" boolean NOT NULL DEFAULT false, "isLink" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_43ddaaaf18c9e68029b7cbb032e" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_c8dfad3b72196dd1d6b5db168a" ON "drive_file" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_860fa6f6c7df5bb887249fba22" ON "drive_file" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_92779627994ac79277f070c91e" ON "drive_file" ("userHost") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_37bb9a1b4585f8a3beb24c62d6" ON "drive_file" ("md5") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a40b8df8c989d7db937ea27cf6" ON "drive_file" ("type") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d85a184c2540d2deba33daf642" ON "drive_file" ("accessKey") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_e74022ce9a074b3866f70e0d27" ON "drive_file" ("thumbnailAccessKey") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_c55b2b7c284d9fef98026fc88e" ON "drive_file" ("webpublicAccessKey") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e5848eac4940934e23dbc17581" ON "drive_file" ("uri") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_bb90d1956dafc4068c28aa7560" ON "drive_file" ("folderId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "lastFetchedAt" TIMESTAMP WITH TIME ZONE, "username" character varying(128) NOT NULL, "usernameLower" character varying(128) NOT NULL, "name" character varying(128), "followersCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "avatarId" character varying(32), "bannerId" character varying(32), "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "avatarUrl" character varying(512), "bannerUrl" character varying(512), "avatarColor" character varying(32), "bannerColor" character varying(32), "isSuspended" boolean NOT NULL DEFAULT false, "isSilenced" boolean NOT NULL DEFAULT false, "isLocked" boolean NOT NULL DEFAULT false, "isBot" boolean NOT NULL DEFAULT false, "isCat" boolean NOT NULL DEFAULT false, "isAdmin" boolean NOT NULL DEFAULT false, "isModerator" boolean NOT NULL DEFAULT false, "isVerified" boolean NOT NULL DEFAULT false, "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "host" character varying(128), "inbox" character varying(512), "sharedInbox" character varying(512), "featured" character varying(512), "uri" character varying(512), "token" character(16), CONSTRAINT "UQ_a854e557b1b14814750c7c7b0c9" UNIQUE ("token"), CONSTRAINT "REL_58f5c71eaab331645112cf8cfa" UNIQUE ("avatarId"), CONSTRAINT "REL_afc64b53f8db3707ceb34eb28e" UNIQUE ("bannerId"), CONSTRAINT "PK_cace4a159ff9f2512dd42373760" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e11e649824a45d8ed01d597fd9" ON "user" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_80ca6e6ef65fb9ef34ea8c90f4" ON "user" ("updatedAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a27b942a0d6dcff90e3ee9b5e8" ON "user" ("usernameLower") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_fa99d777623947a5b05f394cae" ON "user" ("tags") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_3252a5df8d5bbd16b281f7799e" ON "user" ("host") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_be623adaa4c566baf5d29ce0c8" ON "user" ("uri") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a854e557b1b14814750c7c7b0c" ON "user" ("token") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_5deb01ae162d1d70b80d064c27" ON "user" ("usernameLower", "host") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "app" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "secret" character varying(64) NOT NULL, "name" character varying(128) NOT NULL, "description" character varying(512) NOT NULL, "permission" character varying(64) array NOT NULL, "callbackUrl" character varying(512), CONSTRAINT "PK_9478629fc093d229df09e560aea" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_048a757923ed8b157e9895da53" ON "app" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_3f5b0899ef90527a3462d7c2cb" ON "app" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f49922d511d666848f250663c4" ON "app" ("secret") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "access_token" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "hash" character varying(128) NOT NULL, "userId" character varying(32) NOT NULL, "appId" character varying(32) NOT NULL, CONSTRAINT "PK_f20f028607b2603deabd8182d12" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_70ba8f6af34bc924fc9e12adb8" ON "access_token" ("token") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_64c327441248bae40f7d92f34f" ON "access_token" ("hash") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_9949557d0e1b2c19e5344c171e" ON "access_token" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE TYPE "note_visibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "note" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "replyId" character varying(32), "renoteId" character varying(32), "text" text, "name" character varying(256), "cw" character varying(512), "appId" character varying(32), "userId" character varying(32) NOT NULL, "viaMobile" boolean NOT NULL DEFAULT false, "localOnly" boolean NOT NULL DEFAULT false, "renoteCount" smallint NOT NULL DEFAULT 0, "repliesCount" smallint NOT NULL DEFAULT 0, "reactions" jsonb NOT NULL DEFAULT '{}', "visibility" "note_visibility_enum" NOT NULL, "uri" character varying(512), "score" integer NOT NULL DEFAULT 0, "fileIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "attachedFileTypes" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentions" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentionedRemoteUsers" text NOT NULL DEFAULT '[]', "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "hasPoll" boolean NOT NULL DEFAULT false, "geo" jsonb DEFAULT null, "userHost" character varying(128), "replyUserId" character varying(32), "replyUserHost" character varying(128), "renoteUserId" character varying(32), "renoteUserHost" character varying(128), CONSTRAINT "PK_96d0c172a4fba276b1bbed43058" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e7c0567f5261063592f022e9b5" ON "note" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_17cb3553c700a4985dff5a30ff" ON "note" ("replyId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_52ccc804d7c69037d558bac4c9" ON "note" ("renoteId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_5b87d9d19127bd5d92026017a7" ON "note" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_153536c67d05e9adb24e99fc2b" ON "note" ("uri") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_51c063b6a133a9cb87145450f5" ON "note" ("fileIds") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_25dfc71b0369b003a4cd434d0b" ON "note" ("attachedFileTypes") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_796a8c03959361f97dc2be1d5c" ON "note" ("visibleUserIds") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_54ebcb6d27222913b908d56fd8" ON "note" ("mentions") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_88937d94d7443d9a99a76fa5c0" ON "note" ("tags") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_7125a826ab192eb27e11d358a5" ON "note" ("userHost") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "poll_vote" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "choice" integer NOT NULL, CONSTRAINT "PK_fd002d371201c472490ba89c6a0" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0fb627e1c2f753262a74f0562d" ON "poll_vote" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_66d2bd2ee31d14bcc23069a89f" ON "poll_vote" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_aecfbd5ef60374918e63ee95fa" ON "poll_vote" ("noteId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_50bd7164c5b78f1f4a42c4d21f" ON "poll_vote" ("userId", "noteId", "choice") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "note_reaction" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "reaction" character varying(128) NOT NULL, CONSTRAINT "PK_767ec729b108799b587a3fcc9cf" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_01f4581f114e0ebd2bbb876f0b" ON "note_reaction" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_13761f64257f40c5636d0ff95e" ON "note_reaction" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_45145e4953780f3cd5656f0ea6" ON "note_reaction" ("noteId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ad0c221b25672daf2df320a817" ON "note_reaction" ("userId", "noteId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "note_watching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, CONSTRAINT "PK_49286fdb23725945a74aa27d757" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_318cdf42a9cfc11f479bd802bb" ON "note_watching" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b0134ec406e8d09a540f818288" ON "note_watching" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_03e7028ab8388a3f5e3ce2a861" ON "note_watching" ("noteId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_44499765eec6b5489d72c4253b" ON "note_watching" ("noteUserId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a42c93c69989ce1d09959df4cf" ON "note_watching" ("userId", "noteId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "note_unread" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, "isSpecified" boolean NOT NULL, CONSTRAINT "PK_1904eda61a784f57e6e51fa9c1f" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_56b0166d34ddae49d8ef7610bb" ON "note_unread" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e637cba4dc4410218c4251260e" ON "note_unread" ("noteId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d908433a4953cc13216cd9c274" ON "note_unread" ("userId", "noteId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "notification" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "notifieeId" character varying(32) NOT NULL, "notifierId" character varying(32) NOT NULL, "type" character varying(32) NOT NULL, "isRead" boolean NOT NULL DEFAULT false, "noteId" character varying(32), "reaction" character varying(128), "choice" integer, CONSTRAINT "PK_705b6c7cdf9b2c2ff7ac7872cb7" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b11a5e627c41d4dc3170f1d370" ON "notification" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_3c601b70a1066d2c8b517094cb" ON "notification" ("notifieeId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "meta" ("id" character varying(32) NOT NULL, "name" character varying(128), "description" character varying(1024), "maintainerName" character varying(128), "maintainerEmail" character varying(128), "announcements" jsonb NOT NULL DEFAULT '[]', "disableRegistration" boolean NOT NULL DEFAULT false, "disableLocalTimeline" boolean NOT NULL DEFAULT false, "disableGlobalTimeline" boolean NOT NULL DEFAULT false, "enableEmojiReaction" boolean NOT NULL DEFAULT true, "useStarForReactionFallback" boolean NOT NULL DEFAULT false, "langs" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "hiddenTags" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "blockedHosts" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mascotImageUrl" character varying(512) DEFAULT '/assets/ai.png', "bannerUrl" character varying(512), "errorImageUrl" character varying(512) DEFAULT 'https://xn--931a.moe/aiart/yubitun.png', "iconUrl" character varying(512), "cacheRemoteFiles" boolean NOT NULL DEFAULT true, "proxyAccount" character varying(128), "enableRecaptcha" boolean NOT NULL DEFAULT false, "recaptchaSiteKey" character varying(64), "recaptchaSecretKey" character varying(64), "localDriveCapacityMb" integer NOT NULL DEFAULT 1024, "remoteDriveCapacityMb" integer NOT NULL DEFAULT 32, "maxNoteTextLength" integer NOT NULL DEFAULT 500, "summalyProxy" character varying(128), "enableEmail" boolean NOT NULL DEFAULT false, "email" character varying(128), "smtpSecure" boolean NOT NULL DEFAULT false, "smtpHost" character varying(128), "smtpPort" integer, "smtpUser" character varying(128), "smtpPass" character varying(128), "enableServiceWorker" boolean NOT NULL DEFAULT false, "swPublicKey" character varying(128), "swPrivateKey" character varying(128), "enableTwitterIntegration" boolean NOT NULL DEFAULT false, "twitterConsumerKey" character varying(128), "twitterConsumerSecret" character varying(128), "enableGithubIntegration" boolean NOT NULL DEFAULT false, "githubClientId" character varying(128), "githubClientSecret" character varying(128), "enableDiscordIntegration" boolean NOT NULL DEFAULT false, "discordClientId" character varying(128), "discordClientSecret" character varying(128), CONSTRAINT "PK_c4c17a6c2bd7651338b60fc590b" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "following" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_c76c6e044bdf76ecf8bfb82a645" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_582f8fab771a9040a12961f3e7" ON "following" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_24e0042143a18157b234df186c" ON "following" ("followeeId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_6516c5a6f3c015b4eed39978be" ON "following" ("followerId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_307be5f1d1252e0388662acb96" ON "following" ("followerId", "followeeId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "instance" ("id" character varying(32) NOT NULL, "caughtAt" TIMESTAMP WITH TIME ZONE NOT NULL, "host" character varying(128) NOT NULL, "system" character varying(64), "usersCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "followersCount" integer NOT NULL DEFAULT 0, "driveUsage" integer NOT NULL DEFAULT 0, "driveFiles" integer NOT NULL DEFAULT 0, "latestRequestSentAt" TIMESTAMP WITH TIME ZONE, "latestStatus" integer, "latestRequestReceivedAt" TIMESTAMP WITH TIME ZONE, "lastCommunicatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "isNotResponding" boolean NOT NULL DEFAULT false, "isMarkedAsClosed" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_eaf60e4a0c399c9935413e06474" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_2cd3b2a6b4cf0b910b260afe08" ON "instance" ("caughtAt") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_8d5afc98982185799b160e10eb" ON "instance" ("host") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "muting" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "muteeId" character varying(32) NOT NULL, "muterId" character varying(32) NOT NULL, CONSTRAINT "PK_2e92d06c8b5c602eeb27ca9ba48" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f86d57fbca33c7a4e6897490cc" ON "muting" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_ec96b4fed9dae517e0dbbe0675" ON "muting" ("muteeId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_93060675b4a79a577f31d260c6" ON "muting" ("muterId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_1eb9d9824a630321a29fd3b290" ON "muting" ("muterId", "muteeId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "sw_subscription" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "endpoint" character varying(512) NOT NULL, "auth" character varying(256) NOT NULL, "publickey" character varying(128) NOT NULL, CONSTRAINT "PK_e8f763631530051b95eb6279b91" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_97754ca6f2baff9b4abb7f853d" ON "sw_subscription" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "blocking" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "blockeeId" character varying(32) NOT NULL, "blockerId" character varying(32) NOT NULL, CONSTRAINT "PK_e5d9a541cc1965ee7e048ea09dd" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b9a354f7941c1e779f3b33aea6" ON "blocking" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_2cd4a2743a99671308f5417759" ON "blocking" ("blockeeId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0627125f1a8a42c9a1929edb55" ON "blocking" ("blockerId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_98a1bc5cb30dfd159de056549f" ON "blocking" ("blockerId", "blockeeId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_list" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, CONSTRAINT "PK_87bab75775fd9b1ff822b656402" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b7fcefbdd1c18dce86687531f9" ON "user_list" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_list_joining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userListId" character varying(32) NOT NULL, CONSTRAINT "PK_11abb3768da1c5f8de101c9df45" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_d844bfc6f3f523a05189076efa" ON "user_list_joining" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_605472305f26818cc93d1baaa7" ON "user_list_joining" ("userListId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "hashtag" ("id" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "mentionedUserIds" character varying(32) array NOT NULL, "mentionedUsersCount" integer NOT NULL DEFAULT 0, "mentionedLocalUserIds" character varying(32) array NOT NULL, "mentionedLocalUsersCount" integer NOT NULL DEFAULT 0, "mentionedRemoteUserIds" character varying(32) array NOT NULL, "mentionedRemoteUsersCount" integer NOT NULL DEFAULT 0, "attachedUserIds" character varying(32) array NOT NULL, "attachedUsersCount" integer NOT NULL DEFAULT 0, "attachedLocalUserIds" character varying(32) array NOT NULL, "attachedLocalUsersCount" integer NOT NULL DEFAULT 0, "attachedRemoteUserIds" character varying(32) array NOT NULL, "attachedRemoteUsersCount" integer NOT NULL DEFAULT 0, CONSTRAINT "PK_cb36eb8af8412bfa978f1165d78" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_347fec870eafea7b26c8a73bac" ON "hashtag" ("name") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_2710a55f826ee236ea1a62698f" ON "hashtag" ("mentionedUsersCount") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0e206cec573f1edff4a3062923" ON "hashtag" ("mentionedLocalUsersCount") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_4c02d38a976c3ae132228c6fce" ON "hashtag" ("mentionedRemoteUsersCount") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_d57f9030cd3af7f63ffb1c267c" ON "hashtag" ("attachedUsersCount") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0c44bf4f680964145f2a68a341" ON "hashtag" ("attachedLocalUsersCount") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0b03cbcd7e6a7ce068efa8ecc2" ON "hashtag" ("attachedRemoteUsersCount") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "note_favorite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_af0da35a60b9fa4463a62082b36" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_47f4b1892f5d6ba8efb3057d81" ON "note_favorite" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0f4fb9ad355f3effff221ef245" ON "note_favorite" ("userId", "noteId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "abuse_user_report" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "reporterId" character varying(32) NOT NULL, "comment" character varying(512) NOT NULL, CONSTRAINT "PK_87873f5f5cc5c321a1306b2d18c" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_db2098070b2b5a523c58181f74" ON "abuse_user_report" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_d049123c413e68ca52abe73420" ON "abuse_user_report" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_04cc96756f89d0b7f9473e8cdf" ON "abuse_user_report" ("reporterId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_5cd442c3b2e74fdd99dae20243" ON "abuse_user_report" ("userId", "reporterId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "registration_ticket" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "code" character varying(64) NOT NULL, CONSTRAINT "PK_f11696b6fafcf3662d4292734f8" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0ff69e8dfa9fe31bb4a4660f59" ON "registration_ticket" ("code") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "messaging_message" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "recipientId" character varying(32) NOT NULL, "text" character varying(4096), "isRead" boolean NOT NULL DEFAULT false, "fileId" character varying(32), CONSTRAINT "PK_db398fd79dc95d0eb8c30456eaa" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e21cd3646e52ef9c94aaf17c2e" ON "messaging_message" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_5377c307783fce2b6d352e1203" ON "messaging_message" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_cac14a4e3944454a5ce7daa514" ON "messaging_message" ("recipientId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "signin" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "ip" character varying(128) NOT NULL, "headers" jsonb NOT NULL, "success" boolean NOT NULL, CONSTRAINT "PK_9e96ddc025712616fc492b3b588" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_2c308dbdc50d94dc625670055f" ON "signin" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "auth_session" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "userId" character varying(32), "appId" character varying(32) NOT NULL, CONSTRAINT "PK_19354ed146424a728c1112a8cbf" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_62cb09e1129f6ec024ef66e183" ON "auth_session" ("token") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "follow_request" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "requestId" character varying(128), "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_53a9aa3725f7a3deb150b39dbfc" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_12c01c0d1a79f77d9f6c15fadd" ON "follow_request" ("followeeId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a7fd92dd6dc519e6fb435dd108" ON "follow_request" ("followerId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d54a512b822fac7ed52800f6b4" ON "follow_request" ("followerId", "followeeId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "emoji" ("id" character varying(32) NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "name" character varying(128) NOT NULL, "host" character varying(128), "url" character varying(512) NOT NULL, "uri" character varying(512), "type" character varying(64), "aliases" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_df74ce05e24999ee01ea0bc50a3" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b37dafc86e9af007e3295c2781" ON "emoji" ("name") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_5900e907bb46516ddf2871327c" ON "emoji" ("host") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_4f4d35e1256c84ae3d1f0eab10" ON "emoji" ("name", "host") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "reversi_game" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "startedAt" TIMESTAMP WITH TIME ZONE, "user1Id" character varying(32) NOT NULL, "user2Id" character varying(32) NOT NULL, "user1Accepted" boolean NOT NULL DEFAULT false, "user2Accepted" boolean NOT NULL DEFAULT false, "black" integer, "isStarted" boolean NOT NULL DEFAULT false, "isEnded" boolean NOT NULL DEFAULT false, "winnerId" character varying(32), "surrendered" character varying(32), "logs" jsonb NOT NULL DEFAULT '[]', "map" character varying(64) array NOT NULL, "bw" character varying(32) NOT NULL, "isLlotheo" boolean NOT NULL DEFAULT false, "canPutEverywhere" boolean NOT NULL DEFAULT false, "loopedBoard" boolean NOT NULL DEFAULT false, "form1" jsonb DEFAULT null, "form2" jsonb DEFAULT null, "crc32" character varying(32), CONSTRAINT "PK_76b30eeba71b1193ad7c5311c3f" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b46ec40746efceac604142be1c" ON "reversi_game" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "reversi_matching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "parentId" character varying(32) NOT NULL, "childId" character varying(32) NOT NULL, CONSTRAINT "PK_880bd0afbab232f21c8b9d146cf" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b604d92d6c7aec38627f6eaf16" ON "reversi_matching" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_3b25402709dd9882048c2bbade" ON "reversi_matching" ("parentId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e247b23a3c9b45f89ec1299d06" ON "reversi_matching" ("childId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_note_pining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_a6a2dad4ae000abce2ea9d9b103" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_bfbc6f79ba4007b4ce5097f08d" ON "user_note_pining" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_410cd649884b501c02d6e72738" ON "user_note_pining" ("userId", "noteId") `);
|
|
||||||
await queryRunner.query(`CREATE TYPE "poll_notevisibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "poll" ("noteId" character varying(32) NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE, "multiple" boolean NOT NULL, "choices" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "votes" integer array NOT NULL, "noteVisibility" "poll_notevisibility_enum" NOT NULL, "userId" character varying(32) NOT NULL, "userHost" character varying(128), CONSTRAINT "REL_da851e06d0dfe2ef397d8b1bf1" UNIQUE ("noteId"), CONSTRAINT "PK_da851e06d0dfe2ef397d8b1bf1b" PRIMARY KEY ("noteId"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0610ebcfcfb4a18441a9bcdab2" ON "poll" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_7fa20a12319c7f6dc3aed98c0a" ON "poll" ("userHost") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_keypair" ("userId" character varying(32) NOT NULL, "publicKey" character varying(4096) NOT NULL, "privateKey" character varying(4096) NOT NULL, CONSTRAINT "REL_f4853eb41ab722fe05f81cedeb" UNIQUE ("userId"), CONSTRAINT "PK_f4853eb41ab722fe05f81cedeb6" PRIMARY KEY ("userId"))`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_publickey" ("userId" character varying(32) NOT NULL, "keyId" character varying(256) NOT NULL, "keyPem" character varying(4096) NOT NULL, CONSTRAINT "REL_10c146e4b39b443ede016f6736" UNIQUE ("userId"), CONSTRAINT "PK_10c146e4b39b443ede016f6736d" PRIMARY KEY ("userId"))`);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_171e64971c780ebd23fae140bb" ON "user_publickey" ("keyId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_profile" ("userId" character varying(32) NOT NULL, "location" character varying(128), "birthday" character(10), "description" character varying(1024), "fields" jsonb NOT NULL DEFAULT '[]', "url" character varying(512), "email" character varying(128), "emailVerifyCode" character varying(128), "emailVerified" boolean NOT NULL DEFAULT false, "twoFactorTempSecret" character varying(128), "twoFactorSecret" character varying(128), "twoFactorEnabled" boolean NOT NULL DEFAULT false, "password" character varying(128), "clientData" jsonb NOT NULL DEFAULT '{}', "autoWatch" boolean NOT NULL DEFAULT false, "autoAcceptFollowed" boolean NOT NULL DEFAULT false, "alwaysMarkNsfw" boolean NOT NULL DEFAULT false, "carefulBot" boolean NOT NULL DEFAULT false, "twitter" boolean NOT NULL DEFAULT false, "twitterAccessToken" character varying(64) DEFAULT null, "twitterAccessTokenSecret" character varying(64) DEFAULT null, "twitterUserId" character varying(64) DEFAULT null, "twitterScreenName" character varying(64) DEFAULT null, "github" boolean NOT NULL DEFAULT false, "githubAccessToken" character varying(64) DEFAULT null, "githubId" integer DEFAULT null, "githubLogin" character varying(64) DEFAULT null, "discord" boolean NOT NULL DEFAULT false, "discordAccessToken" character varying(64) DEFAULT null, "discordRefreshToken" character varying(64) DEFAULT null, "discordExpiresDate" integer DEFAULT null, "discordId" character varying(64) DEFAULT null, "discordUsername" character varying(64) DEFAULT null, "discordDiscriminator" character varying(64) DEFAULT null, "userHost" character varying(128), CONSTRAINT "REL_51cb79b5555effaf7d69ba1cff" UNIQUE ("userId"), CONSTRAINT "PK_51cb79b5555effaf7d69ba1cff9" PRIMARY KEY ("userId"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_dce530b98e454793dac5ec2f5a" ON "user_profile" ("userHost") `);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__active_users_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__active_users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__active_users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_317237a9f733b970604a11e314f" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__drive_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_totalCount" bigint NOT NULL, "___local_totalSize" bigint NOT NULL, "___local_incCount" bigint NOT NULL, "___local_incSize" bigint NOT NULL, "___local_decCount" bigint NOT NULL, "___local_decSize" bigint NOT NULL, "___remote_totalCount" bigint NOT NULL, "___remote_totalSize" bigint NOT NULL, "___remote_incCount" bigint NOT NULL, "___remote_incSize" bigint NOT NULL, "___remote_decCount" bigint NOT NULL, "___remote_decSize" bigint NOT NULL, CONSTRAINT "PK_f96bc548a765cd4b3b354221ce7" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__federation_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__federation" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__federation_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___instance_total" bigint NOT NULL, "___instance_inc" bigint NOT NULL, "___instance_dec" bigint NOT NULL, CONSTRAINT "PK_b39dcd31a0fe1a7757e348e85fd" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__hashtag_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__hashtag" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__hashtag_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_c32f1ea2b44a5d2f7881e37f8f9" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__instance_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__instance" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__instance_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___requests_failed" bigint NOT NULL, "___requests_succeeded" bigint NOT NULL, "___requests_received" bigint NOT NULL, "___notes_total" bigint NOT NULL, "___notes_inc" bigint NOT NULL, "___notes_dec" bigint NOT NULL, "___notes_diffs_normal" bigint NOT NULL, "___notes_diffs_reply" bigint NOT NULL, "___notes_diffs_renote" bigint NOT NULL, "___users_total" bigint NOT NULL, "___users_inc" bigint NOT NULL, "___users_dec" bigint NOT NULL, "___following_total" bigint NOT NULL, "___following_inc" bigint NOT NULL, "___following_dec" bigint NOT NULL, "___followers_total" bigint NOT NULL, "___followers_inc" bigint NOT NULL, "___followers_dec" bigint NOT NULL, "___drive_totalFiles" bigint NOT NULL, "___drive_totalUsage" bigint NOT NULL, "___drive_incFiles" bigint NOT NULL, "___drive_incUsage" bigint NOT NULL, "___drive_decFiles" bigint NOT NULL, "___drive_decUsage" bigint NOT NULL, CONSTRAINT "PK_1267c67c7c2d47b4903975f2c00" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__network_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__network" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__network_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___incomingRequests" bigint NOT NULL, "___outgoingRequests" bigint NOT NULL, "___totalTime" bigint NOT NULL, "___incomingBytes" bigint NOT NULL, "___outgoingBytes" bigint NOT NULL, CONSTRAINT "PK_bc4290c2e27fad14ef0c1ca93f3" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__notes_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___local_diffs_normal" bigint NOT NULL, "___local_diffs_reply" bigint NOT NULL, "___local_diffs_renote" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, "___remote_diffs_normal" bigint NOT NULL, "___remote_diffs_reply" bigint NOT NULL, "___remote_diffs_renote" bigint NOT NULL, CONSTRAINT "PK_0aec823fa85c7f901bdb3863b14" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__per_user_drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___totalCount" bigint NOT NULL, "___totalSize" bigint NOT NULL, "___incCount" bigint NOT NULL, "___incSize" bigint NOT NULL, "___decCount" bigint NOT NULL, "___decSize" bigint NOT NULL, CONSTRAINT "PK_d0ef23d24d666e1a44a0cd3d208" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__per_user_following" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_following_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_followings_total" bigint NOT NULL, "___local_followings_inc" bigint NOT NULL, "___local_followings_dec" bigint NOT NULL, "___local_followers_total" bigint NOT NULL, "___local_followers_inc" bigint NOT NULL, "___local_followers_dec" bigint NOT NULL, "___remote_followings_total" bigint NOT NULL, "___remote_followings_inc" bigint NOT NULL, "___remote_followings_dec" bigint NOT NULL, "___remote_followers_total" bigint NOT NULL, "___remote_followers_inc" bigint NOT NULL, "___remote_followers_dec" bigint NOT NULL, CONSTRAINT "PK_85bb1b540363a29c2fec83bd907" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__per_user_notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___total" bigint NOT NULL, "___inc" bigint NOT NULL, "___dec" bigint NOT NULL, "___diffs_normal" bigint NOT NULL, "___diffs_reply" bigint NOT NULL, "___diffs_renote" bigint NOT NULL, CONSTRAINT "PK_334acf6e915af2f29edc11b8e50" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__per_user_reaction" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_reaction_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_984f54dae441e65b633e8d27a7f" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__test_grouped" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_grouped_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_f4a2b175d308695af30d4293272" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__test_unique_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__test_unique" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_unique_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo" bigint NOT NULL, CONSTRAINT "PK_409bac9c97cc612d8500012319d" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__test_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__test" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_b4bc31dffbd1b785276a3ecfc1e" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE TYPE "__chart__users_span_enum" AS ENUM('hour', 'day')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "__chart__users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, CONSTRAINT "PK_4dfcf2c78d03524b9eb2c99d328" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_f4fc06e49c0171c85f1c48060d2" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_00ceffb0cdc238b3233294f08f2" FOREIGN KEY ("parentId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_860fa6f6c7df5bb887249fba22e" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_bb90d1956dafc4068c28aa7560a" FOREIGN KEY ("folderId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_58f5c71eaab331645112cf8cfa5" FOREIGN KEY ("avatarId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_afc64b53f8db3707ceb34eb28e2" FOREIGN KEY ("bannerId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "app" ADD CONSTRAINT "FK_3f5b0899ef90527a3462d7c2cb3" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_9949557d0e1b2c19e5344c171e9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5" FOREIGN KEY ("replyId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_52ccc804d7c69037d558bac4c96" FOREIGN KEY ("renoteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_5b87d9d19127bd5d92026017a7b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_66d2bd2ee31d14bcc23069a89f8" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_aecfbd5ef60374918e63ee95fa7" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_13761f64257f40c5636d0ff95ee" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_45145e4953780f3cd5656f0ea6a" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_b0134ec406e8d09a540f8182888" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_03e7028ab8388a3f5e3ce2a8619" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_56b0166d34ddae49d8ef7610bb9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_e637cba4dc4410218c4251260e4" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3c601b70a1066d2c8b517094cb9" FOREIGN KEY ("notifieeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_769cb6b73a1efe22ddf733ac453" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_24e0042143a18157b234df186c3" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_6516c5a6f3c015b4eed39978be5" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_ec96b4fed9dae517e0dbbe0675c" FOREIGN KEY ("muteeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_93060675b4a79a577f31d260c67" FOREIGN KEY ("muterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "sw_subscription" ADD CONSTRAINT "FK_97754ca6f2baff9b4abb7f853dd" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_2cd4a2743a99671308f5417759e" FOREIGN KEY ("blockeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_0627125f1a8a42c9a1929edb552" FOREIGN KEY ("blockerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_list" ADD CONSTRAINT "FK_b7fcefbdd1c18dce86687531f99" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_d844bfc6f3f523a05189076efaa" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_605472305f26818cc93d1baaa74" FOREIGN KEY ("userListId") REFERENCES "user_list"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_47f4b1892f5d6ba8efb3057d81a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_0e00498f180193423c992bc4370" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_d049123c413e68ca52abe734203" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_04cc96756f89d0b7f9473e8cdf3" FOREIGN KEY ("reporterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_5377c307783fce2b6d352e1203b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_cac14a4e3944454a5ce7daa5142" FOREIGN KEY ("recipientId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_535def119223ac05ad3fa9ef64b" FOREIGN KEY ("fileId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "signin" ADD CONSTRAINT "FK_2c308dbdc50d94dc625670055f7" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_c072b729d71697f959bde66ade0" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_dbe037d4bddd17b03a1dc778dee" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_12c01c0d1a79f77d9f6c15fadd2" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_a7fd92dd6dc519e6fb435dd108f" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_f7467510c60a45ce5aca6292743" FOREIGN KEY ("user1Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_6649a4e8c5d5cf32fb03b5da9f6" FOREIGN KEY ("user2Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_3b25402709dd9882048c2bbade0" FOREIGN KEY ("parentId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_e247b23a3c9b45f89ec1299d066" FOREIGN KEY ("childId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_bfbc6f79ba4007b4ce5097f08d6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_68881008f7c3588ad7ecae471cf" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "poll" ADD CONSTRAINT "FK_da851e06d0dfe2ef397d8b1bf1b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_keypair" ADD CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_publickey" ADD CONSTRAINT "FK_10c146e4b39b443ede016f6736d" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_publickey" DROP CONSTRAINT "FK_10c146e4b39b443ede016f6736d"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_keypair" DROP CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "poll" DROP CONSTRAINT "FK_da851e06d0dfe2ef397d8b1bf1b"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_note_pining" DROP CONSTRAINT "FK_68881008f7c3588ad7ecae471cf"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_note_pining" DROP CONSTRAINT "FK_bfbc6f79ba4007b4ce5097f08d6"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "reversi_matching" DROP CONSTRAINT "FK_e247b23a3c9b45f89ec1299d066"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "reversi_matching" DROP CONSTRAINT "FK_3b25402709dd9882048c2bbade0"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "reversi_game" DROP CONSTRAINT "FK_6649a4e8c5d5cf32fb03b5da9f6"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "reversi_game" DROP CONSTRAINT "FK_f7467510c60a45ce5aca6292743"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "follow_request" DROP CONSTRAINT "FK_a7fd92dd6dc519e6fb435dd108f"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "follow_request" DROP CONSTRAINT "FK_12c01c0d1a79f77d9f6c15fadd2"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "auth_session" DROP CONSTRAINT "FK_dbe037d4bddd17b03a1dc778dee"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "auth_session" DROP CONSTRAINT "FK_c072b729d71697f959bde66ade0"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "signin" DROP CONSTRAINT "FK_2c308dbdc50d94dc625670055f7"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_535def119223ac05ad3fa9ef64b"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_cac14a4e3944454a5ce7daa5142"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_5377c307783fce2b6d352e1203b"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_04cc96756f89d0b7f9473e8cdf3"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_d049123c413e68ca52abe734203"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_favorite" DROP CONSTRAINT "FK_0e00498f180193423c992bc4370"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_favorite" DROP CONSTRAINT "FK_47f4b1892f5d6ba8efb3057d81a"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_list_joining" DROP CONSTRAINT "FK_605472305f26818cc93d1baaa74"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_list_joining" DROP CONSTRAINT "FK_d844bfc6f3f523a05189076efaa"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_list" DROP CONSTRAINT "FK_b7fcefbdd1c18dce86687531f99"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "blocking" DROP CONSTRAINT "FK_0627125f1a8a42c9a1929edb552"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "blocking" DROP CONSTRAINT "FK_2cd4a2743a99671308f5417759e"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "sw_subscription" DROP CONSTRAINT "FK_97754ca6f2baff9b4abb7f853dd"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "muting" DROP CONSTRAINT "FK_93060675b4a79a577f31d260c67"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "muting" DROP CONSTRAINT "FK_ec96b4fed9dae517e0dbbe0675c"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "following" DROP CONSTRAINT "FK_6516c5a6f3c015b4eed39978be5"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "following" DROP CONSTRAINT "FK_24e0042143a18157b234df186c3"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_769cb6b73a1efe22ddf733ac453"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3c601b70a1066d2c8b517094cb9"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_unread" DROP CONSTRAINT "FK_e637cba4dc4410218c4251260e4"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_unread" DROP CONSTRAINT "FK_56b0166d34ddae49d8ef7610bb9"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_watching" DROP CONSTRAINT "FK_03e7028ab8388a3f5e3ce2a8619"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_watching" DROP CONSTRAINT "FK_b0134ec406e8d09a540f8182888"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_reaction" DROP CONSTRAINT "FK_45145e4953780f3cd5656f0ea6a"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_reaction" DROP CONSTRAINT "FK_13761f64257f40c5636d0ff95ee"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "poll_vote" DROP CONSTRAINT "FK_aecfbd5ef60374918e63ee95fa7"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "poll_vote" DROP CONSTRAINT "FK_66d2bd2ee31d14bcc23069a89f8"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_5b87d9d19127bd5d92026017a7b"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_ec5c201576192ba8904c345c5cc"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_52ccc804d7c69037d558bac4c96"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_9949557d0e1b2c19e5344c171e9"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "app" DROP CONSTRAINT "FK_3f5b0899ef90527a3462d7c2cb3"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" DROP CONSTRAINT "FK_afc64b53f8db3707ceb34eb28e2"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" DROP CONSTRAINT "FK_58f5c71eaab331645112cf8cfa5"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_file" DROP CONSTRAINT "FK_bb90d1956dafc4068c28aa7560a"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_file" DROP CONSTRAINT "FK_860fa6f6c7df5bb887249fba22e"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_folder" DROP CONSTRAINT "FK_00ceffb0cdc238b3233294f08f2"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_folder" DROP CONSTRAINT "FK_f4fc06e49c0171c85f1c48060d2"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__users"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__users_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__test"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__test_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__test_unique"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__test_unique_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__test_grouped"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__test_grouped_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__per_user_reaction"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__per_user_reaction_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__per_user_notes"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__per_user_notes_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__per_user_following"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__per_user_following_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__per_user_drive"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__per_user_drive_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__notes"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__notes_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__network"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__network_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__instance"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__instance_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__hashtag"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__hashtag_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__federation"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__federation_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__drive"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__drive_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "__chart__active_users"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "__chart__active_users_span_enum"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_dce530b98e454793dac5ec2f5a"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_profile"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_171e64971c780ebd23fae140bb"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_publickey"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_keypair"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_7fa20a12319c7f6dc3aed98c0a"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0610ebcfcfb4a18441a9bcdab2"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "poll"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "poll_notevisibility_enum"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_410cd649884b501c02d6e72738"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_bfbc6f79ba4007b4ce5097f08d"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_note_pining"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e247b23a3c9b45f89ec1299d06"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_3b25402709dd9882048c2bbade"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b604d92d6c7aec38627f6eaf16"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "reversi_matching"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b46ec40746efceac604142be1c"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "reversi_game"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_4f4d35e1256c84ae3d1f0eab10"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5900e907bb46516ddf2871327c"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b37dafc86e9af007e3295c2781"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "emoji"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d54a512b822fac7ed52800f6b4"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a7fd92dd6dc519e6fb435dd108"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_12c01c0d1a79f77d9f6c15fadd"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "follow_request"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_62cb09e1129f6ec024ef66e183"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "auth_session"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2c308dbdc50d94dc625670055f"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "signin"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_cac14a4e3944454a5ce7daa514"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5377c307783fce2b6d352e1203"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e21cd3646e52ef9c94aaf17c2e"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "messaging_message"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0ff69e8dfa9fe31bb4a4660f59"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "registration_ticket"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5cd442c3b2e74fdd99dae20243"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_04cc96756f89d0b7f9473e8cdf"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d049123c413e68ca52abe73420"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_db2098070b2b5a523c58181f74"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "abuse_user_report"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0f4fb9ad355f3effff221ef245"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_47f4b1892f5d6ba8efb3057d81"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "note_favorite"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0b03cbcd7e6a7ce068efa8ecc2"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0c44bf4f680964145f2a68a341"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d57f9030cd3af7f63ffb1c267c"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_4c02d38a976c3ae132228c6fce"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0e206cec573f1edff4a3062923"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2710a55f826ee236ea1a62698f"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_347fec870eafea7b26c8a73bac"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "hashtag"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_605472305f26818cc93d1baaa7"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d844bfc6f3f523a05189076efa"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_list_joining"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b7fcefbdd1c18dce86687531f9"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_list"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_98a1bc5cb30dfd159de056549f"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0627125f1a8a42c9a1929edb55"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2cd4a2743a99671308f5417759"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b9a354f7941c1e779f3b33aea6"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "blocking"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_97754ca6f2baff9b4abb7f853d"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "sw_subscription"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_1eb9d9824a630321a29fd3b290"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_93060675b4a79a577f31d260c6"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_ec96b4fed9dae517e0dbbe0675"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f86d57fbca33c7a4e6897490cc"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "muting"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_8d5afc98982185799b160e10eb"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2cd3b2a6b4cf0b910b260afe08"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "instance"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_307be5f1d1252e0388662acb96"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_6516c5a6f3c015b4eed39978be"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_24e0042143a18157b234df186c"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_582f8fab771a9040a12961f3e7"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "following"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "meta"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_3c601b70a1066d2c8b517094cb"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b11a5e627c41d4dc3170f1d370"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "notification"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d908433a4953cc13216cd9c274"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e637cba4dc4410218c4251260e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_56b0166d34ddae49d8ef7610bb"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "note_unread"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a42c93c69989ce1d09959df4cf"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_44499765eec6b5489d72c4253b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_03e7028ab8388a3f5e3ce2a861"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b0134ec406e8d09a540f818288"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_318cdf42a9cfc11f479bd802bb"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "note_watching"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_ad0c221b25672daf2df320a817"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_45145e4953780f3cd5656f0ea6"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_13761f64257f40c5636d0ff95e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_01f4581f114e0ebd2bbb876f0b"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "note_reaction"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_50bd7164c5b78f1f4a42c4d21f"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_aecfbd5ef60374918e63ee95fa"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_66d2bd2ee31d14bcc23069a89f"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0fb627e1c2f753262a74f0562d"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "poll_vote"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_7125a826ab192eb27e11d358a5"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_88937d94d7443d9a99a76fa5c0"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_54ebcb6d27222913b908d56fd8"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_796a8c03959361f97dc2be1d5c"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_25dfc71b0369b003a4cd434d0b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_51c063b6a133a9cb87145450f5"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_153536c67d05e9adb24e99fc2b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5b87d9d19127bd5d92026017a7"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_52ccc804d7c69037d558bac4c9"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_17cb3553c700a4985dff5a30ff"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e7c0567f5261063592f022e9b5"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "note"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "note_visibility_enum"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_9949557d0e1b2c19e5344c171e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_64c327441248bae40f7d92f34f"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_70ba8f6af34bc924fc9e12adb8"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "access_token"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f49922d511d666848f250663c4"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_3f5b0899ef90527a3462d7c2cb"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_048a757923ed8b157e9895da53"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "app"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5deb01ae162d1d70b80d064c27"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a854e557b1b14814750c7c7b0c"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_be623adaa4c566baf5d29ce0c8"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_3252a5df8d5bbd16b281f7799e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_fa99d777623947a5b05f394cae"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a27b942a0d6dcff90e3ee9b5e8"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_80ca6e6ef65fb9ef34ea8c90f4"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e11e649824a45d8ed01d597fd9"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_bb90d1956dafc4068c28aa7560"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e5848eac4940934e23dbc17581"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_c55b2b7c284d9fef98026fc88e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e74022ce9a074b3866f70e0d27"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d85a184c2540d2deba33daf642"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a40b8df8c989d7db937ea27cf6"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_37bb9a1b4585f8a3beb24c62d6"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_92779627994ac79277f070c91e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_860fa6f6c7df5bb887249fba22"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_c8dfad3b72196dd1d6b5db168a"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "drive_file"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_00ceffb0cdc238b3233294f08f"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f4fc06e49c0171c85f1c48060d"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_02878d441ceae15ce060b73daf"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "drive_folder"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_584b536b49e53ac81beb39a177"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_8cb40cfc8f3c28261e6f887b03"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_8e4eb51a35d81b64dda28eed0a"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "log"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "log_level_enum"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class Pages1556348509290 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TYPE "page_visibility_enum" AS ENUM('public', 'followers', 'specified')`);
|
|
||||||
await queryRunner.query(`CREATE TABLE "page" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "title" character varying(256) NOT NULL, "name" character varying(256) NOT NULL, "summary" character varying(256), "alignCenter" boolean NOT NULL, "font" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "eyeCatchingImageId" character varying(32), "content" jsonb NOT NULL DEFAULT '[]', "variables" jsonb NOT NULL DEFAULT '[]', "visibility" "page_visibility_enum" NOT NULL, "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_742f4117e065c5b6ad21b37ba1f" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_fbb4297c927a9b85e9cefa2eb1" ON "page" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_af639b066dfbca78b01a920f8a" ON "page" ("updatedAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b82c19c08afb292de4600d99e4" ON "page" ("name") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_ae1d917992dd0c9d9bbdad06c4" ON "page" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_90148bbc2bf0854428786bfc15" ON "page" ("visibleUserIds") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_2133ef8317e4bdb839c0dcbf13" ON "page" ("userId", "name") `);
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10" FOREIGN KEY ("eyeCatchingImageId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2133ef8317e4bdb839c0dcbf13"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_90148bbc2bf0854428786bfc15"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_ae1d917992dd0c9d9bbdad06c4"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b82c19c08afb292de4600d99e4"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_af639b066dfbca78b01a920f8a"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_fbb4297c927a9b85e9cefa2eb1"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "page"`);
|
|
||||||
await queryRunner.query(`DROP TYPE "page_visibility_enum"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class UserProfile1556746559567 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE VARCHAR(64) USING "githubId"::VARCHAR(64)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE VARCHAR(64) USING "discordExpiresDate"::VARCHAR(64)`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`UPDATE "user_profile" SET github = FALSE, discord = FALSE`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE INTEGER USING NULL`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE INTEGER USING NULL`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class PinnedUsers1557476068003 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedUsers" character varying(256) array NOT NULL DEFAULT '{}'::varchar[]`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class AddSomeUrls1557761316509 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "ToSUrl" character varying(512)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "repositoryUrl" character varying(512) NOT NULL DEFAULT 'https://github.com/misskey-dev/misskey'`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "feedbackUrl" character varying(512) DEFAULT 'https://github.com/misskey-dev/misskey/issues/new'`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "feedbackUrl"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "repositoryUrl"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "ToSUrl"`);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class ObjectStorageSetting1557932705754 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "useObjectStorage" boolean NOT NULL DEFAULT false`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageBucket" character varying(512)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStoragePrefix" character varying(512)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageBaseUrl" character varying(512)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageEndpoint" character varying(512)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageRegion" character varying(512)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageAccessKey" character varying(512)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageSecretKey" character varying(512)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStoragePort" integer`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseSSL" boolean NOT NULL DEFAULT true`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseSSL"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStoragePort"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSecretKey"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageAccessKey"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageRegion"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageEndpoint"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageBaseUrl"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStoragePrefix"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageBucket"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "useObjectStorage"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class PageLike1558072954435 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "page_like" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "pageId" character varying(32) NOT NULL, CONSTRAINT "PK_813f034843af992d3ae0f43c64c" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0e61efab7f88dbb79c9166dbb4" ON "page_like" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_4ce6fb9c70529b4c8ac46c9bfa" ON "page_like" ("userId", "pageId") `);
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" ADD "likedCount" integer NOT NULL DEFAULT 0`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "page_like" ADD CONSTRAINT "FK_0e61efab7f88dbb79c9166dbb48" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "page_like" ADD CONSTRAINT "FK_cf8782626dced3176038176a847" FOREIGN KEY ("pageId") REFERENCES "page"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "page_like" DROP CONSTRAINT "FK_cf8782626dced3176038176a847"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "page_like" DROP CONSTRAINT "FK_0e61efab7f88dbb79c9166dbb48"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "likedCount"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_4ce6fb9c70529b4c8ac46c9bfa"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0e61efab7f88dbb79c9166dbb4"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "page_like"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class UserGroup1558103093633 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_group" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(256) NOT NULL, "userId" character varying(32) NOT NULL, "isPrivate" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_3c29fba6fe013ec8724378ce7c9" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_20e30aa35180e317e133d75316" ON "user_group" ("createdAt") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_3d6b372788ab01be58853003c9" ON "user_group" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_group_joining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_15f2425885253c5507e1599cfe7" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f3a1b4bd0c7cabba958a0c0b23" ON "user_group_joining" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_67dc758bc0566985d1b3d39986" ON "user_group_joining" ("userGroupId") `);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ADD "groupId" character varying(32)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ADD "reads" character varying(32) array NOT NULL DEFAULT '{}'::varchar[]`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ALTER COLUMN "recipientId" DROP NOT NULL`);
|
|
||||||
await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."recipientId" IS 'The recipient user ID.'`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_2c4be03b446884f9e9c502135b" ON "messaging_message" ("groupId") `);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_2c4be03b446884f9e9c502135be" FOREIGN KEY ("groupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group" ADD CONSTRAINT "FK_3d6b372788ab01be58853003c93" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_joining" ADD CONSTRAINT "FK_f3a1b4bd0c7cabba958a0c0b231" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_joining" ADD CONSTRAINT "FK_67dc758bc0566985d1b3d399865" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_joining" DROP CONSTRAINT "FK_67dc758bc0566985d1b3d399865"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_joining" DROP CONSTRAINT "FK_f3a1b4bd0c7cabba958a0c0b231"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group" DROP CONSTRAINT "FK_3d6b372788ab01be58853003c93"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_2c4be03b446884f9e9c502135be"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2c4be03b446884f9e9c502135b"`);
|
|
||||||
await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."recipientId" IS ''`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ALTER COLUMN "recipientId" SET NOT NULL`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "reads"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "groupId"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_67dc758bc0566985d1b3d39986"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f3a1b4bd0c7cabba958a0c0b23"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_group_joining"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_3d6b372788ab01be58853003c9"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_20e30aa35180e317e133d75316"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_group"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class UserGroupInvite1558257926829 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_group_invite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_3893884af0d3a5f4d01e7921a97" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_1039988afa3bf991185b277fe0" ON "user_group_invite" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e10924607d058004304611a436" ON "user_group_invite" ("userGroupId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_78787741f9010886796f2320a4" ON "user_group_invite" ("userId", "userGroupId") `);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d9ecaed8c6dc43f3592c229282" ON "user_group_joining" ("userId", "userGroupId") `);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_invite" ADD CONSTRAINT "FK_1039988afa3bf991185b277fe03" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_invite" ADD CONSTRAINT "FK_e10924607d058004304611a436a" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_invite" DROP CONSTRAINT "FK_e10924607d058004304611a436a"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_invite" DROP CONSTRAINT "FK_1039988afa3bf991185b277fe03"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d9ecaed8c6dc43f3592c229282"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_78787741f9010886796f2320a4"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e10924607d058004304611a436"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_1039988afa3bf991185b277fe0"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_group_invite"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class UserListJoining1558266512381 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_90f7da835e4c10aca6853621e1" ON "user_list_joining" ("userId", "userListId") `);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_90f7da835e4c10aca6853621e1"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class webauthn1561706992953 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "attestation_challenge" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "challenge" character varying(64) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "registrationChallenge" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_d0ba6786e093f1bcb497572a6b5" PRIMARY KEY ("id", "userId"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f1a461a618fa1755692d0e0d59" ON "attestation_challenge" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_47efb914aed1f72dd39a306c7b" ON "attestation_challenge" ("challenge") `);
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_security_key" ("id" character varying NOT NULL, "userId" character varying(32) NOT NULL, "publicKey" character varying NOT NULL, "lastUsed" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(30) NOT NULL, CONSTRAINT "PK_3e508571121ab39c5f85d10c166" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_ff9ca3b5f3ee3d0681367a9b44" ON "user_security_key" ("userId") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0d7718e562dcedd0aa5cf2c9f7" ON "user_security_key" ("publicKey") `);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "securityKeysAvailable" boolean NOT NULL DEFAULT false`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "attestation_challenge" ADD CONSTRAINT "FK_f1a461a618fa1755692d0e0d592" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_security_key" ADD CONSTRAINT "FK_ff9ca3b5f3ee3d0681367a9b447" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_security_key" DROP CONSTRAINT "FK_ff9ca3b5f3ee3d0681367a9b447"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "attestation_challenge" DROP CONSTRAINT "FK_f1a461a618fa1755692d0e0d592"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "securityKeysAvailable"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0d7718e562dcedd0aa5cf2c9f7"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_ff9ca3b5f3ee3d0681367a9b44"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_security_key"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_47efb914aed1f72dd39a306c7b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f1a461a618fa1755692d0e0d59"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "attestation_challenge"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,201 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class ChartIndexes1561873850023 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0ad37b7ef50f4ddc84363d7ccc" ON "__chart__active_users" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_15e91a03aeeac9dbccdf43fc06" ON "__chart__active_users" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_00ed5f86db1f7efafb1978bf21" ON "__chart__active_users" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_20f57cc8f142c131340ee16742" ON "__chart__active_users" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_9a3ed15a30ab7e3a37702e6e08" ON "__chart__active_users" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_c26e2c1cbb6e911e0554b27416" ON "__chart__active_users" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_13565815f618a1ff53886c5b28" ON "__chart__drive" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_3fa0d0f17ca72e3dc80999a032" ON "__chart__drive" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_7a170f67425e62a8fabb76c872" ON "__chart__drive" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_6e1df243476e20cbf86572ecc0" ON "__chart__drive" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_3313d7288855ec105b5bbf6c21" ON "__chart__drive" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_06690fc959f1c9fdaf21928222" ON "__chart__drive" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_36cb699c49580d4e6c2e6159f9" ON "__chart__federation" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e447064455928cf627590ef527" ON "__chart__federation" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_76e87c7bfc5d925fcbba405d84" ON "__chart__federation" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_2d416e6af791a82e338c79d480" ON "__chart__federation" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_dd907becf76104e4b656659e6b" ON "__chart__federation" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e9cd07672b37d8966cf3709283" ON "__chart__federation" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_07747a1038c05f532a718fe1de" ON "__chart__hashtag" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_fcc181fb8283009c61cc4083ef" ON "__chart__hashtag" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_99a7d2faaef84a6f728d714ad6" ON "__chart__hashtag" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_49975586f50ed7b800fdd88fbd" ON "__chart__hashtag" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_25a97c02003338124b2b75fdbc" ON "__chart__hashtag" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_6d6f156ceefc6bc5f273a0e370" ON "__chart__hashtag" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_6b8f34a1a64b06014b6fb66824" ON "__chart__instance" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_c12f0af4a66cdd30c2287ce8aa" ON "__chart__instance" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_da8a46ba84ca1d8bb5a29bfb63" ON "__chart__instance" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_d0a4f79af5a97b08f37b547197" ON "__chart__instance" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_39ee857ab2f23493037c6b6631" ON "__chart__instance" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f5448d9633cff74208d850aabe" ON "__chart__instance" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a1efd3e0048a5f2793a47360dc" ON "__chart__network" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f8dd01baeded2ffa833e0a610a" ON "__chart__network" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_7b5da130992ec9df96712d4290" ON "__chart__network" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_08fac0eb3b11f04c200c0b40dd" ON "__chart__network" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0a905b992fecd2b5c3fb98759e" ON "__chart__network" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_9ff6944f01acb756fdc92d7563" ON "__chart__network" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_42eb716a37d381cdf566192b2b" ON "__chart__notes" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e69096589f11e3baa98ddd64d0" ON "__chart__notes" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_7036f2957151588b813185c794" ON "__chart__notes" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0c9a159c5082cbeef3ca6706b5" ON "__chart__notes" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f09d543e3acb16c5976bdb31fa" ON "__chart__notes" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_924fc196c80ca24bae01dd37e4" ON "__chart__notes" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_5f86db6492274e07c1a3cdf286" ON "__chart__per_user_drive" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_328f259961e60c4fa0bfcf55ca" ON "__chart__per_user_drive" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e496ca8096d28f6b9b509264dc" ON "__chart__per_user_drive" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53" ON "__chart__per_user_drive" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_30bf67687f483ace115c5ca642" ON "__chart__per_user_drive" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f2aeafde2ae6fbad38e857631b" ON "__chart__per_user_drive" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_7af07790712aa3438ff6773f3b" ON "__chart__per_user_following" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f92dd6d03f8d994f29987f6214" ON "__chart__per_user_following" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_4b3593098b6edc9c5afe36b18b" ON "__chart__per_user_following" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f" ON "__chart__per_user_following" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b77d4dd9562c3a899d9a286fcd" ON "__chart__per_user_following" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_4db3b84c7be0d3464714f3e0b1" ON "__chart__per_user_following" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_84234bd1abb873f07329681c83" ON "__chart__per_user_notes" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_8d2cbbc8114d90d19b44d626b6" ON "__chart__per_user_notes" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_55bf20f366979f2436de99206b" ON "__chart__per_user_notes" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_046feeb12e9ef5f783f409866a" ON "__chart__per_user_notes" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_5048e9daccbbbc6d567bb142d3" ON "__chart__per_user_notes" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f68a5ab958f9f5fa17a32ac23b" ON "__chart__per_user_notes" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f7bf4c62059764c2c2bb40fdab" ON "__chart__per_user_reaction" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_65633a106bce43fc7c5c30a5c7" ON "__chart__per_user_reaction" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_8cf3156fd7a6b15c43459c6e3b" ON "__chart__per_user_reaction" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_edeb73c09c3143a81bcb34d569" ON "__chart__per_user_reaction" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_229a41ad465f9205f1f5703291" ON "__chart__per_user_reaction" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e316f01a6d24eb31db27f88262" ON "__chart__per_user_reaction" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0c641990ecf47d2545df4edb75" ON "__chart__test_grouped" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_2be7ec6cebddc14dc11e206686" ON "__chart__test_grouped" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_234dff3c0b56a6150b95431ab9" ON "__chart__test_grouped" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a5133470f4825902e170328ca5" ON "__chart__test_grouped" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b14489029e4b3aaf4bba5fb524" ON "__chart__test_grouped" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_84e661abb7bd1e51b690d4b017" ON "__chart__test_grouped" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_437bab3c6061d90f6bb65fd2cc" ON "__chart__test_unique" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_5c73bf61da4f6e6f15bae88ed1" ON "__chart__test_unique" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_bbfa573a8181018851ed0b6357" ON "__chart__test_unique" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_d70c86baedc68326be11f9c0ce" ON "__chart__test_unique" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a0cd75442dd10d0643a17c4a49" ON "__chart__test_unique" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_66e1e1ecd2f29e57778af35b59" ON "__chart__test_unique" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_b070a906db04b44c67c6c2144d" ON "__chart__test" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_92255988735563f0fe4aba1f05" ON "__chart__test" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_d41cce6aee1a50bfc062038f9b" ON "__chart__test" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_c5870993e25c3d5771f91f5003" ON "__chart__test" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a319e5dbf47e8a17497623beae" ON "__chart__test" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f170de677ea75ad4533de2723e" ON "__chart__test" ("span", "date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_845254b3eaf708ae8a6cac3026" ON "__chart__users" ("date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_7c184198ecf66a8d3ecb253ab3" ON "__chart__users" ("span") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_ed9b95919c672a13008e9487ee" ON "__chart__users" ("group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_f091abb24193d50c653c6b77fc" ON "__chart__users" ("span", "date") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_337e9599f278bd7537fe30876f" ON "__chart__users" ("date", "group") `);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a770a57c70e668cc61590c9161" ON "__chart__users" ("span", "date", "group") `);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a770a57c70e668cc61590c9161"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_337e9599f278bd7537fe30876f"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f091abb24193d50c653c6b77fc"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_ed9b95919c672a13008e9487ee"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_7c184198ecf66a8d3ecb253ab3"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_845254b3eaf708ae8a6cac3026"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f170de677ea75ad4533de2723e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a319e5dbf47e8a17497623beae"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_c5870993e25c3d5771f91f5003"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d41cce6aee1a50bfc062038f9b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_92255988735563f0fe4aba1f05"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b070a906db04b44c67c6c2144d"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_66e1e1ecd2f29e57778af35b59"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a0cd75442dd10d0643a17c4a49"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d70c86baedc68326be11f9c0ce"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_bbfa573a8181018851ed0b6357"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5c73bf61da4f6e6f15bae88ed1"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_437bab3c6061d90f6bb65fd2cc"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_84e661abb7bd1e51b690d4b017"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b14489029e4b3aaf4bba5fb524"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a5133470f4825902e170328ca5"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_234dff3c0b56a6150b95431ab9"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2be7ec6cebddc14dc11e206686"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0c641990ecf47d2545df4edb75"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e316f01a6d24eb31db27f88262"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_229a41ad465f9205f1f5703291"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_edeb73c09c3143a81bcb34d569"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_8cf3156fd7a6b15c43459c6e3b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_65633a106bce43fc7c5c30a5c7"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f7bf4c62059764c2c2bb40fdab"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f68a5ab958f9f5fa17a32ac23b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5048e9daccbbbc6d567bb142d3"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_046feeb12e9ef5f783f409866a"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_55bf20f366979f2436de99206b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_8d2cbbc8114d90d19b44d626b6"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_84234bd1abb873f07329681c83"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_4db3b84c7be0d3464714f3e0b1"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_b77d4dd9562c3a899d9a286fcd"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_4b3593098b6edc9c5afe36b18b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f92dd6d03f8d994f29987f6214"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_7af07790712aa3438ff6773f3b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f2aeafde2ae6fbad38e857631b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_30bf67687f483ace115c5ca642"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e496ca8096d28f6b9b509264dc"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_328f259961e60c4fa0bfcf55ca"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5f86db6492274e07c1a3cdf286"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_924fc196c80ca24bae01dd37e4"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f09d543e3acb16c5976bdb31fa"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0c9a159c5082cbeef3ca6706b5"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_7036f2957151588b813185c794"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e69096589f11e3baa98ddd64d0"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_42eb716a37d381cdf566192b2b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_9ff6944f01acb756fdc92d7563"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0a905b992fecd2b5c3fb98759e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_08fac0eb3b11f04c200c0b40dd"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_7b5da130992ec9df96712d4290"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f8dd01baeded2ffa833e0a610a"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a1efd3e0048a5f2793a47360dc"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_f5448d9633cff74208d850aabe"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_39ee857ab2f23493037c6b6631"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_d0a4f79af5a97b08f37b547197"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_da8a46ba84ca1d8bb5a29bfb63"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_c12f0af4a66cdd30c2287ce8aa"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_6b8f34a1a64b06014b6fb66824"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_6d6f156ceefc6bc5f273a0e370"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_25a97c02003338124b2b75fdbc"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_49975586f50ed7b800fdd88fbd"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_99a7d2faaef84a6f728d714ad6"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_fcc181fb8283009c61cc4083ef"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_07747a1038c05f532a718fe1de"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e9cd07672b37d8966cf3709283"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_dd907becf76104e4b656659e6b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2d416e6af791a82e338c79d480"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_76e87c7bfc5d925fcbba405d84"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e447064455928cf627590ef527"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_36cb699c49580d4e6c2e6159f9"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_06690fc959f1c9fdaf21928222"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_3313d7288855ec105b5bbf6c21"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_6e1df243476e20cbf86572ecc0"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_7a170f67425e62a8fabb76c872"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_3fa0d0f17ca72e3dc80999a032"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_13565815f618a1ff53886c5b28"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_c26e2c1cbb6e911e0554b27416"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_9a3ed15a30ab7e3a37702e6e08"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_20f57cc8f142c131340ee16742"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_00ed5f86db1f7efafb1978bf21"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_15e91a03aeeac9dbccdf43fc06"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0ad37b7ef50f4ddc84363d7ccc"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_90148bbc2bf0854428786bfc15"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_88937d94d7443d9a99a76fa5c0"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_54ebcb6d27222913b908d56fd8"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_796a8c03959361f97dc2be1d5c"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_25dfc71b0369b003a4cd434d0b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_51c063b6a133a9cb87145450f5"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_fa99d777623947a5b05f394cae"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_315c779174fe8247ab324f036e"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_c5d46cbfda48b1c33ed852e21b"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_8cb40cfc8f3c28261e6f887b03"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class PasswordLessLogin1562422242907 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "usePasswordLessLogin" boolean DEFAULT false NOT NULL`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "usePasswordLessLogin"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class PinnedPage1562444565093 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "pinnedPageId" character varying(32)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "UQ_6dc44f1ceb65b1e72bacef2ca27" UNIQUE ("pinnedPageId")`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_6dc44f1ceb65b1e72bacef2ca27" FOREIGN KEY ("pinnedPageId") REFERENCES "page"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "FK_6dc44f1ceb65b1e72bacef2ca27"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "UQ_6dc44f1ceb65b1e72bacef2ca27"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "pinnedPageId"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class PageTitleHideOption1562448332510 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" ADD "hideTitleWhenPinned" boolean NOT NULL DEFAULT false`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "hideTitleWhenPinned"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class ModerationLog1562869971568 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "moderation_log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "type" character varying(128) NOT NULL, "info" jsonb NOT NULL, CONSTRAINT "PK_d0adca6ecfd068db83e4526cc26" PRIMARY KEY ("id"))`);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a08ad074601d204e0f69da9a95" ON "moderation_log" ("userId") `);
|
|
||||||
await queryRunner.query(`ALTER TABLE "moderation_log" ADD CONSTRAINT "FK_a08ad074601d204e0f69da9a954" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "moderation_log" DROP CONSTRAINT "FK_a08ad074601d204e0f69da9a954"`);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a08ad074601d204e0f69da9a95"`);
|
|
||||||
await queryRunner.query(`DROP TABLE "moderation_log"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class UsedUsername1563757595828 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "used_username" ("username" character varying(128) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, CONSTRAINT "PK_78fd79d2d24c6ac2f4cc9a31a5d" PRIMARY KEY ("username"))`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`DROP TABLE "used_username"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class room1565634203341 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "room" jsonb NOT NULL DEFAULT '{}'`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "room"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class CustomEmojiCategory1571220798684 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "emoji" ADD "category" character varying(128)`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "emoji" DROP COLUMN "category"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class nodeinfo1572760203493 implements MigrationInterface {
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "system"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "softwareName" character varying(64) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "softwareVersion" character varying(64) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "openRegistrations" boolean DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "name" character varying(256) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "description" character varying(4096) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "maintainerName" character varying(128) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "maintainerEmail" character varying(256) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "infoUpdatedAt" TIMESTAMP WITH TIME ZONE`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "infoUpdatedAt"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "maintainerEmail"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "maintainerName"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "description"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "name"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "openRegistrations"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "softwareVersion"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "softwareName"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "system" character varying(64)`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class TalkFederationId1576269851876 implements MigrationInterface {
|
|
||||||
name = 'TalkFederationId1576269851876'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" ADD "uri" character varying(512)`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "uri"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class ProxyRemoteFiles1576869585998 implements MigrationInterface {
|
|
||||||
name = 'ProxyRemoteFiles1576869585998'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "proxyRemoteFiles" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyRemoteFiles"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v121579267006611 implements MigrationInterface {
|
|
||||||
name = 'v121579267006611'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "announcement" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "text" character varying(8192) NOT NULL, "title" character varying(256) NOT NULL, "imageUrl" character varying(1024), CONSTRAINT "PK_e0ef0550174fd1099a308fd18a0" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_118ec703e596086fc4515acb39" ON "announcement" ("createdAt") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE TABLE "announcement_read" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "announcementId" character varying(32) NOT NULL, CONSTRAINT "PK_4b90ad1f42681d97b2683890c5e" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_8288151386172b8109f7239ab2" ON "announcement_read" ("userId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_603a7b1e7aa0533c6c88e9bfaf" ON "announcement_read" ("announcementId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_924fa71815cfa3941d003702a0" ON "announcement_read" ("userId", "announcementId") `, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isVerified"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "announcements"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableEmojiReaction"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "announcement_read" ADD CONSTRAINT "FK_8288151386172b8109f7239ab28" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "announcement_read" ADD CONSTRAINT "FK_603a7b1e7aa0533c6c88e9bfafe" FOREIGN KEY ("announcementId") REFERENCES "announcement"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "announcement_read" DROP CONSTRAINT "FK_603a7b1e7aa0533c6c88e9bfafe"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "announcement_read" DROP CONSTRAINT "FK_8288151386172b8109f7239ab28"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "enableEmojiReaction" boolean NOT NULL DEFAULT true`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "announcements" jsonb NOT NULL DEFAULT '[]'`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" ADD "isVerified" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_924fa71815cfa3941d003702a0"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_603a7b1e7aa0533c6c88e9bfaf"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_8288151386172b8109f7239ab2"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "announcement_read"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_118ec703e596086fc4515acb39"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "announcement"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v1221579270193251 implements MigrationInterface {
|
|
||||||
name = 'v1221579270193251'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "announcement_read" ADD "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "announcement_read" DROP COLUMN "createdAt"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v1231579282808087 implements MigrationInterface {
|
|
||||||
name = 'v1231579282808087'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "announcement" ADD "updatedAt" TIMESTAMP WITH TIME ZONE`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "announcement" DROP COLUMN "updatedAt"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v1241579544426412 implements MigrationInterface {
|
|
||||||
name = 'v1241579544426412'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD "followRequestId" character varying(32)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_bd7fab507621e635b32cd31892c" FOREIGN KEY ("followRequestId") REFERENCES "follow_request"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_bd7fab507621e635b32cd31892c"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "followRequestId"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v1251579977526288 implements MigrationInterface {
|
|
||||||
name = 'v1251579977526288'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "clip" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "isPublic" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_f0685dac8d4dd056d7255670b75" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_2b5ec6c574d6802c94c80313fb" ON "clip" ("userId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE TABLE "clip_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "clipId" character varying(32) NOT NULL, CONSTRAINT "PK_e94cda2f40a99b57e032a1a738b" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_a012eaf5c87c65da1deb5fdbfa" ON "clip_note" ("noteId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_ebe99317bbbe9968a0c6f579ad" ON "clip_note" ("clipId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_6fc0ec357d55a18646262fdfff" ON "clip_note" ("noteId", "clipId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'list')`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TABLE "antenna" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "src" "antenna_src_enum" NOT NULL, "userListId" character varying(32), "keywords" jsonb NOT NULL DEFAULT '[]', "withFile" boolean NOT NULL, "expression" character varying(2048), "notify" boolean NOT NULL, "hasNewNote" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_c170b99775e1dccca947c9f2d5f" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_6446c571a0e8d0f05f01c78909" ON "antenna" ("userId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE TABLE "antenna_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "antennaId" character varying(32) NOT NULL, CONSTRAINT "PK_fb28d94d0989a3872df19fd6ef8" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_bd0397be22147e17210940e125" ON "antenna_note" ("noteId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_0d775946662d2575dfd2068a5f" ON "antenna_note" ("antennaId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_335a0bf3f904406f9ef3dd51c2" ON "antenna_note" ("noteId", "antennaId") `, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "geo"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "clip" ADD CONSTRAINT "FK_2b5ec6c574d6802c94c80313fb2" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "clip_note" ADD CONSTRAINT "FK_a012eaf5c87c65da1deb5fdbfa3" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "clip_note" ADD CONSTRAINT "FK_ebe99317bbbe9968a0c6f579adf" FOREIGN KEY ("clipId") REFERENCES "clip"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_6446c571a0e8d0f05f01c789096" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_709d7d32053d0dd7620f678eeb9" FOREIGN KEY ("userListId") REFERENCES "user_list"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna_note" ADD CONSTRAINT "FK_bd0397be22147e17210940e125b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna_note" ADD CONSTRAINT "FK_0d775946662d2575dfd2068a5f5" FOREIGN KEY ("antennaId") REFERENCES "antenna"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna_note" DROP CONSTRAINT "FK_0d775946662d2575dfd2068a5f5"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna_note" DROP CONSTRAINT "FK_bd0397be22147e17210940e125b"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_709d7d32053d0dd7620f678eeb9"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_6446c571a0e8d0f05f01c789096"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "clip_note" DROP CONSTRAINT "FK_ebe99317bbbe9968a0c6f579adf"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "clip_note" DROP CONSTRAINT "FK_a012eaf5c87c65da1deb5fdbfa3"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "clip" DROP CONSTRAINT "FK_2b5ec6c574d6802c94c80313fb2"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" ADD "geo" jsonb`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_335a0bf3f904406f9ef3dd51c2"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0d775946662d2575dfd2068a5f"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_bd0397be22147e17210940e125"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "antenna_note"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_6446c571a0e8d0f05f01c78909"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "antenna"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_6fc0ec357d55a18646262fdfff"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_ebe99317bbbe9968a0c6f579ad"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_a012eaf5c87c65da1deb5fdbfa"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "clip_note"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2b5ec6c574d6802c94c80313fb"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "clip"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v1261579993013959 implements MigrationInterface {
|
|
||||||
name = 'v1261579993013959'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "hasNewNote"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna_note" ADD "read" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_9937ea48d7ae97ffb4f3f063a4" ON "antenna_note" ("read") `, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_9937ea48d7ae97ffb4f3f063a4"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna_note" DROP COLUMN "read"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "hasNewNote" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v1271580069531114 implements MigrationInterface {
|
|
||||||
name = 'v1271580069531114'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[]`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "caseSensitive" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TYPE "public"."antenna_src_enum" RENAME TO "antenna_src_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'users', 'list')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum" USING "src"::"text"::"antenna_src_enum"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "antenna_src_enum_old"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TYPE "antenna_src_enum_old" AS ENUM('home', 'all', 'list')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum_old" USING "src"::"text"::"antenna_src_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TYPE "antenna_src_enum_old" RENAME TO "antenna_src_enum"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "caseSensitive"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v1281580148575182 implements MigrationInterface {
|
|
||||||
name = 'v1281580148575182'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_ec5c201576192ba8904c345c5cc"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "appId"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" ADD "appId" character varying(32)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v1291580154400017 implements MigrationInterface {
|
|
||||||
name = 'v1291580154400017'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "withReplies" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "withReplies"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v12101580276619901 implements MigrationInterface {
|
|
||||||
name = 'v12101580276619901'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`TRUNCATE TABLE "notification"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "type"`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "notification_type_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD "type" "notification_type_enum" NOT NULL`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "type"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "notification_type_enum"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD "type" character varying(32) NOT NULL`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v12111580331224276 implements MigrationInterface {
|
|
||||||
name = 'v12111580331224276'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "isMarkedAsClosed"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "isSuspended" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_34500da2e38ac393f7bb6b299c" ON "instance" ("isSuspended") `, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_34500da2e38ac393f7bb6b299c"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "isSuspended"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "isMarkedAsClosed" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v12121580508795118 implements MigrationInterface {
|
|
||||||
name = 'v12121580508795118'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitter"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterAccessToken"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterAccessTokenSecret"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterUserId"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterScreenName"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "github"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "githubAccessToken"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "githubId"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "githubLogin"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discord"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordAccessToken"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordRefreshToken"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordExpiresDate"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordId"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordUsername"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordDiscriminator"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "integrations" jsonb NOT NULL DEFAULT '{}'`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "integrations"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordDiscriminator" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordUsername" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordId" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordExpiresDate" character varying(64)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordRefreshToken" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordAccessToken" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "discord" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "githubLogin" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "githubId" character varying(64)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "githubAccessToken" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "github" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterScreenName" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterUserId" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterAccessTokenSecret" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterAccessToken" character varying(64) DEFAULT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitter" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v12131580543501339 implements MigrationInterface {
|
|
||||||
name = 'v12131580543501339'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_NOTE_TAGS" ON "note" USING gin ("tags")`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_NOTE_TAGS"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class v12141580864313253 implements MigrationInterface {
|
|
||||||
name = 'v12141580864313253'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" RENAME COLUMN "proxyAccount" TO "proxyAccountId"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyAccountId"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "proxyAccountId" character varying(32)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD CONSTRAINT "FK_ab1bc0c1e209daa77b8e8d212ad" FOREIGN KEY ("proxyAccountId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP CONSTRAINT "FK_ab1bc0c1e209daa77b8e8d212ad"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyAccountId"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "proxyAccountId" character varying(128)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" RENAME COLUMN "proxyAccountId" TO "proxyAccount"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,38 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class userGroupInvitation1581526429287 implements MigrationInterface {
|
|
||||||
name = 'userGroupInvitation1581526429287'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "user_group_invitation" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_160c63ec02bf23f6a5c5e8140d6" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_bfbc6305547539369fe73eb144" ON "user_group_invitation" ("userId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_5cc8c468090e129857e9fecce5" ON "user_group_invitation" ("userGroupId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_e9793f65f504e5a31fbaedbf2f" ON "user_group_invitation" ("userId", "userGroupId") `, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD "userGroupInvitationId" character varying(32)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TYPE "public"."notification_type_enum" RENAME TO "notification_type_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "notification_type_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "notification_type_enum" USING "type"::"text"::"notification_type_enum"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "notification_type_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`COMMENT ON COLUMN "notification"."type" IS 'The type of the Notification.'`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_invitation" ADD CONSTRAINT "FK_bfbc6305547539369fe73eb144a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_invitation" ADD CONSTRAINT "FK_5cc8c468090e129857e9fecce5a" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_8fe87814e978053a53b1beb7e98" FOREIGN KEY ("userGroupInvitationId") REFERENCES "user_group_invitation"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_8fe87814e978053a53b1beb7e98"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_invitation" DROP CONSTRAINT "FK_5cc8c468090e129857e9fecce5a"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_group_invitation" DROP CONSTRAINT "FK_bfbc6305547539369fe73eb144a"`, undefined);
|
|
||||||
await queryRunner.query(`COMMENT ON COLUMN "notification"."type" IS ''`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "notification_type_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "notification_type_enum_old" USING "type"::"text"::"notification_type_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "notification_type_enum"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TYPE "notification_type_enum_old" RENAME TO "notification_type_enum"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "userGroupInvitationId"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e9793f65f504e5a31fbaedbf2f"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_5cc8c468090e129857e9fecce5"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_bfbc6305547539369fe73eb144"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "user_group_invitation"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class userGroupAntenna1581695816408 implements MigrationInterface {
|
|
||||||
name = 'userGroupAntenna1581695816408'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "userGroupJoiningId" character varying(32)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TYPE "public"."antenna_src_enum" RENAME TO "antenna_src_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'users', 'list', 'group')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum" USING "src"::"text"::"antenna_src_enum"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "antenna_src_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[]`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_ccbf5a8c0be4511133dcc50ddeb" FOREIGN KEY ("userGroupJoiningId") REFERENCES "user_group_joining"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_ccbf5a8c0be4511133dcc50ddeb"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying array NOT NULL DEFAULT '{}'`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "antenna_src_enum_old" AS ENUM('home', 'all', 'users', 'list')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum_old" USING "src"::"text"::"antenna_src_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TYPE "antenna_src_enum_old" RENAME TO "antenna_src_enum"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "userGroupJoiningId"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class driveUserFolderIdIndex1581708415836 implements MigrationInterface {
|
|
||||||
name = 'driveUserFolderIdIndex1581708415836'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_55720b33a61a7c806a8215b825" ON "drive_file" ("userId", "folderId", "id") `, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_55720b33a61a7c806a8215b825"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class promo1581979837262 implements MigrationInterface {
|
|
||||||
name = 'promo1581979837262'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`CREATE TABLE "promo_note" ("noteId" character varying(32) NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, CONSTRAINT "REL_e263909ca4fe5d57f8d4230dd5" UNIQUE ("noteId"), CONSTRAINT "PK_e263909ca4fe5d57f8d4230dd5c" PRIMARY KEY ("noteId"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_83f0862e9bae44af52ced7099e" ON "promo_note" ("userId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE TABLE "promo_read" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_61917c1541002422b703318b7c9" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_9657d55550c3d37bfafaf7d4b0" ON "promo_read" ("userId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_2882b8a1a07c7d281a98b6db16" ON "promo_read" ("userId", "noteId") `, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "promo_note" ADD CONSTRAINT "FK_e263909ca4fe5d57f8d4230dd5c" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "promo_read" ADD CONSTRAINT "FK_9657d55550c3d37bfafaf7d4b05" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "promo_read" ADD CONSTRAINT "FK_a46a1a603ecee695d7db26da5f4" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "promo_read" DROP CONSTRAINT "FK_a46a1a603ecee695d7db26da5f4"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "promo_read" DROP CONSTRAINT "FK_9657d55550c3d37bfafaf7d4b05"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "promo_note" DROP CONSTRAINT "FK_e263909ca4fe5d57f8d4230dd5c"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_2882b8a1a07c7d281a98b6db16"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_9657d55550c3d37bfafaf7d4b0"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "promo_read"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_83f0862e9bae44af52ced7099e"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "promo_note"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class featuredInjecttion1582019042083 implements MigrationInterface {
|
|
||||||
name = 'featuredInjecttion1582019042083'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "injectFeaturedNote" boolean NOT NULL DEFAULT true`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "injectFeaturedNote"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class antennaExclude1582210532752 implements MigrationInterface {
|
|
||||||
name = 'antennaExclude1582210532752'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "excludeKeywords" jsonb NOT NULL DEFAULT '[]'`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "excludeKeywords"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class noteReactionLength1582875306439 implements MigrationInterface {
|
|
||||||
name = 'noteReactionLength1582875306439'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(128)`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class miauth1585361548360 implements MigrationInterface {
|
|
||||||
name = 'miauth1585361548360'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD "lastUsedAt" TIMESTAMP WITH TIME ZONE DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD "session" character varying(128) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD "name" character varying(128) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD "description" character varying(512) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD "iconUrl" character varying(512) DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD "permission" character varying(64) array NOT NULL DEFAULT '{}'::varchar[]`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD "fetched" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" DROP NOT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" SET DEFAULT null`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_bf3a053c07d9fb5d87317c56ee" ON "access_token" ("session") `, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_bf3a053c07d9fb5d87317c56ee"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" DROP DEFAULT`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" SET NOT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "fetched"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "permission"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "iconUrl"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "description"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "name"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "session"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "lastUsedAt"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,48 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class customNotification1585385921215 implements MigrationInterface {
|
|
||||||
name = 'customNotification1585385921215'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD "customBody" character varying(2048)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD "customHeader" character varying(256)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD "customIcon" character varying(1024)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD "appAccessTokenId" character varying(32)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "notifierId" DROP NOT NULL`, undefined);
|
|
||||||
await queryRunner.query(`COMMENT ON COLUMN "notification"."notifierId" IS 'The ID of sender user of the Notification.'`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TYPE "public"."notification_type_enum" RENAME TO "notification_type_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "notification_type_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "notification_type_enum" USING "type"::"text"::"notification_type_enum"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "notification_type_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`COMMENT ON COLUMN "notification"."type" IS 'The type of the Notification.'`, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_3b4e96eec8d36a8bbb9d02aa71" ON "notification" ("notifierId") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_33f33cc8ef29d805a97ff4628b" ON "notification" ("type") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_080ab397c379af09b9d2169e5b" ON "notification" ("isRead") `, undefined);
|
|
||||||
await queryRunner.query(`CREATE INDEX "IDX_e22bf6bda77b6adc1fd9e75c8c" ON "notification" ("appAccessTokenId") `, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_e22bf6bda77b6adc1fd9e75c8c9" FOREIGN KEY ("appAccessTokenId") REFERENCES "access_token"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_e22bf6bda77b6adc1fd9e75c8c9"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_e22bf6bda77b6adc1fd9e75c8c"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_080ab397c379af09b9d2169e5b"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_33f33cc8ef29d805a97ff4628b"`, undefined);
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_3b4e96eec8d36a8bbb9d02aa71"`, undefined);
|
|
||||||
await queryRunner.query(`COMMENT ON COLUMN "notification"."type" IS ''`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TYPE "notification_type_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited')`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "notification_type_enum_old" USING "type"::"text"::"notification_type_enum_old"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "notification_type_enum"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TYPE "notification_type_enum_old" RENAME TO "notification_type_enum"`, undefined);
|
|
||||||
await queryRunner.query(`COMMENT ON COLUMN "notification"."notifierId" IS ''`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "notifierId" SET NOT NULL`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "appAccessTokenId"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "customIcon"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "customHeader"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "customBody"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
/* tslint:disable:quotemark class-name indent */
|
|
||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class apUrl1585772678853 implements MigrationInterface {
|
|
||||||
name = 'apUrl1585772678853'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" ADD "url" character varying(512)`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "url"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from 'typeorm';
|
|
||||||
|
|
||||||
export class AddObjectStorageUseProxy1586624197029 implements MigrationInterface {
|
|
||||||
name = 'AddObjectStorageUseProxy1586624197029'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseProxy" boolean NOT NULL DEFAULT true`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseProxy"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class remoteReaction1586641139527 implements MigrationInterface {
|
|
||||||
name = 'remoteReaction1586641139527'
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(260)`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class pageAiScript1586708940386 implements MigrationInterface {
|
|
||||||
name = 'pageAiScript1586708940386'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" ADD "script" character varying(16384) NOT NULL DEFAULT ''`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "script"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class hCaptcha1588044505511 implements MigrationInterface {
|
|
||||||
name = 'hCaptcha1588044505511'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "enableHcaptcha" boolean NOT NULL DEFAULT false`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "hcaptchaSiteKey" character varying(64)`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" ADD "hcaptchaSecretKey" character varying(64)`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "hcaptchaSecretKey"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "hcaptchaSiteKey"`, undefined);
|
|
||||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableHcaptcha"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class pubRelay1589023282116 implements MigrationInterface {
|
|
||||||
name = 'pubRelay1589023282116'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`CREATE TYPE "relay_status_enum" AS ENUM('requesting', 'accepted', 'rejected')`, undefined);
|
|
||||||
await queryRunner.query(`CREATE TABLE "relay" ("id" character varying(32) NOT NULL, "inbox" character varying(512) NOT NULL, "status" "relay_status_enum" NOT NULL, CONSTRAINT "PK_78ebc9cfddf4292633b7ba57aee" PRIMARY KEY ("id"))`, undefined);
|
|
||||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0d9a1738f2cf7f3b1c3334dfab" ON "relay" ("inbox") `, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`DROP INDEX "IDX_0d9a1738f2cf7f3b1c3334dfab"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TABLE "relay"`, undefined);
|
|
||||||
await queryRunner.query(`DROP TYPE "relay_status_enum"`, undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class blurhash1595075960584 implements MigrationInterface {
|
|
||||||
name = 'blurhash1595075960584'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_file" ADD "blurhash" character varying(128)`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "drive_file" DROP COLUMN "blurhash"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class blurhashForAvatarBanner1595077605646 implements MigrationInterface {
|
|
||||||
name = 'blurhashForAvatarBanner1595077605646'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "avatarColor"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "bannerColor"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" ADD "avatarBlurhash" character varying(128)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" ADD "bannerBlurhash" character varying(128)`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "bannerBlurhash"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "avatarBlurhash"`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" ADD "bannerColor" character varying(32)`);
|
|
||||||
await queryRunner.query(`ALTER TABLE "user" ADD "avatarColor" character varying(32)`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
|
||||||
|
|
||||||
export class instanceIconUrl1595676934834 implements MigrationInterface {
|
|
||||||
name = 'instanceIconUrl1595676934834'
|
|
||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" ADD "iconUrl" character varying(256) DEFAULT null`);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
||||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "iconUrl"`);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user