mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Compare commits
1050
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
807ce0469c | ||
|
|
f9613e919e | ||
|
|
7eae0bff3d | ||
|
|
227b410252 | ||
|
|
ddc8d0e444 | ||
|
|
b07bdf610a | ||
|
|
8d7705a2e3 | ||
|
|
742e80c0c6 | ||
|
|
738a696ca9 | ||
|
|
99c78738f5 | ||
|
|
c192e48c48 | ||
|
|
7acdaa5978 | ||
|
|
a755d76f52 | ||
|
|
bc88197e0d | ||
|
|
1e966d6b2e | ||
|
|
77c4c5d294 | ||
|
|
2ff7c5ac8e | ||
|
|
7db740d9ea | ||
|
|
0a518cd47e | ||
|
|
dc6f9e6d59 | ||
|
|
47fc6efb0d | ||
|
|
0ff6e99354 | ||
|
|
af21b44125 | ||
|
|
62246b5a2c | ||
|
|
5ff8fd98a7 | ||
|
|
d849aa1ed2 | ||
|
|
a3b33ab746 | ||
|
|
537bbdf419 | ||
|
|
81f6e1990a | ||
|
|
99bf0b8ff7 | ||
|
|
94c423c429 | ||
|
|
6c09d04038 | ||
|
|
5d2d74e64d | ||
|
|
906e227359 | ||
|
|
91e625cfc2 | ||
|
|
126c3a38de | ||
|
|
6ceeacbe03 | ||
|
|
186772cc15 | ||
|
|
7e444b037d | ||
|
|
6d15ffa3ca | ||
|
|
304b72a0c8 | ||
|
|
ecb48b389e | ||
|
|
c0ae2e6549 | ||
|
|
4c96f76762 | ||
|
|
216a5d7001 | ||
|
|
772d42cef8 | ||
|
|
e2c05fea8c | ||
|
|
73b1837d66 | ||
|
|
50c2ebc950 | ||
|
|
b024cb5614 | ||
|
|
47af19dd17 | ||
|
|
2b31c76918 | ||
|
|
26d8278a89 | ||
|
|
6997eec9dd | ||
|
|
192599d7c6 | ||
|
|
57c019ff98 | ||
|
|
867bc0281c | ||
|
|
dc2107fe66 | ||
|
|
ab2d830cc0 | ||
|
|
d3e9d03329 | ||
|
|
351abe50d3 | ||
|
|
f4a4cfa207 | ||
|
|
47ea083ea4 | ||
|
|
5bd106afaf | ||
|
|
448b3b0cc0 | ||
|
|
f3579b3f12 | ||
|
|
09a7fc9063 | ||
|
|
2a65dfcc5d | ||
|
|
d220c2bdd7 | ||
|
|
e9a13fe93c | ||
|
|
2b865bdf97 | ||
|
|
19b1de283b | ||
|
|
d04f9f41c3 | ||
|
|
ff7523d6db | ||
|
|
9fc1b0b71b | ||
|
|
0e30f6533e | ||
|
|
c116de29e1 | ||
|
|
1e247bdde1 | ||
|
|
37316f97ff | ||
|
|
d3b8ce704e | ||
|
|
a0b38a5a7c | ||
|
|
6bd810cb3a | ||
|
|
0d106684ae | ||
|
|
e5245909e3 | ||
|
|
3f63b87ea6 | ||
|
|
c1ca623bab | ||
|
|
5d164e0592 | ||
|
|
a954cea8fc | ||
|
|
f9d6da6672 | ||
|
|
40e17ad625 | ||
|
|
da014b0ad3 | ||
|
|
be3e3baca0 | ||
|
|
4cb48638be | ||
|
|
78f7b1897e | ||
|
|
bd920ead40 | ||
|
|
310d75b6be | ||
|
|
a2d97b3b22 | ||
|
|
65c90c9475 | ||
|
|
d344ba46c4 | ||
|
|
b403a13061 | ||
|
|
b0a8aac0b7 | ||
|
|
dea3c0416b | ||
|
|
44182b4444 | ||
|
|
fc2a4e52e2 | ||
|
|
747779b245 | ||
|
|
a7048255e8 | ||
|
|
ef72e08386 | ||
|
|
864703fb4e | ||
|
|
472712dbb7 | ||
|
|
dcc0aa6ea5 | ||
|
|
deb189f44b | ||
|
|
8163eefe4d | ||
|
|
9ba2eafa83 | ||
|
|
fae28b468c | ||
|
|
d9c04f4fc0 | ||
|
|
e5f0e00742 | ||
|
|
0a2be34ceb | ||
|
|
ba32170f72 | ||
|
|
4199126984 | ||
|
|
01d76a1746 | ||
|
|
fbd277f6aa | ||
|
|
99c163d217 | ||
|
|
0c3ed13ad3 | ||
|
|
d2d36bbfae | ||
|
|
80f5ded0e3 | ||
|
|
b6b5570b0b | ||
|
|
127aa3cea7 | ||
|
|
0a17e2bce9 | ||
|
|
a29cef2334 | ||
|
|
f14250bf2a | ||
|
|
99f1543f1b | ||
|
|
3236e9eabe | ||
|
|
879320e23e | ||
|
|
b2b863f09f | ||
|
|
d86ee91316 | ||
|
|
a2ad870084 | ||
|
|
d070989f73 | ||
|
|
c99976560d | ||
|
|
f5705df02c | ||
|
|
4f7b1748f4 | ||
|
|
88a9fc380e | ||
|
|
3d1b61d20d | ||
|
|
4ffeb866ca | ||
|
|
643f5e845a | ||
|
|
1c236959ba | ||
|
|
bf0f1ee12c | ||
|
|
9cb5eb0180 | ||
|
|
a28be2bf48 | ||
|
|
5455db7c7f | ||
|
|
260b280e10 | ||
|
|
86ce7a3004 | ||
|
|
83a009dcba | ||
|
|
94a18ede78 | ||
|
|
e8ff828039 | ||
|
|
0fdc28e034 | ||
|
|
d9b300051a | ||
|
|
f1ba7b08ab | ||
|
|
3bde473ff0 | ||
|
|
9889048429 | ||
|
|
18ab5ca28f | ||
|
|
77d423e645 | ||
|
|
9382e4cec5 | ||
|
|
d1f0fddbe7 | ||
|
|
4a837907d1 | ||
|
|
b398338876 | ||
|
|
cbd3e85b38 | ||
|
|
a6b4ade39b | ||
|
|
b6b1b396b3 | ||
|
|
26ac88c32e | ||
|
|
a8af6fde8d | ||
|
|
ddb7a403db | ||
|
|
80315a02dd | ||
|
|
d1751565cf | ||
|
|
f1e066d965 | ||
|
|
585b904b80 | ||
|
|
e1ebf153cb | ||
|
|
d3143b8ede | ||
|
|
394f28146a | ||
|
|
1857c0e04d | ||
|
|
0ae5712bb6 | ||
|
|
1eb59daed1 | ||
|
|
bf92ae6841 | ||
|
|
276a12e0f7 | ||
|
|
9ee949104f | ||
|
|
724c07914d | ||
|
|
ffa4bfd1f6 | ||
|
|
fac204b34e | ||
|
|
042c8f8f47 | ||
|
|
aa9e9aa1ed | ||
|
|
6303029f8a | ||
|
|
45df2d3058 | ||
|
|
099308fef5 | ||
|
|
ba44e06af6 | ||
|
|
a47dcac424 | ||
|
|
24d3aa499a | ||
|
|
4e24e3cdc2 | ||
|
|
eff578bb36 | ||
|
|
9a2f97b613 | ||
|
|
5cd94041dc | ||
|
|
9c510dace8 | ||
|
|
56a374e0af | ||
|
|
ccfd856e8e | ||
|
|
0529cffa4b | ||
|
|
1023f24d0b | ||
|
|
bfbcecd069 | ||
|
|
05f8f8fb9d | ||
|
|
457e47cdd7 | ||
|
|
683fccc080 | ||
|
|
42246c5174 | ||
|
|
b3729507de | ||
|
|
b301a58b3e | ||
|
|
3abb53d3cb | ||
|
|
caa5c4e744 | ||
|
|
1f558442d9 | ||
|
|
5e59d73f78 | ||
|
|
9f1b356a79 | ||
|
|
76e05983ff | ||
|
|
e41194ee3c | ||
|
|
0aaab63b8c | ||
|
|
8c1363529e | ||
|
|
6d17f8e877 | ||
|
|
0f0d43298e | ||
|
|
6b6946e39b | ||
|
|
b36c98af66 | ||
|
|
dc89501012 | ||
|
|
1307f73c31 | ||
|
|
39d91aecf1 | ||
|
|
92a307c164 | ||
|
|
9bc52e8900 | ||
|
|
06cd61e53a | ||
|
|
7645d6c34a | ||
|
|
e56b30e6a6 | ||
|
|
d1850fca38 | ||
|
|
f334168f90 | ||
|
|
cc67bcba28 | ||
|
|
41ae96ea77 | ||
|
|
bdf9a64771 | ||
|
|
cf87cfab3a | ||
|
|
063db1e2bf | ||
|
|
fc504e3a68 | ||
|
|
7891f9e74c | ||
|
|
5512123e04 | ||
|
|
5c3bd741b4 | ||
|
|
d8fe96e300 | ||
|
|
e5fb743943 | ||
|
|
9ac57e2e7a | ||
|
|
104b8bb366 | ||
|
|
6d357d617d | ||
|
|
3d081e1aa5 | ||
|
|
5e74c5bbc4 | ||
|
|
3485373cd7 | ||
|
|
7d5f926d9c | ||
|
|
2657247b50 | ||
|
|
dc8e8a5002 | ||
|
|
1794b1395a | ||
|
|
ba75f69969 | ||
|
|
b87231153e | ||
|
|
f8878ac039 | ||
|
|
c37e31e6c3 | ||
|
|
6925122791 | ||
|
|
1836e89dff | ||
|
|
95425832ae | ||
|
|
bb934080ba | ||
|
|
ffdc662022 | ||
|
|
e4467521f8 | ||
|
|
e605beaff2 | ||
|
|
4f1d8ed6f4 | ||
|
|
951a749b50 | ||
|
|
c21a063642 | ||
|
|
28d00668bd | ||
|
|
aeeb7e1d55 | ||
|
|
75e1779921 | ||
|
|
72a2a043cd | ||
|
|
aa7d1a87f4 | ||
|
|
731e7b86a7 | ||
|
|
3b7fa3d664 | ||
|
|
e3bab623f1 | ||
|
|
a9a15e947b | ||
|
|
f553576d0e | ||
|
|
8b5783d3ff | ||
|
|
386cee5137 | ||
|
|
ab84fa8a4d | ||
|
|
9dca3c4300 | ||
|
|
5606402fa3 | ||
|
|
5d121c1887 | ||
|
|
1e9ee66231 | ||
|
|
eb61d5c25c | ||
|
|
f5c2c8d8f7 | ||
|
|
610b9518fb | ||
|
|
c1af9f4201 | ||
|
|
c60524e11f | ||
|
|
ea3b9ca0ec | ||
|
|
5c9199f332 | ||
|
|
83d4de9f73 | ||
|
|
14e2488f98 | ||
|
|
aae672d3be | ||
|
|
298d6ea917 | ||
|
|
fa7f9be6f7 | ||
|
|
1595d41490 | ||
|
|
38a3c08772 | ||
|
|
f2d20cc5c2 | ||
|
|
f127ca651f | ||
|
|
4e7b61b6c8 | ||
|
|
d79411813a | ||
|
|
4d0242b48b | ||
|
|
eb87b951c6 | ||
|
|
fa6f9acaed | ||
|
|
65b1e1e948 | ||
|
|
62808bfb8b | ||
|
|
8218e95f17 | ||
|
|
b6fabf80ef | ||
|
|
11a9583c72 | ||
|
|
49bb3444bf | ||
|
|
e382a9d58b | ||
|
|
d4ff696173 | ||
|
|
0382b2250a | ||
|
|
f16aa598e2 | ||
|
|
fce2055000 | ||
|
|
799fe2acca | ||
|
|
f3544485e5 | ||
|
|
4b7676158e | ||
|
|
5cb818066f | ||
|
|
d34050a5df | ||
|
|
235e31e6d6 | ||
|
|
8bec64b2a2 | ||
|
|
d624481193 | ||
|
|
c313e8347f | ||
|
|
5daae1db14 | ||
|
|
30d5e99a07 | ||
|
|
dea3e74b6a | ||
|
|
1a496bbf71 | ||
|
|
c9a4eb0a49 | ||
|
|
7ee96fb118 | ||
|
|
21895e3ac0 | ||
|
|
540ff6ee2e | ||
|
|
5179c4d08a | ||
|
|
6201edc65d | ||
|
|
1720acb2b4 | ||
|
|
aa6a1a2e31 | ||
|
|
022f0a663e | ||
|
|
7e625ba653 | ||
|
|
72b4c78c9f | ||
|
|
0dca07f6fc | ||
|
|
39df6e443a | ||
|
|
8eb8351d5f | ||
|
|
9d31d8d950 | ||
|
|
f81d675609 | ||
|
|
28c61acec6 | ||
|
|
9a12ab8f8a | ||
|
|
da3798e52f | ||
|
|
b2381798ab | ||
|
|
8b14d96151 | ||
|
|
6ad4566b6b | ||
|
|
a7833421ef | ||
|
|
37e1e3adaf | ||
|
|
a96e571258 | ||
|
|
91e29fb974 | ||
|
|
926e1f3fc8 | ||
|
|
81902f0555 | ||
|
|
f9783ccba3 | ||
|
|
695d6f4065 | ||
|
|
03e8a29e8d | ||
|
|
e16387e463 | ||
|
|
a76efe7d4e | ||
|
|
0873093441 | ||
|
|
446e1c0979 | ||
|
|
b68be491b9 | ||
|
|
9183f2a875 | ||
|
|
2a2ff34e20 | ||
|
|
f0e900a3b5 | ||
|
|
55df51fe94 | ||
|
|
ab35b75c37 | ||
|
|
2a54fd64ee | ||
|
|
274ef1664b | ||
|
|
228b813994 | ||
|
|
93f58fb876 | ||
|
|
7902defe69 | ||
|
|
505091c9e7 | ||
|
|
827ad84f53 | ||
|
|
cf1c914edb | ||
|
|
9329287982 | ||
|
|
40ec98569e | ||
|
|
eeb0eed29b | ||
|
|
e079d4a8b5 | ||
|
|
174449ce49 | ||
|
|
5a715ff68c | ||
|
|
18994d308a | ||
|
|
881b92eeb8 | ||
|
|
8013d79ae0 | ||
|
|
8c9a662e14 | ||
|
|
dceb1858b0 | ||
|
|
c34dc4dae0 | ||
|
|
fccbe405db | ||
|
|
02b6659b35 | ||
|
|
7cce033682 | ||
|
|
8e911dc83e | ||
|
|
e145ad4cb4 | ||
|
|
6826a9efe0 | ||
|
|
37e1e25170 | ||
|
|
90ea00398b | ||
|
|
5a06c015da | ||
|
|
e36dc817fb | ||
|
|
bc09b50c11 | ||
|
|
6b5e734dfa | ||
|
|
31d5b75034 | ||
|
|
7efecbca8b | ||
|
|
7766279025 | ||
|
|
42a92933a8 | ||
|
|
df38a8efd1 | ||
|
|
115ca23a58 | ||
|
|
74604a1a60 | ||
|
|
2e70ed59af | ||
|
|
94931ff4ce | ||
|
|
c3015340ce | ||
|
|
f6408cd945 | ||
|
|
1c4fea0fc3 | ||
|
|
29cd164448 | ||
|
|
7e1b618769 | ||
|
|
c2e5849c49 | ||
|
|
141b864a56 | ||
|
|
2572cb43c2 | ||
|
|
c133bccfa9 | ||
|
|
fb6455b783 | ||
|
|
4f2f76db22 | ||
|
|
89c097eed3 | ||
|
|
78eb5105e7 | ||
|
|
be85b173e7 | ||
|
|
3d9ee8bc52 | ||
|
|
60c0f4c973 | ||
|
|
dd0bf66212 | ||
|
|
be6b31b43f | ||
|
|
b9007a5956 | ||
|
|
967854d34a | ||
|
|
a029287e5a | ||
|
|
5871178fc0 | ||
|
|
573a035f92 | ||
|
|
97757c9984 | ||
|
|
4d54e7bb36 | ||
|
|
2d9ac9bac1 | ||
|
|
17919ecfbe | ||
|
|
7e8778c185 | ||
|
|
f1ea4f761e | ||
|
|
c014e40c54 | ||
|
|
f70b418c5c | ||
|
|
e2fa5356bc | ||
|
|
acc49eb998 | ||
|
|
d33b8c2ce1 | ||
|
|
91fed7a255 | ||
|
|
56310bc4fa | ||
|
|
5087ae61e7 | ||
|
|
0c264a107a | ||
|
|
fcf9e9c4d0 | ||
|
|
2bf247053d | ||
|
|
d64d56069f | ||
|
|
d54615d376 | ||
|
|
780dffd973 | ||
|
|
2baadb6e95 | ||
|
|
54e5985940 | ||
|
|
dd9d8010c1 | ||
|
|
bae9da5695 | ||
|
|
05ab73ee37 | ||
|
|
e461a4f14b | ||
|
|
0f3c438976 | ||
|
|
ad63a377ab | ||
|
|
365c520267 | ||
|
|
698bce2c36 | ||
|
|
93d3cb7bcf | ||
|
|
fd7b354113 | ||
|
|
8feb01d857 | ||
|
|
888c7bf39c | ||
|
|
2d2400fdff | ||
|
|
c079d2f978 | ||
|
|
f4cdd0accc | ||
|
|
8dff9b9b49 | ||
|
|
9acc23049c | ||
|
|
f53fbc19d4 | ||
|
|
d5d7440a68 | ||
|
|
44cbfb2769 | ||
|
|
cb512710f2 | ||
|
|
e4191f206d | ||
|
|
7e37c973ce | ||
|
|
8db73a3431 | ||
|
|
018800c7ae | ||
|
|
55a73efeab | ||
|
|
dfc8c919d4 | ||
|
|
75669b9b2e | ||
|
|
4440859c05 | ||
|
|
61c5f371b7 | ||
|
|
8b24c44fb9 | ||
|
|
2292143750 | ||
|
|
1429c82aa0 | ||
|
|
e4bde92b35 | ||
|
|
f64d0ab8a8 | ||
|
|
0ecdeed329 | ||
|
|
19e5235491 | ||
|
|
bcdac2f803 | ||
|
|
30b8ff9166 | ||
|
|
03da0380ea | ||
|
|
9f7bbe4869 | ||
|
|
9fc7c1384a | ||
|
|
305c781206 | ||
|
|
4a3b8fb70e | ||
|
|
9be32184d6 | ||
|
|
8e1afa11f9 | ||
|
|
23631f8282 | ||
|
|
d921c03ee1 | ||
|
|
b15dac16c8 | ||
|
|
2d045335ff | ||
|
|
e158d134b0 | ||
|
|
1c1028412a | ||
|
|
49e23e8916 | ||
|
|
04290730b2 | ||
|
|
d95e4790a0 | ||
|
|
8798d183bd | ||
|
|
64630490a5 | ||
|
|
281b50ba4a | ||
|
|
3652ab61d8 | ||
|
|
74450b1178 | ||
|
|
7110836beb | ||
|
|
358fdb6878 | ||
|
|
755699de8a | ||
|
|
311fc0f0c4 | ||
|
|
7c8a9ad4d2 | ||
|
|
c4e22b1085 | ||
|
|
ce6d873cf4 | ||
|
|
1809140659 | ||
|
|
9fded16d3f | ||
|
|
42288f3070 | ||
|
|
0a6ee966a2 | ||
|
|
744f2fbc1c | ||
|
|
e8110953b5 | ||
|
|
68486d4795 | ||
|
|
fbb82ceb81 | ||
|
|
4eab2a01f7 | ||
|
|
c1df289df7 | ||
|
|
255659f009 | ||
|
|
c3b7b5af80 | ||
|
|
3abb74c937 | ||
|
|
24824e1582 | ||
|
|
106f4cfc45 | ||
|
|
75484fa018 | ||
|
|
917a4e9ab1 | ||
|
|
bcdebee598 | ||
|
|
9a6d5f8101 | ||
|
|
71807635b3 | ||
|
|
07ef5535ef | ||
|
|
e17bb94e39 | ||
|
|
21220a2051 | ||
|
|
6d237853e6 | ||
|
|
9164ed1045 | ||
|
|
30abfb01b7 | ||
|
|
cba20d8b96 | ||
|
|
b2d385944a | ||
|
|
bb7278dd12 | ||
|
|
36fcc6c293 | ||
|
|
0a1a2af218 | ||
|
|
84559b8f56 | ||
|
|
3700751592 | ||
|
|
2ee505b3f8 | ||
|
|
740d9def8e | ||
|
|
94ff3baa9c | ||
|
|
7c1ab91ebc | ||
|
|
fc4fa977a0 | ||
|
|
cb03ad1a15 | ||
|
|
836ce852ed | ||
|
|
3206cee36f | ||
|
|
70a3820009 | ||
|
|
ab760ba46b | ||
|
|
3caa49a547 | ||
|
|
c81b4576b4 | ||
|
|
4becf5138d | ||
|
|
16fe42bca9 | ||
|
|
d16e3f2f56 | ||
|
|
45a0954b24 | ||
|
|
fc348b2055 | ||
|
|
7e6378b23b | ||
|
|
0f43aa6872 | ||
|
|
2b939a57d0 | ||
|
|
c8788e2a13 | ||
|
|
09912592cf | ||
|
|
c9c688c592 | ||
|
|
5d634384c8 | ||
|
|
a4c59b838a | ||
|
|
c3a80dcebc | ||
|
|
831122679f | ||
|
|
1d9b94ee4d | ||
|
|
8628e94d0c | ||
|
|
89236955fb | ||
|
|
995c404f35 | ||
|
|
2d897889c9 | ||
|
|
822596b2c9 | ||
|
|
191235ecaf | ||
|
|
2910e87c7a | ||
|
|
404ad8653d | ||
|
|
6527a506af | ||
|
|
a42577b1aa | ||
|
|
5e17cde10f | ||
|
|
19fe1c3fa5 | ||
|
|
4c6976488c | ||
|
|
fa0d9139c1 | ||
|
|
f9a3ae1421 | ||
|
|
db52e047c6 | ||
|
|
17de0d1ea7 | ||
|
|
b775c53666 | ||
|
|
c11b3ff522 | ||
|
|
14ac780180 | ||
|
|
ef347f65b8 | ||
|
|
b7675df9b9 | ||
|
|
8736a01814 | ||
|
|
b80bfb0a3c | ||
|
|
9fad9dca88 | ||
|
|
5732171a2a | ||
|
|
7d10174193 | ||
|
|
8db372a7d3 | ||
|
|
5069aef6ac | ||
|
|
fbcbd0d430 | ||
|
|
3a53dce467 | ||
|
|
3e2b6c4344 | ||
|
|
84ea81f56d | ||
|
|
3addf76a2a | ||
|
|
ce8c7e1527 | ||
|
|
342deb4989 | ||
|
|
0411f9f530 | ||
|
|
ad4db114bc | ||
|
|
c0460289b7 | ||
|
|
a09c4281c8 | ||
|
|
c7435e7e78 | ||
|
|
2cf8639b68 | ||
|
|
97c1099961 | ||
|
|
fc34d2ff7e | ||
|
|
45c44bb51c | ||
|
|
14f35589b3 | ||
|
|
3dee8d6ecd | ||
|
|
808f682fa7 | ||
|
|
2ef8490691 | ||
|
|
b09a254d3c | ||
|
|
76e2b39c1a | ||
|
|
e2eccaca8b | ||
|
|
a841734d50 | ||
|
|
765391cd7c | ||
|
|
ac231914d4 | ||
|
|
453ce03881 | ||
|
|
d1deef43c5 | ||
|
|
0d5127d90b | ||
|
|
bb46e3869c | ||
|
|
00d2a5ffcd | ||
|
|
79612bd80f | ||
|
|
c0f099e176 | ||
|
|
42ce9d881a | ||
|
|
1787e57448 | ||
|
|
fc35e0f6ff | ||
|
|
3001cac2ba | ||
|
|
f533ab9324 | ||
|
|
b9e5d0c890 | ||
|
|
ce14e05d1d | ||
|
|
df35c79bc2 | ||
|
|
3acb68f364 | ||
|
|
15347cce4b | ||
|
|
4e0cc1b297 | ||
|
|
d19baafc59 | ||
|
|
4f77510b0a | ||
|
|
1f97aaf591 | ||
|
|
7f42fbfe71 | ||
|
|
04676d9737 | ||
|
|
c159032e93 | ||
|
|
416e5cc88c | ||
|
|
8e44f350e5 | ||
|
|
dd47ef4fd9 | ||
|
|
b0b9bd3268 | ||
|
|
9f3561aaa3 | ||
|
|
aa9b057632 | ||
|
|
21b9716bb2 | ||
|
|
a8ee31f9ae | ||
|
|
de8b9638d5 | ||
|
|
8048766d28 | ||
|
|
5403df059f | ||
|
|
6b853a532a | ||
|
|
c89bace5e4 | ||
|
|
23926e9530 | ||
|
|
aa32b419a8 | ||
|
|
20c37db8fc | ||
|
|
8d9f0180a1 | ||
|
|
01e842782f | ||
|
|
4b08729131 | ||
|
|
18dc8749d5 | ||
|
|
e2be9ea180 | ||
|
|
a46b3d088c | ||
|
|
bd3be15d07 | ||
|
|
9cb2e834a6 | ||
|
|
03b6d65669 | ||
|
|
b5cdbb50c7 | ||
|
|
354211950f | ||
|
|
b6b8fe7d51 | ||
|
|
b17e24f645 | ||
|
|
389d367fca | ||
|
|
db3fa21468 | ||
|
|
238608a559 | ||
|
|
6d040beb36 | ||
|
|
1d7c9d84d2 | ||
|
|
ef82d525a4 | ||
|
|
435b20df77 | ||
|
|
f80f7c8d9b | ||
|
|
9bc6b124c0 | ||
|
|
251ae23a80 | ||
|
|
6141d02e16 | ||
|
|
67541d4a1d | ||
|
|
20985c7ee4 | ||
|
|
6d55b20fac | ||
|
|
be5ed9b282 | ||
|
|
3d7cd91176 | ||
|
|
be26e4b729 | ||
|
|
f822f86517 | ||
|
|
80086e9edc | ||
|
|
175879a352 | ||
|
|
397bdd50f4 | ||
|
|
413209d990 | ||
|
|
3a80d58353 | ||
|
|
74e3f3f7d2 | ||
|
|
133cb62b4e | ||
|
|
4724d729fb | ||
|
|
eed70454ce | ||
|
|
066dd6393d | ||
|
|
72d0865ad8 | ||
|
|
688f2e5a56 | ||
|
|
8a52dc3485 | ||
|
|
20415c6daf | ||
|
|
2e3d17e7b1 | ||
|
|
699ac7f7f5 | ||
|
|
050cb28d4f | ||
|
|
5f9059e221 | ||
|
|
2a201a9d1c | ||
|
|
eac911a006 | ||
|
|
979054e5ca | ||
|
|
2914a4d1c5 | ||
|
|
bb0744842d | ||
|
|
a0be115815 | ||
|
|
c501dc61dc | ||
|
|
33ec5b3d7b | ||
|
|
39820b5a0f | ||
|
|
67642f9f91 | ||
|
|
011df60c0d | ||
|
|
eeb6a5065b | ||
|
|
9fbf10f9f5 | ||
|
|
6a53d8e0d5 | ||
|
|
2bad00a2fd | ||
|
|
b8367c2b9f | ||
|
|
c3af1e4513 | ||
|
|
8afc29c5ed | ||
|
|
d1ea0c2244 | ||
|
|
685a953705 | ||
|
|
617ded14aa | ||
|
|
7806cf1b55 | ||
|
|
593e5ab316 | ||
|
|
1036cb406d | ||
|
|
8b6d050b0d | ||
|
|
59052b4fd1 | ||
|
|
b42a9e94e2 | ||
|
|
3d5930c104 | ||
|
|
80574838a4 | ||
|
|
022952e2ee | ||
|
|
20468782e5 | ||
|
|
64d582a43a | ||
|
|
97ea29bba2 | ||
|
|
09f829e482 | ||
|
|
6d98b38e23 | ||
|
|
d7b7dfef25 | ||
|
|
56f565bf30 | ||
|
|
e8dbd043ec | ||
|
|
62ce68f1b5 | ||
|
|
55dfb0b034 | ||
|
|
9a6d88a819 | ||
|
|
dbfe5e45aa | ||
|
|
e565557eb2 | ||
|
|
0e2cf14e12 | ||
|
|
a8f5886474 | ||
|
|
710ac707e3 | ||
|
|
039df4abb3 | ||
|
|
5dc55110b4 | ||
|
|
e660a6f4a3 | ||
|
|
2451d9fef1 | ||
|
|
2fcda9fc11 | ||
|
|
0e2c1c1f2d | ||
|
|
ee39971eee | ||
|
|
23a1da58fb | ||
|
|
0c776e0a44 | ||
|
|
94178f8eaf | ||
|
|
1489f77499 | ||
|
|
96f389cee5 | ||
|
|
b420c570bc | ||
|
|
5956c4c247 | ||
|
|
5274f1234b | ||
|
|
d4b53e5014 | ||
|
|
fce18647d2 | ||
|
|
7bae8ac374 | ||
|
|
f5d0ebeb75 | ||
|
|
c0c4cffba2 | ||
|
|
3778939605 | ||
|
|
8e12a07267 | ||
|
|
fe7aa60a11 | ||
|
|
f18d33a0d6 | ||
|
|
66ec7f2e1d | ||
|
|
ce0024d97a | ||
|
|
ecd073fb02 | ||
|
|
35891503ef | ||
|
|
d8714ec3fa | ||
|
|
b3d8998735 | ||
|
|
3f2f6ab43a | ||
|
|
3bb22c38cc | ||
|
|
2d2af20547 | ||
|
|
615bd5148e | ||
|
|
bb75036efe | ||
|
|
66c57c9a4f | ||
|
|
4088941f70 | ||
|
|
4e988dd1fa | ||
|
|
48bc369149 | ||
|
|
204912cb98 | ||
|
|
8c92170cb6 | ||
|
|
dc580c3d0d | ||
|
|
34e7af806a | ||
|
|
855fe5b893 | ||
|
|
e2a8369712 | ||
|
|
effdeb4bc2 | ||
|
|
6a05d9606e | ||
|
|
1ac3372239 | ||
|
|
0ebb256b16 | ||
|
|
096a529618 | ||
|
|
6f42305484 | ||
|
|
69abd222e8 | ||
|
|
7a78f49eb9 | ||
|
|
662233b026 | ||
|
|
c0c6197cff | ||
|
|
d7b87d7bae | ||
|
|
5d845208d9 | ||
|
|
291654bee9 | ||
|
|
31aeb5887a | ||
|
|
f656002a03 | ||
|
|
5748418247 | ||
|
|
1c8b38502a | ||
|
|
9cf9337223 | ||
|
|
2cd4514086 | ||
|
|
92adaee1cb | ||
|
|
893b1d0ba7 | ||
|
|
32c8e84770 | ||
|
|
d238d79e29 | ||
|
|
365630ff39 | ||
|
|
ca5b7f5b16 | ||
|
|
2cf0ed1d69 | ||
|
|
747a16c4ba | ||
|
|
dbd6dbcb5b | ||
|
|
d3603765f4 | ||
|
|
1f97bb39b3 | ||
|
|
dbf3f636fc | ||
|
|
d70042b066 | ||
|
|
42da578193 | ||
|
|
2016310907 | ||
|
|
002fc19d60 | ||
|
|
e10bf167b9 | ||
|
|
6f39c1ddc9 | ||
|
|
a362728861 | ||
|
|
920d2b2db3 | ||
|
|
8dce3d5862 | ||
|
|
4cd0c501da | ||
|
|
9d3972f43f | ||
|
|
071920fb30 | ||
|
|
501153532c | ||
|
|
2620328810 | ||
|
|
81a6512cce | ||
|
|
0c0c41ce87 | ||
|
|
d43e4f20aa | ||
|
|
16d76c2e87 | ||
|
|
970461c509 | ||
|
|
e2989afda8 | ||
|
|
24e09d3d8e | ||
|
|
bd2999037d | ||
|
|
72b4950168 | ||
|
|
31466c44d8 | ||
|
|
9cb1cf418c | ||
|
|
030f9629a6 | ||
|
|
623b2f97da | ||
|
|
0cecdf2937 | ||
|
|
2019552a47 | ||
|
|
82bde7f7e9 | ||
|
|
948f36a023 | ||
|
|
2c5e4a7d28 | ||
|
|
32ba34cba5 | ||
|
|
adbbb6dc20 | ||
|
|
c5408393c8 | ||
|
|
e5c828fbbd | ||
|
|
c12999dc74 | ||
|
|
a2c9c8b82e | ||
|
|
8a4302ffe6 | ||
|
|
a643a8c907 | ||
|
|
b6ce679b93 | ||
|
|
e2831ed8d2 | ||
|
|
7f1507f810 | ||
|
|
891960a977 | ||
|
|
0f3ce658c2 | ||
|
|
b8cfac90e2 | ||
|
|
d1502029d1 | ||
|
|
9b0a2fdc73 | ||
|
|
4a43c84b29 | ||
|
|
e3668a4d06 | ||
|
|
429dabaaee | ||
|
|
ce82a9efa9 | ||
|
|
897e975b49 | ||
|
|
3b00e396d5 | ||
|
|
6d60b0bd8c | ||
|
|
ff3c25d352 | ||
|
|
74f9ec4907 | ||
|
|
29ad61d461 | ||
|
|
58165e9389 | ||
|
|
b456c9df2c | ||
|
|
2bb4d8fb89 | ||
|
|
7b5ee34b68 | ||
|
|
71775c76b1 | ||
|
|
e0dcf3f8b1 | ||
|
|
4b03d6a361 | ||
|
|
f230419614 | ||
|
|
514a5c37fd | ||
|
|
9995ccfd51 | ||
|
|
75d8741eaa | ||
|
|
b1da87f970 | ||
|
|
b02d51c794 | ||
|
|
47d27096db | ||
|
|
1492c8bfb1 | ||
|
|
1502bfef74 | ||
|
|
78dd0ca439 | ||
|
|
43de260b33 | ||
|
|
515fec2858 | ||
|
|
d9f2f1c37b | ||
|
|
c27d5cb721 | ||
|
|
cf4cf6c1af | ||
|
|
d600ae1f74 | ||
|
|
a65c1c1ee5 | ||
|
|
9cf83151cd | ||
|
|
a10246a9bd | ||
|
|
ac844d33ef | ||
|
|
dcf0107a79 | ||
|
|
c4bd6e008e | ||
|
|
79d7bd8379 | ||
|
|
39dc153a22 | ||
|
|
2273cb50b4 | ||
|
|
2856d6db84 | ||
|
|
d4debddc46 | ||
|
|
d1d523e1dc | ||
|
|
650677195c | ||
|
|
9f244f976e | ||
|
|
b4c5ef2d17 | ||
|
|
725897c896 | ||
|
|
24204bce54 | ||
|
|
5771ad35ed | ||
|
|
56a3b3df99 | ||
|
|
6b47999120 | ||
|
|
f07f246f8d | ||
|
|
3e41578d61 | ||
|
|
c7e6efc050 | ||
|
|
707aa4850e | ||
|
|
6cfd970055 | ||
|
|
66f06cb779 | ||
|
|
c8d57c0f6f | ||
|
|
c1b0ef206b | ||
|
|
c58f5a4522 | ||
|
|
ab5fa96668 | ||
|
|
8a28c9ddbc | ||
|
|
85fcddcead | ||
|
|
ff4816a436 | ||
|
|
1c9dfb903d | ||
|
|
238089409a | ||
|
|
e70d5beb0d | ||
|
|
e390cf0d70 | ||
|
|
29e056c71b | ||
|
|
0a2874458b | ||
|
|
0ddf036bd5 | ||
|
|
29d0820b10 | ||
|
|
889942ee76 | ||
|
|
01aaa6b337 | ||
|
|
eaf94aa670 | ||
|
|
1a93aa4085 | ||
|
|
0f67c1151f | ||
|
|
10f6cc7b0b | ||
|
|
733b7ed612 | ||
|
|
1415727f10 | ||
|
|
ebb4bc7e6b | ||
|
|
21357bfe7b | ||
|
|
5cb14fbec5 | ||
|
|
5793a11480 | ||
|
|
2ed6327c1e | ||
|
|
cf030457e0 | ||
|
|
27f77759ed | ||
|
|
dec4f4722b | ||
|
|
8bd822d171 | ||
|
|
13c6666883 | ||
|
|
fa99c4584e | ||
|
|
2aad9e622b | ||
|
|
22c8781047 | ||
|
|
57e146be2b | ||
|
|
1e07fa96a3 | ||
|
|
2eae37d802 | ||
|
|
addc88ccdc | ||
|
|
1fd7f0c5d7 | ||
|
|
d28a235b4d | ||
|
|
3a42dca19e | ||
|
|
d1d1392bb3 | ||
|
|
58aa29a4ae | ||
|
|
e950945170 | ||
|
|
1358d6c455 | ||
|
|
5366d90ff2 | ||
|
|
89f0146c45 | ||
|
|
785c00ae5c | ||
|
|
57bc7d0584 | ||
|
|
fd4f86b1c1 | ||
|
|
62c619434e | ||
|
|
d820d93ac7 | ||
|
|
0d2987620c | ||
|
|
6e7c160249 | ||
|
|
73f3f0aee6 | ||
|
|
478e83a4bf | ||
|
|
06ca9ce815 | ||
|
|
5a22d17459 | ||
|
|
f1466c05cf | ||
|
|
543efd6032 | ||
|
|
98dc1db878 | ||
|
|
432ee72071 | ||
|
|
536bcf28b5 | ||
|
|
c0daed3644 | ||
|
|
0b17a737fe | ||
|
|
1cd84aacc7 | ||
|
|
740bae6a99 | ||
|
|
284ce42177 | ||
|
|
e577c04fae | ||
|
|
b0c8e8980d | ||
|
|
886a1a2abb | ||
|
|
f2e8a619da | ||
|
|
6f3a057608 | ||
|
|
11bd518b6a | ||
|
|
3e66d1a549 | ||
|
|
169386d0b3 | ||
|
|
d52fa1169a | ||
|
|
a09e23d0b9 | ||
|
|
ab7c04074c | ||
|
|
50f82a276f | ||
|
|
a8595eaca2 | ||
|
|
2e49666ee6 | ||
|
|
e4ad14c794 | ||
|
|
02271c5329 | ||
|
|
6e6a6d5518 | ||
|
|
b7d7a71994 | ||
|
|
21afa43127 | ||
|
|
85268cbae2 | ||
|
|
84f1a15a4c |
@@ -4,12 +4,13 @@ _APP_WORKER_PER_CORE=6
|
||||
_APP_CONSOLE_WHITELIST_ROOT=disabled
|
||||
_APP_CONSOLE_WHITELIST_EMAILS=
|
||||
_APP_CONSOLE_WHITELIST_IPS=
|
||||
_APP_CONSOLE_HOSTNAMES=localhost,appwrite.io,*.appwrite.io
|
||||
_APP_SYSTEM_EMAIL_NAME=Appwrite
|
||||
_APP_SYSTEM_EMAIL_ADDRESS=team@appwrite.io
|
||||
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=security@appwrite.io
|
||||
_APP_SYSTEM_RESPONSE_FORMAT=
|
||||
_APP_OPTIONS_ABUSE=disabled
|
||||
_APP_OPTIONS_ROUTER_PROTECTION=disbled
|
||||
_APP_OPTIONS_ROUTER_PROTECTION=disabled
|
||||
_APP_OPTIONS_FORCE_HTTPS=disabled
|
||||
_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=disabled
|
||||
_APP_OPENSSL_KEY_V1=your-secret-key
|
||||
@@ -50,10 +51,6 @@ _APP_STORAGE_WASABI_BUCKET=
|
||||
_APP_STORAGE_ANTIVIRUS=disabled
|
||||
_APP_STORAGE_ANTIVIRUS_HOST=clamav
|
||||
_APP_STORAGE_ANTIVIRUS_PORT=3310
|
||||
_APP_INFLUXDB_HOST=influxdb
|
||||
_APP_INFLUXDB_PORT=8086
|
||||
_APP_STATSD_HOST=telegraf
|
||||
_APP_STATSD_PORT=8125
|
||||
_APP_SMTP_HOST=maildev
|
||||
_APP_SMTP_PORT=1025
|
||||
_APP_SMTP_SECURE=
|
||||
@@ -61,6 +58,7 @@ _APP_SMTP_USERNAME=
|
||||
_APP_SMTP_PASSWORD=
|
||||
_APP_SMS_PROVIDER=sms://username:password@mock
|
||||
_APP_SMS_FROM=+123456789
|
||||
_APP_SMS_PROJECTS_DENY_LIST=
|
||||
_APP_STORAGE_LIMIT=30000000
|
||||
_APP_STORAGE_PREVIEW_LIMIT=20000000
|
||||
_APP_FUNCTIONS_SIZE_LIMIT=30000000
|
||||
@@ -79,7 +77,7 @@ _APP_MAINTENANCE_RETENTION_CACHE=2592000
|
||||
_APP_MAINTENANCE_RETENTION_EXECUTION=1209600
|
||||
_APP_MAINTENANCE_RETENTION_ABUSE=86400
|
||||
_APP_MAINTENANCE_RETENTION_AUDIT=1209600
|
||||
_APP_USAGE_AGGREGATION_INTERVAL=5
|
||||
_APP_USAGE_AGGREGATION_INTERVAL=60000
|
||||
_APP_MAINTENANCE_RETENTION_USAGE_HOURLY=8640000
|
||||
_APP_MAINTENANCE_RETENTION_SCHEDULES=86400
|
||||
_APP_USAGE_STATS=enabled
|
||||
@@ -91,7 +89,7 @@ _APP_GRAPHQL_MAX_DEPTH=3
|
||||
_APP_DOCKER_HUB_USERNAME=
|
||||
_APP_DOCKER_HUB_PASSWORD=
|
||||
_APP_VCS_GITHUB_APP_NAME=
|
||||
_APP_VCS_GITHUB_PRIVATE_KEY=""
|
||||
_APP_VCS_GITHUB_PRIVATE_KEY=disabled
|
||||
_APP_VCS_GITHUB_APP_ID=
|
||||
_APP_VCS_GITHUB_CLIENT_ID=
|
||||
_APP_VCS_GITHUB_CLIENT_SECRET=
|
||||
|
||||
@@ -18,6 +18,10 @@ jobs:
|
||||
|
||||
- run: git checkout HEAD^2
|
||||
|
||||
- name: Validate composer.json and composer.lock
|
||||
run: |
|
||||
docker run --rm -v $PWD:/app composer sh -c \
|
||||
"composer validate"
|
||||
- name: Run Linter
|
||||
run: |
|
||||
docker run --rm -v $PWD:/app composer sh -c \
|
||||
|
||||
@@ -16,7 +16,6 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 2
|
||||
submodules: recursive
|
||||
ref: master
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
|
||||
+128
-42
@@ -4,57 +4,143 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
IMAGE: appwrite-dev
|
||||
CACHE_KEY: appwrite-dev-${{ github.event.pull_request.head.sha }}
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
name: Unit & E2E
|
||||
setup:
|
||||
name: Setup & Build Appwrite Image
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Build Appwrite
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
tags: ${{ env.IMAGE }}
|
||||
load: true
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
outputs: type=docker,dest=/tmp/${{ env.IMAGE }}.tar
|
||||
build-args: |
|
||||
DEBUG=false
|
||||
TESTING=true
|
||||
VERSION=dev
|
||||
|
||||
- name: Cache Docker Image
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
key: ${{ env.CACHE_KEY }}
|
||||
path: /tmp/${{ env.IMAGE }}.tar
|
||||
|
||||
unit_test:
|
||||
name: Unit Test
|
||||
runs-on: ubuntu-latest
|
||||
needs: setup
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
# Fetch submodules
|
||||
submodules: recursive
|
||||
- name: checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# If this run was triggered by a pull request event, then checkout
|
||||
# the head of the pull request instead of the merge commit.
|
||||
- run: git checkout HEAD^2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
- name: Load Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
key: ${{ env.CACHE_KEY }}
|
||||
path: /tmp/${{ env.IMAGE }}.tar
|
||||
fail-on-cache-miss: true
|
||||
|
||||
# This is a separate action that sets up buildx runner
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
- name: Load and Start Appwrite
|
||||
run: |
|
||||
docker load --input /tmp/${{ env.IMAGE }}.tar
|
||||
docker compose up -d
|
||||
sleep 10
|
||||
|
||||
- name: Build Appwrite
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
tags: appwrite-dev
|
||||
load: true
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
build-args: |
|
||||
DEBUG=false
|
||||
TESTING=true
|
||||
VERSION=dev
|
||||
- name: Doctor
|
||||
run: docker compose exec -T appwrite doctor
|
||||
|
||||
- name: Start Appwrite
|
||||
run: |
|
||||
docker compose up -d
|
||||
sleep 30
|
||||
- name: Environment Variables
|
||||
run: docker compose exec -T appwrite vars
|
||||
|
||||
- name: Doctor
|
||||
run: |
|
||||
docker compose logs appwrite
|
||||
docker compose exec -T appwrite doctor
|
||||
- name: Run Unit Tests
|
||||
run: docker compose exec appwrite test /usr/src/code/tests/unit
|
||||
|
||||
- name: Environment Variables
|
||||
run: docker compose exec -T appwrite vars
|
||||
e2e_general_test:
|
||||
name: E2E General Test
|
||||
runs-on: ubuntu-latest
|
||||
needs: setup
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Run Tests
|
||||
run: docker compose exec -T appwrite test --debug
|
||||
- name: Load Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
key: ${{ env.CACHE_KEY }}
|
||||
path: /tmp/${{ env.IMAGE }}.tar
|
||||
fail-on-cache-miss: true
|
||||
|
||||
- name: Load and Start Appwrite
|
||||
run: |
|
||||
docker load --input /tmp/${{ env.IMAGE }}.tar
|
||||
docker compose up -d
|
||||
sleep 10
|
||||
|
||||
- name: Run General Tests
|
||||
run: docker compose exec -T appwrite test /usr/src/code/tests/e2e/General --debug
|
||||
|
||||
e2e_service_test:
|
||||
name: E2E Service Test
|
||||
runs-on: ubuntu-latest
|
||||
needs: setup
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
service:
|
||||
[
|
||||
Account,
|
||||
Avatars,
|
||||
Console,
|
||||
Databases,
|
||||
Functions,
|
||||
GraphQL,
|
||||
Health,
|
||||
Locale,
|
||||
Projects,
|
||||
Realtime,
|
||||
Storage,
|
||||
Teams,
|
||||
Users,
|
||||
Webhooks,
|
||||
VCS,
|
||||
]
|
||||
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Load Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
key: ${{ env.CACHE_KEY }}
|
||||
path: /tmp/${{ env.IMAGE }}.tar
|
||||
fail-on-cache-miss: true
|
||||
|
||||
- name: Load and Start Appwrite
|
||||
run: |
|
||||
docker load --input /tmp/${{ env.IMAGE }}.tar
|
||||
docker compose up -d
|
||||
sleep 10
|
||||
|
||||
- name: Run ${{matrix.service}} Tests
|
||||
run: docker compose exec -T appwrite test /usr/src/code/tests/e2e/Services/${{matrix.service}} --debug
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
[submodule "app/console"]
|
||||
path = app/console
|
||||
url = https://github.com/appwrite/console
|
||||
branch = 3.2.0
|
||||
branch = 3.2.16
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ tasks:
|
||||
command: |
|
||||
docker run --rm --interactive --tty \
|
||||
--volume $PWD:/app \
|
||||
composer update \
|
||||
composer install \
|
||||
--ignore-platform-reqs \
|
||||
--optimize-autoloader \
|
||||
--no-plugins \
|
||||
|
||||
+129
@@ -1,3 +1,132 @@
|
||||
# Version 1.4.14
|
||||
|
||||
## Changes
|
||||
- New usage metrics collection flow [#7005](https://github.com/appwrite/appwrite/pull/7005)
|
||||
- Deprecated influxdb, telegraf containers and removed all of their occurrences from the code.
|
||||
- Removed _APP_INFLUXDB_HOST, _APP_INFLUXDB_PORT, _APP_STATSD_HOST, _APP_STATSD_PORT env variables.
|
||||
- Removed usage labels dependency.
|
||||
- Dropped type attribute from stats collection.
|
||||
- Usage metrics are processed via new usage worker.
|
||||
- updated Metric names.
|
||||
|
||||
# Version 1.4.13
|
||||
|
||||
## Notable changes
|
||||
|
||||
* Change enum size validation in update controller [#7164](https://github.com/appwrite/appwrite/pull/7164)
|
||||
* Bump console to version 3.2.8 in [#7167](https://github.com/appwrite/appwrite/pull/7167)
|
||||
|
||||
## Bug fixes
|
||||
|
||||
* Fix error after adding bigger enum [#7162](https://github.com/appwrite/appwrite/pull/7162)
|
||||
* Add chunkId to abuse key to prevent rate limit for SDKs [#7154](https://github.com/appwrite/appwrite/pull/7154)
|
||||
|
||||
## Miscellaneous
|
||||
|
||||
* Fix enum test case [#7163](https://github.com/appwrite/appwrite/pull/7163)
|
||||
* Add flag to send logs to logger [#7155](https://github.com/appwrite/appwrite/pull/7155)
|
||||
* Add a CI task to validate composer file and lock [#7142](https://github.com/appwrite/appwrite/pull/7142)
|
||||
|
||||
# Version 1.4.12
|
||||
|
||||
## Miscellaneous
|
||||
* Bump console to version 3.2.7 [#7148](https://github.com/appwrite/appwrite/pull/7148)
|
||||
* Chore update database to 0.45.2 [#7138](https://github.com/appwrite/appwrite/pull/7138)
|
||||
* Implement queue thresholds for the health API [#7123](https://github.com/appwrite/appwrite/pull/7123)
|
||||
* Add Authorization::skip to the usage worker [#7124](https://github.com/appwrite/appwrite/pull/7124)
|
||||
|
||||
## Bug fixes
|
||||
* fix: use queueForDeletes in git installation delete endpoint [#7140](https://github.com/appwrite/appwrite/pull/7140)
|
||||
* fix: patch script, make errors silent [#7134](https://github.com/appwrite/appwrite/pull/7134)
|
||||
* fix: repositories recreation script [#7133](https://github.com/appwrite/appwrite/pull/7133)
|
||||
* fix: Only delete repositories linked to the particular project [#7131](https://github.com/appwrite/appwrite/pull/7131)
|
||||
|
||||
# Version 1.4.11
|
||||
|
||||
## Miscellaneous
|
||||
|
||||
* Update database by @abnegate in [#7111](https://github.com/appwrite/appwrite/pull/7111)
|
||||
|
||||
# Version 1.4.10
|
||||
|
||||
## Bug fixes
|
||||
* Handle cases where password history could contain NULLs [#7092](https://github.com/appwrite/appwrite/pull/7092)
|
||||
* Missing functionId error on create execution [#7091](https://github.com/appwrite/appwrite/pull/7091)
|
||||
* Ensure usage endpoints don't throw 500 when usage is disabled [#7087](https://github.com/appwrite/appwrite/pull/7087)
|
||||
* Missing sessionId error when deleting all user sessions [#7085](https://github.com/appwrite/appwrite/pull/7085)
|
||||
* Domain validation in Create Proxy rule results in 500 error [#7084](https://github.com/appwrite/appwrite/pull/7084)
|
||||
* Fix optional services [#7078](https://github.com/appwrite/appwrite/pull/7078)
|
||||
* Fix regression from worker refactor [#7074](https://github.com/appwrite/appwrite/pull/7074)
|
||||
* Use getQueueSize() in the Health service's get X queue endpoints [#7073](https://github.com/appwrite/appwrite/pull/7073)
|
||||
* Delete linked VCS repos and comments [#7066](https://github.com/appwrite/appwrite/pull/7066)
|
||||
|
||||
|
||||
# Version 1.4.9
|
||||
|
||||
## Bug fixes
|
||||
|
||||
* Fix 400 error on function domain execution in [#7059](https://github.com/appwrite/appwrite/pull/7059)
|
||||
|
||||
# Version 1.4.8
|
||||
|
||||
## Notable changes
|
||||
|
||||
* Fix certificate emails and add support for variables in email template subject in [#6495](https://github.com/appwrite/appwrite/)pull/6495
|
||||
* Bump console to version 3.2.5 in [#7027](https://github.com/appwrite/appwrite/pull/7027)
|
||||
* Bump utopia database and storage versions in [#7002](https://github.com/appwrite/appwrite/pull/7002)
|
||||
|
||||
## Bug fixes
|
||||
|
||||
* Fixes cookie headers not being passed properly by router in [#7024](https://github.com/appwrite/appwrite/pull/7024)
|
||||
* Fix permission problem in deletes worker in [#7013](https://github.com/appwrite/appwrite/pull/7013)
|
||||
|
||||
## Miscellaneous
|
||||
|
||||
* Improve error handling in the realtime service in [#6998](https://github.com/appwrite/appwrite/pull/6998)
|
||||
* Update the error code for unsupported protocol in [#7006](https://github.com/appwrite/appwrite/pull/7006)
|
||||
* Improve CI tests by executing them in parallel in [#6198](https://github.com/appwrite/appwrite/pull/6198)
|
||||
* Update README.md to add links to orchestration tools in [#7011](https://github.com/appwrite/appwrite/pull/7011)
|
||||
* Update gitpod setup to install instead of update dependencies in [#6938](https://github.com/appwrite/appwrite/pull/6938)
|
||||
* Remove analytics from install script in [#7017](https://github.com/appwrite/appwrite/pull/7017)
|
||||
* Improve database logging in [#7003](https://github.com/appwrite/appwrite/pull/7003)
|
||||
* Add VCS tests in [#6894](https://github.com/appwrite/appwrite/pull/6894)
|
||||
* Improve error messages in [#6487](https://github.com/appwrite/appwrite/pull/6487)
|
||||
* Add command to delete orphaned projects in [#7015](https://github.com/appwrite/appwrite/pull/7015)
|
||||
|
||||
# Version 1.4.7
|
||||
|
||||
## Fixes
|
||||
- Fix missing body in async function execution in [#6988](https://github.com/appwrite/appwrite/pull/6988)
|
||||
|
||||
# Version 1.4.6
|
||||
|
||||
## Changes
|
||||
- Bump console to version 3.2.3 in [#6947](https://github.com/appwrite/appwrite/pull/6947)
|
||||
- New health endpoints in [#6319](https://github.com/appwrite/appwrite/pull/6319)
|
||||
- 30 second sync executions timeout in [#6370](https://github.com/appwrite/appwrite/pull/6370)
|
||||
- Feat db per worker in [#6888](https://github.com/appwrite/appwrite/pull/6888)
|
||||
- Feat: Dart 3.1 support in [#6936](https://github.com/appwrite/appwrite/pull/6936)
|
||||
- chore: remove resque library and update health check endpoints in [#6946](https://github.com/appwrite/appwrite/pull/6946)
|
||||
- Refactor workers in [#6928](https://github.com/appwrite/appwrite/pull/6928)
|
||||
|
||||
## Fixes
|
||||
- Fix realtime deletes in [#6897](https://github.com/appwrite/appwrite/pull/6897)
|
||||
- Update teamInternalId when updating project team in [#6898](https://github.com/appwrite/appwrite/pull/6898)
|
||||
- Fix: spanish translations (emails) in [#5290](https://github.com/appwrite/appwrite/pull/5290)
|
||||
- chore: fix spec links in [#6434](https://github.com/appwrite/appwrite/pull/6434)
|
||||
- Delegate custom deletes in [#6934](https://github.com/appwrite/appwrite/pull/6934)
|
||||
|
||||
# Version 1.4.5
|
||||
|
||||
## Changes
|
||||
- Bump console to version 3.2.1 in [#6868](https://github.com/appwrite/appwrite/pull/6868)
|
||||
|
||||
## Fixes
|
||||
- Fix realtime logs in [#6478](https://github.com/appwrite/appwrite/pull/6478)
|
||||
- Fix "File not found" error in executor in [#6476](https://github.com/appwrite/appwrite/pull/6476)
|
||||
- Fix missing array flag on migration errors response model rule in [#6469](https://github.com/appwrite/appwrite/pull/6469)
|
||||
- Ensure openruntimes-executor restarts after a server reboot in [#6490](https://github.com/appwrite/appwrite/pull/6490)
|
||||
|
||||
# Version 1.4.4
|
||||
|
||||
## Features
|
||||
|
||||
+7
-5
@@ -2,6 +2,11 @@
|
||||
|
||||
We would ❤️ you to contribute to Appwrite and help make it better! We want contributing to Appwrite to be fun, enjoyable, and educational for anyone and everyone. All contributions are welcome, including issues, and new docs, as well as updates and tweaks, blog posts, workshops, and more.
|
||||
|
||||
## Here for Hacktoberfest?
|
||||
If you're here to contribute during Hacktoberfest, we're so happy to see you here. Appwrite has been a long-time participant of Hacktoberfest and we welcome you, whatever your experience level. This year, we're **only taking contributions for issues tagged** `hacktoberfest`, so we can focus our resources to support your contributions.
|
||||
|
||||
You can [find issues using this query](https://github.com/search?q=org%3Aappwrite+is%3Aopen+type%3Aissue+label%3Ahacktoberfest&type=issues).
|
||||
|
||||
## How to Start?
|
||||
|
||||
If you are worried or don’t know where to start, check out the next section that explains what kind of help we could use and where you can get involved. You can send your questions to [@appwrite](https://twitter.com/appwrite) on Twitter or to anyone from the [Appwrite team on Discord](https://appwrite.io/discord). You can also submit an issue, and a maintainer can guide you!
|
||||
@@ -84,7 +89,7 @@ $ git push origin [name_of_your_new_branch]
|
||||
|
||||
To set up a working **development environment**, just fork the project git repository and install the backend and frontend dependencies using the proper package manager and create run the docker-compose stack.
|
||||
|
||||
> If you just want to install Appwrite for day-to-day use and not as a contributor, you can reference the [installation guide](https://github.com/appwrite/appwrite#installation), the [getting started guide](https://appwrite.io/docs/getting-started-for-web), or the main [README](README.md) file.
|
||||
> If you just want to install Appwrite for day-to-day use and not as a contributor, you can reference the [installation guide](https://github.com/appwrite/appwrite#installation), the [getting started guide](https://appwrite.io/docs/quick-starts), or the main [README](README.md) file.
|
||||
|
||||
```bash
|
||||
git clone git@github.com:[YOUR_FORK_HERE]/appwrite.git
|
||||
@@ -201,12 +206,10 @@ Appwrite's current structure is a combination of both [Monolithic](https://en.wi
|
||||
│ ├── Network
|
||||
│ ├── OpenSSL
|
||||
│ ├── Promises
|
||||
│ ├── Resque
|
||||
│ ├── Specification
|
||||
│ ├── Task
|
||||
│ ├── Template
|
||||
│ ├── URL
|
||||
│ ├── Usage
|
||||
│ └── Utopia
|
||||
└── tests # End to end & unit tests
|
||||
├── e2e
|
||||
@@ -246,7 +249,6 @@ Appwrite stack is a combination of a variety of open-source technologies and too
|
||||
- Imagemagick - for manipulating and managing image media files.
|
||||
- Webp - for better compression of images on supporting clients.
|
||||
- SMTP - for sending email messages and alerts.
|
||||
- Resque - for managing data queues and scheduled tasks over a Redis server.
|
||||
|
||||
## Package Managers
|
||||
|
||||
@@ -451,7 +453,7 @@ From time to time, our team will add tutorials that will help contributors find
|
||||
|
||||
- [Adding Support for a New OAuth2 Provider](./docs/tutorials/add-oauth2-provider.md)
|
||||
- [Appwrite Environment Variables](./docs/tutorials/add-environment-variable.md)
|
||||
- [Running in Production](https://appwrite.io/docs/production)
|
||||
- [Running in Production](https://appwrite.io/docs/advanced/self-hosting/production)
|
||||
- [Adding Storage Adapter](./docs/tutorials/add-storage-adapter.md)
|
||||
|
||||
## Other Ways to Help
|
||||
|
||||
+6
-10
@@ -74,7 +74,6 @@ RUN mkdir -p /storage/uploads && \
|
||||
# Executables
|
||||
RUN chmod +x /usr/local/bin/doctor && \
|
||||
chmod +x /usr/local/bin/maintenance && \
|
||||
chmod +x /usr/local/bin/usage && \
|
||||
chmod +x /usr/local/bin/install && \
|
||||
chmod +x /usr/local/bin/upgrade && \
|
||||
chmod +x /usr/local/bin/migrate && \
|
||||
@@ -85,6 +84,10 @@ RUN chmod +x /usr/local/bin/doctor && \
|
||||
chmod +x /usr/local/bin/ssl && \
|
||||
chmod +x /usr/local/bin/test && \
|
||||
chmod +x /usr/local/bin/vars && \
|
||||
chmod +x /usr/local/bin/queue-retry && \
|
||||
chmod +x /usr/local/bin/queue-count-failed && \
|
||||
chmod +x /usr/local/bin/queue-count-processing && \
|
||||
chmod +x /usr/local/bin/queue-count-success && \
|
||||
chmod +x /usr/local/bin/worker-audits && \
|
||||
chmod +x /usr/local/bin/worker-certificates && \
|
||||
chmod +x /usr/local/bin/worker-databases && \
|
||||
@@ -94,16 +97,9 @@ RUN chmod +x /usr/local/bin/doctor && \
|
||||
chmod +x /usr/local/bin/worker-mails && \
|
||||
chmod +x /usr/local/bin/worker-messaging && \
|
||||
chmod +x /usr/local/bin/worker-webhooks && \
|
||||
chmod +x /usr/local/bin/worker-migrations
|
||||
chmod +x /usr/local/bin/worker-migrations && \
|
||||
chmod +x /usr/local/bin/worker-usage
|
||||
|
||||
# Cloud Executabless
|
||||
RUN chmod +x /usr/local/bin/hamster && \
|
||||
chmod +x /usr/local/bin/volume-sync && \
|
||||
chmod +x /usr/local/bin/patch-delete-schedule-updated-at-attribute && \
|
||||
chmod +x /usr/local/bin/patch-delete-project-collections && \
|
||||
chmod +x /usr/local/bin/clear-card-cache && \
|
||||
chmod +x /usr/local/bin/calc-users-stats && \
|
||||
chmod +x /usr/local/bin/calc-tier-stats
|
||||
|
||||
# Letsencrypt Permissions
|
||||
RUN mkdir -p /etc/letsencrypt/live/ && chmod -Rf 755 /etc/letsencrypt/live/
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Appwrite hacktoberfest contribution
|
||||
|
||||
Welcome to the Appwrite Hacktoberfest contribution! We appreciate your interest in contributing to our open-source project. Please read this carefully to understand how to get started and make your contributions count.
|
||||
|
||||
## Familiarize with the project
|
||||
|
||||
Before you start contributing, familiarize yourself with our project by reading the [main README](https://github.com/appwrite/appwrite/blob/main/README.md).
|
||||
|
||||
## Code of conduct
|
||||
|
||||
Please ensure that you always follow our [Code of Conduct](https://github.com/appwrite/awesome-appwrite/blob/master/CODE_OF_CONDUCT.md). We aim to maintain a respectful and inclusive community.
|
||||
|
||||
## Contributing guide
|
||||
|
||||
Please review our [Contributing Guide](https://github.com/appwrite/appwrite/blob/main/CONTRIBUTING.md) before contributing. It will help you learn about the architecture, instructions on how to update code, run tests, and submit a PR.
|
||||
|
||||
## Hacktoberfest contribution guidelines
|
||||
|
||||
To participate in Hacktoberfest with Appwrite, follow these guidelines:
|
||||
|
||||
1. **Valid issues**: To make your contribution count, please look for issues labeled with `hacktoberfest`. Only issues labeled with `hacktoberfest` will count as a valid contribution.
|
||||
|
||||
2. **Wait for issue assignment**: After you have identified an issue to work on, please wait for it to be assigned to you by our team. We assign issues on a first-come, first-serve basis.
|
||||
|
||||
3. **Knowing about labels**: We do not have the `hacktoberfest` label in our repositories, but we use it on specific issues. For your pull request to be valid, our team will review and add the `hacktoberfest-accepted` label once it meets the criteria.
|
||||
|
||||
4. **Discuss new issues**: If you're interested in finding and adding new issues for Hacktoberfest, please discuss it with the team on our [Discord server](https://appwrite.io/discord) in the `#hacktoberfest` channel.
|
||||
|
||||
5. **Be patient with pull request reviews**: PR reviews may take up to 15 days due to the volume of contributions. However, we also host PR review parties every week where you can add your PRs for instant review.
|
||||
|
||||
6. **Regular updates**: If you've been assigned an issue, it's essential to share updates every 3 days. Failure to do so may result in being unassigned from the issue.
|
||||
|
||||
## Getting started
|
||||
|
||||
1. Fork the Appwrite repository you'd like to contribute to.
|
||||
|
||||
2. Clone your forked repository to your local machine.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-username/repository-name.git
|
||||
```
|
||||
|
||||
3. Create a new branch for your contribution.
|
||||
|
||||
```bash
|
||||
git checkout -b TYPE-ISSUE_ID-DESCRIPTION
|
||||
```
|
||||
4. Make your changes, commit them, and push them to your forked repository.
|
||||
|
||||
```bash
|
||||
git commit -m "Add your commit message here"
|
||||
git push origin TYPE-ISSUE_ID-DESCRIPTION
|
||||
```
|
||||
|
||||
5. Create a Pull Request (PR) from your forked repository to the Appwrite repository. Be sure to reference the issue you are addressing in your PR description.
|
||||
|
||||
Thank you for contributing to Appwrite, and we look forward to your Hacktoberfest contributions! If you have any questions or need assistance, feel free to ask on our Discord server or in the issue discussion. Happy hacking!
|
||||
+5
-5
@@ -2,7 +2,7 @@
|
||||
|
||||
<br />
|
||||
<p align="center">
|
||||
<a href="https://appwrite.io" target="_blank"><img width="260" height="39" src="https://appwrite.io/images/appwrite.svg" alt="Appwrite Logo"></a>
|
||||
<a href="https://appwrite.io" target="_blank"><img src="./public/images/banner.png" alt="Appwrite Logo"></a>
|
||||
<br />
|
||||
<br />
|
||||
<b>适用于[Flutter/Vue/Angular/React/iOS/Android/* 等等平台 *]的完整后端服务</b>
|
||||
@@ -55,7 +55,7 @@ Appwrite 可以提供给开发者用户验证,外部授权,用户数据读
|
||||
|
||||
## 安装
|
||||
|
||||
Appwrite 的容器化服务器只需要一行指令就可以运行。您可以使用 docker-compose 在本地主机上运行 Appwrite,也可以在任何其他容器化工具(如 Kubernetes、Docker Swarm 或 Rancher)上运行 Appwrite。
|
||||
Appwrite 的容器化服务器只需要一行指令就可以运行。您可以使用 docker-compose 在本地主机上运行 Appwrite,也可以在任何其他容器化工具(如 [Kubernetes](https://kubernetes.io/docs/home/)、[Docker Swarm](https://docs.docker.com/engine/swarm/) 或 [Rancher](https://rancher.com/docs/))上运行 Appwrite。
|
||||
|
||||
启动 Appwrite 服务器的最简单方法是运行我们的 docker-compose 文件。在运行安装命令之前,请确保您的机器上安装了 [Docker](https://dockerdocs.cn/get-docker/index.html):
|
||||
|
||||
@@ -66,7 +66,7 @@ docker run -it --rm \
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||||
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
|
||||
--entrypoint="install" \
|
||||
appwrite/appwrite:1.4.4
|
||||
appwrite/appwrite:1.4.13
|
||||
```
|
||||
|
||||
### Windows
|
||||
@@ -78,7 +78,7 @@ docker run -it --rm ^
|
||||
--volume //var/run/docker.sock:/var/run/docker.sock ^
|
||||
--volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
|
||||
--entrypoint="install" ^
|
||||
appwrite/appwrite:1.4.4
|
||||
appwrite/appwrite:1.4.13
|
||||
```
|
||||
|
||||
#### PowerShell
|
||||
@@ -88,7 +88,7 @@ docker run -it --rm `
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock `
|
||||
--volume ${pwd}/appwrite:/usr/src/code/appwrite:rw `
|
||||
--entrypoint="install" `
|
||||
appwrite/appwrite:1.4.4
|
||||
appwrite/appwrite:1.4.13
|
||||
```
|
||||
|
||||
运行后,可以在浏览器上访问 http://localhost 找到 Appwrite 控制台。在非 Linux 的本机主机上完成安装后,服务器可能需要几分钟才能启动。
|
||||
|
||||
@@ -65,7 +65,7 @@ Table of Contents:
|
||||
|
||||
## Installation
|
||||
|
||||
Appwrite is designed to run in a containerized environment. Running your server is as easy as running one command from your terminal. You can either run Appwrite on your localhost using docker-compose or on any other container orchestration tool, such as Kubernetes, Docker Swarm, or Rancher.
|
||||
Appwrite is designed to run in a containerized environment. Running your server is as easy as running one command from your terminal. You can either run Appwrite on your localhost using docker-compose or on any other container orchestration tool, such as [Kubernetes](https://kubernetes.io/docs/home/), [Docker Swarm](https://docs.docker.com/engine/swarm/), or [Rancher](https://rancher.com/docs/).
|
||||
|
||||
The easiest way to start running your Appwrite server is by running our docker-compose file. Before running the installation command, make sure you have [Docker](https://www.docker.com/products/docker-desktop) installed on your machine:
|
||||
|
||||
@@ -76,7 +76,7 @@ docker run -it --rm \
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||||
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
|
||||
--entrypoint="install" \
|
||||
appwrite/appwrite:1.4.4
|
||||
appwrite/appwrite:1.4.13
|
||||
```
|
||||
|
||||
### Windows
|
||||
@@ -88,7 +88,7 @@ docker run -it --rm ^
|
||||
--volume //var/run/docker.sock:/var/run/docker.sock ^
|
||||
--volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
|
||||
--entrypoint="install" ^
|
||||
appwrite/appwrite:1.4.4
|
||||
appwrite/appwrite:1.4.13
|
||||
```
|
||||
|
||||
#### PowerShell
|
||||
@@ -98,7 +98,7 @@ docker run -it --rm `
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock `
|
||||
--volume ${pwd}/appwrite:/usr/src/code/appwrite:rw `
|
||||
--entrypoint="install" `
|
||||
appwrite/appwrite:1.4.4
|
||||
appwrite/appwrite:1.4.13
|
||||
```
|
||||
|
||||
Once the Docker installation is complete, go to http://localhost to access the Appwrite console from your browser. Please note that on non-Linux native hosts, the server might take a few minutes to start after completing the installation.
|
||||
|
||||
+28
-32
@@ -3,7 +3,10 @@
|
||||
require_once __DIR__ . '/init.php';
|
||||
require_once __DIR__ . '/controllers/general.php';
|
||||
|
||||
use Appwrite\Event\Delete;
|
||||
use Appwrite\Event\Certificate;
|
||||
use Appwrite\Event\Func;
|
||||
use Appwrite\Event\Hamster;
|
||||
use Appwrite\Platform\Appwrite;
|
||||
use Utopia\CLI\CLI;
|
||||
use Utopia\Database\Validator\Authorization;
|
||||
@@ -17,6 +20,7 @@ use Utopia\Database\Database;
|
||||
use Utopia\Database\Document;
|
||||
use Utopia\Logger\Log;
|
||||
use Utopia\Pools\Group;
|
||||
use Utopia\Queue\Connection;
|
||||
use Utopia\Registry\Registry;
|
||||
|
||||
Authorization::disable();
|
||||
@@ -58,7 +62,11 @@ CLI::setResource('dbForConsole', function ($pools, $cache) {
|
||||
->getResource();
|
||||
|
||||
$dbForConsole = new Database($dbAdapter, $cache);
|
||||
$dbForConsole->setNamespace('_console');
|
||||
|
||||
$dbForConsole
|
||||
->setNamespace('_console')
|
||||
->setMetadata('host', \gethostname())
|
||||
->setMetadata('project', 'console');
|
||||
|
||||
// Ensure tables exist
|
||||
$collections = Config::getParam('collections', [])['console'];
|
||||
@@ -86,7 +94,7 @@ CLI::setResource('dbForConsole', function ($pools, $cache) {
|
||||
CLI::setResource('getProjectDB', function (Group $pools, Database $dbForConsole, $cache) {
|
||||
$databases = []; // TODO: @Meldiron This should probably be responsibility of utopia-php/pools
|
||||
|
||||
$getProjectDB = function (Document $project) use ($pools, $dbForConsole, $cache, &$databases) {
|
||||
return function (Document $project) use ($pools, $dbForConsole, $cache, &$databases) {
|
||||
if ($project->isEmpty() || $project->getId() === 'console') {
|
||||
return $dbForConsole;
|
||||
}
|
||||
@@ -108,42 +116,30 @@ CLI::setResource('getProjectDB', function (Group $pools, Database $dbForConsole,
|
||||
|
||||
$databases[$databaseName] = $database;
|
||||
|
||||
$database->setNamespace('_' . $project->getInternalId());
|
||||
$database
|
||||
->setNamespace('_' . $project->getInternalId())
|
||||
->setMetadata('host', \gethostname())
|
||||
->setMetadata('project', $project->getId());
|
||||
|
||||
return $database;
|
||||
};
|
||||
|
||||
return $getProjectDB;
|
||||
}, ['pools', 'dbForConsole', 'cache']);
|
||||
|
||||
CLI::setResource('influxdb', function (Registry $register) {
|
||||
$client = $register->get('influxdb'); /** @var InfluxDB\Client $client */
|
||||
$attempts = 0;
|
||||
$max = 10;
|
||||
$sleep = 1;
|
||||
|
||||
do { // check if telegraf database is ready
|
||||
try {
|
||||
$attempts++;
|
||||
$database = $client->selectDB('telegraf');
|
||||
if (in_array('telegraf', $client->listDatabases())) {
|
||||
break; // leave the do-while if successful
|
||||
}
|
||||
} catch (\Throwable $th) {
|
||||
Console::warning("InfluxDB not ready. Retrying connection ({$attempts})...");
|
||||
if ($attempts >= $max) {
|
||||
throw new \Exception('InfluxDB database not ready yet');
|
||||
}
|
||||
sleep($sleep);
|
||||
}
|
||||
} while ($attempts < $max);
|
||||
return $database;
|
||||
}, ['register']);
|
||||
|
||||
CLI::setResource('queueForFunctions', function (Group $pools) {
|
||||
return new Func($pools->get('queue')->pop()->getResource());
|
||||
CLI::setResource('queue', function (Group $pools) {
|
||||
return $pools->get('queue')->pop()->getResource();
|
||||
}, ['pools']);
|
||||
|
||||
CLI::setResource('queueForFunctions', function (Connection $queue) {
|
||||
return new Func($queue);
|
||||
}, ['queue']);
|
||||
CLI::setResource('queueForHamster', function (Connection $queue) {
|
||||
return new Hamster($queue);
|
||||
}, ['queue']);
|
||||
CLI::setResource('queueForDeletes', function (Connection $queue) {
|
||||
return new Delete($queue);
|
||||
}, ['queue']);
|
||||
CLI::setResource('queueForCertificates', function (Connection $queue) {
|
||||
return new Certificate($queue);
|
||||
}, ['queue']);
|
||||
CLI::setResource('logError', function (Registry $register) {
|
||||
return function (Throwable $error, string $namespace, string $action) use ($register) {
|
||||
$logger = $register->get('logger');
|
||||
|
||||
+62
-73
@@ -18,6 +18,63 @@ $auth = Config::getParam('auth', []);
|
||||
*/
|
||||
|
||||
$commonCollections = [
|
||||
'cache' => [
|
||||
'$collection' => Database::METADATA,
|
||||
'$id' => 'cache',
|
||||
'name' => 'Cache',
|
||||
'attributes' => [
|
||||
[
|
||||
'$id' => 'resource',
|
||||
'type' => Database::VAR_STRING,
|
||||
'format' => '',
|
||||
'size' => 255,
|
||||
'signed' => true,
|
||||
'required' => false,
|
||||
'default' => null,
|
||||
'array' => false,
|
||||
'filters' => [],
|
||||
],
|
||||
[
|
||||
'$id' => 'accessedAt',
|
||||
'type' => Database::VAR_DATETIME,
|
||||
'format' => '',
|
||||
'size' => 0,
|
||||
'signed' => false,
|
||||
'required' => false,
|
||||
'default' => null,
|
||||
'array' => false,
|
||||
'filters' => ['datetime'],
|
||||
],
|
||||
[
|
||||
'$id' => 'signature',
|
||||
'type' => Database::VAR_STRING,
|
||||
'format' => '',
|
||||
'size' => 255,
|
||||
'signed' => true,
|
||||
'required' => false,
|
||||
'default' => null,
|
||||
'array' => false,
|
||||
'filters' => [],
|
||||
],
|
||||
],
|
||||
'indexes' => [
|
||||
[
|
||||
'$id' => '_key_accessedAt',
|
||||
'type' => Database::INDEX_KEY,
|
||||
'attributes' => ['accessedAt'],
|
||||
'lengths' => [],
|
||||
'orders' => [],
|
||||
],
|
||||
[
|
||||
'$id' => '_key_resource',
|
||||
'type' => Database::INDEX_KEY,
|
||||
'attributes' => ['resource'],
|
||||
'lengths' => [],
|
||||
'orders' => [],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'users' => [
|
||||
'$collection' => ID::custom(Database::METADATA),
|
||||
'$id' => ID::custom('users'),
|
||||
@@ -1270,10 +1327,10 @@ $commonCollections = [
|
||||
]
|
||||
],
|
||||
|
||||
'stats' => [
|
||||
'stats_v2' => [
|
||||
'$collection' => ID::custom(Database::METADATA),
|
||||
'$id' => ID::custom('stats'),
|
||||
'name' => 'Stats',
|
||||
'$id' => ID::custom('stats_v2'),
|
||||
'name' => 'stats_v2',
|
||||
'attributes' => [
|
||||
[
|
||||
'$id' => ID::custom('metric'),
|
||||
@@ -1302,7 +1359,7 @@ $commonCollections = [
|
||||
'type' => Database::VAR_INTEGER,
|
||||
'format' => '',
|
||||
'size' => 8,
|
||||
'signed' => false,
|
||||
'signed' => true,
|
||||
'required' => true,
|
||||
'default' => null,
|
||||
'array' => false,
|
||||
@@ -1330,17 +1387,6 @@ $commonCollections = [
|
||||
'array' => false,
|
||||
'filters' => [],
|
||||
],
|
||||
[
|
||||
'$id' => ID::custom('type'),
|
||||
'type' => Database::VAR_INTEGER,
|
||||
'format' => '',
|
||||
'size' => 1,
|
||||
'signed' => false,
|
||||
'required' => true,
|
||||
'default' => 0, // 0 -> count, 1 -> sum
|
||||
'array' => false,
|
||||
'filters' => [],
|
||||
],
|
||||
],
|
||||
'indexes' => [
|
||||
[
|
||||
@@ -1359,7 +1405,7 @@ $commonCollections = [
|
||||
],
|
||||
[
|
||||
'$id' => ID::custom('_key_metric_period_time'),
|
||||
'type' => Database::INDEX_KEY,
|
||||
'type' => Database::INDEX_UNIQUE,
|
||||
'attributes' => ['metric', 'period', 'time'],
|
||||
'lengths' => [],
|
||||
'orders' => [Database::ORDER_DESC],
|
||||
@@ -2883,63 +2929,6 @@ $projectCollections = array_merge([
|
||||
],
|
||||
],
|
||||
|
||||
'cache' => [
|
||||
'$collection' => Database::METADATA,
|
||||
'$id' => 'cache',
|
||||
'name' => 'Cache',
|
||||
'attributes' => [
|
||||
[
|
||||
'$id' => 'resource',
|
||||
'type' => Database::VAR_STRING,
|
||||
'format' => '',
|
||||
'size' => 255,
|
||||
'signed' => true,
|
||||
'required' => false,
|
||||
'default' => null,
|
||||
'array' => false,
|
||||
'filters' => [],
|
||||
],
|
||||
[
|
||||
'$id' => 'accessedAt',
|
||||
'type' => Database::VAR_DATETIME,
|
||||
'format' => '',
|
||||
'size' => 0,
|
||||
'signed' => false,
|
||||
'required' => false,
|
||||
'default' => null,
|
||||
'array' => false,
|
||||
'filters' => ['datetime'],
|
||||
],
|
||||
[
|
||||
'$id' => 'signature',
|
||||
'type' => Database::VAR_STRING,
|
||||
'format' => '',
|
||||
'size' => 255,
|
||||
'signed' => true,
|
||||
'required' => false,
|
||||
'default' => null,
|
||||
'array' => false,
|
||||
'filters' => [],
|
||||
],
|
||||
],
|
||||
'indexes' => [
|
||||
[
|
||||
'$id' => '_key_accessedAt',
|
||||
'type' => Database::INDEX_KEY,
|
||||
'attributes' => ['accessedAt'],
|
||||
'lengths' => [],
|
||||
'orders' => [],
|
||||
],
|
||||
[
|
||||
'$id' => '_key_resource',
|
||||
'type' => Database::INDEX_KEY,
|
||||
'attributes' => ['resource'],
|
||||
'lengths' => [],
|
||||
'orders' => [],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'variables' => [
|
||||
'$collection' => Database::METADATA,
|
||||
'$id' => 'variables',
|
||||
|
||||
+54
-8
@@ -86,7 +86,7 @@ return [
|
||||
Exception::GENERAL_PROTOCOL_UNSUPPORTED => [
|
||||
'name' => Exception::GENERAL_PROTOCOL_UNSUPPORTED,
|
||||
'description' => 'The request cannot be fulfilled with the current protocol. Please check the value of the _APP_OPTIONS_FORCE_HTTPS environment variable.',
|
||||
'code' => 500,
|
||||
'code' => 426,
|
||||
],
|
||||
Exception::GENERAL_CODES_DISABLED => [
|
||||
'name' => Exception::GENERAL_CODES_DISABLED,
|
||||
@@ -209,6 +209,7 @@ return [
|
||||
'name' => Exception::USER_AUTH_METHOD_UNSUPPORTED,
|
||||
'description' => 'The requested authentication method is either disabled or unsupported. Please check the supported authentication methods in the Appwrite console.',
|
||||
'code' => 501,
|
||||
'publish' => false,
|
||||
],
|
||||
Exception::USER_PHONE_ALREADY_EXISTS => [
|
||||
'name' => Exception::USER_PHONE_ALREADY_EXISTS,
|
||||
@@ -240,6 +241,16 @@ return [
|
||||
'description' => 'OAuth2 provider returned some error.',
|
||||
'code' => 424,
|
||||
],
|
||||
Exception::USER_EMAIL_ALREADY_VERIFIED => [
|
||||
'name' => Exception::USER_EMAIL_ALREADY_VERIFIED,
|
||||
'description' => 'User email is already verified',
|
||||
'code' => 409,
|
||||
],
|
||||
Exception::USER_PHONE_ALREADY_VERIFIED => [
|
||||
'name' => Exception::USER_PHONE_ALREADY_VERIFIED,
|
||||
'description' => 'User phone is already verified',
|
||||
'code' => 409
|
||||
],
|
||||
|
||||
/** Teams */
|
||||
Exception::TEAM_NOT_FOUND => [
|
||||
@@ -355,7 +366,7 @@ return [
|
||||
],
|
||||
Exception::STORAGE_BUCKET_ALREADY_EXISTS => [
|
||||
'name' => Exception::STORAGE_BUCKET_ALREADY_EXISTS,
|
||||
'description' => 'A storage bucket with the requested ID already exists. Try again with a different ID or use "unique()" to generate a unique ID.',
|
||||
'description' => 'A storage bucket with the requested ID already exists. Try again with a different ID or use ID.unique() to generate a unique ID.',
|
||||
'code' => 409,
|
||||
],
|
||||
Exception::STORAGE_BUCKET_NOT_FOUND => [
|
||||
@@ -460,12 +471,16 @@ return [
|
||||
'description' => 'Database not found',
|
||||
'code' => 404
|
||||
],
|
||||
|
||||
Exception::DATABASE_ALREADY_EXISTS => [
|
||||
'name' => Exception::DATABASE_ALREADY_EXISTS,
|
||||
'description' => 'Database already exists',
|
||||
'code' => 409
|
||||
],
|
||||
Exception::DATABASE_TIMEOUT => [
|
||||
'name' => Exception::DATABASE_TIMEOUT,
|
||||
'description' => 'Database timed out. Try adjusting your queries or adding an index.',
|
||||
'code' => 408
|
||||
],
|
||||
|
||||
/** Collections */
|
||||
Exception::COLLECTION_NOT_FOUND => [
|
||||
@@ -475,7 +490,7 @@ return [
|
||||
],
|
||||
Exception::COLLECTION_ALREADY_EXISTS => [
|
||||
'name' => Exception::COLLECTION_ALREADY_EXISTS,
|
||||
'description' => 'A collection with the requested ID already exists. Try again with a different ID or use "unique()" to generate a unique ID.',
|
||||
'description' => 'A collection with the requested ID already exists. Try again with a different ID or use ID.unique() to generate a unique ID.',
|
||||
'code' => 409,
|
||||
],
|
||||
Exception::COLLECTION_LIMIT_EXCEEDED => [
|
||||
@@ -507,7 +522,7 @@ return [
|
||||
],
|
||||
Exception::DOCUMENT_ALREADY_EXISTS => [
|
||||
'name' => Exception::DOCUMENT_ALREADY_EXISTS,
|
||||
'description' => 'Document with the requested ID already exists. Try again with a different ID or use "unique()" to generate a unique ID.',
|
||||
'description' => 'Document with the requested ID already exists. Try again with a different ID or use ID.unique() to generate a unique ID.',
|
||||
'code' => 409,
|
||||
],
|
||||
Exception::DOCUMENT_UPDATE_CONFLICT => [
|
||||
@@ -549,7 +564,7 @@ return [
|
||||
],
|
||||
Exception::ATTRIBUTE_ALREADY_EXISTS => [
|
||||
'name' => Exception::ATTRIBUTE_ALREADY_EXISTS,
|
||||
'description' => 'Attribute with the requested ID already exists. Try again with a different ID or use "unique()" to generate a unique ID.',
|
||||
'description' => 'Attribute with the requested key already exists. Attribute keys must be unique, try again with a different key.',
|
||||
'code' => 409,
|
||||
],
|
||||
Exception::ATTRIBUTE_LIMIT_EXCEEDED => [
|
||||
@@ -581,7 +596,7 @@ return [
|
||||
],
|
||||
Exception::INDEX_ALREADY_EXISTS => [
|
||||
'name' => Exception::INDEX_ALREADY_EXISTS,
|
||||
'description' => 'Index with the requested ID already exists. Try again with a different ID or use "unique()" to generate a unique ID.',
|
||||
'description' => 'Index with the requested key already exists. Try again with a different key.',
|
||||
'code' => 409,
|
||||
],
|
||||
Exception::INDEX_INVALID => [
|
||||
@@ -598,7 +613,7 @@ return [
|
||||
],
|
||||
Exception::PROJECT_ALREADY_EXISTS => [
|
||||
'name' => Exception::PROJECT_ALREADY_EXISTS,
|
||||
'description' => 'Project with the requested ID already exists. Try again with a different ID or use "unique()" to generate a unique ID.',
|
||||
'description' => 'Project with the requested ID already exists. Try again with a different ID or use ID.unique() to generate a unique ID.',
|
||||
'code' => 409,
|
||||
],
|
||||
Exception::PROJECT_UNKNOWN => [
|
||||
@@ -665,6 +680,7 @@ return [
|
||||
'name' => Exception::RULE_VERIFICATION_FAILED,
|
||||
'description' => 'Domain verification failed. Please check if your DNS records are correct and try again.',
|
||||
'code' => 401,
|
||||
'publish' => true
|
||||
],
|
||||
Exception::PROJECT_SMTP_CONFIG_INVALID => [
|
||||
'name' => Exception::PROJECT_SMTP_CONFIG_INVALID,
|
||||
@@ -728,4 +744,34 @@ return [
|
||||
'description' => 'Migration is already in progress. You can check the status of the migration in your Appwrite Console\'s "Settings" > "Migrations".',
|
||||
'code' => 409,
|
||||
],
|
||||
|
||||
/** Realtime */
|
||||
Exception::REALTIME_MESSAGE_FORMAT_INVALID => [
|
||||
'name' => Exception::REALTIME_MESSAGE_FORMAT_INVALID,
|
||||
'description' => 'Message format is not valid.',
|
||||
'code' => 1003,
|
||||
],
|
||||
Exception::REALTIME_POLICY_VIOLATION => [
|
||||
'name' => Exception::REALTIME_POLICY_VIOLATION,
|
||||
'description' => 'Policy violation.',
|
||||
'code' => 1008,
|
||||
],
|
||||
Exception::REALTIME_TOO_MANY_MESSAGES => [
|
||||
'name' => Exception::REALTIME_TOO_MANY_MESSAGES,
|
||||
'description' => 'Too many messages.',
|
||||
'code' => 1013,
|
||||
],
|
||||
Exception::MIGRATION_PROVIDER_ERROR => [
|
||||
'name' => Exception::MIGRATION_PROVIDER_ERROR,
|
||||
'description' => 'An error occurred on the provider\'s side. Please try again later.',
|
||||
'code' => 400,
|
||||
],
|
||||
|
||||
/** Health */
|
||||
Exception::QUEUE_SIZE_EXCEEDED => [
|
||||
'name' => Exception::QUEUE_SIZE_EXCEEDED,
|
||||
'description' => 'Queue size threshold hit.',
|
||||
'code' => 503,
|
||||
'publish' => false
|
||||
],
|
||||
];
|
||||
|
||||
@@ -1,15 +1,9 @@
|
||||
<p>{{hello}}</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p>{{hello}},</p>
|
||||
<p>{{body}}</p>
|
||||
|
||||
<a href="{{redirect}}" target="_blank">{{redirect}}</a>
|
||||
|
||||
<p><a href="{{redirect}}" target="_blank">{{redirect}}</a></p>
|
||||
<p>{{footer}}</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p>{{thanks}}</p>
|
||||
|
||||
<p>{{signature}}</p>
|
||||
<p style="margin-bottom: 32px">
|
||||
{{thanks}},
|
||||
<br/>
|
||||
{{signature}}
|
||||
</p>
|
||||
@@ -2,31 +2,31 @@
|
||||
"settings.inspire": "\"El arte de ser sabio es el arte de saber qué pasar por alto\"",
|
||||
"settings.locale": "es",
|
||||
"settings.direction": "ltr",
|
||||
"emails.sender": "Equipo %s",
|
||||
"emails.sender": "El equipo de %s",
|
||||
"emails.verification.subject": "Verificación de cuenta",
|
||||
"emails.verification.hello": "Hola {{user}}",
|
||||
"emails.verification.body": "Haz clic en este enlace para verificar tu correo.",
|
||||
"emails.verification.hello": "Hola, {{name}}",
|
||||
"emails.verification.body": "Haz clic en este enlace para verificar tu correo:",
|
||||
"emails.verification.footer": "Si no has solicitado verificar este correo, puedes ignorar este mensaje.",
|
||||
"emails.verification.thanks": "Gracias",
|
||||
"emails.verification.signature": "Equipo de {{project}}",
|
||||
"emails.verification.thanks": "Gracias.",
|
||||
"emails.verification.signature": "El equipo de {{project}}.",
|
||||
"emails.magicSession.subject": "Inicio de sesión",
|
||||
"emails.magicSession.hello": "Hola,",
|
||||
"emails.magicSession.body": "Haz clic en este enlace para iniciar sesión.",
|
||||
"emails.magicSession.footer": "Si no has solicitado ingresar usando este correo, puedes ignorar este mensaje.",
|
||||
"emails.magicSession.thanks": "Gracias",
|
||||
"emails.magicSession.signature": "Equipo de {{project}}",
|
||||
"emails.magicSession.hello": "Hola",
|
||||
"emails.magicSession.body": "Haz clic en este enlace para iniciar sesión:",
|
||||
"emails.magicSession.footer": "Si no has solicitado iniciar sesión usando este correo, puedes ignorar este mensaje.",
|
||||
"emails.magicSession.thanks": "Gracias.",
|
||||
"emails.magicSession.signature": "El equipo de {{project}}",
|
||||
"emails.recovery.subject": "Restablecer contraseña",
|
||||
"emails.recovery.hello": "Hola {{user}}",
|
||||
"emails.recovery.body": "Haz clic en este enlace para restablecer la contraseña de {{project}}.",
|
||||
"emails.recovery.hello": "Hola, {{name}}",
|
||||
"emails.recovery.body": "Haz clic en este enlace para restablecer la contraseña de {{project}}:",
|
||||
"emails.recovery.footer": "Si no has solicitado restablecer la contraseña, puedes ignorar este mensaje.",
|
||||
"emails.recovery.thanks": "Gracias",
|
||||
"emails.recovery.signature": "Equipo de {{project}}",
|
||||
"emails.recovery.thanks": "Gracias.",
|
||||
"emails.recovery.signature": "El equipo de {{project}}",
|
||||
"emails.invitation.subject": "Invitación al equipo %s en %s",
|
||||
"emails.invitation.hello": "Hola",
|
||||
"emails.invitation.body": "Este correo ha sido enviado a petición de {{owner}} quien quiere invitarte a formar parte del equipo {{team}} en {{project}}.",
|
||||
"emails.invitation.footer": "Si no estas interesado, puedes ignorar este mensaje.",
|
||||
"emails.invitation.thanks": "Gracias",
|
||||
"emails.invitation.signature": "Equipo de {{project}}",
|
||||
"emails.invitation.body": "Este correo ha sido enviado a petición de {{owner}} quién quiere invitarte a formar parte del equipo {{team}} en {{project}}.",
|
||||
"emails.invitation.footer": "Si no estás interesado, puedes ignorar este mensaje.",
|
||||
"emails.invitation.thanks": "Gracias.",
|
||||
"emails.invitation.signature": "El equipo de {{project}}",
|
||||
"locale.country.unknown": "Desconocido",
|
||||
"countries.af": "Afganistán",
|
||||
"countries.ao": "Angola",
|
||||
@@ -229,4 +229,4 @@
|
||||
"continents.na": "América del Norte",
|
||||
"continents.oc": "Oceanía",
|
||||
"continents.sa": "América del Sur"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,30 +3,36 @@
|
||||
"settings.locale": "tr",
|
||||
"settings.direction": "ltr",
|
||||
"emails.sender": "%s Takımı",
|
||||
"emails.verification.subject": "",
|
||||
"emails.verification.hello": "",
|
||||
"emails.verification.body": "",
|
||||
"emails.verification.footer": "",
|
||||
"emails.verification.thanks": "",
|
||||
"emails.verification.signature": "",
|
||||
"emails.magicSession.subject": "",
|
||||
"emails.magicSession.hello": "",
|
||||
"emails.magicSession.body": "",
|
||||
"emails.magicSession.footer": "",
|
||||
"emails.magicSession.thanks": "",
|
||||
"emails.magicSession.signature": "",
|
||||
"emails.recovery.subject": "",
|
||||
"emails.recovery.hello": "",
|
||||
"emails.recovery.body": "",
|
||||
"emails.recovery.footer": "",
|
||||
"emails.recovery.thanks": "",
|
||||
"emails.recovery.signature": "",
|
||||
"emails.invitation.subject": "",
|
||||
"emails.invitation.hello": "",
|
||||
"emails.invitation.body": "",
|
||||
"emails.invitation.footer": "",
|
||||
"emails.invitation.thanks": "",
|
||||
"emails.invitation.signature": "",
|
||||
"emails.verification.subject": "Hesabını Doğrula",
|
||||
"emails.verification.hello": "Merhaba {{user}}",
|
||||
"emails.verification.body": "Eposta adresini doğrulamak için bu bağlantıyı kullanın.",
|
||||
"emails.verification.footer": "Eğer bu eposta adresini doğrulamak isteyen siz değilseniz devam etmeyin.",
|
||||
"emails.verification.thanks": "Teşekkürler",
|
||||
"emails.verification.signature": "{{project}} takımı",
|
||||
"emails.magicSession.subject": "Giriş",
|
||||
"emails.magicSession.hello": "Merhaba,",
|
||||
"emails.magicSession.body": "Giriş yapmak için tıklayın.",
|
||||
"emails.magicSession.footer": "Eğer bu eposta adresini kullanarak giriş yapmak istemediyseniz devam etmeyin.",
|
||||
"emails.magicSession.thanks": "Teşekkürler",
|
||||
"emails.magicSession.signature": "{{project}} takımı",
|
||||
"emails.recovery.subject": "Şifremi Sıfırla",
|
||||
"emails.recovery.hello": "Merhaba {{user}}",
|
||||
"emails.recovery.body": "{{project}} şifrenizi sıfırlamak için bu bağlantıyı kullanın.",
|
||||
"emails.recovery.footer": "Eğer şifre sıfırlama talebinde bulunmadıysanız devam etmeyin.",
|
||||
"emails.recovery.thanks": "Teşekkürler",
|
||||
"emails.recovery.signature": "{{project}} takımı",
|
||||
"emails.invitation.subject": "%s üzerinde %s Takımına Davet",
|
||||
"emails.invitation.hello": "Merhaba",
|
||||
"emails.invitation.body": "Bu epostayı aldınız, çünkü {{owner}} sizi {{project}} üzerinde {{team}} takımının üyesi olmaya davet etti.",
|
||||
"emails.invitation.footer": "Eğer ilgilenmiyorsanız devam etmeyin.",
|
||||
"emails.invitation.thanks": "Teşekkürler",
|
||||
"emails.invitation.signature": "{{project}} takımı",
|
||||
"emails.certificate.subject": "%s için sertifika hatası",
|
||||
"emails.certificate.hello": "Merhaba",
|
||||
"emails.certificate.body": "Alan adınız '{{domain}}' için sertifika oluşturulamadı. Deneme sayısı {{attempt}} ve hata sebebi: {{error}}",
|
||||
"emails.certificate.footer": "Geçmiş sertifikanız ilk denemeden sonra 30 gün daha geçerli kalacaktır. Bu konuyu araştırmanızı öneriyoruz, aksi taktirde alan adınız SSL sertifikasız kalacaktır.",
|
||||
"emails.certificate.thanks": "Teşekkürler",
|
||||
"emails.certificate.signature": "{{project}} takımı",
|
||||
"locale.country.unknown": "Bilinmeyen",
|
||||
"countries.af": "Afganistan",
|
||||
"countries.ao": "Angola",
|
||||
@@ -229,4 +235,4 @@
|
||||
"continents.na": "Kuzey Amerika",
|
||||
"continents.oc": "Okyanusya",
|
||||
"continents.sa": "Güney Amerika"
|
||||
}
|
||||
}
|
||||
|
||||
+21
-21
@@ -8,14 +8,14 @@ return [
|
||||
APP_PLATFORM_CLIENT => [
|
||||
'key' => APP_PLATFORM_CLIENT,
|
||||
'name' => 'Client',
|
||||
'description' => 'Client libraries for integrating with Appwrite to build client-based applications and websites. Read the [getting started for web](/docs/getting-started-for-web) or [getting started for Flutter](/docs/getting-started-for-flutter) tutorials to start building your first application.',
|
||||
'description' => 'Client libraries for integrating with Appwrite to build client-based applications and websites. Read the [getting started for web](https://appwrite.io/docs/getting-started-for-web) or [getting started for Flutter](https://appwrite.io/docs/getting-started-for-flutter) tutorials to start building your first application.',
|
||||
'enabled' => true,
|
||||
'beta' => false,
|
||||
'sdks' => [
|
||||
[
|
||||
'key' => 'web',
|
||||
'name' => 'Web',
|
||||
'version' => '13.0.0',
|
||||
'version' => '13.0.1',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-web',
|
||||
'package' => 'https://www.npmjs.com/package/appwrite',
|
||||
'enabled' => true,
|
||||
@@ -63,7 +63,7 @@ return [
|
||||
[
|
||||
'key' => 'flutter',
|
||||
'name' => 'Flutter',
|
||||
'version' => '11.0.0',
|
||||
'version' => '11.0.1',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-flutter',
|
||||
'package' => 'https://pub.dev/packages/appwrite',
|
||||
'enabled' => true,
|
||||
@@ -81,7 +81,7 @@ return [
|
||||
[
|
||||
'key' => 'apple',
|
||||
'name' => 'Apple',
|
||||
'version' => '4.0.1',
|
||||
'version' => '4.0.2',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-apple',
|
||||
'package' => 'https://github.com/appwrite/sdk-for-apple',
|
||||
'enabled' => true,
|
||||
@@ -116,7 +116,7 @@ return [
|
||||
[
|
||||
'key' => 'android',
|
||||
'name' => 'Android',
|
||||
'version' => '4.0.0',
|
||||
'version' => '4.0.1',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-android',
|
||||
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-android',
|
||||
'enabled' => true,
|
||||
@@ -185,7 +185,7 @@ return [
|
||||
[
|
||||
'key' => 'web',
|
||||
'name' => 'Console',
|
||||
'version' => '0.3.0',
|
||||
'version' => '0.5.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-console',
|
||||
'package' => '',
|
||||
'enabled' => true,
|
||||
@@ -195,15 +195,15 @@ return [
|
||||
'family' => APP_PLATFORM_CONSOLE,
|
||||
'prism' => 'javascript',
|
||||
'source' => \realpath(__DIR__ . '/../sdks/console-web'),
|
||||
'gitUrl' => 'git@github.com:appwrite/sdk-for-console.git',
|
||||
'gitBranch' => 'dev',
|
||||
'gitUrl' => 'https://github.com/appwrite/sdk-for-console.git',
|
||||
'gitBranch' => 'main',
|
||||
'gitRepoName' => 'sdk-for-console',
|
||||
'gitUserName' => 'appwrite',
|
||||
],
|
||||
[
|
||||
'key' => 'cli',
|
||||
'name' => 'Command Line',
|
||||
'version' => '4.1.0',
|
||||
'version' => '4.2.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-cli',
|
||||
'package' => 'https://www.npmjs.com/package/appwrite-cli',
|
||||
'enabled' => true,
|
||||
@@ -224,14 +224,14 @@ return [
|
||||
APP_PLATFORM_SERVER => [
|
||||
'key' => APP_PLATFORM_SERVER,
|
||||
'name' => 'Server',
|
||||
'description' => 'Libraries for integrating with Appwrite to build server side integrations. Read the [getting started for server](/docs/getting-started-for-server) tutorial to start building your first server integration.',
|
||||
'description' => 'Libraries for integrating with Appwrite to build server side integrations. Read the [getting started for server](https://appwrite.io/docs/getting-started-for-server) tutorial to start building your first server integration.',
|
||||
'enabled' => true,
|
||||
'beta' => false,
|
||||
'sdks' => [
|
||||
[
|
||||
'key' => 'nodejs',
|
||||
'name' => 'Node.js',
|
||||
'version' => '11.0.0',
|
||||
'version' => '11.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-node',
|
||||
'package' => 'https://www.npmjs.com/package/node-appwrite',
|
||||
'enabled' => true,
|
||||
@@ -249,7 +249,7 @@ return [
|
||||
[
|
||||
'key' => 'deno',
|
||||
'name' => 'Deno',
|
||||
'version' => '9.0.0',
|
||||
'version' => '9.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-deno',
|
||||
'package' => 'https://deno.land/x/appwrite',
|
||||
'enabled' => true,
|
||||
@@ -267,7 +267,7 @@ return [
|
||||
[
|
||||
'key' => 'php',
|
||||
'name' => 'PHP',
|
||||
'version' => '10.0.0',
|
||||
'version' => '10.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-php',
|
||||
'package' => 'https://packagist.org/packages/appwrite/appwrite',
|
||||
'enabled' => true,
|
||||
@@ -285,7 +285,7 @@ return [
|
||||
[
|
||||
'key' => 'python',
|
||||
'name' => 'Python',
|
||||
'version' => '4.0.0',
|
||||
'version' => '4.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-python',
|
||||
'package' => 'https://pypi.org/project/appwrite/',
|
||||
'enabled' => true,
|
||||
@@ -303,7 +303,7 @@ return [
|
||||
[
|
||||
'key' => 'ruby',
|
||||
'name' => 'Ruby',
|
||||
'version' => '10.0.0',
|
||||
'version' => '10.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-ruby',
|
||||
'package' => 'https://rubygems.org/gems/appwrite',
|
||||
'enabled' => true,
|
||||
@@ -321,7 +321,7 @@ return [
|
||||
[
|
||||
'key' => 'go',
|
||||
'name' => 'Go',
|
||||
'version' => '3.0.0',
|
||||
'version' => '3.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-go',
|
||||
'package' => '',
|
||||
'enabled' => false,
|
||||
@@ -339,7 +339,7 @@ return [
|
||||
[
|
||||
'key' => 'java',
|
||||
'name' => 'Java',
|
||||
'version' => '3.0.0',
|
||||
'version' => '3.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-java',
|
||||
'package' => '',
|
||||
'enabled' => false,
|
||||
@@ -357,7 +357,7 @@ return [
|
||||
[
|
||||
'key' => 'dotnet',
|
||||
'name' => '.NET',
|
||||
'version' => '0.6.0',
|
||||
'version' => '0.7.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-dotnet',
|
||||
'package' => 'https://www.nuget.org/packages/Appwrite',
|
||||
'enabled' => true,
|
||||
@@ -375,7 +375,7 @@ return [
|
||||
[
|
||||
'key' => 'dart',
|
||||
'name' => 'Dart',
|
||||
'version' => '10.0.0',
|
||||
'version' => '10.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-dart',
|
||||
'package' => 'https://pub.dev/packages/dart_appwrite',
|
||||
'enabled' => true,
|
||||
@@ -393,7 +393,7 @@ return [
|
||||
[
|
||||
'key' => 'kotlin',
|
||||
'name' => 'Kotlin',
|
||||
'version' => '4.0.0',
|
||||
'version' => '4.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-kotlin',
|
||||
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-kotlin',
|
||||
'enabled' => true,
|
||||
@@ -415,7 +415,7 @@ return [
|
||||
[
|
||||
'key' => 'swift',
|
||||
'name' => 'Swift',
|
||||
'version' => '4.0.1',
|
||||
'version' => '4.1.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-swift',
|
||||
'package' => 'https://github.com/appwrite/sdk-for-swift',
|
||||
'enabled' => true,
|
||||
|
||||
@@ -170,7 +170,7 @@ return [
|
||||
'docs' => false,
|
||||
'docsUrl' => '',
|
||||
'tests' => false,
|
||||
'optional' => true,
|
||||
'optional' => false,
|
||||
'icon' => '',
|
||||
],
|
||||
'functions' => [
|
||||
@@ -196,7 +196,7 @@ return [
|
||||
'docs' => true,
|
||||
'docsUrl' => 'https://appwrite.io/docs/proxy',
|
||||
'tests' => false,
|
||||
'optional' => true,
|
||||
'optional' => false,
|
||||
'icon' => '/images/services/proxy.png',
|
||||
],
|
||||
'mock' => [
|
||||
@@ -248,7 +248,7 @@ return [
|
||||
'docs' => true,
|
||||
'docsUrl' => 'https://appwrite.io/docs/migrations',
|
||||
'tests' => true,
|
||||
'optional' => true,
|
||||
'optional' => false,
|
||||
'icon' => '/images/services/migrations.png',
|
||||
],
|
||||
];
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+11
-10
@@ -115,14 +115,6 @@ return [
|
||||
'question' => '',
|
||||
'filter' => ''
|
||||
],
|
||||
// [
|
||||
// 'name' => '_APP_CONSOLE_WHITELIST_DOMAINS',
|
||||
// 'description' => 'This option allows you to limit creation of users to Appwrite console for users sharing the same email domains. This option is very useful for team working with company emails domain.\n\nTo enable this option, pass a list of allowed email domains separated by a comma.',
|
||||
// 'introduction' => '',
|
||||
// 'default' => '',
|
||||
// 'required' => false,
|
||||
// 'question' => '',
|
||||
// ],
|
||||
[
|
||||
'name' => '_APP_CONSOLE_WHITELIST_IPS',
|
||||
'description' => "This last option allows you to limit creation of users in Appwrite console for users sharing the same set of IP addresses. This option is very useful for team working with a VPN service or a company IP.\n\nTo enable/activate this option, pass a list of allowed IP addresses separated by a comma.",
|
||||
@@ -132,6 +124,15 @@ return [
|
||||
'question' => '',
|
||||
'filter' => ''
|
||||
],
|
||||
[
|
||||
'name' => '_APP_CONSOLE_HOSTNAMES',
|
||||
'description' => 'This option allows you to add additional hostnames to your Appwrite console. This option is very useful for allowing access to the console project from additional domains. To enable it, pass a list of allowed hostnames separated by a comma.',
|
||||
'introduction' => '1.5.0',
|
||||
'default' => '',
|
||||
'required' => false,
|
||||
'question' => '',
|
||||
'filter' => ''
|
||||
],
|
||||
[
|
||||
'name' => '_APP_SYSTEM_EMAIL_NAME',
|
||||
'description' => 'This is the sender name value that will appear on email messages sent to developers from the Appwrite console. The default value is: \'Appwrite\'. You can use url encoded strings for spaces and special chars.',
|
||||
@@ -337,7 +338,7 @@ return [
|
||||
],
|
||||
[
|
||||
'category' => 'InfluxDB',
|
||||
'description' => 'Appwrite uses an InfluxDB server for managing time-series data and server stats. The InfluxDB env vars are used to allow Appwrite server to connect to the InfluxDB container.',
|
||||
'description' => 'Deprecated since 1.4.8.',
|
||||
'variables' => [
|
||||
[
|
||||
'name' => '_APP_INFLUXDB_HOST',
|
||||
@@ -361,7 +362,7 @@ return [
|
||||
],
|
||||
[
|
||||
'category' => 'StatsD',
|
||||
'description' => 'Appwrite uses a StatsD server for aggregating and sending stats data over a fast UDP connection. The StatsD env vars are used to allow Appwrite server to connect to the StatsD container.',
|
||||
'description' => 'Deprecated since 1.4.8.',
|
||||
'variables' => [
|
||||
[
|
||||
'name' => '_APP_STATSD_HOST',
|
||||
|
||||
+1
-1
Submodule app/console updated: c57a776730...0a007a3b1b
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user