Compare commits
2944 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 | |||
f418eaecf9 | |||
901436a095 | |||
a905188e95 | |||
a21070c01b | |||
5d0ee544f4 | |||
e52a9e0a65 | |||
67bf6ff3ce | |||
000bee6327 | |||
19a232cad7 | |||
a744f75eb9 | |||
5cf07fc50f | |||
1143606bc8 | |||
09f4885f89 | |||
dfd92efa89 | |||
c3fcfad910 | |||
652588abed | |||
2b4d5b73b9 | |||
c08d959b59 | |||
7783c1e0e1 | |||
6afa67089a | |||
26928ab407 | |||
4f04421cb3 | |||
4d1c723496 | |||
ae5d537197 | |||
2d21685d22 | |||
d4c0d85cbc | |||
781b57585b | |||
a0b036a119 | |||
c6afc61c94 | |||
4168addbb2 | |||
600394458c | |||
f33785a09c | |||
d70b8275b4 | |||
7253f83ca3 | |||
6171f27f8d | |||
96b5684fa0 | |||
4df409f77b | |||
0f122884cc | |||
f29c9fe22c | |||
93230815f5 | |||
632af91878 | |||
81a0ee4b2d | |||
967c655de0 | |||
4bb19b9596 | |||
d43b17519e | |||
76a881df39 | |||
f84ad3e1ea | |||
9d11c29c3b | |||
90b62a3e95 | |||
4e4c559db6 | |||
e7660bc8db | |||
cfcc626de2 | |||
b7a5602003 | |||
b3a4d1795b | |||
23de94785d | |||
69b56f6658 | |||
5ca6e6b5df | |||
98c26dfff8 | |||
a4e3136611 | |||
ea8e6d88ab | |||
202cb38c40 | |||
d3c7ddd2f4 | |||
bc19cd77ad | |||
0005de6a98 | |||
386d3cd997 | |||
2d196b6779 | |||
0cc055de3a | |||
a96e5277db | |||
7413634734 | |||
1bfb176667 | |||
4a90c7aef8 | |||
b0992de59d | |||
37e666817f | |||
a607149b19 | |||
3a11dba24f | |||
c76a384b41 | |||
dec69cc67b | |||
0c21ae226b | |||
835aad44bb | |||
8b646822fc | |||
6d3e2b9386 | |||
73cdf5ca81 | |||
133936652d | |||
66470b4937 | |||
3f688a728b | |||
0d306e9d41 | |||
1e8132e610 | |||
d672fccef4 | |||
c194eddb1b | |||
4ba4062519 | |||
23753ec75a | |||
d184f73160 | |||
482081c41b | |||
03b04acb16 | |||
345a9d3525 | |||
aee816ced9 | |||
1e28081aa3 | |||
ff0521e3aa | |||
8cabc5953e | |||
4a766a19cf | |||
bd8052fedb | |||
5fb4538315 | |||
e78f16bcc4 | |||
fe62f3508b | |||
c11c22fc73 | |||
056ab675cf | |||
f00d543447 | |||
72b616a990 | |||
8ee4b180f9 | |||
46e4b07a87 | |||
3ec6101b16 | |||
955b3e313b | |||
3dc70f9878 | |||
8e2be5e9a7 | |||
46f3736f44 | |||
dc12b189de | |||
3f95bd53cd | |||
23de45cea5 | |||
ba6959b8c1 | |||
91c9a6390c | |||
a99478e2ea | |||
12635da473 | |||
36170c816a | |||
50bad84747 | |||
abd3efa318 | |||
816493e01f | |||
a0c9fd75d7 | |||
94bf7101f8 | |||
46424f63f2 | |||
c33e93c662 | |||
49b43eb3c8 | |||
6b22b7a31f | |||
b77167a4a1 | |||
79a591d72d | |||
8006e7a34d | |||
abc45ded9b | |||
ec05c07321 | |||
27c056cbbf | |||
b3779875d0 | |||
748a451e23 | |||
8b1999dc5b | |||
a38e4b0b14 | |||
129f652dc2 | |||
5bf69476f6 | |||
597c9761cb | |||
b875cc9949 | |||
e568c3888f | |||
67875e2afa | |||
dd17065129 | |||
8d05ef3058 | |||
66369b4b1d | |||
9a33495694 | |||
f0b2eaf70d | |||
ef67f3eee6 | |||
9cab659392 | |||
dcd216daff | |||
8f673d80d4 | |||
3e81ebf8e9 | |||
19d531922d | |||
9109ae02a7 | |||
8d3fe0c5c2 | |||
f9185f201a | |||
027380c013 | |||
a73a787753 | |||
bd9df789d1 | |||
4fd4132f5e | |||
68aa1312f5 | |||
7974dbf477 | |||
834fb3bebd | |||
18fa317ee7 | |||
414f1d1158 | |||
c5e5a9b8ef | |||
1ac1a968b9 | |||
0d3a36e519 | |||
ebce02c253 | |||
78b400e8b0 | |||
8d93f148be | |||
4b8a2d2a6b | |||
5fd549656b | |||
a70dbb7e74 | |||
a75f3fb87c | |||
67e2768c3e | |||
ece3ac967d | |||
da71d8f4af | |||
ac93af8eb5 | |||
76cdbe74ba | |||
ce4ea5071f | |||
8a558eed36 | |||
ce32cd576b | |||
78ac41a613 | |||
be23ccf23b | |||
1ba5e433e5 | |||
5bf4f569e4 | |||
5a11844eff | |||
14795b68f2 | |||
bea42f5804 | |||
fbbce302bc | |||
4b9c605477 | |||
a499ad6879 | |||
76c5dc8999 | |||
b985e14b13 | |||
61de9cdbd4 | |||
9208825975 | |||
72a49f334a | |||
b35ca3b739 | |||
85950f17fa | |||
78f95b5910 | |||
909a09a0c0 | |||
bb9fc56cc1 | |||
9f3b4ccd14 | |||
90bf976fe2 | |||
388de9dc96 | |||
8a0a46b1c9 | |||
186163ec3f | |||
91171c559a | |||
36b483d04d | |||
54e0a7f8a8 | |||
6d4e96dea2 | |||
a6958da091 | |||
502bde5567 | |||
d5702f9d51 | |||
5141afe476 | |||
4422219be7 | |||
4b2afec108 | |||
07bb8067ae | |||
4f63eb0c7e | |||
4ea7b2dd63 | |||
e8189f7c69 | |||
23c054caec | |||
a084c8b344 | |||
361069314f | |||
d252514a39 | |||
31d1edc0fb | |||
987474726c | |||
4beea63d3f | |||
53f3b779bf | |||
f59f424795 | |||
c63ba5470a | |||
935d6473ed | |||
0faa4470fb | |||
0281bdd90c | |||
608ff73907 | |||
cc75620976 | |||
1cd8bfaded | |||
65d9c304df | |||
bf7bacceab | |||
a56f461895 | |||
e21ff916b0 | |||
da20675ada | |||
7364fb84ef | |||
48f46333f8 | |||
8407702b38 | |||
e1a8b158e0 | |||
7e30910ab8 | |||
7fbee704ec | |||
b1f94c7bc6 | |||
90411967d6 | |||
5719c623a4 | |||
e210ec782a | |||
229780f6ff | |||
6490a9829b | |||
6384d0708d | |||
db1fde2956 | |||
c86720a331 | |||
2af158be26 | |||
f84483896e | |||
fe7bc174fb | |||
c3b55b6849 | |||
3e193c9864 | |||
d64e25e449 | |||
c4707c612d | |||
9d3448c880 | |||
dad6a77645 | |||
f64d3942d7 | |||
45fe754759 | |||
98f1d93628 | |||
8785e1c3a4 | |||
7387e010c2 | |||
a59dfff12f | |||
f6128dd3ff | |||
eeff88ece2 | |||
bae1282f74 | |||
d2007add75 | |||
802db92d98 | |||
a53e1e4ec3 | |||
fd1ef4a62d | |||
8ab9068d8e | |||
47dd30d3b2 | |||
fcdd042b02 | |||
04855f9201 | |||
cf0a5d5735 | |||
bb2db1cf76 | |||
0e69091455 | |||
3cb5ed167a | |||
1ffee15b83 | |||
75b9f31acf | |||
fc56b12690 | |||
60e768436e | |||
84f2192cde | |||
97f2675d40 | |||
6d881d4570 | |||
42cc93dd0f | |||
e9f34a0f09 | |||
b9cb6d1c10 | |||
7bf517e990 | |||
ab54e147f2 | |||
e677540fd6 | |||
31e3aaeda0 | |||
938fc317c9 | |||
4c431c5432 | |||
881b914c6a | |||
6a3a8ba4d0 | |||
9e535c341e | |||
17fa4ba804 | |||
dd9a3c91fc | |||
7015df37e3 | |||
7ebdd4739a | |||
c4bcb31a00 | |||
0a18ee24ac | |||
37d10b108e | |||
b5cadeca2e | |||
c8e93054bc | |||
def32107af | |||
1b84ae9f3f | |||
73ce1f61a8 | |||
8661cd1ee7 | |||
53f55defda | |||
d60dc60bc9 | |||
bf1d7e6252 | |||
c96b2767b9 | |||
6c1f03eefd | |||
cced83024b | |||
1cd6ba3c1d | |||
2365761ba5 | |||
d3b4b70bfc | |||
f95d5701a2 | |||
a8c56afd0f | |||
4de30aa47e | |||
f05f7c920e | |||
5f86509abc | |||
1561391293 | |||
60553a8a5e | |||
e656074de4 | |||
b81ff340b1 | |||
77456ae0bc | |||
ab01cf1881 | |||
0d10ca02db | |||
0627df8116 | |||
c88ea7150c | |||
555954c71e | |||
f231f02329 | |||
b8af5dfde0 | |||
ef3710fdc2 | |||
bde114ad13 | |||
9d138aa282 | |||
c0ba71c368 | |||
7b2cb30a9d | |||
0f55e65701 | |||
aeb24b96eb | |||
ad4700b3b1 | |||
b2e5ade5ac | |||
90a7b9b551 | |||
31b6ab9b23 | |||
4149c7782f | |||
227f52d758 | |||
baa2a871f1 | |||
5bb619fe7b | |||
fff3c552e2 | |||
e19cc8bebf | |||
f4f8debb92 | |||
ea6b8b599f | |||
c30f02ae4c | |||
09450ba544 | |||
19f753c15c | |||
fa49427df0 | |||
6678d97cc4 | |||
e3642a8d10 | |||
f9022fdf16 | |||
1c764139bf | |||
048ed26f41 | |||
0cb04ded36 | |||
6cfad65ac7 | |||
ed20805b10 | |||
576303cd72 | |||
0062e084f8 | |||
b90d76dcfe | |||
c95619b2bf | |||
82150bd5b8 | |||
9e03335ff8 | |||
b3c5c3f0ea | |||
65858dab3e | |||
c968633d15 | |||
39a8942daf | |||
7705a7928e | |||
d2c14b844e | |||
3e45e6c165 | |||
fe8334931f | |||
f565c5f730 | |||
c03e2febb0 | |||
c2f4fb7ba7 | |||
5f869e5d87 | |||
65f1afc4e0 | |||
aec2762bf1 | |||
a41144a00f | |||
aa28e8a7a6 | |||
a1a51ce518 | |||
90999e0ef9 | |||
2ceeb17056 | |||
18afdd6040 | |||
b9972ec6bd | |||
ebb53e87f3 | |||
9f9d7325fd | |||
742a005523 | |||
3a28c06534 | |||
46d5711071 | |||
48113f3afd | |||
be29972ddf | |||
49b3a83f76 | |||
342794c728 | |||
3739638c81 | |||
401351d9c8 | |||
6073a03967 | |||
3e3d294188 | |||
f6f96ae5bf | |||
62ccb53c24 | |||
e410e22980 | |||
fc5ceea335 | |||
38af8d4737 | |||
33b0cab596 | |||
2a47e4a1e1 | |||
46f53868c5 | |||
eac7f11aa7 | |||
e219188f46 | |||
3df8c701a7 | |||
1186813c75 | |||
645b6fdc8a | |||
ae0596a729 | |||
bb5fd3c1f2 | |||
532fa9c5f9 | |||
80a4aa6fa6 | |||
4f218f544f | |||
f261f8d7d1 | |||
e044d11782 | |||
d2da459dd8 | |||
b1e6a33d6b | |||
0d276d0d61 | |||
998936651a | |||
1bec25e8e6 | |||
f220e4183f | |||
e965b57dc2 | |||
41fe364b49 | |||
2953ba17c3 | |||
f3b3e06329 | |||
98249942d5 | |||
0fc8445425 | |||
15d166e30e | |||
83619fda98 | |||
e23ad7833d | |||
38aa760b57 | |||
3182606e99 | |||
7cc8646ad3 | |||
e793fced61 | |||
248edb5dfd | |||
9414a944b7 | |||
756b8a2a29 | |||
f142ed91fb | |||
6aef54a9e0 | |||
f1c9e596e8 | |||
862ddde0db | |||
ee5a060762 | |||
42d293ee60 | |||
04e27e160e | |||
62dede02ea | |||
6d1d7b5366 | |||
55e5c12441 | |||
0b34503c8a | |||
dc69490e3a | |||
1c241776a6 | |||
6812b895e7 | |||
ab439d0ed6 | |||
c7a2c368d4 | |||
2047860e71 | |||
1dbe03b210 | |||
b59a19c144 | |||
558d288e7b | |||
e24c8b6878 | |||
1772af9583 | |||
cb42f94d9c | |||
38474c7316 | |||
49febe1764 | |||
65addc8206 | |||
28f7e48dc6 | |||
d97fc9ce4e | |||
f26aeee819 | |||
c071467b6a | |||
334ca01092 | |||
c122ec2e79 | |||
e1247b3e45 | |||
8b9c445fef | |||
a65eb502d2 | |||
55c549a9f8 | |||
56600ba1df | |||
6b312f755e | |||
d6267f797d | |||
a2b8097b4b | |||
22bbee1fa3 | |||
fa1b38394c | |||
441790be2d | |||
5d66bb8794 | |||
a5cdc9a1f4 | |||
a5a2f9d01e | |||
89fb727f61 | |||
3e7a87f75a | |||
caf40e40fb | |||
b608f63a1a | |||
dc44d9a0a8 | |||
bb926dd301 | |||
79cb836483 | |||
f1c4e4a10e | |||
798aedfc0f | |||
1077c2a637 | |||
cbe689607c | |||
948b70cb0f | |||
0263539202 | |||
52e54cf0dc | |||
24e7eeca0f | |||
d76345264d | |||
0eb115bf7e | |||
30d2a1d8b6 | |||
857c88e8d6 | |||
ffb9646ce9 | |||
db3724cf33 | |||
466c083233 | |||
ae2267220b | |||
c92744c3d3 | |||
35f075b887 | |||
6cc4edc5e8 | |||
c06091f78a | |||
f85399e355 | |||
47aaf04481 | |||
7063a6925f | |||
3cd04c4b81 | |||
e6754eb880 | |||
ef646b9576 | |||
ecd541873b | |||
5d10642e07 | |||
da34acd35f | |||
0108b8bfe3 | |||
b16c3798a4 | |||
4b33c42da7 | |||
961b3177d5 | |||
7dc85a624e | |||
bfd215542b | |||
d752275730 | |||
be7e389bb5 | |||
99234632b2 | |||
3a7393e1dd | |||
2d12f8b49e | |||
3461f0ffc9 | |||
f24f7f14c3 | |||
917e57d475 | |||
6b43c5c18c | |||
7cd7059fbc | |||
591a5c277c | |||
164959a0c5 | |||
47fa7bb22a | |||
5b250c15f8 | |||
b60f9fbc00 | |||
3d7c3c39ff | |||
dd628006ec | |||
6cec662ec4 | |||
588b838deb | |||
80f8c2de78 | |||
d011aeefc5 | |||
44627c3b5f | |||
925a61e4d7 | |||
d8b17daf9d | |||
5e40930f11 | |||
1a8f41010e | |||
67f58b5217 | |||
2efae80b97 | |||
1157df1407 | |||
94ac0a7797 | |||
35cf05d6ca | |||
18e1efc7ec | |||
71ebb068f7 | |||
e9170e630c | |||
6ae642245e | |||
a34d8549d0 | |||
52e1df2df3 | |||
d7a5efbd36 | |||
9f5123d176 | |||
18da55bd81 | |||
25424fe62e | |||
c7e60cfd0c | |||
3e19bcb6cb | |||
6573c3b522 | |||
fa9f0d9ff9 | |||
77ccf3b929 | |||
4b205aee91 | |||
d348e211d4 | |||
42539575a6 | |||
8bce241170 | |||
c039665a97 | |||
0038f3b244 | |||
2f1fb9fe2d | |||
8c6d5408eb | |||
3f6a55aabd | |||
f37c25d00e | |||
23821d6fad | |||
c384c4ca6c | |||
946ba2a8ae | |||
55b673cc6f | |||
6d145bc4cb | |||
26b2a4de36 | |||
99b7f4d26e | |||
f413339e75 | |||
8a5567796f | |||
112c68cd0c | |||
4e5e542fb0 | |||
7bfc41c6e1 | |||
fec3c70886 | |||
ccf063709e | |||
9cab2cd940 | |||
3286c93c8f | |||
b918b6383b | |||
9d8ffe9911 | |||
24fa788609 | |||
1edb8cf0e9 | |||
25da4a6a79 | |||
e1e5283963 | |||
bc074abeba | |||
70a8dd30e0 | |||
d61a74fb88 | |||
dfa341e1c0 | |||
e825d3be83 | |||
b5c8dc0fe3 | |||
ebb2fe068c | |||
246693b848 | |||
ec75600e1c | |||
ec7242576e | |||
83a53c1008 | |||
878b154604 | |||
03101f001c | |||
a5bbb6732d | |||
11349561d6 | |||
8bb6ed625b | |||
046c263f13 | |||
1043020f27 | |||
17f2e39084 | |||
4d9e3b9012 | |||
135ff280b9 | |||
53d257ef0f | |||
9e012dbc1a | |||
7da5eead8a | |||
f984f56459 | |||
203799871c | |||
ad826bf088 | |||
e81c466d74 | |||
e04d866b20 | |||
d7a042b95d | |||
5c51185388 | |||
926266c7af | |||
1bcf123dd5 | |||
7c26fbbb2e | |||
3553f3be4e | |||
8c4662e6e5 | |||
e7610b2467 | |||
79e60afd42 | |||
3da93e7bf9 | |||
1700154f00 | |||
68571d8f57 | |||
61461b7f59 | |||
c27c3817a9 | |||
08e1db45a9 | |||
27c373ddf4 | |||
e62d7bc1ba | |||
0d680b060e | |||
0f054aed88 | |||
b4308ecb91 | |||
e68ff28649 | |||
cb946772b4 | |||
f169585a55 | |||
e5fbc68e0e | |||
f32cad2667 | |||
503f23ad3b | |||
481b46ac9e | |||
9c34ef7d74 | |||
18fbaee9df | |||
94b59e8b6f | |||
e9c5cd543e | |||
526838c77c | |||
ef6b370d0e | |||
38896205c8 | |||
7221684337 | |||
99e936bf2b | |||
138fee9b52 | |||
a19c1535e8 | |||
05ba1d0fd4 | |||
c2b3436770 | |||
a0fd3aef98 | |||
b112341d91 | |||
0dba5607a8 | |||
7378c4a9d8 | |||
89e7ef36dc | |||
39ed02bc53 | |||
5cb3d86a1b | |||
a3687dd653 | |||
fbc5b8ceb7 | |||
4c545fbba5 | |||
7fda726bbe | |||
e404e5e2de | |||
930127348a | |||
3db37e1d52 | |||
b9c4a582ac | |||
a085d9fbd7 | |||
7f2356ba4b | |||
7a7f668879 | |||
69a05aa5de | |||
c0c64a2d5d | |||
3c3b4eb2af | |||
1019e0bcfd | |||
faf2c007aa | |||
43678ac801 | |||
f22d5aa46d | |||
d599c1e740 | |||
0cc4519fc0 | |||
0265c85ba3 | |||
7ec0670748 | |||
d06517265f | |||
a88e486468 | |||
c22ff4c556 | |||
d4c4e30fe4 | |||
1ec3338d2e | |||
bffcfd92da | |||
f44517f4af | |||
5087a5af21 | |||
3a6331693a | |||
56a28923ca | |||
fb8ed718ce | |||
45e5d89353 | |||
d3fe02fb3e | |||
7d2126e2b2 | |||
1f4ae2f63a | |||
b378066ebf | |||
2210d1053a | |||
bb6cd258f3 | |||
b5adb02eb8 | |||
8b702bcfa0 | |||
e5ba475147 | |||
3cd537ecf2 | |||
d7c7bc5d8e | |||
9191b9e736 | |||
ce340aba7a | |||
62cc14c93b | |||
a284e8c5eb | |||
834c6df9eb | |||
c74fe3c6e2 | |||
ca542f8677 | |||
d6e23b803b | |||
8b327fbc82 | |||
8432c2c9ea | |||
94fd5485b6 | |||
cd4680b422 | |||
7e4a800352 | |||
00bc097abb | |||
5c3a56b283 | |||
48ea805999 | |||
6b753b05d6 | |||
cf757ed01e | |||
82dd88821c | |||
0e3e90f94f | |||
7c3086e9d9 | |||
202e943d55 | |||
36bcaaff55 | |||
967fae142b | |||
8f41dfec2e | |||
1f0abef084 | |||
0e6fbdfa5b | |||
e881e1bfb3 | |||
9e6cdd6106 | |||
d1efe1d208 | |||
2f2a8e537d | |||
82de8b7c50 | |||
fb194b855b | |||
a4a9b8707d | |||
c4c20bee7c | |||
41b491fa7c | |||
667d58bad4 | |||
630464f38d | |||
8050352ad8 | |||
b6d0d4eb99 | |||
70b129cc42 | |||
c52b504140 | |||
e987a50e9f | |||
d7e7848c92 | |||
9bb6dc52b8 | |||
73df95c42d | |||
f27e4033a6 | |||
e523e54881 | |||
606e5c0878 | |||
4b13431a19 | |||
87c8f9ff95 | |||
5e61c60f85 | |||
fbc9d5ecba | |||
d381d31e5e | |||
65e7204ec9 | |||
0b5e3a93a5 | |||
23d743bcae | |||
3e1596d5fb | |||
8a04fc3336 | |||
bffdfea58a | |||
449ea4b669 | |||
e632806349 | |||
9cc8b3656a | |||
a3fff800d2 | |||
48d767918f | |||
4f249159d3 | |||
0d19c2d42e | |||
e53a40658d | |||
0389e2c891 | |||
8aa089178a | |||
d3c8368b0c | |||
ca4f026533 | |||
7d02b36092 | |||
9e634360fa | |||
9cf811b048 | |||
b0d38446d7 | |||
dfe10ac61f | |||
f41c851108 | |||
522dbb1e13 | |||
bc4315da1e | |||
1a841b101e | |||
cbcf3b7599 | |||
4c4b3b8a8a | |||
c562d09479 | |||
ee7bef3395 | |||
80fa5c2e36 | |||
7212027937 | |||
16b5e121cd | |||
a87930542a | |||
e9ba81149d | |||
7ea207df5d | |||
aaa40e34c3 | |||
9b010074e1 | |||
0359db23d9 | |||
320f5fedfb | |||
3e2d2e5f6b | |||
b8d9dd15ac | |||
936fcfb1c7 | |||
fb60ffd319 | |||
8c9f8de6d2 | |||
cf9242053d | |||
47ee005457 | |||
5b965349a5 | |||
17dc50c242 | |||
deda2b2782 | |||
344e13ebcb | |||
a07d753da8 | |||
3003100443 | |||
bca4e5f0fa | |||
9b61306f59 | |||
b66e0b3ac5 | |||
4a9e9b4eea | |||
fc98552fdc | |||
4911a394a6 | |||
acc7a7e626 | |||
eaa6b35778 | |||
6059fb2aa6 | |||
dc3329bae2 | |||
41f4c247bc | |||
a3f75fe3f4 | |||
bf876f83df | |||
b3088facf4 | |||
44167ab84c | |||
eb745d2aa0 | |||
54bcb80b44 | |||
f871cf1053 | |||
8a484a623c | |||
1cb984ba79 | |||
4708b15c32 | |||
93c8ec631f | |||
a4ddd18f12 | |||
e4012e12f9 | |||
7427b4c839 | |||
c7c030bda6 | |||
64ebd808ef | |||
59028c234c | |||
a8c4058bdf | |||
87d17ccbfb | |||
0e89a9f41e | |||
f34920ea87 | |||
5e9cc09fcb | |||
7e93319873 | |||
878f09460c | |||
c9a01aeba5 | |||
2154354a4f | |||
490692316e | |||
3c5d2ecc91 | |||
a8d52c565e | |||
2752afd5f5 | |||
433230413e | |||
68ace4a311 | |||
65d6104ad2 | |||
372b42c0bd | |||
06845b3bec | |||
cbcbd6f0a9 | |||
af280f52ab | |||
7674a62d40 | |||
764a158cd7 | |||
cb2a9a29fe | |||
21e1906fbf | |||
4c01dcd8eb | |||
95939e4991 | |||
10af8c8db7 | |||
f29d417b30 | |||
f2e071baaa | |||
34fef37e54 | |||
06e817af59 | |||
55face52d8 | |||
aba867ea14 | |||
0921850a79 | |||
377b0399a0 | |||
49dfcd4227 | |||
0ee1021bcc | |||
e60d13f471 | |||
1baff3f8d7 | |||
1a4de42999 | |||
f5e53afa7a | |||
7886c2aa96 | |||
ad069f0eba | |||
3c7a02af1e | |||
3fa1d2bfc0 | |||
a413144bce | |||
bd046f7670 | |||
d8fb729aee | |||
a2557fca87 | |||
78a963fe33 | |||
f3aef8df75 | |||
b0757129d5 | |||
de98718923 | |||
0d1158335f | |||
9860489f88 | |||
25d37302a8 | |||
5f1a6b6f64 | |||
c39f69e5dd | |||
8668bc2609 | |||
65fbca47f9 | |||
53c7077d1d | |||
7eb6038f92 | |||
8bd80eb2a6 | |||
b36adb6aab | |||
eefbe097c0 | |||
5c6e389cd5 | |||
126826eb5a | |||
9bc0110b86 | |||
10cd4754fd | |||
10f9fd6146 | |||
ffb0dadbc7 | |||
9c1e42cc9b | |||
911dedf3d7 | |||
6a9187c1ba | |||
5cdd9d2027 | |||
70826d326b | |||
0336d640ec | |||
80eefa92ce | |||
f1a861d1c1 | |||
1eda7c8565 | |||
6ce2231e70 | |||
6477ad2cfc | |||
225ec6f5ed | |||
91172654e4 | |||
ebadd7fd3f | |||
2d3248504b | |||
78b12c7b80 | |||
42a6dc44f4 | |||
832eabfeab | |||
2fe22acc0d | |||
554bf821d8 | |||
dcf2c32fd8 | |||
215d7ec1b9 | |||
33bd8fb9d9 | |||
ab9343a788 | |||
263032b680 | |||
cc9bc7703a | |||
90f738608f | |||
d0cf26b342 | |||
51f6708fc6 | |||
c6fcef6e98 | |||
0c3a24318a | |||
868657477c | |||
c77f3e0985 | |||
130a222821 | |||
e0facd97c7 | |||
01eba895d1 | |||
74196a3781 | |||
fdfc23d878 | |||
c4bdf39abc | |||
7e8a0e5c5a | |||
ad14feae94 | |||
2e7458a246 | |||
fd7fe5d96e | |||
d8872ca278 | |||
f24c7c81c0 | |||
fb7a0b5816 | |||
8bb76da6b5 | |||
20816fd77a | |||
aa7e206329 | |||
a1b9bbb726 | |||
0a64d121d9 | |||
823a0c86d3 | |||
5743d87a43 | |||
871d2bad17 | |||
547da89c7d | |||
4ecd036d0a | |||
b2fb92cf0f | |||
3d73ce63ca | |||
eb267e8a57 | |||
40bfa3ef04 | |||
9b3458fba0 | |||
86eb487a38 | |||
091d6f6a3e | |||
885f8e1856 | |||
c88902e640 | |||
0e45f10d99 | |||
41d7515f85 | |||
3be7eafa6b | |||
9dd1a8fb2e | |||
ecae4c03f9 | |||
ff67fb337e | |||
100a131913 | |||
7fc3e7dd8b | |||
bce65e2140 | |||
c3b797b414 | |||
0343c5e692 | |||
1621e5d6fb | |||
6311474fa7 | |||
e0e373c357 | |||
9fff26b900 | |||
d439bc8c2f | |||
fe52f7c392 | |||
82207598f0 | |||
a2bef1fa52 | |||
3762cdc8c0 | |||
b224760aba | |||
cbdd14fa82 | |||
96d6e0f8a2 | |||
a44ad63440 | |||
c3592e8c4a | |||
d153d3b761 | |||
60561578d8 | |||
b8bc96c181 | |||
005d6b4ccf | |||
f972fb6920 | |||
77078f2ce2 | |||
dae6d60163 | |||
264d6afe5d | |||
52c1d87fa2 | |||
dccafca58d | |||
52c12f96d5 | |||
114a9fbdb2 | |||
20e67e7edd | |||
889b52e813 | |||
6c975275f8 | |||
1286dee1ab | |||
fee953b0df | |||
26e7454f0e | |||
edbaa07867 | |||
f7ebf14501 | |||
d00928cf3f | |||
b3a198cae6 | |||
8b87d56a5a | |||
62ac3400da | |||
d54f71774e | |||
a47358f590 | |||
8f2cf066b6 | |||
e3e5a4272b | |||
2dcb3af70f | |||
3a19e9f80e | |||
c6fe798092 | |||
e74a47916d | |||
761071e1ce | |||
9e3610d513 | |||
393ac6c203 | |||
b7a79d25b0 | |||
486f045751 | |||
d6e3ec3218 | |||
078b043cae | |||
296cbc2e5a | |||
a74beaac36 | |||
79f8eb910f | |||
c91eef0030 | |||
7bf9d726d0 | |||
1946ff8ed4 | |||
b4d85d4f69 | |||
a03702d2bd | |||
71d7de4989 | |||
35d9e13dbb | |||
b427842679 | |||
4ae172be57 | |||
e6705b1a65 | |||
bc22cabdb5 | |||
7128b9f16a | |||
8c0490fef1 | |||
882a81636d | |||
24b9be76ba | |||
e763c6e661 | |||
899e2c73d7 | |||
10cb15b000 | |||
873d4bd707 | |||
97dea72c94 | |||
7d49f260b8 | |||
3055e6d8c7 | |||
2c93246860 | |||
360c820b9d | |||
87847c6ed5 | |||
4874f54d4d | |||
ff73efcc08 | |||
4ee64cbd9e | |||
0c40a86fca | |||
f92eed0549 | |||
69ed8cc409 | |||
4fff1279db | |||
d80699e454 | |||
deee1dbf53 | |||
067588845b | |||
b177b0cafc | |||
5679777010 | |||
a70c24cd1e | |||
357f3dd258 | |||
d815838762 | |||
4ceef78599 | |||
d5811633ea | |||
32265da72c | |||
ef94236e7f | |||
2924f0e434 | |||
1e419a9e1f | |||
097ece9dc9 | |||
6b6483c9fc | |||
22049b10ff | |||
de86644cb6 | |||
657aac5bc5 | |||
7ae3640d1a | |||
6fb42857c6 | |||
abf21349cd | |||
ed17af8339 | |||
67f391f6d4 | |||
c6b25f317e | |||
d91fa1a37a | |||
6c3f052996 | |||
33b0c87fb1 | |||
5c490e7521 | |||
54961235a4 | |||
17eca2a18f | |||
137f3ee609 | |||
498f6e9be2 | |||
a5e841f59c | |||
9adab1e85e | |||
4288a843cb | |||
1669f5b265 | |||
1157298eb8 | |||
948a65bf39 | |||
20c076b369 | |||
b67ed64116 | |||
1da3777bfb | |||
ea6aa40b09 | |||
b002651194 | |||
1452512daf | |||
0e7778bebf | |||
698fbdf88b | |||
7b738deabf | |||
3c65e7b76e | |||
3fc427b699 | |||
03667e1fe6 | |||
5cfd000a7d | |||
fa66eac096 | |||
70eb75b7e6 | |||
2f6187a26a | |||
167da988da | |||
6935e647a6 | |||
743eca4a95 | |||
78598a92f9 | |||
94598ab555 | |||
c5bdee086d | |||
c6cfc3f908 | |||
84b488a912 | |||
ec4d5857d8 | |||
4576641105 | |||
572e475b39 | |||
882a30fabe | |||
feec35bf4f | |||
c9fea5a7a0 | |||
00f3a1e1ec | |||
5a8cc7851b | |||
9d81d06853 | |||
4fce5d8066 | |||
329e367bda | |||
ce056bf936 | |||
c6ab5faba6 | |||
6ce0804b43 | |||
a7a6563281 | |||
0a084a3363 | |||
beeb8de6da | |||
e73297f260 | |||
b408ef5ba5 | |||
50539099ab | |||
9a3a77cff0 | |||
cdc07945af | |||
9f9194ab5c | |||
136a087ae7 | |||
b9e91afa26 | |||
f943e39c89 | |||
75bdbff36d | |||
43930e6a84 | |||
57d0c19a98 | |||
66a11378d2 | |||
62b680cadd | |||
1e1ac13999 | |||
d27c454674 | |||
3263eaec32 | |||
de4e9a857c | |||
d838876ab1 | |||
03336f01b5 | |||
d212d693a4 | |||
d17fcd8e48 | |||
49b3ee36bd | |||
100d7adc3d | |||
68b1fea6bb | |||
4de6e1e28a | |||
84f8c34e90 | |||
77567cf114 | |||
3cf8e1917c | |||
84cbabec29 | |||
b88c65ab67 | |||
10782822de | |||
5457172aa5 | |||
d20a2c7080 | |||
c01098de16 | |||
0b14a57d55 | |||
405d104208 | |||
83e3316f06 | |||
2037d4c21d | |||
6cabf052b1 | |||
359e1b2e6e | |||
7b553b13ac | |||
79872ec3e8 | |||
e9df7265fa | |||
1ade89be35 | |||
3356f7113f | |||
e6495ea6e2 | |||
629991443a | |||
6848f05ea5 | |||
e58dd71829 | |||
1afa2f1202 | |||
f322cb444a | |||
69c3c4e3dc | |||
488e6feed9 | |||
40891aca48 | |||
cd0e557991 | |||
679f8ad614 | |||
00c647c736 | |||
1ac6af6ad1 | |||
a5d7099a3c | |||
e9c8a0f5d5 | |||
adcda0889e | |||
95cbcdd379 | |||
a5e8eb4b7b | |||
ed440f80f3 | |||
4e2ef94107 | |||
de690e0622 | |||
062e1a4940 | |||
cc3779b197 | |||
92dc34b51a | |||
f8ee615640 | |||
5dde8b4bdc | |||
2c70055a87 | |||
db8ab8b890 | |||
28da5c5a31 | |||
b345aad52c | |||
aa5af89dfc | |||
9a3a74db34 | |||
328619f1fc | |||
121e12785f | |||
cc3f0737a2 | |||
bc3714139f | |||
9200379997 | |||
0ee664db2b | |||
86487e6f66 | |||
adc2bcc59b | |||
21a54f559a | |||
145e16c266 | |||
68f4edd0ee | |||
7fd6a134d1 | |||
0db8d566e2 | |||
c6f6291fc0 | |||
c2d79450ea | |||
d58ae601f7 | |||
3ad73ad7d9 | |||
f0c4df1cc5 | |||
839784bc8c | |||
b758ec96ef | |||
2f8ceb9d22 | |||
e05ae5ebc2 | |||
ebc43be4b3 | |||
8543278ce3 | |||
9a98de7bd8 | |||
e1d69fb4ad | |||
946f9b4a2b | |||
9a270e59a4 | |||
2112fb3896 | |||
d1bd9fa552 | |||
393bd76959 | |||
97165fbaf5 | |||
feca9940bc | |||
fbbc7d005d | |||
af5b4749b0 | |||
b4e5fe7e71 | |||
1671aef0bd | |||
ffe5a12773 | |||
9ca01b65de | |||
f50ed905a8 | |||
d7156b8cdd | |||
14442ffa18 | |||
d454596c33 | |||
7d510cf780 | |||
8121cbf10c | |||
d34d20c393 | |||
e773c272be | |||
0c072249d8 | |||
d0b7b662b4 | |||
4b5aa286a0 | |||
2310c74d0b | |||
af251bf0c4 | |||
16204ac13b | |||
7c8645fe29 | |||
bd82173caa | |||
2e8a0b0fac | |||
38b7f4364c | |||
3a33e406c7 | |||
8d0c5268d1 | |||
08bec5abd9 | |||
cc4b6e5eea | |||
e6cb07bef4 | |||
249bfcc5f0 | |||
108c4b4342 | |||
38befa51ac | |||
6a76118710 | |||
f049694fa1 | |||
515a6b74a2 | |||
d1291b3b4c | |||
d2abc28a2b | |||
12142f8c5e | |||
41d7a8de66 | |||
c7a65c13aa | |||
fbf0baadba | |||
ea31e62795 | |||
910b145f42 | |||
952a793f80 | |||
46f2ffaa5c | |||
45ba7989c1 | |||
c4cf3331e9 | |||
6d75ca0bcb | |||
050fb55326 | |||
9d1d9c3540 | |||
fdde966808 | |||
c6ce7b1045 | |||
ce743054d6 | |||
99970b6864 | |||
42110bcd33 | |||
9677b0bfb1 | |||
a7762972fa | |||
dda3b4152e | |||
b7aa6d6c1f | |||
909a3b805f | |||
848d2e00e7 | |||
642662941f | |||
0028a529a8 | |||
62131e864b | |||
0c58b43831 | |||
5a3d6c4fba | |||
a031fa3875 | |||
721ed97a83 | |||
944927ac2d | |||
7705749d28 | |||
cf7f42ebc4 | |||
f195968b6d | |||
4d6bffdc8a | |||
f62c6a05a9 | |||
fa550a2a78 | |||
960c27375c | |||
e87b3e2933 | |||
133766bf8c | |||
aa6b25e9e7 | |||
abde13221f | |||
cb17be5e2b | |||
17d62b689d | |||
9bf5dc67f5 | |||
4eab9b4354 | |||
d39c153c57 | |||
e5992742d4 | |||
72ed803c2a | |||
9ec0e59431 | |||
5328ed64f3 | |||
33e8d61d65 | |||
3584786387 | |||
34f662ead5 | |||
2d53481cf5 | |||
10fb029609 | |||
0281961f15 | |||
fede4eeb89 | |||
ab50d5ef20 | |||
f4e02d4a4c | |||
167640df8d | |||
fe01437aa4 | |||
037fce4d6a | |||
db8b824b84 | |||
b71f62535d | |||
e9a1e281b9 | |||
0144408500 | |||
7660839e40 | |||
d1ca851ebe | |||
35a281d443 | |||
c2690fff47 | |||
c3a73a41d1 | |||
b72baa3295 | |||
73ce22c8a4 | |||
c4f7e6659f | |||
0739ae006d | |||
eaa92e784d | |||
48589e0da1 | |||
0044d83801 | |||
50e917d232 | |||
ccd14e0462 | |||
d0c0104546 | |||
cd34ade638 | |||
3f91e33a8c | |||
17cc996288 | |||
385776dc0f | |||
e52278c371 | |||
7ffc8c1eda | |||
1359615c82 | |||
7a7a56940c | |||
bcbe83cb38 | |||
37f983aee3 | |||
77de3f2b9d | |||
f655b54937 | |||
cac99ebdd4 | |||
f0d0a1546a | |||
8e8459fa55 | |||
d53c55ecb5 | |||
ea33d61a90 | |||
2fcc3388dd | |||
ef7f033c32 | |||
7aa54dc92e | |||
d10ad1b413 | |||
34063a0b84 | |||
8c9d975d69 | |||
03b072b894 | |||
d1bed49808 | |||
6c3417d9b5 | |||
ba65226460 | |||
9c9cd168ee | |||
abb3d2a8d9 | |||
637fe8a04b | |||
be321e95e5 | |||
ed46c1486c | |||
c9fcfc6862 | |||
8495e37566 | |||
247bd43ae2 | |||
a6685b1559 | |||
66c4e8064b | |||
9d1fa3f202 | |||
a6985d7dc7 | |||
027c021ac9 | |||
604205ec09 | |||
77db016866 | |||
c6a009dbae | |||
4299e3f90c | |||
19f4812c03 | |||
d01c465a8d | |||
4f1409601e | |||
52cffe0864 | |||
0866d5c055 | |||
78c08f6503 | |||
27d0ac3d75 | |||
a8776002f3 | |||
31aa008566 | |||
9d405b4581 | |||
80c490a18b | |||
30c9c3739f | |||
ee0e7a09e0 | |||
bfd9577f0d | |||
0cada4ca76 | |||
a718ccc0b6 | |||
1fcfd8e645 | |||
c6dd932a0b | |||
b79eed01e0 | |||
3a7dbe9764 | |||
bef2534fa8 | |||
888dcd2559 | |||
2b69fca6bd | |||
7d088d42b4 | |||
f8ad303b13 | |||
3c59c6fc9b | |||
7353d729d7 | |||
62591e0e7a | |||
012f15d84b | |||
e57c6f94d2 | |||
40b27e8ad8 | |||
055e9f21b7 | |||
d7085b17fe | |||
0d4d7c9c0c | |||
99209d36e1 | |||
e2a9a0ff3d | |||
ab166959a4 | |||
ab692cfa3d | |||
c3ae6f3a4a | |||
5ef4a52bbd | |||
582768a5e4 | |||
1852d1cc6f | |||
7a5a541a4e | |||
72b03e009c | |||
1b113c1045 | |||
54959557ea | |||
d44cb7f256 | |||
3d063c95d1 | |||
09cab605fc | |||
666c8c0498 | |||
d3e764d7f9 | |||
7060625adf | |||
21b6e23e98 | |||
a0f794e372 | |||
9195504329 | |||
8c5d9dd549 | |||
580f6a5b6c | |||
74e76b460b | |||
c4570b37b7 | |||
cd0b0012d9 | |||
c055b4d32d | |||
75a9ff832a | |||
b64d3af1f3 | |||
fb6605bb40 | |||
3bfae80fa7 | |||
cb16cb0610 | |||
0baed1a275 | |||
42162c8015 | |||
0fab0c416d | |||
e2e262c8ce | |||
cf6596203b | |||
471911a54f | |||
9394f4f540 | |||
4e968216ad | |||
84a7a9555f | |||
8d12fd152b | |||
629b765abc | |||
63a89fa84a | |||
a3f89236a0 | |||
01560abafb | |||
b5698026ba | |||
6258ce75b7 | |||
6f34c74027 | |||
8add4f359b | |||
d8933c135f | |||
eb350e8d6c | |||
615fedd64d | |||
25bd82ecaa | |||
e0938e5e3a | |||
ec5e6c8443 | |||
25d8077474 | |||
06083f40d9 | |||
ec203f7f79 | |||
1b30d7d47a | |||
d9be9c958f | |||
ed09796e0d | |||
4bfa29c0ab | |||
4804bbb211 | |||
749102f9c2 | |||
0bcb1434b0 | |||
2e537e618c | |||
fe3b7a2ad3 | |||
90db793fd0 | |||
7bd2a6ad61 | |||
745f4d2439 | |||
254cfaea28 | |||
d4da5a1eea | |||
c0f8297414 | |||
834cb2ea1a | |||
d82769abd4 | |||
adf01ed4a4 | |||
09c007b3aa | |||
526ff177aa | |||
0e40d4e796 | |||
172ebab7bd | |||
aa4493fe5c | |||
a68a88f79e | |||
1de7dc94e1 | |||
59cb7992e2 | |||
87b15df47b | |||
6932d86240 | |||
87f61e714a | |||
5762e2d9ba | |||
f0691c8a4f | |||
6d7e4fe2a1 | |||
7dc789f470 | |||
190d1bbf3c | |||
a755dd5f9e | |||
0846a7b94e | |||
d8be0511f1 | |||
fb07116a4c | |||
fe453c15e3 | |||
059aeef6a0 | |||
30e25451d6 | |||
7f0fd55c9a | |||
0e9b496deb | |||
8294c18e70 | |||
39575b4696 | |||
29e9801d5c | |||
eaf83bffb0 | |||
bb25ece745 | |||
754b5629e4 | |||
ee63403548 | |||
87edeb41da | |||
41fe804587 | |||
02466acc4b | |||
8470a64e6b | |||
9939e0f9a9 | |||
ce5f552d0c | |||
7d4c535233 | |||
57cd0fb93f | |||
a15299ae53 | |||
1df7abfbb9 | |||
85a0f696bc | |||
ba3c62bf9c | |||
c17e97b6a6 | |||
2d80cd0e7b | |||
eedc572f0c | |||
2de1df3514 | |||
2d96af1255 | |||
163325ef89 | |||
23979bf09a | |||
7199e6f4e0 | |||
a40f38b2b5 | |||
00a17ed5d4 | |||
b594366f06 | |||
e9284930df | |||
ea7504f564 | |||
c1f6d996f6 | |||
df71dbb024 | |||
f104e9b6cc | |||
e29b5c2326 | |||
925868dcdb | |||
d7df26d92b | |||
42d1c67d56 | |||
c2d7929391 | |||
5864b52a81 | |||
493d32b3dc | |||
ed141338fb | |||
95db488c48 | |||
d5e1e523b6 | |||
cd0f8a4ef9 | |||
6dac505af9 | |||
9d398040cb | |||
aa55acedc9 | |||
eb70d6f226 | |||
36f0963d78 | |||
c3c111529e | |||
2dbab66cfe | |||
01238d6b1a | |||
c34f302b1c | |||
6870262f8d | |||
c54d5e7040 | |||
0ace009a54 | |||
48e8ee440b | |||
9855405b89 | |||
122076e8ea | |||
7c5ac2cbb4 | |||
ccda2181c1 | |||
b5fe4ba9be | |||
fd9c7d525a | |||
080574e13d | |||
ee0a445590 | |||
bb342c7601 | |||
ed17636fb9 | |||
c59d7d941a | |||
377377595a | |||
d63aef9963 | |||
e9b28fa3c0 | |||
be255dc583 | |||
18eb7c6087 | |||
cf29e69813 | |||
132da7e3c0 | |||
26df23bb64 | |||
76389ad619 | |||
7cde8cfbf2 | |||
4eb2ddac4e | |||
dc51eef27c | |||
bff8a23cbc | |||
9c5efb9da0 | |||
48b8320e5e | |||
9b2ed96c1c | |||
69d9aa71f2 | |||
13683780cd | |||
d780e5b251 | |||
917d3d0bd3 | |||
4b19c53697 | |||
2d40a15d2b | |||
2bdcd22ad4 | |||
f73a4e1304 | |||
b265cdbd84 | |||
a04d8b95c2 | |||
0e9a8c0cd4 | |||
5ae8a3c7e8 | |||
70ee172128 | |||
b9febc00f9 | |||
0112e2f7ec | |||
60736bab2a | |||
fb7c4ee21a | |||
e93c06cd00 | |||
0a99345909 | |||
3d08ff7cb4 | |||
057ce73ba1 | |||
66b07578c5 | |||
de3b365563 | |||
7bb8d8b27e | |||
9008664606 | |||
7374905c28 | |||
718e20de60 | |||
73d166323d | |||
3589fc6f4f | |||
feed6c7acc | |||
2522e7388d | |||
09cfd620bb | |||
362e95263d | |||
c6837b9fdf | |||
71878f93e4 | |||
f5d43b1f25 | |||
770e7378be | |||
b9a8620d2f | |||
d1c8b2993e | |||
01e9b3c2f6 | |||
57203de4cb | |||
74d0e83a8a | |||
9eee5644b9 | |||
9fe6f9417e | |||
e7de5f6051 | |||
60d81d74e3 | |||
2701a7e85f | |||
31a0afdaab | |||
9f87545901 | |||
9f94f60ede | |||
0ca3c0bca1 | |||
27611cef77 | |||
30df8ea121 | |||
595ad04ddb | |||
6b8354ccbf | |||
1b9d316e7c | |||
a8adc46f3b | |||
0efa969a15 | |||
14b7f05af4 | |||
cf43dd6ec5 | |||
b5a1fdd4c7 | |||
b32737cdff | |||
8e9717a5fc | |||
3e28b296e3 | |||
056fef70da | |||
55be9cc9d1 | |||
3f2ffcea97 | |||
b07d037cb5 | |||
4feccdfd92 | |||
f1ef85b636 | |||
cf9266eab9 | |||
4a1552fb3c | |||
e5863c2867 | |||
58211fc6a7 | |||
bd54e44b35 | |||
e1f2e364a4 | |||
186b26e103 | |||
74706a8d2c | |||
7e2b6b6369 | |||
1a2de1a051 | |||
83900cbca6 | |||
166bc19131 | |||
da874f3383 | |||
9c30b23358 | |||
b8350d5093 | |||
58f7af8927 | |||
c3b9c7b74b | |||
9415618992 | |||
1c200c9b94 | |||
ce8fa8e423 | |||
a4b7a9db03 | |||
280eeb9d75 | |||
3f71b14637 | |||
705d40ab37 | |||
b39850de01 | |||
b9c5e95b85 | |||
0c1de7b1b6 | |||
0a4499fd03 | |||
b663a47331 | |||
eb275a62a6 | |||
e18caa3396 | |||
eb15d31ebf | |||
e7f1ab2d01 | |||
9d3beb3174 | |||
b6c3399abe | |||
b505874613 | |||
0a28573845 | |||
937df577f1 | |||
e54fd6c2cb | |||
3caea9d33e | |||
b9e9631195 | |||
76bded455a | |||
c94d9210ed | |||
0f5db9558c | |||
35a8c37922 | |||
6ff84a1061 | |||
aae9bc4cf4 | |||
426c2fa5d1 | |||
dab728278c | |||
7555ab097a | |||
5b5b64d251 | |||
eb84445796 | |||
364bd9ae74 | |||
d4b0761549 | |||
f8e06f12fd | |||
320352bf4b | |||
3c66990263 | |||
7cbe95a1cf | |||
c89abda3fb | |||
90348f4ac7 | |||
08293f368f | |||
d5378dab27 | |||
91648d1bd4 | |||
66d6e71f06 | |||
a0ea5776ab | |||
9b73e897df | |||
debc0086fa | |||
065ec8e170 | |||
11f8d742eb | |||
adf4f5410a | |||
8ff2694cad | |||
191c064611 | |||
d327bb8ff1 | |||
80bebea9e6 | |||
cf3fc97202 | |||
5b28d7bf90 | |||
5f8fb43cc9 | |||
6eff6ee451 | |||
c2ab3a15f4 | |||
a100e13a18 | |||
a591a334ed | |||
ca2e53bd6e | |||
d4b4b61535 | |||
440deb4624 | |||
bbb0130522 | |||
b6a4061097 | |||
48c94907c2 | |||
4fd06369d3 | |||
27a17b467d | |||
c25cf7f89a | |||
ade11aa447 | |||
3799708daf | |||
462204e204 | |||
752669bf5e | |||
b08e3f59d3 | |||
443b45e509 | |||
b2bed61088 | |||
be516d3c1e | |||
f5b41e1fbf | |||
e9afc1d867 | |||
a891f7e862 | |||
b715ea4621 | |||
ea13efe495 | |||
37f862947b | |||
ecb0861be4 | |||
624c9f3418 | |||
1b75984046 | |||
157f1c66dc | |||
cb41391bae | |||
acc88825fc | |||
233a837e35 | |||
9e4456ac1b | |||
83e1068da3 | |||
1fd345f563 | |||
37c16e5b45 | |||
ca25b9acc1 | |||
c3022d38f7 | |||
3599f16d22 | |||
3f78f6f6bb | |||
41f66e4299 | |||
0d36b144cf | |||
aa652aac8a | |||
8dbdab4a47 | |||
90c07a220f | |||
23e2a870cc | |||
dc8eb7d4fe | |||
fd363f5617 | |||
1726ff3977 | |||
93aba74463 | |||
99955f0af9 | |||
30cf154542 | |||
f2c33b06cf | |||
f12473e677 | |||
e845db01bf | |||
7f76a73eee | |||
3c2d94ace3 | |||
1e2239f527 | |||
1851daf9fd | |||
f378f26e5e | |||
cda6bc3404 | |||
071c7e6a58 | |||
010e1b3ba4 | |||
66de51c1ca | |||
265d6bda15 | |||
fecb12bae1 | |||
83ec906ee7 | |||
d44fbf58c9 | |||
9c4a789a4e | |||
bfa1705bad | |||
2876f2188c | |||
579c0043c3 | |||
0fa57957a4 | |||
05cb0b0ec5 | |||
4b24e96dfb | |||
c7eab37177 | |||
c7d0b6cb29 | |||
22ee087bb9 | |||
2480fcdc53 | |||
7e093aee5e | |||
dd8413a485 | |||
925f2912a9 | |||
ed00ea0865 | |||
3f19d221b7 | |||
808271838b | |||
ac0950fdef | |||
38f306ba73 | |||
5c1748d63d | |||
c00cddf5b0 | |||
baf3274748 | |||
9e0515e563 | |||
9c0404c407 | |||
0b85177690 | |||
7ec28ced40 | |||
19ae3b66ec | |||
0118dee3e5 | |||
9201714313 | |||
8b9c1efd7e | |||
111eb43fd9 | |||
f2964101d1 | |||
6b2c289029 | |||
fd2573c068 | |||
df0e9d75fe | |||
2bc86756c8 | |||
fb91ab4080 | |||
0b4d29ed1e | |||
2a8c65e2c3 | |||
ffc7f42efc | |||
7c38cda8ee | |||
d3f5001679 | |||
83d9a4b6d9 | |||
9760e08af4 | |||
8d48e4c76e | |||
a1e0c866aa | |||
8380222baf | |||
eda7d60c26 | |||
ddf92c3e2c | |||
9bb528eb6e | |||
9756957ac1 | |||
af0205b77d | |||
3f0da5453d | |||
923c3071f0 | |||
a8584973e2 | |||
886766cca5 | |||
974abbe826 | |||
61bdf51e90 | |||
9bee9d20f7 | |||
7aee3b88eb | |||
d08184f5fe | |||
ae08232bfb | |||
2b5e4b57bd | |||
35ae13a490 | |||
74f55b4d3f | |||
abe9440021 | |||
6a95b94aaa | |||
21ee38d813 | |||
9681a906d5 | |||
2ca760bee6 | |||
da9f916daa | |||
bc05b83a24 | |||
620e0a9df6 | |||
38ad4f7098 | |||
05c7cacdd1 | |||
baa49271df | |||
e2cbe70966 | |||
6a98301cc9 | |||
81f1df7472 | |||
abc296cdcc | |||
4df5ec82ce | |||
3963ed8ff7 | |||
11141c878c | |||
b1a2046a7f | |||
e44322c9bf | |||
2e6462bf1b | |||
667d9c2be3 | |||
34a86229db | |||
7dd8dbeb5b | |||
b5fb98f01a | |||
f6cfa5cbb4 | |||
c1b95838f6 | |||
6cee608c91 | |||
d979fb6dc0 | |||
ca2a33edc9 | |||
ea80d5eac2 | |||
51cf0970b3 | |||
9c8eb93446 | |||
3ac3a45aa5 | |||
36fcc0d5f6 | |||
6667b86650 | |||
9244efe351 | |||
538ca2a7c7 | |||
c5dd9439d5 | |||
2170c27b62 | |||
61582a0a33 | |||
65efe1f42c | |||
b2d3d43c97 | |||
4ce330c59e | |||
4ea60d36e5 | |||
95111ef8a1 | |||
145389768d | |||
be183206e6 | |||
8b853b7970 | |||
5450b78f71 | |||
a3283c71ef | |||
7231f5ff0b | |||
38a68ea946 | |||
bf9486edc2 | |||
aadfafaef9 | |||
c102978dd5 | |||
9784ade84f | |||
677f06961a | |||
57c3ea3dbe | |||
c01210d4fe | |||
64bbfed432 | |||
a482d9b078 | |||
08456dbb89 | |||
ea662b5c49 | |||
58a8fff895 | |||
bb302a90a6 | |||
99e34e9ee2 | |||
f1417c6bb1 | |||
729db347a2 | |||
f2465ca11f | |||
0294061c00 | |||
71e5892308 | |||
a1597047b4 | |||
d6a8889d84 | |||
070f1f3c6e | |||
234294d564 | |||
d1be8b43f6 | |||
0ed94ee52e | |||
f07564a452 | |||
37419886a1 | |||
b9f0a9ed88 | |||
d0f68bb5d1 | |||
11a350a114 | |||
778ac79c44 | |||
766c00c305 | |||
97cdfa662e | |||
4a08d5295e | |||
b77788b947 | |||
729116c9e5 | |||
d57d55a226 | |||
4cccdb8a98 | |||
54045f95ca | |||
ee6c7cbc59 | |||
00508dc778 | |||
a3ff1bfda7 | |||
f57888eb4b | |||
b2c703c173 | |||
9053b9635e | |||
b5e87a46b0 | |||
ddbdb94ba6 | |||
304e3d58ea | |||
ca6a70e555 | |||
9a611b24f3 | |||
77adf26236 | |||
805472482e | |||
01411327b8 | |||
9daa900793 | |||
b862c055ae | |||
7860839220 | |||
e17e8bbb6f | |||
136d0683b0 | |||
0eded8f5a9 | |||
f62eb0fee9 | |||
077bf11e45 | |||
ebdbd6a84a | |||
69975c2fdd | |||
9aac6a65c6 | |||
7d7c206f24 | |||
15690d853c | |||
14ddca3875 | |||
a8b4df6eae | |||
0683fa6b97 | |||
808c680184 | |||
2bb0a61a89 | |||
dfa129febf | |||
3b49d233f8 | |||
f08d7df419 | |||
cd94d79cbb | |||
2314133112 | |||
06a47a7bd3 | |||
05a785ebd0 | |||
2ee5835186 | |||
19e1abe110 | |||
d19441f3ae | |||
6e3ee05cb6 | |||
51476ad06f | |||
1f998168e2 | |||
e72011f1da | |||
0df3e22e51 | |||
5a9530ccd4 | |||
0a4d119d86 | |||
2ee0e07bb6 | |||
533c9a4fe1 | |||
30c000116f | |||
dc649fe420 | |||
4a8ec173ae | |||
26d6fe9a4e | |||
46f5175a0d | |||
f704e7a602 | |||
8cefcaa55f | |||
164c6505f2 | |||
0a1b83c70f | |||
e60048eb96 | |||
8957eec475 | |||
e790af566c | |||
43fe0cd62e | |||
e22a296dc7 | |||
ac19ebc850 | |||
1e0060193a | |||
72271d905d | |||
8d39283d46 | |||
4364122804 | |||
3b6dbd6dc3 | |||
7c61fc37c5 | |||
f530b5237d | |||
9b9b6ade64 | |||
e184c1cdfb | |||
e0e4b43707 | |||
1d70b33894 | |||
44ea1be930 | |||
a1bf54fe16 | |||
88c57359b3 | |||
050564f717 | |||
75d59a9c9b | |||
9139c863bf | |||
84a1ec01bc | |||
36e59c5b5f | |||
5389b16c59 | |||
da3008af1c | |||
6637766554 | |||
2bc63631a4 | |||
5215721942 | |||
d02e14cb94 | |||
fa75b40dfd | |||
f32d8b7069 | |||
90e8527556 | |||
66377d3f27 | |||
c6ae93df80 | |||
55e9099091 | |||
c6ace29446 | |||
b0b885aacd | |||
3615b5d353 | |||
74c71e6283 | |||
9b07c5af05 | |||
cda1803e59 | |||
96eab7e12b | |||
916512fd47 | |||
58d3a37908 | |||
a19e252c9e | |||
63225ed0fd | |||
11cc9cbc7c | |||
36b9a0d42f | |||
e7da10ae58 | |||
f07047d1e8 | |||
c62aff76af | |||
1c20de4e9c | |||
4903eb4a4a | |||
b5981ab544 | |||
00e1dbfdfb | |||
df69ca4d56 | |||
cb631d4abb | |||
3c351d8300 | |||
ca66acac2b | |||
9fcf94b197 | |||
aa34000f0b | |||
d3c0f3c251 | |||
bb7edfee04 | |||
caa14c70ef | |||
3a0f72867f | |||
10d72742f5 | |||
1b9f8a87d3 | |||
d4a630902d | |||
fef5ec874b | |||
f2e347fec1 | |||
cd3c2484ee | |||
6a396ef5e3 | |||
eec1af1f52 | |||
99fc77b678 | |||
8bb311df51 | |||
a77df249c2 | |||
2883bca257 | |||
dd3af6886b | |||
33bcf2d1ea | |||
795fb0eb60 | |||
9e9d378bf1 | |||
4a6b0edce6 | |||
356225af14 | |||
331305e6c7 | |||
917b9475a5 | |||
e895fc954b | |||
6d3e18a6a1 | |||
79354f4faf | |||
28f8933c3c | |||
10356b4041 | |||
6a732ab1cd | |||
47322b35ff | |||
4c6d0386b9 | |||
a448172952 | |||
244ef0cb8f | |||
cc66a1f9c7 | |||
e2183400e5 | |||
afc531bd26 | |||
02cc1891f2 | |||
09e3ddbd57 | |||
d0fff562ea | |||
8ce5366e80 | |||
bfcda7cc02 | |||
c52aeb6618 | |||
f5ebfdca61 | |||
db93838729 | |||
bb835a6e8a | |||
52feba0e3a | |||
a1076c3108 | |||
bad068b20e | |||
ec41d461c0 | |||
a826cd6845 | |||
a950b6193a | |||
2cc4de2b23 | |||
03ef6996ff | |||
d1e5def30e | |||
02fbda2154 | |||
c21694a24a | |||
cb98336b0a | |||
97d25bc6a3 | |||
b36a1a9d0e | |||
cd44ff0aaa | |||
032571c326 | |||
6b890e3f82 | |||
9998845b21 | |||
7ee4385deb | |||
695277c9eb | |||
f014a79f8d | |||
1a6d47a633 | |||
12eed8f859 | |||
549092d9aa | |||
b245393bc4 | |||
dcd43a17ba | |||
b8088dc01a | |||
8e1b90ab43 | |||
614a1d74dd | |||
9ea1ed8559 | |||
3e1e234799 | |||
62f5ecd278 | |||
27733e2119 | |||
6be127e18b | |||
4bf1c23b3c | |||
608b8bb741 | |||
ef01eec36e | |||
5dbdd0e685 | |||
5273050ab3 | |||
fae3b02e5a | |||
3489e4af1e | |||
8e9bd0bbd5 | |||
3725b5bc34 | |||
998a59aa5e | |||
86c017674a | |||
cbae87cd11 | |||
5bc1f8d468 | |||
d3a355e164 | |||
45413c9d28 | |||
082ee8836f | |||
2f5bd5e6d7 | |||
639e0137cc | |||
2f898aa037 | |||
a43a225740 | |||
833c39969b | |||
e25dea27e7 | |||
dac962580b | |||
b12bf78c6d | |||
a44b005f7c | |||
4ea65dbe41 | |||
90ba51ee9c | |||
ecf44084dc | |||
9f49c663f8 | |||
c8c9a67485 | |||
837358df66 | |||
498bc7cebe | |||
9c3a4eb947 | |||
de1ecbaef4 | |||
4eb05efa7c | |||
ffa40227ec | |||
b44e1820a2 | |||
eb461481ed | |||
92f47cc9cb | |||
f82c6f7ab4 | |||
9f32e46921 | |||
eba96282d6 | |||
dd8423fbb5 | |||
76f992906d | |||
402d6de02d | |||
43e3ce1ed5 | |||
15050018f2 | |||
71d6394bc8 | |||
1d6791e4c2 | |||
7f0084a7ed | |||
1374a12f89 | |||
92937b8b3c | |||
d0ed5a8b59 | |||
2b318a1021 | |||
903e93ae01 | |||
06c7fe669c | |||
e2c0ee66e4 | |||
c6c62f956b | |||
8fa27fea6c | |||
03c56f388c | |||
4090922e7e | |||
8061dedba1 | |||
da2112b659 | |||
ed5386771a | |||
d248828523 | |||
fc0b86fe19 | |||
346036ec88 | |||
a5e1ce0e0b | |||
67b39b1a98 | |||
6fb7721798 | |||
0018fd469e | |||
019f7480e8 | |||
8e0b088deb | |||
452005381f | |||
9722ed99a3 | |||
ee6311e83d | |||
1471e52307 | |||
f1fc12d9cc | |||
ebbc42bebc | |||
4785ee8c32 | |||
ab40756c1a | |||
c88e737a84 | |||
def5ea7978 | |||
e69ab45044 | |||
25d0b4bbf1 | |||
f86f5ac6cc | |||
07ce365bfd | |||
f31c94e2ea | |||
933638d035 | |||
b0151afa9a | |||
5bbd4ae703 | |||
f2f7f532a0 | |||
80eedf7449 | |||
1b48e0d6e0 | |||
0420c548da | |||
6e98b75d13 | |||
e772cb00d1 | |||
b5d5275e9b | |||
a2d3d22b6e | |||
1ad8603cc2 | |||
aeaf535ea2 | |||
917726fecc | |||
49a5b4eb14 | |||
8946f3ea18 | |||
1947835c51 | |||
c7c537c8b8 | |||
4e2f954683 | |||
abb0184329 | |||
ee483ecfd3 | |||
99384b4c22 | |||
65503bc68d | |||
ec6aadb5ce | |||
5f642886d9 | |||
4c26e3c54d | |||
3ca3712bae | |||
a471e4b783 | |||
20ac7e62e9 | |||
3e61aa0835 | |||
c18f6fde80 | |||
8b9397a0ce | |||
678ff17d0f | |||
ea2016c208 | |||
b5bdf266d3 | |||
2309680c38 | |||
e99bf569c5 | |||
d3fd0f810a | |||
484dc9b08a | |||
3bd827d7da | |||
d425c72134 | |||
969cd16638 | |||
569be15705 | |||
03f54c5b02 | |||
06ddc8ec50 | |||
1528935008 | |||
7121bdef6b | |||
f6c376f20d | |||
241769d6fc | |||
7727651871 | |||
ce331826ac | |||
ae92c52d61 | |||
54aef5fe6f | |||
d22148b418 | |||
5dc75c9cea | |||
200e82decb | |||
50359dbaf4 | |||
7165f21a62 | |||
8aab828c65 | |||
c9f8c12f5b | |||
a347f8fa49 | |||
2d76bdd0f8 | |||
c5cdd56edb | |||
6901ab39ed | |||
b851b7f431 | |||
ccaa99115c | |||
813de15e85 | |||
fa33181fa9 | |||
d4324dc0cb | |||
ccc27bcc14 | |||
014c1673c6 | |||
3a3319ff52 | |||
5b54ec8fb5 | |||
e690556286 | |||
660956917f | |||
3a5201747b | |||
b338e8a83f | |||
5584d56b6a | |||
c925498120 | |||
75615cf503 | |||
39f708b0fc | |||
ac32077221 | |||
a5902acacd | |||
c7c08b7511 | |||
7de915d47b | |||
9107547501 | |||
95dc76ca19 | |||
49c2a9b372 | |||
b378cabfc7 | |||
4263dbef31 | |||
32fc6ae2eb | |||
238cb0077f | |||
f5a06b6494 | |||
2c01329085 | |||
502de89ab1 | |||
128de6750c | |||
e59e2d9f0b | |||
2504b8391b | |||
330ea7d210 | |||
1edd173a29 | |||
98d873a7f9 | |||
09175b84df | |||
177e19632a | |||
8e6207f3e9 | |||
ff3a97f6cf | |||
b8e155ab40 | |||
b8e7df198d | |||
34311e3181 | |||
46115d3f04 | |||
c1d25d2394 | |||
880cea5a56 | |||
e7205d9cc2 | |||
f456feb3ff | |||
3f83beedb7 | |||
e6c9b1d9bd | |||
b46114f4fa | |||
8d77e2ba22 | |||
cb3900921f | |||
ae2021583d | |||
36cd88e6b7 | |||
517b0908da | |||
b23b3e4d21 | |||
883fc5dde0 | |||
9d044329f6 | |||
d1e9e74cb8 | |||
98a87ee75f | |||
331491077d | |||
913c3a6636 | |||
fbaf5fe355 | |||
804c932f60 | |||
cef6d1d1b6 | |||
e4e7ab1135 | |||
6ca30df8c4 | |||
a340d4ed8e | |||
ca7cb94358 | |||
54779b25f5 | |||
44d7652171 | |||
c9ed15b682 | |||
8faad646ae | |||
1d50bc3382 | |||
da4af041af | |||
e2ff408f2f | |||
50d1500dfc | |||
94441f93a5 | |||
5f712fbf3c | |||
1c757f10e0 | |||
0508d5f643 | |||
d9986b7a2f | |||
3d79e7a136 | |||
52fb1237ec | |||
8a7197726e | |||
b7f5458684 | |||
52710f3810 | |||
a54de07260 | |||
aa2c8d101e | |||
1441fd93b9 | |||
4a585e8920 | |||
8c4245a09d | |||
e4af16989a | |||
5dc0944fe8 | |||
b4d24f4377 | |||
67be47b8db | |||
e382982d32 | |||
b09b74b5da | |||
c628bdb7a6 | |||
2fcf6fb0fd | |||
4f3fc9ffd0 | |||
15839a7399 | |||
26b3a14a63 | |||
f2f0799df1 | |||
6c99c32100 | |||
93d25a2a34 | |||
88f5ec59d7 | |||
586d3c4db7 | |||
f45fb56e15 | |||
8fe153c7c1 | |||
36a8720fbb | |||
9cbfdc94d9 | |||
091923764d | |||
dc39caed1e | |||
bcd7d1f007 | |||
40d4dc0474 | |||
02ac30c0d0 | |||
518bc92673 | |||
a5b92e316c | |||
828c7b66a0 | |||
93474eaa06 | |||
237f366aa2 | |||
714bcf28d5 | |||
420eeb4d68 | |||
bc6daf4a2e | |||
6f7832c09b | |||
bef67fa275 | |||
05d7198667 | |||
df0bfc14e5 | |||
3f28f7451f | |||
dbb9199d6f | |||
72cb3b03af | |||
d0085f00ed | |||
43734f027b | |||
f799375635 | |||
65704bbf01 | |||
9cb3882efa | |||
a0833ca691 | |||
a4f197f608 | |||
bb903cab40 | |||
92f765bc47 | |||
742889a035 | |||
24453ebcc3 | |||
8b8ab1bf5c | |||
e9bc9b8675 | |||
eeaa27c7ca | |||
ccea1755fc | |||
c32a5d602b | |||
2a04f2ca4d | |||
37c80e8ef5 | |||
1dce62e42a | |||
ec222378c4 | |||
ac930a1c6a | |||
5ccd5ad56e | |||
67da90530b | |||
b7f3753615 | |||
d21d38509c | |||
a59e1c0345 | |||
7ab613b394 | |||
c00ab0fbe2 | |||
87451b1223 | |||
d2b61229a3 | |||
980584020a | |||
a43d0dafa5 | |||
d5c1e7e579 | |||
55bdf0d618 | |||
44f7c13ad4 | |||
7bd1a3c8ac | |||
4f1981df03 | |||
8689a998aa | |||
079bb8d722 | |||
65c0b6c7da | |||
84958af4ce | |||
c53b59914b | |||
8ffd9ab2d9 | |||
0305caf504 | |||
3012e4ffe0 | |||
585f3c3d3e | |||
f1d07dfbed | |||
cddfc55110 | |||
a2ce072ae7 | |||
439563c5d6 | |||
962617b4f4 | |||
4a202f0f7e | |||
6e6b12519a | |||
f5f7654f4b | |||
5ac4c48ad1 | |||
7e18fd18b0 | |||
fb30c479ea | |||
f40dcbfe13 | |||
8755b5f353 | |||
691482bb28 | |||
4248bb8ce0 | |||
a5653e33d3 | |||
072dc1c7e6 | |||
d76fceae85 | |||
86107b2710 | |||
a473768bef | |||
f7fe13a177 | |||
acd29d22eb | |||
c228155514 | |||
b601b98d5c | |||
1cd3419688 | |||
6f5f233bb5 | |||
d33492cd49 | |||
83ad9f369f | |||
3a78b62520 | |||
2479f75d8a | |||
f0d187f71e | |||
056942391a | |||
2feef81516 | |||
037d4b581b | |||
da4cf6fdb4 | |||
848bcd5a63 | |||
7b60b6c6dc | |||
fbc801d1da | |||
2f18f82e3d | |||
c2d5a96bb6 | |||
46575d4f04 | |||
5e7be93980 | |||
3f749c6540 | |||
2a7d4ee866 | |||
083095ded6 | |||
7207663f37 | |||
66b49c909a | |||
ab469aa243 | |||
afa4563e1e | |||
320b3d8617 | |||
7493429b4d | |||
d70f7a717b | |||
4ab38b7894 | |||
2068407be0 | |||
10a7369fec |
@ -1,3 +0,0 @@
|
||||
.[]
|
||||
.head
|
||||
.label
|
@ -1,2 +0,0 @@
|
||||
.links
|
||||
.next
|
@ -1,39 +0,0 @@
|
||||
(
|
||||
.data |
|
||||
map(
|
||||
select(
|
||||
.relationships
|
||||
.currently_entitled_tiers
|
||||
.data[]
|
||||
)
|
||||
) |
|
||||
map(
|
||||
.relationships
|
||||
.user
|
||||
.data
|
||||
.id
|
||||
)
|
||||
) as $data |
|
||||
.included |
|
||||
map(
|
||||
select(
|
||||
.id as $id |
|
||||
$data |
|
||||
contains(
|
||||
[
|
||||
$id
|
||||
]
|
||||
)
|
||||
)
|
||||
) |
|
||||
map(
|
||||
.attributes |
|
||||
[
|
||||
.full_name,
|
||||
.thumb_url,
|
||||
.url
|
||||
] |
|
||||
@tsv
|
||||
) |
|
||||
.[] |
|
||||
@text
|
@ -1,87 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# __MISSKEY_BEARER_TOKEN=
|
||||
# __MISSKEY_CAMPAIGN_ID=
|
||||
# __MISSKEY_GITHUB_TOKEN=
|
||||
# __MISSKEY_HEAD=syuilo:patch-autogen
|
||||
# __MISSKEY_REPO=syuilo/misskey
|
||||
# __MISSKEY_BRANCH=develop
|
||||
test "$(curl -LSs -w '\n' -- "https://api.github.com/repos/$REPO/pulls?access_token=$__MISSKEY_GITHUB_TOKEN" | jq -r -f check_pr.jq | grep $__MISSKEY_HEAD)" && exit 1
|
||||
cd "$(dirname $0)/.." && \
|
||||
touch null.cache && \
|
||||
rm *.cache && \
|
||||
git checkout $__MISSKEY_BRANCH && \
|
||||
git pull origin $__MISSKEY_BRANCH && \
|
||||
git pull upstream $__MISSKEY_BRANCH && \
|
||||
git stash && \
|
||||
git rebase -f upstream/$__MISSKEY_BRANCH && \
|
||||
git branch patch-autogen && \
|
||||
git checkout patch-autogen && \
|
||||
git reset --hard HEAD || \
|
||||
exit 1
|
||||
touch patreon.md.cache && \
|
||||
rm patreon.md.cache && \
|
||||
echo '<!-- PATREON_START -->' > patreon.md.cache && \
|
||||
url="https://www.patreon.com/api/oauth2/v2/campaigns/$__MISSKEY_CAMPAIGN_ID/members?include=currently_entitled_tiers,user&fields%5Btier%5D=title&fields%5Buser%5D=full_name,thumb_url,url,hide_pledges"
|
||||
while :
|
||||
do
|
||||
touch patreon.raw.cache && \
|
||||
rm patreon.raw.cache && \
|
||||
curl -LSs -w '\n' -H "Authorization: Bearer $__MISSKEY_BEARER_TOKEN" -- $url > patreon.raw.cache && \
|
||||
touch patreon.cache && \
|
||||
rm patreon.cache && \
|
||||
cat patreon.raw.cache | \
|
||||
jq -r -f patreon.jq >> patreon.cache && \
|
||||
echo '<table><tr>' >> patreon.md.cache && \
|
||||
cat patreon.cache | \
|
||||
awk -F'\t' '{print $2,$1}' | \
|
||||
sed -e 's/ /\\" alt=\\"/' | \
|
||||
xargs -I% echo '<td><img src="%" width="100"></td>' >> patreon.md.cache && \
|
||||
echo '</tr><tr>' >> patreon.md.cache && \
|
||||
cat patreon.cache | \
|
||||
awk -F'\t' '{print $3,$1}' | \
|
||||
sed -e 's/ /\\">/' | \
|
||||
xargs -I% echo '<td><a href="%</a></td>' >> patreon.md.cache && \
|
||||
echo '</tr></table>' >> patreon.md.cache || \
|
||||
exit 1
|
||||
new_url="$(cat patreon.raw.cache | jq -r -f next_url.jq)"
|
||||
test "$new_url" = 'null' && \
|
||||
break || \
|
||||
URL="$url"
|
||||
done
|
||||
ignore= && \
|
||||
echo -e "\n**Last updated:** $(date -uR | sed 's/\+0000/UTC/')\n<!-- PATREON_END -->" >> patreon.md.cache && \
|
||||
touch README.md && \
|
||||
touch .autogen/README.md && \
|
||||
rm .autogen/README.md && \
|
||||
mv README.md .autogen/README.md && \
|
||||
cat .autogen/README.md | while IFS= read line;
|
||||
do
|
||||
if [[ -z "$ignore" ]]
|
||||
then
|
||||
if [[ "$line" = '<!-- PATREON_START -->' ]]
|
||||
then
|
||||
ignore='PATREON_INSIDE'
|
||||
else
|
||||
echo "$line" >> README.md
|
||||
fi
|
||||
else
|
||||
if [[ "$LINE" = '<!-- PATREON_END -->' ]]
|
||||
then
|
||||
ignore=
|
||||
cat patreon.md.cache >> README.md
|
||||
fi
|
||||
fi
|
||||
done
|
||||
cat patreon.md.cache
|
||||
touch null.cache && \
|
||||
rm *.cache && \
|
||||
diff .autogen/README.md README.md > diff.cache
|
||||
cat diff.cache && \
|
||||
test 4 -lt $(cat diff.cache | wc -l) && \
|
||||
git add README.md && \
|
||||
git commit -m 'Update README.md [AUTOGEN]' && \
|
||||
git push -f origin patch-autogen && \
|
||||
curl -LSs -w '\n' -X POST -d '{"title":"[AUTOMATED] Update README.md","body":"*This pull request was created by a tool.*","head":"'$__MISSKEY_HEAD'","base":"'$__MISSKEY_BRANCH'"}' -- "https://api.github.com/repos/$__MISSKEY_REPO/pulls?access_token=$__MISSKEY_GITHUB_TOKEN"
|
||||
git stash
|
||||
git checkout $__MISSKEY_BRANCH
|
||||
git branch -D patch-autogen
|
@ -1,48 +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
|
||||
- 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 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
|
@ -88,7 +88,9 @@ redis:
|
||||
#elasticsearch:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# pass: null
|
||||
# ssl: false
|
||||
# user:
|
||||
# pass:
|
||||
|
||||
# ┌───────────────┐
|
||||
#───┘ ID generation └───────────────────────────────────────────
|
||||
@ -140,6 +142,11 @@ id: 'aid'
|
||||
# Proxy for HTTP/HTTPS
|
||||
#proxy: http://127.0.0.1:3128
|
||||
|
||||
#proxyBypassHosts: [
|
||||
# 'example.com',
|
||||
# '192.0.2.8'
|
||||
#]
|
||||
|
||||
# Proxy for SMTP/SMTPS
|
||||
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
|
||||
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
|
||||
@ -147,3 +154,13 @@ id: 'aid'
|
||||
|
||||
# Media Proxy
|
||||
#mediaProxy: https://example.com/proxy
|
||||
|
||||
# Sign to ActivityPub GET request (default: false)
|
||||
#signToActivityPubGet: true
|
||||
|
||||
#allowedPrivateNetworks: [
|
||||
# '127.0.0.1/32'
|
||||
#]
|
||||
|
||||
# Upload or download file size limits (bytes)
|
||||
#maxFileSize: 262144000
|
||||
|
@ -1,12 +1,15 @@
|
||||
.autogen
|
||||
.git
|
||||
.github
|
||||
.travis
|
||||
.vscode
|
||||
.config
|
||||
Dockerfile
|
||||
build/
|
||||
built/
|
||||
db/
|
||||
docker-compose.yml
|
||||
elasticsearch/
|
||||
node_modules/
|
||||
redis/
|
||||
files/
|
||||
misskey-assets/
|
||||
|
31
.eslintrc
31
.eslintrc
@ -1,31 +0,0 @@
|
||||
{
|
||||
"parserOptions": {
|
||||
"parser": "@typescript-eslint/parser"
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:vue/recommended"
|
||||
],
|
||||
"rules": {
|
||||
"vue/require-v-for-key": 0,
|
||||
"vue/max-attributes-per-line": 0,
|
||||
"vue/html-indent": 0,
|
||||
"vue/html-self-closing": 0,
|
||||
"vue/no-unused-vars": 0,
|
||||
"vue/attributes-order": 0,
|
||||
"vue/require-prop-types": 0,
|
||||
"vue/require-default-prop": 0,
|
||||
"vue/html-closing-bracket-spacing": 0,
|
||||
"vue/singleline-html-element-content-newline": 0,
|
||||
"vue/no-v-html": 0,
|
||||
"no-console": 0,
|
||||
"no-unused-vars": 0,
|
||||
"no-empty": 0
|
||||
},
|
||||
"globals": {
|
||||
"ENV": true,
|
||||
"VERSION": true,
|
||||
"API": true,
|
||||
"LANGS": true
|
||||
}
|
||||
}
|
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
|
5
.github/ISSUE_TEMPLATE/01_bug-report.md
vendored
5
.github/ISSUE_TEMPLATE/01_bug-report.md
vendored
@ -7,6 +7,11 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
Thanks for reporting!
|
||||
First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported.
|
||||
-->
|
||||
|
||||
## 💡 Summary
|
||||
|
||||
<!-- Tell us what the bug is -->
|
||||
|
7
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
7
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
contact_links:
|
||||
- name: 👪 Misskey Forum
|
||||
url: https://forum.misskey.io/
|
||||
about: Ask questions and share knowledge
|
||||
- name: 💬 Misskey official Discord
|
||||
url: https://discord.gg/Wp8gVStHW3
|
||||
about: Chat freely about Misskey
|
31
.github/PULL_REQUEST_TEMPLATE.md
vendored
31
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,13 +1,20 @@
|
||||
## Summary
|
||||
<!-- ℹ お読みください
|
||||
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||
-->
|
||||
<!-- ℹ README
|
||||
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||
https://github.com/misskey-dev/misskey/blob/develop/docs/CONTRIBUTING.en.md
|
||||
-->
|
||||
|
||||
<!--
|
||||
-
|
||||
- * Please describe your changes here *
|
||||
-
|
||||
- If you are going to resolve some issue, please add this context.
|
||||
- Resolve #ISSUE_NUMBER
|
||||
-
|
||||
- If you are going to fix some bug issue, please add this context.
|
||||
- Fix #ISSUE_NUMBER
|
||||
-
|
||||
-->
|
||||
# What
|
||||
<!-- このPRで何をしたのか? どう変わるのか? -->
|
||||
<!-- What did you do with this PR? How will it change things? -->
|
||||
|
||||
# Why
|
||||
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
||||
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
||||
|
||||
# Additional info (optional)
|
||||
<!-- テスト観点など -->
|
||||
<!-- Test perspective, etc -->
|
||||
|
11
.github/dependabot.yml
vendored
Normal file
11
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
# To get started with Dependabot version updates, you'll need to specify which
|
||||
# package ecosystems to update and where the package manifests are located.
|
||||
# Please see the documentation for all configuration options:
|
||||
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "npm" # See documentation for possible values
|
||||
directory: "/" # Location of package manifests
|
||||
schedule:
|
||||
interval: "daily"
|
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
|
33
.github/workflows/docker-develop.yml
vendored
Normal file
33
.github/workflows/docker-develop.yml
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
name: Publish Docker image (develop)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- develop
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
push_to_registry:
|
||||
name: Push Docker image to Docker Hub
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v2
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
images: misskey/misskey
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
- name: Build and Push to Docker Hub
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: misskey/misskey:develop
|
||||
labels: develop
|
38
.github/workflows/docker.yml
vendored
38
.github/workflows/docker.yml
vendored
@ -1,18 +1,32 @@
|
||||
name: Docker build
|
||||
name: Publish Docker image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
release:
|
||||
types: [published]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
push_to_registry:
|
||||
name: Push Docker image to Docker Hub
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Pull previous build result (for cache)
|
||||
run: docker pull misskey/misskey:latest
|
||||
- name: Build docker container
|
||||
run: docker build --cache-from misskey/misskey:latest -t misskey/misskey .
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v2
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
images: misskey/misskey
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
- name: Build and Push to Docker Hub
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
|
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
|
42
.github/workflows/nodejs.yml
vendored
42
.github/workflows/nodejs.yml
vendored
@ -1,42 +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: [11.10.x, 12.x]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:10-alpine
|
||||
ports:
|
||||
- 5432:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
redis:
|
||||
image: redis:alpine
|
||||
ports:
|
||||
- 6379:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- 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: Copy Configure
|
||||
run: cp .circleci/misskey/*.yml .config
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Test
|
||||
run: yarn test
|
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
|
10
.gitignore
vendored
10
.gitignore
vendored
@ -6,17 +6,21 @@
|
||||
/.idea
|
||||
|
||||
# Node.js
|
||||
/node_modules
|
||||
node_modules
|
||||
report.*.json
|
||||
|
||||
# Cypress
|
||||
cypress/screenshots
|
||||
cypress/videos
|
||||
|
||||
# config
|
||||
/.config/*
|
||||
!/.config/example.yml
|
||||
!/.config/mongo_initdb_example.js
|
||||
!/.config/docker_example.env
|
||||
|
||||
# misskey
|
||||
/build
|
||||
/built
|
||||
built
|
||||
/data
|
||||
/.cache-loader
|
||||
/db
|
||||
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "misskey-assets"]
|
||||
path = misskey-assets
|
||||
url = https://github.com/misskey-dev/assets.git
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"ignoredFiles": [
|
||||
"test/resources/*"
|
||||
]
|
||||
}
|
@ -1 +1 @@
|
||||
v12.11.1
|
||||
v16.6.2
|
||||
|
7
.vscode/extensions.json
vendored
7
.vscode/extensions.json
vendored
@ -1,12 +1,9 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"ducksoupdev.vue2",
|
||||
"editorconfig.editorconfig",
|
||||
"eg2.vscode-npm-script",
|
||||
"hollowtree.vue-snippets",
|
||||
"ms-vscode.typescript-javascript-grammar",
|
||||
"ms-vscode.vscode-typescript-tslint-plugin",
|
||||
"octref.vetur",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"johnsoncodehk.volar",
|
||||
"sysoev.language-stylus"
|
||||
]
|
||||
}
|
||||
|
2249
CHANGELOG.md
2249
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
244
CONTRIBUTING.md
244
CONTRIBUTING.md
@ -1,16 +1,43 @@
|
||||
# Contribution guide
|
||||
:v: Thanks for your contributions :v:
|
||||
We're glad you're interested in contributing Misskey! In this document you will find the information you need to contribute to the project.
|
||||
|
||||
**ℹ️ Important:** This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
|
||||
Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
|
||||
The accuracy of translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
|
||||
It will also allow the reader to use the translation tool of their preference if necessary.
|
||||
|
||||
## Issues
|
||||
Feature suggestions and bug reports are filed in https://github.com/syuilo/misskey/issues .
|
||||
Before creating an issue, please check the following:
|
||||
- To avoid duplication, please search for similar issues before creating a new issue.
|
||||
- Do not use Issues to ask questions or troubleshooting.
|
||||
- Issues should only be used to feature requests, suggestions, and bug tracking.
|
||||
- Please ask questions or troubleshooting in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
|
||||
|
||||
* Please search existing issues to avoid duplication. If your issue is already filed, please add your reaction or comment to the existing one.
|
||||
* If you have multiple independent issues, please submit them separately.
|
||||
## Before implementation
|
||||
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
|
||||
|
||||
## Branches
|
||||
* **master** branch is tracking the latest release and used for production purposes.
|
||||
* **develop** branch is where we work for the next release.
|
||||
* **l10n_develop** branch is reserved for localization management.
|
||||
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
|
||||
|
||||
## Well-known branches
|
||||
- **`master`** branch is tracking the latest release and used for production purposes.
|
||||
- **`develop`** branch is where we work for the next release.
|
||||
- When you create a PR, basically target it to this branch.
|
||||
- **`l10n_develop`** branch is reserved for localization management.
|
||||
|
||||
## Creating a PR
|
||||
Thank you for your PR! Before creating a PR, please check the following:
|
||||
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
|
||||
- `fix` / `refactor` / `feat` / `enhance` / `perf` / `chore` etc
|
||||
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
|
||||
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text.
|
||||
- Please add the summary of the changes to [`CHANGELOG.md`](/CHANGELOG.md). However, this is not necessary for changes that do not affect the users, such as refactoring.
|
||||
- Check if there are any documents that need to be created or updated due to this change.
|
||||
- If you have added a feature or fixed a bug, please add a test case if possible.
|
||||
- Please make sure that tests and Lint are passed in advance.
|
||||
- You can run it with `npm run test` and `npm run lint`. [See more info](#testing)
|
||||
- If this PR includes UI changes, please attach a screenshot in the text.
|
||||
|
||||
Thanks for your cooperation 🤗
|
||||
|
||||
## Localization (l10n)
|
||||
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
|
||||
@ -22,21 +49,46 @@ If your language is not listed in Crowdin, please open an issue.
|
||||
|
||||

|
||||
|
||||
## Internationalization (i18n)
|
||||
Misskey uses the Vue.js plugin [Vue I18n](https://github.com/kazupon/vue-i18n).
|
||||
Documentation of Vue I18n is available at http://kazupon.github.io/vue-i18n/introduction.html .
|
||||
## Development
|
||||
During development, it is useful to use the `npm run dev` command.
|
||||
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.
|
||||
|
||||
## Documentation
|
||||
* Documents for contributors are located in [`/docs`](/docs).
|
||||
* Documents for instance admins are located in [`/docs`](/docs).
|
||||
* Documents for end users are located in [`/src/docs`](/src/docs).
|
||||
## Testing
|
||||
- Test codes are located in [`/test`](/test).
|
||||
|
||||
## Test
|
||||
* Test codes are located in [`/test`](/test).
|
||||
### Run test
|
||||
Create a config file.
|
||||
```
|
||||
cp test/test.yml .config/
|
||||
```
|
||||
Prepare DB/Redis for testing.
|
||||
```
|
||||
docker-compose -f test/docker-compose.yml up
|
||||
```
|
||||
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
|
||||
|
||||
Run all test.
|
||||
```
|
||||
npm run test
|
||||
```
|
||||
|
||||
#### Run specify test
|
||||
```
|
||||
npx cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT="./test/tsconfig.json" npx mocha test/foo.ts --require ts-node/register
|
||||
```
|
||||
|
||||
### e2e tests
|
||||
TODO
|
||||
|
||||
## Continuous integration
|
||||
Misskey uses CircleCI for executing automated tests.
|
||||
Configuration files are located in [`/.circleci`](/.circleci).
|
||||
Misskey uses GitHub Actions for executing automated tests.
|
||||
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
|
||||
* Use English for material, object and texture names.
|
||||
@ -44,121 +96,16 @@ Configuration files are located in [`/.circleci`](/.circleci).
|
||||
* Your PR should include all source files (e.g. `.png`, `.blend`) of your models (for later editing).
|
||||
* Your PR must include the glTF binary files (`.glb`) of your models.
|
||||
* Add a locale key `room.furnitures.YOUR_ITEM` at [`/locales/ja-JP.yml`](/locales/ja-JP.yml).
|
||||
* Add a furniture definition at [`/src/client/app/common/scripts/room/furnitures.json5`](/src/client/app/common/scripts/room/furnitures.json5).
|
||||
* Add a furniture definition at [`src/client/scripts/room/furnitures.json5`](src/client/scripts/room/furnitures.json5).
|
||||
|
||||
If you have no experience on 3D modeling, we suggest to use the free 3DCG software [Blender](https://www.blender.org/).
|
||||
You can find information on glTF 2.0 at [glTF 2.0 — Blender Manual]( https://docs.blender.org/manual/en/dev/addons/io_scene_gltf2.html).
|
||||
|
||||
## FAQ
|
||||
## Notes
|
||||
### How to resolve conflictions occurred at yarn.lock?
|
||||
|
||||
Just execute `yarn` to fix it.
|
||||
|
||||
## Glossary
|
||||
### AP
|
||||
Stands for _**A**ctivity**P**ub_.
|
||||
|
||||
### MFM
|
||||
Stands for _**M**isskey **F**lavored **M**arkdown_.
|
||||
|
||||
### Mk
|
||||
Stands for _**M**iss**k**ey_.
|
||||
|
||||
### SW
|
||||
Stands for _**S**ervice**W**orker_.
|
||||
|
||||
### Nyaize
|
||||
Convert な(na) to にゃ(nya)
|
||||
|
||||
#### Denyaize
|
||||
Revert Nyaize
|
||||
|
||||
## TypeScript Coding Style
|
||||
### Do not omit semicolons
|
||||
This is to avoid Automatic Semicolon Insertion (ASI) hazard.
|
||||
|
||||
Ref:
|
||||
* https://www.ecma-international.org/ecma-262/#sec-automatic-semicolon-insertion
|
||||
* https://github.com/tc39/ecma262/pull/1062
|
||||
|
||||
### Do not omit curly brackets
|
||||
Bad:
|
||||
``` ts
|
||||
if (foo)
|
||||
bar;
|
||||
else
|
||||
baz;
|
||||
```
|
||||
|
||||
Good:
|
||||
``` ts
|
||||
if (foo) {
|
||||
bar;
|
||||
} else {
|
||||
baz;
|
||||
}
|
||||
```
|
||||
|
||||
As a special case, you can omit the curly brackets if
|
||||
|
||||
* the body of the `if`-statement have only one statement and,
|
||||
* the `if`-statement does not have `else`-clause.
|
||||
|
||||
Good:
|
||||
``` ts
|
||||
if (foo) bar;
|
||||
```
|
||||
|
||||
Make sure that the condition and the body statement are on the same line.
|
||||
|
||||
### Do not use `==` when it can simply be replaced with `===`.
|
||||
🥰
|
||||
|
||||
### Use only boolean (or null related) values in the condition of an `if`-statement.
|
||||
Bad:
|
||||
``` ts
|
||||
if (foo.length)
|
||||
```
|
||||
|
||||
Good:
|
||||
``` ts
|
||||
if (foo.length > 0)
|
||||
```
|
||||
|
||||
### Do not use `export default`
|
||||
This is because the current language support does not work well with `export default`.
|
||||
|
||||
Ref:
|
||||
* https://basarat.gitbooks.io/typescript/docs/tips/defaultIsBad.html
|
||||
* https://gfx.hatenablog.com/entry/2017/11/24/135343
|
||||
|
||||
Bad:
|
||||
``` ts
|
||||
export default function(foo: string): string {
|
||||
```
|
||||
|
||||
Good:
|
||||
``` ts
|
||||
export function something(foo: string): string {
|
||||
```
|
||||
|
||||
## Directory structure
|
||||
```
|
||||
src ... Source code
|
||||
@types ... Type definitions
|
||||
prelude ... Independence utils for coding JavaScript without side effects
|
||||
misc ... Independence utils for Misskey without side effects
|
||||
service ... Common functions with side effects
|
||||
queue ... Job queues and Jobs
|
||||
server ... Web Server
|
||||
client ... Client
|
||||
mfm ... MFM
|
||||
|
||||
test ... Test code
|
||||
|
||||
```
|
||||
|
||||
## Notes
|
||||
### placeholder
|
||||
SQLをクエリビルダで組み立てる際、使用するプレースホルダは重複してはならない
|
||||
例えば
|
||||
@ -230,47 +177,30 @@ const users = userIds.length > 0 ? await Users.find({
|
||||
SQLでは配列のインデックスは**1始まり**。
|
||||
`[a, b, c]`の `a`にアクセスしたいなら`[0]`ではなく`[1]`と書く
|
||||
|
||||
### null IN
|
||||
nullが含まれる可能性のあるカラムにINするときは、そのままだとおかしくなるのでORなどでnullのハンドリングをしよう。
|
||||
|
||||
### `undefined`にご用心
|
||||
MongoDBの時とは違い、findOneでレコードを取得する時に対象レコードが存在しない場合 **`undefined`** が返ってくるので注意。
|
||||
MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`とか書くとバグる。代わりに`if (x == null)`と書いてください
|
||||
|
||||
### 簡素な`undefined`チェック
|
||||
データベースからレコードを取得するときに、プログラムの流れ的に(ほぼ)絶対`undefined`にはならない場合でも、`undefined`チェックしないとTypeScriptに怒られます。
|
||||
でもいちいち複数行を費やして、発生するはずのない`undefined`をチェックするのも面倒なので、`ensure`というユーティリティ関数を用意しています。
|
||||
例えば、
|
||||
``` ts
|
||||
const user = await Users.findOne(userId);
|
||||
// この時点で user の型は User | undefined
|
||||
if (user == null) {
|
||||
throw 'missing user';
|
||||
}
|
||||
// この時点で user の型は User
|
||||
```
|
||||
という処理を`ensure`を使うと
|
||||
``` ts
|
||||
const user = await Users.findOne(userId).then(ensure);
|
||||
// この時点で user の型は User
|
||||
```
|
||||
という風に書けます。
|
||||
もちろん`ensure`内部でエラーを握りつぶすようなことはしておらず、万が一`undefined`だった場合はPromiseがRejectされ後続の処理は実行されません。
|
||||
``` ts
|
||||
const user = await Users.findOne(userId).then(ensure);
|
||||
// 万が一 Users.findOne の結果が undefined だったら、ensure でエラーが発生するので
|
||||
// この行に到達することは無い
|
||||
// なので、.then(ensure) は
|
||||
// if (user == null) {
|
||||
// throw 'missing user';
|
||||
// }
|
||||
// の糖衣構文のような扱いです
|
||||
```
|
||||
|
||||
### Migration作成方法
|
||||
```
|
||||
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前
|
||||
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前 -o
|
||||
```
|
||||
|
||||
作成されたスクリプトは不必要な変更を含むため除去してください。
|
||||
|
||||
### コネクションには`markRaw`せよ
|
||||
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
|
||||
|
||||
### JSONのimportに気を付けよう
|
||||
TypeScriptでjsonをimportすると、tscでコンパイルするときにそのjsonファイルも一緒にdistディレクトリに吐き出されてしまう。この挙動により、意図せずファイルの書き換えが発生することがあるので、jsonをimportするときは書き換えられても良いものかどうか確認すること。書き換えされて欲しくない場合は、importで読み込むのではなく、`fs.readFileSync`などの関数を使って読み込むようにすればよい。
|
||||
|
||||
### コンポーネントのスタイル定義でmarginを持たせない
|
||||
コンポーネント自身がmarginを設定するのは問題の元となることはよく知られている
|
||||
marginはそのコンポーネントを使う側が設定する
|
||||
|
||||
## その他
|
||||
### HTMLのクラス名で follow という単語は使わない
|
||||
広告ブロッカーで誤ってブロックされる
|
||||
|
8
COPYING
8
COPYING
@ -6,10 +6,10 @@ And is distributed under The GNU Affero General Public License Version 3, you sh
|
||||
|
||||
Misskey includes several third-party Open-Source softwares.
|
||||
|
||||
Unicode emoji regular expressions by Twitter, Inc.
|
||||
License: MIT
|
||||
https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md
|
||||
|
||||
Emoji keywords for Unicode 11 and below by Mu-An Chiou
|
||||
License: MIT
|
||||
https://github.com/muan/emojilib/blob/master/LICENSE
|
||||
|
||||
RsaSignature2017 implementation by Transmute Industries Inc
|
||||
License: MIT
|
||||
https://github.com/transmute-industries/RsaSignature2017/blob/master/LICENSE
|
||||
|
35
Dockerfile
35
Dockerfile
@ -1,42 +1,35 @@
|
||||
FROM node:12.11.1-alpine AS base
|
||||
FROM node:16.6.2-alpine3.13 AS base
|
||||
|
||||
ENV NODE_ENV=production
|
||||
|
||||
RUN npm i -g npm@latest
|
||||
|
||||
WORKDIR /misskey
|
||||
|
||||
ENV BUILD_DEPS autoconf automake file g++ gcc libc-dev libtool make nasm pkgconfig python3 zlib-dev git
|
||||
|
||||
FROM base AS builder
|
||||
|
||||
RUN apk add --no-cache \
|
||||
autoconf \
|
||||
automake \
|
||||
file \
|
||||
g++ \
|
||||
gcc \
|
||||
libc-dev \
|
||||
libtool \
|
||||
make \
|
||||
nasm \
|
||||
pkgconfig \
|
||||
python \
|
||||
zlib-dev
|
||||
|
||||
COPY package.json ./
|
||||
RUN yarn install
|
||||
COPY . ./
|
||||
RUN yarn build
|
||||
|
||||
RUN apk add --no-cache $BUILD_DEPS && \
|
||||
git submodule update --init && \
|
||||
yarn install && \
|
||||
yarn build && \
|
||||
rm -rf .git
|
||||
|
||||
FROM base AS runner
|
||||
|
||||
RUN apk add --no-cache \
|
||||
ffmpeg \
|
||||
tini
|
||||
RUN npm i -g web-push
|
||||
|
||||
ENTRYPOINT ["/sbin/tini", "--"]
|
||||
|
||||
COPY --from=builder /misskey/node_modules ./node_modules
|
||||
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 . ./
|
||||
|
||||
CMD ["npm", "run", "migrateandstart"]
|
||||
|
||||
|
255
README.md
255
README.md
@ -1,196 +1,159 @@
|
||||
<a href="https://xn--931a.moe/"><img src="https://github.com/syuilo/misskey/blob/develop/assets/ai-orig.png?raw=true" align="right" height="320px"/></a>
|
||||
[](https://join.misskey.page/)
|
||||
|
||||
[](https://join.misskey.page/)
|
||||
================================================================
|
||||
<div align="center">
|
||||
|
||||
[](https://circleci.com/gh/syuilo/misskey)
|
||||
[](https://david-dm.org/syuilo/misskey)
|
||||
[](http://makeapullrequest.com)
|
||||
**🌎 A forever evolving, interplanetary microblogging platform. 🚀**
|
||||
|
||||
**A forever evolving, sophisticated microblogging platform.**
|
||||
**Misskey** is a distributed microblogging platform with advanced features such as Reactions and a highly customizable UI.
|
||||
|
||||
<p align="justify">
|
||||
<a href="https://join.misskey.page/">Misskey</a> is a decentralized microblogging platform born on Earth.
|
||||
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>
|
||||
</p>
|
||||
[Learn more](https://misskey-hub.net/)
|
||||
|
||||
---
|
||||
|
||||
[✨ 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>
|
||||
|
||||

|
||||
</div>
|
||||
|
||||
:sparkles: Features
|
||||
----------------------------------------------------------------
|
||||
<div>
|
||||
|
||||
<img src="/assets/about/post.png" align="left" height="200px"/>
|
||||
<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>
|
||||
|
||||
<h3 align="left">Posting</h3>
|
||||
<p align="justify">
|
||||
Post your ideas, discussion topics, fun moments, or anything else you want to share! Misskey supports text, emoji, pictures, videos, and polls!
|
||||
</p>
|
||||
## ✨ 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>
|
||||
|
||||
<img src="/assets/about/reaction.png" align="right" height="200px"/>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<h3 align="right">Reactions</h3>
|
||||
<p align="justify">
|
||||
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>
|
||||
## Sponsors
|
||||
<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>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<img src="/assets/about/ui.png" align="left" height="200px"/>
|
||||
|
||||
<h3 align="left">Interface</h3>
|
||||
<p align="justify">
|
||||
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>
|
||||
|
||||
---
|
||||
|
||||
<img src="/assets/about/drive.png" align="right" width="300px"/>
|
||||
|
||||
<h3 align="right">Misskey Drive</h3>
|
||||
<p align="justify">
|
||||
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! Experience Misskey with your own eyes at [misskey.io](https://misskey.io/) or join one of the [other instances](https://joinmisskey.github.io/) that are available.
|
||||
|
||||
Screen shots
|
||||
----------------------------------------------------------------
|
||||
### Profile page
|
||||
<img src="/assets/ss/user.jpg" width="500px"/>
|
||||
|
||||
### Explore users
|
||||
<img src="/assets/ss/explore.jpg" width="500px"/>
|
||||
|
||||
:new: What's new
|
||||
----------------------------------------------------------------
|
||||
Please see the [Release notes](./CHANGELOG.md).
|
||||
|
||||
:package: Create your own instance
|
||||
----------------------------------------------------------------
|
||||
Please see the [Setup and Installation Guide](./docs/setup.en.md).
|
||||
|
||||
: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>
|
||||
</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>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
:heart: Backers
|
||||
----------------------------------------------------------------
|
||||
## Backers
|
||||
<!-- PATREON_START -->
|
||||
<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>
|
||||
<td><img src="https://c8.patreon.com/2/200/27956229" alt="Oliver Maximilian Seidel" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/3.png?token-time=2145916800&token-hash=oH_i7gJjNT7Ot6j9JiVwy7ZJIBqACVnzLqlz4YrDAZA%3D" alt="weepjp" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/605366/c9dc408fdcbf412fb183ca5b06235f8d/1.jpeg?token-time=2145916800&token-hash=oaqsjLqOFjWN5I9hm2epOaTXaEtKwQUy5OW-EpAz6-g%3D" alt="Jon Leibowitz" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19045173/cb91c0f345c24d4ebfd05f19906d5e26/1.png?token-time=2145916800&token-hash=o_zKBytJs_AxHwSYw_5R8eD0eSJe3RoTR3kR3Q0syN0%3D" alt="kiritan" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/3.png?token-time=2145916800&token-hash=oH_i7gJjNT7Ot6j9JiVwy7ZJIBqACVnzLqlz4YrDAZA%3D" alt="weepjp " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19045173/cb91c0f345c24d4ebfd05f19906d5e26/1.png?token-time=2145916800&token-hash=o_zKBytJs_AxHwSYw_5R8eD0eSJe3RoTR3kR3Q0syN0%3D" alt="kiritan " width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/27648259" alt="みなしま " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24430516/b1964ac5b9f746d2a12ff53dbc9aa40a/1.jpg?token-time=2145916800&token-hash=bmEiMGYpp3bS7hCCbymjGGsHBZM3AXuBOFO3Kro37PU%3D" alt="Eduardo Quiros" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/14215107/1cbe1912c26143919fa0faca16f12ce1/3.png?token-time=2145916800&token-hash=Zq1TCK2tdY7xudEm_aV70bc_wxmol6pNj3ZWbpFUNbI%3D" alt="Nesakko" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/776209" alt="Denshi" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/user?u=20832595">Roujo</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=20832595">Roujo </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=27956229">Oliver Maximilian Seidel</a></td>
|
||||
<td><a href="https://www.patreon.com/weepjp">weepjp</a></td>
|
||||
<td><a href="https://www.patreon.com/jonleibowitz">Jon Leibowitz</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=19045173">kiritan</a></td>
|
||||
<td><a href="https://www.patreon.com/weepjp">weepjp </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=19045173">kiritan </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=27648259">みなしま </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=24430516">Eduardo Quiros</a></td>
|
||||
<td><a href="https://www.patreon.com/Nesakko">Nesakko</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=776209">Denshi</a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/14215107/1cbe1912c26143919fa0faca16f12ce1/4.jpg?token-time=2145916800&token-hash=BslMqDjTjz8KYANLvxL87agHTugHa0dMPUzT-hwR6Vk%3D" alt="Nesakko" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/776209" alt="Demogrognard" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/3075183/c2ae575c604e420297f000ccc396e395/1.jpeg?token-time=2145916800&token-hash=O9qmPtpo6wWb0OuvnkEekhk_1WO2MTdytLr7ZgsAr80%3D" alt="Liaizon Wakest" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/557245" alt="mkatze" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/23915207/25428766ecd745478e600b3d7f871eb2/1.png?token-time=2145916800&token-hash=urCLLA4KjJZX92Y1CxcBP4d8bVTHGkiaPnQZp-Tqz68%3D" alt="kabo2468y" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8249688/4aacf36b6b244ab1bc6653591b6640df/2.png?token-time=2145916800&token-hash=1ZEf2w6L34253cZXS_HlVevLEENWS9QqrnxGUAYblPo%3D" alt="AureoleArk" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5670915/ee175f0bfb6347ffa4ea101a8c097bff/1.jpg?token-time=2145916800&token-hash=mPLM9CA-riFHx-myr3bLZJuH2xBRHA9se5VbHhLIOuA%3D" alt="osapon" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18899730/6a22797f68254034a854d69ea2445fc8/1.png?token-time=2145916800&token-hash=b_uj57yxo5VzkSOUS7oXE_762dyOTB_oxzbO6lFNG3k%3D" alt="YuzuRyo61" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5788159/af42076ab3354bb49803cfba65f94bee/1.jpg?token-time=2145916800&token-hash=iSaxp_Yr2-ZiU2YVi9rcpZZj9mj3UvNSMrZr4CU4qtA%3D" alt="mewl hayabusa" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1.png?token-time=2145916800&token-hash=9nEQje_eMvUjq9a7L3uBqW-MQbS-rRMaMgd7UYVoFNM%3D" alt="mydarkstar" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/28779508/3cd4cb7f017f4ee0864341e3464d42f9/1.png?token-time=2145916800&token-hash=eGQtR15be44kgvh8fw2Jx8Db4Bv15YBp2ldxh0EKRxA%3D" alt="S Y" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/557245" alt="mkatze " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/23915207/25428766ecd745478e600b3d7f871eb2/1.png?token-time=2145916800&token-hash=urCLLA4KjJZX92Y1CxcBP4d8bVTHGkiaPnQZp-Tqz68%3D" alt="kabo2468y " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8249688/4aacf36b6b244ab1bc6653591b6640df/2.png?token-time=2145916800&token-hash=1ZEf2w6L34253cZXS_HlVevLEENWS9QqrnxGUAYblPo%3D" alt="AureoleArk " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5670915/ee175f0bfb6347ffa4ea101a8c097bff/1.jpg?token-time=2145916800&token-hash=mPLM9CA-riFHx-myr3bLZJuH2xBRHA9se5VbHhLIOuA%3D" alt="osapon " width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/36813045/29876ea679d443bcbba3c3f16edab8c2/2.jpeg?token-time=2145916800&token-hash=YCKWnIhrV9rjUCV9KqtJnEqjy_uGYF3WMXftjUdpi7o%3D" alt="Wataru Manji (manji0)" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/Nesakko">Nesakko</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=776209">Demogrognard</a></td>
|
||||
<td><a href="https://www.patreon.com/wakest">Liaizon Wakest</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=557245">mkatze</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=23915207">kabo2468y</a></td>
|
||||
<td><a href="https://www.patreon.com/AureoleArk">AureoleArk</a></td>
|
||||
<td><a href="https://www.patreon.com/osapon">osapon</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ</a></td>
|
||||
<td><a href="https://www.patreon.com/Yuzulia">YuzuRyo61</a></td>
|
||||
<td><a href="https://www.patreon.com/hs_sh_net">mewl hayabusa</a></td>
|
||||
<td><a href="https://www.patreon.com/mydarkstar">mydarkstar</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=28779508">S Y</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=557245">mkatze </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=23915207">kabo2468y </a></td>
|
||||
<td><a href="https://www.patreon.com/AureoleArk">AureoleArk </a></td>
|
||||
<td><a href="https://www.patreon.com/osapon">osapon </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=36813045">Wataru Manji (manji0)</a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18899730/6a22797f68254034a854d69ea2445fc8/1.png?token-time=2145916800&token-hash=b_uj57yxo5VzkSOUS7oXE_762dyOTB_oxzbO6lFNG3k%3D" alt="YuzuRyo61 " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5788159/af42076ab3354bb49803cfba65f94bee/1.jpg?token-time=2145916800&token-hash=iSaxp_Yr2-ZiU2YVi9rcpZZj9mj3UvNSMrZr4CU4qtA%3D" alt="mewl hayabusa" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/28779508/3cd4cb7f017f4ee0864341e3464d42f9/1.png?token-time=2145916800&token-hash=eGQtR15be44kgvh8fw2Jx8Db4Bv15YBp2ldxh0EKRxA%3D" alt="S Y" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/16542964" alt="Takumi Sugita" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/17866454" alt="sikyosyounin" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/17866454" alt="sikyosyounin " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3.png?token-time=2145916800&token-hash=KjfQL8nf3AIf6WqzLshBYAyX44piAqOAZiYXgZS_H6A%3D" alt="YUKIMOCHI" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26340354/08834cf767b3449e93098ef73a434e2f/2.png?token-time=2145916800&token-hash=nyM8DnKRL8hR47HQ619mUzsqVRpkWZjgtgBU9RY15Uc%3D" alt="totokoro" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19356899/496b4681d33b4520bd7688e0fd19c04d/2.jpeg?token-time=2145916800&token-hash=_sTj3dUBOhn9qwiJ7F19Qd-yWWfUqJC_0jG1h0agEqQ%3D" alt="sheeta.s" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5827393/59893c191dda408f9cabd0f20a3a5627/1.jpeg?token-time=2145916800&token-hash=i9N05vOph-eP1LTLb9_npATjYOpntL0ZsHNaZFSsPmE%3D" alt="motcha" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13737140/1adf7835017d479280d90fe8d30aade2/1.png?token-time=2145916800&token-hash=0pdle8h5pDZrww0BDOjdz6zO-HudeGTh36a3qi1biVU%3D" alt="Satsuki Yanagi" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17880724/311738c8a48f4a6b9443c2445a75adde/1.jpg?token-time=2145916800&token-hash=nVAntpybQrznE0rg05keLrSE6ogPKJXB13rmrJng42c%3D" alt="takimura" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13100201/fc5be4fa90444f09a9c8a06f72385272/1.png?token-time=2145916800&token-hash=i8PjlgfOB2LPEdbtWyx8ZPsBKhGcNZqcw_FQmH71UGU%3D" alt="aqz tamaina" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/38837364/9421361c54c645ac8f5fc442a40c32e9/1.png?token-time=2145916800&token-hash=TUZB48Nem3BeUPLBH6s3P6WyKBnQOy0xKaDSTBBUNzA%3D" alt="xianon" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26340354/08834cf767b3449e93098ef73a434e2f/2.png?token-time=2145916800&token-hash=nyM8DnKRL8hR47HQ619mUzsqVRpkWZjgtgBU9RY15Uc%3D" alt="totokoro " width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/Yuzulia">YuzuRyo61 </a></td>
|
||||
<td><a href="https://www.patreon.com/hs_sh_net">mewl hayabusa</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=28779508">S Y</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=16542964">Takumi Sugita</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=17866454">sikyosyounin</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=17866454">sikyosyounin </a></td>
|
||||
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=26340354">totokoro</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=19356899">sheeta.s</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=5827393">motcha</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=13737140">Satsuki Yanagi</a></td>
|
||||
<td><a href="https://www.patreon.com/takimura">takimura</a></td>
|
||||
<td><a href="https://www.patreon.com/aqz">aqz tamaina</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=38837364">xianon</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=26340354">totokoro </a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19356899/496b4681d33b4520bd7688e0fd19c04d/2.jpeg?token-time=2145916800&token-hash=_sTj3dUBOhn9qwiJ7F19Qd-yWWfUqJC_0jG1h0agEqQ%3D" alt="sheeta.s " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5827393/59893c191dda408f9cabd0f20a3a5627/1.jpeg?token-time=2145916800&token-hash=i9N05vOph-eP1LTLb9_npATjYOpntL0ZsHNaZFSsPmE%3D" alt="motcha " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/20494440/540beaf2445f408ea6597bc61e077bb3/1.png?token-time=2145916800&token-hash=UJ0JQge64Bx9XmN_qYA1inMQhrWf4U91fqz7VAKJeSg%3D" alt="axtuki1 " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13737140/1adf7835017d479280d90fe8d30aade2/1.png?token-time=2145916800&token-hash=0pdle8h5pDZrww0BDOjdz6zO-HudeGTh36a3qi1biVU%3D" alt="Satsuki Yanagi" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17880724/311738c8a48f4a6b9443c2445a75adde/1.jpg?token-time=2145916800&token-hash=nVAntpybQrznE0rg05keLrSE6ogPKJXB13rmrJng42c%3D" alt="takimura " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13100201/fc5be4fa90444f09a9c8a06f72385272/1.png?token-time=2145916800&token-hash=i8PjlgfOB2LPEdbtWyx8ZPsBKhGcNZqcw_FQmH71UGU%3D" alt="aqz tamaina" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/9109588/e3cffc48d20a4e43afe04123e696781d/3.png?token-time=2145916800&token-hash=T_VIUA0IFIbleZv4pIjiszZGnQonwn34sLCYFIhakBo%3D" alt="nafuchoco " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/16900731/619ab87cc08448439222631ebb26802f/1.gif?token-time=2145916800&token-hash=o27K7M02s1z-LkDUEO5Oa7cu-GviRXeOXxryi4o_6VU%3D" alt="Atsuko Tominaga" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/3.png?token-time=2145916800&token-hash=FTm3WVom4dJ9NwWMU4OpCL_8Yc13WiwEbKrDPyTZTPs%3D" alt="natalie" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5923936/2a743cbfbff946c2af3f09026047c0da/2.png?token-time=2145916800&token-hash=h6yphW1qnM0n_NOWaf8qtszMRLXEwIxfk5beu4RxdT0%3D" alt="noellabo" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/2384390/5681180e1efb46a8b28e0e8d4c8b9037/1.jpg?token-time=2145916800&token-hash=SJcMy-Q1BcS940-LFUVOMfR7-5SgrzsEQGhYb3yowFk%3D" alt="CG" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18072312/98e894d960314fa7bc236a72a39488fe/1.jpg?token-time=2145916800&token-hash=7bkMqTwHPRsJPGAq42PYdDXDZBVGLqdgr1ZmBxX8GFQ%3D" alt="Hekovic" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24641572/b4fd175424814f15b0ca9178d2d2d2e4/1.png?token-time=2145916800&token-hash=e2fyqdbuJbpCckHcwux7rbuW6OPkKdERcus0u2wIEWU%3D" alt="uroco @99" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1.jpeg?token-time=2145916800&token-hash=L55UhJ0rcuNAH3w_ryeeGN4hC6taoOixyAhraEi0bzw%3D" alt="dansup" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26144593/9514b10a5c1b42a3af58621aee213d1d/1.png?token-time=2145916800&token-hash=v1PYRsjzu4c_mndN4Hvi_dlispZJsuGRCQeNS82pUSM%3D" alt="EBISUME" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5923936/2a743cbfbff946c2af3f09026047c0da/2.png?token-time=2145916800&token-hash=h6yphW1qnM0n_NOWaf8qtszMRLXEwIxfk5beu4RxdT0%3D" alt="noellabo " width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/user?u=19356899">sheeta.s </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=5827393">motcha </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=20494440">axtuki1 </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=13737140">Satsuki Yanagi</a></td>
|
||||
<td><a href="https://www.patreon.com/takimura">takimura </a></td>
|
||||
<td><a href="https://www.patreon.com/aqz">aqz tamaina</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=9109588">nafuchoco </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=16900731">Atsuko Tominaga</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
|
||||
<td><a href="https://www.patreon.com/noellabo">noellabo</a></td>
|
||||
<td><a href="https://www.patreon.com/Corset">CG</a></td>
|
||||
<td><a href="https://www.patreon.com/hekovic">Hekovic</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=24641572">uroco @99</a></td>
|
||||
<td><a href="https://www.patreon.com/dansup">dansup</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=26144593">EBISUME</a></td>
|
||||
<td><a href="https://www.patreon.com/noellabo">noellabo </a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/2384390/5681180e1efb46a8b28e0e8d4c8b9037/1.jpg?token-time=2145916800&token-hash=SJcMy-Q1BcS940-LFUVOMfR7-5SgrzsEQGhYb3yowFk%3D" alt="CG " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18072312/98e894d960314fa7bc236a72a39488fe/1.jpg?token-time=2145916800&token-hash=7bkMqTwHPRsJPGAq42PYdDXDZBVGLqdgr1ZmBxX8GFQ%3D" alt="Hekovic " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24641572/b4fd175424814f15b0ca9178d2d2d2e4/1.png?token-time=2145916800&token-hash=e2fyqdbuJbpCckHcwux7rbuW6OPkKdERcus0u2wIEWU%3D" alt="uroco @99" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/14661394" alt="Chandler " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1.png?token-time=2145916800&token-hash=hBayGfOmQH3kRMdNnDe4oCZD_9fsJWSt29xXR3KRMVk%3D" alt="Nokotaro Takeda" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/23932002" alt="nenohi" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/23932002" alt="nenohi " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/9481273/7fa89168e72943859c3d3c96e424ed31/4.jpeg?token-time=2145916800&token-hash=5w1QV1qXe-NdWbdFmp1H7O_-QBsSiV0haumk3XTHIEg%3D" alt="Efertone " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1.jpeg?token-time=2145916800&token-hash=vGe7wXGqmA8Q7m-kDNb6fyGdwk-Dxk4F-ut8ZZu51RM%3D" alt="Takashi Shibuya" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/Corset">CG </a></td>
|
||||
<td><a href="https://www.patreon.com/hekovic">Hekovic </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=24641572">uroco @99</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=14661394">Chandler </a></td>
|
||||
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=23932002">nenohi</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=23932002">nenohi </a></td>
|
||||
<td><a href="https://www.patreon.com/efertone">Efertone </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
|
||||
</tr></table>
|
||||
|
||||
**Last updated:** Wed, 05 Feb 2020 00:42:12 UTC
|
||||
**Last updated:** Sun, 26 Jul 2020 07:00:10 UTC
|
||||
<!-- PATREON_END -->
|
||||
|
||||
[backer-url]: #backers
|
||||
|
9
SECURITY.md
Normal file
9
SECURITY.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Reporting Security Issues
|
||||
|
||||
If you discover a security issue in Misskey, please report it by sending an
|
||||
email to [syuilotan@yahoo.co.jp](mailto:syuilotan@yahoo.co.jp).
|
||||
|
||||
This will allow us to assess the risk, and make a fix available before we add a
|
||||
bug report to the GitHub repository.
|
||||
|
||||
Thanks for helping make Misskey safe for everyone.
|
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
BIN
assets/banner.afdesign
Normal file
BIN
assets/banner.afdesign
Normal file
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 11 KiB |
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 9.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 47 KiB |
BIN
assets/mi-white.afdesign
Normal file
BIN
assets/mi-white.afdesign
Normal file
Binary file not shown.
BIN
assets/mi.afdesign
Normal file
BIN
assets/mi.afdesign
Normal file
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
files:
|
||||
- source: /locales/ja-JP.yml
|
||||
translation: /locales/%locale%.yml
|
||||
update_option: update_as_unapproved
|
||||
|
3
cypress.json
Normal file
3
cypress.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"baseUrl": "http://localhost:61812"
|
||||
}
|
5
cypress/fixtures/example.json
Normal file
5
cypress/fixtures/example.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "Using fixtures to represent data",
|
||||
"email": "hello@cypress.io",
|
||||
"body": "Fixtures are a great way to mock data for responses to routes"
|
||||
}
|
190
cypress/integration/basic.js
Normal file
190
cypress/integration/basic.js
Normal file
@ -0,0 +1,190 @@
|
||||
describe('Before setup instance', () => {
|
||||
beforeEach(() => {
|
||||
cy.request('POST', '/api/reset-db').as('reset');
|
||||
cy.get('@reset').its('status').should('equal', 204);
|
||||
cy.reload(true);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||
// waitを入れることでそれを防止できる
|
||||
cy.wait(1000);
|
||||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
cy.visit('/');
|
||||
});
|
||||
|
||||
it('setup instance', () => {
|
||||
cy.visit('/');
|
||||
|
||||
cy.intercept('POST', '/api/admin/accounts/create').as('signup');
|
||||
|
||||
cy.get('[data-cy-admin-username] input').type('admin');
|
||||
cy.get('[data-cy-admin-password] input').type('admin1234');
|
||||
cy.get('[data-cy-admin-ok]').click();
|
||||
|
||||
// なぜか動かない
|
||||
//cy.wait('@signup').should('have.property', 'response.statusCode');
|
||||
cy.wait('@signup');
|
||||
});
|
||||
});
|
||||
|
||||
describe('After setup instance', () => {
|
||||
beforeEach(() => {
|
||||
cy.request('POST', '/api/reset-db').as('reset');
|
||||
cy.get('@reset').its('status').should('equal', 204);
|
||||
cy.reload(true);
|
||||
|
||||
// インスタンス初期セットアップ
|
||||
cy.request('POST', '/api/admin/accounts/create', {
|
||||
username: 'admin',
|
||||
password: 'pass',
|
||||
}).its('body').as('admin');
|
||||
|
||||
cy.get('@admin');
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||
// waitを入れることでそれを防止できる
|
||||
cy.wait(1000);
|
||||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
cy.visit('/');
|
||||
});
|
||||
|
||||
it('signup', () => {
|
||||
cy.visit('/');
|
||||
|
||||
cy.intercept('POST', '/api/signup').as('signup');
|
||||
|
||||
cy.get('[data-cy-signup]').click();
|
||||
cy.get('[data-cy-signup-username] input').type('alice');
|
||||
cy.get('[data-cy-signup-password] input').type('alice1234');
|
||||
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
|
||||
cy.get('[data-cy-signup-submit]').click();
|
||||
|
||||
cy.wait('@signup');
|
||||
});
|
||||
});
|
||||
|
||||
describe('After user signup', () => {
|
||||
beforeEach(() => {
|
||||
cy.request('POST', '/api/reset-db').as('reset');
|
||||
cy.get('@reset').its('status').should('equal', 204);
|
||||
cy.reload(true);
|
||||
|
||||
// インスタンス初期セットアップ
|
||||
cy.request('POST', '/api/admin/accounts/create', {
|
||||
username: 'admin',
|
||||
password: 'pass',
|
||||
}).its('body').as('admin');
|
||||
|
||||
cy.get('@admin').then(() => {
|
||||
// ユーザー作成
|
||||
cy.request('POST', '/api/signup', {
|
||||
username: 'alice',
|
||||
password: 'alice1234',
|
||||
}).its('body').as('alice');
|
||||
});
|
||||
|
||||
cy.get('@alice');
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||
// waitを入れることでそれを防止できる
|
||||
cy.wait(1000);
|
||||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
cy.visit('/');
|
||||
});
|
||||
|
||||
it('signin', () => {
|
||||
cy.visit('/');
|
||||
|
||||
cy.intercept('POST', '/api/signin').as('signin');
|
||||
|
||||
cy.get('[data-cy-signin]').click();
|
||||
cy.get('[data-cy-signin-username] input').type('alice');
|
||||
// Enterキーでサインインできるかの確認も兼ねる
|
||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||
|
||||
cy.wait('@signin');
|
||||
});
|
||||
|
||||
it('suspend', function() {
|
||||
cy.request('POST', '/api/admin/suspend-user', {
|
||||
i: this.admin.token,
|
||||
userId: this.alice.id,
|
||||
});
|
||||
|
||||
cy.visit('/');
|
||||
|
||||
cy.get('[data-cy-signin]').click();
|
||||
cy.get('[data-cy-signin-username] input').type('alice');
|
||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||
|
||||
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
|
||||
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
|
||||
});
|
||||
});
|
||||
|
||||
describe('After user singed in', () => {
|
||||
beforeEach(() => {
|
||||
cy.request('POST', '/api/reset-db').as('reset');
|
||||
cy.get('@reset').its('status').should('equal', 204);
|
||||
cy.reload(true);
|
||||
|
||||
// インスタンス初期セットアップ
|
||||
cy.request('POST', '/api/admin/accounts/create', {
|
||||
username: 'admin',
|
||||
password: 'pass',
|
||||
}).its('body').as('admin');
|
||||
|
||||
cy.get('@admin').then(() => {
|
||||
// ユーザー作成
|
||||
cy.request('POST', '/api/signup', {
|
||||
username: 'alice',
|
||||
password: 'alice1234',
|
||||
}).its('body').as('alice');
|
||||
});
|
||||
|
||||
cy.get('@alice').then(() => {
|
||||
cy.visit('/');
|
||||
|
||||
cy.intercept('POST', '/api/signin').as('signin');
|
||||
|
||||
cy.get('[data-cy-signin]').click();
|
||||
cy.get('[data-cy-signin-username] input').type('alice');
|
||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||
|
||||
cy.wait('@signin').as('signedIn');
|
||||
});
|
||||
|
||||
cy.get('@signedIn');
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||
// waitを入れることでそれを防止できる
|
||||
cy.wait(1000);
|
||||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
cy.visit('/');
|
||||
});
|
||||
|
||||
it('note', () => {
|
||||
cy.visit('/');
|
||||
|
||||
cy.get('[data-cy-open-post-form]').click();
|
||||
cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
|
||||
cy.get('[data-cy-open-post-form-submit]').click();
|
||||
|
||||
cy.contains('Hello, Misskey!');
|
||||
});
|
||||
});
|
22
cypress/plugins/index.js
Normal file
22
cypress/plugins/index.js
Normal file
@ -0,0 +1,22 @@
|
||||
/// <reference types="cypress" />
|
||||
// ***********************************************************
|
||||
// This example plugins/index.js can be used to load plugins
|
||||
//
|
||||
// You can change the location of this file or turn off loading
|
||||
// the plugins file with the 'pluginsFile' configuration option.
|
||||
//
|
||||
// You can read more here:
|
||||
// https://on.cypress.io/plugins-guide
|
||||
// ***********************************************************
|
||||
|
||||
// This function is called when a project is opened or re-opened (e.g. due to
|
||||
// the project's config changing)
|
||||
|
||||
/**
|
||||
* @type {Cypress.PluginConfig}
|
||||
*/
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
module.exports = (on, config) => {
|
||||
// `on` is used to hook into various events Cypress emits
|
||||
// `config` is the resolved Cypress config
|
||||
}
|
25
cypress/support/commands.js
Normal file
25
cypress/support/commands.js
Normal file
@ -0,0 +1,25 @@
|
||||
// ***********************************************
|
||||
// This example commands.js shows you how to
|
||||
// create various custom commands and overwrite
|
||||
// existing commands.
|
||||
//
|
||||
// For more comprehensive examples of custom
|
||||
// commands please read more here:
|
||||
// https://on.cypress.io/custom-commands
|
||||
// ***********************************************
|
||||
//
|
||||
//
|
||||
// -- This is a parent command --
|
||||
// Cypress.Commands.add('login', (email, password) => { ... })
|
||||
//
|
||||
//
|
||||
// -- This is a child command --
|
||||
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
|
||||
//
|
||||
//
|
||||
// -- This is a dual command --
|
||||
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
|
||||
//
|
||||
//
|
||||
// -- This will overwrite an existing command --
|
||||
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
26
cypress/support/index.js
Normal file
26
cypress/support/index.js
Normal file
@ -0,0 +1,26 @@
|
||||
// ***********************************************************
|
||||
// This example support/index.js is processed and
|
||||
// loaded automatically before your test files.
|
||||
//
|
||||
// This is a great place to put global configuration and
|
||||
// behavior that modifies Cypress.
|
||||
//
|
||||
// You can change the location of this file or turn off
|
||||
// automatically serving support files with the
|
||||
// 'supportFile' configuration option.
|
||||
//
|
||||
// You can read more here:
|
||||
// https://on.cypress.io/configuration
|
||||
// ***********************************************************
|
||||
|
||||
// Import commands.js using ES2015 syntax:
|
||||
import './commands'
|
||||
|
||||
// Alternatively you can use CommonJS syntax:
|
||||
// require('./commands')
|
||||
|
||||
Cypress.on('uncaught:exception', (err, runnable) => {
|
||||
if (err.message.includes('ResizeObserver loop limit exceeded')) {
|
||||
return false
|
||||
}
|
||||
});
|
@ -13,6 +13,9 @@ services:
|
||||
networks:
|
||||
- internal_network
|
||||
- external_network
|
||||
volumes:
|
||||
- ./files:/misskey/files
|
||||
- ./.config:/misskey/.config:ro
|
||||
|
||||
redis:
|
||||
restart: always
|
||||
@ -24,7 +27,7 @@ services:
|
||||
|
||||
db:
|
||||
restart: always
|
||||
image: postgres:11.2-alpine
|
||||
image: postgres:12.2-alpine
|
||||
networks:
|
||||
- internal_network
|
||||
env_file:
|
||||
|
@ -1,6 +0,0 @@
|
||||
# Docs
|
||||
These docs are for contributors of Misskey or admins of instance of Misskey.
|
||||
Docs for users are located in `src/docs`.
|
||||
|
||||
これらのドキュメントはMisskeyの開発者またはMisskeyインスタンス運営者向けです。
|
||||
利用者向けのドキュメントは`src/docs`にあります。
|
@ -1,95 +0,0 @@
|
||||
Docker Guide
|
||||
================================================================
|
||||
|
||||
This guide describes how to install and setup Misskey with Docker.
|
||||
|
||||
[Japanese version also available - 日本語版もあります](./docker.ja.md)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
*1.* Download Misskey
|
||||
----------------------------------------------------------------
|
||||
1. Clone Misskey repository's master branch.
|
||||
|
||||
`git clone -b master git://github.com/syuilo/misskey.git`
|
||||
|
||||
2. Move to misskey directory.
|
||||
|
||||
`cd misskey`
|
||||
|
||||
3. Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag.
|
||||
|
||||
`git checkout master`
|
||||
|
||||
*2.* Configure Misskey
|
||||
----------------------------------------------------------------
|
||||
|
||||
Create configuration files with following:
|
||||
|
||||
```bash
|
||||
cd .config
|
||||
cp example.yml default.yml
|
||||
cp docker_example.env docker.env
|
||||
```
|
||||
|
||||
### `default.yml`
|
||||
|
||||
Edit this file the same as non-Docker environment.
|
||||
However hostname of Postgresql, Redis and Elasticsearch are not `localhost`, they are set in `docker-compose.yml`.
|
||||
The following is default hostname:
|
||||
|
||||
| Service | Hostname |
|
||||
|---------------|----------|
|
||||
| Postgresql | `db` |
|
||||
| Redis | `redis` |
|
||||
| Elasticsearch | `es` |
|
||||
|
||||
### `docker.env`
|
||||
|
||||
Configure Postgresql in this file.
|
||||
The minimum required settings are:
|
||||
|
||||
| name | Description |
|
||||
|---------------------|---------------|
|
||||
| `POSTGRES_PASSWORD` | Password |
|
||||
| `POSTGRES_USER` | Username |
|
||||
| `POSTGRES_DB` | Database name |
|
||||
|
||||
*3.* Configure Docker
|
||||
----------------------------------------------------------------
|
||||
Edit `docker-compose.yml`.
|
||||
|
||||
*4.* Build Misskey
|
||||
----------------------------------------------------------------
|
||||
Build misskey with the following:
|
||||
|
||||
`docker-compose build`
|
||||
|
||||
*5.* Init DB
|
||||
----------------------------------------------------------------
|
||||
``` shell
|
||||
docker-compose run --rm web yarn run init
|
||||
```
|
||||
|
||||
*6.* That is it.
|
||||
----------------------------------------------------------------
|
||||
Well done! Now you have an environment to run Misskey.
|
||||
|
||||
### Launch normally
|
||||
Just `docker-compose up -d`. GLHF!
|
||||
|
||||
### How to update your Misskey server to the latest version
|
||||
1. `git stash`
|
||||
2. `git checkout master`
|
||||
3. `git pull`
|
||||
4. `git stash pop`
|
||||
5. `docker-compose build`
|
||||
6. Check [ChangeLog](../CHANGELOG.md) for migration information
|
||||
7. `docker-compose stop && docker-compose up -d`
|
||||
|
||||
### How to execute [cli commands](manage.en.md):
|
||||
`docker-compose run --rm web node built/tools/mark-admin @example`
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
If you have any questions or trouble, feel free to contact us!
|
@ -1,89 +0,0 @@
|
||||
Guide Docker
|
||||
================================================================
|
||||
|
||||
Ce guide explique comment installer et configurer Misskey avec Docker.
|
||||
|
||||
[Version japonaise également disponible - Japanese version also available - 日本語版もあります](./docker.ja.md)
|
||||
[Version anglaise également disponible - English version also available - 英語版もあります](./docker.en.md)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
*1.* Télécharger Misskey
|
||||
----------------------------------------------------------------
|
||||
1. Clone le dépôt de Misskey sur la branche master.
|
||||
|
||||
`git clone -b master git://github.com/syuilo/misskey.git`
|
||||
|
||||
2. Naviguez dans le dossier du dépôt.
|
||||
|
||||
`cd misskey`
|
||||
|
||||
3. Checkout sur le tag de la [dernière version](https://github.com/syuilo/misskey/releases/latest).
|
||||
|
||||
`git checkout master`
|
||||
|
||||
*2.* Configuration de Misskey
|
||||
----------------------------------------------------------------
|
||||
1. `cp .config/example.yml .config/default.yml` Copiez le fichier `.config/example.yml` et renommez-le `default.yml`.
|
||||
2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copie le fichier `.config/mongo_initdb_example.js` et le renomme en `mongo_initdb.js`.
|
||||
3. Editez `default.yml` et `mongo_initdb.js`.
|
||||
|
||||
*3.* Configurer Docker
|
||||
----------------------------------------------------------------
|
||||
Editez `docker-compose.yml`.
|
||||
|
||||
*4.* Contruire Misskey
|
||||
----------------------------------------------------------------
|
||||
Contruire l'image Docker avec:
|
||||
|
||||
`docker-compose build`
|
||||
|
||||
*5.* C'est tout !
|
||||
----------------------------------------------------------------
|
||||
Parfait, Vous avez un environnement prêt pour démarrer Misskey.
|
||||
|
||||
### Lancer normalement
|
||||
Utilisez la commande `docker-compose up -d`. GLHF!
|
||||
|
||||
### How to update your Misskey server to the latest version
|
||||
1. `git stash`
|
||||
2. `git checkout master`
|
||||
3. `git pull`
|
||||
4. `git stash pop`
|
||||
5. `docker-compose build`
|
||||
6. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration
|
||||
7. `docker-compose stop && docker-compose up -d`
|
||||
|
||||
### Comment exécuter des [commandes](manage.fr.md)
|
||||
`docker-compose run --rm web node built/tools/mark-admin @example`
|
||||
|
||||
### Configuration d'ElasticSearch (pour la fonction de recherche)
|
||||
*1.* Préparation de l'environnement
|
||||
----------------------------------------------------------------
|
||||
1. Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits
|
||||
|
||||
`mkdir elasticsearch && chown 1000:1000 elasticsearch`
|
||||
|
||||
2. Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES)
|
||||
|
||||
`sysctl -w vm.max_map_count=262144`
|
||||
|
||||
*2.* Après lancement du docker-compose, initialisation de la base ElasticSearch
|
||||
----------------------------------------------------------------
|
||||
1. Connexion dans le conteneur web
|
||||
|
||||
`docker-compose -it web /bin/sh`
|
||||
|
||||
2. Ajout du paquet curl
|
||||
|
||||
`apk add curl`
|
||||
|
||||
3. Création de la base ES
|
||||
|
||||
`curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'`
|
||||
|
||||
4. `exit`
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter !
|
@ -1,96 +0,0 @@
|
||||
Dockerを使ったMisskey構築方法
|
||||
================================================================
|
||||
|
||||
このガイドはDockerを使ったMisskeyセットアップ方法について解説します。
|
||||
|
||||
[英語版もあります - English version also available](./docker.en.md)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
*1.* Misskeyのダウンロード
|
||||
----------------------------------------------------------------
|
||||
1. masterブランチからMisskeyレポジトリをクローン
|
||||
|
||||
`git clone -b master git://github.com/syuilo/misskey.git`
|
||||
|
||||
2. misskeyディレクトリに移動
|
||||
|
||||
`cd misskey`
|
||||
|
||||
3. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
|
||||
|
||||
`git checkout master`
|
||||
|
||||
*2.* 設定ファイルの作成と編集
|
||||
----------------------------------------------------------------
|
||||
|
||||
下記コマンドで設定ファイルを作成してください。
|
||||
|
||||
```bash
|
||||
cd .config
|
||||
cp example.yml default.yml
|
||||
cp docker_example.env docker.env
|
||||
```
|
||||
|
||||
### `default.yml`の編集
|
||||
|
||||
非Docker環境と同じ様に編集してください。
|
||||
ただし、Postgresql、RedisとElasticsearchのホストは`localhost`ではなく、`docker-compose.yml`で設定されたサービス名になっています。
|
||||
標準設定では次の通りです。
|
||||
|
||||
| サービス | ホスト名 |
|
||||
|---------------|---------|
|
||||
| Postgresql |`db` |
|
||||
| Redis |`redis` |
|
||||
| Elasticsearch |`es` |
|
||||
|
||||
### `docker.env`の編集
|
||||
|
||||
このファイルはPostgresqlの設定を記述します。
|
||||
最低限記述する必要がある設定は次の通りです。
|
||||
|
||||
| 設定 | 内容 |
|
||||
|---------------------|--------------|
|
||||
| `POSTGRES_PASSWORD` | パスワード |
|
||||
| `POSTGRES_USER` | ユーザー名 |
|
||||
| `POSTGRES_DB` | データベース名 |
|
||||
|
||||
*3.* Dockerの設定
|
||||
----------------------------------------------------------------
|
||||
`docker-compose.yml`を編集してください。
|
||||
|
||||
*4.* Misskeyのビルド
|
||||
----------------------------------------------------------------
|
||||
次のコマンドでMisskeyをビルドしてください:
|
||||
|
||||
`docker-compose build`
|
||||
|
||||
*5.* データベースを初期化
|
||||
----------------------------------------------------------------
|
||||
``` shell
|
||||
docker-compose run --rm web yarn run init
|
||||
```
|
||||
|
||||
*6.* 以上です!
|
||||
----------------------------------------------------------------
|
||||
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
||||
|
||||
### 通常起動
|
||||
`docker-compose up -d`するだけです。GLHF!
|
||||
|
||||
### Misskeyを最新バージョンにアップデートする方法:
|
||||
1. `git stash`
|
||||
2. `git checkout master`
|
||||
3. `git pull`
|
||||
4. `git stash pop`
|
||||
5. `docker-compose build`
|
||||
6. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
||||
7. `docker-compose stop && docker-compose up -d`
|
||||
|
||||
### cliコマンドを実行する方法:
|
||||
|
||||
`docker-compose run --rm web node built/tools/mark-admin @example`
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
なにかお困りのことがありましたらお気軽にご連絡ください。
|
@ -1,69 +0,0 @@
|
||||
# Sample nginx configuration for Misskey
|
||||
#
|
||||
# 1. Replace example.tld to your domain
|
||||
# 2. Copy to /etc/nginx/sites-available/ and then symlink from /etc/nginx/sites-enabled/
|
||||
# or copy to /etc/nginx/conf.d/
|
||||
|
||||
# For WebSocket
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache1:16m max_size=1g inactive=720m use_temp_path=off;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name example.tld;
|
||||
|
||||
# For SSL domain validation
|
||||
root /var/www/html;
|
||||
location /.well-known/acme-challenge/ { allow all; }
|
||||
location /.well-known/pki-validation/ { allow all; }
|
||||
location / { return 301 https://$server_name$request_uri; }
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
server_name example.tld;
|
||||
ssl_session_cache shared:ssl_session_cache:10m;
|
||||
|
||||
# To use Let's Encrypt certificate
|
||||
ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/example.tld/privkey.pem;
|
||||
|
||||
# To use Debian/Ubuntu's self-signed certificate (For testing or before issuing a certificate)
|
||||
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
|
||||
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
|
||||
|
||||
# SSL protocol settings
|
||||
ssl_protocols TLSv1 TLSv1.2;
|
||||
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA;
|
||||
ssl_prefer_server_ciphers on;
|
||||
|
||||
# Change to your upload limit
|
||||
client_max_body_size 80m;
|
||||
|
||||
# Proxy to Node
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_http_version 1.1;
|
||||
proxy_redirect off;
|
||||
|
||||
# For WebSocket
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
|
||||
# Cache settings
|
||||
proxy_cache cache1;
|
||||
proxy_cache_lock on;
|
||||
proxy_cache_use_stale updating;
|
||||
add_header X-Cache $upstream_cache_status;
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
# Management guide
|
||||
|
||||
## Check the status of the job queue
|
||||
coming soon
|
||||
|
||||
## Mark as 'admin' user
|
||||
``` shell
|
||||
node built/tools/mark-admin (Username)
|
||||
```
|
||||
|
||||
e.g.
|
||||
``` shell
|
||||
node built/tools/mark-admin @syuilo
|
||||
```
|
@ -1,14 +0,0 @@
|
||||
# Guide d'administration
|
||||
|
||||
## Vérifier le status de la file d'attente des taches
|
||||
coming soon
|
||||
|
||||
## Marquer un utilisateur en tant que 'admin'
|
||||
``` shell
|
||||
node built/tools/mark-admin (nom d'utilisateur)
|
||||
```
|
||||
|
||||
Exemple :
|
||||
``` shell
|
||||
node built/tools/mark-admin @syuilo
|
||||
```
|
@ -1,14 +0,0 @@
|
||||
# 運営ガイド
|
||||
|
||||
## ジョブキューの状態を調べる
|
||||
coming soon
|
||||
|
||||
## 管理者ユーザーを設定する
|
||||
``` shell
|
||||
node built/tools/mark-admin (ユーザー名)
|
||||
```
|
||||
|
||||
例:
|
||||
``` shell
|
||||
node built/tools/mark-admin @syuilo
|
||||
```
|
145
docs/setup.en.md
145
docs/setup.en.md
@ -1,145 +0,0 @@
|
||||
Misskey Setup and Installation Guide
|
||||
================================================================
|
||||
|
||||
We thank you for your interest in setting up your Misskey server!
|
||||
This guide describes how to install and setup Misskey.
|
||||
|
||||
[Japanese version also available - 日本語版もあります](./setup.ja.md)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
*1.* Create Misskey user
|
||||
----------------------------------------------------------------
|
||||
Running misskey as root is not a good idea so we create a user for that.
|
||||
In debian for exemple :
|
||||
|
||||
```
|
||||
adduser --disabled-password --disabled-login misskey
|
||||
```
|
||||
|
||||
*2.* Install dependencies
|
||||
----------------------------------------------------------------
|
||||
Please install and setup these softwares:
|
||||
|
||||
#### Dependencies :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** >= 11.10.1
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** >= 10
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
##### Optional
|
||||
* [Yarn](https://yarnpkg.com/) *Optional but recommended for security reason. If you won't install it, use `npx yarn` instead of `yarn`.*
|
||||
* [Elasticsearch](https://www.elastic.co/) - required to enable the search feature
|
||||
* [FFmpeg](https://www.ffmpeg.org/)
|
||||
|
||||
*3.* Install Misskey
|
||||
----------------------------------------------------------------
|
||||
1. Connect to misskey user.
|
||||
|
||||
`su - misskey`
|
||||
|
||||
2. Clone the misskey repo from master branch.
|
||||
|
||||
`git clone -b master git://github.com/syuilo/misskey.git`
|
||||
|
||||
3. Navigate to misskey directory
|
||||
|
||||
`cd misskey`
|
||||
|
||||
4. Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest)
|
||||
|
||||
`git checkout master`
|
||||
|
||||
5. Install misskey dependencies.
|
||||
|
||||
`yarn`
|
||||
|
||||
*4.* Configure Misskey
|
||||
----------------------------------------------------------------
|
||||
1. Copy the `.config/example.yml` and rename it to `default.yml`.
|
||||
|
||||
`cp .config/example.yml .config/default.yml`
|
||||
|
||||
2. Edit `default.yml`
|
||||
|
||||
*5.* Build Misskey
|
||||
----------------------------------------------------------------
|
||||
|
||||
Build misskey with the following:
|
||||
|
||||
`NODE_ENV=production yarn build`
|
||||
|
||||
If you're on Debian, you will need to install the `build-essential`, `python` package.
|
||||
|
||||
If you're still encountering errors about some modules, use node-gyp:
|
||||
|
||||
1. `npx node-gyp configure`
|
||||
2. `npx node-gyp build`
|
||||
3. `NODE_ENV=production yarn build`
|
||||
|
||||
*6.* Init DB
|
||||
----------------------------------------------------------------
|
||||
``` shell
|
||||
yarn run init
|
||||
```
|
||||
|
||||
*7.* That is it.
|
||||
----------------------------------------------------------------
|
||||
Well done! Now, you have an environment that run to Misskey.
|
||||
|
||||
### Launch normally
|
||||
Just `NODE_ENV=production npm start`. GLHF!
|
||||
|
||||
### Launch with systemd
|
||||
|
||||
1. Create a systemd service here
|
||||
|
||||
`/etc/systemd/system/misskey.service`
|
||||
|
||||
2. Edit it, and paste this and save:
|
||||
|
||||
```
|
||||
[Unit]
|
||||
Description=Misskey daemon
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=misskey
|
||||
ExecStart=/usr/bin/npm start
|
||||
WorkingDirectory=/home/misskey/misskey
|
||||
Environment="NODE_ENV=production"
|
||||
TimeoutSec=60
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=misskey
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
3. Reload systemd and enable the misskey service.
|
||||
|
||||
`systemctl daemon-reload ; systemctl enable misskey`
|
||||
|
||||
4. Start the misskey service.
|
||||
|
||||
`systemctl start misskey`
|
||||
|
||||
You can check if the service is running with `systemctl status misskey`.
|
||||
|
||||
### How to update your Misskey server to the latest version
|
||||
1. `git checkout master`
|
||||
2. `git pull`
|
||||
3. `yarn install`
|
||||
4. `NODE_ENV=production yarn build`
|
||||
5. `yarn migrate`
|
||||
6. Restart your Misskey process to apply changes
|
||||
7. Enjoy
|
||||
|
||||
If you encounter any problems with updating, please try the following:
|
||||
1. `yarn clean` or `yarn cleanall`
|
||||
2. Retry update (Don't forget `yarn install`
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
If you have any questions or troubles, feel free to contact us!
|
133
docs/setup.fr.md
133
docs/setup.fr.md
@ -1,133 +0,0 @@
|
||||
Guide d'installation et de configuration de Misskey
|
||||
================================================================
|
||||
|
||||
Nous vous remerçions de l'intrêt que vous manifestez pour l'installation de votre propre instance Misskey !
|
||||
Ce guide décrit les étapes à suivre afin d'installer et de configurer une instance Misskey.
|
||||
|
||||
[La version en japonnais est également disponible sur - 日本語版もあります](./setup.ja.md)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
*1.* Création de l'utilisateur Misskey
|
||||
----------------------------------------------------------------
|
||||
Executer misskey en tant que super-utilisateur étant une mauvaise idée, nous allons créer un utilisateur dédié.
|
||||
Sous Debian, par exemple :
|
||||
|
||||
```
|
||||
adduser --disabled-password --disabled-login misskey
|
||||
```
|
||||
|
||||
*2.* Installation des dépendances
|
||||
----------------------------------------------------------------
|
||||
Installez les paquets suivants :
|
||||
|
||||
#### Dépendences :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** >= 11.10.1
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** >= 10
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
##### Optionnels
|
||||
* [Yarn](https://yarnpkg.com/) - *recommander pour des raisons de sécurité. Si vous ne l'installez pas, utilisez `npx yarn` au lieu de` yarn`.*
|
||||
* [Elasticsearch](https://www.elastic.co/) - *requis pour pouvoir activer la fonctionnalité de recherche.*
|
||||
* [FFmpeg](https://www.ffmpeg.org/)
|
||||
|
||||
*3.* Installation de Misskey
|
||||
----------------------------------------------------------------
|
||||
1. Basculez vers l'utilisateur misskey.
|
||||
|
||||
`su - misskey`
|
||||
|
||||
2. Clonez la branche master du dépôt misskey.
|
||||
|
||||
`git clone -b master git://github.com/syuilo/misskey.git`
|
||||
|
||||
3. Accédez au dossier misskey.
|
||||
|
||||
`cd misskey`
|
||||
|
||||
4. Checkout sur le tag de la [version la plus récente](https://github.com/syuilo/misskey/releases/latest)
|
||||
|
||||
`git checkout master`
|
||||
|
||||
5. Installez les dépendances de misskey.
|
||||
|
||||
`yarn install`
|
||||
|
||||
*4.* Création du fichier de configuration
|
||||
----------------------------------------------------------------
|
||||
1. Copiez le fichier `.config/example.yml` et renommez-le`default.yml`.
|
||||
|
||||
`cp .config/example.yml .config/default.yml`
|
||||
|
||||
2. Editez le fichier `default.yml`
|
||||
|
||||
*5.* Construction de Misskey
|
||||
----------------------------------------------------------------
|
||||
|
||||
Construisez Misskey comme ceci :
|
||||
|
||||
`NODE_ENV=production yarn build`
|
||||
|
||||
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential` et `python`.
|
||||
|
||||
Si vous rencontrez des erreurs concernant certains modules, utilisez node-gyp:
|
||||
|
||||
1. `npx node-gyp configure`
|
||||
2. `npx node-gyp build`
|
||||
3. `NODE_ENV=production yarn build`
|
||||
|
||||
*6.* C'est tout.
|
||||
----------------------------------------------------------------
|
||||
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
|
||||
|
||||
### Lancement conventionnel
|
||||
Lancez tout simplement `NODE_ENV=production yarn start`. Bonne chance et amusez-vous bien !
|
||||
|
||||
### Démarrage avec systemd
|
||||
|
||||
1. Créez un service systemd sur
|
||||
|
||||
`/etc/systemd/system/misskey.service`
|
||||
|
||||
2. Editez-le puis copiez et coller ceci dans le fichier :
|
||||
|
||||
```
|
||||
[Unit]
|
||||
Description=Misskey daemon
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=misskey
|
||||
ExecStart=/usr/bin/npm start
|
||||
WorkingDirectory=/home/misskey/misskey
|
||||
Environment="NODE_ENV=production"
|
||||
TimeoutSec=60
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=misskey
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
3. Redémarre systemd et active le service misskey.
|
||||
|
||||
`systemctl daemon-reload ; systemctl enable misskey`
|
||||
|
||||
4. Démarre le service misskey.
|
||||
|
||||
`systemctl start misskey`
|
||||
|
||||
Vous pouvez vérifier si le service a démarré en utilisant la commande `systemctl status misskey`.
|
||||
|
||||
### Méthode de mise à jour vers la plus récente version de Misskey
|
||||
1. `git checkout master`
|
||||
2. `git pull`
|
||||
3. `yarn install`
|
||||
4. `NODE_ENV=production yarn build`
|
||||
5. `yarn migrate`
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
Si vous rencontrez des difficultés ou avez d'autres questions, n'hésitez pas à nous contacter !
|
143
docs/setup.ja.md
143
docs/setup.ja.md
@ -1,143 +0,0 @@
|
||||
Misskey構築の手引き
|
||||
================================================================
|
||||
|
||||
Misskeyサーバーの構築にご関心をお寄せいただきありがとうございます!
|
||||
このガイドではMisskeyのインストール・セットアップ方法について解説します。
|
||||
|
||||
[英語版もあります - English version also available](./setup.en.md)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
*1.* Misskeyユーザーの作成
|
||||
----------------------------------------------------------------
|
||||
Misskeyはrootユーザーで実行しない方がよいため、代わりにユーザーを作成します。
|
||||
Debianの例:
|
||||
|
||||
```
|
||||
adduser --disabled-password --disabled-login misskey
|
||||
```
|
||||
|
||||
*2.* 依存関係をインストールする
|
||||
----------------------------------------------------------------
|
||||
これらのソフトウェアをインストール・設定してください:
|
||||
|
||||
#### 依存関係 :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** (11.10.1以上)
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** (10以上)
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
##### オプション
|
||||
* [Yarn](https://yarnpkg.com/)
|
||||
* セキュリティの観点から推奨されます。 yarn をインストールしない方針の場合は、文章中の `yarn` を適宜 `npx yarn` と読み替えてください。
|
||||
* [Elasticsearch](https://www.elastic.co/)
|
||||
* 検索機能を有効にするためにはインストールが必要です。
|
||||
* [FFmpeg](https://www.ffmpeg.org/)
|
||||
|
||||
*3.* Misskeyのインストール
|
||||
----------------------------------------------------------------
|
||||
1. misskeyユーザーを使用
|
||||
|
||||
`su - misskey`
|
||||
|
||||
2. masterブランチからMisskeyレポジトリをクローン
|
||||
|
||||
`git clone -b master git://github.com/syuilo/misskey.git`
|
||||
|
||||
3. misskeyディレクトリに移動
|
||||
|
||||
`cd misskey`
|
||||
|
||||
4. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
|
||||
|
||||
`git checkout master`
|
||||
|
||||
5. Misskeyの依存パッケージをインストール
|
||||
|
||||
`yarn install`
|
||||
|
||||
*4.* 設定ファイルを作成する
|
||||
----------------------------------------------------------------
|
||||
1. `.config/example.yml`をコピーし名前を`default.yml`にする。
|
||||
|
||||
`cp .config/example.yml .config/default.yml`
|
||||
|
||||
2. `default.yml` を編集する。
|
||||
|
||||
*5.* Misskeyのビルド
|
||||
----------------------------------------------------------------
|
||||
|
||||
次のコマンドでMisskeyをビルドしてください:
|
||||
|
||||
`NODE_ENV=production yarn build`
|
||||
|
||||
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
||||
|
||||
何らかのモジュールでエラーが発生する場合はnode-gypを使ってください:
|
||||
1. `npx node-gyp configure`
|
||||
2. `npx node-gyp build`
|
||||
3. `NODE_ENV=production yarn build`
|
||||
|
||||
*6.* データベースを初期化
|
||||
----------------------------------------------------------------
|
||||
``` shell
|
||||
yarn run init
|
||||
```
|
||||
|
||||
*7.* 以上です!
|
||||
----------------------------------------------------------------
|
||||
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
||||
|
||||
### 通常起動
|
||||
`NODE_ENV=production yarn start`するだけです。GLHF!
|
||||
|
||||
### systemdを用いた起動
|
||||
1. systemdサービスのファイルを作成
|
||||
|
||||
`/etc/systemd/system/misskey.service`
|
||||
|
||||
2. エディタで開き、以下のコードを貼り付けて保存:
|
||||
|
||||
```
|
||||
[Unit]
|
||||
Description=Misskey daemon
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=misskey
|
||||
ExecStart=/usr/bin/npm start
|
||||
WorkingDirectory=/home/misskey/misskey
|
||||
Environment="NODE_ENV=production"
|
||||
TimeoutSec=60
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=misskey
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。
|
||||
|
||||
3. systemdを再読み込みしmisskeyサービスを有効化
|
||||
|
||||
`systemctl daemon-reload; systemctl enable misskey`
|
||||
|
||||
4. misskeyサービスの起動
|
||||
|
||||
`systemctl start misskey`
|
||||
|
||||
`systemctl status misskey`と入力すると、サービスの状態を調べることができます。
|
||||
|
||||
### Misskeyを最新バージョンにアップデートする方法:
|
||||
1. `git checkout master`
|
||||
2. `git pull`
|
||||
3. `yarn install`
|
||||
4. `NODE_ENV=production yarn build`
|
||||
5. `yarn migrate`
|
||||
|
||||
なにか問題が発生した場合は、`yarn clean`または`yarn cleanall`すると直る場合があります。
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
なにかお困りのことがありましたらお気軽にご連絡ください。
|
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'));
|
||||
});
|
106
gulpfile.ts
106
gulpfile.ts
@ -1,106 +0,0 @@
|
||||
/**
|
||||
* Gulp tasks
|
||||
*/
|
||||
|
||||
import * as fs from 'fs';
|
||||
import * as gulp from 'gulp';
|
||||
import * as ts from 'gulp-typescript';
|
||||
import * as mocha from 'gulp-mocha';
|
||||
import * as rimraf from 'rimraf';
|
||||
import * as rename from 'gulp-rename';
|
||||
const cleanCSS = require('gulp-clean-css');
|
||||
const sass = require('gulp-dart-sass');
|
||||
const fiber = require('fibers');
|
||||
|
||||
const locales = require('./locales');
|
||||
const meta = require('./package.json');
|
||||
|
||||
gulp.task('build:ts', () => {
|
||||
const tsProject = ts.createProject('./tsconfig.json');
|
||||
|
||||
return tsProject
|
||||
.src()
|
||||
.pipe(tsProject())
|
||||
.on('error', () => {})
|
||||
.pipe(gulp.dest('./built/'));
|
||||
});
|
||||
|
||||
gulp.task('build:copy:views', () =>
|
||||
gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
|
||||
);
|
||||
|
||||
gulp.task('build:copy:locales', cb => {
|
||||
fs.mkdirSync('./built/client/assets/locales', { recursive: true });
|
||||
|
||||
for (const [lang, locale] of Object.entries(locales)) {
|
||||
fs.writeFileSync(`./built/client/assets/locales/${lang}.${meta.version}.json`, JSON.stringify(locale), 'utf-8');
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
gulp.task('build:copy', gulp.parallel('build:copy:views', 'build:copy:locales', () =>
|
||||
gulp.src([
|
||||
'./src/emojilist.json',
|
||||
'./src/server/web/views/**/*',
|
||||
'./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:client:styles', () =>
|
||||
gulp.src('./src/client/style.scss')
|
||||
.pipe(sass({ fiber }))
|
||||
.pipe(cleanCSS())
|
||||
.pipe(gulp.dest('./built/client/assets/'))
|
||||
);
|
||||
|
||||
gulp.task('copy:client', () =>
|
||||
gulp.src([
|
||||
'./assets/**/*',
|
||||
'./src/client/assets/**/*',
|
||||
])
|
||||
.pipe(rename(path => {
|
||||
path.dirname = path.dirname!.replace('assets', '.');
|
||||
}))
|
||||
.pipe(gulp.dest('./built/client/assets/'))
|
||||
);
|
||||
|
||||
gulp.task('copy:docs', () =>
|
||||
gulp.src([
|
||||
'./src/docs/**/*',
|
||||
])
|
||||
.pipe(gulp.dest('./built/client/assets/docs/'))
|
||||
);
|
||||
|
||||
gulp.task('build:client', gulp.parallel(
|
||||
'build:client:styles',
|
||||
'copy:client',
|
||||
'copy:docs'
|
||||
));
|
||||
|
||||
gulp.task('build', gulp.parallel(
|
||||
'build:ts',
|
||||
'build:copy',
|
||||
'build:client',
|
||||
));
|
||||
|
||||
gulp.task('mocha', () =>
|
||||
gulp.src('./test/**/*.ts')
|
||||
.pipe(mocha({
|
||||
exit: true,
|
||||
require: 'ts-node/register'
|
||||
} as any))
|
||||
);
|
||||
|
||||
gulp.task('test', gulp.task('mocha'));
|
||||
|
||||
gulp.task('default', gulp.task('build'));
|
7
index.js
7
index.js
@ -1,7 +0,0 @@
|
||||
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.');
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
# **DO NOT edit locale files** except `ja-JP.yml`.
|
||||
|
||||
When you add text to the ja-JP file (of syuilo/misskey), it will automatically be applied to other language files.
|
||||
When you add text to the ja-JP file (of misskey-dev/misskey), it will automatically be applied to other language files.
|
||||
Translations added in ja-JP file should contain the original Japanese strings.
|
||||
|
||||
Please see [Contribution guide](../CONTRIBUTING.md) for more information.
|
||||
|
1490
locales/ar-SA.yml
Normal file
1490
locales/ar-SA.yml
Normal file
File diff suppressed because it is too large
Load Diff
@ -1 +1,486 @@
|
||||
---
|
||||
_lang_: "Čeština"
|
||||
headlineMisskey: "Síť propojená poznámkami"
|
||||
introMisskey: "Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
|
||||
monthAndDay: "{day}. {month}."
|
||||
search: "Vyhledávání"
|
||||
notifications: "Oznámení"
|
||||
username: "Uživatelské jméno"
|
||||
password: "Heslo"
|
||||
forgotPassword: "Zapomenuté heslo"
|
||||
fetchingAsApObject: "Načítám data z Fediversu..."
|
||||
ok: "Potvrdit"
|
||||
gotIt: "Rozumím!"
|
||||
cancel: "Zrušit"
|
||||
enterUsername: "Zadej uživatelské jméno"
|
||||
renotedBy: "{user} přeposla/a"
|
||||
noNotes: "Žádné poznámky"
|
||||
noNotifications: "Žádná oznámení"
|
||||
instance: "Instance"
|
||||
settings: "Nastavení"
|
||||
basicSettings: "Obecná nastavení"
|
||||
otherSettings: "Rozšířená nastavení"
|
||||
openInWindow: "Otevřít v novém okně"
|
||||
profile: "Váš profil"
|
||||
timeline: "Časová osa"
|
||||
noAccountDescription: "Tento uživatel zatím nenapsal svou biografii."
|
||||
login: "Přihlásit se"
|
||||
loggingIn: "Probíhá přihlašování"
|
||||
logout: "Odhlásit"
|
||||
signup: "Registrace"
|
||||
uploading: "Nahrávám"
|
||||
save: "Uložit"
|
||||
users: "Uživatelé"
|
||||
addUser: "Přidat uživatele"
|
||||
favorite: "Oblíbené"
|
||||
favorites: "Oblíbené"
|
||||
unfavorite: "Odebrat z oblízených"
|
||||
favorited: "Přidáno do oblíbených"
|
||||
alreadyFavorited: "Už je mezi oblíbenými"
|
||||
cantFavorite: "Nepodařilo se přidat mezi oblíbené."
|
||||
pin: "Připnout"
|
||||
unpin: "Odepnout"
|
||||
copyContent: "Zkopírovat obsah"
|
||||
copyLink: "Kopírovat odkaz"
|
||||
delete: "Smazat"
|
||||
deleteAndEdit: "Smazat a upravit"
|
||||
deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni."
|
||||
addToList: "Přidat do seznamu"
|
||||
sendMessage: "Odeslat zprávu"
|
||||
copyUsername: "Kopírovat uživatelské jméno"
|
||||
searchUser: "Vyhledat uživatele"
|
||||
reply: "Odpovědět"
|
||||
loadMore: "Zobrazit více"
|
||||
showMore: "Zobrazit více"
|
||||
youGotNewFollower: "Máte nového následovníka"
|
||||
mention: "Zmínění"
|
||||
mentions: "Zmínění"
|
||||
importAndExport: "Import a export"
|
||||
import: "Importovat"
|
||||
export: "Exportovat"
|
||||
files: "Soubor(ů)"
|
||||
download: "Stáhnout"
|
||||
unfollowConfirm: "Jste si jisti že už nechcete sledovat {name}?"
|
||||
importRequested: "Požádali jste o export. To může chvilku trvat."
|
||||
lists: "Seznamy"
|
||||
noLists: "Nemáte žádné seznamy"
|
||||
note: "Poznámka"
|
||||
notes: "Poznámky"
|
||||
following: "Sledovaní"
|
||||
followers: "Sledující"
|
||||
followsYou: "Sledují vás"
|
||||
createList: "Vytvořit seznam"
|
||||
manageLists: "Spravovat seznam"
|
||||
error: "Chyba"
|
||||
somethingHappened: "Jejda. Něco se nepovedlo."
|
||||
retry: "Opakovat"
|
||||
pageLoadError: "Nepodařilo se načíst stránku"
|
||||
enterListName: "Jméno seznamu"
|
||||
privacy: "Soukromí"
|
||||
follow: "Sledovaní"
|
||||
unfollow: "Přestat sledovat"
|
||||
renote: "Přeposlat"
|
||||
cantReRenote: "Odpověď nemůže být odstraněna."
|
||||
quote: "Citovat"
|
||||
pinned: "Připnout"
|
||||
you: "Vy"
|
||||
clickToShow: "Klikněte pro zobrazení"
|
||||
sensitive: "NSFW"
|
||||
add: "Přidat"
|
||||
reaction: "Reakce"
|
||||
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"
|
||||
attachCancel: "Odstranit přílohu"
|
||||
markAsSensitive: "Označit jako NSFW"
|
||||
unmarkAsSensitive: "Odznačit jako NSFW"
|
||||
enterFileName: "Zadejte název souboru"
|
||||
mute: "Ztlumit"
|
||||
unmute: "Odmlčet"
|
||||
block: "Zablokovat"
|
||||
unblock: "Odblokovat"
|
||||
suspend: "Zmrazit"
|
||||
unsuspend: "Odmrazit"
|
||||
blockConfirm: "Jste si jistí že chcete zablokovat tento účet?"
|
||||
unblockConfirm: "Jste si jistí že chcete odblokovat tento účet?"
|
||||
suspendConfirm: "Jste si jistí že chcete suspendovat tenhle účet?"
|
||||
unsuspendConfirm: "Jste si jistí že chcete obnovit tenhle účet?"
|
||||
selectList: "Vybrat seznam"
|
||||
selectAntenna: "Vyberte Anténu"
|
||||
selectWidget: "Zvolte widget"
|
||||
editWidgets: "Upravit widget"
|
||||
editWidgetsExit: "Hotovo"
|
||||
customEmojis: "Vlastní emoji"
|
||||
emoji: "Emoji"
|
||||
emojis: "Emoji"
|
||||
emojiName: "Jméno emoji"
|
||||
emojiUrl: "URL obrázku"
|
||||
addEmoji: "Přidat emoji"
|
||||
settingGuide: "Doporučené nastavení"
|
||||
cacheRemoteFiles: "Ukládání vzdálených souborů do mezipaměti"
|
||||
cacheRemoteFilesDescription: "Zakázání tohoto nastavení způsobí, že vzdálené soubory budou odkazovány přímo, místo aby byly ukládány do mezipaměti. Tím se ušetří úložiště na serveru, ale zvýší se provoz, protože se negenerují miniatury."
|
||||
flagAsBot: "Tento účet je bot"
|
||||
flagAsBotDescription: "Pokud je tento účet kontrolován programem zaškrtněte tuto možnost. To označí tento účet jako bot pro ostatní vývojáře a zabrání tak nekonečným interakcím s ostatními boty a upraví Misskey systém aby se choval k tomuhle účtu jako bot."
|
||||
flagAsCat: "Tenhle účet je kočka"
|
||||
flagAsCatDescription: "Vyberte tuto možnost aby tento účet byl označen jako kočka."
|
||||
autoAcceptFollowed: "Automaticky akceptovat následování od účtů které sledujete"
|
||||
addAccount: "Přidat účet"
|
||||
loginFailed: "Přihlášení se nezdařilo."
|
||||
showOnRemote: "Více na původním profilu"
|
||||
general: "Obecně"
|
||||
wallpaper: "Obrázek na pozadí"
|
||||
setWallpaper: "Nastavení obrázku na pozadí"
|
||||
removeWallpaper: "Odstranit pozadí"
|
||||
youHaveNoLists: "Nemáte žádné seznamy"
|
||||
proxyAccount: "Proxy účet"
|
||||
proxyAccountDescription: "Proxy účet je účet, který za určitých podmínek sleduje uživatele na dálku vaším jménem. Například když uživatel zařadí vzdáleného uživatele do seznamu, pokud nikdo nesleduje uživatele na seznamu, aktivita nebude doručena instanci, takže místo toho bude uživatele sledovat účet proxy."
|
||||
host: "Hostitel"
|
||||
selectUser: "Vyberte uživatele"
|
||||
recipient: "Pro"
|
||||
annotation: "Komentáře"
|
||||
instances: "Instance"
|
||||
registeredAt: "Registrován"
|
||||
latestRequestSentAt: "Poslední požadavek poslán"
|
||||
latestRequestReceivedAt: "Poslední požadavek přijat"
|
||||
latestStatus: "Poslední status"
|
||||
storageUsage: "Využití úložiště"
|
||||
charts: "Grafy"
|
||||
perHour: "za hodinu"
|
||||
perDay: "za den"
|
||||
blockThisInstance: "Blokovat tuto instanci"
|
||||
operations: "Operace"
|
||||
software: "Software"
|
||||
version: "Verze"
|
||||
metadata: "Metadata"
|
||||
withNFiles: "{n} soubor(ů)"
|
||||
monitor: "Monitorovat"
|
||||
jobQueue: "Fronta úloh"
|
||||
cpuAndMemory: "CPU a paměť"
|
||||
network: "Síť"
|
||||
disk: "Disk"
|
||||
instanceInfo: "Informace o instanci"
|
||||
statistics: "Statistiky"
|
||||
clearQueue: "Vyčistit frontu"
|
||||
clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
|
||||
clearCachedFiles: "Vyprázdnit mezipaměť"
|
||||
blockedInstances: "Blokované instance"
|
||||
noUsers: "Žádní uživatelé"
|
||||
editProfile: "Upravit můj profil"
|
||||
pinLimitExceeded: "Nemůžete připnout další poznámky."
|
||||
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
|
||||
done: "Hotovo"
|
||||
processing: "Zpracovávám"
|
||||
preview: "Náhled"
|
||||
default: "Výchozí"
|
||||
noCustomEmojis: "Bez Emoji"
|
||||
blocked: "Blokováno"
|
||||
suspended: "Suspendováno"
|
||||
all: "Vše"
|
||||
subscribing: "Odebíráte"
|
||||
publishing: "Publikuji"
|
||||
notResponding: "Neodpovídá"
|
||||
instanceFollowing: "Následovníci na instanci"
|
||||
instanceFollowers: "Následovníci na instanci"
|
||||
instanceUsers: "Uživatelé této instance"
|
||||
changePassword: "Změnit heslo"
|
||||
security: "Zabezpečení"
|
||||
currentPassword: "Současné heslo"
|
||||
newPassword: "Nové heslo"
|
||||
newPasswordRetype: "Nové heslo (znovu)"
|
||||
attachFile: "Přiložit soubor"
|
||||
more: "Více!"
|
||||
featured: "Oblíbené poznámky"
|
||||
usernameOrUserId: "Uživatelské jméno nebo uživatelské id"
|
||||
noSuchUser: "Uživatel nebyl nalezen"
|
||||
announcements: "Oznámení"
|
||||
imageUrl: "URL obrázku"
|
||||
remove: "Smazat"
|
||||
removed: "Smazáno"
|
||||
removeAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
|
||||
deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
|
||||
resetAreYouSure: "Opravdu resetovat?"
|
||||
saved: "Uloženo"
|
||||
messaging: "Zprávy"
|
||||
upload: "Nahrát soubory"
|
||||
fromDrive: "Z disku"
|
||||
fromUrl: "Z URL"
|
||||
uploadFromUrl: "Nahrát z URL adresy"
|
||||
uploadFromUrlDescription: "URL adresa souboru, který chcete nahrát"
|
||||
uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno nahrávání."
|
||||
explore: "Objevovat"
|
||||
games: "Misskey hry"
|
||||
messageRead: "Přečtené"
|
||||
noMoreHistory: "To je vše"
|
||||
startMessaging: "Zahájit chat"
|
||||
nUsersRead: "přečteno {n} uživateli"
|
||||
agreeTo: "Souhlasím s {0}"
|
||||
tos: "Podmínky užívání"
|
||||
start: "Začít"
|
||||
home: "Domů"
|
||||
remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je ze vzdálené instance."
|
||||
activity: "Aktivita"
|
||||
images: "Obrázky"
|
||||
birthday: "Datum narození"
|
||||
yearsOld: "{age} let"
|
||||
registeredDate: "Datum registrace"
|
||||
location: "Lokace"
|
||||
theme: "Vzhled"
|
||||
themeForLightMode: "Vzhled pro použití ve světlém režimu"
|
||||
themeForDarkMode: "Vzhled k použití v tmavém režimu"
|
||||
light: "Světlý"
|
||||
dark: "Tmavý"
|
||||
lightThemes: "Světlý vzhled"
|
||||
darkThemes: "Tmavý vzhled"
|
||||
syncDeviceDarkMode: "Synchronizovat tmavý vzhled s nastavením Vašeho systému"
|
||||
drive: "Úložiště"
|
||||
fileName: "Název souboru"
|
||||
selectFile: "Vybrat soubor"
|
||||
selectFiles: "Vybrat soubory"
|
||||
selectFolder: "Vyberte složku"
|
||||
selectFolders: "Vyberte složky"
|
||||
renameFile: "Přejmenovat soubor"
|
||||
folderName: "Název složky"
|
||||
createFolder: "Vytvořit složku"
|
||||
renameFolder: "Přejmenovat složku"
|
||||
deleteFolder: "Odstranit složku"
|
||||
addFile: "Přidat soubor"
|
||||
emptyFolder: "Tato složka je prázdná"
|
||||
unableToDelete: "Nelze smazat"
|
||||
inputNewFileName: "Zadejte nový název"
|
||||
copyUrl: "Kopírovat URL"
|
||||
rename: "Přejmenovat"
|
||||
avatar: "Avatar"
|
||||
banner: "Baner"
|
||||
nsfw: "NSFW"
|
||||
disconnectedFromServer: "Spojení bylo přerušeno"
|
||||
reload: "Aktualizovat"
|
||||
doNothing: "Ignorovat"
|
||||
watch: "Sledovat"
|
||||
unwatch: "Přestat sledovat"
|
||||
accept: "Souhlasím"
|
||||
reject: "Odmítnout"
|
||||
normal: "Normální"
|
||||
instanceName: "Název instance"
|
||||
instanceDescription: "Popis instance"
|
||||
maintainerName: "Správce"
|
||||
maintainerEmail: "E-mailová adresa správce"
|
||||
tosUrl: "URL pro smluvní podmínky"
|
||||
thisYear: "Tento rok"
|
||||
thisMonth: "Tento měsíc"
|
||||
today: "Dnes"
|
||||
dayX: "{day}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Stránky"
|
||||
integration: "Integrace"
|
||||
enableLocalTimeline: "Povolit lokální čas"
|
||||
enableGlobalTimeline: "Povolit globální čas"
|
||||
registration: "Registrace"
|
||||
enableRegistration: "Povolit registraci novým uživatelům"
|
||||
invite: "Pozvat"
|
||||
inMb: "V megabajtech"
|
||||
iconUrl: "Favicon URL"
|
||||
bannerUrl: "Baner URL"
|
||||
basicInfo: "Základní informace"
|
||||
hcaptcha: "hCaptcha"
|
||||
hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Zapnout ReCAPTCHu"
|
||||
recaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
||||
antennas: "Antény"
|
||||
manageAntennas: "Spravovat Antény"
|
||||
name: "Jméno"
|
||||
antennaSource: "Zdroj Antény"
|
||||
enableServiceworker: "Povolit ServiceWorker"
|
||||
caseSensitive: "Rozlišuje malá a velká písmena"
|
||||
connectedTo: "Následující účty jsou připojeny"
|
||||
userList: "Seznamy"
|
||||
about: "Informace"
|
||||
aboutMisskey: "O Misskey"
|
||||
administrator: "Administrátor"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Dvoufaktorová autentikace"
|
||||
moderator: "Moderátor"
|
||||
nUsersMentioned: "{n} uživatelů zmínilo"
|
||||
securityKey: "Bezpečnostní klíč"
|
||||
securityKeyName: "Název klíče"
|
||||
registerSecurityKey: "Registrovat bezpečnostní klíč"
|
||||
lastUsed: "Naposledy použito"
|
||||
unregister: "Odstranit"
|
||||
resetPassword: "Resetovat heslo"
|
||||
newPasswordIs: "Nové heslo je \"{password}\""
|
||||
reduceUiAnimation: "Snížit UI animace"
|
||||
share: "Sdílet"
|
||||
notFound: "Nenalezeno"
|
||||
notFoundDescription: "Nebyla nalezená žádná stránka korespondující se zadanou URL."
|
||||
uploadFolder: "Výchozí lokace pro upload"
|
||||
cacheClear: "Vymazat cache"
|
||||
markAsReadAllNotifications: "Označit všechna oznámení za přečtená"
|
||||
markAsReadAllUnreadNotes: "Označit všechny příspěvky za přečtené"
|
||||
markAsReadAllTalkMessages: "Označit všechny zprávy za přečtené"
|
||||
help: "Nápověda"
|
||||
inputMessageHere: "Sem zadejte zprávu"
|
||||
close: "Zavřít"
|
||||
group: "Skupina"
|
||||
groups: "Skupiny"
|
||||
createGroup: "Vytvořit skupinu"
|
||||
ownedGroups: "Vlastněné skupiny"
|
||||
joinedGroups: "Členství ve skupinách"
|
||||
invites: "Pozvat"
|
||||
groupName: "Název skupiny"
|
||||
members: "Členové"
|
||||
transfer: "Převod"
|
||||
title: "Titulek"
|
||||
text: "Text"
|
||||
enable: "Povolit"
|
||||
next: "Další"
|
||||
retype: "Zadejte znovu"
|
||||
noteOf: "{user} poznámky"
|
||||
inviteToGroup: "Pozvat do skupiny"
|
||||
invitations: "Pozvat"
|
||||
checking: "Ověřuji"
|
||||
available: "K dispozici"
|
||||
unavailable: "Není k dispozici"
|
||||
usernameInvalidFormat: "Písmena, čísla a _ jsou povolená."
|
||||
tooShort: "Příliš krátké"
|
||||
tooLong: "Příliš dlouhé"
|
||||
weakPassword: "Slabé heslo"
|
||||
normalPassword: "Dobré heslo"
|
||||
strongPassword: "Silné heslo"
|
||||
passwordMatched: "Hesla se schodují"
|
||||
passwordNotMatched: "Hesla se neschodují"
|
||||
signinWith: "Přihlásit se s {x}"
|
||||
signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo."
|
||||
or: "Nebo"
|
||||
language: "Jazyk"
|
||||
uiLanguage: "Jazyk uživatelského rozhraní"
|
||||
groupInvited: "Pozvat do skupiny"
|
||||
aboutX: "O {x}"
|
||||
useOsNativeEmojis: "Použití nativních emoji operačního systému"
|
||||
youHaveNoGroups: "Nemáte žádné skupiny"
|
||||
joinOrCreateGroup: "Můžete požádat o pozvání do stávající skupiny nebo vytvořit novou."
|
||||
noHistory: "Žádná historie"
|
||||
signinHistory: "Historie přihlášení"
|
||||
category: "Kategorie"
|
||||
tags: "Štítky"
|
||||
createAccount: "Vytvořit účet"
|
||||
fontSize: "Velikost písma"
|
||||
openImageInNewTab: "Otevřít obrázek v novém panelu"
|
||||
dashboard: "Přehled"
|
||||
local: "Lokální"
|
||||
total: "Celkem"
|
||||
weekOverWeekChanges: "Týdně"
|
||||
dayOverDayChanges: "Denně"
|
||||
appearance: "Vzhled"
|
||||
clientSettings: "Nastavení klienta"
|
||||
accountSettings: "Nastavení účtu"
|
||||
promotion: "Propagace"
|
||||
promote: "Propagovat"
|
||||
numberOfDays: "Počet dní"
|
||||
chooseEmoji: "Vybrat emotikon"
|
||||
unableToProcess: "Operace nebyla dokončena."
|
||||
recentUsed: "Naposledy použité"
|
||||
install: "Nainstalovat"
|
||||
uninstall: "Odinstalovat"
|
||||
installedApps: "Autorizované aplikace"
|
||||
nothing: "Nic nebylo nalezeno"
|
||||
lastUsedDate: "Poslední použití"
|
||||
state: "Stav"
|
||||
ascendingOrder: "Vzestupně"
|
||||
descendingOrder: "Sestupně"
|
||||
scratchpad: "Zápisník"
|
||||
output: "Výstup"
|
||||
script: "Skript"
|
||||
deleteAllFiles: "Smazat všechny soubory"
|
||||
deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?"
|
||||
userSuspended: "Tomuto uživateli byl pozastaven účet."
|
||||
addItem: "Přidat položku"
|
||||
rooms: "Místnost"
|
||||
inboxUrl: "Inbox URL"
|
||||
deletedNote: "Odstraněné příspěvky"
|
||||
invisibleNote: "Skryté příspěvky"
|
||||
smtpHost: "Hostitel"
|
||||
smtpUser: "Uživatelské jméno"
|
||||
smtpPass: "Heslo"
|
||||
clearCache: "Vyprázdnit mezipaměť"
|
||||
info: "Informace"
|
||||
user: "Uživatelé"
|
||||
_email:
|
||||
_follow:
|
||||
title: "Máte nového následovníka"
|
||||
_mfm:
|
||||
mention: "Zmínění"
|
||||
quote: "Citovat"
|
||||
emoji: "Vlastní emoji"
|
||||
search: "Vyhledávání"
|
||||
_reversi:
|
||||
total: "Celkem"
|
||||
_theme:
|
||||
keys:
|
||||
mention: "Zmínění"
|
||||
renote: "Přeposlat"
|
||||
_sfx:
|
||||
note: "Poznámky"
|
||||
notification: "Oznámení"
|
||||
chat: "Zprávy"
|
||||
_widgets:
|
||||
notifications: "Oznámení"
|
||||
timeline: "Časová osa"
|
||||
activity: "Aktivita"
|
||||
jobQueue: "Fronta úloh"
|
||||
_cw:
|
||||
show: "Zobrazit více"
|
||||
_visibility:
|
||||
home: "Domů"
|
||||
followers: "Sledující"
|
||||
_profile:
|
||||
name: "Jméno"
|
||||
username: "Uživatelské jméno"
|
||||
_exportOrImport:
|
||||
followingList: "Sledovaní"
|
||||
muteList: "Ztlumit"
|
||||
blockingList: "Zablokovat"
|
||||
userLists: "Seznamy"
|
||||
_timelines:
|
||||
home: "Domů"
|
||||
_rooms:
|
||||
_roomType:
|
||||
default: "Výchozí"
|
||||
_furnitures:
|
||||
monitor: "Monitorovat"
|
||||
_pages:
|
||||
blocks:
|
||||
image: "Obrázky"
|
||||
script:
|
||||
categories:
|
||||
list: "Seznamy"
|
||||
blocks:
|
||||
_join:
|
||||
arg1: "Seznamy"
|
||||
_randomPick:
|
||||
arg1: "Seznamy"
|
||||
_dailyRandomPick:
|
||||
arg1: "Seznamy"
|
||||
_seedRandomPick:
|
||||
arg2: "Seznamy"
|
||||
_pick:
|
||||
arg1: "Seznamy"
|
||||
_listLen:
|
||||
arg1: "Seznamy"
|
||||
types:
|
||||
array: "Seznamy"
|
||||
_notification:
|
||||
youWereFollowed: "Máte nového následovníka"
|
||||
youWereInvitedToGroup: "Pozvat do skupiny"
|
||||
_types:
|
||||
follow: "Sledovaní"
|
||||
mention: "Zmínění"
|
||||
renote: "Přeposlat"
|
||||
quote: "Citovat"
|
||||
reaction: "Reakce"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Oznámení"
|
||||
tl: "Časová osa"
|
||||
antenna: "Antény"
|
||||
list: "Seznamy"
|
||||
mentions: "Zmínění"
|
||||
|
@ -1 +1,2 @@
|
||||
---
|
||||
_lang_: "Dansk"
|
||||
|
1724
locales/de-DE.yml
1724
locales/de-DE.yml
File diff suppressed because it is too large
Load Diff
1340
locales/en-US.yml
1340
locales/en-US.yml
File diff suppressed because it is too large
Load Diff
1059
locales/eo-UY.yml
Normal file
1059
locales/eo-UY.yml
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1692
locales/fr-FR.yml
1692
locales/fr-FR.yml
File diff suppressed because it is too large
Load Diff
1
locales/ht-HT.yml
Normal file
1
locales/ht-HT.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1708
locales/id-ID.yml
Normal file
1708
locales/id-ID.yml
Normal file
File diff suppressed because it is too large
Load Diff
@ -14,19 +14,30 @@ const merge = (...args) => args.reduce((a, c) => ({
|
||||
}), {});
|
||||
|
||||
const languages = [
|
||||
//'cs-CZ',
|
||||
//'da-DK',
|
||||
//'de-DE',
|
||||
'ar-SA',
|
||||
'cs-CZ',
|
||||
'da-DK',
|
||||
'de-DE',
|
||||
'en-US',
|
||||
'eo-UY',
|
||||
'es-ES',
|
||||
//'fr-FR',
|
||||
'fr-FR',
|
||||
'id-ID',
|
||||
'it-IT',
|
||||
'ja-JP',
|
||||
//'ja-KS',
|
||||
'ja-KS',
|
||||
'kab-KAB',
|
||||
'kn-IN',
|
||||
'ko-KR',
|
||||
//'nl-NL',
|
||||
//'pl-PL',
|
||||
'nl-NL',
|
||||
'no-NO',
|
||||
'pl-PL',
|
||||
'pt-PT',
|
||||
'ru-RU',
|
||||
'ug-CN',
|
||||
'uk-UA',
|
||||
'zh-CN',
|
||||
//'zh-TW',
|
||||
'zh-TW',
|
||||
];
|
||||
|
||||
const primaries = {
|
||||
@ -35,7 +46,10 @@ const primaries = {
|
||||
'zh': 'CN',
|
||||
};
|
||||
|
||||
const locales = languages.reduce((a, c) => (a[c] = yaml.safeLoad(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)
|
||||
.reduce((a, [k ,v]) => (a[k] = (() => {
|
||||
|
1428
locales/it-IT.yml
Normal file
1428
locales/it-IT.yml
Normal file
File diff suppressed because it is too large
Load Diff
1063
locales/ja-JP.yml
1063
locales/ja-JP.yml
File diff suppressed because it is too large
Load Diff
1364
locales/ja-KS.yml
1364
locales/ja-KS.yml
File diff suppressed because it is too large
Load Diff
1
locales/jbo-EN.yml
Normal file
1
locales/jbo-EN.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
121
locales/kab-KAB.yml
Normal file
121
locales/kab-KAB.yml
Normal file
@ -0,0 +1,121 @@
|
||||
---
|
||||
_lang_: "Taqbaylit"
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Nadi"
|
||||
notifications: "Ilɣuyen"
|
||||
username: "Isem n umseqdac"
|
||||
password: "Awal uffir"
|
||||
ok: "IH"
|
||||
settings: "Iɣewwaṛen"
|
||||
otherSettings: "Iɣewwaren nniḍen"
|
||||
profile: "Amaɣnu"
|
||||
signup: "Jerred"
|
||||
save: "Sekles"
|
||||
delete: "Kkes"
|
||||
addToList: "Rnu ɣer tebdart"
|
||||
reply: "Err"
|
||||
loadMore: "Wali ugar"
|
||||
showMore: "Wali ugar"
|
||||
youGotNewFollower: "Yeṭṭafaṛ-ik·em-id"
|
||||
mention: "Bder"
|
||||
import: "Kter"
|
||||
export: "Sifeḍ"
|
||||
files: "Ifuyla"
|
||||
download: "Sider"
|
||||
lists: "Tibdarin"
|
||||
noLists: "Ulac ɣur-k·m ula d yiwet n tabdart"
|
||||
following: "Ig ṭṭafaṛ"
|
||||
followers: "Imeḍfaṛen"
|
||||
followsYou: "Yeṭṭafaṛ-ik·em-id"
|
||||
createList: "Snulfu-d tabdart"
|
||||
enterListName: "Isem n tebdart"
|
||||
privacy: "Tabaḍnit"
|
||||
follow: "Ḍfeṛ"
|
||||
you: "Kečči·mmi"
|
||||
selectList: "Fren tabdart"
|
||||
youHaveNoLists: "Ulac ɣur-k·m ula d yiwet n tabdart"
|
||||
security: "Taɣellist"
|
||||
remove: "Kkes"
|
||||
connectService: "Qqen"
|
||||
userList: "Tibdarin"
|
||||
securityKey: "Tasarutt n tɣellist"
|
||||
securityKeyName: "Isem n tsarutt"
|
||||
signinRequired: "Ttxil jerred"
|
||||
signinWith: "Tuqqna s {x}"
|
||||
tapSecurityKey: "Sekcem tasarutt-ik·im n tɣellist"
|
||||
uiLanguage: "Tutlayt n wegrudem"
|
||||
accountSettings: "Iɣewwaṛen n umiḍan"
|
||||
plugins: "Izegrar"
|
||||
email: "Imayl"
|
||||
emailAddress: "Tansa imayl"
|
||||
smtpUser: "Isem n umseqdac"
|
||||
smtpPass: "Awal uffir"
|
||||
other: "Wiyyaḍ"
|
||||
accountInfo: "Talɣut n umiḍan"
|
||||
emailNotification: "Ilɣa imayl"
|
||||
selectAccount: "Fren amiḍan"
|
||||
accounts: "Imiḍan"
|
||||
_email:
|
||||
_follow:
|
||||
title: "Yeṭṭafaṛ-ik·em-id"
|
||||
_mfm:
|
||||
mention: "Bder"
|
||||
search: "Nadi"
|
||||
font: "Tasefsit"
|
||||
_theme:
|
||||
keys:
|
||||
mention: "Bder"
|
||||
_sfx:
|
||||
notification: "Ilɣuyen"
|
||||
_permissions:
|
||||
"write:account": "Ẓreg talɣut n umiḍan-ik·im"
|
||||
_widgets:
|
||||
notifications: "Ilɣuyen"
|
||||
_cw:
|
||||
show: "Wali ugar"
|
||||
_visibility:
|
||||
followers: "Imeḍfaṛen"
|
||||
_profile:
|
||||
username: "Isem n umseqdac"
|
||||
_exportOrImport:
|
||||
followingList: "Ig ṭṭafaṛ"
|
||||
muteList: "Sgugem"
|
||||
blockingList: "Seḥbes"
|
||||
userLists: "Tibdarin"
|
||||
_pages:
|
||||
contents: "Agbur"
|
||||
font: "Tasefsit"
|
||||
fontSerif: "Serif"
|
||||
fontSansSerif: "Sans Serif"
|
||||
eyeCatchingImageRemove: "Kkes tugna i d-ijebden"
|
||||
selectType: "Fren anaw"
|
||||
contentBlocks: "Agbur"
|
||||
inputBlocks: "Anekcum"
|
||||
specialBlocks: "Uzzig"
|
||||
script:
|
||||
categories:
|
||||
list: "Tibdarin"
|
||||
blocks:
|
||||
_join:
|
||||
arg1: "Tibdarin"
|
||||
_randomPick:
|
||||
arg1: "Tibdarin"
|
||||
_dailyRandomPick:
|
||||
arg1: "Tibdarin"
|
||||
_seedRandomPick:
|
||||
arg2: "Tibdarin"
|
||||
_pick:
|
||||
arg1: "Tibdarin"
|
||||
_listLen:
|
||||
arg1: "Tibdarin"
|
||||
types:
|
||||
array: "Tibdarin"
|
||||
_notification:
|
||||
youWereFollowed: "Yeṭṭafaṛ-ik·em-id"
|
||||
_types:
|
||||
follow: "Ig ṭṭafaṛ"
|
||||
mention: "Bder"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Ilɣuyen"
|
||||
list: "Tibdarin"
|
82
locales/kn-IN.yml
Normal file
82
locales/kn-IN.yml
Normal file
@ -0,0 +1,82 @@
|
||||
---
|
||||
_lang_: "ಕನ್ನಡ"
|
||||
introMisskey: "ಸ್ವಾಗತ! Misskey ಓಪನ್ ಸೋರ್ಸ್ ಒಕ್ಕೂಟ ಮೈಕ್ರೋಬ್ಲಾಗಿಂಗ್ ಸೇವೆಯಾಗಿದೆ.\n ಏನಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಅಥವಾ ನಿಮ್ಮ ಬಗ್ಗೆ ಎಲ್ಲರಿಗೂ ಹೇಳಲು \"ಟಿಪ್ಪಣಿ\"ಗಳನ್ನು ರಚಿಸಿ📡\n \"ಸ್ಪಂದನೆ\" ಕ್ರಿಯೆಯೊಂದಿಗೆ, ನೀವು ಎಲ್ಲರ ಟಿಪ್ಪಣಿಗಳಿಗೆ ತ್ವರಿತವಾಗಿ ಸ್ಪಂದನೆಗಳನ್ನು ಕೂಡ ಸೇರಿಸಬಹುದು.👍\n ಹೊಸ ಜಗತ್ತನ್ನು ಅನ್ವೇಷಿಸಿ🚀"
|
||||
monthAndDay: "{month}ನೇ ತಿಂಗಳ {day}ನೇ ದಿನ"
|
||||
search: "ಹುಡುಕು"
|
||||
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
||||
username: "ಬಳಕೆಹೆಸರು"
|
||||
password: "ಗುಪ್ತಪದ"
|
||||
fetchingAsApObject: "ಒಕ್ಕೂಟದಿಂದ ಪಡೆಯಲಾಗುತ್ತಿದೆ..."
|
||||
ok: "ಸರಿ"
|
||||
gotIt: "ಅರ್ಥವಾಯಿತು!"
|
||||
cancel: "ರದ್ದು"
|
||||
enterUsername: "ಬಳಕೆಹೆಸರನ್ನು ಭರ್ತಿ ಮಾಡಿ"
|
||||
renotedBy: "{user} ಪುನರಾವರ್ತಿಸಿದರು"
|
||||
noNotes: "ಟಿಪ್ಪಣಿಗಳಿಲ್ಲ"
|
||||
noNotifications: "ಅಧಿಸೂಚನೆಗಳಿಲ್ಲ"
|
||||
instance: "ನಿದರ್ಶನ"
|
||||
settings: "ಸಿದ್ಧತೆಗಳು"
|
||||
profile: "ಪ್ರೊಫೈಲು"
|
||||
timeline: "ಸಮಯಸಾಲು"
|
||||
noAccountDescription: "ಇವರು ಸ್ವಯಂ ಪರಿಚಯ ರಚಿಸಿಲ್ಲ"
|
||||
login: "ಪ್ರವೇಶ"
|
||||
loggingIn: "ಪ್ರವೇಶಿಸುತ್ತಾ..."
|
||||
logout: "ಆಚೆಗೆ"
|
||||
signup: "ನೋಂದಣಿ"
|
||||
uploading: "ಅಪ್ಲೋಡಾಗುತ್ತಿದೆ"
|
||||
save: "ಉಳಿಸಿ"
|
||||
users: "ಬಳಕೆದಾರ"
|
||||
addUser: "ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿ"
|
||||
favorite: "ಮೆಚ್ಚಿನ"
|
||||
favorites: "ಮೆಚ್ಚಿನವುಗಳು"
|
||||
unfavorite: "ಮೆಚ್ಚುಗೆ ಅಳಿಸು"
|
||||
pin: "ಪ್ರೊಫ಼ೈಲಿಗೆ ಅಂಟಿಸು"
|
||||
unpin: "ಪ್ರೊಫ಼ೈಲಿಂದ ಅಂಟುತೆಗೆ"
|
||||
copyContent: "ವಿಷಯವನ್ನು ನಕಲಿಸು"
|
||||
copyLink: "ಲಿಂಕನ್ನು ನಕಲಿಸು"
|
||||
delete: "ಅಳಿಸು"
|
||||
addToList: "ಪಟ್ಟಿಗೆ ಸೇರಿಸು"
|
||||
sendMessage: "ಸಂದೇಶ ಕಳುಹಿಸು"
|
||||
copyUsername: "ಬಳಕೆಹೆಸರು ನಕಲಿಸು"
|
||||
reply: "ಉತ್ತರಿಸು"
|
||||
loadMore: "ಇನ್ನಷ್ಟು ನೋಡು"
|
||||
showMore: "ಇನ್ನಷ್ಟು ನೋಡು"
|
||||
youGotNewFollower: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||
receiveFollowRequest: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಬಂದಿದೆ"
|
||||
followRequestAccepted: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಸ್ವೀಕರಿಸಲಾಯಿತು"
|
||||
mentions: "ಹೆಸರಿಸಿದ"
|
||||
directNotes: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
|
||||
importAndExport: "ಆಮದು/ರಫ್ತು"
|
||||
import: "ಆಮದು"
|
||||
export: "ರಫ್ತು"
|
||||
files: "ಕಡತಗಳು"
|
||||
download: "ಜಾಲದಿಂದಿಳಿಸು"
|
||||
driveFileDeleteConfirm: "\"{name}\" ಕಡತವನ್ನು ಅಳಿಸಲು ನೀವು ಬಯಸುವಿರಾ? ಈ ನೋಡಿರಿ ಲಗತ್ತಿಸಲಾದ ಟಿಪ್ಪಣಿ ಸಹ ಕಣ್ಮರೆಯಾಗುತ್ತದೆ."
|
||||
unfollowConfirm: "{name}ಅನ್ನು ಹಿಂಬಾಲಿಸದಿರುವುದೇ?"
|
||||
pinned: "ಪ್ರೊಫ಼ೈಲಿಗೆ ಅಂಟಿಸು"
|
||||
instances: "ನಿದರ್ಶನ"
|
||||
remove: "ಅಳಿಸು"
|
||||
smtpUser: "ಬಳಕೆಹೆಸರು"
|
||||
smtpPass: "ಗುಪ್ತಪದ"
|
||||
user: "ಬಳಕೆದಾರ"
|
||||
_email:
|
||||
_follow:
|
||||
title: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||
_mfm:
|
||||
search: "ಹುಡುಕು"
|
||||
_sfx:
|
||||
notification: "ಅಧಿಸೂಚನೆಗಳು"
|
||||
_widgets:
|
||||
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
||||
timeline: "ಸಮಯಸಾಲು"
|
||||
_cw:
|
||||
show: "ಇನ್ನಷ್ಟು ನೋಡು"
|
||||
_profile:
|
||||
username: "ಬಳಕೆಹೆಸರು"
|
||||
_notification:
|
||||
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
||||
tl: "ಸಮಯಸಾಲು"
|
||||
mentions: "ಹೆಸರಿಸಿದ"
|
1033
locales/ko-KR.yml
1033
locales/ko-KR.yml
File diff suppressed because it is too large
Load Diff
@ -1 +1,336 @@
|
||||
---
|
||||
_lang_: "Nederlands"
|
||||
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"
|
||||
|
@ -1 +1,2 @@
|
||||
---
|
||||
_lang_: "Norsk Bokmål"
|
||||
|
1518
locales/pl-PL.yml
1518
locales/pl-PL.yml
File diff suppressed because it is too large
Load Diff
@ -1 +1,89 @@
|
||||
---
|
||||
_lang_: "Português"
|
||||
headlineMisskey: "Rede conectada por notas"
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Pesquisar"
|
||||
notifications: "Notificações"
|
||||
username: "Nome de usuário"
|
||||
password: "Senha"
|
||||
forgotPassword: "Esqueci a senha"
|
||||
fetchingAsApObject: "Buscando no Fediverso"
|
||||
ok: "OK"
|
||||
gotIt: "Entendi"
|
||||
cancel: "Cancelar"
|
||||
enterUsername: "Digite o nome de usuário"
|
||||
renotedBy: "Repostado por {user}"
|
||||
noNotes: "Sem posts"
|
||||
noNotifications: "Sem notificações"
|
||||
instance: "Instância"
|
||||
settings: "Configurações"
|
||||
basicSettings: "Configurações básicas"
|
||||
otherSettings: "Outras configurações"
|
||||
openInWindow: "Abrir numa janela"
|
||||
profile: "Perfil"
|
||||
timeline: "Timeline"
|
||||
login: "Iniciar sessão"
|
||||
loggingIn: "Iniciando sessão…"
|
||||
logout: "Sair"
|
||||
signup: "Registrar-se"
|
||||
uploading: "Enviando…"
|
||||
save: "Guardar"
|
||||
users: "Usuários"
|
||||
favorite: "Favoritar"
|
||||
favorites: "Favoritar"
|
||||
showMore: "Ver mais"
|
||||
youGotNewFollower: "Você tem um novo seguidor"
|
||||
followRequestAccepted: "Pedido de seguir aceito"
|
||||
note: "Post"
|
||||
notes: "Posts"
|
||||
enterEmoji: "Inserir emoji"
|
||||
renote: "Repostar"
|
||||
renoted: "Repostado"
|
||||
cantRenote: "Não pode repostar"
|
||||
cantReRenote: "Não pode repostar este repost"
|
||||
pinnedNote: "Post fixado"
|
||||
sensitive: "Conteúdo sensível"
|
||||
mute: "Silenciar"
|
||||
unmute: "Dessilenciar"
|
||||
settingGuide: "Guia de configuração"
|
||||
instances: "Instância"
|
||||
registeredAt: "Registrado em"
|
||||
perHour: "por hora"
|
||||
perDay: "por dia"
|
||||
noUsers: "Sem usuários"
|
||||
messageRead: "Lida"
|
||||
lightThemes: "Tema claro"
|
||||
darkThemes: "Tema escuro"
|
||||
addFile: "Adicionar arquivo"
|
||||
nsfw: "Conteúdo sensível"
|
||||
monthX: "mês de {month}"
|
||||
pinnedNotes: "Post fixado"
|
||||
smtpUser: "Nome de usuário"
|
||||
smtpPass: "Senha"
|
||||
user: "Usuários"
|
||||
_email:
|
||||
_follow:
|
||||
title: "Você tem um novo seguidor"
|
||||
_mfm:
|
||||
search: "Pesquisar"
|
||||
_theme:
|
||||
keys:
|
||||
renote: "Repostar"
|
||||
_sfx:
|
||||
note: "Posts"
|
||||
notification: "Notificações"
|
||||
_widgets:
|
||||
notifications: "Notificações"
|
||||
timeline: "Timeline"
|
||||
_profile:
|
||||
username: "Nome de usuário"
|
||||
_exportOrImport:
|
||||
muteList: "Silenciar"
|
||||
_notification:
|
||||
youWereFollowed: "Você tem um novo seguidor"
|
||||
_types:
|
||||
renote: "Repostar"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Notificações"
|
||||
tl: "Timeline"
|
||||
|
1704
locales/ru-RU.yml
1704
locales/ru-RU.yml
File diff suppressed because it is too large
Load Diff
1
locales/th-TH.yml
Normal file
1
locales/th-TH.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
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"
|
5
locales/ug-CN.yml
Normal file
5
locales/ug-CN.yml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
_lang_: "ياپونچە"
|
||||
search: "ئىزدەش"
|
||||
_mfm:
|
||||
search: "ئىزدەش"
|
1499
locales/uk-UA.yml
Normal file
1499
locales/uk-UA.yml
Normal file
File diff suppressed because it is too large
Load Diff
1717
locales/zh-CN.yml
1717
locales/zh-CN.yml
File diff suppressed because it is too large
Load Diff
1575
locales/zh-TW.yml
1575
locales/zh-TW.yml
File diff suppressed because it is too large
Load Diff
@ -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/syuilo/misskey'`);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "feedbackUrl" character varying(512) DEFAULT 'https://github.com/syuilo/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"`);
|
||||
}
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user