Compare commits

..
Author SHA1 Message Date
shimon d3607471eb connection debug 2023-08-09 11:45:05 +03:00
shimon d1f7bd26c8 connection debug 2023-08-09 11:31:50 +03:00
shimon 7296027e43 Merge remote-tracking branch 'origin/db-pools-backups' into db-pools-backups 2023-08-09 11:18:11 +03:00
shimon 1ce00b139d connection debug 2023-08-09 11:16:17 +03:00
fogelito 2ebd500d6b .gitignore remove unused folders 2023-08-09 11:12:06 +03:00
fogelito 6b5b3ec865 _DO_SPACES keys 2023-08-09 11:10:49 +03:00
shimon 5fa1da3610 init::pools replica addition 2023-08-09 10:55:52 +03:00
shimon e5f841e353 init::pools replica addition 2023-08-09 10:14:26 +03:00
shimon 3a38b492f5 ci file ref update 2023-08-08 22:57:34 +03:00
fogelito 5f4f6cd9c5 remove chown 2023-08-08 18:12:16 +03:00
fogelito f2a337d86e varlibmysql resolve 2023-08-08 17:06:46 +03:00
fogelito 71b4c483c2 chown 2023-08-08 15:39:50 +03:00
fogelito d9569df1cc pushd popd 2023-08-08 14:53:08 +03:00
fogelito d1efcd6a61 s3 constructor 2023-08-08 12:32:24 +03:00
fogelito cea7ab8d4c Check file before download 2023-08-08 11:52:33 +03:00
fogelito cfc178b046 addressing comments part 1 2023-08-08 08:46:13 +03:00
50aba6a1c2 Update src/Appwrite/Platform/Tasks/Backup.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2023-08-07 23:52:45 +03:00
5fd5c875fc Update src/Appwrite/Platform/Tasks/Backup.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2023-08-07 23:52:14 +03:00
1ceaa599b5 Update src/Appwrite/Platform/Tasks/Backup.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2023-08-07 23:50:34 +03:00
fogelito 1138b4fd59 named volumes 2023-08-07 22:11:01 +03:00
fogelito fae5c5b92e last changes 2023-08-07 18:45:17 +03:00
fogelito 9a446ec0ec last changes 2023-08-07 18:45:02 +03:00
fogelito 675ad1d0c6 check stopped container 2023-08-07 17:58:54 +03:00
fogelito a2463e114e last changes 2023-08-07 17:53:21 +03:00
fogelito 9fab5c46f1 dsn changes 2023-08-07 15:54:09 +03:00
fogelito d730b41b5f varlibmysql 2023-08-06 21:50:05 +03:00
fogelito 66228a2462 docker-compose.yml mounts 2023-08-06 21:47:41 +03:00
fogelito fddac97835 Restore.php 2023-08-06 15:55:33 +03:00
fogelito e4f653be13 Restore.php 2023-08-02 19:10:45 +03:00
fogelito 53df65a3c4 Compress 2023-08-01 17:57:33 +03:00
fogelito 2f8b526c01 Restore.php 2023-08-01 10:53:51 +03:00
fogelito c1cf6acc7a Fix Incremental Base Bug 2023-07-31 15:22:33 +03:00
fogelito dd25899f74 Fullbackup functions 2023-07-31 14:05:51 +03:00
fogelito fc2f1cef31 Incremental Backup.php 2023-07-30 20:41:14 +03:00
fogelito b2c7a3eb33 Transfer big data 2023-07-27 14:55:25 +03:00
fogelito 55a6732444 Transfer big data 2023-07-25 18:38:26 +03:00
fogelito 970c35b31a Transfer big data 2023-07-23 19:05:35 +03:00
fogelito 38eb24d0ad Restore.php 2023-07-19 12:34:00 +03:00
fogelito 186b92d5af Restore.php + name Changes 2023-07-17 20:38:31 +03:00
fogelito 7ad08bfef2 SO spaces 2023-07-13 15:39:29 +03:00
fogelito 6f87757c53 SO spaces 2023-07-13 15:38:49 +03:00
fogelito 4f0dd56afc clean up 2023-07-12 15:27:06 +03:00
fogelito 7918ee2f20 Add extract directory 2023-07-12 15:22:06 +03:00
fogelito 748abb29cf structure 2023-07-12 14:55:09 +03:00
Christy JacobandGitHub c6be81592f Merge pull request #5730 from appwrite/calc-tier-addition
Calc tier addition
2023-06-20 18:50:00 +05:30
shimon e9f8a33515 users addition 2023-06-20 13:28:26 +03:00
shimon 48bf74b881 users addition 2023-06-20 13:24:26 +03:00
Christy JacobandGitHub 702c92fb5d Merge pull request #5728 from appwrite/fix-hamster-script
fix: missing collection error
2023-06-19 20:26:21 +05:30
Christy JacobandGitHub 28103c9fd9 Merge pull request #5727 from appwrite/fix-calc-tier
Fix calc tier
2023-06-19 20:26:01 +05:30
shimon 38cf901579 fix 2023-06-19 17:30:21 +03:00
Christy Jacob b56603958a chore: linter 2023-06-19 13:41:37 +00:00
Christy Jacob 4d7611f569 fix: missing collection error 2023-06-19 13:28:43 +00:00
shimon 9ff6faa2d2 fix 2023-06-19 15:50:48 +03:00
shimon 5e836691e2 fix 2023-06-19 13:55:16 +03:00
shimon 0a92e3dc55 fix 2023-06-19 13:54:04 +03:00
shimon 9179a70992 fix 2023-06-19 13:37:16 +03:00
Christy JacobandGitHub 72e9ddd3f1 Merge pull request #5708 from appwrite/chore-update-database-config
feat: update database config
2023-06-15 20:57:21 +05:30
Christy JacobandGitHub b0a70d22ab Merge pull request #5709 from appwrite/refactor-collections-config-db-pools
refactor collections config
2023-06-15 20:41:29 +05:30
Christy Jacob 87aa7ea2f8 Merge branch 'feat-db-pools-master' of https://github.com/appwrite/appwrite into chore-update-database-config 2023-06-15 14:35:52 +00:00
Christy Jacob 4c68e396c1 feat: update backup time 2023-06-15 14:35:21 +00:00
Christy Jacob 1980b8c677 Merge branch 'feat-db-pools-master' of https://github.com/appwrite/appwrite into refactor-collections-config-db-pools 2023-06-15 14:30:27 +00:00
Christy JacobandGitHub 77818e52fa Merge pull request #5712 from appwrite/fix-tests
feat: update tests
2023-06-15 19:58:01 +05:30
Christy Jacob 18f5418f5c chore: update tests 2023-06-15 13:23:15 +00:00
Christy Jacob ede673cc7e chore: linter 2023-06-15 12:55:10 +00:00
Christy JacobandGitHub 2d2a6b6721 Merge pull request #5705 from appwrite/delete-tables-dpm
delete unnecessary project collections task
2023-06-15 18:22:09 +05:30
Christy JacobandGitHub 9fbb8c2e3a Merge pull request #5711 from appwrite/feat-database-sentry-logging
Feat: Add database to log
2023-06-15 18:16:57 +05:30
shimon e633389707 delete unnecessary project collections task 2023-06-15 15:45:40 +03:00
Matej Bačo 97581d5836 Add database to log 2023-06-15 13:21:18 +02:00
Christy Jacob 6853a44f03 feat: update tests 2023-06-15 11:06:04 +00:00
shimon 428e9e73fe delete unnecessary project collections task 2023-06-15 11:59:43 +03:00
shimon ce596b2f2b delete unnecessary project collections task 2023-06-15 11:53:19 +03:00
shimon f5e9094bdc delete unnecessary project collections task 2023-06-15 09:51:11 +03:00
Damodar Lohani 7eaa5f1e35 fix errors 2023-06-15 01:23:46 +00:00
Damodar Lohani 57411db2d3 upadate to use refactored collections config 2023-06-15 00:34:12 +00:00
Damodar Lohani c25e014be1 refactor collections config 2023-06-15 00:20:18 +00:00
Christy Jacob 25e2771fa7 feat: update database config 2023-06-14 19:52:28 +00:00
shimon 579a95aecc delete unnecessary project collections task 2023-06-14 19:21:48 +03:00
shimon 3286279d3c delete unnecessary project collections task 2023-06-14 19:01:34 +03:00
shimon f2705c30a3 delete unnecessary project collections task 2023-06-14 18:59:46 +03:00
shimon f0c704c3f1 Merge remote-tracking branch 'origin/delete-tables-dpm' into delete-tables-dpm 2023-06-14 18:58:43 +03:00
shimon 7196114339 delete unnecessary project collections task 2023-06-14 18:58:29 +03:00
Christy Jacob 56a337eac4 feat: update console 2023-06-14 15:27:03 +00:00
shimon 2432210bbb delete unnecessary project collections task 2023-06-14 17:45:18 +03:00
shimon e225bbe3c9 delete unnecessary project collections task 2023-06-14 17:42:23 +03:00
Christy JacobandGitHub ce1ad823b5 Merge pull request #5699 from appwrite/fix-cache-delete-bug-dbpm
fix delete cache file to dbp-master
2023-06-13 20:39:27 +05:30
shimon 6093262f21 cache deletion bug fix 2023-06-13 18:04:11 +03:00
shimon 9d75e65ba9 cache deletion bug fix 2023-06-13 17:03:33 +03:00
shimon a4e055e21b cache deletion bug fix 2023-06-13 15:03:22 +03:00
Christy JacobandGitHub 7ec4b2171c Merge pull request #5695 from appwrite/fix-cache-delete-bug
cache deletion bug fix
2023-06-13 16:44:48 +05:30
shimon 8645757f28 cache deletion bug fix 2023-06-13 13:41:54 +03:00
shimon 41d207e862 cache deletion bug fix 2023-06-13 11:15:38 +03:00
Christy Jacob df96a5de90 feat: add try catch to deletes worker 2023-06-13 00:14:49 +05:30
Christy Jacob eccde7b1f9 feat: update log messages 2023-06-12 21:10:07 +05:30
Christy Jacob 56aa30fd52 feat: use static array for console db 2023-06-12 20:55:01 +05:30
Christy Jacob 651c826de1 feat: update log messages 2023-06-12 20:19:08 +05:30
Christy Jacob deea23c17e feat: update log messages 2023-06-12 20:18:18 +05:30
Christy Jacob d0f234e726 chore: add logs to deletes worker 2023-06-12 19:03:27 +05:30
Christy Jacob 7a4898fadd chore: add logs to deletes worker 2023-06-12 19:01:43 +05:30
Christy JacobandGitHub d2b11f91fa Merge pull request #5672 from appwrite/fix-cloud-bug
fix: missing import
2023-06-07 15:18:36 +05:30
Christy Jacob 845fd7ba68 fix: missing import 2023-06-07 15:13:57 +05:30
Christy Jacob ba47e7ddc0 feat: add build args to ci script 2023-06-06 19:49:08 +05:30
Christy Jacob cb303ca71b feat: update CI script 2023-06-06 19:37:35 +05:30
Christy Jacob a2534e643e feat: update ci script 2023-06-06 19:14:08 +05:30
Christy Jacob e0a58f369c feat: update ci script 2023-06-06 19:10:04 +05:30
Christy JacobandGitHub 06671709d6 Merge pull request #5666 from appwrite/add-ci-for-db-pools
ci: create CI script to build cloud images
2023-06-06 18:48:05 +05:30
Christy Jacob d4ec392a6f feat: add script 2023-06-06 18:35:57 +05:30
Christy JacobandGitHub 00453dd9c2 Merge pull request #5630 from appwrite/project-creation-patch
Extract db from list while backing
2023-06-06 18:33:43 +05:30
Christy JacobandGitHub 8fdb9e6592 Update app/controllers/api/projects.php 2023-06-06 17:51:42 +05:30
Christy Jacob 5c6cbbe370 chore: review comments 2023-06-06 12:11:50 +00:00
Christy Jacob 9f02ed700d feat: update db backups schedule 2023-06-06 12:09:14 +00:00
Christy JacobandGitHub afdad2e0ef Merge pull request #5638 from appwrite/cache-perm-fix
cache perm fix
2023-06-06 16:42:37 +05:30
Christy Jacob ababe6a382 ci: update ci script 2023-06-06 15:33:22 +05:30
Christy Jacob 7798e28129 ci: create CI script to build cloud images 2023-06-06 15:31:35 +05:30
Christy JacobandGitHub 68f3f147ab Merge pull request #5647 from appwrite/fix-trailing-slashes-utopia
chore: update utopia-php/framework
2023-06-03 19:36:58 +05:30
Christy Jacob 73d733c70a chore: remove unrelated files 2023-06-03 19:34:49 +05:30
Christy Jacob 6f9f9ea0e4 chore: update utopia-php/framework 2023-06-03 19:33:51 +05:30
Christy JacobandGitHub c74bdfa2a6 Merge pull request #5643 from appwrite/feat-oauth-fix
Fix the routing for the default OAuth2 pages
2023-06-03 14:17:45 +05:30
Steven NguyenandChristy Jacob e87e2fc16d Fix the routing for the default OAuth2 pages 2023-06-03 14:16:47 +05:30
Shimon NewmanandGitHub 73ac9f796d cache perm fix 2023-06-02 17:56:09 +03:00
shimon d7733dde01 minor cache authorization fix rollback 2023-06-02 17:52:19 +03:00
shimon 931b6fa385 minor cache authorization fix 2023-06-02 17:44:24 +03:00
shimon 6a9011af72 minor changes 2023-06-02 17:14:10 +03:00
shimon 5c9ad6fddd minor changes 2023-06-02 17:01:15 +03:00
shimon f5c4e4cd8a minor changes 2023-06-02 16:52:38 +03:00
shimon 9a071df378 minor changes 2023-06-02 16:23:21 +03:00
Christy JacobandGitHub b68f601240 Merge pull request #5620 from appwrite/fix-system-performance
Fix system performance
2023-06-02 18:00:50 +05:30
Christy Jacob 36f1791a92 chore: linter 2023-06-02 17:59:20 +05:30
Christy Jacob fac4b6f600 fix: update console 2023-06-02 17:20:08 +05:30
Christy Jacob 23e6c1adf6 feat: remove unused orderBy, skip executing recursive functions 2023-06-02 17:19:00 +05:30
Christy JacobandGitHub cd8485fae4 Merge pull request #5633 from appwrite/fix-trailing-wildcards-db-pools
fix: trailing wildcards
2023-06-02 17:16:53 +05:30
Torsten Dittmann 55ba25ad83 fix: trailing wildcards 2023-06-02 13:18:34 +02:00
Christy JacobandGitHub 8bc547e825 Merge pull request #5590 from appwrite/feat-improve-logging
Feat: Improve logging
2023-06-02 16:29:56 +05:30
shimon 071b2e5826 Extract db from list while backing 2023-06-02 11:06:35 +03:00
shimon ea8804fd52 Extract db from list while backing 2023-06-02 08:10:03 +03:00
Steven Nguyen 2ee7a3a356 Prevent triggering a function off of a function 2023-05-31 16:02:46 -07:00
Steven Nguyen 02cd8720f7 Don't clear cache on startup 2023-05-31 14:06:25 -07:00
Christy JacobandGitHub 0765aac5d2 Merge pull request #5608 from appwrite/feat-calc-users
Feat calc tier stats
2023-05-31 14:57:22 +05:30
Christy Jacob 072232e1af fix: console 2023-05-30 18:17:48 +00:00
shimon 0fd7db3c36 addressing comments 2023-05-30 20:11:25 +03:00
Christy Jacob 876b0da2e2 feat: update console 2023-05-30 16:27:39 +00:00
shimon 5e2e28995d minor fix 2023-05-30 18:47:35 +03:00
shimon 9ac4a2bfd5 minor fix 2023-05-30 18:46:36 +03:00
shimon 8ce6d38922 minor fix 2023-05-30 18:30:15 +03:00
shimon 3b6128c560 calc tier stats 2023-05-30 18:17:47 +03:00
shimon da75a2e409 calc tier stats 2023-05-30 18:13:30 +03:00
shimon 1225c8b7c3 calc tier stats 2023-05-30 18:06:51 +03:00
Jake BarnbyandGitHub 37f690c3bd Merge pull request #5605 from appwrite/fix-cloud-route-mistmatch
Update framework to fix route mismatches
2023-05-30 23:39:40 +12:00
Jake Barnby dd2bda0d98 Downgrade to framework patch 2023-05-30 19:52:06 +12:00
Jake Barnby 95f299779d Update platform 2023-05-30 19:23:03 +12:00
Jake Barnby b75d3ff07c Update to release version of framework
(cherry picked from commit b101404eda)
2023-05-30 19:01:53 +12:00
Jake Barnby edce3cceed Fix tests
(cherry picked from commit 0661f1f889)
(cherry picked from commit bab804b8e1)

# Conflicts:
#	tests/e2e/Client.php
2023-05-30 19:01:46 +12:00
Jake Barnby fad53d3e89 Fix visibility
(cherry picked from commit b092405b04)
(cherry picked from commit 3dd67cb17f)
2023-05-30 19:00:50 +12:00
Jake Barnby 91c5e066ec Update framework to fix route mismatches
(cherry picked from commit d42f6738a9)

# Conflicts:
#	composer.lock
(cherry picked from commit c2e711b021)

# Conflicts:
#	composer.json
#	composer.lock
2023-05-30 19:00:42 +12:00
Matej Bačo 4ec8f69da6 Improve logging 2023-05-27 13:56:26 +02:00
Christy JacobandGitHub 075ed65a2f Merge pull request #5572 from appwrite/feat-update-project-creation
Feat update project creation
2023-05-25 22:50:24 +05:30
Christy JacobandGitHub 9ff96a79d1 Merge pull request #5573 from appwrite/fix-delete-account
Fix delete account
2023-05-25 22:49:50 +05:30
Christy Jacob 54ad50bd4b feat: review comments 2023-05-24 20:07:31 +00:00
Christy JacobandGitHub 7d19fe87f5 Merge pull request #5577 from appwrite/feat-improve-logs
Feat: Improve logs
2023-05-25 00:52:47 +05:30
Christy JacobandGitHub c5c115d697 Merge pull request #5578 from appwrite/feat-calc-users
Feat calc users
2023-05-25 00:42:31 +05:30
Matej Bačo 3614cb384a Fix error logging 2023-05-24 21:07:41 +02:00
shimon ef35526a69 downgraded csv writer ver 2023-05-24 21:52:08 +03:00
shimon ab83dfedac downgraded csv writer ver 2023-05-24 21:38:35 +03:00
shimon d7b32cfc3e downgraded csv writer ver 2023-05-24 21:36:08 +03:00
shimon 77971a4eb5 downgraded csv writer ver 2023-05-24 21:27:06 +03:00
Matej Bačo 0244154017 Apply new structure of logs 2023-05-24 20:14:58 +02:00
shimon 79ce648211 downgraded csv writer ver 2023-05-24 20:46:39 +03:00
shimon 5960d28428 downgraded csv writer ver 2023-05-24 20:45:40 +03:00
Matej Bačo b81e9ffd47 Fix format 2023-05-24 18:32:03 +02:00
Matej Bačo 1762c4f491 Improve logs 2023-05-24 18:29:23 +02:00
shimon adca405d74 downgraded csv writer ver 2023-05-24 14:10:32 +03:00
shimon 99b56b3584 downgraded csv writer ver 2023-05-24 12:17:14 +03:00
shimon 31e6492dbc downgraded csv writer ver 2023-05-23 21:02:45 +03:00
shimon 3545e0740f downgraded csv writer ver 2023-05-23 21:02:23 +03:00
Steven Nguyen 9d13d72c71 Update the Update Account Status API to clear the cookie
After a user updates their status, their session no longer works
however, the cookie may still exist in their browser, preventing other
API calls from completing successfully.
2023-05-23 10:40:31 -07:00
Steven Nguyen f774721701 Update the error message for blocked users
Remove the "You can unblock the user from the Appwrite console." part
as it is not relevant for the person receiving the error.
2023-05-23 10:40:05 -07:00
shimon 5163ce7cc9 calculating users per project task 2023-05-23 19:46:45 +03:00
shimon e79cb913ed calculating users per project task 2023-05-23 18:58:49 +03:00
Christy Jacob 48ca2530e6 feat: add missing attribute 2023-05-23 14:46:48 +00:00
Christy Jacob 0839822a66 Apply suggestions from code review 2023-05-23 14:39:26 +00:00
Christy Jacob 9a712686f2 chore: add tests 2023-05-23 14:39:16 +00:00
Christy Jacob 8be36088d7 chore: linter 2023-05-23 14:38:48 +00:00
Christy Jacob f0df316b4f fix: throw correct exception when project custom ID already exists 2023-05-23 14:38:33 +00:00
Christy JacobandGitHub 0368cdb669 Merge pull request #5519 from appwrite/fix-oauth-error-page-copy
Fix: OAuth error copy
2023-05-19 22:47:14 +05:30
Christy Jacob f1017e6fe9 Merge branch 'feat-db-pools-master' of github.com:appwrite/appwrite into feat-db-pools-master 2023-05-17 19:56:59 +05:30
Christy Jacob 777df4efd1 feat: update console 2023-05-17 19:56:26 +05:30
Christy Jacob a1eb1c1166 feat: update console 2023-05-16 19:28:41 +00:00
Christy Jacob 4443c20865 feat: update console 2023-05-16 00:03:23 +05:30
Christy Jacob c97bdf058e feat: update console 2023-05-15 23:38:33 +05:30
Christy JacobandGitHub 56efd5e11a Merge pull request #5530 from appwrite/fix-certificates
feat: add checks for domain
2023-05-15 23:35:55 +05:30
Christy Jacob 83697784d7 feat: update console 2023-05-14 01:49:39 +05:30
Christy Jacob 0d12b13241 feat: update error message 2023-05-14 01:48:51 +05:30
Christy Jacob 12afc294bd feat: add checks for domain 2023-05-13 23:35:05 +05:30
Matej Bačo bdd79c7b10 Fix copy 2023-05-10 07:24:16 +02:00
Christy JacobandGitHub 76f2e0eeac Merge pull request #5465 from appwrite/fix-cloud-cards-cache
Feat: Card cache busting
2023-05-02 17:08:28 +05:30
Matej Bačo 94f2853a5f Remove leftovers 2023-05-02 13:37:41 +02:00
Matej Bačo 56172ac196 Update ClearCardCache.php 2023-05-02 13:35:53 +02:00
Matej Bačo b9efa52a92 Revert changes 2023-05-02 13:25:38 +02:00
Matej Bačo ecbc9aecb3 Migrated cache buster to a script 2023-05-02 13:21:08 +02:00
Christy Jacob 880dbfd128 feat: update console 2023-05-02 11:15:23 +00:00
Christy Jacob 9bd1d864e9 feat: update console 2023-05-02 10:43:50 +00:00
Christy JacobandGitHub 731b49db95 Merge pull request #5487 from appwrite/feat-fix-cards-3
Fix bugs with cards
2023-05-02 15:43:09 +05:30
Matej Bačo 6d97ca7569 Fix bugs with cards 2023-05-02 10:28:14 +02:00
Christy JacobandGitHub fa3899a713 Merge pull request #5479 from appwrite/feat-fix-cards-3
Update cards emails
2023-05-02 01:11:53 +05:30
Matej Bačo 1d35eef756 Update cards emails 2023-05-01 21:19:26 +02:00
Christy JacobandGitHub 901ee1fe16 Merge pull request #5477 from appwrite/feat-fix-cards-3
Fix double slashes
2023-05-01 22:22:29 +05:30
Matej Bačo 3b2e968703 Update SEO title 2023-05-01 18:51:36 +02:00
Matej Bačo 189578a248 Fix double slashes 2023-05-01 18:50:35 +02:00
Christy JacobandGitHub 2db48a1b13 Merge pull request #5475 from appwrite/feat-fix-cards-3
Fix OG cards
2023-05-01 22:11:04 +05:30
Matej Bačo 956087473e Fix OG cards 2023-05-01 18:38:22 +02:00
Christy JacobandGitHub b3b89c10f3 Merge pull request #5474 from appwrite/feat-fix-card-2
Fix: Card 2
2023-05-01 21:22:54 +05:30
Matej Bačo 6885e6ea0e linter fix 2023-05-01 17:51:31 +02:00
Matej Bačo 73668a7283 PR review changes 2023-05-01 17:50:56 +02:00
Matej Bačo 2b08ddee32 Merge branch 'feat-db-pools-master' into feat-fix-card-2 2023-05-01 17:45:51 +02:00
Matej Bačo 257d623fab Update .env 2023-05-01 17:45:04 +02:00
Matej Bačo c9a39fce4f Add OG card SSR 2023-05-01 17:43:32 +02:00
tglide 9ed7da3b38 Merge branch 'feat-fix-card-2' of https://github.com/appwrite/appwrite into feat-fix-card-2 2023-05-01 16:06:56 +01:00
tglide f223f10de4 feat: pretty error page 2023-05-01 16:06:51 +01:00
Matej Bačo 287441a913 Improve 3rd variation og card design 2023-05-01 16:45:39 +02:00
Matej Bačo 70b5281a0b Improve GitHub oauth email discovery 2023-05-01 15:54:33 +02:00
Matej Bačo e84372aae2 Decreate card resolution 2023-05-01 13:54:41 +02:00
Christy Jacob df7a02a031 feat: update console 2023-05-01 11:39:09 +00:00
Christy Jacob 352b32b54e feat: update console 2023-05-01 04:04:35 +00:00
Matej Bačo 1409ea4dbf Remove leftover 2023-04-30 09:33:05 +02:00
Matej Bačo 07cc9f8a26 Implement card cache busting 2023-04-30 09:28:37 +02:00
Christy Jacob de460f1810 feat: update console 2023-04-29 20:20:56 +00:00
Christy JacobandGitHub b53d0e9c21 Merge pull request #5464 from appwrite/fix-cloud-cards
feat: update dockerfile to include public directory
2023-04-30 01:47:35 +05:30
Christy Jacob bf5187d74d feat: update dockerfile to include public directory 2023-04-30 01:29:11 +05:30
Christy JacobandGitHub 4ca1b9c986 Merge pull request #5461 from appwrite/fix-cloud-cards
feat: update paths
2023-04-30 01:04:06 +05:30
Matej Bačo d71cf65300 Increase card quality, fix GH session finding 2023-04-29 13:33:38 +02:00
Matej Bačo e912df3368 Fix error 500 in card generation 2023-04-29 10:50:04 +02:00
Christy Jacob 03612a5741 feat: update paths 2023-04-29 14:10:22 +05:30
Christy Jacob 3fd5142f22 feat: udate console 2023-04-29 06:49:35 +00:00
Christy JacobandGitHub a113214f01 Merge pull request #5436 from appwrite/feat-console-oauth
Feat: Console OAuth & Cards
2023-04-29 03:10:09 +05:30
Christy Jacob 96b1cc60b5 feat: update console 2023-04-28 21:15:00 +00:00
Christy Jacob 5d173b8e0d feat: update console 2023-04-28 20:48:28 +00:00
Christy JacobandGitHub ae474a1f7c Update .gitmodules 2023-04-29 02:08:19 +05:30
Matej Bačo 9b4d9d7c6d Merge branch 'feat-db-pools-master' into feat-console-oauth 2023-04-28 22:04:53 +02:00
Matej Bačo a185d6c7f1 Formatting fix 2023-04-28 22:04:27 +02:00
Matej Bačo 7db825f621 Update console 2023-04-28 22:03:58 +02:00
Matej Bačo 2244ba4f98 Enable caching 2023-04-28 22:03:44 +02:00
Matej Bačo 985ca3843b 3rd og card variation 2023-04-28 19:46:24 +02:00
Matej Bačo d022ee6622 Fix race condition 2023-04-28 11:07:26 +02:00
Matej Bačo 8c1d89c33c Fix race condition 2023-04-28 09:30:30 +02:00
Matej Bačo 6c6154b3d4 Reviews, fine tuning 2023-04-27 14:34:50 +02:00
Matej Bačo db472b19c7 Improve employee detection 2023-04-27 10:24:53 +02:00
Matej Bačo 837cebcdda Fix race condition 2023-04-26 13:51:19 +02:00
Matej Bačo a7f81bd628 Fix permission issue 2023-04-26 13:39:50 +02:00
Matej Bačo 2ed495fe3b Add OG assets 2023-04-26 13:06:11 +02:00
Matej Bačo a8cd99873f Add cache, fix miss-align 2023-04-26 11:10:06 +02:00
Matej Bačo 93946a074d Update .gitmodules 2023-04-26 10:22:46 +02:00
Matej Bačo 89b85de03e Add proper OAuth logic 2023-04-26 10:22:20 +02:00
Matej Bačo 2e421f15ab Implement 2D cloud cards 2023-04-26 10:21:10 +02:00
Christy JacobandGitHub f56a8a40df Merge pull request #5414 from appwrite/update-hamster-script
feat: upgrade hamster script
2023-04-25 12:27:26 +04:00
Matej Bačo 563f2e22f9 skew for 3d og image 2023-04-25 09:35:48 +02:00
Christy Jacob d87e198913 feat: upgrade hamster script 2023-04-20 16:00:50 +04:00
Matej Bačo 5782f7b8c6 Add OG image render logic 2023-04-19 09:25:05 +02:00
Matej Bačo a3e7fa29f4 WIP: OAuth in console 2023-04-17 14:22:47 +02:00
Christy JacobandGitHub e190e1aebe Merge pull request #5270 from appwrite/feat-bump-docker-base
Bump base docker image to fix missing rsync
2023-03-24 19:30:52 +05:30
Christy JacobandGitHub 7871e9aa4c Update Dockerfile 2023-03-24 19:03:25 +05:30
Steven Nguyen fcf3283365 Bump base docker image to fix missing rsync 2023-03-23 13:32:03 -07:00
Christy JacobandGitHub 55e53abcfc Merge pull request #5268 from appwrite/upgrade-hamster-script
feat: update appwrite image
2023-03-23 15:55:45 +05:30
Christy Jacob f6ae33aeba feat: update appwrite image 2023-03-23 14:23:49 +04:00
Christy JacobandGitHub ffa683e932 Merge pull request #5267 from appwrite/upgrade-hamster-script
feat: fix hamster script
2023-03-23 13:55:19 +05:30
Christy Jacob 65c6123ccd feat: fix hamster script 2023-03-23 12:22:38 +04:00
Christy JacobandGitHub bafe948578 Merge pull request #5247 from appwrite/feat-db-pools-master-schduler-fix
Fix: scheduler env variables
2023-03-23 01:16:06 +05:30
Matej Bačo bd620cc924 Remove old patch bin file 2023-03-22 20:39:56 +01:00
Matej Bačo 567cb01b99 add reclaim logic 2023-03-22 20:35:04 +01:00
Matej Bačo b558a284f3 Add bin files 2023-03-22 20:15:01 +01:00
Matej Bačo cf39092c98 Add patch task for scheduleUpdatedAt 2023-03-22 19:52:43 +01:00
Christy JacobandGitHub 03dc7e2a04 Merge pull request #5264 from appwrite/upgrade-hamster-script
feat: add new stats
2023-03-22 23:32:08 +05:30
Christy Jacob 9723792a29 feat: add new stats 2023-03-22 20:22:56 +04:00
Christy Jacob 07e3a29b63 feat: add new stats 2023-03-22 20:19:28 +04:00
Christy Jacob 6c15326f8f feat: add new stats 2023-03-22 20:18:23 +04:00
Christy JacobandGitHub c1b0dc73f8 Merge pull request #5254 from appwrite/upgrade-hamster-script
feat: update docker image
2023-03-20 15:59:18 +05:30
Christy Jacob deab7caed9 feat: update docker image 2023-03-20 15:57:14 +05:30
Christy JacobandGitHub 610861cd93 Merge pull request #5253 from appwrite/upgrade-hamster-script
feat: update hamster scrpipt
2023-03-20 14:31:22 +05:30
Christy Jacob f951da2f55 feat: update hamster scrpipt 2023-03-20 14:30:24 +05:30
Christy JacobandGitHub 1de9d9ca26 Merge pull request #5252 from appwrite/upgrade-hamster-script
feat: use env vars for the hamster time
2023-03-20 13:47:46 +05:30
Christy Jacob 39388e9b92 feat: use env vars for the hamster time 2023-03-20 12:58:11 +05:30
Christy JacobandGitHub d01ddb4c86 Merge pull request #5244 from appwrite/upgrade-hamster-script
feat: upgrade hamster script
2023-03-20 12:13:19 +05:30
Christy Jacob 7e06115686 feat: remove unused csv library 2023-03-20 11:44:43 +05:30
Christy Jacob c3ff315668 feat: remove unused csv library 2023-03-20 11:44:13 +05:30
Matej Bačo e8b11b2d14 Fix scheduler 2023-03-19 10:43:57 +01:00
Christy Jacob a164991c75 feat: linter 2023-03-17 21:44:29 +05:30
Christy Jacob 5fe65ab991 feat: store token in env var 2023-03-17 21:38:23 +05:30
Christy Jacob 42ebaf6541 feat: store token in env var 2023-03-17 21:37:29 +05:30
Christy Jacob 007d47e586 Merge branch 'feat-db-pools-master' of github.com:appwrite/appwrite into upgrade-hamster-script 2023-03-17 11:27:40 +05:30
Christy Jacob ac08640bc4 feat: update hamster script 2023-03-17 11:26:16 +05:30
Christy Jacob 46f07faa98 feat: update Docekrfile to use appwrite:base image 2023-03-09 12:07:47 +00:00
Christy Jacob a492ad55d5 Merge branch 'feat-db-pools-master' of github.com:appwrite/appwrite into feat-db-pools-master 2023-03-07 13:46:10 +05:30
Christy Jacob 253dd5e58c feat: update console branch 2023-03-07 13:45:32 +05:30
Christy Jacob 334e3cc57d feat: update console base branch 2023-03-02 08:13:42 +00:00
Christy Jacob 10b7503d62 feat: support case insensitive emails 2023-02-22 17:09:22 +05:30
Christy Jacob ad2c068e75 feat: update console mode 2023-02-22 12:46:54 +05:30
Christy Jacob a1fca6ea2d feat: update homepage branch 2023-02-22 12:41:32 +05:30
Christy Jacob 66daa80c07 feat: upgrade hamster script 2023-02-19 22:26:46 +05:30
Christy JacobandGitHub 2dda3a02f2 Merge pull request #5118 from appwrite/feat-db-pools-master-growth-endpoint-envar
Update Dockerfile
2023-02-14 11:17:49 +05:30
Bradley Schofield 4715bbcf57 Update Dockerfile 2023-02-13 23:29:35 +00:00
Christy JacobandGitHub 9988347235 Merge pull request #5092 from appwrite/automate-hamster-script
feat: clear mail attachments
2023-02-07 20:15:25 +05:30
Christy Jacob b0d4d9183d feat: clear mail attachments 2023-02-07 20:07:35 +05:30
Christy JacobandGitHub 72d48eddee Merge pull request #5085 from appwrite/automate-hamster-script
feat: add hamster background task
2023-02-06 19:45:22 +05:30
Christy Jacob 5c1adf1f68 feat: add hamster background task 2023-02-06 19:44:47 +05:30
Christy JacobandGitHub ef20d5f007 Merge pull request #5084 from appwrite/automate-hamster-script
feat: automate hamster
2023-02-06 16:02:33 +05:30
Christy Jacob 4672b31685 feat: linter 2023-02-06 15:30:21 +05:30
Christy Jacob 38d7401aa9 feat: automate hamster 2023-02-06 15:23:33 +05:30
Christy JacobandGitHub 28e6de81d4 Merge pull request #5047 from appwrite/feat-aggregate-stats
feat: add hamster script
2023-01-26 18:26:48 +05:30
Christy Jacob 45a2268910 feat: add hamster script 2023-01-26 18:25:41 +05:30
Christy Jacob b1f624bc0d feat: add hamster script 2023-01-26 18:24:32 +05:30
Christy JacobandGitHub 7261febebe Merge pull request #5045 from appwrite/feat-aggregate-stats
Feat aggregate stats
2023-01-26 17:29:05 +05:30
Christy Jacob fd389bc02f feat: add hamster script 2023-01-26 17:28:30 +05:30
Christy Jacob 304cb16553 feat: add hamster script 2023-01-26 17:28:17 +05:30
Christy JacobandGitHub b1333b39c8 Merge pull request #5044 from appwrite/feat-aggregate-stats
feat: add hamster script
2023-01-26 17:16:47 +05:30
Christy Jacob cdf9745a2a feat: add hamster script 2023-01-26 17:15:29 +05:30
Christy Jacob 73370ca746 feat: add hamster script 2023-01-26 17:13:39 +05:30
Christy JacobandGitHub e654ec2720 Merge pull request #4889 from appwrite/feat-aggregate-stats
feat: aggregate stats
2023-01-26 16:31:34 +05:30
Christy Jacob a15d03f19e Merge branch 'feat-aggregate-stats' of github.com:appwrite/appwrite into feat-aggregate-stats 2023-01-26 16:29:50 +05:30
Christy Jacob ac2e7efb3c feat: linter fixes 2023-01-26 16:29:24 +05:30
f6bef128e4 Update src/Appwrite/Platform/Tasks/Hamster.php
Co-authored-by: Matej Bačo <matejbacocom@gmail.com>
2023-01-26 15:36:34 +05:30
a3cf72bc15 Update src/Appwrite/Platform/Tasks/Hamster.php
Co-authored-by: Matej Bačo <matejbacocom@gmail.com>
2023-01-26 15:36:28 +05:30
Christy Jacob c97e7ce328 feat: update scripts 2023-01-26 02:26:33 +05:30
Christy JacobandGitHub 47f9123b78 Merge pull request #5020 from appwrite/feat-add-console-growth-var
Update Dockerfile
2023-01-19 22:58:01 +05:30
Bradley Schofield 45b68fa44f Update Dockerfile 2023-01-19 16:08:05 +00:00
Christy JacobandGitHub 5074a139df Merge pull request #5019 from appwrite/update-account-test
feat: update account codes
2023-01-19 17:43:21 +05:30
Christy Jacob 222421d8f3 feat: update account codes 2023-01-19 17:41:15 +05:30
Christy Jacob 4142ffdb70 feat: update account codes 2023-01-19 17:26:41 +05:30
Christy JacobandGitHub 30690f6bc4 Merge pull request #4885 from appwrite/revert-4844-feat-build-size
Revert "Feat: Build output size"
2023-01-19 15:04:35 +05:30
Christy JacobandGitHub 543246c50b Merge pull request #4977 from appwrite/feat-alternate-signup
feat: add code to account creation endpoint
2023-01-11 23:10:42 +05:30
Christy Jacob 837bad59a4 feat: add tests 2023-01-11 18:10:49 +05:30
Christy Jacob a2dfd692f1 feat: add tests 2023-01-11 18:09:56 +05:30
Christy Jacob 71150ced1a feat: add tests 2023-01-11 18:05:07 +05:30
Christy Jacob d7104d9cd6 feat: add tests 2023-01-11 17:54:37 +05:30
Christy Jacob 2bc85e4708 feat: linter fixes 2023-01-11 17:12:29 +05:30
Christy Jacob 9f9daf900a feat: review comments 2023-01-11 17:11:33 +05:30
Christy Jacob e3a2135515 feat: linter fixes 2023-01-10 20:18:45 +05:30
Christy Jacob 59adaff541 feat: linter fixes 2023-01-10 14:23:08 +05:30
Christy Jacob 3f992b316e feat: add code to account creation endpoint 2023-01-09 22:52:15 +05:30
Christy Jacob b751af6db9 feat: add code to account creation endpoint 2023-01-09 22:46:02 +05:30
Christy Jacob 78a057ebf9 feat: add code to account creation endpoint 2023-01-09 22:39:58 +05:30
Christy Jacob 7ea8d761e4 feat: aggregate stats 2022-12-21 02:08:37 +05:30
Christy JacobandGitHub ff9bccf1ff Revert "Feat: Build output size" 2022-12-20 18:26:56 +05:30
Christy JacobandGitHub 708994d4a6 Merge pull request #4844 from appwrite/feat-build-size
Feat: Build output size
2022-12-20 17:22:43 +05:30
e3737af3fe Update app/workers/builds.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-12-20 12:49:52 +01:00
Matej Bačo b014eda788 PR review changes 2022-12-20 12:48:11 +01:00
Christy Jacob ff73939855 feat: update console and build args 2022-12-18 15:23:18 +05:30
Matej Bačo fdd9a1caf3 Add size to build response 2022-12-18 08:40:56 +01:00
Matej Bačo 1a33ffa867 Linter fix 2022-12-18 08:37:53 +01:00
Matej Bačo 8f363eae7a Fix bugs 2022-12-18 08:35:16 +01:00
Matej Bačo ab68bb4ea1 Merge branch 'feat-db-pools' into feat-build-size 2022-12-18 08:21:41 +01:00
Matej Bačo c5da386d67 PR review changes 2022-12-18 08:20:50 +01:00
Christy Jacob 90e93f3255 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-db-pools 2022-12-16 15:42:40 +00:00
Christy JacobandGitHub e22ad54e39 Merge pull request #4814 from appwrite/fix-mimetype-size
Fix: mimetype size
2022-12-16 21:07:43 +05:30
Matej Bačo 4ee8fd5629 Add cache clean 2022-12-16 10:39:53 +01:00
Matej Bačo 072d896bb9 Add missing chmod for patch task 2022-12-14 12:37:01 +01:00
Matej BačoandGitHub 54c6f9f4e1 Merge pull request #4860 from appwrite/fix-deletes-worker-tasks
Fix: expired session, schedule deletes
2022-12-14 11:29:16 +01:00
Matej Bačo 3af214172c Rollback unwanted changes 2022-12-14 11:10:16 +01:00
Matej Bačo 3d07600a48 PR review changes 2022-12-14 10:44:46 +01:00
Matej Bačo 11b3abebd1 Remove tcp setup 2022-12-14 09:58:45 +01:00
Matej Bačo 41a6a6dbf7 Add patch CLI task 2022-12-14 09:51:28 +01:00
Matej Bačo 6279784009 Fix expired session, schedule deletes 2022-12-14 09:44:40 +01:00
Matej Bačo 746390e30a Fix missing param 2022-12-13 08:10:51 +01:00
Matej Bačo d702f3581f Fix bug 2022-12-12 13:52:22 +01:00
Matej Bačo de0de5f225 Linter fix 2022-12-12 13:45:21 +01:00
Matej Bačo 2f53260197 Update CHANGES.md 2022-12-12 13:45:07 +01:00
Matej Bačo d79eea0f4b Send build size to stats 2022-12-12 13:42:35 +01:00
Matej Bačo b513c2fbad Store build output size to DB 2022-12-12 13:40:04 +01:00
Matej Bačo fe27670e1f New attribute + migration 2022-12-12 13:39:43 +01:00
Christy JacobandGitHub ec2da723fb Merge pull request #4837 from appwrite/fix-event-executions
Fix event-triggered executions syntax error
2022-12-09 23:07:28 +04:00
Matej Bačo 46593778c9 Fix event-triggered executions syntax error 2022-12-09 19:51:21 +01:00
Christy Jacob 674c23dfde feat: update submodule 2022-12-07 15:40:14 +04:00
Christy Jacob 69d5a25c62 Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-12-07 15:39:44 +04:00
Matej Bačo 0a177713f0 Implement migration for mimeType 2022-12-07 11:01:58 +00:00
Matej Bačo ea58cb4aff Update changelog 2022-12-05 14:57:24 +00:00
Matej Bačo 4dfaa5e69a Fix mimetype size 2022-12-05 14:54:13 +00:00
Christy JacobandGitHub 8dfdef6006 Merge pull request #4756 from appwrite/docs-update-examples
Update examples for Swift, Kotlin, Web, Android and Apple
2022-11-26 12:16:24 +05:30
Eldad A. FuxandGitHub 5dbed8329e Merge pull request #4780 from appwrite/fix-region-parameter
Get default region param from env
2022-11-25 21:35:08 +02:00
Eldad A. FuxandGitHub a983630e0e Merge pull request #4740 from appwrite/doc-link-seo
Updated the error descriptions for better SEO.
2022-11-25 17:24:04 +02:00
Jake Barnby f44a642998 Get from env in param call 2022-11-25 17:27:19 +13:00
Jake Barnby cefd5660b9 Merge remote-tracking branch 'origin/master' into fix-region-parameter
# Conflicts:
#	CHANGES.md
2022-11-25 10:42:27 +13:00
Jake Barnby 9d0cbd3b68 Update changelog 2022-11-25 10:39:53 +13:00
Jake Barnby 6070e1de54 Add defaulted region test 2022-11-25 10:37:11 +13:00
Jake Barnby de38fed306 Fix empty check 2022-11-25 10:29:22 +13:00
Christy JacobandGitHub 30eda18ac1 Merge pull request #4776 from appwrite/fix-team-invite-verification-main
Fix: unsaved changes in team invitation
2022-11-24 19:18:47 +05:30
Torsten DittmannandGitHub 25f3d4a59b Merge pull request #4771 from appwrite/chore-release-1-1-2
chore: release 1.1.2
2022-11-24 13:15:37 +01:00
Matej Bačo 8b71e318c2 Fix tests bug 2022-11-24 11:55:49 +00:00
Matej BačoandGitHub 0cb2ed14f4 Improve tests 2022-11-24 12:40:17 +01:00
Matej BačoandGitHub 5e872f2fe5 Update changelog 2022-11-24 12:36:14 +01:00
Matej BačoandGitHub efe093ce3c Fix unsaved changes in team inv 2022-11-24 12:35:26 +01:00
Jake Barnby bb01a6d817 Get default region param from env 2022-11-24 11:23:59 +13:00
Christy Jacob f239296059 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-db-pools 2022-11-23 19:05:19 +00:00
Torsten Dittmann b44a100439 Merge branch 'master' of https://github.com/appwrite/appwrite into chore-release-1-1-2 2022-11-23 19:00:15 +01:00
Torsten DittmannandGitHub 6d3adeb4ed Merge pull request #4725 from appwrite/fix-4714-fix-default-oauth-path
Fix the default oauth paths to match the route
2022-11-23 19:00:02 +01:00
Steven Nguyen 01556184c7 Fix the default oauth paths to match the route 2022-11-23 09:57:49 -08:00
Torsten Dittmann dcbdbfa053 Merge branch 'master' of https://github.com/appwrite/appwrite into chore-release-1-1-2 2022-11-23 18:53:51 +01:00
Torsten DittmannandGitHub 4d4ed16839 Merge pull request #4761 from codercatdev/fix-623-locale-api-unknown-continent
Fix: Unknown Continent Issue for Locale API
2022-11-23 18:53:41 +01:00
Torsten DittmannandGitHub b819381bed Merge branch 'master' into fix-623-locale-api-unknown-continent 2022-11-23 18:52:39 +01:00
Torsten DittmannandGitHub 20c538ec83 chore: update changelog 2022-11-23 18:52:09 +01:00
Torsten DittmannandGitHub 991d8749b2 Merge pull request #4757 from gepd/null-failure
bug fix: failure status shoudn't be nulled
2022-11-23 18:51:02 +01:00
Torsten DittmannandGitHub 5f0f03c170 Merge pull request #4737 from appwrite/fix-function-status-missing
Fix: Missing execution status
2022-11-23 18:47:25 +01:00
Torsten DittmannandGitHub 2e9087285d Merge branch 'master' into fix-function-status-missing 2022-11-23 18:47:15 +01:00
Torsten Dittmann b382031ae7 chore: release 1.1.1 2022-11-23 18:43:48 +01:00
Torsten DittmannandGitHub 8406551cef Merge pull request #4739 from appwrite/fix-session-expiry
Fix session expiration
2022-11-23 17:52:20 +01:00
Torsten DittmannandGitHub 0d0de17d15 Merge branch 'master' into fix-session-expiry 2022-11-23 17:51:51 +01:00
Christy JacobandGitHub e38b5cee8e Merge pull request #4766 from appwrite/fb-pools-executor-err-handling
Improve: Executor error handler
2022-11-23 14:15:57 +05:30
Matej Baco 97bbe1a465 Bug fix 2022-11-23 09:45:06 +01:00
Matej Baco 6db93b6dfb Revert changes 2022-11-23 09:43:30 +01:00
Matej Baco 089a1b295c Improve Executor client error handling 2022-11-23 09:41:48 +01:00
Christy JacobandGitHub 948b14d139 Merge pull request #4765 from appwrite/lohanidamodar-patch-2
fix hourly stats
2022-11-23 13:26:57 +05:30
Damodar LohaniandGitHub 1a00e3829a fix hourly stats 2022-11-23 13:40:51 +05:45
Christy JacobandGitHub 1bdb58e3cf Merge pull request #4764 from appwrite/feat-usage-fix-db-pools
fix project Id issues
2022-11-23 12:26:26 +05:30
Damodar LohaniandGitHub d7cdaa5565 fix project Id issues 2022-11-23 12:22:46 +05:30
Christy JacobandGitHub 2a7fae54e0 Merge pull request #4763 from appwrite/fix-region-parameter
Make region optional with default of 'default'
2022-11-23 12:06:50 +05:30
Jake Barnby 1e1ab2a8ae Update changelog 2022-11-23 18:22:44 +13:00
Jake Barnby bd0139ef3b Make region optional with default of 'default' 2022-11-23 18:16:57 +13:00
Alex Patterson 5f80f87ba9 fixed continent spelling 2022-11-22 19:00:07 -05:00
Alex Patterson 56d8c176dd add update to changelog 2022-11-22 18:54:50 -05:00
Alex Patterson ad1587872b remove dup line 2022-11-22 18:49:31 -05:00
Christy Jacob dd5a424022 chore: update submodule 2022-11-23 03:05:45 +05:30
Christy Jacob 2fcaa02226 Merge branch 'feat-db-pools' of github.com:appwrite/appwrite into feat-db-pools 2022-11-23 03:03:19 +05:30
Christy Jacob 5730c3deb6 Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-11-23 03:02:56 +05:30
Christy JacobandGitHub 1f7a4b86d1 Merge pull request #4755 from appwrite/feat-console-build-args
feat: add build args for console
2022-11-23 01:43:57 +05:30
gepdandGitHub a231a9853f Merge branch 'appwrite:master' into null-failure 2022-11-22 17:10:55 -03:00
gepdandGitHub 64ba896738 bug fix: failure status shoudn't be nulled 2022-11-22 17:05:04 -03:00
Christy Jacob 4813e6b4d5 feat: add console mode 2022-11-22 19:32:35 +00:00
Vincent (Wen Yu) Ge 315eaaa562 Update examples for Swift, Kotlin, Web, Android and Apple 2022-11-22 19:19:43 +00:00
fc752039a4 Update Dockerfile
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-11-23 00:29:26 +05:30
Christy JacobandGitHub e7a51fac74 Merge pull request #4616 from appwrite/feat-usage-refactor-fo-db-pools
Feat usage refactor for db pools
2022-11-23 00:07:59 +05:30
Christy Jacob d2b0218aba feat: add build args for console 2022-11-22 18:26:41 +00:00
Christy Jacob c99ed47e63 Merge branch 'feat-db-pools' of github.com:appwrite/appwrite into feat-usage-refactor-fo-db-pools 2022-11-22 22:05:18 +05:30
Christy JacobandGitHub 35f16118b1 Merge pull request #4752 from appwrite/db-pools-matej-qa
Fix: Db pools QA
2022-11-22 21:27:30 +05:30
Christy Jacob 92a59cdf3f fix: use projectInternalId in the usage stats 2022-11-22 21:26:10 +05:30
Matej Baco 95ac8721f0 Revert changes 2022-11-22 16:50:41 +01:00
Christy Jacob c7f2785b45 feat: update worker counts 2022-11-22 21:07:04 +05:30
Matej Baco 2ef43e3249 Improvements during QA 2022-11-22 16:36:15 +01:00
Christy Jacob 85de5e9106 feat: update droplet config 2022-11-22 20:14:39 +05:30
Christy Jacob 210b4558c6 Merge branch 'feat-db-pools' of github.com:appwrite/appwrite into feat-usage-refactor-fo-db-pools 2022-11-22 19:52:44 +05:30
Christy Jacob a47618e01a feat: update branch 2022-11-22 14:17:18 +00:00
Christy Jacob dd8a64b3a3 feat: update branch 2022-11-22 14:10:41 +00:00
Christy Jacob 8ea6647b22 feat: update branch 2022-11-22 13:56:50 +00:00
Christy JacobandGitHub 259f868cc8 Merge pull request #4748 from appwrite/fix-db-pool-sharing
Fix: db pool sharing
2022-11-22 13:32:08 +05:30
Matej Bačo ced481f78c Linter, library upgrade 2022-11-22 07:57:44 +00:00
Matej Bačo f055adc05f Fix pool sharing logic 2022-11-22 07:17:56 +00:00
Christy JacobandGitHub de8552e901 Merge pull request #4735 from appwrite/fix-hsts
Enable HSTS for all HTTPS requests
2022-11-21 22:11:50 +05:30
Vincent (Wen Yu) Ge 7f95ff31bd Updated the error descriptions for better SEO. 2022-11-21 15:37:34 +00:00
Christy JacobandGitHub 12b2deda11 Merge pull request #4738 from appwrite/feat-add-executor-vars
Feat: add executor vars
2022-11-21 20:27:10 +05:30
Matej Bačo e20b2f3340 Upgrade OPR images 2022-11-21 14:55:57 +00:00
Matej Bačo eda112755a Update changelogs 2022-11-21 14:26:59 +00:00
Matej Bačo dd99ab7b00 Fix session expiration 2022-11-21 14:24:52 +00:00
Matej Bačo 202e4c01d8 Add new executor env vars 2022-11-21 14:23:43 +00:00
Damodar Lohani 14ea8b2197 Merge branch 'feat-db-pools' of https://github.com/appwrite/appwrite into feat-usage-refactor-fo-db-pools 2022-11-21 14:12:22 +00:00
Matej BačoandGitHub e7fc427291 Remove failing test 2022-11-21 15:10:55 +01:00
Matej Bačo d2362aeab0 Improve performance 2022-11-21 11:43:20 +00:00
Matej Bačo 831960245f Permission bug fix 2022-11-21 11:20:52 +00:00
Matej Bačo 8feb3dc43c Update changelog 2022-11-21 09:40:50 +00:00
Matej Bačo 0ee49e7895 Fix missing execution status 2022-11-21 09:38:36 +00:00
Eldad A. FuxandGitHub a80da7526d Merge pull request #4684 from appwrite/fix-gitpod-submodules
Fix: Gitpod prebuilds
2022-11-21 10:36:25 +02:00
Jake Barnby 4a61718cff Enable HSTS for all HTTPS requests 2022-11-21 16:49:45 +13:00
Christy JacobandGitHub 7694e19322 Merge pull request #4720 from appwrite/fix-volume-sync
fix: volume sync
2022-11-18 22:21:37 +05:30
Christy Jacob 9698dc2115 fix: volume sync 2022-11-18 22:18:27 +05:30
Christy JacobandGitHub 948936dcff Merge pull request #4697 from appwrite/fix-init-retry
Fix: Failing errors
2022-11-18 19:53:43 +05:30
Matej Baco 91de1cbcf3 Fix bug 2022-11-18 15:22:46 +01:00
Matej Baco c284c417bb Merge branch 'fix-init-retry' of https://github.com/appwrite/appwrite into fix-init-retry 2022-11-18 15:20:08 +01:00
Matej Baco a13c671a2b PR review changes 2022-11-18 15:20:05 +01:00
421cebced8 Update app/config/variables.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-11-18 15:17:51 +01:00
9163aa360e Update tests/e2e/General/UsageTest.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-11-18 15:17:14 +01:00
Matej Baco 5ec548cc06 Fix more failing tests 2022-11-18 14:13:33 +01:00
Christy JacobandGitHub 1057ab4e42 Merge pull request #4716 from appwrite/fix-env-vars
Fix env vars
2022-11-18 15:20:08 +05:30
Matej Baco b39aa060c8 Fix usage endpoint in test 2022-11-18 10:15:11 +01:00
Matej Baco eba34a294d Update composer.lock 2022-11-18 09:52:22 +01:00
Matej Baco 792286c955 Merge branch 'feat-db-pools' into fix-init-retry 2022-11-18 09:51:53 +01:00
Matej Baco 0075956c6c Introduce ENV to disable console invites, fix outdated code after merge 2022-11-18 09:51:28 +01:00
Matej Baco 715273798e More bug fixing around failing tests 2022-11-18 09:22:04 +01:00
Jake Barnby 8c7fa98fe2 Remove empty env vars 2022-11-18 21:15:11 +13:00
Jake Barnby 7dc5617339 Remove volume sync container 2022-11-18 21:09:11 +13:00
Jake Barnby 35740fe65b Increase pool instance count to account for CLI 2022-11-18 21:07:57 +13:00
Christy Jacob 2f5e7e1e8c update submodule to latest commit 2022-11-18 08:04:00 +00:00
Christy Jacob fc0b8730a9 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-db-pools 2022-11-18 07:56:43 +00:00
Matej Baco 26ea9d675a Linter fix 2022-11-18 08:13:22 +01:00
Matej Baco d0c253e45d Update lockfile after merge 2022-11-18 08:10:31 +01:00
Matej Baco 418a432d6c Merge branch 'feat-db-pools' into fix-init-retry 2022-11-18 08:10:11 +01:00
Matej BačoandGitHub 3353bad8ff Apply suggestions from code review 2022-11-18 08:03:01 +01:00
Christy Jacob 57dd721a61 chore: update volume names 2022-11-18 01:08:43 +05:30
Christy Jacob b30571dcd0 chore: update submodule 2022-11-18 00:43:12 +05:30
Christy JacobandGitHub 917febcf49 Merge pull request #4707 from appwrite/feat-add-console
Feat add console
2022-11-18 00:29:41 +05:30
Christy Jacob 373e230ab0 fix: issues with usage 2022-11-18 00:28:57 +05:30
Christy Jacob 71bb70dec4 Merge branch 'feat-db-pools' of github.com:appwrite/appwrite into feat-add-console 2022-11-17 23:27:26 +05:30
Christy JacobandGitHub 18cd83c2af Merge pull request #4705 from appwrite/disable-invites
feat: disable auth on console project
2022-11-17 23:21:30 +05:30
Christy JacobandGitHub 8f6a151980 Merge pull request #4696 from appwrite/feat-community-files
Feat community files
2022-11-17 23:20:30 +05:30
Christy Jacob 6c43b44441 feat: use new storage library 2022-11-17 23:16:49 +05:30
Christy Jacob c4a5c73717 feat: use new storage library 2022-11-17 23:13:59 +05:30
Christy Jacob e0c363e8e5 feat: add new console 2022-11-17 22:51:55 +05:30
Torsten DittmannandGitHub 673b0bb083 Merge pull request #4706 from appwrite/chore-prepare-1-1-1
chore: prepare 1.1.1 release
2022-11-17 17:13:03 +01:00
Christy Jacob 080abbbb79 Merge branch 'master' of github.com:appwrite/appwrite into feat-add-console 2022-11-17 20:26:10 +05:30
Torsten Dittmann dd34dfce22 fix: migration for oauthproviders 2022-11-17 15:33:46 +01:00
Torsten Dittmann bba9284c3e chore: add comments to v16 migration 2022-11-17 14:58:16 +01:00
Torsten Dittmann d1eae37577 fix: make migration for oauth providers non-destructive 2022-11-17 14:57:27 +01:00
Torsten Dittmann 727c3839d6 feat: upgrade console to 2.0.1 2022-11-17 14:52:44 +01:00
Torsten Dittmann 36cc6d8621 chore: prepare 1.1.1 release 2022-11-17 14:38:49 +01:00
Torsten DittmannandGitHub ac73be78b5 Merge pull request #4704 from appwrite/fix-migration-usage-region
fix: migration for stats region
2022-11-17 14:24:51 +01:00
Christy Jacob 878021b9a3 feat: disable auth on console project 2022-11-17 18:20:17 +05:30
Torsten Dittmann a252c7e469 chore: update changelog 2022-11-17 13:39:16 +01:00
Torsten Dittmann 8d3903cd37 fix: remove layout 2022-11-17 13:37:59 +01:00
Torsten Dittmann e7189efcff chore: update changelog 2022-11-17 12:38:39 +01:00
Torsten Dittmann 53adb4e114 fix: migration for oauth providers 2022-11-17 12:38:09 +01:00
Torsten Dittmann 6567b23c85 chore: update changelog 2022-11-17 12:26:58 +01:00
Torsten Dittmann 30f088ad35 fix: cache cleaning on migration 2022-11-17 12:26:14 +01:00
Torsten Dittmann 00ec95fc9f chore: add changelog 2022-11-17 11:35:29 +01:00
Torsten Dittmann eb5e853f2d fix: migration for stats region 2022-11-17 11:31:24 +01:00
Christy JacobandGitHub 6acb07109a Merge pull request #4578 from appwrite/feat-support-dsn
feat: add support for the new DSN class
2022-11-17 13:34:30 +05:30
Christy Jacob b989a35b62 feat: add todos 2022-11-17 08:04:05 +00:00
Christy Jacob 99c6dfb4ae feat: update composer 2022-11-17 07:52:18 +00:00
Christy Jacob 4f31fb5dc8 feat: linter 2022-11-17 07:46:00 +00:00
Christy Jacob 4271e34b39 feat: review comments 2022-11-17 07:44:54 +00:00
Christy Jacob ad5bd3b328 feat: review comments 2022-11-17 07:07:43 +00:00
Christy Jacob 999dfe5d63 feat: review comments 2022-11-17 07:06:13 +00:00
Christy Jacob 28087d708d feat: review comments 2022-11-17 07:03:59 +00:00
Christy Jacob 836ab62285 feat: review comments 2022-11-17 07:02:51 +00:00
Christy Jacob d830f5c262 feat: review comments 2022-11-17 07:01:11 +00:00
Christy Jacob 8b431a8e44 feat: remove executor 2022-11-17 06:47:43 +00:00
Christy Jacob 261830c122 Merge branch 'feat-db-pools' of https://github.com/appwrite/appwrite into feat-support-dsn 2022-11-17 06:43:49 +00:00
Christy Jacob d75831380b feat: review comments 2022-11-17 06:36:41 +00:00
Steven Nguyen 3d01bf6505 Update links to code of conduct 2022-11-16 20:37:24 -08:00
Christy JacobandGitHub f63aeb50a1 Merge pull request #4699 from appwrite/1.1.x-examples
1.1.x examples
2022-11-17 09:48:31 +05:30
Damodar Lohani 3439978253 formatting 2022-11-17 00:39:33 +00:00
Damodar Lohani baddbf7f03 remove unused code 2022-11-17 00:38:44 +00:00
Damodar Lohani 9f92214c9d update usage 2022-11-17 00:36:51 +00:00
Damodar Lohani 96e67f968f Merge remote-tracking branch 'origin/feat-db-pools' into feat-usage-refactor-fo-db-pools 2022-11-17 00:31:57 +00:00
Damodar LohaniandGitHub 74eaef4e9d remove unused import 2022-11-17 05:51:12 +05:45
Wen Yu Ge a58dbe7c66 Fix java and kotlin examples folder structure 2022-11-16 18:43:27 -05:00
Wen Yu Ge db79f92b39 Add examples for 1.1.x 2022-11-16 18:35:44 -05:00
Matej Baco 5dd31bcdfb Fix init startup 2022-11-16 20:53:59 +01:00
Matej Baco 48f143547a Upgrade libs 2022-11-16 20:49:32 +01:00
Matej Baco 2220222f48 Merge branch 'feat-db-pools' into fix-init-retry 2022-11-16 20:43:31 +01:00
Matej Baco ebfc114980 Merge branch 'fix-init-retry' of https://github.com/appwrite/appwrite into fix-init-retry 2022-11-16 20:43:18 +01:00
Christy JacobandGitHub 2a9345cbcd Merge pull request #4694 from appwrite/fix-init-retry
Add retry logic to CLI
2022-11-17 01:12:54 +05:30
Matej Bačo f324576686 Fix linter 2022-11-16 19:41:01 +00:00
Matej Baco 762d52bca8 Fix failing tests 2022-11-16 20:39:35 +01:00
Steven Nguyen 2ede405784 Remove issue templates in favor of org level files 2022-11-16 10:51:19 -08:00
Steven Nguyen a309beddf5 Update supported versions 2022-11-16 10:51:19 -08:00
Steven Nguyen 4a495f61d5 Remove code of conduct in favor of the org level file 2022-11-16 10:51:13 -08:00
Christy JacobandGitHub 683447b3b5 Merge pull request #4695 from appwrite/fix-builds-worker
fix: return types
2022-11-16 23:30:28 +05:30
Christy Jacob 657f2bc334 fix: linter 2022-11-16 23:25:27 +05:30
Christy Jacob a34223748b fix: return types 2022-11-16 17:32:35 +00:00
Matej Baco ae9a518250 Add retry logic to CLI 2022-11-16 16:28:15 +01:00
Christy JacobandGitHub a233a30d28 Merge pull request #4691 from appwrite/feat-schedules-deletions
Deleted functions
2022-11-16 20:49:14 +05:30
Christy JacobandGitHub 44c85da574 Update app/config/variables.php 2022-11-16 20:47:47 +05:30
shimon 153f2424d1 Deleted functions
schedules clean up
2022-11-16 17:14:52 +02:00
shimon bb0e4fe049 Merge remote-tracking branch 'origin/feat-schedules-deletions' into feat-schedules-deletions 2022-11-16 17:09:26 +02:00
61d3d6755e Update src/Appwrite/Platform/Tasks/Maintenance.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-11-16 17:08:58 +02:00
8173aec33a Update .env
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-11-16 17:08:38 +02:00
shimon 48e8e72431 Merge remote-tracking branch 'origin/feat-schedules-deletions' into feat-schedules-deletions 2022-11-16 17:05:30 +02:00
shimon a6fcc59ead Merge remote-tracking branch 'origin/feat-schedules-deletions' into feat-schedules-deletions
# Conflicts:
#	app/config/variables.php
2022-11-16 17:05:27 +02:00
Christy JacobandGitHub a976390e5f Update app/workers/deletes.php 2022-11-16 20:33:57 +05:30
shimon 29db442b99 Deleted functions
schedules clean up
2022-11-16 17:02:00 +02:00
Christy JacobandGitHub 0250754e6f Update app/config/variables.php 2022-11-16 20:31:36 +05:30
shimon 8edb592138 Deleted functions
schedules clean up
2022-11-16 17:00:27 +02:00
shimon 018750161e Merge remote-tracking branch 'origin/feat-schedules-deletions' into feat-schedules-deletions 2022-11-16 16:56:59 +02:00
shimon 6a79bea5df Deleted functions
schedules clean up
2022-11-16 16:56:47 +02:00
bc6731ff6b Update app/config/variables.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-11-16 16:55:41 +02:00
shimon 99823656f0 Deleted functions
schedules clean up
2022-11-16 16:31:49 +02:00
Christy JacobandGitHub 7d8162309c Merge pull request #4662 from appwrite/fix-deletes-worker
fix: use getDevice in deletes worker
2022-11-16 19:54:33 +05:30
shimon dd7bd108cc Deleted functions
schedules clean up
2022-11-16 16:14:45 +02:00
Christy JacobandGitHub a027e6eceb Merge pull request #4641 from appwrite/refactor-scheduler
Refactor scheduler
2022-11-16 19:40:25 +05:30
Christy JacobandGitHub 0c759e958d Merge pull request #4659 from appwrite/refactor-functions-worker
Refactor functions worker
2022-11-16 19:21:17 +05:30
Matej Baco 5f8d3ff6ee More PR reviews 2022-11-16 14:50:12 +01:00
Matej Baco e37f70246e PR review changes 2022-11-16 14:34:11 +01:00
Matej Baco 284150a84a Merge branch 'refactor-scheduler' into refactor-functions-worker 2022-11-16 14:17:45 +01:00
Matej Baco 8b000aff40 Merge branch 'feat-db-pools' into refactor-scheduler 2022-11-16 14:13:05 +01:00
Matej Baco 3b6174b5a7 Bug fixes 2022-11-16 14:11:00 +01:00
shimon b1372a39b0 Deleted functions
schedules clean up
2022-11-16 14:54:42 +02:00
shimon c67852a7fb Deleted functions
schedules clean up
2022-11-16 14:51:43 +02:00
Matej Baco 3e325afb61 Revert unnessessary changes 2022-11-16 13:44:14 +01:00
Matej Baco fdbb5b9810 QA bug fixing 2022-11-16 13:19:29 +01:00
Matej Baco 43adf758bd Fix lockfile after merge 2022-11-16 12:30:57 +01:00
Matej Baco 83639ea6f8 Merge branch 'feat-db-pools' into refactor-functions-worker 2022-11-16 12:29:42 +01:00
Christy Jacob 17a36dbce3 feat: update changelog 2022-11-16 11:15:24 +00:00
Christy Jacob 956eab5ab5 Merge branch 'master' of https://github.com/appwrite/appwrite into fix-deletes-worker 2022-11-16 11:11:15 +00:00
Christy Jacob 08a986e433 Merge branch '1.1.x' of https://github.com/appwrite/appwrite into fix-deletes-worker 2022-11-16 11:10:39 +00:00
Christy JacobandGitHub 05318b3168 Merge pull request #4679 from appwrite/feat-realtime-dbpools
Simplify pool sizing
2022-11-16 16:35:52 +05:30
Matej Baco 390f407eb5 Linter fixes 2022-11-16 11:54:21 +01:00
Christy Jacob cf4be51094 feat: review comments 2022-11-16 10:43:26 +00:00
Matej Baco 9e4a65605c Simplify worker 2022-11-16 11:40:41 +01:00
Eldad A. FuxandGitHub 1498d0f628 Merge pull request #4688 from appwrite/update-console-announcement-blog
Fix: Update announcement blog in Readme
2022-11-16 12:34:23 +02:00
Matej Baco 44875e2d18 QA review changes 2022-11-16 11:33:11 +01:00
Aditya Oberai fbebf7deac Update announcement blog in Readme 2022-11-16 10:31:30 +00:00
Torsten DittmannandGitHub c585dfda16 Merge pull request #4687 from appwrite/christyjacob4-patch-4
Update CHANGES.md
2022-11-16 11:19:44 +01:00
Christy JacobandGitHub 5ca7b5ffe8 Update CHANGES.md 2022-11-16 15:47:40 +05:30
Christy JacobandGitHub 8411e81e28 Update CHANGES.md 2022-11-16 15:43:07 +05:30
Torsten DittmannandGitHub 68cc1b5db4 Merge pull request #4686 from appwrite/chore-generate-specs
chore: generate specs
2022-11-16 11:03:26 +01:00
Torsten Dittmann 410533be27 chore: generate specs 2022-11-16 11:01:49 +01:00
Torsten DittmannandGitHub f85b8a5bdc Merge pull request #4685 from appwrite/fix-github-images
fix: github images
2022-11-16 10:27:06 +01:00
Torsten Dittmann 8faa46de9b fix: remove unused github-logo 2022-11-16 10:26:00 +01:00
Torsten Dittmann d3b8d49a3e fix: github images 2022-11-16 10:18:49 +01:00
Matej Bačo cd4b7c1c36 Improve git prebuilds 2022-11-16 09:15:34 +00:00
shimon 0d61a7fcf5 resetting workers-number 2022-11-16 11:00:11 +02:00
Torsten DittmannandGitHub aae2cea73a Merge pull request #4681 from appwrite/1.1.x
1.1.x -> master
2022-11-16 09:52:19 +01:00
shimon ac70537ece resetting workers-number 2022-11-16 10:50:24 +02:00
shimon 6b88f66d14 removed pools injection in functions controller 2022-11-16 10:46:47 +02:00
shimon 4e3bcd6cd0 Authorization::skip added 2022-11-16 10:41:57 +02:00
Torsten DittmannandGitHub fbb9bb8941 Merge pull request #4682 from appwrite/fix-sync-1-1-x
sync: 1.1.x
2022-11-16 09:05:28 +01:00
Torsten Dittmann 3ffd59f18c update version numbers 2022-11-16 09:03:39 +01:00
Torsten Dittmann da4e7536ca Merge branch 'master' of https://github.com/appwrite/appwrite into 1.1.x 2022-11-16 09:00:50 +01:00
Torsten DittmannandGitHub 3cb97a62c8 Merge pull request #4655 from appwrite/feat-console-rewrite
feat: console submodule
2022-11-16 08:57:03 +01:00
Eldad A. FuxandGitHub b80e82e9c1 Merge pull request #4680 from appwrite/update-console-image-readme
Feat: Update console image in Readme
2022-11-16 09:45:19 +02:00
Jake Barnby c4bbf08d52 Revert realtime from workerPools -> pools 2022-11-16 20:20:08 +13:00
Jake Barnby 87bc593570 Pull calculation into pools callback 2022-11-16 20:18:59 +13:00
Aditya Oberai b71ddd1d26 Update console image in Readme 2022-11-16 07:14:44 +00:00
Jake Barnby 750dcc2a56 Comment out variable 2022-11-16 20:00:20 +13:00
Jake Barnby c46ba06c51 Update env var name 2022-11-16 19:57:12 +13:00
Christy Jacob dbb05c46ba fix: event triggers 2022-11-16 11:38:01 +05:30
Christy Jacob e976bd3cb1 fix: event triggers 2022-11-16 11:22:19 +05:30
Christy Jacob 8b0a78bb36 fix: function events and linter 2022-11-16 11:00:57 +05:30
Christy Jacob 5abe9ad73c feat: refactor execute function to a resource 2022-11-16 10:10:34 +05:30
Christy Jacob 586fd46bcd feat: check async execution 2022-11-16 09:49:35 +05:30
Christy Jacob 3bd3b8d8e9 feat: check async execution 2022-11-16 09:48:11 +05:30
Christy Jacob 4a92db4dc3 feat: check async execution 2022-11-16 09:47:46 +05:30
Torsten Dittmann 9c95e40458 fix: console to use tag 2022-11-15 23:56:33 +00:00
Jake Barnby 860f077787 Use separate registry entry for worker pools 2022-11-16 12:50:37 +13:00
Torsten DittmannandGitHub 40c71a7b53 ci. fix submodules 2022-11-16 00:41:37 +01:00
Torsten DittmannandGitHub 9a09ee23f1 ci: fix submodule url 2022-11-16 00:38:48 +01:00
Torsten DittmannandGitHub deefff537d ci: fetch submodules 2022-11-16 00:37:13 +01:00
Matej Baco 6bf370a058 QA bug fixes 2022-11-15 19:43:40 +01:00
Matej Baco 44a82de09b Refactor func event triggering 2022-11-15 19:13:17 +01:00
Torsten Dittmann 3b6035b585 chore: update console 2022-11-15 18:59:04 +01:00
Torsten Dittmann 912636b54c Merge branch '1.1.x' of https://github.com/appwrite/appwrite into feat-console-rewrite 2022-11-15 18:22:49 +01:00
Torsten DittmannandGitHub 27ddf8630b Merge pull request #4661 from appwrite/fix-cache-permissions
enabling file permissions
2022-11-15 18:03:10 +01:00
Matej Baco 280a44e1cd Fix bugs during QA 2022-11-15 17:55:30 +01:00
Matej Baco 855c3d3b84 Re-implement removed stuff during merge 2022-11-15 17:37:16 +01:00
Matej Baco eb47894970 Merge branch 'refactor-scheduler' into refactor-functions-worker 2022-11-15 17:37:04 +01:00
shimon 797c3f2443 addressing some comments 2022-11-15 18:21:54 +02:00
shimon 11915e1667 addressing some comments 2022-11-15 18:20:50 +02:00
shimon 0d79f19dcd addressing some comments 2022-11-15 18:14:52 +02:00
shimon 3682c1d05b addressing some comments 2022-11-15 18:07:13 +02:00
shimon 8bcf349c38 addressing some comments 2022-11-15 18:03:42 +02:00
Torsten Dittmann 50dc4c3790 chore: refresh specs 2022-11-15 16:43:42 +01:00
Torsten Dittmann 841c5479ed Merge branch '1.1.x' of https://github.com/appwrite/appwrite into feat-console-rewrite 2022-11-15 16:39:52 +01:00
Torsten Dittmann 68e1a0b114 fix: remove unused import 2022-11-15 16:31:38 +01:00
Torsten Dittmann 1b533daeaa fix: remove manifest endpoint 2022-11-15 16:30:53 +01:00
Torsten Dittmann 5db924627a fix: tests 2022-11-15 16:28:33 +01:00
Torsten Dittmann 29edecf05d fix: tests 2022-11-15 16:19:13 +01:00
shimon ee0950449a Merge branch '1.1.x' of github.com:appwrite/appwrite into fix-cache-permissions 2022-11-15 17:17:58 +02:00
shimon 18618b8e8b cancel cache via avatar::initials 2022-11-15 17:17:35 +02:00
Torsten DittmannandGitHub 006cb4665e Merge pull request #4674 from appwrite/fix-usage-executions
Fix: usage executions
2022-11-15 15:39:12 +01:00
Torsten Dittmann aff29ed197 fix: update console 2022-11-15 15:36:37 +01:00
Torsten Dittmann ef1e5a9674 Merge branch '1.1.x' of https://github.com/appwrite/appwrite into feat-console-rewrite 2022-11-15 15:36:25 +01:00
Torsten DittmannandGitHub 344669db46 Merge pull request #4677 from appwrite/fix-realtime-console-project
chore: prepare release
2022-11-15 15:35:52 +01:00
Torsten Dittmann 10695a021a fix: usage tests timeout 2022-11-15 15:35:42 +01:00
Torsten DittmannandGitHub 62618445e9 Merge pull request #4675 from appwrite/feat-implement-session-length-api
Fix Session API Defaults and convert from minutes to seconds
2022-11-15 15:34:03 +01:00
shimon 390fbc52eb minor changes 2022-11-15 16:33:43 +02:00
Torsten Dittmann 35b7a2ee96 fix: linter 2022-11-15 15:22:57 +01:00
Christy JacobandGitHub 6be62fb20e Merge pull request #4668 from appwrite/refactor-scheduler-improvements
Improve schedule accuracy + simplify
2022-11-15 19:07:37 +05:30
Matej Baco e04295918f Add TODO 2022-11-15 14:36:43 +01:00
Matej Baco c07953a640 Linter fix 2022-11-15 14:35:13 +01:00
Matej Baco b6e4ec822b Add TODO 2022-11-15 14:34:13 +01:00
Matej Baco bfe8b98008 Attempt to reuse db connections 2022-11-15 14:30:19 +01:00
Torsten Dittmann 85ed70f346 fix: remove Dockerfile leftovers 2022-11-15 14:02:14 +01:00
Matej Baco 451c6334bb Rename file step 2 2022-11-15 14:01:44 +01:00
Matej Baco bb3c99c58b Rename file step 1 2022-11-15 14:01:24 +01:00
Matej Baco ea5bd5160a Linter fix 2022-11-15 14:01:06 +01:00
Torsten Dittmann 522ae8d538 feat: migration for 1.1.x 2022-11-15 13:59:35 +01:00
Matej Baco 4a126efd3f Merge branch 'refactor-scheduler-improvements' of https://github.com/appwrite/appwrite into refactor-scheduler-improvements 2022-11-15 13:54:58 +01:00
Matej Baco 727338cb9a Imrpove pools relciam logic 2022-11-15 13:54:54 +01:00
Torsten Dittmann 7288520f38 fix: realtime console project 2022-11-15 13:30:18 +01:00
Christy Jacob 174f57cfb1 Merge branch 'refactor-scheduler' of https://github.com/appwrite/appwrite into refactor-scheduler-improvements 2022-11-15 12:15:38 +00:00
Christy Jacob 98fbe18ac4 Merge branch 'feat-db-pools' of https://github.com/appwrite/appwrite into refactor-scheduler 2022-11-15 12:13:44 +00:00
Matej Baco 9539e27907 Linter fix 2022-11-15 12:32:36 +01:00
Matej Baco 1084631d0f Fux reclaim logic in CLI; Prevent early executions 2022-11-15 12:23:08 +01:00
Matej Bačo c13589c1ea Bug fix 2022-11-15 11:04:13 +00:00
Matej Baco b031e13997 Improve reclaim of pools in schedule 2022-11-15 11:39:24 +01:00
Bradley Schofield f5a4701944 Run Linter 2022-11-15 10:38:02 +00:00
Matej Baco 22effdd88a Refactor schedule task to new syntax 2022-11-15 11:37:07 +01:00
Bradley Schofield f0052cbd8e Update Tests 2022-11-15 10:31:32 +00:00
Matej Baco 30e39f0bcf Merge branch 'feat-db-pools' into refactor-scheduler-improvements 2022-11-15 11:28:54 +01:00
Bradley Schofield a51288da57 Update projects.php 2022-11-15 10:25:34 +00:00
Bradley Schofield 64b725a6f7 Update Defaults 2022-11-15 10:19:35 +00:00
Matej Bačo ff06e4b238 Move schedule delete TODO 2022-11-15 10:15:57 +00:00
Matej Bačo e1ecf9aad7 Fix failing test 2022-11-15 09:41:55 +00:00
Matej Bačo 8dd5eb09f0 Fix executions usage count 2022-11-15 09:33:07 +00:00
Christy JacobandGitHub 3e4a10f42e Merge pull request #4673 from appwrite/feat-realtime-dbpools
Feat realtime dbpools
2022-11-15 14:47:51 +05:30
Jake Barnby dc6c8d9b9a Use 500 code for pool too small exception 2022-11-15 22:16:25 +13:00
Christy JacobandGitHub 5b32f6d9a9 Merge pull request #4672 from appwrite/test-storage-projects
feat: move project endpoint to another service
2022-11-15 14:45:41 +05:30
Jake Barnby 6e0c54a151 Update pools version 2022-11-15 21:59:23 +13:00
Christy Jacob 318ee64b93 fix: failing tests 2022-11-15 14:02:32 +05:30
Jake Barnby a59336ce95 Update compose template 2022-11-15 21:28:49 +13:00
Jake Barnby 702657ebb4 Merge remote-tracking branch 'origin/feat-db-pools' into feat-realtime-dbpools
# Conflicts:
#	.env
#	CHANGES.md
#	composer.json
#	composer.lock
2022-11-15 21:22:14 +13:00
Jake Barnby b8b78adfdc Update changelog 2022-11-15 21:05:52 +13:00
Jake Barnby e750c19660 Remove tcp read buffer auto-size disabling 2022-11-15 20:52:08 +13:00
Jake Barnby cca33c6c5d Remove redundant import 2022-11-15 20:39:41 +13:00
Jake Barnby c4be0260c3 Update env default max connections 2022-11-15 20:36:04 +13:00
Jake Barnby af391b8f7a Update default pool size name 2022-11-15 20:30:01 +13:00
Jake Barnby ada54cacd0 Update default env values 2022-11-15 20:29:27 +13:00
Jake Barnby 7de2f69f38 Revert "Use buffered queries"
This reverts commit 1c24421a95.
2022-11-15 19:43:04 +13:00
Jake Barnby 1c24421a95 Use buffered queries 2022-11-15 15:45:53 +13:00
Jake Barnby 447f3f6756 Add missing env to image 2022-11-15 15:45:18 +13:00
Torsten Dittmann c621b66195 fix: upgrade console 2022-11-14 22:54:38 +01:00
Torsten Dittmann aea13bad72 Merge branch 'chore-prepare-1-1-0' of https://github.com/appwrite/appwrite into feat-console-rewrite 2022-11-14 22:54:23 +01:00
Torsten Dittmann 825738ced9 chore: prepare 1.1.x 2022-11-14 22:42:48 +01:00
Torsten DittmannandGitHub a376bdcb60 Merge pull request #4618 from appwrite/feat-implement-session-length-api
Implement Variable Session Duration
2022-11-14 22:35:13 +01:00
Torsten Dittmann 9412013360 feat: remove stuff 2022-11-14 21:58:51 +01:00
Christy Jacob 3ae1d9b8e6 feat: run linter 2022-11-15 00:17:44 +05:30
Christy Jacob d7d41b4b6b feat: move project endpoint to another service 2022-11-14 23:52:04 +05:30
Christy JacobandGitHub 3ef9a3397f Merge pull request #4665 from appwrite/feat-refactor-tasks-only
Feat refactor tasks only using platform library
2022-11-14 21:48:42 +05:30
Bradley Schofield 3c71164741 Merge branch '1.1.x' into feat-implement-session-length-api 2022-11-14 15:30:38 +00:00
Torsten Dittmann c784cab798 fix: remove asterik 2022-11-14 16:26:10 +01:00
a14ab321bf Update app/controllers/api/projects.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-11-14 15:18:40 +00:00
Torsten Dittmann 310ff90d22 Merge branch '1.1.x' of https://github.com/appwrite/appwrite into feat-console-rewrite 2022-11-14 15:57:40 +01:00
Torsten Dittmann 465dad522e fix: remove unnecessary files 2022-11-14 15:31:24 +01:00
Matej Bačo de8122c02f Share coroutines for executions 2022-11-14 13:02:16 +00:00
Bradley Schofield 6260a1a156 change authDuration to duration and update tests 2022-11-14 13:00:50 +00:00
Bradley Schofield 60a63d9eb9 Update ProjectsConsoleClientTest.php 2022-11-14 11:43:28 +00:00
Damodar Lohani c92cbbead2 Merge remote-tracking branch 'origin/feat-db-pools' into feat-refactor-tasks-only 2022-11-14 10:48:59 +00:00
Christy JacobandGitHub fc272daeb2 Merge pull request #4650 from appwrite/feat-db-pools-opr
Feat: Decouple executor
2022-11-14 16:17:28 +05:30
Damodar Lohani 2c255a7394 fix cli 2022-11-14 10:46:11 +00:00
Damodar Lohani 920cff8ce7 fix vars 2022-11-14 10:39:37 +00:00
Damodar Lohani f469d1ba45 fix volume sync 2022-11-14 10:38:17 +00:00
Damodar Lohani 0570e26a48 revert back callback changes 2022-11-14 10:36:21 +00:00
Damodar Lohani 5fbf961a9a fix cli 2022-11-14 10:29:10 +00:00
Damodar Lohani d15af1ae17 update callback code 2022-11-14 10:24:16 +00:00
Damodar Lohani bbcce5e018 refactor service namespace 2022-11-14 10:10:47 +00:00
Damodar Lohani cb9bfb2b54 remove base action 2022-11-14 10:09:39 +00:00
Damodar Lohani ae0b9e78aa refactor namespace and naming 2022-11-14 10:01:41 +00:00
Matej Bačo c2e8fc5733 Increase timer delay 2022-11-14 10:00:46 +00:00
Bradley Schofield 43d4d6fec3 Address Eldad's Comments 2022-11-14 09:57:37 +00:00
c76057fd37 Update app/controllers/api/projects.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-11-14 09:54:49 +00:00
36d4719a3b Update app/controllers/api/projects.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-11-14 09:54:40 +00:00
ab7eb01438 Update src/Appwrite/CLI/Tasks/Usage.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-11-14 15:35:49 +05:45
Matej Bačo 9626d86b22 Merge remote-tracking branch 'origin/refactor-scheduler' into refactor-scheduler-improvements 2022-11-14 09:47:16 +00:00
Bradley Schofield 0b883df5ec Fix Tests 2022-11-14 09:42:18 +00:00
shimon 83e19a37ee minor changes 2022-11-14 11:36:22 +02:00
Bradley Schofield cdb4c60c3c Run Linter 2022-11-14 09:33:49 +00:00
Bradley Schofield 66b805829c Move authDuration into auths attribute in project 2022-11-14 09:30:45 +00:00
Matej Bačo 5e7de81966 Improve schedule accuracy + simplify 2022-11-14 09:29:30 +00:00
Bradley Schofield f6b7e0392b Give auth duration it's own endpoint 2022-11-14 09:15:55 +00:00
Christy Jacob b4bf0cf8d0 Merge branch '1.1.x' of https://github.com/appwrite/appwrite into fix-deletes-worker 2022-11-14 08:11:26 +00:00
Matej Bačo f5fe47535d Fix realtime startup 2022-11-14 07:49:36 +00:00
Jake Barnby 6d1ae05b64 Fix registry usages 2022-11-14 11:42:35 +13:00
Jake Barnby 3a6ed84ce7 Update CLI, pool, orchestration 2022-11-14 11:22:47 +13:00
Jake Barnby 702bb413dc Merge remote-tracking branch 'origin/feat-mysql-test' into feat-realtime-dbpools
# Conflicts:
#	.env
#	app/config/variables.php
#	app/init.php
#	app/realtime.php
#	composer.lock
2022-11-14 11:21:58 +13:00
shimon 250ea93d3f some fixes 2022-11-13 15:14:00 +02:00
Damodar Lohani 2dea0ec3b8 use latest framework version 2022-11-13 10:29:53 +00:00
Damodar Lohani f5e66a96e7 fix volume sync task 2022-11-13 08:36:31 +00:00
Damodar Lohani 22974cea02 Merge remote-tracking branch 'origin/feat-db-pools' into feat-refactor-tasks-only 2022-11-13 08:26:50 +00:00
Matej Bačo 134dba0b43 Fix startup errors 2022-11-12 14:35:42 +00:00
Matej Bačo 23258c6e43 Comment out Dart test 2022-11-12 13:56:23 +00:00
Matej Bačo f468248f45 Fix typo 2022-11-12 12:51:54 +00:00
Christy Jacob 72a37516d3 feat: address review comments: 2022-11-11 13:54:05 +00:00
shimon 180262d166 Merge branch '1.1.x' of github.com:appwrite/appwrite into fix-cache-permissions 2022-11-11 13:18:33 +02:00
shimon 7723762dd1 cache buster added to cache key 2022-11-11 12:41:41 +02:00
shimon 9e3b9b8e59 addressing comments 2022-11-11 10:21:53 +02:00
shimon 3dc619f57d addressing comments 2022-11-10 21:07:27 +02:00
shimon 745ae7a4c8 Merge branch 'feat-db-pools' of github.com:appwrite/appwrite into refactor-scheduler 2022-11-10 20:07:32 +02:00
shimon aef565c8ff addressing comments 2022-11-10 18:40:12 +02:00
shimon df791068d6 enabling cached file permissions validation
via  storage::preview
2022-11-10 16:43:17 +02:00
Matej Bačo 902bcfc3be Increase OPR version 2022-11-10 14:23:11 +00:00
Matej Bačo 5d48d2ace0 PR review changes 2022-11-10 14:00:44 +00:00
Christy Jacob f2f56aa310 chore: update changelog 2022-11-10 13:51:32 +00:00
Christy Jacob d664549495 fix: use getDevice in deletes worker 2022-11-10 13:48:55 +00:00
Matej Bačo 192cf2e20d PR review changes + fix test 2022-11-10 12:04:49 +00:00
Eldad A. FuxandGitHub 02a432102d Merge pull request #4652 from appwrite/feat-update-security-policy
Update supported versions in security policy
2022-11-10 12:55:34 +02:00
shimon f9671ee855 enabling file permissions
via cache preview
2022-11-10 12:08:01 +02:00
Matej Bačo b6a410cc17 Finish changes documentation 2022-11-10 09:40:15 +00:00
Matej Bačo 6c6e1caefc Improve ENV vars documentation 2022-11-10 09:37:49 +00:00
Matej Bačo 5c44a77eae Reorder ENV vars 2022-11-10 09:18:04 +00:00
Matej Bačo 87a75bafa0 Introduce env vars for runtime resources limit 2022-11-10 09:15:32 +00:00
Eldad A. FuxandGitHub fa591c8c2f Merge pull request #4658 from appwrite/feat-fix-bandwidth-stats
fix difference in naming in inbound and outbound usage metrics
2022-11-10 11:05:47 +02:00
Eldad A. FuxandGitHub 42cedf8ed0 Merge pull request #3909 from appwrite/feat-usage-refactor
new stats to count resources
2022-11-10 11:05:36 +02:00
Jake Barnby def7fb71f1 Increase Traefik files limits 2022-11-10 20:01:18 +13:00
Jake Barnby d3ea95b60e Remove uneccessary process limits 2022-11-10 19:57:05 +13:00
Damodar Lohani 4479497dfe fix difference in naming 2022-11-10 05:28:56 +00:00
Jake Barnby ee69a306a9 Merge remote-tracking branch 'origin/fix-realtime-connections' into feat-cloud-jake 2022-11-10 13:26:19 +13:00
shimon 1761b77d0f function worker 2022-11-09 19:01:43 +02:00
Torsten Dittmann 9f384e016f Merge branch '1.1.x' of https://github.com/appwrite/appwrite into feat-console-rewrite 2022-11-09 15:47:23 +01:00
Torsten Dittmann d307d4f698 revert: dockerfile formatting 2022-11-09 15:45:20 +01:00
Torsten Dittmann a2570f5568 chore: update composer 2022-11-09 15:34:26 +01:00
Torsten Dittmann 9565152ced chore: update console 2022-11-09 15:22:38 +01:00
Torsten Dittmann 4dd919f640 fix 2022-11-09 15:07:39 +01:00
Torsten Dittmann ab5ddc263b Merge branch 'feat-console-rewrite' of https://github.com/appwrite/appwrite into feat-console-rewrite 2022-11-09 15:06:32 +01:00
Torsten DittmannandGitHub 5011820f67 Merge pull request #4649 from appwrite/feat-new-usage-stats
feat: add databases and buckets to projects usage
2022-11-09 11:50:15 +01:00
Torsten Dittmann e315f5d2ac fix: database usage tests 2022-11-09 10:29:13 +01:00
Jake Barnby be18943fa4 Merge branch 'feat-cloud-test-jake' into feat-cloud-jake 2022-11-09 18:16:20 +13:00
Jake Barnby b6839fa8f1 Capture pools on init 2022-11-09 16:39:15 +13:00
Jake Barnby 4fe2289e7f Add max connections variable 2022-11-09 16:24:42 +13:00
Jake Barnby e901be28de Add max connections env var 2022-11-09 16:22:03 +13:00
Jake Barnby fafbe71b24 Accept a size parameter when creating db/redis pools 2022-11-09 16:21:27 +13:00
Jake Barnby e1d80c2b93 Add get worker pool size function 2022-11-09 16:19:01 +13:00
Jake Barnby 958e5424f0 Revert "Revert "WIP fix too many connections" registry changes"
This reverts commit 11c3060682.
2022-11-09 16:12:50 +13:00
Damodar Lohani 5bd4b6e59d Merge branch 'feat-db-pools' of https://github.com/appwrite/appwrite into feat-usage-refactor-fo-db-pools 2022-11-09 01:21:04 +00:00
Matej Bačo f6b738fddd Add proxy and fix bugs 2022-11-08 17:30:18 +00:00
Steven Nguyen 239813aec2 Update supported versions in security policy 2022-11-08 08:30:10 -08:00
Torsten Dittmann 4041c4964c tests: fix remaining tests for usage 2022-11-08 15:16:10 +01:00
shimon 9d641b985a tidy up 2022-11-08 16:00:39 +02:00
Torsten Dittmann 1615121b3e tests: adapt to new response model 2022-11-08 14:38:43 +01:00
Matej Bačo 940eee0562 Merge remote-tracking branch 'origin/feat-decouple-executor' into feat-db-pools-opr 2022-11-08 12:39:25 +00:00
Matej Bačo d275fa0111 Fix tests 2022-11-08 12:34:14 +00:00
Torsten Dittmann 4befb19c35 feat: add databases and buckets to projects usage 2022-11-08 13:09:18 +01:00
Matej Bačo 80b49452f4 Fix executor bugs, Add Open Runtimes Proxy 2022-11-08 10:02:22 +00:00
Matej Bačo a52ff7372a Add Open Runtimes Executor 2022-11-08 08:49:45 +00:00
Jake Barnby eef2fdb72c Allow up to 65K realtime connections through Traefik 2022-11-08 21:33:13 +13:00
Jake Barnby 11c3060682 Revert "WIP fix too many connections" registry changes
This reverts commit a6ffab09df.
2022-11-08 12:25:54 +13:00
shimon 3a651adea5 replacing offset with pagination 2022-11-07 17:42:08 +02:00
shimon 711d8061a6 replacing offset with pagination 2022-11-07 17:30:22 +02:00
shimon 3768912412 replacing offset with pagination 2022-11-07 16:39:42 +02:00
Christy Jacob f5484d4548 feat: update mariadb images 2022-11-07 19:54:50 +05:30
Christy JacobandGitHub d957832904 Merge pull request #4284 from appwrite/feat-mysql-test
feat: mysql support
2022-11-07 18:47:11 +05:30
Christy Jacob 682790272f feat: update volume sync 2022-11-07 18:10:56 +05:30
shimon 4409217521 queue 2022-11-07 14:20:02 +02:00
Christy Jacob f5bf48baa7 feat: update volume sync 2022-11-07 17:36:42 +05:30
Bradley Schofield 842185e45d Update projects.php 2022-11-07 11:58:57 +00:00
Christy Jacob 0c6107990d feat: update volume sync 2022-11-07 17:17:51 +05:30
shimon 9ed6ed69fb queue 2022-11-07 13:22:52 +02:00
Christy Jacob 1d4afd2f6c Merge branch 'feat-db-pools' of github.com:appwrite/appwrite into feat-mysql-test 2022-11-07 16:45:28 +05:30
Bradley Schofield 85cb520dd6 Fix testUpdateProjectAuthDuration 2022-11-07 11:14:01 +00:00
shimon 6f9dcae858 queue 2022-11-07 12:37:07 +02:00
Jake Barnby a6ffab09df WIP fix too many connections 2022-11-07 23:31:54 +13:00
Christy JacobandGitHub 9cf9b9b41f Merge pull request #4607 from appwrite/feat-fixes-for-pools
Feat fixes for pools
2022-11-07 15:58:58 +05:30
shimon ef7b53fbc7 queue 2022-11-06 23:41:33 +02:00
shimon 0e99198fa8 queue 2022-11-06 16:40:08 +02:00
shimon ed505fba7c queue 2022-11-06 15:10:26 +02:00
Damodar Lohani 5756a7e117 Merge remote-tracking branch 'origin/feat-fixes-for-pools' into feat-usage-refactor-fo-db-pools 2022-11-06 08:10:01 +00:00
Christy Jacob 71be26a24d Merge branch 'feat-db-pools' of github.com:appwrite/appwrite into feat-fixes-for-pools 2022-11-05 18:08:24 +05:30
Christy Jacob b7a24da288 Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-11-05 18:06:44 +05:30
Bradley Schofield 4dfafd1169 Merge branch 'master' into feat-implement-session-length-api 2022-11-04 16:11:38 +00:00
Bradley Schofield e1f9a8e0ce Clean up a couple things and fix tests 2022-11-04 14:48:29 +00:00
Bradley Schofield 4cfc3b3a7f Update authDuration fallback value 2022-11-04 10:12:02 +00:00
Bradley Schofield 94676a6c16 Alter sessionVerify to remove expire 2022-11-04 09:50:59 +00:00
Eldad Fux d31a3ab088 Updated dependencies 2022-11-04 07:26:56 +02:00
Eldad Fux 1ff53bc82a Merge branch 'master' of https://github.com/appwrite/appwrite into feat-fixes-for-pools 2022-11-04 07:26:35 +02:00
shimon bc631d926e ticker 2022-11-04 07:12:08 +02:00
Damodar Lohani 4ef05e2a16 Merge remote-tracking branch 'origin/master' into feat-usage-refactor-fo-db-pools 2022-11-04 04:22:50 +00:00
Eldad Fux f6ae1fedd2 Fixed broken call 2022-11-03 22:24:03 +02:00
Eldad Fux 541c6772f2 Updated dependencies 2022-11-03 21:00:00 +02:00
Eldad Fux c28edaaa96 Enabled 64 connections 2022-11-03 18:30:55 +02:00
Eldad Fux 1d59b8bd54 Leftovers 2022-11-03 18:28:28 +02:00
Eldad Fux 995283c15d Removed enableCoroutine support 2022-11-03 18:27:41 +02:00
Eldad Fux be8c145e84 Fix for linter 2022-11-03 18:26:31 +02:00
Eldad A. FuxandGitHub 44ca7d9459 Merge pull request #4631 from appwrite/feat-fix-account-naming
Updated titles on account routes
2022-11-03 18:19:41 +02:00
Eldad Fux 9bba91fcb8 Update pools library version 2022-11-03 18:07:53 +02:00
Torsten DittmannandGitHub df37e1b7a9 Merge pull request #4574 from appwrite/fix-console-realtime-deployment-create
Fix create deployment realtime not triggering
2022-11-03 16:29:32 +01:00
Eldad Fux 103469928e Updated routes 2022-11-03 17:24:32 +02:00
Eldad Fux de610855fe Updates 2022-11-03 17:19:55 +02:00
Bradley Schofield 4b8287c097 Remove 'expire' from sessions 2022-11-03 15:03:39 +00:00
Christy Jacob 0aac303d51 feat: rename rsync to volume-sync worker 2022-11-02 20:38:13 +05:30
Christy Jacob d162c6b0b2 Merge branch 'feat-mysql-test' of github.com:appwrite/appwrite into feat-mysql-test 2022-11-02 20:28:28 +05:30
Christy Jacob 8ced55bf46 feat: add new rsync worker 2022-11-02 20:26:03 +05:30
Eldad A. FuxandGitHub 32be6d6816 Merge pull request #4282 from appwrite/doc-unique-id
Update Unique ID references in docs from magic string to ID.unique()
2022-11-02 15:39:46 +02:00
4b5d537eee Apply suggestions from code review
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-11-02 15:41:50 +05:45
Damodar LohaniandGitHub 41d31c28d0 remove buildTime from deployments collection 2022-11-02 15:38:59 +05:45
Damodar Lohani b66f932b3b Merge remote-tracking branch 'origin/1.1.x' into feat-usage-refactor 2022-11-02 08:43:12 +00:00
Damodar Lohani 9cdce06d96 fix usage task 2022-11-02 06:23:31 +00:00
Damodar Lohani fb120be78e get projectdb on CLI 2022-11-02 05:48:17 +00:00
Damodar Lohani 85920e5b14 fix missing mariadb 2022-11-02 05:38:46 +00:00
Damodar Lohani 777ed70669 composer update 2022-11-02 05:35:54 +00:00
Damodar Lohani c4daf33a72 Merge remote-tracking branch 'origin/master' into feat-refactor-tasks 2022-11-02 05:18:23 +00:00
Christy JacobandGitHub be642762b3 Merge pull request #4611 from appwrite/fix-missing-deployment-attributes
Fix get deployment
2022-11-02 08:05:10 +05:30
Christy JacobandGitHub c074731615 Merge pull request #4590 from rskbansal/master
fixed grammatical and spelling errors
2022-11-02 07:38:45 +05:30
Damodar Lohani fee0ec9609 remove vendor framework mount 2022-11-02 01:35:07 +00:00
Jake Barnby 0827d59f21 Merge remote-tracking branch 'origin/1.1.x' into fix-missing-deployment-attributes
# Conflicts:
#	tests/e2e/Services/Functions/FunctionsCustomServerTest.php
2022-11-02 13:33:10 +13:00
Christy JacobandGitHub f95145b796 Merge pull request #4620 from appwrite/sync-1.1.x
Sync 1.1.x
2022-11-02 02:14:32 +05:30
Vincent (Wen Yu) Ge a8a23fb8eb Merge branch 'master' into doc-unique-id 2022-11-01 17:53:48 +00:00
Christy Jacob bf34af86ac Merge branch '1.0.x' of github.com:appwrite/appwrite into 1.1.x 2022-11-01 22:24:53 +05:30
Christy Jacob b2d884e329 Merge branch 'master' of github.com:appwrite/appwrite into 1.1.x 2022-11-01 22:21:19 +05:30
Bradley Schofield cddacfbb78 Handle Eldad's Comments 2022-11-01 14:43:18 +00:00
Bradley Schofield 1eea8c6d8b Add Extra Tests 2022-11-01 11:34:56 +00:00
Bradley Schofield 60127cc69d Update CHANGES.md 2022-11-01 11:21:34 +00:00
Bradley Schofield 5dc8a2dee0 Add Tests and fix bugs 2022-11-01 11:15:45 +00:00
Christy JacobandGitHub 5ea19cd539 Merge pull request #3848 from appwrite/refactor-remove-beta
Remove beta tag from Android, Kotlin, Apple and Swift
2022-11-01 12:35:56 +05:30
Damodar Lohani 3f3aea37d8 update utopia libraries 2022-11-01 06:08:10 +00:00
Damodar LohaniandGitHub 4d3ca5a064 revert back function test 2022-11-01 11:41:52 +05:45
Christy Jacob 4331e1ef03 feat: update PR 2022-11-01 04:55:13 +00:00
Damodar Lohani 8baa95db1c Merge remote-tracking branch 'origin/1.1.x' into feat-usage-refactor 2022-11-01 04:54:48 +00:00
Christy Jacob a6499e34a3 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-mysql-test 2022-11-01 04:52:07 +00:00
Christy JacobandGitHub 622c852367 Merge pull request #4584 from appwrite/test-mysql-adapter
Test mysql adapter
2022-11-01 02:11:54 +05:30
Christy JacobandGitHub 256046cba7 Merge pull request #4614 from appwrite/update-db-library
feat: update database library
2022-10-31 23:41:15 +05:30
Christy Jacob 629c1b1686 Merge branch 'test-mysql-adapter' of github.com:appwrite/appwrite into update-db-library 2022-10-31 23:38:58 +05:30
Christy JacobandGitHub a450089fe7 Update composer.json 2022-10-31 20:51:32 +05:30
fogelito bf119867e8 change name back to original 'name' 2048 2022-10-31 17:17:37 +02:00
Bradley Schofield d34359fd49 Implement Variable Session Duration 2022-10-31 14:54:15 +00:00
fogelito 1e92bda18b composer changes 2022-10-31 16:50:54 +02:00
fogelito eaf59693b7 composer.json 2022-10-31 15:26:40 +02:00
Torsten DittmannandGitHub ae288ffc9b Merge pull request #4613 from appwrite/rebase-1.1.x
rebase: 1.1.x
2022-10-31 13:59:12 +01:00
Christy Jacob aff7c59097 feat: update database library 2022-10-31 12:02:51 +00:00
Torsten Dittmann 983f885b3f fix: builds worker buildTime 2022-10-31 12:47:41 +01:00
Torsten Dittmann d8717a4a16 fix: console build 2022-10-31 11:50:19 +01:00
Damodar Lohani 86d377722b composer update 2022-10-31 10:35:33 +00:00
Damodar Lohani 24a140c3af assert buildTime is greater than 0 2022-10-31 10:17:08 +00:00
Damodar Lohani 7989518eec buildTime attribute to deployment 2022-10-31 09:07:06 +00:00
Torsten Dittmann 0049a76565 feat: submodule 2022-10-31 09:53:36 +01:00
Torsten Dittmann 4f3188c63f Merge branch 'rebase-1.1.x' of https://github.com/appwrite/appwrite into feat-console-rewrite 2022-10-31 09:47:35 +01:00
Torsten Dittmann d387f198db Merge branch 'master' of https://github.com/appwrite/appwrite into rebase-1.1.x 2022-10-31 09:45:51 +01:00
Damodar Lohani 1db29e7674 appwrite logs 2022-10-31 08:42:33 +00:00
Damodar Lohani a74ddc7026 composer update 2022-10-31 08:02:32 +00:00
Damodar Lohani 4efabe9370 fix formatting 2022-10-31 07:44:44 +00:00
Damodar Lohani 546d8ba583 refactor to use db pools 2022-10-31 07:31:31 +00:00
Damodar Lohani cf5ecd5a62 ignore data without projectInternalId 2022-10-31 07:27:51 +00:00
Damodar Lohani 67113971d9 fix model 2022-10-31 07:27:43 +00:00
Damodar Lohani 982a449143 Merge remote-tracking branch 'origin/feat-db-pools' into feat-usage-refactor-fo-db-pools 2022-10-31 06:49:37 +00:00
Damodar Lohani 4086ba93ad Merge remote-tracking branch 'origin/1.1.x' into feat-usage-refactor 2022-10-31 06:36:26 +00:00
Jake Barnby dad4e3a2f4 Update changelog 2022-10-31 18:19:55 +13:00
Jake Barnby 2bfbf4acaf Add check to tests 2022-10-31 18:17:13 +13:00
Jake Barnby 049e3a2646 Add missing status, buildStdout, buildStderr to getDeployment 2022-10-31 18:11:55 +13:00
Damodar Lohani bd83da3331 upgrade databases 2022-10-31 04:30:19 +00:00
Eldad A. FuxandGitHub 1b0abf4643 Merge pull request #3836 from appwrite/gewenyu99-patch-1
Update Chinese README-CN.md
2022-10-30 10:09:39 +02:00
Damodar Lohani f56a294760 fix error logger callback 2022-10-30 05:38:22 +00:00
Damodar Lohani 826a9540d0 fix cache 2022-10-30 05:36:31 +00:00
Damodar Lohani 7433a260db fix formatting 2022-10-30 05:16:51 +00:00
Damodar Lohani 0d29968169 refactor database listener callback 2022-10-30 05:14:46 +00:00
Damodar Lohani 80972aa4ce update variables descriptions 2022-10-30 05:07:46 +00:00
Eldad A. FuxandGitHub 68d31d4ac7 Merge pull request #4555 from appwrite/feat-4535-remove-pdo-rethrow
Remove PDO rethrow
2022-10-29 17:15:19 +03:00
Eldad Fux fdf88d8355 HTTP Tests 2022-10-29 17:05:26 +03:00
Eldad Fux 766c19b165 Removed logs 2022-10-29 17:04:35 +03:00
Eldad Fux 5eb39b1ccd No need to delegate DB errors 2022-10-29 16:59:03 +03:00
Eldad Fux 835c5de073 Updated dependencies 2022-10-29 16:54:05 +03:00
Vincent (Wen Yu) Ge afa508cbed undo changes in swagger files 2022-10-28 20:45:13 +00:00
Eldad Fux ae877ea597 cleanup 2022-10-28 17:53:21 +03:00
Eldad Fux 8e492a9797 Tests 2022-10-28 17:45:16 +03:00
Damodar Lohani 60f2d10a50 update variable namings 2022-10-28 09:54:56 +00:00
Damodar Lohani 4c5273b8b2 document the environment variable usage stats retention 2022-10-28 09:16:36 +00:00
Damodar Lohani 6d7b30d77e fix formatting issues 2022-10-28 09:08:58 +00:00
Damodar Lohani 07a2aed52f fix formatting 2022-10-28 09:00:59 +00:00
Christy Jacob 269266127d feat: update db library 2022-10-28 14:30:31 +05:30
Damodar Lohani 5a0a197355 composer update 2022-10-28 08:58:09 +00:00
Damodar Lohani 4acd10f2e1 error logger in resources 2022-10-28 08:56:45 +00:00
Damodar Lohani e7a7267c9f move resource code inside the callback 2022-10-28 08:49:05 +00:00
Damodar Lohani a0a0ef2386 update docblock comments and naming 2022-10-28 08:40:04 +00:00
Damodar Lohani 95f1681b6c Merge remote-tracking branch 'origin/master' into feat-refactor-tasks 2022-10-28 08:12:13 +00:00
Damodar Lohani 14aca37d2e inject register on migrate 2022-10-28 07:36:02 +00:00
Damodar Lohani dedd24254a update depending libraries 2022-10-28 07:35:03 +00:00
Damodar LohaniandGitHub 1e5c94c2c6 Merge branch 'master' into feat-usage-refactor 2022-10-28 13:17:52 +05:45
Damodar Lohani 30a541a5c9 dependency injection in usage task 2022-10-28 04:09:34 +00:00
Damodar Lohani 85794beb95 inject dependency for spec 2022-10-28 04:00:44 +00:00
Damodar Lohani 592b2dcd97 use injection 2022-10-28 03:57:59 +00:00
Damodar Lohani f080bd3e68 using dependency injection in CLI 2022-10-28 03:36:20 +00:00
Damodar Lohani 904b8aca8d latest cli version 2022-10-28 02:37:39 +00:00
Rhythm BansalandGitHub 572e5d5f93 Update hi.json 2022-10-27 14:49:58 +05:30
Rhythm BansalandGitHub 569c5644fa Update hi.json 2022-10-27 14:43:59 +05:30
Rhythm BansalandGitHub b5a61d949b fixed grammatical and spelling errors 2022-10-27 14:42:08 +05:30
fogelito a5e67db604 fulltext 2022-10-26 23:12:46 +03:00
fogelito 013f4d55c2 docker-compose.yml 2022-10-26 23:07:04 +03:00
fogelito 8e8801b11c adapter change 2022-10-26 23:05:25 +03:00
Torsten Dittmann 7f256e5d06 feat: add console repo 2022-10-26 21:23:02 +02:00
fogelito 08e44f0656 some changes 2022-10-26 22:14:39 +03:00
Torsten DittmannandGitHub eb31bfb78e Merge pull request #4418 from appwrite/feat-deployment-buildtime
Add build time to deployments
2022-10-26 18:42:53 +02:00
Christy JacobandGitHub 286e041c7f Merge pull request #4582 from appwrite/revert-4545-feat-db-pools-usage-fix
Revert "Fix usage on DB Pools"
2022-10-26 21:36:03 +05:30
Christy JacobandGitHub c2be54ca7f Revert "Fix usage on DB Pools" 2022-10-26 21:32:40 +05:30
Christy JacobandGitHub 95b6d5d428 Merge pull request #4545 from appwrite/feat-db-pools-usage-fix
Fix usage on DB Pools
2022-10-26 21:13:20 +05:30
Christy Jacob 3a857bb16e Merge branch 'feat-db-pools' of https://github.com/appwrite/appwrite into feat-db-pools-usage-fix 2022-10-26 15:42:55 +00:00
Torsten Dittmann 32f2333ab6 test: mysql adapter 2022-10-26 16:38:40 +02:00
Christy Jacob 9165da14b7 feat: add support for the new DSN class 2022-10-26 12:16:22 +05:30
Christy JacobandGitHub 73bce1d7d0 Merge pull request #4309 from appwrite/fix-update-docker-compose
fix: docker compose syntax
2022-10-26 09:48:06 +05:30
Steven Nguyen ab2bb8176c Fix create deployment realtime not triggering
Because the deployment event was missing the project ID, the realtime
event never fired.
2022-10-25 13:38:04 -07:00
Steven Nguyen 719aa67afa Remove PDO rethrow
The PDOException was rethrown in general.php so that it could be caught
in the catch block of http.php. However, [a change in
utopia-php/framework](https://github.com/utopia-php/framework/commit/9d37326851f65f354344cfe2e3c1a282d5231025)
caused the exception to be masked as an Exception rather than the
underlying PDOException. As such, the `$th instanceof PDOException` in
http.php is always false and `$db = null` is never executed. Since these
snippets of code aren't doing anything or adding value, they should be
removed.

In addition, the `$db = null` may have been added to ensure the
connection was added back to the pool and/or reset if needed, but it
seems like that's not a problem anymore.
2022-10-25 10:05:52 -07:00
Christy Jacob 2d6a00e56f Merge branch 'feat-mysql-test' of github.com:appwrite/appwrite into feat-db-pools 2022-10-25 19:26:23 +05:30
Christy Jacob 1d850c3b7f feat: update mysql changes 2022-10-25 13:50:17 +00:00
Christy Jacob 1594225a07 feat: update mysql changes 2022-10-25 13:49:50 +00:00
Christy Jacob 503bd53a47 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-mysql-test 2022-10-25 13:48:59 +00:00
Christy Jacob ca602199da feat: update mysql changes 2022-10-25 13:42:30 +00:00
fogelito 2a003f8bd0 some changes 2022-10-25 12:32:58 +03:00
fogelito 1d2d566788 some changes 2022-10-25 12:30:58 +03:00
Eldad A. FuxandGitHub 4942ba9951 Merge pull request #4569 from appwrite/fix-spec-tests
Fix spec tests
2022-10-25 10:41:18 +03:00
Jake Barnby 1f49985d26 Remove var dumps 2022-10-25 19:38:31 +13:00
Jake Barnby e2a63c10a1 Fix spec tests 2022-10-25 12:37:19 +13:00
Christy JacobandGitHub 6f00c98805 Merge pull request #4330 from appwrite/feat-db-pools-eldad
Feat db pools eldad
2022-10-25 01:27:07 +05:30
Torsten DittmannandGitHub 461c12c7fe Merge pull request #3701 from appwrite/feat-oauth-improvements
Feat: OAuth improvements
2022-10-24 17:57:40 +02:00
Damodar Lohani 4dc6e2fb6a use register to reclaim 2022-10-24 02:33:19 +00:00
Damodar Lohani be003bb5e6 fix openapi spec test 2022-10-24 02:23:26 +00:00
Damodar Lohani 70afd1efed pool reclaim 2022-10-24 01:34:12 +00:00
Damodar Lohani adf3f74ef2 refill pools on exception 2022-10-23 08:19:10 +00:00
Damodar Lohani c8b5301267 update maintenance to delete only hourly metrics older than 3 months 2022-10-23 07:29:13 +00:00
Damodar Lohani 8c3cfa877b open api schema validator changes 2022-10-23 07:18:52 +00:00
Damodar Lohani bde7fe21c4 remove unused param 2022-10-23 07:03:50 +00:00
Damodar Lohani cbeb4984ab Merge remote-tracking branch 'origin' into feat-usage-refactor 2022-10-23 05:23:29 +00:00
Damodar Lohani 8048d24857 deprecate database aggregation 2022-10-23 05:17:50 +00:00
Damodar Lohani 3ed3ef9d71 rename variable 2022-10-23 04:46:23 +00:00
Damodar Lohani 084b4e8c08 fix aggregrator 2022-10-23 02:20:26 +00:00
Eldad A. FuxandGitHub 04066af992 Merge pull request #4277 from appwrite/feat-phone-examples
Add meaningful phone number to generated examples.
2022-10-22 12:42:31 +03:00
Damodar Lohani e75dfa882b fix issues 2022-10-22 03:11:35 +00:00
Damodar Lohani ff6c6003fc get project db for CLI 2022-10-22 03:08:28 +00:00
Damodar Lohani 5b1f8bb2a4 fix formatting 2022-10-22 03:05:19 +00:00
Damodar Lohani a385b01d4a using project db properly 2022-10-22 02:25:22 +00:00
Vincent (Wen Yu) GeandGitHub 9a1f54baf1 Merge branch 'master' into doc-unique-id 2022-10-21 17:43:52 -04:00
Damodar Lohani e5db5cb4bb fix console namespace 2022-10-21 09:39:59 +00:00
Damodar Lohani 5fe2102e26 remove redundant project 2022-10-21 07:25:42 +00:00
Damodar Lohani 03f8e20dfd Merge remote-tracking branch 'origin/master' into feat-usage-refactor 2022-10-21 06:27:03 +00:00
Damodar Lohani dfa35e0a0b fix periods on usage endpoints 2022-10-21 05:45:25 +00:00
Eldad Fux 27c4e24fa5 Unused classes 2022-10-21 08:41:17 +03:00
Eldad Fux 54469e9b4d Unused classes 2022-10-21 08:41:12 +03:00
Damodar Lohani 9195c813db missing documents total count 2022-10-21 01:53:39 +00:00
Damodar Lohani d35b438255 fix collection and document counts 2022-10-21 01:50:03 +00:00
Damodar Lohani a7e1e5f25f fix period 2022-10-21 01:40:33 +00:00
Damodar Lohani 088fd89294 fix metric name 2022-10-21 01:40:26 +00:00
Damodar Lohani d1b3ca5178 comment database worker 2022-10-21 01:29:13 +00:00
fogelito 1b776f7fdc some changes 2022-10-20 23:59:00 +03:00
Eldad Fux e113253e35 Fixed tests 2022-10-19 17:13:38 +03:00
Eldad Fux e5c62c6730 Fixed usage of DSN database 2022-10-19 16:55:58 +03:00
Eldad Fux a1157fb49b Env vars clean ups 2022-10-19 15:59:13 +03:00
Eldad Fux 58ef860959 Merge branch 'feat-db-pools-eldad' of https://github.com/appwrite/appwrite into feat-db-pools-eldad 2022-10-19 15:41:42 +03:00
Eldad Fux 159fd5fc59 Change URLURL to AppwriteURL 2022-10-19 15:41:38 +03:00
Christy Jacob 41b420d313 Merge branch 'feat-db-pools' of https://github.com/appwrite/appwrite into feat-db-pools-eldad 2022-10-19 10:00:56 +00:00
Christy Jacob 584ec3160a Merge branch 'master' of https://github.com/appwrite/appwrite into feat-db-pools 2022-10-19 09:52:52 +00:00
Eldad Fux d51c379514 Fixed linter errors 2022-10-19 11:35:30 +03:00
Eldad A. FuxandGitHub 61d6b435b3 Merge pull request #4530 from appwrite/feat-bump-api-specs
Update API specs
2022-10-19 09:28:13 +03:00
Bradley Schofield 60e924b62b Run Linter 2022-10-19 02:50:48 +01:00
Bradley Schofield fe4028f588 Add tests and add buildTime to worker 2022-10-19 02:43:40 +01:00
Steven Nguyen 080116cff8 Update API specs 2022-10-18 21:05:54 +00:00
Eldad Fux 4fe5c0dd1d Merge branch 'feat-db-pools' of https://github.com/appwrite/appwrite into feat-db-pools-eldad 2022-10-18 17:29:21 +03:00
Eldad Fux 9fd2cf35eb Enabled commented test 2022-10-18 14:53:29 +03:00
Eldad Fux d5330b4ad4 Fixed DSN 2022-10-18 14:50:14 +03:00
Eldad Fux 868c72638e Merge branch 'master' of https://github.com/appwrite/appwrite into feat-db-pools-eldad 2022-10-18 14:42:44 +03:00
Eldad A. FuxandGitHub 28252f693b Merge pull request #4517 from appwrite/v1-fix-usage-projects-pagination
V1: Fix: DB Usage projects pagination
2022-10-18 14:39:56 +03:00
Eldad A. FuxandGitHub 0d0cacbf87 Merge pull request #4520 from appwrite/doc-remove-admin-mode
Remove references to admin mode
2022-10-18 14:38:25 +03:00
Christy JacobandGitHub 766cc7fcfa Merge pull request #4524 from appwrite/christyjacob4-patch-3
Update add-environment-variable.md
2022-10-18 12:50:44 +04:00
Damodar Lohani 5ff8ac46aa fix negative stats 2022-10-18 08:28:12 +00:00
Christy Jacob 6bfb76b620 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-db-pools 2022-10-18 07:57:34 +00:00
Damodar Lohani 868e487a59 fix bucket collection name 2022-10-18 07:52:41 +00:00
Christy JacobandGitHub 28044662f4 Update add-environment-variable.md 2022-10-18 11:44:30 +04:00
Damodar Lohani 8cd4060334 fix storage stats 2022-10-18 07:38:05 +00:00
Christy JacobandGitHub e9ef5b5eac Merge pull request #4303 from MrKrishnaAgarwal/typos
Fixed Typo's and Rephrased words
2022-10-18 11:34:20 +04:00
Damodar Lohani 027dafe906 fix linters 2022-10-18 07:26:28 +00:00
Damodar Lohani e7c82a28dd more fixes 2022-10-18 07:09:11 +00:00
Damodar Lohani 305dafe2ad update missing stats 2022-10-18 06:53:17 +00:00
Damodar Lohani 1fdaaeef71 reduce waiting time 2022-10-18 06:19:57 +00:00
Damodar Lohani d7f87051d6 fix test 2022-10-18 06:10:33 +00:00
Damodar Lohani 8093f034c0 fix inbound and outbount 2022-10-18 03:53:07 +00:00
Damodar Lohani a3f14220d3 take care of negative values 2022-10-18 03:19:12 +00:00
Damodar Lohani b1f3fdce7a fix stats test 2022-10-18 02:26:28 +00:00
Vincent (Wen Yu) Ge f7904af0ed Remove references to admin mode 2022-10-17 20:45:17 +00:00
Eldad Fux d5fafe0ffc Fixed realtime tests 2022-10-17 20:37:28 +03:00
Eldad Fux 52d44f0599 Updated Realtime server 2022-10-17 20:26:21 +03:00
Eldad Fux 1632ae61eb Fixing CLI tasks 2022-10-17 19:43:51 +03:00
Eldad Fux 892f74c2a8 Fix DSN test 2022-10-17 19:43:26 +03:00
Eldad Fux bef62ddc71 Fixed DSN test 2022-10-17 15:47:07 +03:00
Eldad Fux 2e23721774 Fixed maintenance container 2022-10-17 15:46:56 +03:00
Matej Bačo 837422145d Update changelog url 2022-10-17 11:46:42 +00:00
Matej Bačo 97df10e6b8 Fix project pagination in usage containers 2022-10-17 11:45:38 +00:00
Eldad Fux 65e004f145 Fixed health API and add new test endpoints 2022-10-17 14:43:57 +03:00
Damodar Lohani e96c0b1127 fix composer 2022-10-17 08:57:12 +00:00
Damodar Lohani f71eb5a169 database listeners 2022-10-17 08:04:12 +00:00
Damodar Lohani 5b90c433ab fix collection id 2022-10-17 07:53:55 +00:00
Damodar Lohani 00d194d5d1 fix linters 2022-10-17 07:37:30 +00:00
Damodar Lohani f3c183b563 listen to delete events 2022-10-17 07:10:18 +00:00
Damodar Lohani ffe029932d refactor stats 2022-10-17 06:59:27 +00:00
Damodar Lohani f78cb09694 Merge remote-tracking branch 'origin/master' into feat-usage-refactor 2022-10-17 06:55:01 +00:00
Damodar Lohani 84f5842c81 document create listener 2022-10-17 06:52:24 +00:00
Damodar Lohani 432bb8666a Merge remote-tracking branch 'origin/master' into feat-refactor-tasks 2022-10-17 01:51:26 +00:00
Eldad Fux f6449687b5 Create connections only on fill method 2022-10-17 01:49:53 +03:00
Eldad Fux fe29e58f22 Fixed doctor health checks 2022-10-16 20:48:53 +03:00
Eldad Fux fa0216cd6d Removed legacy connection push 2022-10-16 14:53:31 +03:00
Eldad Fux f2068a10e4 Added support for cache sharding, and fallback connections 2022-10-16 14:42:00 +03:00
Eldad A. FuxandGitHub 1c7019a04d Merge pull request #4449 from appwrite/feat-upgrade-framework
chore: upgrade utopia-php/framework
2022-10-16 12:25:55 +03:00
Eldad Fux 224d526c84 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-db-pools-eldad 2022-10-16 12:24:53 +03:00
Eldad A. FuxandGitHub 939f974d19 Merge pull request #4450 from appwrite/feat-upgrade-database-0.26
Upgrade to use Database 0.26.0
2022-10-16 12:16:12 +03:00
Damodar Lohani 019fa11616 setup to use database listeners 2022-10-16 08:50:53 +00:00
Damodar Lohani d7b1224628 fix upgrade utopia swoole 2022-10-16 08:21:53 +00:00
Damodar Lohani b29e2c1808 use database from master 2022-10-16 08:08:38 +00:00
Damodar Lohani 8269ec225d use latest releases 2022-10-16 07:10:47 +00:00
90e9e5e7fd Update app/http.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-10-16 11:49:12 +05:45
Damodar Lohani 00973d4a14 add try catch 2022-10-16 05:58:25 +00:00
Damodar Lohani c635846dba fix missing import 2022-10-16 01:47:38 +00:00
Eldad Fux 8437aa894d Removed unused imports 2022-10-16 01:51:11 +03:00
Eldad Fux f15d476889 Fixed specification 2022-10-16 01:44:41 +03:00
Eldad Fux 13847fc155 Added verbose error log for dev mode 2022-10-16 01:44:03 +03:00
Eldad Fux 7484656be3 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-db-pools-eldad 2022-10-15 22:08:16 +03:00
Eldad Fux d5849c39f3 Removed unused namespaces 2022-10-15 21:57:55 +03:00
Eldad Fux 95a9ded28f Adjusted compose files and tests 2022-10-15 21:17:03 +03:00
Eldad Fux 5f2def488e Deprecated old pool 2022-10-15 17:21:17 +03:00
Eldad Fux 0506dbb30e Adapted HTTP API 2022-10-15 17:14:17 +03:00
Eldad Fux 0e9c6db759 Added new connections 2022-10-15 16:49:37 +03:00
Eldad Fux daa0ab51a6 Cast port to integer 2022-10-15 15:32:59 +03:00
Eldad Fux daecc1aa76 Init new connection pool, removed old extensions 2022-10-15 11:52:50 +03:00
Eldad Fux f49f1b4755 Added pools library 2022-10-15 11:51:57 +03:00
Damodar Lohani f27ccf4212 upgrade database version 2022-10-14 11:40:59 +00:00
Damodar Lohani 51cbc653af use metadata constant 2022-10-14 11:26:33 +00:00
Damodar Lohani e2555e2448 fix metadata creation 2022-10-14 11:25:22 +00:00
Damodar Lohani be3743e227 fix renamed function 2022-10-14 11:24:37 +00:00
Damodar Lohani 185b206076 fix moved constant 2022-10-14 11:23:20 +00:00
Damodar Lohani f86a5b5fcd fix renamed methods 2022-10-14 11:12:59 +00:00
Damodar Lohani 83071d85e3 fix test constant 2022-10-14 11:10:06 +00:00
Damodar Lohani 65337bc9e9 fix metadata creation 2022-10-14 11:07:32 +00:00
Damodar Lohani e7b9ba70b6 fix error 2022-10-14 11:07:20 +00:00
Damodar Lohani dee4f5c517 use metadata constants 2022-10-14 11:07:07 +00:00
Damodar Lohani 72e112ade8 fix usage task error 2022-10-14 11:01:45 +00:00
Torsten Dittmann 788abad42e chore: upgrade utopia-php/framework 2022-10-14 12:44:52 +02:00
Damodar Lohani e5ad8d63f0 fix usage task 2022-10-14 09:42:48 +00:00
Damodar Lohani e5b3d74515 update migrate task 2022-10-14 09:34:02 +00:00
Damodar Lohani bd1d9834be fix install task 2022-10-14 09:32:17 +00:00
Torsten DittmannandGitHub d0aedf33ba Merge pull request #4058 from appwrite/fix-deprecate-team-deletion-with-project
Deprecate team deletion with project
2022-10-14 11:19:27 +02:00
Damodar Lohani 0316710ee4 update database 2022-10-14 08:51:37 +00:00
Damodar Lohani e7e8c53d89 use same array for all metrics 2022-10-14 08:49:00 +00:00
Christy JacobandGitHub d64effc74f Merge pull request #4312 from tusharxoxoxo/patch-1
Update add-environment-variable.md
2022-10-14 12:07:35 +04:00
Christy JacobandGitHub 98bdcfe04e Merge pull request #4292 from Akshay-Rana-Gujjar/fix-3810-incorrect-error-when-updating-phone-to-existing-number
fixed: wrong error message show on adding duplicate number to a user
2022-10-14 12:02:39 +04:00
Damodar Lohani af782fe067 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-10-14 07:53:38 +00:00
Christy JacobandGitHub e9b595bdaa Merge pull request #4430 from shendrekbharath/New
Fixed the broken link
2022-10-14 10:57:33 +04:00
Torsten DittmannandGitHub fe87b754c7 Merge pull request #3824 from appwrite/feat-dev-appwrite-image
Re-use same image for all appwrite containers during dev
2022-10-14 02:45:31 +02:00
Steven Nguyen 0fdfdcf09c Re-use same image for all appwrite containers during dev and CI 2022-10-12 11:34:30 -07:00
Eldad A. FuxandGitHub b6eef3a886 Merge pull request #4435 from appwrite/fix-sdk-license
Update SDK License to match opensource.org
2022-10-12 20:49:02 +03:00
Steven Nguyen 02ab2b8a63 Update SDK License to match opensource.org
The difference made it so pub.dev was unable to detect the license.
2022-10-12 09:57:54 -07:00
Torsten DittmannandGitHub e17188e52c Merge pull request #4053 from geisterfurz007/fix-4052-switch-clips-in-firefox
fix: switch clips in firefox
2022-10-12 13:44:55 +02:00
Torsten DittmannandGitHub 99a6d7044c Merge pull request #4433 from appwrite/1.0.x
sync: master <- 1.0.x
2022-10-12 13:22:40 +02:00
Torsten DittmannandGitHub c4ad832d67 Merge pull request #4422 from appwrite/bug_model_metric
Bug model metric
2022-10-12 12:57:09 +02:00
Torsten DittmannandGitHub d625eb6508 Merge pull request #4432 from appwrite/chore-prepare-1-0-3
chore: prepare 1.0.3
2022-10-12 12:47:17 +02:00
Torsten Dittmann bc66efa1a5 chore: prepare 1.0.3 2022-10-12 12:03:55 +02:00
Torsten DittmannandGitHub bbafadcbf6 Merge pull request #4429 from appwrite/fix-4427-database-delete
Only delete collection data for correct db
2022-10-12 11:59:37 +02:00
Steven Nguyen 99abb200d6 Update CHANGES.md 2022-10-11 22:56:55 +00:00
Steven Nguyen 5542e5b04c Only delete collection data for correct db
Ensure attributes, indexes, and audit for correct database is deleted.
2022-10-11 22:51:10 +00:00
Bharath Shendre 29babb6015 Fixed the broken link 2022-10-12 03:19:27 +05:30
geisterfurz007 367eb4f6d7 Build css files 2022-10-11 19:46:47 +02:00
Torsten Dittmann 4210fdcb27 feat: console rewrite 2022-10-11 16:36:39 +02:00
fogelito 4d2e5c3e94 specs recreate 2022-10-11 17:08:06 +03:00
fogelito 778751160b Merge branch '1.1.x' of github.com:appwrite/appwrite into bug_model_metric
 Conflicts:
	app/config/specs/open-api3-latest-console.json
	app/config/specs/swagger2-latest-console.json
2022-10-11 17:06:37 +03:00
Torsten DittmannandGitHub e9ef7c0ecd Merge pull request #4424 from appwrite/master
sync: 1.1.x <- master
2022-10-11 16:03:43 +02:00
fogelito 9ff918ac6b specs 2022-10-11 15:56:09 +03:00
fogelito 88a19f4bd3 composer.lock 2022-10-11 15:43:56 +03:00
Torsten Dittmann 6a44e82e33 Merge branch '1.1.x' of https://github.com/appwrite/appwrite into 1.1.x 2022-10-11 14:27:13 +02:00
Torsten Dittmann 9d9f96ac1e Merge branch 'master' of https://github.com/appwrite/appwrite into 1.1.x 2022-10-11 14:26:59 +02:00
fogelito 0a4b582dd9 Model MODEL_METRIC changes 2022-10-11 14:35:54 +03:00
fogelito 4250234231 Model MODEL_METRIC changes 2022-10-11 13:34:42 +03:00
Christy JacobandGitHub 75c029c462 Merge pull request #4073 from appwrite/christyjacob4-patch-2
Update PULL_REQUEST_TEMPLATE.md
2022-10-11 13:06:17 +04:00
Damodar Lohani 910c033d2a refactor build and execution time 2022-10-11 05:40:28 +00:00
Torsten DittmannandGitHub 92778baf99 Merge pull request #4042 from Sooraj-s-98/master
sanitized url in url Validation
2022-10-10 22:42:49 +02:00
Eldad Fux fc8c40c62f Removed unused hostnames 2022-10-10 19:34:57 +03:00
Bradley Schofield 380a45f987 Add build time to deployment 2022-10-10 16:24:40 +01:00
Damodar Lohani 3ffc31ba58 fix formatting 2022-10-10 09:39:26 +00:00
Damodar Lohani f41d388bf5 separate cumulative metrics 2022-10-10 09:13:20 +00:00
Eldad A. FuxandGitHub 8f3f00fe00 Merge pull request #4055 from appwrite/feat-integrate-messaging
Feat integrate messaging
2022-10-10 09:53:32 +03:00
Jake Barnby 77fccc950a Merge remote-tracking branch 'origin/1.1.x' into feat-integrate-messaging 2022-10-10 17:30:33 +13:00
Eldad A. FuxandGitHub 0733909d04 Merge pull request #4346 from appwrite/master
Sync 1.1.x
2022-10-10 07:27:26 +03:00
Jake Barnby 702710aab1 Fix import 2022-10-10 16:20:46 +13:00
Jake Barnby 2fc22998cf Merge remote-tracking branch 'origin/master' into feat-integrate-messaging 2022-10-10 14:04:51 +13:00
Jake Barnby f93099cbb6 Merge remote-tracking branch 'origin/1.1.x' into feat-integrate-messaging 2022-10-10 14:04:01 +13:00
Jake Barnby 608f1532a6 Merge remote-tracking branch 'origin/1.0.x' into feat-integrate-messaging
# Conflicts:
#	app/workers/messaging.php
#	src/Appwrite/SMS/Adapter/Mock.php
#	tests/e2e/Services/Account/AccountCustomClientTest.php
2022-10-10 14:01:59 +13:00
Jake Barnby a247cc614f Increase sleep 2022-10-10 11:28:26 +13:00
Eldad A. FuxandGitHub 17d7bcca78 Merge pull request #4057 from appwrite/feat-project-queries-by-team
Feat: teamId queries on listProjects
2022-10-09 16:19:19 +03:00
Damodar Lohani 8ddbde62c1 use project internal id 2022-10-09 06:45:46 +00:00
Damodar Lohani 9b2db20b3b fix backfill 2022-10-09 06:33:14 +00:00
Damodar Lohani 22b00c019d update usage period on get for databases 2022-10-09 06:30:26 +00:00
Eldad Fux 690c275ee2 Hide _APP_DB_PROJECT and _APP_DB_CONSOLE from docs 2022-10-08 10:26:51 +03:00
Eldad Fux a229eac2cc Renamed DatabasePool to Pools 2022-10-08 08:51:58 +03:00
Eldad Fux c23c5c686c Merge branch 'feat-db-pools' of https://github.com/appwrite/appwrite into feat-db-pools-eldad 2022-10-08 08:48:06 +03:00
Eldad Fux 26b1a94d22 Renamed DatabasePool to Pools 2022-10-08 08:43:02 +03:00
Eldad Fux 5af7dc943f Renamed DatabasePool to Pools 2022-10-08 08:42:53 +03:00
sooraj 5958577a6e camel case update 2022-10-08 06:31:28 +05:30
Krishna AgarwalandGitHub de39663095 made changes 2022-10-07 23:16:54 +05:30
Krishna AgarwalandGitHub 00eeebbf04 Update CONTRIBUTING.md 2022-10-07 23:15:50 +05:30
Krishna AgarwalandGitHub 1313a30563 Update CONTRIBUTING.md 2022-10-07 23:14:49 +05:30
Krishna AgarwalandGitHub 11caeaba11 Update CONTRIBUTING.md 2022-10-07 23:13:42 +05:30
Krishna AgarwalandGitHub 36f59375da Update CONTRIBUTING.md 2022-10-07 23:13:19 +05:30
Tushar DahiyaandGitHub 0bb3aa6c9d Update add-environment-variable.md 2022-10-07 09:10:13 +05:30
sooraj 49c0c2d996 change test case 2022-10-07 07:39:22 +05:30
sooraj 3a2d6da052 sanitized_url add in parse url 2022-10-07 06:11:38 +05:30
Christy Jacob 643b2f1bb4 fix: docker compose synatx 2022-10-06 18:48:50 +05:30
Christy Jacob 1a9c4e3756 fix: mysql indexes issue 2022-10-06 18:41:15 +05:30
Krishna AgarwalandGitHub 5a9525fb89 fixed typo 2022-10-06 09:08:12 +05:30
Krishna AgarwalandGitHub 5e75fca33f Update avatars.md 2022-10-06 09:04:44 +05:30
Krishna AgarwalandGitHub 187bf0165d rephrased words 2022-10-06 09:02:56 +05:30
Krishna AgarwalandGitHub f794eea2e6 removed space 2022-10-06 09:02:08 +05:30
Sooraj SandGitHub 81fc5ee6b3 Merge pull request #1 from appwrite/master
new
2022-10-06 09:01:55 +05:30
Krishna AgarwalandGitHub d851733f6a fixed typos, removed space 2022-10-06 09:01:31 +05:30
Akshay Rana 57bbf346aa added: test case - failure case to add same number to different user 2022-10-05 23:40:11 +05:30
sooraj 62f63923c1 new test case 2022-10-05 19:40:05 +05:30
Akshay Rana 737a0ab6d7 added: test case - update user phone number & user search by new phone number 2022-10-05 17:30:53 +05:30
Akshay Rana da9133ae85 fixed: wrong error message show on adding duplicate number to a user 2022-10-04 23:48:15 +05:30
Vincent (Wen Yu) GeandGitHub 4cee87273c Merge branch 'master' into doc-unique-id 2022-10-04 10:51:38 -04:00
Torsten DittmannandGitHub 676709e706 Merge pull request #4289 from appwrite/1.0.x
master <- 1.0.x
2022-10-04 16:15:46 +02:00
Torsten DittmannandGitHub 68df98eaaa Merge pull request #4043 from appwrite/chore-prepare-1-0-2
chore: prepare 1.0.2
2022-10-04 15:36:45 +02:00
Torsten Dittmann 77e8ffe500 chore: update changelog 2022-10-04 15:29:15 +02:00
Christy Jacob 12b1ecfcf9 feat: mysql support 2022-10-04 17:04:42 +05:30
Torsten Dittmann 120216f715 Merge branch '1.0.x' of https://github.com/appwrite/appwrite into chore-prepare-1-0-2 2022-10-04 12:19:18 +02:00
Torsten Dittmann 0c99ceda92 Merge branch 'master' of https://github.com/appwrite/appwrite into 1.0.x 2022-10-04 12:18:43 +02:00
Torsten Dittmann 7a9b25889b Merge branch 'master' of https://github.com/appwrite/appwrite into chore-prepare-1-0-2 2022-10-04 12:07:09 +02:00
Torsten DittmannandGitHub 4bb44ad315 Merge pull request #3757 from appwrite/feat-github-non-self-hosted
ci: update github actions to use github hosted runners
2022-10-04 12:06:42 +02:00
Torsten Dittmann b83a215885 chore: update changelog 2022-10-04 11:32:31 +02:00
Torsten Dittmann 6c10a75c6a chore: update changelog 2022-10-04 11:31:17 +02:00
Torsten DittmannandGitHub b6321a8bed ci: remove php image pre pull 2022-10-04 11:05:52 +02:00
Torsten Dittmann 3e69d8203e chore: update composer lock 2022-10-04 11:04:32 +02:00
73c144a75f Update .github/PULL_REQUEST_TEMPLATE.md
Co-authored-by: Matej Bačo <matejbacocom@gmail.com>
2022-10-04 12:29:52 +05:30
Eldad A. FuxandGitHub 052d35fe59 Update README.md 2022-10-04 08:54:53 +03:00
Vincent (Wen Yu) Ge 55985c47d4 Update specs 2022-10-03 21:21:27 +00:00
Vincent (Wen Yu) Ge ae2100244f Update unique() to be ID.unique() 2022-10-03 20:22:28 +00:00
Vincent (Wen Yu) Ge 207941558f fix typo in email examples 2022-10-03 15:13:04 +00:00
Vincent (Wen Yu) Ge 3281b8bbd4 Add meaningful Phone number examples to specs 2022-10-03 15:06:44 +00:00
Christy JacobandGitHub 0bae88311e Update PULL_REQUEST_TEMPLATE.md 2022-10-03 15:30:47 +05:30
Matej Bačo 3da4b01f4e Deprecate team deletion with project 2022-10-03 08:06:48 +00:00
Matej Bačo a55b149d6f Fix test 2022-10-03 07:54:55 +00:00
Matej Bačo a883d3728f Allow teamId queries on listProjects 2022-10-03 07:16:49 +00:00
Jake Barnby 2fbc40e966 Merge fixes 2022-10-03 13:42:53 +13:00
Jake Barnby 5c6caf5603 Update to messaging lib to tagged release
(cherry picked from commit 580eafffd2a90fb9dccc4554ac9ce388864f1e8d)

# Conflicts:
#	composer.lock
2022-10-03 13:29:24 +13:00
Jake Barnby 2bb8854f61 WIP integrate messaging library
(cherry picked from commit 9a25f77e3e7e76f6c93cc3ce1985f43426a0debf)

# Conflicts:
#	app/workers/messaging.php
#	src/Appwrite/SMS/Adapter/Mock.php
#	tests/e2e/Services/Account/AccountCustomClientTest.php
2022-10-03 13:28:30 +13:00
geisterfurz007 1e0d8d2efb fix: switch clips in firefox 2022-10-02 19:21:43 +02:00
Torsten DittmannandGitHub 146793c42c Merge pull request #3885 from appwrite/fix-function-vars-null
Fix: Function null variables
2022-09-30 15:38:27 +02:00
sooraj 91f16121d1 adding a test 2022-09-30 18:10:02 +05:30
Torsten Dittmann 5d32ddb408 Merge branch '1.0.x' of https://github.com/appwrite/appwrite into chore-prepare-1-0-2 2022-09-30 14:36:53 +02:00
Torsten DittmannandGitHub e5271dbda9 Merge branch '1.0.x' into fix-function-vars-null 2022-09-30 14:29:22 +02:00
Torsten Dittmann 6c2fbec22b chore: add changelog 2022-09-30 14:27:46 +02:00
Torsten Dittmann 0c1222f0f5 Merge branch 'master' of https://github.com/appwrite/appwrite into 1.0.x 2022-09-30 14:23:06 +02:00
Torsten Dittmann fbbb150e86 Revert "Merge pull request #4041 from appwrite/revert-3789-feat-app-region"
This reverts commit 2117fa53f0, reversing
changes made to c634d12ef4.
2022-09-30 14:22:11 +02:00
Torsten DittmannandGitHub 2117fa53f0 Merge pull request #4041 from appwrite/revert-3789-feat-app-region
Revert "Feat app region"
2022-09-30 14:19:30 +02:00
Torsten DittmannandGitHub 1d3bd4e26a Merge pull request #4040 from appwrite/fix-boolean-attribute-default-value
fix: boolean attribute default value
2022-09-30 13:29:44 +02:00
Torsten DittmannandGitHub e0b9f57d85 Revert "Feat app region" 2022-09-30 12:32:58 +02:00
sooraj f6c586986d sanitized url in url Validation 2022-09-30 15:58:56 +05:30
Torsten Dittmann 757a3f8651 chore: prepare 1.0.2 2022-09-30 12:27:26 +02:00
Torsten Dittmann 637a97c4de Merge branch '1.0.x' of https://github.com/appwrite/appwrite into fix-function-vars-null 2022-09-30 12:06:32 +02:00
Torsten Dittmann f8bd3299a3 chore: add changelog 2022-09-30 12:03:08 +02:00
Torsten DittmannandGitHub 6c1e2ae537 Merge branch '1.0.x' into fix-boolean-attribute-default-value 2022-09-30 11:56:31 +02:00
Torsten DittmannandGitHub 1b490233b6 Merge pull request #4038 from appwrite/fix-3949-migrate-audit-time
Fix migration for audit
2022-09-30 11:56:05 +02:00
Torsten DittmannandGitHub d511c2d2ad Merge pull request #3858 from appwrite/fix-certificate-fail-mail
Fix: Certificate -> Mail worker communication
2022-09-30 11:54:31 +02:00
Torsten Dittmann 65b4c9f931 fix: default value for optional function vars 2022-09-30 11:52:35 +02:00
Torsten DittmannandGitHub b1197d581a Merge pull request #3908 from appwrite/fix-function-schedule-loops
Fix schedule loop triggering
2022-09-30 11:45:11 +02:00
Torsten DittmannandGitHub c634d12ef4 Merge pull request #3932 from pcgeek86/patch-1
Fix PowerShell line continuation character
2022-09-30 11:43:54 +02:00
Torsten Dittmann b79fe964b8 chore: add changelog 2022-09-30 11:37:38 +02:00
Torsten Dittmann d45464c6c8 fix: boolean attribute default value 2022-09-30 11:27:19 +02:00
Christy JacobandGitHub 7880adda3f Merge pull request #3947 from appwrite/fix-scrypt-params
Fix scrypt params
2022-09-30 01:33:59 +05:30
Steven Nguyen c97fea37c0 Fix migration for audit
`time` attribute should be a DateTime type rather than int.
2022-09-29 19:15:54 +00:00
Eldad A. FuxandGitHub 09830aecb3 Merge pull request #3948 from appwrite/fix-rename-retry-build
Rename retry build to create build
2022-09-29 14:23:20 +03:00
Christy JacobandGitHub 4150895401 Merge pull request #3865 from eltociear/patch-1
Fix typo in Exception.php
2022-09-29 16:41:02 +05:30
Christy JacobandGitHub 7d5f68a7bf Merge pull request #3871 from toir427/patch-2
Fixed typo in docker-compose.yml
2022-09-29 16:40:43 +05:30
Christy JacobandGitHub 84da2eee8c Merge pull request #3872 from toir427/patch-3
Fixed typo in events.php
2022-09-29 16:40:08 +05:30
Bradley Schofield eeb6ee0821 Update functions.php 2022-09-29 09:42:46 +01:00
Christy JacobandGitHub 912933d4c8 Merge pull request #3936 from appwrite/fix-async-function-console
Update function execution from console to be async
2022-09-29 12:46:04 +05:30
Christy JacobandGitHub c1df8cc5ea Merge pull request #3935 from appwrite/feat-show-function-stdout
Update Console to Show Function Stdout Logs
2022-09-29 12:45:25 +05:30
Christy JacobandGitHub 258ba6e7b4 Merge pull request #3900 from appwrite/fix-team-get-membership-model
Add get team membership tests
2022-09-29 12:44:04 +05:30
Jake Barnby 5e1bb655dc Fix scrypt algo response model rule default types 2022-09-29 16:54:01 +13:00
Jake Barnby 69d42fc980 Fix create scrypt user route param defaults types 2022-09-29 16:52:57 +13:00
Steven NguyenandSteven 3f9a3f72c8 Update function execution from console to be async
Before 1.0.x, function executions were async by default. This ensures
executions starting 1.0.x are still async.
2022-09-28 19:25:59 +00:00
Eldad A. FuxandGitHub 4a4cf77fd6 Update README-CN.md 2022-09-28 10:08:39 +03:00
Eldad A. FuxandGitHub 029fddceb0 Update README.md 2022-09-28 10:08:00 +03:00
Christy Jacob f9400a6670 fix: failing tests 2022-09-28 01:28:28 +05:30
Steven Nguyen 8cc768cc50 Update Console to Show Function Stdout Logs
Although there is still a known issue where function stdout logs can
appear in the wrong execution, not having the logs easily accessible
in the console makes troubleshooting functions significantly more
difficult.
2022-09-27 19:48:35 +00:00
Christy Jacob a847064093 fix: failing tests 2022-09-28 00:59:51 +05:30
Christy Jacob 3b802e9ba6 Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-09-27 20:59:50 +05:30
Trevor SullivanandGitHub 85cd2c1472 Fix PowerShell line continuation character
PowerShell uses the backtick as line continuation character, not comma.
2022-09-27 01:17:19 -06:00
Eldad A. FuxandGitHub b575df867e Merge pull request #3789 from appwrite/feat-app-region
Feat app region
2022-09-25 15:04:56 +03:00
Damodar Lohani 8c6ef5b26f pass region in constructors 2022-09-25 05:41:13 +00:00
Damodar Lohani 895e12c29b monthly period not supported 2022-09-25 02:08:42 +00:00
Damodar Lohani 4969ceadd4 add project internal id to the timeseries tats 2022-09-25 02:07:26 +00:00
Eldad A. FuxandGitHub 7b0b0ef91a Merge pull request #3921 from WonderfulWan8/doc_update_readme
doc_update_readme
2022-09-24 17:57:14 +03:00
Eldad A. FuxandGitHub 80ce2b2464 Merge pull request #3906 from appwrite/fix-phone-secret-hash
fix: hash phone auth code
2022-09-24 17:49:52 +03:00
Eldad A. FuxandGitHub ef65503173 Merge pull request #3873 from toir427/patch-4
Fixed typo in providers.php
2022-09-24 17:48:17 +03:00
WonderfulWan8 adf4465c27 doc_update_readme 2022-09-24 22:37:30 +08:00
Christy JacobandGitHub 3bbbca87d6 Merge pull request #3910 from appwrite/feat-dart-flutter-changelogs
update Flutter/Dart changelogs
2022-09-23 17:14:16 +05:30
Damodar LohaniandGitHub 651ccef328 correct env value 2022-09-23 14:35:50 +05:45
Christy JacobandGitHub 44cc33284f Merge pull request #3879 from appwrite/feat-improve-sms-e2e-tests
Fix: SMS mock e2e tests
2022-09-23 14:16:37 +05:30
Christy JacobandGitHub 384543c553 Merge pull request #3886 from appwrite/refactor-test-failures
Refactor test failures
2022-09-23 14:10:16 +05:30
Damodar Lohani 69846749bf update changelogs 2022-09-23 06:31:43 +00:00
Christy JacobandGitHub 9524b06d26 Merge pull request #3895 from MrKrishnaAgarwal/typo
fixed typo
2022-09-23 11:59:34 +05:30
Christy Jacob 0533339023 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into fix-team-get-membership-model 2022-09-23 06:27:35 +00:00
Christy Jacob 582b95915a Merge branch 'master' of https://github.com/appwrite/appwrite into 0.16.x 2022-09-23 06:25:59 +00:00
Matej BačoandGitHub 46c91899e7 Merge branch '0.16.x' into feat-improve-sms-e2e-tests 2022-09-23 08:23:29 +02:00
Matej Bačo e850be40b2 Cleanup 2022-09-23 06:21:10 +00:00
Christy JacobandGitHub 54d14a5151 Merge pull request #3883 from appwrite/fix-get-membership-response
Fix: Get Membership response
2022-09-23 11:42:33 +05:30
Matej Bačo 0159079608 Fix schedule loop triggering 2022-09-23 06:12:17 +00:00
Christy JacobandGitHub c38f451c78 Merge pull request #3862 from Faizan-Pasha/master
Fixed the bug #3859
2022-09-23 11:38:39 +05:30
Christy JacobandGitHub 426f50c69c Merge pull request #3852 from appwrite/fix-response-filters
Fix response filters
2022-09-23 11:28:34 +05:30
Damodar Lohani 5e6b8ec506 refactor counters to get sum in period only 2022-09-23 05:51:26 +00:00
Eldad A. FuxandGitHub 5bde5bee16 Update README.md 2022-09-23 07:25:23 +03:00
Eldad A. FuxandGitHub aceb631aac Update README.md 2022-09-23 07:22:32 +03:00
Christy Jacob 7abb426e3f fix: hash phone auth code 2022-09-23 03:55:17 +05:30
Christy JacobandGitHub c2d3544c55 Merge pull request #3884 from appwrite/fix-delete-function-variables
Fix: Function deletes worker
2022-09-23 00:38:18 +05:30
Christy JacobandGitHub ba0be549e3 Merge pull request #3881 from appwrite/fix-null-required-param
Fix: Null required ID params
2022-09-23 00:37:17 +05:30
Christy JacobandGitHub 9caeb62695 Merge pull request #3880 from appwrite/fix-improve-rehash-tests
Fix: Improve password hashing e2e tests
2022-09-23 00:35:03 +05:30
Christy JacobandGitHub f39ed010c7 Merge pull request #3889 from appwrite/fix-permission-selection
Fix permission selection before role entry
2022-09-23 00:33:09 +05:30
Christy JacobandGitHub 792d22cf74 Merge pull request #3904 from appwrite/christyjacob4-patch-1
Add ProductHunt badge
2022-09-22 19:38:43 +05:30
Christy JacobandGitHub 039dde600f Add ProductHunt badge 2022-09-22 18:56:25 +05:30
Christy JacobandGitHub 0eb5a1c61f Merge pull request #3855 from appwrite/fix-usage-stats
Fix date format for usage APIs
2022-09-22 18:21:58 +05:30
Damodar Lohani aee87e3d01 fix stats users 2022-09-22 12:19:43 +00:00
Christy JacobandGitHub f3fac22bab Merge pull request #3902 from appwrite/update-versions
Update SDK generator and versions
2022-09-22 17:13:53 +05:30
Christy JacobandGitHub b99f5b0663 Merge pull request #3896 from appwrite/fix-supported-sms-providers
Update list of supported SMS Providers
2022-09-22 16:44:42 +05:30
Jake Barnby 1bd55c8d69 Update CLI version 2022-09-22 21:24:50 +12:00
Jake Barnby 7c3732e277 Update SDK generator version 2022-09-22 21:23:51 +12:00
Jake Barnby 7f236ed2bb Add get membership tests 2022-09-22 20:06:30 +12:00
Damodar Lohani 80502ff937 collect counter data 2022-09-22 07:34:11 +00:00
Damodar Lohani 2956d5f3eb collect console stats 2022-09-22 07:34:03 +00:00
Jake Barnby 398c3eec29 Fix SDK response model for get team membership 2022-09-22 19:26:54 +12:00
Christy Jacob fea3580c1c chore: update sdk versions 2022-09-22 09:37:34 +05:30
Christy Jacob a0910a7f58 chore: update sdk generator 2022-09-22 08:39:20 +05:30
Steven 87cc201811 Update list of supported SMS Providers 2022-09-21 21:05:59 +00:00
Christy JacobandGitHub e4d186b9a7 Merge pull request #3861 from appwrite/fix-flutter-web-auth-2
Update flutter getting started to match library
2022-09-21 23:53:24 +05:30
Krishna AgarwalandGitHub de0b88737e fixed typo 2022-09-21 22:55:21 +05:30
Krishna AgarwalandGitHub 0ddd2f6c77 fixed typo on line 15 2022-09-21 22:53:36 +05:30
Krishna AgarwalandGitHub 067858ae10 fixed typo 2022-09-21 22:48:51 +05:30
Christy JacobandGitHub ec46fae228 Merge pull request #3890 from zswati/Swati/Typo-Error-fix-Readme-
Typo fix readme.md file
2022-09-21 15:21:15 +05:30
Damodar Lohani 4de148f783 new stats to count resources 2022-09-21 09:36:42 +00:00
Eldad A. FuxandGitHub 6fbbc2bea5 Update README.md 2022-09-21 10:02:44 +03:00
Damodar Lohani e8b63f8c9d fix test 2022-09-21 02:46:18 +00:00
Damodar Lohani 3166be9da0 remove region from update 2022-09-21 02:01:59 +00:00
Damodar Lohani 6d9f43be5d add missing region on list project test 2022-09-21 01:45:16 +00:00
Damodar Lohani fdc5fea887 update project tests 2022-09-21 01:02:58 +00:00
Swati Z 92e3c79812 Update Contributing.md with Typo
Update Contributing.md with Typo
2022-09-20 12:36:16 -04:00
Swati Z fb55f8cdd1 Typo fix readme.md file 2022-09-20 11:02:12 -04:00
Damodar Lohani cde374b505 add region in test 2022-09-20 13:21:05 +00:00
Christy JacobandGitHub 478a92a881 Merge pull request #3888 from christyjacob4/master
add console sdk
2022-09-20 18:35:20 +05:30
Jake Barnby 85ce646e0c Add back prevent enter 2022-09-20 22:04:15 +12:00
Jake Barnby ef4ffcf3a2 Clear existing permissions for a role on keydown 2022-09-20 22:03:13 +12:00
Christy Jacob bf533be331 chore: add console sdk 2022-09-20 14:27:49 +05:30
Christy Jacob 81aa611c74 chore: add console sdk 2022-09-20 14:27:30 +05:30
Christy Jacob 66ffe200d8 chore: add console sdk 2022-09-20 14:24:38 +05:30
Christy Jacob c33a5580fe chore: add console sdk 2022-09-20 14:24:02 +05:30
Christy Jacob 7ec9aef2ed chore: add console sdk 2022-09-20 14:23:30 +05:30
Christy Jacob 5b240a867e chore: add console sdk 2022-09-20 14:23:10 +05:30
Christy Jacob 304e72c7e2 chore: add console sdk 2022-09-20 14:22:50 +05:30
Christy Jacob 8fe71531d6 chore: add console sdk 2022-09-20 14:20:44 +05:30
Christy Jacob 2badad6da5 chore: add console sdk 2022-09-20 14:20:12 +05:30
Christy Jacob 395beb39bc chore: add console sdk 2022-09-20 14:16:35 +05:30
Christy Jacob e5cae42356 chore: add console sdk 2022-09-20 14:15:52 +05:30
Christy Jacob fe82f05462 chore: add console sdk 2022-09-20 14:15:10 +05:30
Christy Jacob c9245748bf chore: add console sdk 2022-09-20 14:13:04 +05:30
Christy Jacob 67c7250b3c chore: add console sdk 2022-09-20 14:09:16 +05:30
Christy Jacob 29e5acb29e chore: add console sdk 2022-09-20 14:08:25 +05:30
Christy Jacob 78f6748fb0 chore: add console sdk 2022-09-20 14:07:51 +05:30
Christy Jacob 7c797515e6 chore: add console sdk 2022-09-20 14:07:10 +05:30
Christy Jacob 044078f7e3 chore: add console sdk 2022-09-20 14:05:49 +05:30
Christy Jacob eb50137ee2 chore: add console sdk 2022-09-20 14:04:43 +05:30
Christy Jacob 9b5db34669 chore: add console sdk 2022-09-20 14:02:54 +05:30
Christy Jacob 9e427d7833 chore: add console sdk 2022-09-20 14:02:05 +05:30
Matej Bačo 96134f2a5e Remove todo 2022-09-20 08:29:34 +00:00
Steven NguyenandSteven 2f08ec0926 Convert Document $collectionId in 0.15 response
Document $collection was renamed to $collectionId to match the naming
convention of referring to other resource IDs. This ensures backwards
compatibility.
2022-09-20 02:48:40 +00:00
Steven NguyenandSteven 01f77fa993 Ensure empty datetimes are 0 in 0.15 response
Because empty datetimes are invalid, strtotime returned false so the
response was false rather than 0.
2022-09-20 02:48:40 +00:00
Jake Barnby 98747c949d Merge remote-tracking branch 'origin/master' into refactor-test-failures 2022-09-20 12:51:42 +12:00
Damodar Lohani 2bd217b3d2 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-09-19 13:11:13 +00:00
Damodar Lohani e80e65946b Merge branch 'master' of https://github.com/appwrite/appwrite into feat-app-region 2022-09-19 12:01:56 +00:00
Matej Bačo 89afad1a32 Replace nulls with empty strings 2022-09-19 11:58:41 +00:00
Matej Bačo e31c7f7740 Improve delete worker for functions 2022-09-19 11:53:34 +00:00
Matej Bačo c42bf2d8da Fix documentation response model 2022-09-19 11:43:21 +00:00
Matej Bačo a983e792d8 Refactor required param values 2022-09-19 10:05:42 +00:00
Matej Bačo 215c02ac47 e2e tests for password re-hashing 2022-09-19 08:43:59 +00:00
Matej Bačo 6e8a4cc97b Update sms mock to use request catcher 2022-09-19 08:09:48 +00:00
Toir TuychievandGitHub 360054f500 Fixed typo in providers.php
Perperation -> Preparation
2022-09-17 21:29:01 +05:00
Toir TuychievandGitHub fd9d300654 Fixed typo in events.php
accessiable -> accessible
2022-09-17 21:27:32 +05:00
Toir TuychievandGitHub ca318c1842 Fixed typo in docker-compose.yml
Fixed typo in docker-compose.yml
2022-09-17 20:35:33 +05:00
Ikko AshimineandGitHub 82141b7387 Fix typo in Exception.php
follwing -> following
2022-09-17 12:44:20 +09:00
Faizan Pasha ffe525c5cc Removed unused import 2022-09-17 06:02:11 +05:30
Faizan Pasha 12b6e671b0 Fixed the bug #3859 2022-09-17 05:58:14 +05:30
Steven 9985af45fb Update flutter getting started to match library 2022-09-16 20:25:06 +00:00
Matej Baco 81ddc99f7b Improve mail events code quality 2022-09-16 11:54:59 +02:00
Steven Nguyen 00a4929301 Fix date format for usage APIs 2022-09-15 23:48:09 +00:00
Jake Barnby 9ad270ec14 Remove Android, Kotlin, Apple and Swift from beta 2022-09-15 19:38:00 +12:00
Christy JacobandGitHub 19eb6c7e50 Merge pull request #3841 from appwrite/fix-role-all
Change role:all to any in docs
2022-09-15 01:53:09 +05:30
Torsten DittmannandGitHub e04b9fc136 Merge pull request #3843 from appwrite/chore-fix-readme-versions
chore: update readme for 1.0.1
2022-09-14 22:11:21 +02:00
Torsten DittmannandGitHub ed79d4dffb chore: update readme for 1.0.0 2022-09-14 22:08:44 +02:00
StevenandGitHub 6c9e805682 Change role:all to any in docs 2022-09-14 12:18:33 -07:00
Torsten DittmannandGitHub 939b5a00f5 Merge pull request #3840 from appwrite/feat-prepare-1.0.1-release
feat: prepare 1.0.1 release
2022-09-14 21:07:42 +02:00
Torsten Dittmann 95d322dc36 feat: prepare 1.0.1 release 2022-09-14 21:03:00 +02:00
Torsten DittmannandGitHub 192617c9ac Merge pull request #3839 from appwrite/fix-migration-abuse-time
fix: migration for abuse time column
2022-09-14 19:51:42 +02:00
Torsten Dittmann 5fb6d2fa6a chore: add changelog 2022-09-14 19:48:56 +02:00
Torsten Dittmann fab87c7f00 fix: migration for abuse time column 2022-09-14 19:40:03 +02:00
Torsten Dittmann 0e2e7395a9 ci: increase test timeouts 2022-09-14 19:17:03 +02:00
Torsten Dittmann 5fd0de842f ci: fix build args 2022-09-14 17:52:52 +02:00
Torsten Dittmann 6d5aec39fe ci: use faster compose file for ci 2022-09-14 16:44:50 +02:00
Torsten Dittmann b0d6e905f1 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-github-non-self-hosted 2022-09-14 16:29:53 +02:00
Vincent (Wen Yu) GeandGitHub c20d46fef3 Update README-CN.md 2022-09-14 09:40:51 -04:00
Christy JacobandGitHub 700d7bc6aa Merge pull request #3835 from appwrite/update-readme
feat: update readme
2022-09-14 18:52:09 +05:30
Christy Jacob 3b39b3a88d feat: update readme 2022-09-14 18:46:35 +05:30
Christy JacobandGitHub 6c220467b8 Merge pull request #3682 from appwrite/0.16.x
0.16.x
2022-09-14 18:10:41 +05:30
Christy Jacob 9893bc166a feat: update changelog 2022-09-14 17:55:10 +05:30
Christy Jacob a593d75404 feat: update changelog 2022-09-14 17:54:50 +05:30
Torsten DittmannandGitHub d039671ffb Merge pull request #3833 from appwrite/update-examples
feat: generate latest examples
2022-09-14 14:14:14 +02:00
Christy Jacob 776dc84475 feat: generate latest examples 2022-09-14 17:41:36 +05:30
Christy JacobandGitHub fca8e0ebee Merge pull request #3832 from appwrite/fix-permissions-ui-margin
Fix permissions UI margin
2022-09-14 17:34:18 +05:30
Jake Barnby c1c9ebd381 Increase permissions margin for ls ui open 2022-09-15 00:00:35 +12:00
Torsten Dittmann c9904f38d3 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into 0.16.x 2022-09-14 13:57:05 +02:00
Torsten Dittmann 64926c7f4c fix: functions execute permissions on migration 2022-09-14 13:57:02 +02:00
Christy Jacob 4c3b477b44 feat: generate latest specs 2022-09-14 17:18:25 +05:30
Torsten Dittmann d851115701 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into 0.16.x 2022-09-14 13:02:18 +02:00
Torsten Dittmann bdd67b0127 fix: user migration not happening twice 2022-09-14 13:02:14 +02:00
Torsten DittmannandGitHub e7e1852b21 Merge pull request #3830 from appwrite/update-sdks
feat: update examples for 1.0.0
2022-09-14 12:32:06 +02:00
Torsten Dittmann 89f18f36b5 fix: migration permissions fix 2022-09-14 12:19:52 +02:00
Torsten Dittmann 620d864d17 fix: migration prevent second password 2022-09-14 12:10:27 +02:00
Christy Jacob 0b767c15a6 feat: update examples 2022-09-14 14:41:08 +05:30
Torsten Dittmann 587a8b5b7b Merge branch '0.16.x' of https://github.com/appwrite/appwrite into 0.16.x 2022-09-14 11:00:15 +02:00
Torsten Dittmann 78cd9ea71a chore: prepare 1.0.0 release 2022-09-14 11:00:13 +02:00
Torsten DittmannandGitHub af00eeaf9a Merge pull request #3829 from appwrite/feat-sdk-version-bump
Feat sdk version bump
2022-09-14 10:33:12 +02:00
Jake Barnby 13fa712cc5 Merge remote-tracking branch 'origin/0.16.x' into feat-sdk-version-bump
# Conflicts:
#	app/config/platforms.php
2022-09-14 20:31:54 +12:00
Jake Barnby 9fe4a295ff Bump SDK versions 2022-09-14 20:27:34 +12:00
Torsten DittmannandGitHub 43b02c6f13 Merge pull request #3792 from appwrite/feat-migration-1.0.0
feat: migration 1.0.0
2022-09-14 10:26:36 +02:00
Torsten Dittmann bb2b46cdc1 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-migration-1.0.0 2022-09-14 10:26:08 +02:00
Torsten DittmannandGitHub 3df89e65ca Merge pull request #3816 from appwrite/feat-consistent-parent-id
Update document model
2022-09-14 10:25:36 +02:00
Torsten DittmannandGitHub 90af882aa6 Merge pull request #3825 from appwrite/update-team-membership
feat: rename getMemberships to listMemberships
2022-09-14 10:23:13 +02:00
Torsten Dittmann 9c59deca1d fix: create scheduleUpdatedAt attribute on migration 2022-09-14 10:21:32 +02:00
Torsten Dittmann d0c3f52ab6 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-migration-1.0.0 2022-09-14 10:20:42 +02:00
Torsten DittmannandGitHub 1043cc4fc1 Merge pull request #3809 from appwrite/fix-function-scheduling
Fix functon scheduling loop logic, and double-loop prevention
2022-09-14 10:20:27 +02:00
Torsten Dittmann 4a73b26821 chore: composer update 2022-09-14 10:19:56 +02:00
Torsten Dittmann f97280d071 tests: remove unnecessary import 2022-09-14 10:17:50 +02:00
Torsten Dittmann d834091524 fix: phpunit bootstrap 2022-09-14 10:17:08 +02:00
Torsten DittmannandGitHub 0e7f9cf2ad Merge pull request #3820 from appwrite/feat-grant-verified-dimension
Feat grant verified dimension
2022-09-14 10:06:31 +02:00
Jake Barnby a4536d45a1 Merge remote-tracking branch 'origin/0.16.x' into feat-grant-verified-dimension
# Conflicts:
#	composer.lock
2022-09-14 20:00:53 +12:00
Torsten DittmannandGitHub edbe0bd0e6 Merge pull request #3772 from appwrite/fix-datetime-attr-ui
Fix datetime attr UI
2022-09-14 09:41:04 +02:00
Jake Barnby dab4c004d3 Merge remote-tracking branch 'origin/0.16.x' into update-team-membership 2022-09-14 19:38:56 +12:00
Torsten Dittmann 9f07cb0cc4 chore: update composer lock 2022-09-14 09:31:02 +02:00
Torsten Dittmann f388f3801a Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-migration-1.0.0 2022-09-14 09:28:25 +02:00
Torsten Dittmann e416f9b017 fix: new functions enabled index 2022-09-14 09:26:22 +02:00
Jake Barnby ef144dbc24 Update lock 2022-09-14 19:24:50 +12:00
Torsten Dittmann 5e5ca0ba16 adapt to review 2022-09-14 09:12:17 +02:00
Jake Barnby d380cb8c47 Revert "Stop tests on failure"
This reverts commit f0626d2ee4.
2022-09-14 19:04:32 +12:00
Jake Barnby 5d6fff860e Merge remote-tracking branch 'origin/0.16.x' into fix-datetime-attr-ui 2022-09-14 18:35:21 +12:00
Jake Barnby d28afc21a6 Update db to tag 2022-09-14 18:11:42 +12:00
Jake Barnby ce42915ce5 Fix messaging channels subscription count tests 2022-09-14 18:10:42 +12:00
Jake Barnby 696c4bfde3 Merge remote-tracking branch 'origin/0.16.x' into feat-grant-verified-dimension 2022-09-14 17:31:23 +12:00
Steven Nguyen 908ba51144 Rename collection to collectionId on the Console 2022-09-14 00:53:37 +00:00
Steven Nguyen 3da21ff2fc Update document model
1. Rename document.$collection to document.$collectionId
2. Add document.$databaseId
2022-09-14 00:53:37 +00:00
Christy JacobandGitHub cdb54bcc72 Merge pull request #3697 from appwrite/feat-response-filters-0.16.x
Feat response and request filters 0.16.x
2022-09-14 02:52:07 +04:00
Matej Bačo 832e42c881 PR review changes 2022-09-13 22:42:40 +00:00
Christy Jacob 3af85b7e82 feat: update get* endpoints to list* endpoints in locale API 2022-09-14 03:51:07 +05:30
Christy Jacob 98c8896588 feat: update get* endpoints to list* endpoints in locale API 2022-09-14 03:48:02 +05:30
Christy Jacob f4c77a558f feat: update getSessions to listSessions in users and accounts API 2022-09-14 03:43:59 +05:30
Christy Jacob 626e4b1b8a feat: update getSessions to listSessions in users and accounts API 2022-09-14 03:43:04 +05:30
Matej Bačo b72dcdeeb4 Revert unrelated changes 2022-09-13 21:59:26 +00:00
Matej Bačo 182db2b2e3 PR review changes 2022-09-13 21:55:24 +00:00
Steven Nguyen 041066520f Fix some sdk methods for V15 request filter 2022-09-13 21:28:23 +00:00
Christy JacobandGitHub 421db5b224 Merge pull request #3777 from appwrite/doc-sdk-getting-started-examples
Fix code examples in SDK getting started
2022-09-14 01:23:42 +04:00
Matej Bačo 948049f944 Update lib version 2022-09-13 21:22:31 +00:00
Steven Nguyen 2da7da0558 Remove response parse of log $createdAt and $updatedAt 2022-09-13 21:18:13 +00:00
Christy Jacob 4260d01bb9 Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-migration-1.0.0 2022-09-14 02:38:14 +05:30
Christy Jacob 937674a373 feat: update getLogs to listLogs in users and account API 2022-09-14 02:35:03 +05:30
Christy Jacob 183bb2e92d feat: update getMemberships to listMemberships in Users API 2022-09-14 02:28:28 +05:30
Christy Jacob 7a2fcf4165 feat: update getMemberships calls in html 2022-09-14 02:18:26 +05:30
Steven Nguyen 8f67743834 Rename teams.getMemberships to teams.listMemberships in V15 request filter 2022-09-13 20:46:32 +00:00
Steven Nguyen 717abccd10 Fix V15 response format for functions and executions 2022-09-13 20:43:46 +00:00
Steven Nguyen eca5aa3c2b Fix version matching for 0.15.X request & response 2022-09-13 20:42:50 +00:00
Christy JacobandGitHub 1af709ea64 Merge pull request #3823 from appwrite/fix-remove-execution-stdout
Hide function execution stdout from Console UI
2022-09-14 00:34:09 +04:00
Christy Jacob 0eb994e625 feat: remove 1.0.0 examples 2022-09-14 02:00:25 +05:30
Christy Jacob 0123bba1fb feat: update console sdk, remove old specs 2022-09-14 01:59:15 +05:30
Christy Jacob 4f2c46ac36 feat: udpate changelog 2022-09-14 01:49:39 +05:30
Christy Jacob 105e5fe71c feat: rename getMemberships to listMemberships 2022-09-14 01:44:56 +05:30
Matej Bačo 20bbbfc493 Merge remote-tracking branch 'origin/0.16.x' into fix-function-scheduling 2022-09-13 20:14:42 +00:00
Matej Bačo 640b5abe1e PR review changes 2022-09-13 20:13:48 +00:00
Christy JacobandGitHub 9fd869d917 Update composer.json 2022-09-14 00:48:35 +05:30
Christy JacobandGitHub 554be364d6 Merge pull request #3755 from appwrite/feat-audits-label-desc-decoupling
audit event decoupling
2022-09-13 22:56:02 +04:00
Eldad A. FuxandGitHub 70fe8cdd77 Merge pull request #3822 from appwrite/feat-stop-test-on-fail
Stop tests on failure
2022-09-13 21:54:59 +03:00
Christy JacobandGitHub b98bbf482a Merge pull request #3798 from appwrite/matej-qa-3
Fix: 1.0 bugs from QA (3)
2022-09-13 22:53:49 +04:00
Christy Jacob efbe21d433 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into matej-qa-3 2022-09-13 18:21:44 +00:00
Christy Jacob 7d3101e077 feat: added breaking change to changelog 2022-09-13 18:08:34 +00:00
Christy Jacob 6544ab4872 feat: added breaking change to changelog 2022-09-13 18:08:06 +00:00
Steven Nguyen 8b0aa634ec Hide function stdout from console
Because it's possible for execution stdout to end up in the wrong
execution, we're going to hide the result from the UI to help avoid
confusion for users while we work on resolving the problem.
2022-09-13 17:01:41 +00:00
Torsten Dittmann ae0919a3d5 fix: add role:member migration 2022-09-13 18:54:03 +02:00
f6868318e0 Update docs/sdks/apple/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-13 21:54:57 +05:30
Steven Nguyen f0626d2ee4 Stop tests on failure
Since tests take almost 20 minute to run, stopping tests as soon as an
failure occurs will allow for faster iteration locally and also free up
resources in the CI pipeline.
2022-09-13 16:05:31 +00:00
Christy Jacob 59f33cbb51 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into doc-sdk-getting-started-examples 2022-09-13 15:36:46 +00:00
Christy JacobandGitHub 6fc7f9b384 Merge pull request #3811 from appwrite/fix-delete-collection-redirect
Fix: UI redirect
2022-09-13 19:24:41 +04:00
Christy Jacob 8688120df1 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into fix-delete-collection-redirect 2022-09-13 14:46:24 +00:00
Jake Barnby 25fc9c2dc4 Update lock 2022-09-14 02:39:35 +12:00
Jake Barnby 6938490328 Update db to dev 2022-09-14 00:46:59 +12:00
Jake Barnby 53e6a3e312 Add verified/unverified role tests 2022-09-14 00:45:57 +12:00
Jake Barnby 381a26fa4c Assign verified/unverified role to users 2022-09-14 00:44:55 +12:00
Christy JacobandGitHub 5ef11b44bf Merge pull request #3817 from appwrite/fix-function-duration-ui
Rename execution time to duration
2022-09-13 15:59:17 +04:00
Eldad A. FuxandGitHub c5ee4d7eaf Merge pull request #3819 from appwrite/refactor-permissions-ui
Refactor permissions UI
2022-09-13 12:17:30 +03:00
Jake Barnby 9806b395f1 Merge remote-tracking branch 'origin/0.16.x' into refactor-permissions-ui 2022-09-13 20:26:03 +12:00
shimon 75c4662c0b small fix 2022-09-13 11:08:15 +03:00
shimon 1d382cc542 small fix 2022-09-13 10:42:42 +03:00
shimon b86f7689ec Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label-desc-decoupling 2022-09-13 10:29:16 +03:00
Jake Barnby a43d03d8aa Update scripts 2022-09-13 16:16:41 +12:00
Jake Barnby c4e5ff4c94 Explicitly set all permissions to false on first add 2022-09-13 16:14:37 +12:00
Jake Barnby 9cea1270c3 Remove redundant data model 2022-09-13 16:12:47 +12:00
Steven Nguyen 9269fb0dfe Merge branch '0.16.x' into feat-response-filters-0.16.x 2022-09-13 03:54:11 +00:00
Steven Nguyen 2cbd4d6cc5 Rename execution time to duration 2022-09-13 03:51:44 +00:00
Christy JacobandGitHub 36b45fd8f4 Merge pull request #3818 from appwrite/fix-function-env-variables
Rename req.env to req.variables in runtime container
2022-09-13 07:21:45 +04:00
Jake Barnby 38b39a881e Merge remote-tracking branch 'origin/0.16.x' into refactor-permissions-ui 2022-09-13 14:10:48 +12:00
Steven Nguyen c2dcd507b8 Rename req.env to req.variables in runtime container 2022-09-13 00:49:08 +00:00
Steven Nguyen 7f0d4e6c36 Merge branch '0.16.x' into feat-response-filters-0.16.x 2022-09-12 22:21:52 +00:00
Steven Nguyen 1d7c25354a Update response filters for usage 2022-09-12 22:15:13 +00:00
Steven Nguyen 79b57cf696 Update response filters for list models 2022-09-12 19:07:08 +00:00
Christy JacobandGitHub 022e992041 Merge pull request #3802 from appwrite/feat-improve-usage-retry
Make usage tests only retry the usage fetch part
2022-09-12 20:30:13 +04:00
Torsten Dittmann 22038daa0e chore: remove old broken migrations 2022-09-12 16:20:53 +02:00
Torsten Dittmann e6432df04b fix: phpcomments 2022-09-12 16:09:28 +02:00
Torsten Dittmann 35fc397ecc fix: remove unnecessary try/catch 2022-09-12 16:08:29 +02:00
Torsten Dittmann e0267da7ac fix: migrate variables 2022-09-12 16:06:05 +02:00
Torsten Dittmann a7ef1367b8 chore: fix linter 2022-09-12 15:54:12 +02:00
Torsten Dittmann 75e80a210c fix: stats migration 2022-09-12 15:53:00 +02:00
Torsten Dittmann 704fd8693c fix: migrate executions and write permissions 2022-09-12 11:55:54 +02:00
Torsten Dittmann 184b1f2ddb Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-migration-1.0.0 2022-09-12 11:46:44 +02:00
Matej Bačo ec5a0b8cde Remove queries from listVariables; add enabled to createFunction 2022-09-12 09:02:14 +00:00
Jake Barnby eb2f949175 Update deps 2022-09-12 16:24:49 +12:00
Jake Barnby ecf5ba26ca Don't repeat datalist 2022-09-12 16:20:37 +12:00
Jake Barnby 953d338966 Validate input on add new row 2022-09-12 15:55:58 +12:00
Jake Barnby 7aeedb90bf Bind ID 2022-09-12 15:54:55 +12:00
Jake Barnby ca6ee798d6 Add member option 2022-09-12 15:47:15 +12:00
Jake Barnby 4bdad25a12 Remove redundant events 2022-09-12 14:05:32 +12:00
Jake Barnby f10914156f Only add row on button click 2022-09-12 14:04:50 +12:00
Jake Barnby 1a1f33ef57 Hide header when if no permissions present 2022-09-12 14:04:05 +12:00
Jake Barnby d6fa54bd1e Add/remove correctly 2022-09-12 14:02:23 +12:00
Steven NguyenandJake Barnby a1194d91f3 Improve UX of adding roles
(cherry picked from commit 0940d40f27badc13b04c718ad879c04129753098)

# Conflicts:
#	app/views/console/comps/permissions-matrix.phtml
#	public/dist/scripts/app-all.js
#	public/dist/scripts/app.js
2022-09-12 12:12:21 +12:00
Christy JacobandJake Barnby 4eedd443a5 feat: update add button behaviour
(cherry picked from commit 07f43206fe)
2022-09-12 12:10:57 +12:00
Jake Barnby 20ca55f51e Merge remote-tracking branch 'origin/fix-enter-submit-collection-settings' into refactor-permissions-ui 2022-09-12 12:09:15 +12:00
Matej Bačo 85b714857f Fix delete button redirect 2022-09-11 18:43:42 +00:00
Matej Bačo a315f43039 Fix functon scheduling loop logic, and double-loop prevention 2022-09-11 12:20:26 +00:00
Eldad A. FuxandGitHub 07d65a3232 Merge pull request #3782 from appwrite/fix-rc-certificates
Fix certificate worker and retries
2022-09-11 15:11:34 +03:00
Eldad A. FuxandGitHub 40781d45a0 Merge pull request #3785 from appwrite/fix-collection-settings-margin
feat: fix margin on collection settings
2022-09-11 15:04:51 +03:00
Eldad A. FuxandGitHub 31241f5d12 Merge pull request #3790 from appwrite/feat-add-route-doc
add-route example
2022-09-11 15:03:59 +03:00
Eldad A. FuxandGitHub ce73b44ccf Merge pull request #3797 from appwrite/fix-usage-always-taking-fulltime
fix the latest time memory store
2022-09-11 15:01:30 +03:00
Eldad A. FuxandGitHub 364da9d2f0 Merge pull request #3799 from appwrite/flutte-changelog
feat: update dart and flutter changelog
2022-09-11 14:59:26 +03:00
Eldad A. FuxandGitHub 0124d2c121 Merge pull request #3800 from appwrite/update-avatars-api
feat: update default avatars color
2022-09-11 14:58:21 +03:00
Eldad A. FuxandGitHub 3abd8bc565 Merge pull request #3801 from appwrite/update-execution-model
feat: rename time attribute to duration
2022-09-11 14:57:31 +03:00
Matej Bačo 34dda74176 Update tests, fix bug 2022-09-11 08:31:40 +00:00
Matej Bačo 6d235e7531 Fix after new db library version 2022-09-11 08:13:28 +00:00
Matej Bačo 8b864324de Merge remote-tracking branch 'origin/0.16.x' into fix-datetime-attr-ui 2022-09-11 07:34:44 +00:00
Matej Bačo 319e5ac034 PR review changes 2022-09-11 07:31:18 +00:00
Eldad A. FuxandGitHub a9a1e849d3 Merge pull request #3804 from appwrite/fix-datetime-future
Fix timeSince filter
2022-09-10 09:31:12 +03:00
Steven Nguyen 71206a9886 Update V15 response filter and add tests 2022-09-10 01:00:20 +00:00
Christy Jacob 0ce6deedbe fix failing test 2022-09-09 21:47:24 +00:00
Christy Jacob 526705d440 feat: update failing tests 2022-09-10 00:19:09 +04:00
Steven Nguyen c8ac990436 Fix timeSince filter 2022-09-09 18:57:58 +00:00
Steven Nguyen 668ebe4f41 Update V15 request filters for storage, teams, and users 2022-09-09 17:56:13 +00:00
Torsten Dittmann 21d40f4849 fix: qa 2022-09-09 19:50:05 +02:00
Steven Nguyen 0d016dea64 Make usage tests only retry the usage fetch part
Before this, usage tests retried creating usage AND fetching
the usage which caused some expected counts to be incorrect.
2022-09-09 17:19:25 +00:00
shimon 48b3d82518 Tidy up 2022-09-09 17:30:37 +03:00
shimon dc36f05ee7 Tidy up 2022-09-09 17:29:11 +03:00
shimon b757951f9c Tidy up 2022-09-09 17:01:45 +03:00
shimon b6495ff006 Merge remote-tracking branch 'origin/feat-add-route-doc' into feat-add-route-doc 2022-09-09 17:00:52 +03:00
shimon 963ce8198e Tidy up 2022-09-09 17:00:08 +03:00
3f568f732e Update docs/tutorials/add-route.md
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-09-09 16:43:17 +03:00
shimon ef7f919fa1 Tidy up 2022-09-09 16:40:34 +03:00
shimon 947e4190d5 Tidy up 2022-09-09 16:21:26 +03:00
shimon edb4ca6a63 Tidy up 2022-09-09 16:15:38 +03:00
shimon e0a58a5c98 Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-add-route-doc 2022-09-09 16:15:23 +03:00
cd058633f5 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:07:09 +03:00
016de02356 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:06:52 +03:00
f494ec488f Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:06:38 +03:00
09e5e06614 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:06:20 +03:00
910c37729d Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:05:59 +03:00
a698dfde8b Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:05:42 +03:00
19a5945730 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:05:16 +03:00
16024e0020 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:04:52 +03:00
10b0277120 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:04:39 +03:00
f28248037c Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:04:13 +03:00
2ef98752dc Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:04:00 +03:00
101e6cb539 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:03:37 +03:00
9c0da69dbb Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:03:28 +03:00
d865b5adee Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:03:09 +03:00
4809520462 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:02:58 +03:00
3e23759e69 Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:02:21 +03:00
4cd0f4ea1e Update docs/tutorials/add-route.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-09-09 16:02:01 +03:00
Torsten Dittmann 4822e326f2 add more logic 2022-09-09 14:44:04 +02:00
Christy Jacob b837fe7233 feat: rename time attribute to duration 2022-09-09 16:03:57 +04:00
Christy Jacob cb50220b60 feat: rename time attribute to duration 2022-09-09 16:02:04 +04:00
Christy Jacob 98724c2acd feat: update default avatars color 2022-09-09 15:09:04 +04:00
Christy Jacob a707fa0385 feat: update dart and flutter changelog 2022-09-09 14:47:17 +04:00
Torsten Dittmann a059ec11e7 add some fixes 2022-09-09 11:38:54 +02:00
Eldad A. FuxandGitHub 6d17d7f0f6 Merge pull request #3795 from appwrite/feat-assign-member-role
Assign member role for all of a users confirmed team memberships
2022-09-09 12:27:21 +03:00
Matej Bačo b41aaefc7e Implement 'enabled' attribute for functions 2022-09-09 08:49:18 +00:00
Matej Bačo fd6a3ed30c Fix listVariables returing all variables 2022-09-09 08:05:33 +00:00
Damodar Lohani 87e3916568 fix the latest time memory store 2022-09-09 07:52:57 +00:00
Damodar Lohani 3beacf0263 add region to usage documents 2022-09-09 06:13:12 +00:00
Damodar Lohani 03fade9501 fix default region value 2022-09-09 05:14:29 +00:00
Damodar Lohani 0cd1da0680 remove dump 2022-09-09 05:06:07 +00:00
Damodar Lohani 9fc800c45a update project create script 2022-09-09 04:57:54 +00:00
Eldad A. FuxandGitHub 0a9a84e357 Merge pull request #3793 from appwrite/fix-datetime-type
Fix $createdAt and $updatedAt so they are datetime instead of string
2022-09-09 07:21:23 +03:00
Jake Barnby 6ac236ed22 Update DB 2022-09-09 16:08:24 +12:00
Damodar Lohani 3e34e42c93 update console SDK 2022-09-09 01:25:36 +00:00
Damodar Lohani aa2a6d7f11 region in spec 2022-09-09 01:22:04 +00:00
Damodar Lohani 0848815485 remove other regions 2022-09-09 01:00:51 +00:00
Damodar Lohani 4f257f9e7e linter fix 2022-09-09 01:00:27 +00:00
Jake Barnby 7132e3a7f6 Assign member role for all of a users confirmed team memberships 2022-09-09 11:58:54 +12:00
Steven Nguyen ddd15921a3 Update V15 request filters
Request filters are in place for the following services:
* account
* databases
* functions
* projects
2022-09-08 23:55:29 +00:00
Steven Nguyen 256f83b7ea Fix and so they are datetime instead of string 2022-09-08 22:18:36 +00:00
Torsten Dittmann b19b9d450f feat: migration of 1.0.0 2022-09-08 18:46:18 +02:00
shimon 6507bf9fad add-route 2022-09-08 16:36:39 +03:00
shimon 812cd9be76 add-route 2022-09-08 16:18:56 +03:00
shimon 9665d3a106 add-route 2022-09-08 16:13:00 +03:00
shimon 342c4a3253 audits.resource label update 2022-09-08 16:06:16 +03:00
shimon 5652e2d94f audits.resource label update 2022-09-08 15:16:54 +03:00
shimon 834e4e03e3 Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label-desc-decoupling
 Conflicts:
	app/controllers/api/storage.php
2022-09-08 15:13:22 +03:00
Bradley Schofield 7d3829e35f Update V15.php 2022-09-08 12:33:20 +01:00
Damodar Lohani 7207d6ab7a default region 2022-09-08 07:20:42 +00:00
Damodar Lohani ed81ff1263 regions using config instead 2022-09-08 07:19:14 +00:00
Damodar Lohani f46327d206 description 2022-09-08 06:25:54 +00:00
Damodar Lohani cf1c9452c1 region in UI 2022-09-08 06:24:58 +00:00
Eldad A. FuxandGitHub 58ead53492 Merge pull request #3780 from appwrite/fix-storage-audit-resources
Make storage audit resources consistent with other resources
2022-09-08 09:09:09 +03:00
Damodar Lohani 8450a0c213 region in UI 2022-09-08 05:24:46 +00:00
Jake Barnby 15939bb155 Merge remote-tracking branch 'origin/0.16.x' into fix-storage-audit-resources 2022-09-08 17:24:00 +12:00
Jake Barnby 14164e7a19 Merge remote-tracking branch 'origin/0.16.x' into fix-enter-submit-collection-settings 2022-09-08 17:23:42 +12:00
Eldad A. FuxandGitHub 83f238867f Merge pull request #3788 from appwrite/fix-lint-action
Fix lint action
2022-09-08 08:22:21 +03:00
Damodar Lohani 119344031a region on endpoint 2022-09-08 05:04:16 +00:00
Jake Barnby 3e8da28e70 Run with docker raw 2022-09-08 17:00:11 +12:00
Eldad A. FuxandGitHub 28100545b5 Merge pull request #3774 from appwrite/0.16.shmuel.1
0.16.shmuel.1
2022-09-08 07:59:55 +03:00
Damodar Lohani fafef03512 region attribute on project 2022-09-08 04:53:46 +00:00
Jake Barnby 801898a9e2 Use composer container 2022-09-08 16:52:33 +12:00
Damodar Lohani 349833573f region environment variables 2022-09-08 04:51:08 +00:00
Jake Barnby e4c1188498 Use composer directly 2022-09-08 16:47:47 +12:00
Jake Barnby 33ab9ada96 Run lint with docker 2022-09-08 16:26:33 +12:00
Jake Barnby 0892669566 Disable autocomplete 2022-09-08 15:51:34 +12:00
Jake Barnby a9124e45b2 Prevent enter event propagation from permissions role input 2022-09-08 15:02:34 +12:00
Jake Barnby 6ac2493445 Add retry for update account recovery 2022-09-08 10:37:58 +12:00
Eldad A. FuxandGitHub 30e18d43a2 Merge pull request #3781 from appwrite/fix-async-default-value
Update createExecution param default value
2022-09-07 21:39:46 +03:00
Eldad A. FuxandGitHub b271a5349b Merge pull request #3783 from appwrite/fix-response-syntax
Fixed response syntax with new FW version
2022-09-07 21:38:35 +03:00
Christy Jacob f7b7a43f7d feat: fix margin on collection settings 2022-09-07 16:33:46 +00:00
fogelito 53d6961529 composer.lock 2022-09-07 19:06:05 +03:00
fogelito f01a473b4e remove mounts 2022-09-07 18:41:17 +03:00
Christy JacobandGitHub 000f377845 Merge pull request #3775 from appwrite/fix-storage-ui
Image covering css bug fix
2022-09-07 16:14:32 +04:00
Matej Bačo 72068d5a93 Disable 6th cert renew attempt 2022-09-07 11:57:08 +00:00
Eldad Fux c442a5bce2 Fix linter test 2022-09-07 14:23:57 +03:00
Eldad A. FuxandGitHub 61a852affd Merge pull request #3779 from appwrite/fix-filesecurity-response-type
Fix filesecurity response type
2022-09-07 14:16:26 +03:00
Eldad Fux c22c28bc67 Fixed indentation 2022-09-07 14:14:53 +03:00
Eldad Fux 01fb4045bd Sync with 0.16 2022-09-07 14:11:10 +03:00
Eldad Fux 1f17fb34e4 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into fix-response-syntax 2022-09-07 14:07:40 +03:00
Eldad Fux 0895a25615 Fixed response syntax with new FW version 2022-09-07 14:02:36 +03:00
Matej Bačo e23752d4f3 Improve certbot communication 2022-09-07 10:44:57 +00:00
Bradley Schofield 80e60d9d95 Update V15.php 2022-09-07 11:26:22 +01:00
fogelito b4b3cc6e26 remove mounts 2022-09-07 13:00:44 +03:00
fogelito 6918e8fdd7 remove mounts 2022-09-07 12:58:02 +03:00
Matej Bačo e2444734fd Fix certificate worker and retries 2022-09-07 08:58:35 +00:00
Torsten Dittmann ee80bf7ca7 feat: introduce 1.0.0 migration 2022-09-07 10:43:05 +02:00
Matej Bačo d4d20961e3 Update CHANGES.md PR link 2022-09-07 08:27:13 +00:00
Matej Bačo e9c29a4812 Update createExecution param default value 2022-09-07 08:24:49 +00:00
Jake Barnby 9665ec09e7 Make storage audit resources consistent with other resources 2022-09-07 20:22:25 +12:00
Jake Barnby 80d57521aa Fix fileSecurity response model default 2022-09-07 18:49:48 +12:00
Jake Barnby 5eaabe316c Fix fileSecurity response model type 2022-09-07 18:47:32 +12:00
af1d1dd7a2 Update docs/sdks/apple/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:06:59 +05:45
f18707c3a0 Update docs/sdks/python/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:06:51 +05:45
b7e9d4894e Update docs/sdks/kotlin/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:06:43 +05:45
90e05fec87 Update docs/sdks/dotnet/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:06:38 +05:45
0fd027b957 Update docs/sdks/dotnet/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:06:33 +05:45
4acd4a03d3 Update docs/sdks/apple/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:06:02 +05:45
a342a77caf Update docs/sdks/apple/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:05:56 +05:45
50d20f7e84 Update docs/sdks/android/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:05:50 +05:45
e24d789510 Update docs/sdks/apple/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:05:44 +05:45
fb3ba9a475 Update docs/sdks/android/GETTING_STARTED.md
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-09-07 11:05:38 +05:45
Damodar LohaniandGitHub 129c69ddac Merge pull request #3778 from appwrite/doc-swift-dir-fix 2022-09-07 10:18:39 +05:45
Jake Barnby cb8688a8c3 Update and move swift getting started docs to right location 2022-09-07 14:43:50 +12:00
Damodar Lohani eb0b33bfcd Fix code examples in SDK getting started 2022-09-07 02:12:04 +00:00
fogelito 1d667dadad mount database lib 2022-09-06 21:08:55 +03:00
fogelito 4604578864 Merge branch '0.16.x' of github.com:appwrite/appwrite into 0.16.shmuel.1
 Conflicts:
	composer.lock
2022-09-06 21:03:47 +03:00
fogelito 4c310a4c36 mount database lib 2022-09-06 21:02:14 +03:00
Christy Jacob 2634c5ae19 feat: update specs and platforms 2022-09-06 21:21:07 +04:00
fogelito 97b261284f mount database lib 2022-09-06 19:40:38 +03:00
fogelito 85bf2f77e0 composer 2022-09-06 19:15:15 +03:00
fogelito 2f2f96d2f3 composer 2022-09-06 19:05:00 +03:00
fogelito bdb64031f3 composer 2022-09-06 18:35:25 +03:00
fogelito a08c6f8235 Merge branch '0.16.x' of github.com:appwrite/appwrite into 0.16.shmuel.1
 Conflicts:
	composer.json
	composer.lock
2022-09-06 18:28:23 +03:00
fogelito 51f2cb8a64 composer 2022-09-06 17:55:40 +03:00
fogelito 780134d18d composer 2022-09-06 17:55:31 +03:00
Matej Bačo 0fcdc800e1 Image covering css bug fix 2022-09-06 14:52:03 +00:00
fogelito ecb8717672 fix-5permissions pr 2022-09-06 17:35:25 +03:00
Christy JacobandGitHub 858d1a7d66 Merge pull request #3759 from appwrite/fix-write-permission-not-allowed
Fix write permission not allowed on documents/files
2022-09-06 17:47:52 +04:00
Matej Bačo c4496e6d43 Upgrade database lib version 2022-09-06 12:49:20 +00:00
Jake Barnby 4590c464ef Use write const 2022-09-06 21:17:25 +12:00
Jake Barnby 477dbbb909 Update write helper usages 2022-09-06 21:13:42 +12:00
Jake Barnby 95c5d7eb39 Update db + abuse + audit 2022-09-06 21:11:31 +12:00
Matej Bačo 39434c3fec Fix datetime attribute default 2022-09-06 09:07:39 +00:00
Matej Bačo d5d5c95507 Timezone awareness for datetime input 2022-09-06 09:07:29 +00:00
Damodar Lohani c4796bedd9 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-09-06 07:18:12 +00:00
Jake Barnby 713ca7d55a Retry sync execution twice 2022-09-06 16:42:46 +12:00
Jake Barnby e8a8069a67 Fix realtime test 2022-09-06 16:13:24 +12:00
Jake Barnby 02f54eca65 Fix tests 2022-09-06 13:02:32 +12:00
Jake Barnby 27af4e3b7c Merge remote-tracking branch 'origin/0.16.x' into fix-write-permission-not-allowed
# Conflicts:
#	composer.lock
2022-09-06 12:28:57 +12:00
Christy JacobandGitHub 5a7655ce06 Merge pull request #3768 from appwrite/fix-changes-description
Fix read more placement of changes.md
2022-09-05 23:00:00 +04:00
Matej Bačo 5b1a512e1e Fix read more placement of changes.md 2022-09-05 18:59:13 +00:00
Christy JacobandGitHub 3ad6ca0992 Merge pull request #3767 from appwrite/changelog-0.16.x
Changelog 0.16.x
2022-09-05 22:20:22 +04:00
Bradley Schofield 12ee240695 Update CHANGES.md 2022-09-05 18:44:11 +01:00
Christy JacobandGitHub 9113df9ba3 Merge pull request #3766 from appwrite/update-sdk-generator
feat: update for 1.0.0-RC1
2022-09-05 20:26:57 +04:00
Christy Jacob cc124bf211 feat: update for 1.0.0-RC1 2022-09-05 20:11:55 +04:00
Christy JacobandGitHub c63feef171 Merge pull request #3765 from appwrite/fix-ui-missing-document-id
fix: ui missing database id from document activity
2022-09-05 20:00:29 +04:00
Bradley Schofield a04a968def Update permission to use permission class 2022-09-05 16:48:10 +01:00
Torsten Dittmann 3b6098b5e8 fix: ui missing database id from document activity 2022-09-05 17:46:09 +02:00
Bradley Schofield 5294f86595 Run Linter 2022-09-05 13:43:36 +01:00
Bradley Schofield 8bc570b0a5 Merge branch '0.16.x' into feat-response-filters-0.16.x 2022-09-05 13:42:46 +01:00
Christy JacobandGitHub 7105e6c3e8 Merge pull request #3762 from appwrite/feat-new-profile-img-theme
Feat new profile image theme
2022-09-05 16:26:10 +04:00
Christy JacobandGitHub ea544efba8 Merge pull request #3763 from appwrite/fix-variable-name-nowrap
Small fix to make variable keys wrap in UI
2022-09-05 16:26:00 +04:00
Bradley Schofield 9e0e2f8e77 Add Tests
+ Added Tests
+ Remove unneeded rand variable
2022-09-05 11:21:04 +01:00
Bradley Schofield 05c9640658 Small fix to make variable keys wrap in UI 2022-09-05 10:48:07 +01:00
Christy JacobandGitHub 8ed9ed853d Merge pull request #3761 from appwrite/fix-cors-headers
Fix: Cors headers
2022-09-05 13:40:52 +04:00
Matej Bačo 04b9311190 Use correct icon 2022-09-05 09:37:21 +00:00
Bradley Schofield 37530d30df Remove color param and fix bug 2022-09-05 10:36:01 +01:00
Bradley Schofield ea51786192 Modify profile images to suit new theme 2022-09-05 10:24:56 +01:00
Matej Bačo c7780c5fe6 Update allowed headers with new SDK headers 2022-09-05 08:08:24 +00:00
shimon 1362902082 audit event name reformation 2022-09-05 11:00:08 +03:00
Jake Barnby e55faff0a1 Fix tests 2022-09-05 19:51:33 +12:00
Damodar Lohani 0b42a564b0 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-09-05 06:52:41 +00:00
Jake Barnby a861b174a2 Add allowed permissions tests 2022-09-05 14:16:40 +12:00
Jake Barnby 5c08e066aa Fix allowed permissions for documents/files 2022-09-05 13:41:01 +12:00
Christy JacobandGitHub 34b3218d83 Merge pull request #3758 from appwrite/update-datetime-description
feat: update datetime description
2022-09-05 01:44:43 +04:00
Christy Jacob 614985c837 feat: update specs 2022-09-05 01:43:01 +04:00
Christy Jacob ccabbc4fdf feat: update datetime descriptions 2022-09-05 01:41:26 +04:00
Christy Jacob 6df57b7975 feat: update descriptions 2022-09-05 01:33:52 +04:00
Christy Jacob d5028e601e feat: update datetime description 2022-09-05 01:26:16 +04:00
Christy Jacob fed981681a feat: update specs and sdks 2022-09-05 00:56:13 +04:00
Torsten DittmannandGitHub bcd05bf5a7 ci: force buildkit and settings 2022-09-04 22:23:38 +02:00
Torsten DittmannandGitHub 683a691bf9 ci: update github actions to use github hosted runners 2022-09-04 22:05:30 +02:00
Christy Jacob 06603e53ca feat: udpate sdk version 2022-09-04 21:43:15 +04:00
shimon eabc90ec49 decouple audits log from events 2022-09-04 17:53:37 +03:00
shimon db715f3e7d decouple audits log from events 2022-09-04 13:31:38 +03:00
shimon f63c740917 decouple audits log from events 2022-09-04 11:45:53 +03:00
shimon 2c9b749f72 account labels 2022-09-04 11:23:24 +03:00
shimon 5ea0816540 account labels 2022-09-04 11:17:53 +03:00
shimon 5d16c39d5f account labels 2022-09-04 11:13:44 +03:00
shimon 8e1dc84a48 account labels 2022-09-04 10:32:56 +03:00
Eldad A. FuxandGitHub 29d448c690 Merge pull request #3751 from appwrite/fix-rc-qa
Fix RC QA
2022-09-04 08:26:40 +03:00
Jake Barnby f0c61bc4a7 Fix bucket compression default 2022-09-04 16:51:19 +12:00
Eldad A. FuxandGitHub b6b2961d4e Merge pull request #3752 from appwrite/lohanidamodar-mock-headers-endpoint
mock headers endpoint
2022-09-04 07:36:33 +03:00
Damodar LohaniandGitHub 4b5747c730 mock headers endpoint 2022-09-04 06:52:15 +05:45
Jake Barnby 1896193718 Fix missed optional updates 2022-09-03 12:44:33 +12:00
Jake Barnby f4f178d3bf Merge remote-tracking branch 'origin/rc-qa-matej' into fix-rc-qa 2022-09-03 11:44:14 +12:00
Jake Barnby 8639091d06 Fix attribute models 2022-09-03 11:19:20 +12:00
Matej Bačo ae2826ad1f Bug fixes 2022-09-02 14:19:36 +00:00
Matej BačoandGitHub a847a37a83 Merge pull request #3749 from appwrite/fix-permission-ui
Permission Table - Fix trim bug on <th> elements on Chrome/Firefox be…
2022-09-02 12:22:29 +02:00
Elad Shechter 78daf314bd Permission Table - Fix trim bug on <th> elements on Chrome/Firefox beoswers 2022-09-02 17:05:04 +07:00
Jake Barnby ddcb68c944 Make document/file security optional for create collection/bucket 2022-09-02 15:39:54 +12:00
Matej Bačo c3d04848f4 Mark permissions optional param 2022-09-01 13:14:15 +00:00
Christy JacobandGitHub c5c3b2ecf0 Merge pull request #3747 from appwrite/chore-sync-master
Chore sync master
2022-09-01 14:18:51 +02:00
Jake Barnby d0c8563fbf Merge remote-tracking branch 'origin/master' into chore-sync-master
# Conflicts:
#	app/config/platforms.php
#	composer.lock
2022-09-02 00:12:22 +12:00
Damodar Lohani 53c784a6fb Merge branch 'feat-release-preps' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-09-01 12:00:13 +00:00
Christy JacobandGitHub 687ba70f77 Merge pull request #3745 from appwrite/feat-release-preps
Feat: Release preparations
2022-09-01 14:00:11 +02:00
Christy Jacob 0d26185c38 feat: update console sdk 2022-09-01 11:41:13 +00:00
Christy Jacob 6b26e36c17 feat: update examples 2022-09-01 11:18:57 +00:00
Christy Jacob 73bae25a3f update sdk versions 2022-09-01 11:16:17 +00:00
Christy JacobandGitHub 26b6584a39 Merge pull request #3738 from appwrite/fix-unaccepted-invitation-access
Fix unaccepted invitations giving access to projects
2022-09-01 12:50:14 +02:00
Bradley Schofield 4e3bfc81b6 Merge branch '0.16.x' into fix-unaccepted-invitation-access 2022-09-01 10:17:11 +01:00
Matej Bačo 272c62e893 Format fix 2022-09-01 09:15:43 +00:00
Matej Bačo 0ce1e5fa51 Update realtime tests for new confirmation check 2022-09-01 09:15:09 +00:00
Matej Bačo 3bb836a101 Update tests to support new confirmation check 2022-09-01 09:09:38 +00:00
Matej Bačo 646bbdf489 Join tests to resolve race condition 2022-09-01 09:09:28 +00:00
Christy Jacob 4ee3385f53 feat: import IDs in mock endpoint 2022-09-01 08:55:16 +00:00
Eldad A. FuxandGitHub 007ae1fcfc Merge pull request #3726 from appwrite/doc-flutter-webauth-dependency-change
Flutter/Dart Release changes
2022-09-01 09:19:03 +03:00
Matej Bačo ebdef8afa7 Linter fix 2022-09-01 05:26:49 +00:00
Matej Bačo 2386381d03 Fix tests 2022-09-01 05:26:16 +00:00
Matej Bačo d9c6f892c7 Release preps - console SDK update 2022-09-01 04:52:52 +00:00
Matej Bačo eb1fdcec73 Generate release docs examples 2022-09-01 04:49:47 +00:00
Matej Bačo c47e76fd50 Generate release specs 2022-09-01 04:49:24 +00:00
Matej Bačo 432bfe96ac New version preparation 2022-09-01 04:41:50 +00:00
Damodar Lohani 214018be4b fix doc changes 2022-09-01 00:58:45 +00:00
Bradley Schofield b16053bbdf Merge branch '0.16.x' into fix-unaccepted-invitation-access 2022-08-31 18:29:38 +01:00
Bradley Schofield efa4824db6 Add Tests 2022-08-31 18:27:32 +01:00
Christy JacobandGitHub e5a9195e66 Merge pull request #3736 from appwrite/refactor-cache-date
Refactor cache date
2022-08-31 19:00:36 +02:00
Christy JacobandGitHub 9f5ae4d628 Merge pull request #3742 from appwrite/fix-ui-with-queries-v2
Fix: UI with queries v2
2022-08-31 18:59:24 +02:00
Matej Bačo 6cd1b94935 Fix failing tests 2022-08-31 16:18:41 +00:00
Matej Bačo a0c0a7439e Add tests for project queries 2022-08-31 16:00:14 +00:00
Matej Bačo 2e00fd5d4f Update after merge conflicts. 2022-08-31 13:35:42 +00:00
Matej Bačo a85a471d3b Merge remote-tracking branch 'origin/0.16.x' into fix-ui-with-queries-v2 2022-08-31 13:33:18 +00:00
Matej Bačo 6600f08059 Fix open api test 2022-08-31 13:32:34 +00:00
Christy JacobandGitHub 07b62cfbd3 Merge pull request #3737 from appwrite/feat-additional-compression-support
Expose and introduce File Compression support
2022-08-31 15:28:56 +02:00
Damodar Lohani 505dd333c4 composer update 2022-08-31 13:22:10 +00:00
Damodar Lohani 5900387237 fix zstd build 2022-08-31 13:21:52 +00:00
Damodar Lohani 8fe365d66e Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-additional-compression-support 2022-08-31 13:21:45 +00:00
shimon 94ad09b53f const update 2022-08-31 16:11:23 +03:00
shimon f7da33a873 Merge branch '0.16.x' of github.com:appwrite/appwrite into refactor-cache-date 2022-08-31 16:09:42 +03:00
shimon dab844308b dateTime bug fix in the deletes worker
dateTime small fix
2022-08-31 16:07:27 +03:00
Matej Bačo b9a26efa80 Revert unwanted change 2022-08-31 12:56:50 +00:00
Matej Bačo dccb9b7291 Merge remote-tracking branch 'origin/0.16.x' into fix-ui-with-queries-v2 2022-08-31 12:38:40 +00:00
Christy JacobandGitHub 0438e830b0 Merge pull request #3634 from appwrite/feat-variables-api
Implement Function Variable API
2022-08-31 14:37:30 +02:00
Matej Bačo d5997d92c3 Updated all UI components for new queries V2. introduced queries to listProjects 2022-08-31 12:30:16 +00:00
Damodar Lohani 7b5cee8da9 fix description to use markdown for links 2022-08-31 10:24:13 +00:00
Damodar Lohani d647bdaf9e update compression attribute description 2022-08-31 09:55:55 +00:00
Damodar Lohani 67f38d0644 compression type constants 2022-08-31 09:51:20 +00:00
Damodar Lohani 4bc022736c fix zstd extension to commit hash 2022-08-31 09:45:47 +00:00
Damodar Lohani 0129209eb0 storage version update 2022-08-31 09:37:58 +00:00
Matej Bačo 39a39a8603 Revert unnessessary changes 2022-08-31 09:27:24 +00:00
Matej Bačo 3ba8ee4ec8 PoC of new query pagination 2022-08-31 09:22:43 +00:00
shimon b2023020e0 Merge branch '0.16.x' of github.com:appwrite/appwrite into refactor-cache-date 2022-08-31 11:53:16 +03:00
shimon 5e6c288c2b dateTime 2022-08-31 11:52:55 +03:00
Christy JacobandGitHub 5a58312b53 Merge pull request #3741 from appwrite/refactor-guest-rate-limits
Refactor guest rate limits
2022-08-31 10:41:23 +02:00
shimon bc786cdb86 Merge branch '0.16.x' of github.com:appwrite/appwrite into refactor-cache-date 2022-08-31 10:42:55 +03:00
Matej BačoandGitHub 0897cd0fe4 Merge branch '0.16.x' into feat-variables-api 2022-08-31 09:37:47 +02:00
Matej Bačo 3fc2e70007 updateVariable 'key' param marked as required 2022-08-31 07:33:43 +00:00
Christy JacobandGitHub 054516d5c5 Merge pull request #3740 from appwrite/fix-resets
Fix reset error
2022-08-31 09:15:59 +02:00
Jake Barnby 7ea521665c Revert "Allow CI to use a custom env"
This reverts commit d1b5c69ba1.

# Conflicts:
#	.env.test
2022-08-31 18:52:16 +12:00
Jake Barnby e16cbe6a11 Disable abuse tests on CI 2022-08-31 18:30:07 +12:00
Jake Barnby d1b5c69ba1 Allow CI to use a custom env 2022-08-31 16:08:33 +12:00
Jake Barnby 8fcb091f37 Add resource write abuse limit tests 2022-08-31 16:06:36 +12:00
Jake Barnby ce28dd8201 Use route method in abuse key for guest writes 2022-08-31 15:58:32 +12:00
Jake Barnby 8da011ad78 Ensure abuse hit counter is not increased for admin/API keys 2022-08-31 15:50:53 +12:00
Jake Barnby 1273f4c9b7 Allow using route method in abuse key 2022-08-31 15:49:44 +12:00
d2ec87de2c Update Dockerfile
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-31 09:11:21 +05:45
Damodar Lohani e4a4b0165f compression in bucket settings UI 2022-08-31 03:25:07 +00:00
Damodar Lohani 0a3a69b7dc update console sdk 2022-08-31 03:23:52 +00:00
Damodar Lohani 69ed468ec3 spec update 2022-08-31 03:20:59 +00:00
Damodar Lohani b17f537a4c make id unique 2022-08-31 03:04:11 +00:00
Damodar Lohani 02b0ed118f preview test for zstd compression 2022-08-31 03:03:51 +00:00
Damodar Lohani 594b66c18a fix missing break 2022-08-31 02:59:51 +00:00
Damodar Lohani bc7ec3854f linter fix 2022-08-31 02:56:44 +00:00
Damodar Lohani 63f95c0a5c Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-additional-compression-support 2022-08-31 02:55:26 +00:00
Damodar Lohani 77c72970e8 ZSTD compression test 2022-08-31 02:49:13 +00:00
Damodar Lohani 4ba8e725ea compression attribute on default bucket 2022-08-31 02:29:06 +00:00
Damodar Lohani e54125a6f5 zstd extension in dockerfile 2022-08-31 02:09:08 +00:00
Jake Barnby b1cb6ab9bc Add single retry to all usage tests 2022-08-31 11:35:46 +12:00
Jake Barnby 190d9684f0 Use consts for rate limit count + period 2022-08-31 11:34:17 +12:00
Jake Barnby 1d4866c5b5 Use IP + User ID as abuse key for create routes 2022-08-31 11:33:19 +12:00
Jake Barnby b9148d380b Fix only variables can passed by reference errors 2022-08-31 11:31:43 +12:00
Christy JacobandGitHub a87724ed1a Merge pull request #3641 from appwrite/feat-improve-keys
feat: add new attributes for API Keys
2022-08-30 20:46:50 +02:00
Christy Jacob 3ee3954043 feat: linter 2022-08-30 18:26:02 +00:00
Matej Bačo f6a0949d14 WIP: Introduce queries to UI 2022-08-30 17:51:39 +00:00
Christy Jacob fe8295c2ec Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-improve-keys 2022-08-30 17:35:46 +00:00
Christy Jacob 422cedf718 feat: fix tests 2022-08-30 17:33:54 +00:00
Bradley Schofield 9b3e333134 Fix unaccepted invitations giving access to projects 2022-08-30 16:53:57 +01:00
Christy Jacob dcdfcce3fe feat: added tests 2022-08-30 14:04:42 +00:00
Damodar Lohani 2d1741504a compression on update bucket endpoint 2022-08-30 13:50:38 +00:00
Damodar Lohani 5fa7d34757 zstd compression support on endpoints 2022-08-30 13:46:55 +00:00
Christy JacobandGitHub faaf233153 Merge pull request #3729 from appwrite/fix-permissions-ui
Fix + improve permissions UI
2022-08-30 15:01:02 +02:00
Christy JacobandGitHub 7591f68970 Merge pull request #3702 from appwrite/feat-list-endpoints-queries
Feat: List endpoint queries
2022-08-30 14:56:09 +02:00
Damodar Lohani 6c04550558 compression attribute on create bucket endpoint 2022-08-30 12:55:26 +00:00
Damodar Lohani 5666002ff2 compression attribute on bucket collection 2022-08-30 12:52:53 +00:00
shimon cee77ef5a1 timestamp -> datetime on file cache 2022-08-30 15:52:26 +03:00
shimon 67d46e8d05 Merge branch '0.16.x' of github.com:appwrite/appwrite into refactor-cache-date 2022-08-30 15:47:03 +03:00
shimon 97a957e17a timestamp -> datetime on file cache 2022-08-30 15:46:27 +03:00
shimon 69066cfc5e timestamp -> datetime on file cache 2022-08-30 15:44:37 +03:00
Matej Bačo 1e95346205 PR review changes 2022-08-30 12:30:52 +00:00
Christy Jacob 574a993f59 feat: update dependencies 2022-08-30 12:10:07 +00:00
Christy JacobandGitHub 5785212d28 Merge pull request #3720 from appwrite/feat-allow-automatic-test-retries
Allow flaky tests to be automatically retried with an attribute
2022-08-30 14:00:38 +02:00
Matej BačoandGitHub 63c02677a0 PR review changes 2022-08-30 13:55:23 +02:00
shimon b96b2ea2fb Merge branch '0.16.x' of github.com:appwrite/appwrite into refactor-cache-date 2022-08-30 14:30:58 +03:00
Christy JacobandGitHub 3da3e2100c Merge pull request #3727 from appwrite/feat-allow-guest-writes
Allow guest write scope for document, file and execution
2022-08-30 13:28:51 +02:00
Jake Barnby 22f0468c8e Merge remote-tracking branch 'origin/0.16.x' into feat-allow-automatic-test-retries
# Conflicts:
#	app/controllers/api/teams.php
#	package-lock.json
#	package.json
#	tests/e2e/Services/Teams/TeamsBase.php
2022-08-30 23:14:28 +12:00
Jake Barnby 691b9ef417 Fix count name ref 2022-08-30 23:12:58 +12:00
Jake Barnby f4d916a4d2 Rename FlakyTest attribute to Retry 2022-08-30 23:10:15 +12:00
Christy JacobandGitHub c58dd9f741 Merge pull request #3734 from appwrite/fix-console-locale
Fix console date service locale usage
2022-08-30 12:47:47 +02:00
Christy JacobandGitHub fc3376cbe4 Merge pull request #3735 from appwrite/update-swagger-default-datetime
Update specs datetime example
2022-08-30 12:47:30 +02:00
Jake Barnby f0bce98d91 Update specs to use const datetime example 2022-08-30 21:38:27 +12:00
Jake Barnby 8c5948950d Use browser locale and timezone for date service 2022-08-30 21:36:03 +12:00
Matej Bačo e6ccfb6dd7 Improve variables CRUD tests 2022-08-30 09:31:32 +00:00
Christy JacobandGitHub 177354407a Merge pull request #3689 from appwrite/feat-list-users-queries 2022-08-30 13:19:56 +04:00
Matej Bačo b8f6393df6 PR review changes 2022-08-30 08:57:10 +00:00
Matej Bačo 2b3dc48bf1 PR review changes 2022-08-30 08:21:34 +00:00
Matej Bačo 2534e9ad8f Remove unnessessary internal queries 2022-08-30 08:20:54 +00:00
Matej Bačo 087b7df52a Failure tests for variables 2022-08-30 07:53:16 +00:00
Matej Bačo 6df1d35712 PR review changes 2022-08-30 07:30:23 +00:00
677121edca Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:29:30 +02:00
471cac8187 Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:29:20 +02:00
ce334b9518 Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:29:09 +02:00
8620b1f3a0 Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:28:48 +02:00
e5a63a5078 Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:28:37 +02:00
8ec8843a09 Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:28:27 +02:00
6cf3cdcadb Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:28:20 +02:00
4b50fe3f15 Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:28:09 +02:00
ce5c8d6817 Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:28:01 +02:00
3e2a7e2941 Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:27:54 +02:00
883207240c Update app/controllers/api/functions.php
Co-authored-by: Jake Barnby <jakeb994@gmail.com>
2022-08-30 09:27:44 +02:00
Eldad A. FuxandGitHub 92783527c2 Merge pull request #3725 from appwrite/chore-sync-master
Sync master
2022-08-30 09:14:15 +03:00
Damodar Lohani 001e12b274 fix format 2022-08-30 03:59:03 +00:00
Damodar Lohani 6039ee0b0f update change log windows support 2022-08-30 03:57:56 +00:00
Damodar Lohani f50cd14bd8 revert back sdk-generator 2022-08-30 03:37:38 +00:00
Damodar Lohani 7a2f90b5bf flutter changelog updated 2022-08-30 03:05:31 +00:00
Damodar Lohani 32a8232689 dart changelogs 2022-08-30 02:35:36 +00:00
Damodar Lohani 848c36aef4 upgrade sdk versions 2022-08-30 02:08:01 +00:00
Jake Barnby 938f8394e0 Add abuse limits for create/update/delete document/file 2022-08-30 00:49:01 +12:00
Damodar Lohani 3f9bbd5fc7 docs update 2022-08-29 12:09:22 +00:00
Jake Barnby 583de3a505 Fix new document route permissions view params 2022-08-30 00:03:18 +12:00
Damodar Lohani 60c05fad25 sdk-generator 2022-08-29 11:34:10 +00:00
Matej Bačo ad0e856e1b Merge branch 'feat-variables-api' into feat-list-endpoints-queries 2022-08-29 10:28:25 +00:00
Matej Bačo cdbfe4ae10 Variabe name bug fix 2022-08-29 10:27:56 +00:00
Jake Barnby 1974c422ce Reset custom validity before validation check 2022-08-29 22:27:54 +12:00
Jake Barnby 3da244b3dd Widen update file modal to fit permissions matrix 2022-08-29 22:27:07 +12:00
Jake Barnby f36fccfdea Remove default form names 2022-08-29 22:25:39 +12:00
Jake Barnby f54b6b2ebc Allowed permissions console params opt in instead of out 2022-08-29 22:25:00 +12:00
Jake Barnby 47db8f5bf1 Explicitly set form names for bucket/document 2022-08-29 22:24:04 +12:00
Matej Bačo 79eb351381 Merge remote-tracking branch 'origin/feat-list-endpoints-queries' into feat-variables-api 2022-08-29 10:08:44 +00:00
Matej Bačo 99b95cfb74 Fix bug after merge conflict 2022-08-29 10:05:11 +00:00
Matej Bačo 3ab275201a Merge remote-tracking branch 'origin/feat-list-users-queries' into feat-list-endpoints-queries 2022-08-29 09:33:18 +00:00
Matej Bačo 56282fb2fa Fix users logs test 2022-08-29 09:16:18 +00:00
Matej Bačo 951ed70fb0 Merge branch 'feat-list-endpoints-queries' into feat-variables-api 2022-08-29 08:56:14 +00:00
Matej Bačo 889eaff418 Merge remote-tracking branch 'origin/feat-list-users-queries' into feat-list-endpoints-queries 2022-08-29 08:52:28 +00:00
Matej Bačo 6b5a0cbd4f Fix bug after merge comflict 2022-08-29 08:49:00 +00:00
Jake Barnby 6db0e3ac3c More space for role input 2022-08-29 18:42:43 +12:00
Jake Barnby ccfd104545 Allow guest write scope for document, file and execution 2022-08-29 17:53:37 +12:00
Jake Barnby 4756b44cbe Update app script 2022-08-29 16:03:31 +12:00
Jake Barnby 74969ed606 Disallow rows with no permissions set 2022-08-29 15:21:42 +12:00
Jake Barnby 90dae04fb7 Disallow multiple entries for the same role 2022-08-29 15:20:33 +12:00
Jake Barnby 33152c7bb1 Use secondary button for add row 2022-08-29 15:18:18 +12:00
Jake Barnby 98cdb38c49 Ensure add row events are local component only 2022-08-29 15:17:34 +12:00
Jake Barnby 9a1ece5f13 Fix resetting permissions after file create 2022-08-29 15:12:20 +12:00
Damodar LohaniandGitHub aa96ede848 updated flutter getting started 2022-08-28 10:22:23 +05:45
Jake Barnby 3a5db3e45f Add flaky test to account update password 2022-08-28 12:45:37 +12:00
Jake Barnby 44970cc628 Sync master 2022-08-28 11:01:46 +12:00
Christy Jacob 793fbff7f5 feat: update dependencies 2022-08-27 20:23:20 +00:00
Christy Jacob f6e7d00b1e Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-list-users-queries 2022-08-27 20:21:51 +00:00
Christy Jacob 8cacf91e09 feat: fix stats test namespace 2022-08-27 20:08:03 +00:00
Christy Jacob 25d9c8e501 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-improve-keys 2022-08-27 20:03:15 +00:00
Christy JacobandGitHub 6dade9e758 Merge pull request #3723 from appwrite/chore-update-libs
Update database, audit, abuse
2022-08-27 16:27:03 +05:30
Jake Barnby cab456aaff Update database, audit, abuse 2022-08-27 22:09:49 +12:00
Christy JacobandGitHub d97c3a09ca Merge pull request #3700 from appwrite/refactor-permissions-inc-console-fix
Refactor permissions
2022-08-27 14:23:27 +05:30
Jake Barnby 0389be522e Only give current user create access in create collection test 2022-08-27 20:29:32 +12:00
Jake Barnby 55450a5ebc Add missing toString calls 2022-08-27 16:06:38 +12:00
Jake Barnby 7f007c2ff4 Lock update 2022-08-27 15:24:12 +12:00
Jake Barnby 8282a9769d Fix unit tests 2022-08-27 15:23:39 +12:00
Jake Barnby a16cd37f1a Remove filter_var usage 2022-08-27 15:19:51 +12:00
Jake Barnby c531213a5f Doc updates 2022-08-27 15:19:00 +12:00
Jake Barnby 82bea82d94 Update passwordUpdate check 2022-08-27 15:17:48 +12:00
Jake Barnby 790276fced Review test updates 2022-08-27 15:16:37 +12:00
Jake Barnby d78795e7bd Fix project logo file permissions 2022-08-27 14:57:24 +12:00
Matej Bačo dca0b211f6 Implement queries into list variables 2022-08-26 13:38:39 +00:00
Jake Barnby bbeeb356ab Allow flaky tests to be automatically retried with an attribute 2022-08-26 21:21:08 +12:00
Matej Bačo 3b7ac045d7 Merge remote-tracking branch 'origin/feat-list-endpoints-queries' into feat-variables-api 2022-08-26 07:51:54 +00:00
Matej Bačo 7f0507473d Merge remote-tracking branch 'origin/feat-list-users-queries' into feat-list-endpoints-queries 2022-08-26 07:47:42 +00:00
Matej Bačo 281eb2fafe Merge remote-tracking branch 'origin/refactor-permissions-inc-console-fix' into feat-list-users-queries 2022-08-26 07:40:35 +00:00
Jake Barnby a679f2f767 Improve permission parameter descriptions 2022-08-26 16:37:06 +12:00
Jake Barnby f904698d66 Add permissions doc links to model rule descriptions 2022-08-26 16:34:05 +12:00
Jake Barnby a320e220c3 Console fixes 2022-08-26 15:34:26 +12:00
Jake Barnby 57048400dc Merge branch 'refactor-permissions-inc-console-fix' of github.com:appwrite/appwrite into refactor-permissions-inc-console-fix 2022-08-26 15:01:39 +12:00
Jake Barnby 593c62116c Review fixes 2022-08-26 15:01:16 +12:00
f945ab79ec Apply suggestions from code review
Co-authored-by: Damodar Lohani <lohanidamodar@users.noreply.github.com>
2022-08-26 14:52:25 +12:00
Jake Barnby 8307b2148f Remove redundant auth exceptions catches 2022-08-26 14:23:23 +12:00
Damodar LohaniandGitHub 8e26f93211 Merge pull request #3718 from appwrite/fix-usage-refactor-permissions 2022-08-26 06:29:38 +05:45
Steven 60a4563908 Fix usage tests 2022-08-25 22:15:11 +00:00
Matej Bačo 78f65401e8 Attempt to fix usage tests 2022-08-25 14:56:15 +00:00
Jake Barnby 31bd5cbeda Merge remote-tracking branch 'origin/origin/datetime-attributes' into refactor-permissions-inc-console-fix
# Conflicts:
#	app/tasks/maintenance.php
2022-08-26 00:10:11 +12:00
Jake Barnby e25fbd1c2a Fix default for usage params 2022-08-25 23:51:59 +12:00
Jake Barnby b12fc12caa Fix usage for datetime attributes 2022-08-25 23:49:45 +12:00
Jake Barnby 9ccffe9af2 Inherit permissions after role checks to ensure users can update document permissions created by server with other users roles 2022-08-25 23:46:56 +12:00
Matej Bačo 6dcfbe2e17 Fix tests 2022-08-25 11:33:34 +00:00
Jake Barnby 51e6d024ab Lock update 2022-08-25 23:30:54 +12:00
Jake Barnby e6e126dff4 Catch AuthorzationExceptions from database to throw 401 instead of 500 2022-08-25 23:30:26 +12:00
Jake Barnby a373297a6b Add storage tests for all roles and permission levels 2022-08-25 23:29:23 +12:00
Christy Jacob 9667ee28d1 feat: removed unused imports 2022-08-25 16:00:54 +05:30
Matej Bačo bc73b7bbf0 Fix bugs after merge 2022-08-25 10:28:13 +00:00
Matej Bačo e44efb43d1 Fix exception params 2022-08-25 10:13:36 +00:00
Matej Bačo 9d440552bd Merge remote-tracking branch 'origin/feat-list-endpoints-queries' into feat-variables-api 2022-08-25 10:02:27 +00:00
Matej Bačo c85363f355 Fix bugs after merge 2022-08-25 09:59:28 +00:00
fogelito ddabb540c1 fix maintenance.php setDatetime 2022-08-25 12:57:59 +03:00
Matej Bačo 6a22768c9c Merge remote-tracking branch 'origin/feat-list-users-queries' into feat-list-endpoints-queries 2022-08-25 09:35:06 +00:00
Matej Bačo 035e72edf7 Lockfile update 2022-08-25 09:34:59 +00:00
Matej Bačo f15f8e7bf0 Linter fix 2022-08-25 09:34:36 +00:00
Matej Baco 8513bb2dbe Merge branch 'feat-list-endpoints-queries' into feat-variables-api 2022-08-25 11:14:42 +02:00
Matej Baco fd1068a600 Merge branch 'feat-list-users-queries' into feat-list-endpoints-queries 2022-08-25 10:56:06 +02:00
Jake Barnby 7159f9c187 Merge remote-tracking branch 'origin/origin/datetime-attributes' into refactor-permissions-inc-console-fix
# Conflicts:
#	app/config/specs/open-api3-latest-client.json
#	app/config/specs/open-api3-latest-console.json
#	app/config/specs/open-api3-latest-server.json
#	app/config/specs/swagger2-latest-client.json
#	app/config/specs/swagger2-latest-console.json
#	app/config/specs/swagger2-latest-server.json
#	src/Appwrite/Usage/Calculators/Database.php
2022-08-25 20:53:52 +12:00
Matej Baco c6e614d896 Merge branch 'refactor-permissions-inc-console-fix' into feat-list-users-queries 2022-08-25 10:38:43 +02:00
fogelito 064d538023 Merge remote-tracking branch 'origin/origin/datetime-attributes' into origin/datetime-attributes 2022-08-25 11:14:48 +03:00
fogelito c30189f903 Vincent Changes Apply 2022-08-25 11:14:27 +03:00
deb5164eb3 Update src/Appwrite/Utopia/Response/Model/Func.php
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-08-25 11:11:17 +03:00
26a2569b8e Update src/Appwrite/Utopia/Response/Model/Func.php
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-08-25 11:11:08 +03:00
c04734048f Update app/controllers/api/databases.php
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-08-25 11:05:01 +03:00
shimon 38ad6fe1cc Merge branch '0.16.x' of github.com:appwrite/appwrite into refactor-cache-date 2022-08-25 09:57:33 +03:00
Jake Barnby 10b8b4b4f6 Format 2022-08-25 18:48:05 +12:00
Jake Barnby 292037f90b Fix datetime calculation 2022-08-25 18:47:19 +12:00
Jake Barnby ec3c2628b1 Fix datetime calculation 2022-08-25 18:45:05 +12:00
Jake Barnby 9f3dd54198 Fix merge clobber 2022-08-25 18:27:55 +12:00
Jake Barnby e7298b13b0 Merge remote-tracking branch 'origin/0.16.x' into origin/datetime-attributes
# Conflicts:
#	app/config/specs/open-api3-latest-client.json
#	app/config/specs/open-api3-latest-console.json
#	app/config/specs/open-api3-latest-server.json
#	app/config/specs/swagger2-latest-client.json
#	app/config/specs/swagger2-latest-console.json
#	app/config/specs/swagger2-latest-server.json
#	app/workers/builds.php
#	src/Appwrite/Stats/Usage.php
#	src/Appwrite/Usage/Calculators/Database.php
2022-08-25 18:26:30 +12:00
Jake Barnby 625608804e Merge remote-tracking branch 'origin/0.16.x' into refactor-permissions-inc-console-fix
# Conflicts:
#	app/config/specs/open-api3-latest-client.json
#	app/config/specs/open-api3-latest-console.json
#	app/config/specs/open-api3-latest-server.json
#	app/config/specs/swagger2-latest-client.json
#	app/config/specs/swagger2-latest-console.json
#	app/config/specs/swagger2-latest-server.json
#	app/controllers/api/databases.php
#	app/controllers/api/storage.php
#	app/workers/builds.php
#	src/Appwrite/Stats/Usage.php
#	src/Appwrite/Usage/Calculators/Database.php
2022-08-25 18:21:15 +12:00
Jake Barnby 3149a298a7 Aggregate before role checks 2022-08-25 15:51:21 +12:00
Jake Barnby 002b30d110 Fix missing check for existing validity on listFiles 2022-08-25 13:05:31 +12:00
Jake Barnby b434dfb6b8 Fix missing check for existing validity on listDocuments 2022-08-25 13:04:47 +12:00
Matej Bačo 756d0bbd5b Linter fix 2022-08-24 18:59:34 +00:00
Steven fc38771d69 Merge branch 'refactor-permissions-inc-console-fix' into feat-list-users-queries 2022-08-24 18:52:39 +00:00
Matej Bačo b1dfd94d49 Add indexes for internal queries 2022-08-24 18:41:26 +00:00
Matej Bačo 65d09705ac Simplify class name 2022-08-24 18:25:15 +00:00
Matej Bačo 55a2e52764 Allow unindexed internal queries 2022-08-24 18:23:34 +00:00
Christy Jacob 5d7fb56d90 feat: uncomment tests 2022-08-24 23:35:11 +05:30
Christy Jacob 2b131eec54 feat: linter issues 2022-08-24 23:05:10 +05:30
Christy Jacob 7c9d8fcf64 feat: update worker class 2022-08-24 22:56:30 +05:30
Christy Jacob 7844a74c1a feat: update worker class 2022-08-24 22:14:40 +05:30
Christy Jacob 47b206c445 feat: update maintenance task 2022-08-24 21:58:04 +05:30
Christy Jacob c3205b8266 feat: update environment vars 2022-08-24 21:45:39 +05:30
Christy Jacob 59e7e5caa7 feat: linter issues 2022-08-24 21:03:54 +05:30
Christy Jacob 9cfefe58bf feat: refactoring classes 2022-08-24 20:52:54 +05:30
Matej Bačo cb6a186c5d PR review changes 2022-08-24 15:07:18 +00:00
Christy Jacob 85bfdd8f54 feat: refactoring classes 2022-08-24 20:26:41 +05:30
Matej Bačo 5e9acf59e4 Update lockfile 2022-08-24 14:13:29 +00:00
Matej Bačo b765ad603d Merge remote-tracking branch 'origin/refactor-permissions-inc-console-fix' into feat-variables-api 2022-08-24 14:12:41 +00:00
Matej Bačo 4b01ff3f51 Use new query methods 2022-08-24 14:10:56 +00:00
Jake Barnby e0a1f4b8fe Database test updates 2022-08-25 01:32:52 +12:00
Jake Barnby d4b270e527 Better storage permission checks 2022-08-25 01:24:54 +12:00
Jake Barnby 0d3c1cba9a Better database permission checks 2022-08-25 01:24:19 +12:00
Matej Bačo 25590cc210 Add list queries test for databases 2022-08-24 12:43:07 +00:00
Matej Bačo c3372e4a1f Fix linter 2022-08-24 11:57:00 +00:00
Matej Bačo 22f05b4cf8 Include new tests, fix existing 2022-08-24 11:55:43 +00:00
Matej Bačo 4645fcd0c8 Fix tests 2022-08-24 10:31:47 +00:00
Matej Bačo bd7395cb44 Bug fixing, upgrade tests to new syntax 2022-08-24 09:22:13 +00:00
Christy Jacob d3308a4d42 Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-08-24 14:40:06 +05:30
Christy Jacob ceb11f839f feat: fix realtime tests 2022-08-24 14:21:26 +05:30
Jake Barnby dabaa49f8d Remove redundant extra permissions checks for document read/update/delete 2022-08-24 20:50:05 +12:00
Jake Barnby 714bbc0af0 Fix default bucket missing create permission 2022-08-24 20:27:27 +12:00
Jake Barnby ea4b177b83 Fix team permissions 2022-08-24 20:26:47 +12:00
Damodar Lohani a0ca202727 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-08-24 05:29:04 +00:00
Matej Bačo 01a57d91ad Fix listDocument queries validation 2022-08-23 16:33:08 +00:00
Matej Bačo 7fb74027d4 Upgrade listDocuments queries 2022-08-23 15:18:59 +00:00
Matej Bačo 11c8fccd88 PR review changes 2022-08-23 15:01:57 +00:00
Matej Bačo 531d57feff Upgrade listMemberships queries 2022-08-23 13:16:46 +00:00
Matej Bačo 2d82eed4be Linter fix 2022-08-23 13:10:27 +00:00
Matej Bačo b1348dbdd8 Upgrade account logs queries 2022-08-23 13:06:59 +00:00
Matej Bačo 36903d6358 Upgrade document&collection&database logs queries 2022-08-23 13:03:38 +00:00
Matej Bačo 79560c13e6 Upgrade teamListLogs queries 2022-08-23 12:50:52 +00:00
Matej Bačo e068bcdbc1 Upgrade listCollections queries 2022-08-23 12:30:28 +00:00
shimon ee875a9320 tests 2022-08-23 12:52:57 +03:00
Matej Bačo 94acd32d69 Upgrade listDatabases queries 2022-08-23 09:40:17 +00:00
Matej Bačo 17e41eee1d Upgrade listExecutions queries 2022-08-23 09:26:34 +00:00
Matej Bačo a92f96bf80 Upgrade listDeployments queries 2022-08-23 09:12:48 +00:00
Matej Bačo 1eee0baa28 Upgrade listFunctions queries 2022-08-23 09:02:06 +00:00
Matej Bačo 6c971f6ece Upgrade listTeams queries 2022-08-23 08:56:28 +00:00
Matej Bačo d1f6cb31d6 Upgrade listFiles queries 2022-08-23 08:49:39 +00:00
Matej Bačo 6fcd3757fe Upgrade listBuckets queries 2022-08-23 08:37:55 +00:00
Matej Bačo da73dc7fcb Fix users queries allowed params 2022-08-23 08:37:31 +00:00
Matej Bačo e780c90dd6 Merge branch 'feat-list-users-queries' into feat-list-endpoints-queries 2022-08-23 08:10:13 +00:00
Jake Barnby 7784422f84 Fix maintenance worker 2022-08-23 17:23:01 +12:00
Christy JacobandGitHub b24aec82e7 Merge pull request #3458 from appwrite/feat-usage-updates
New usage stats
2022-08-23 08:55:41 +05:30
Jake Barnby 00441885d2 Remove fallback setting for missing permissions 2022-08-23 13:42:53 +12:00
Jake Barnby e989735e89 Remove permissions processor 2022-08-23 13:42:25 +12:00
StevenandGitHub ad417731ce Merge pull request #3699 from appwrite/feat-list-user-logs-queries
Update List User Logs API to Accept Queries
2022-08-22 13:18:56 -07:00
Steven 66ff297103 Refactor Queries Validation 2022-08-22 19:16:20 +00:00
StevenandGitHub 9881c4cc73 Merge pull request #3708 from appwrite/feat-update-naming-conventions
feat: update naming convention and folder structure
2022-08-22 08:48:28 -07:00
Christy Jacob e09cb3a1cb feat: update queries constructor 2022-08-22 15:11:47 +00:00
Christy Jacob 464738274d feat: update queries constructor 2022-08-22 15:06:11 +00:00
Christy Jacob cff0fd9476 feat: update queries constructor 2022-08-22 15:04:55 +00:00
Christy Jacob 0fd55cb13c feat: update queries constructor 2022-08-22 14:44:28 +00:00
Christy Jacob 3ceff5aa71 feat: update queries constructor 2022-08-22 14:37:35 +00:00
Christy Jacob dd00c58b08 feat: remove queries 2022-08-22 14:14:40 +00:00
Christy Jacob 0304a57915 feat: remove queries 2022-08-22 14:12:52 +00:00
Christy Jacob 3fe22b7ed0 feat: update file structure 2022-08-22 14:10:10 +00:00
Christy Jacob afa71bcaf3 feat: update file structure 2022-08-22 14:09:04 +00:00
Christy Jacob 228bedd6d0 feat: update file structure 2022-08-22 14:05:49 +00:00
Christy Jacob b2b714f713 feat: update naming convention and folder structure 2022-08-22 13:48:35 +00:00
Jake Barnby eb1476b28b Apply validator updates to OpenAPI3 2022-08-22 14:27:17 +12:00
Damodar Lohani fa165a735b linter fix 2022-08-21 10:16:55 +00:00
Damodar Lohani 0d57c67cc0 use same method to parse usage params labels 2022-08-21 02:10:42 +00:00
Damodar Lohani 77958b465e update database usage params label 2022-08-21 02:10:21 +00:00
Damodar Lohani 6af467398b update usage labels 2022-08-21 02:04:52 +00:00
Damodar Lohani c5a8e470c5 update usage labels to match audits labels pattern 2022-08-21 02:03:19 +00:00
Damodar Lohani 2205ecd9c6 null safety checks 2022-08-20 11:20:31 +00:00
Christy Jacob 7952dac85e feat: linter fixes 2022-08-20 07:41:07 +00:00
Steven e70eb61717 Fix bug with list documents and new queries 2022-08-20 00:47:10 +00:00
Steven 2bde7aa02b Fix databases tests 2022-08-20 00:15:18 +00:00
Steven 146cb6a0d8 Fix list user logs tests 2022-08-19 23:31:02 +00:00
Steven 3890dea35b Add additional Validators for Queries 2022-08-19 23:20:22 +00:00
Steven a5bc07c9e4 Merge branch 'feat-list-users-queries' into feat-list-user-logs-queries 2022-08-19 22:00:54 +00:00
Steven fe0b778fac Add indexes to users collection 2022-08-19 21:10:15 +00:00
Steven f03510ef6b Fix test after merge 2022-08-19 21:09:50 +00:00
Christy Jacob ca25d329ae feat: update date time calculation 2022-08-19 20:22:38 +05:30
Steven c1cdad5566 Merge branch 'refactor-permissions-inc-console-fix' into feat-list-users-queries 2022-08-19 14:50:50 +00:00
Matej Bačo 926d1c6459 Fix incorrect endpoint information 2022-08-19 14:14:39 +00:00
Matej Bačo 896f07fdd4 Upgrade versios to resolve missing methods 2022-08-19 13:37:24 +00:00
Bradley Schofield d4ba9441b6 Run Linter 2022-08-19 11:26:09 +01:00
Bradley Schofield 0d81918685 Merge remote-tracking branch 'origin/refactor-permissions-inc-console-fix' into feat-variables-api 2022-08-19 11:25:39 +01:00
Christy Jacob 7673fb44e5 feat: update default values 2022-08-19 10:03:54 +00:00
Christy Jacob dbd7afeda0 feat: update default values 2022-08-19 09:58:11 +00:00
Bradley Schofield a904057a58 Merge branch 'feat-variables-api' of https://github.com/appwrite/appwrite into feat-variables-api 2022-08-19 10:58:01 +01:00
Bradley Schofield 7895ac6c40 Update Func.php 2022-08-19 10:57:59 +01:00
Christy Jacob 74a5bd2556 feat: update default values 2022-08-19 09:54:26 +00:00
Christy Jacob 28d9e15980 feat: update response model 2022-08-19 09:45:36 +00:00
Matej Bačo 30c157c23e Linter fix, update tests 2022-08-19 09:43:03 +00:00
Christy Jacob e104f553cb feat: use datetime filters for acessedAt 2022-08-19 09:41:22 +00:00
Christy Jacob f09cce93ee feat: use datetime filters for acessedAt 2022-08-19 09:37:35 +00:00
c9cae9479d Update docs/references/functions/create-variable.md
Co-authored-by: Vincent (Wen Yu) Ge <wenyu1999@hotmail.com>
2022-08-19 10:35:25 +01:00
Christy Jacob 2a750eaa73 Merge branch 'refactor-permissions-inc-console-fix' of https://github.com/appwrite/appwrite into feat-improve-keys 2022-08-19 09:32:22 +00:00
Matej Bačo 61ab41bf86 Implement status of oauth providers, and refactor response models 2022-08-19 09:21:51 +00:00
Christy Jacob 278afd77c0 Merge branch 'origin/datetime-attributes' of https://github.com/appwrite/appwrite into feat-improve-keys 2022-08-19 09:20:08 +00:00
Jake Barnby 399df17a3d Fix application reference 2022-08-19 20:49:13 +12:00
Jake Barnby c1c3a7c7ae Remove redundant exception 2022-08-19 20:31:19 +12:00
Jake Barnby e4392bdbfb Merge fixes
(cherry picked from commit 24875e352d)
2022-08-19 17:12:20 +12:00
Jake Barnby 24875e352d Merge fixes 2022-08-19 17:05:39 +12:00
Jake Barnby cb6fc7f618 Merge branch 'origin/datetime-attributes' into refactor-permissions-inc-console-fix
# Conflicts:
#	.gitignore
#	app/config/collections.php
#	app/controllers/api/account.php
#	app/controllers/api/databases.php
#	app/controllers/api/storage.php
#	app/controllers/api/users.php
#	composer.lock
#	tests/e2e/Services/Account/AccountCustomClientTest.php
2022-08-19 16:49:34 +12:00
Jake Barnby 5f990ecb6d Fix imports 2022-08-19 16:28:40 +12:00
Jake Barnby 7019be987c Merge remote-tracking branch 'origin/0.16.x' into origin/datetime-attributes
# Conflicts:
#	app/config/specs/open-api3-latest-client.json
#	app/config/specs/open-api3-latest-console.json
#	app/config/specs/open-api3-latest-server.json
#	app/config/specs/swagger2-latest-client.json
#	app/config/specs/swagger2-latest-console.json
#	app/config/specs/swagger2-latest-server.json
#	app/controllers/api/account.php
#	app/controllers/api/users.php
#	app/controllers/shared/api.php
#	app/workers/deletes.php
#	composer.lock
#	docker-compose.yml
#	phpunit.xml
#	src/Appwrite/Event/Delete.php
2022-08-19 16:20:19 +12:00
Jake Barnby 9819088563 Lint 2022-08-19 16:05:00 +12:00
Jake Barnby 66539bbe3a Review updates for role helper usage 2022-08-19 16:04:33 +12:00
Steven 27f69e3c09 Consolidate List User Logs API params
Replace limit and offset params with a single queries param since the
Queries V2 change now allows for different types of queries.
2022-08-19 00:09:34 +00:00
Steven f0d66985f7 Consolidate List Users API params
Replace search, limit, offset, cursor, cursorDirection, and orderType
params with a single queries param since the Queries V2 change now
allows for different types of queries.
2022-08-18 19:30:39 +00:00
Steven 753aebccab Create Appwrite Query Validator
The Appwrite Query Validator checks if the cursor value is a valid UID.
This is different than the cursor value in utopia-php/database because
the value in the database layer is expected to be a document.
2022-08-18 19:30:39 +00:00
db9faebcc9 Update app/controllers/api/account.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-18 16:04:19 +05:45
Damodar Lohani 7c2ecaec4b correct function status 2022-08-18 05:13:30 +00:00
Damodar Lohani e63e79d3f9 linter fix 2022-08-18 01:50:55 +00:00
Damodar Lohani acd5dfc23f update functions test 2022-08-18 01:49:41 +00:00
Damodar Lohani fdac3bfe4a missing functions stats 2022-08-18 01:45:55 +00:00
Damodar Lohani 3e43424129 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-18 00:49:31 +00:00
Damodar Lohani b28d3ce302 fix usage test 2022-08-18 00:36:25 +00:00
Damodar Lohani 4d482ebb81 fix accounts PR 2022-08-18 00:31:56 +00:00
Shmuel FogelandGitHub bc9e928187 Merge pull request #3688 from appwrite/datetime-jake-tz
datetime tz
2022-08-17 21:36:39 +03:00
fogelito 04844b180b composer updates 2022-08-17 21:15:25 +03:00
fogelito c21b563614 Merge branch 'refactor-permissions-inc-console-fix' of github.com:appwrite/appwrite into datetime-jake-tz
 Conflicts:
	app/controllers/general.php
	composer.json
	composer.lock
2022-08-17 21:04:23 +03:00
Christy JacobandGitHub 70f0483f97 Merge pull request #3652 from appwrite/feat-audits-label 2022-08-17 21:29:35 +05:30
fogelito e425de9582 composer updates 2022-08-17 18:20:45 +03:00
fogelito 093a8be8a3 composer updates 2022-08-17 18:20:26 +03:00
shimon d1aa3fea4f sync with 0.16 2022-08-17 18:03:53 +03:00
shimon a2af9fef2d sync with 0.16 2022-08-17 17:57:56 +03:00
fogelito ae5163c813 tags changes 2022-08-17 17:38:40 +03:00
shimon 0abd8c4108 Merge remote-tracking branch 'origin/feat-audits-label' into feat-audits-label 2022-08-17 17:33:01 +03:00
shimon 9fc2e4c3a5 sync with 0.16 2022-08-17 17:29:22 +03:00
fogelito 5d99f7c3a6 after branch change to datetime attributes 2022-08-17 17:09:21 +03:00
shimon cc9a166146 Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label
 Conflicts:
	app/controllers/api/storage.php
	app/controllers/shared/api.php
2022-08-17 17:08:54 +03:00
Christy JacobandGitHub f52bfacf0e Update tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php 2022-08-17 19:25:42 +05:30
Bradley Schofield 86ad8b7e98 Update function.phtml 2022-08-17 14:45:19 +01:00
Eldad A. FuxandGitHub 837336e90f Merge pull request #3491 from appwrite/feat-file-cache-cleanup
cache cleanup
2022-08-17 16:44:23 +03:00
Bradley Schofield 80ff661aeb Continue working on response filters 2022-08-17 14:08:09 +01:00
shimon 73095a325e addressing comments 2022-08-17 16:02:01 +03:00
shimon bb4390e089 addressing comments 2022-08-17 14:18:22 +03:00
shimon 4b062ca76d addressing comments 2022-08-17 14:11:34 +03:00
Damodar Lohani c0119e6a0d fix formatting 2022-08-17 11:10:17 +00:00
shimon 9cdb67a661 addressing comments 2022-08-17 14:09:15 +03:00
Damodar Lohani 6b11fa26ce rename and remove unused param 2022-08-17 10:55:01 +00:00
Damodar Lohani d4f02402bd Merge branch 'feat-audits-label' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-17 10:38:16 +00:00
Damodar Lohani fca655a48d function usage test 2022-08-17 10:36:30 +00:00
Damodar Lohani 0d97580361 fix usage params in execution 2022-08-17 10:13:50 +00:00
shimon e94c7eba83 more audit labels on users new routes 2022-08-17 13:01:16 +03:00
Damodar Lohani 7993e7e232 update console sdk 2022-08-17 09:59:47 +00:00
Damodar Lohani 4b43847bd8 update latest spec 2022-08-17 09:57:36 +00:00
shimon 4729444622 fix 2022-08-17 12:52:50 +03:00
Damodar Lohani a1e6f7bdf4 Merge branch 'feat-audits-label' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-17 09:34:40 +00:00
Bradley Schofield 407c150631 Merge branch '0.16.x' into feat-response-filters-0.16.x 2022-08-17 10:34:01 +01:00
Bradley Schofield 9f3ebe9956 Continue working on permission backporting 2022-08-17 10:33:35 +01:00
shimon 835ef0ffc1 small fix 2022-08-17 12:25:47 +03:00
shimon a4c0d89d55 sync with 0.16 2022-08-17 11:19:31 +03:00
shimon 9c68cff317 Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-file-cache-cleanup
 Conflicts:
	composer.json
	composer.lock
2022-08-17 11:16:09 +03:00
shimon 1e404e379b sync with 0.16 2022-08-17 10:59:23 +03:00
shimon 88f6a67802 sync with 0.16 2022-08-17 10:36:38 +03:00
shimon cc887beae9 sync with 0.16 2022-08-17 10:32:42 +03:00
shimon 2dc8fba40a Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label
 Conflicts:
	app/controllers/api/account.php
	app/controllers/api/users.php
	composer.json
	composer.lock
2022-08-17 10:05:37 +03:00
Jake Barnby 163782d4cd Merge branch 'origin/datetime-attributes' into refactor-permissions-inc-console-fix
# Conflicts:
#	composer.lock
#	public/dist/scripts/app-all.js
#	public/dist/scripts/app-dep.js
#	public/dist/scripts/app.js
2022-08-17 15:34:41 +12:00
Jake Barnby f36f176849 Role helper usage 2022-08-17 15:11:49 +12:00
Damodar Lohani 3bc0aa8dca fix merge issues 2022-08-17 02:35:55 +00:00
Damodar Lohani 80dfa85c82 Merge branch 'feat-audits-label' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-17 00:45:07 +00:00
Eldad A. FuxandGitHub aacdf50f63 Merge pull request #3620 from appwrite/feat-ui-datetime
ui: datetime
2022-08-16 23:49:37 +03:00
Christy Jacob 11ad9c8dd9 feat: update abuse library 2022-08-16 20:47:05 +00:00
Christy Jacob d2305a7900 feat: update abuse library 2022-08-16 20:45:55 +00:00
Christy Jacob 4b0c707fd3 Merge branch 'origin/datetime-attributes' of https://github.com/appwrite/appwrite into feat-ui-datetime 2022-08-16 20:37:05 +00:00
Eldad A. FuxandGitHub 69a4f51d58 Merge pull request #3656 from appwrite/feat-functions-console-logs
Functions Console Logs Capture
2022-08-16 23:23:53 +03:00
Eldad A. FuxandGitHub ccb8a1144c Merge pull request #2747 from appwrite/feat-password-hash-algos
Password Hashing algos
2022-08-16 22:30:23 +03:00
Eldad A. FuxandGitHub e0abc972ff Merge pull request #3681 from appwrite/feat-missing-phone-param
Changed provider name from phone to sms and added phone param to create endpoints
2022-08-16 21:01:54 +03:00
Matej Bačo 7a1dfbfb8d Fix passwordUpdate time for non-pass users 2022-08-16 15:56:54 +00:00
shimon 1abd57567f linter fix 2022-08-16 18:02:17 +03:00
Matej Bačo 4e7c976608 Fix node runtime test 2022-08-16 14:58:42 +00:00
shimon 7ad7d1807e fill gaps from merge 2022-08-16 17:56:05 +03:00
Matej Bačo 7d9f973c62 Fix escaping, write tests for stdout/stderr, upgrade runtimes to V2 2022-08-16 14:49:08 +00:00
Eldad A. FuxandGitHub e658457b1b Merge pull request #3692 from appwrite/update-autodesklogo
Updated Autodesk logo
2022-08-16 17:14:30 +03:00
Haimantika mitra 24609236b5 updated Autodesk logo format 2022-08-16 19:10:09 +05:30
Haimantika mitra 8056d02c0d updated Autodesk logo size 2022-08-16 19:04:34 +05:30
Haimantika mitra f3b73f40f5 updated Autodesk logo 2022-08-16 18:58:43 +05:30
shimon 5d284b8c27 fill gaps from merge 2022-08-16 16:20:35 +03:00
Matej Bačo 2814a6f680 Linter fix 2022-08-16 13:03:38 +00:00
Matej Bačo 3088535806 Added phone number to UsersAPI createUser + tests 2022-08-16 13:02:28 +00:00
Christy Jacob 51cb03a93e feat: linter fix 2022-08-16 17:58:30 +05:30
Jake Barnby b09aaabd14 Fix teams exception 2022-08-17 00:14:22 +12:00
Matej Bačo 1e96f8c3d9 Revert changes regarding AccountAPI createAccount 2022-08-16 12:05:46 +00:00
Matej Bačo e41de7575c Remove unnessessary change 2022-08-16 12:05:22 +00:00
Torsten Dittmann 32b1e0db51 fix: remove unnecessary data 2022-08-16 13:58:29 +02:00
Torsten Dittmann 381374209a fix: models 2022-08-16 13:57:13 +02:00
Matej Bačo ebb4d402b7 Linter fix 2022-08-16 11:41:49 +00:00
Matej Bačo eaf9cd59e9 Fix OpenAPI3 nested anyOf/oneOf 2022-08-16 11:40:19 +00:00
Jake Barnby 63977da7ee Lint 2022-08-16 23:39:57 +12:00
Jake Barnby 7626a0c121 Update lock 2022-08-16 23:38:17 +12:00
Jake Barnby 24af94c569 Fix tests 2022-08-16 23:29:11 +12:00
shimon de42895096 fill gaps from merge 2022-08-16 14:27:50 +03:00
Jake Barnby e3ec275a51 Cleaner permission checks 2022-08-16 23:26:38 +12:00
Matej Bačo 2202994060 Update lockfile 2022-08-16 11:01:47 +00:00
Matej Bačo 44310876d2 build JS 2022-08-16 10:45:08 +00:00
Matej Bačo f10cf58ec3 Update console sdk 2022-08-16 10:42:21 +00:00
shimon beaad6c49d fill gaps from merge 2022-08-16 13:19:38 +03:00
shimon 923a741c5a Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label
 Conflicts:
	app/controllers/api/account.php
	app/controllers/api/functions.php
	app/controllers/api/users.php
2022-08-16 12:47:51 +03:00
Matej Bačo 3adca4588c Update lock files 2022-08-16 09:46:00 +00:00
Matej Bačo 17600deace Merge branch '0.16.x' into feat-password-hash-algos 2022-08-16 09:35:20 +00:00
Jake Barnby 1aa36b6b2c Simplify permission checks 2022-08-16 21:08:14 +12:00
Jake Barnby 326220762e Exception fixes 2022-08-16 21:07:30 +12:00
shimon 8f8f033d1a fill gaps from merge 2022-08-16 12:00:28 +03:00
Bradley Schofield 9a705ed44d Update function.phtml 2022-08-16 09:50:49 +01:00
Jake Barnby 5d84d6d43f Lint 2022-08-16 20:33:06 +12:00
Jake Barnby bbf7f8d8c3 Merge remote-tracking branch 'origin/origin/datetime-attributes' into refactor-permissions-inc-console-fix
# Conflicts:
#	app/controllers/api/databases.php
#	app/controllers/api/storage.php
#	src/Appwrite/Extend/Exception.php
2022-08-16 20:30:00 +12:00
Jake BarnbyandGitHub fd76332aca Merge pull request #3691 from appwrite/datetime-attributes-merge
Datetime attributes merge
2022-08-16 20:20:41 +12:00
fogelito 78b0b24c25 composer changes for audit abuse 2022-08-16 10:45:16 +03:00
Jake Barnby 39231f8cf9 Lint 2022-08-16 19:26:40 +12:00
Jake Barnby fb34ecfa7d Merge remote-tracking branch 'origin/0.16.x' into datetime-attributes-merge
# Conflicts:
#	app/controllers/api/account.php
#	app/controllers/api/databases.php
#	app/controllers/api/functions.php
#	app/controllers/api/projects.php
#	app/controllers/api/storage.php
#	app/controllers/api/teams.php
#	app/controllers/api/users.php
#	app/controllers/general.php
#	app/controllers/shared/api.php
2022-08-16 19:20:26 +12:00
Christy JacobandGitHub 6dd6436291 Merge pull request #3690 from appwrite/revert-3667-feat-reorder-endpoints-2
Revert "Fix Endpoint Order"
2022-08-16 12:35:32 +05:30
Christy JacobandGitHub 5b7b39a300 Revert "Fix Endpoint Order" 2022-08-16 12:29:03 +05:30
Jake Barnby f672269a8c Handle aggregates per resource type at the controller level 2022-08-16 17:54:44 +12:00
34fd6763e1 Update app/controllers/api/account.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-08-16 11:14:55 +05:45
Damodar Lohani 4fb743e934 fix lint errors 2022-08-16 05:23:51 +00:00
Damodar Lohani 94d9bb8a18 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-functions-console-logs 2022-08-16 04:42:03 +00:00
Damodar Lohani e59f00fcd0 update runtime package 2022-08-16 04:37:54 +00:00
Damodar Lohani 078b1ec377 updating to use if condition 2022-08-16 04:34:49 +00:00
fogelito f52d28e75f Auth tests 2022-08-15 22:18:37 +03:00
fogelito 9b85a89e71 Projects tests 2022-08-15 20:37:26 +03:00
shimon 9770f10a8c fill gaps from merge 2022-08-15 20:33:44 +03:00
shimon f091774afd fill gaps from merge 2022-08-15 20:04:23 +03:00
fogelito 9c82a842b6 tests for database + account 2022-08-15 19:08:17 +03:00
shimon 590c1467bc Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label
 Conflicts:
	app/controllers/api/account.php
	app/controllers/api/functions.php
	app/controllers/api/users.php
2022-08-15 18:19:59 +03:00
Bradley Schofield e1cc6bc624 Start work on response filters for 0.16 2022-08-15 16:09:09 +01:00
fogelito f1d186d6ae filters for collections 2022-08-15 18:03:03 +03:00
fogelito f7948285f7 Merge branch 'refactor-permissions-inc-console-fix' of github.com:appwrite/appwrite into datetime-jake-tz
 Conflicts:
	composer.json
	composer.lock
2022-08-15 17:56:18 +03:00
fogelito 8d1127182f datetime tz 2022-08-15 17:12:03 +03:00
shimon f64c82a8cb addressing comments 2022-08-15 17:03:03 +03:00
shimon f12ccfa02a prefix removed from storage audits label 2022-08-15 16:59:58 +03:00
shimon a3a9def48d composer 2022-08-15 16:56:50 +03:00
shimon df0bdeb8a3 some fixes 2022-08-15 16:55:11 +03:00
Christy JacobandGitHub 4f80bb87c2 Merge pull request #3667 from appwrite/feat-reorder-endpoints-2
Fix Endpoint Order
2022-08-15 19:23:05 +05:30
Jake Barnby bf2fa212aa Fix setting defaults 2022-08-16 01:16:20 +12:00
Jake Barnby 28e7934aeb Update document/file validator allowed permissions 2022-08-16 01:02:02 +12:00
Jake Barnby b53f185ec6 Remove permissions processor 2022-08-16 00:56:19 +12:00
shimon 67d12d3120 some fixes 2022-08-15 15:16:32 +03:00
Jake Barnby 564f5dbf64 Find replace fix 2022-08-15 23:40:41 +12:00
Jake Barnby 77a28a2de7 Don't use ID helper with existing ID's 2022-08-15 23:24:31 +12:00
shimon edecd8dc22 some fixes 2022-08-15 13:52:20 +03:00
Jake Barnby 813e9135c6 Review fixes 2022-08-15 22:11:17 +12:00
Christy Jacob 51afc8bdfb feat: generate latest specs 2022-08-15 14:37:41 +05:30
shimon 0dc485d8d7 some fixes 2022-08-15 12:05:41 +03:00
72e524963c Update app/controllers/api/account.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-15 11:30:58 +03:00
Christy Jacob 7723c633a0 feat: fix tests 2022-08-15 13:24:54 +05:30
Jake Barnby 5870e6367c Update abuse lib 2022-08-15 19:50:20 +12:00
Damodar LohaniandGitHub 246d9b94b7 null safety 2022-08-15 13:27:02 +05:45
Eldad A. FuxandGitHub c17918007d Merge pull request #3683 from appwrite/snyk-upgrade-f8457e365b50a61a738fa5518f8d4655
[Snyk] Upgrade chart.js from 3.8.0 to 3.8.1
2022-08-15 10:23:29 +03:00
Jake Barnby 33970276b2 Self review 2022-08-15 19:20:10 +12:00
Christy Jacob 509f9083c9 Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-reorder-endpoints-2 2022-08-15 12:43:24 +05:30
Eldad Fux 6f74c565e8 Fixed docblock 2022-08-15 09:55:37 +03:00
Christy Jacob 794f07c3b0 feat: accounts test 2022-08-15 12:13:09 +05:30
Jake Barnby 66f518b531 Fix team membership delete 2022-08-15 18:04:00 +12:00
Damodar Lohani c0d05132df fix usage metric typo in database 2022-08-15 05:50:36 +00:00
Damodar Lohani a5aa20ac5c Merge branch 'feat-audits-label' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-15 05:35:14 +00:00
Jake Barnby 86f209800a Merge remote-tracking branch 'origin/origin/datetime-attributes' into refactor-permissions-inc-queries-update-datetime-fixes
# Conflicts:
#	composer.json
#	composer.lock
#	src/Appwrite/Utopia/Response/Model/AttributeDatetime.php
2022-08-15 16:43:47 +12:00
Jake Barnby 7c34387d22 Update specs + console SDK 2022-08-15 16:39:30 +12:00
shimon 5e476a2e5a some fixes 2022-08-15 07:29:44 +03:00
Eldad A. FuxandGitHub 1210b4f59a Merge pull request #3675 from appwrite/feat-datetime-attributes-with-database-query-update
Update database query syntax
2022-08-15 07:28:21 +03:00
Steven 6b618a5824 Merge branch 'origin/datetime-attributes' into feat-datetime-attributes-with-database-query-update 2022-08-15 01:45:56 +00:00
Damodar Lohani 6824d23dfe fix collections create metrics table name 2022-08-15 01:10:57 +00:00
Jake Barnby bb46d950df Handle permissions quotes 2022-08-15 13:04:14 +12:00
Damodar Lohani 5472898759 fix naming 2022-08-15 00:50:51 +00:00
Jake Barnby d5a1872f93 Spec + dist + lock update 2022-08-15 12:21:11 +12:00
Jake Barnby cb4a256d5f Merge remote-tracking branch 'origin/feat-ui-datetime' into refactor-permissions-inc-queries-update-datetime-fixes
# Conflicts:
#	app/config/specs/open-api3-latest-client.json
#	app/config/specs/open-api3-latest-console.json
#	app/config/specs/open-api3-latest-server.json
#	app/config/specs/swagger2-latest-client.json
#	app/config/specs/swagger2-latest-console.json
#	app/config/specs/swagger2-latest-server.json
#	composer.lock
#	public/dist/scripts/app-all.js
#	public/dist/scripts/app-dep.js
#	public/dist/scripts/app.js
#	public/dist/styles/default-ltr.css
#	public/dist/styles/default-rtl.css
#	public/scripts/dependencies/appwrite.js
2022-08-15 12:05:52 +12:00
shimon c0d8337417 some fixes 2022-08-14 23:45:05 +03:00
shimon 9d02066615 some fixes 2022-08-14 23:19:52 +03:00
shimon 104e6564f7 some fixes 2022-08-14 23:06:21 +03:00
shimon cabe989555 some fixes 2022-08-14 22:42:20 +03:00
shimon 1109004727 some fixes 2022-08-14 22:27:43 +03:00
Eldad Fux f88a64df1c Fix for linter 2022-08-14 22:01:58 +03:00
Eldad Fux 9b897629ba Fixed code generator 2022-08-14 21:57:23 +03:00
shimon 6fd01a6721 some fixes 2022-08-14 21:39:44 +03:00
Eldad Fux fbd5835bd9 Fixed test 2022-08-14 21:33:52 +03:00
Eldad Fux 95181546b4 Adpated tests 2022-08-14 21:09:24 +03:00
shimon 857803e362 some fixes 2022-08-14 21:02:38 +03:00
Eldad Fux 98e2564330 Merge branch 'feat-password-hash-algos' of https://github.com/appwrite/appwrite into feat-missing-phone-param 2022-08-14 20:22:52 +03:00
Eldad Fux bd77354926 Fixed test 2022-08-14 20:22:01 +03:00
Eldad A. FuxandGitHub 340cfb0104 Update app/controllers/api/users.php 2022-08-14 20:01:32 +03:00
Eldad Fux be36b31c4e Added missing test for new codeGenerator 2022-08-14 19:53:55 +03:00
Eldad Fux 22c38a484f Merge branch 'feat-password-hash-algos' of https://github.com/appwrite/appwrite into feat-missing-phone-param 2022-08-14 19:43:53 +03:00
Eldad Fux 7d83f9d644 Removed import path 2022-08-14 19:29:07 +03:00
Eldad Fux 98fc8669e1 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into feat-password-hash-algos 2022-08-14 19:23:30 +03:00
snyk-bot 808319e781 fix: upgrade chart.js from 3.8.0 to 3.8.1
Snyk has created this PR to upgrade chart.js from 3.8.0 to 3.8.1.

See this package in npm:
https://www.npmjs.com/package/chart.js

See this project in Snyk:
https://app.snyk.io/org/eldadfux/project/8574b5e4-6e89-4ade-bc02-2eaabc43eed0?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-14 16:09:36 +00:00
Eldad Fux 2ed9199bf1 Added the ability to create a user with a phone number 2022-08-14 18:10:12 +03:00
shimon ab27e0a74d some fixes 2022-08-14 18:01:34 +03:00
Eldad Fux 53b60c9244 Fix for linter 2022-08-14 17:22:51 +03:00
Jake Barnby 613a0f8006 ID and test fixes 2022-08-15 02:22:38 +12:00
Eldad Fux b36c24c508 Decouple Auth code from SMS provider adapter 2022-08-14 17:19:58 +03:00
fogelito 74ae43b092 global const for TYPE_DATETIME_EXAMPLE change value 2022-08-14 16:56:55 +03:00
Eldad Fux 1da208ad10 Fix adapter name 2022-08-14 16:53:19 +03:00
Eldad Fux 25f176875d Changed provider name from phone to sms 2022-08-14 16:43:41 +03:00
Eldad A. FuxandGitHub d641fbb635 Merge pull request #3588 from appwrite/feat-simplify-exceptions
Simplify Exception Creation
2022-08-14 15:27:52 +03:00
Damodar Lohani 8fdec117cd fix usage params 2022-08-14 12:04:49 +00:00
Damodar Lohani e26e2e44cc fix usage attributes 2022-08-14 12:03:21 +00:00
Damodar Lohani 07ace68d75 latest spec and sdk 2022-08-14 11:59:40 +00:00
shimon 36fd693728 some fixes 2022-08-14 14:48:51 +03:00
Jake Barnby 9c260164ef Merge remote-tracking branch 'origin/feat-datetime-attributes-with-database-query-update' into refactor-permissions-inc-queries-update-datetime-fixes
# Conflicts:
#	app/controllers/api/databases.php
#	app/controllers/api/storage.php
#	app/controllers/general.php
#	app/controllers/shared/api.php
#	composer.json
#	composer.lock
2022-08-14 23:46:34 +12:00
Damodar Lohani 5120158bdb Merge branch 'feat-audits-label' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-14 11:39:41 +00:00
Damodar Lohani e75dace600 fix storage usage test to match response 2022-08-14 11:19:24 +00:00
Damodar Lohani cf86481d31 fix test to use updated response model 2022-08-14 11:16:54 +00:00
Jake Barnby 6a5de3e0b6 Merge remote-tracking branch 'origin/fix-datetime-attributes' into refactor-permissions-inc-queries-update-datetime-fixes
# Conflicts:
#	app/config/collections.php
#	app/controllers/api/databases.php
#	app/controllers/api/projects.php
#	app/controllers/api/teams.php
#	composer.json
#	composer.lock
#	tests/e2e/Services/Account/AccountBase.php
#	tests/e2e/Services/Databases/DatabasesBase.php
#	tests/e2e/Services/Functions/FunctionsCustomServerTest.php
#	tests/e2e/Services/Projects/ProjectsConsoleClientTest.php
#	tests/e2e/Services/Storage/StorageBase.php
#	tests/e2e/Services/Storage/StorageCustomClientTest.php
#	tests/e2e/Services/Storage/StorageCustomServerTest.php
#	tests/e2e/Services/Teams/TeamsBase.php
#	tests/e2e/Services/Webhooks/WebhooksBase.php
#	tests/e2e/Services/Webhooks/WebhooksCustomClientTest.php
#	tests/e2e/Services/Webhooks/WebhooksCustomServerTest.php
#	tests/unit/Auth/AuthTest.php
2022-08-14 23:11:05 +12:00
Jake Barnby b007acfa95 ID updates 2022-08-14 22:33:36 +12:00
fogelito 9b9f2fe428 global const for TYPE_DATETIME_EXAMPLE 2022-08-14 13:27:07 +03:00
Christy Jacob 26634cdf0b feat: linter fix 2022-08-14 15:52:19 +05:30
Christy Jacob bb4693ddfc feat: update email session endpoint 2022-08-14 15:41:21 +05:30
fogelito 00e64e3518 datetime tests fixes 2022-08-14 13:10:32 +03:00
Damodar Lohani 89b2234c17 update stdout and stderr description 2022-08-14 09:29:46 +00:00
Damodar Lohani d9745b3477 fix execution list UI 2022-08-14 09:23:41 +00:00
Christy Jacob 979768fc9f Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-reorder-endpoints-2 2022-08-14 14:42:14 +05:30
Christy Jacob 70d2ebf55b feat: tests 2022-08-14 14:25:59 +05:30
Damodar Lohani 3ce8565513 hide execution stdout and stderr on client side response 2022-08-14 08:54:11 +00:00
Damodar Lohani 734454ee85 hiding stdout and stderr on client execution response 2022-08-14 08:44:17 +00:00
Christy Jacob ebb9af1eb2 feat: re-order functions endpoint 2022-08-14 13:56:11 +05:30
Christy Jacob 8e24dbe22f feat: update exception class 2022-08-14 13:35:11 +05:30
shimon 91345e3f9b some fixes 2022-08-14 10:45:42 +03:00
shimon 6b5a75ff84 test debuging 2022-08-14 10:35:37 +03:00
Christy Jacob 5725fbef70 feat: update exception class 2022-08-14 12:52:20 +05:30
Christy Jacob fb81627b83 feat: update exception class 2022-08-14 12:49:19 +05:30
Christy Jacob aeaf6eee18 fix: revert error codes 2022-08-14 12:35:50 +05:30
Christy Jacob cfab9221f2 feat: exceptions on more files 2022-08-14 12:32:41 +05:30
shimon 90478a04b6 some fixes 2022-08-14 10:00:37 +03:00
Christy Jacob a5bc0a61ca feat: exceptions on more files 2022-08-14 12:26:12 +05:30
shimon 22c913f48a some fixes 2022-08-14 09:38:43 +03:00
shimon 02a6282244 some fixes 2022-08-14 09:27:13 +03:00
shimon c0e3e94e57 some fixes 2022-08-14 09:22:38 +03:00
Christy Jacob 662bfe0ab8 feat: address issues on projects.php 2022-08-14 11:39:46 +05:30
Steven 610ec1a6a4 Update database query syntax 2022-08-14 05:44:55 +00:00
Christy Jacob c2f7cd6d19 feat: remove logger as an entity 2022-08-14 11:06:04 +05:30
Christy Jacob c6f0b14e92 feat: address issues on init.php 2022-08-14 11:05:25 +05:30
Jake Barnby a8698b6065 Lint 2022-08-14 17:24:50 +12:00
Jake Barnby c627226ac9 Merge branch 'refactor-permissions-inc-console-fix' of github.com:appwrite/appwrite into refactor-permissions-inc-console-fix 2022-08-14 17:21:44 +12:00
Jake Barnby b2e659bd3f Review fixes 2022-08-14 17:21:33 +12:00
Jake Barnby fe5d3a1892 Use permission helpers 2022-08-14 17:21:11 +12:00
89dd4be9f1 Update app/config/errors.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-08-14 17:06:48 +12:00
Jake Barnby 9e02c26908 Update libs 2022-08-14 15:35:00 +12:00
Bradley Schofield 237f5264d9 Fix vars exception, change cachedoc usage, 2022-08-13 20:18:48 +01:00
shimon 01fac30329 some fixes 2022-08-13 22:05:18 +03:00
shimon 71cab7d453 some fixes 2022-08-13 20:42:01 +03:00
shimon d132202662 some fixes 2022-08-13 20:29:33 +03:00
shimon 58ec3d912b some fixes 2022-08-13 18:47:29 +03:00
shimon 02f57cd69d Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-file-cache-cleanup
 Conflicts:
	composer.lock
2022-08-13 18:45:29 +03:00
shimon e3a8552774 some fixes 2022-08-13 18:39:19 +03:00
shimon af56db4048 some fixes 2022-08-13 18:36:44 +03:00
Jake Barnby 2ca2f4e135 Update audits 2022-08-14 03:17:18 +12:00
Christy Jacob 5296e61d35 feat: address issues on accounts controller 2022-08-13 20:45:19 +05:30
shimon 630954c94e some fixes 2022-08-13 17:55:27 +03:00
Jake Barnby 70758927cd Test fixes 2022-08-14 02:55:15 +12:00
Christy Jacob 8b23dcd69e fix: update constructor, remove account entity, add missing ID error 2022-08-13 20:14:04 +05:30
Jake Barnby ed712fb196 Merge remote-tracking branch 'origin/0.16.x' into refactor-permissions-inc-console-fix
# Conflicts:
#	app/controllers/general.php
#	composer.lock
2022-08-14 02:31:06 +12:00
Jake Barnby bdc8202422 Bad request for create permission on document/file 2022-08-14 02:24:28 +12:00
Jake Barnby 68cc919aaa Test fixes 2022-08-14 02:10:28 +12:00
Jake Barnby c6c5ce0619 Fix create file permissions not resetting after create 2022-08-13 23:51:26 +12:00
Eldad A. FuxandGitHub 5b4a3805bf Merge pull request #3522 from wess/feat-etsy-auth
Adds Etsy to OAuth providers
2022-08-13 13:05:43 +03:00
shimon 51e3fc8cab some fixes 2022-08-13 12:59:34 +03:00
Eldad A. FuxandGitHub a91584853c Merge pull request #3558 from appwrite/fix-teams-roles-no-owner
Fix teams roles no owner
2022-08-13 12:37:11 +03:00
Eldad A. FuxandGitHub cec8e9188b Merge pull request #3631 from appwrite/fix-unit-tests
tests: fix unit tests
2022-08-13 12:34:14 +03:00
Eldad A. FuxandGitHub ba239de8be Merge branch '0.16.x' into fix-unit-tests 2022-08-13 12:28:33 +03:00
Eldad A. FuxandGitHub 1accc36d8c Merge pull request #3599 from appwrite/feat-upgrade-database-docker-images
feat: upgrade mariadb and redis
2022-08-13 12:25:07 +03:00
Jake Barnby bfa4abbf87 Dist update 2022-08-13 21:07:25 +12:00
Jake Barnby 9a488d1d8c Fix create file permissions 2022-08-13 21:07:17 +12:00
Jake Barnby 7da5f3a04d Fix hardcoded permission types 2022-08-13 21:07:07 +12:00
Jake Barnby a44e9f2c09 Add bucket/file permissions comps 2022-08-13 21:02:32 +12:00
Jake Barnby 0cd1b232ed Fix hidden forms 2022-08-13 21:01:33 +12:00
Christy Jacob 3ded17badf fix: linter 2022-08-13 13:40:39 +05:30
Christy Jacob 6d6a9cc72b Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label 2022-08-13 13:39:36 +05:30
Christy Jacob 4d9c37f2db Merge branch '0.16.x' of github.com:appwrite/appwrite into origin/datetime-attributes 2022-08-13 13:38:02 +05:30
shimon 45c46c1794 sync with 0.16 2022-08-13 11:02:00 +03:00
Christy Jacob 4be3f23757 fix: merge conflict 2022-08-13 13:31:27 +05:30
Christy Jacob d2bf8b25de feat: update db pools 2022-08-13 13:27:04 +05:30
Jake Barnby 62200eda9e Pull secondary form into matrix component to allow multiple in the same page 2022-08-13 19:47:04 +12:00
shimon e8a2e30bb5 Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-file-cache-cleanup 2022-08-13 10:35:54 +03:00
shimon 48b2fb0b36 Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label 2022-08-13 10:34:25 +03:00
shimon cc9dad6bb8 Tidy up 2022-08-13 10:34:03 +03:00
Damodar Lohani 2a7b646c12 update framework version 2022-08-13 07:29:03 +00:00
Jake Barnby 3c8acac758 Show permission block for documents if document security is enabled 2022-08-13 18:34:47 +12:00
Jake Barnby 737ebe408c Don't add create permission to documents/files if missing 2022-08-13 18:34:04 +12:00
Jake Barnby c66a1991d8 Make permissions matrix reusable 2022-08-13 18:33:11 +12:00
Damodar Lohani 792d657a4f formatting fixes 2022-08-13 05:10:34 +00:00
Damodar Lohani 560bd97fcd organize metrics 2022-08-13 05:02:18 +00:00
Damodar Lohani c1c325505b organize metrics 2022-08-13 05:01:43 +00:00
Damodar Lohani 85f39ec0ef organize metrics 2022-08-13 05:00:22 +00:00
Damodar Lohani 02074a93ef remove unused import 2022-08-13 04:55:42 +00:00
Damodar Lohani 7717897357 update variable description 2022-08-13 04:55:34 +00:00
Damodar Lohani 3d25ef1be5 refactor case 2022-08-13 04:51:52 +00:00
Damodar Lohani d688187e23 update metrics value 2022-08-13 04:39:01 +00:00
Damodar Lohani 74a159ab99 fix key 2022-08-13 03:44:57 +00:00
Eldad Fux 3c7a7f0fa4 Merge branch '0.16.x' of https://github.com/appwrite/appwrite into origin/datetime-attributes 2022-08-13 06:21:50 +03:00
Damodar Lohani a1f9230169 composer update 2022-08-13 03:15:10 +00:00
Damodar Lohani be00b64b7e Merge branch 'feat-audits-label' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-13 03:14:28 +00:00
Jake Barnby fc119ecd98 Fix abuse 2022-08-13 13:31:31 +12:00
Steven 1abe9d4c01 Merge branch '0.16.x' into fix-datetime-attributes 2022-08-12 22:54:33 +00:00
Christy Jacob 9693c6e941 Merge branch 'master' of github.com:appwrite/appwrite into 0.16.x 2022-08-12 21:44:36 +05:30
Christy Jacob 4521907b83 feat: refactor workers 2022-08-12 21:39:45 +05:30
Bradley Schofield 83c1129ed5 Add TODO Warning 2022-08-12 17:01:25 +01:00
Bradley Schofield 04a0216ebc Update import descriptions 2022-08-12 17:00:43 +01:00
930120fc4d Update app/controllers/api/users.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-08-12 16:55:58 +01:00
160433ec9c Update src/Appwrite/Utopia/Response/Model/AlgoArgon2.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-08-12 16:55:47 +01:00
693e18e5d9 Update src/Appwrite/Utopia/Response/Model/AlgoArgon2.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-08-12 16:55:33 +01:00
b8d07cf43f Update src/Appwrite/Utopia/Response/Model/AlgoArgon2.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-08-12 16:54:31 +01:00
Bradley Schofield cb87c248d5 Rebuild Specs, SDKs and start working on subqueries 2022-08-12 16:51:24 +01:00
Jake Barnby 8d4191b1a0 Lint 2022-08-13 02:46:50 +12:00
Jake Barnby 09b001e891 PR fixes 2022-08-13 02:41:57 +12:00
Bradley Schofield bdcacf0cfb Update CHANGES.md 2022-08-12 15:28:44 +01:00
Bradley Schofield d86e4ac0b6 Run Linter 2022-08-12 15:15:58 +01:00
Bradley Schofield d9104ceced Update capitalisation on some names 2022-08-12 15:15:36 +01:00
Bradley Schofield 7af92b3b30 Fix Endpoint Order 2022-08-12 15:10:41 +01:00
shimon 1af95fcdaa Tidy up 2022-08-12 16:21:32 +03:00
Eldad A. FuxandGitHub f1a3af6fce Merge pull request #3662 from appwrite/feat-country-code-docs
Add country code spec link to local and flag endpoint
2022-08-12 16:14:42 +03:00
Bradley Schofield 26fad5e8fe Move Variables view to before settings in function 2022-08-12 13:57:45 +01:00
Bradley Schofield 23c3135051 Regenerate Spec and SDK 2022-08-12 13:56:30 +01:00
Jake Barnby d2b9102f84 Merge remote-tracking branch 'origin/0.16.x' into refactor-permissions-inc-console-fix
# Conflicts:
#	tests/e2e/Services/Databases/DatabasesBase.php
#	tests/e2e/Services/Databases/DatabasesCustomServerTest.php
2022-08-13 00:54:27 +12:00
Jake Barnby 5c6cb2a422 Test fixes 2022-08-13 00:49:57 +12:00
Bradley Schofield 8a2f8ed6ee Merge branch '0.16.x' into feat-variables-api 2022-08-12 13:35:01 +01:00
Jake Barnby c104860448 Use roles validator for function execution 2022-08-13 00:23:58 +12:00
Jake Barnby 5799bf2d62 Transform delete key on input as well as output 2022-08-12 23:44:47 +12:00
Jake Barnby f278517276 Validate permission role input exists 2022-08-12 23:44:27 +12:00
shimon 90cfac9b52 replace request param extractions 2022-08-12 14:01:12 +03:00
Jake Barnby 76f86c74ad Allow updating existing permission rows 2022-08-12 22:37:52 +12:00
Jake Barnby 1d7c25b561 Single role per permissions entry 2022-08-12 22:36:59 +12:00
Eldad A. FuxandGitHub bfe73ed9b4 Merge pull request #3664 from appwrite/feat-rename-users-page
Rename users page to Authentication
2022-08-12 07:45:07 +03:00
Eldad A. FuxandGitHub 856a53c33c Merge pull request #3665 from appwrite/fix-remove-consts-response
Remove constants from response models
2022-08-12 06:51:52 +03:00
Jake Barnby 770c08725f Add role suggestions 2022-08-12 14:59:44 +12:00
Jake Barnby 1234cc8152 Styling 2022-08-12 14:59:11 +12:00
Bradley Schofield 47129afcfa Remove constants from response models 2022-08-12 03:00:29 +01:00
Bradley Schofield 072755ce7d Rename users page to Authentication 2022-08-12 02:41:31 +01:00
Jake Barnby 0226478c63 Add cast from csv to array 2022-08-12 13:05:54 +12:00
Jake Barnby 3e17d9398b Fix raw permission removal 2022-08-12 12:26:58 +12:00
Vincent (Wen Yu) Ge c18a386e09 Add country code spec link to local and flag endpoint 2022-08-11 22:05:17 +00:00
Eldad A. FuxandGitHub 057feaf5bd Merge pull request #3654 from appwrite/fix-password-reset-redirect
Fix password reset redirect and alert
2022-08-11 18:34:52 +03:00
Eldad A. FuxandGitHub 6fd7a841bd Merge pull request #3635 from appwrite/fix-console-sdk
fix: console sdk
2022-08-11 18:07:06 +03:00
shimon e86aab5e88 ident 2022-08-11 16:47:53 +03:00
Jake Barnby a5e6c04cb0 Working permission row addition and removal 2022-08-12 01:22:39 +12:00
shimon b5f977e46d adding user to audits labels 2022-08-11 16:19:05 +03:00
Eldad A. FuxandGitHub 0f3efde288 Merge pull request #3587 from appwrite/format-remove-unused-param
Remove unused property
2022-08-11 14:23:47 +03:00
Eldad A. FuxandGitHub 0d4c0d36af Merge pull request #3653 from appwrite/feat-add-parent-id-ui
Add Parent ID UI
2022-08-11 14:21:24 +03:00
Eldad A. FuxandGitHub f4bbcc9fa3 Merge pull request #3619 from appwrite/fix-phone-search
Fix: User Search attribute (phone)
2022-08-11 14:20:44 +03:00
shimon 6a4fee641d clean 2022-08-11 12:04:05 +03:00
shimon 2d8abac0e3 clean 2022-08-11 11:47:18 +03:00
Damodar Lohani f8721329ba fix network name 2022-08-11 08:34:14 +00:00
Damodar Lohani 13f915cc77 UI update 2022-08-11 08:25:44 +00:00
Damodar Lohani f0827fef38 formatting issues 2022-08-11 07:02:40 +00:00
Damodar Lohani cd9efec4d2 refactor 2022-08-11 06:49:20 +00:00
Damodar Lohani 1753dbe8b0 fix formatting 2022-08-11 06:18:37 +00:00
Damodar Lohani a0591730b1 decrease usage intrval for tests 2022-08-11 06:18:24 +00:00
Damodar Lohani d05e1fdfb3 enable ignoring stats on admin requests 2022-08-11 06:16:10 +00:00
Damodar Lohani b5f5aff626 fix response and project usage issues 2022-08-11 06:05:38 +00:00
Damodar Lohani 63371ce76e functions usage stats using route labels 2022-08-11 05:25:39 +00:00
Damodar Lohani 651dc651f5 update usage response model for storage 2022-08-11 02:18:34 +00:00
Damodar Lohani c5993ba8b9 storage usage stats via route labels 2022-08-11 02:18:22 +00:00
Damodar Lohani e666ae2b2e fix users usage endpoint 2022-08-11 02:11:31 +00:00
Damodar Lohani 5647f957a7 users metrics via route labels 2022-08-11 01:43:02 +00:00
Damodar Lohani 73f675aebe Merge branch 'feat-audits-label' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-11 01:15:29 +00:00
Christy Jacob cd5f3f2f2b feat: update mock endpoint spec 2022-08-11 00:00:59 +05:30
Christy Jacob b4e944e9ba feat: run linter 2022-08-10 19:19:58 +05:30
Christy Jacob 741824ef87 feat: move server list to app resource 2022-08-10 19:15:04 +05:30
Bradley Schofield 15fbe86124 Fix variables not being correctly used 2022-08-10 14:43:05 +01:00
Christy Jacob 42d78f9a68 feat: update sdk generatoe dependency 2022-08-10 18:33:49 +05:30
Christy Jacob 9fe28e830a feat: add platform to sdk generation script 2022-08-10 18:30:57 +05:30
Christy Jacob 4f218ea6d3 feat: add new mock endpoint for sdk generator tests 2022-08-10 18:22:12 +05:30
Jake Barnby 531247deb4 Collection UI updates 2022-08-10 22:23:53 +12:00
shimon ac827f6861 cache ver updated 2022-08-10 13:13:05 +03:00
Damodar Lohani e3cca44dce formatting 2022-08-10 09:56:03 +00:00
Damodar Lohani 9002bbe77e update response format 2022-08-10 09:50:05 +00:00
Damodar Lohani 6fc98eb1cb default network name 2022-08-10 09:47:43 +00:00
Bradley Schofield c566f1e7c9 Fix Tests 2: Electric Boogaloo 2022-08-10 10:32:48 +01:00
shimon 5a15d29a22 sync with 0.16.x 2022-08-10 12:22:55 +03:00
shimon d31c23d25a Merge branch '0.16.x' of github.com:appwrite/appwrite into feat-audits-label
 Conflicts:
	app/controllers/api/databases.php
2022-08-10 12:18:05 +03:00
Damodar Lohani cb369dd326 update account routes usage labels 2022-08-10 08:45:10 +00:00
Damodar Lohani 91f1e89201 update type 2022-08-10 07:59:16 +00:00
Damodar Lohani c7d6d38ab7 update UI to include logs 2022-08-10 07:24:13 +00:00
Damodar Lohani 5424b85685 update execution response model 2022-08-10 07:20:16 +00:00
Damodar Lohani 391d1127ca update container to accept new response format 2022-08-10 07:19:07 +00:00
shimon f9b8a0a661 disabling route from cache 2022-08-10 10:08:48 +03:00
Jake Barnby 25e893f712 Revert sdk-generator to master 2022-08-10 18:02:23 +12:00
Jake Barnby 8d83b6ada3 Fix realtime abuse check 2022-08-10 17:42:20 +12:00
Damodar Lohani 8aa7486e71 database usage stats working via labels 2022-08-10 02:33:46 +00:00
Damodar Lohani ebf3d813cb refactor database usage to labels 2022-08-10 02:18:18 +00:00
Damodar Lohani 16fe9e241a Merge branch 'feat-audits-label' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-10 01:49:27 +00:00
Damodar Lohani b96904ec75 renaming usage stats on influx to contain scope placeholder 2022-08-10 01:46:36 +00:00
Christy JacobandGitHub 0b813ed159 Merge pull request #3649 from appwrite/fix-deployment-example
Deployment object model example updated
2022-08-10 02:01:59 +05:30
Bradley Schofield 4faa903fb3 Fix Password Reset Alert and Redirect 2022-08-09 17:30:06 +01:00
Bradley Schofield 2215e4db49 Add Parent Database ID to collection and documents 2022-08-09 17:18:43 +01:00
Bradley Schofield 42e0895dad Fix Tests 2022-08-09 16:29:24 +01:00
shimon d2519c9a5b addressing comments 2022-08-09 17:38:54 +03:00
c6fc2a98ae Update src/Appwrite/Auth/OAuth2/Etsy.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-09 10:14:40 -04:00
a079284729 Update src/Appwrite/Auth/OAuth2/Etsy.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-09 10:14:30 -04:00
f0d4f43dba Update src/Appwrite/Auth/OAuth2/Etsy.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-09 10:14:19 -04:00
9e2e883c82 Update app/config/providers.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-09 10:14:10 -04:00
Torsten Dittmann d9c7bbd3d2 fix: scripts for filters and charts 2022-08-09 16:05:34 +02:00
shimon 96c822ffb3 init from master 2022-08-09 16:44:58 +03:00
shimon a261dcd171 init from master 2022-08-09 16:43:37 +03:00
Torsten Dittmann 5db5f7217f Merge branch 'origin/datetime-attributes' of https://github.com/appwrite/appwrite into feat-ui-datetime 2022-08-09 14:49:08 +02:00
Bradley Schofield f87d2ab89e Update composer.lock 2022-08-09 13:37:42 +01:00
Bradley Schofield 6882ffaa00 Merge branch '0.16.x' into feat-variables-api 2022-08-09 13:37:24 +01:00
Bradley Schofield 603cb1db34 Update init.php 2022-08-09 13:32:33 +01:00
fe2fe1e08a Update src/Appwrite/Auth/OAuth2/Etsy.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-09 08:15:46 -04:00
97117f2fde Update src/Appwrite/Auth/OAuth2/Etsy.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-09 08:15:38 -04:00
27e54fae4c Update src/Appwrite/Auth/OAuth2/Etsy.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-09 08:15:28 -04:00
f1887449ab Update src/Appwrite/Auth/OAuth2/Etsy.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-09 08:15:19 -04:00
Bradley Schofield bf3c15708d Update Variable Attribute Desc 2022-08-09 13:13:46 +01:00
Bradley Schofield d4da9d823b Add API Descriptions and use APP_LIMIT_COUNT 2022-08-09 13:11:50 +01:00
shimon 092e682591 Merge branch 'master' of github.com:appwrite/appwrite into feat-file-cache-cleanup
 Conflicts:
	app/controllers/shared/api.php
2022-08-09 15:02:29 +03:00
Bradley Schofield af0c111d2e Rollback Func Correctly 2022-08-09 13:00:16 +01:00
Bradley Schofield fb091f1b48 Revert "Rollback Func.php"
This reverts commit fe88ea4f9a.
2022-08-09 12:59:35 +01:00
Bradley Schofield fe88ea4f9a Rollback Func.php 2022-08-09 12:58:59 +01:00
shimon a937cde7a3 init 2022-08-09 14:57:33 +03:00
Bradley Schofield c4d453b738 Update Variables API Signature 2022-08-09 12:56:45 +01:00
Christy JacobandGitHub e17409e0b1 Merge pull request #3596 from appwrite/origin/datetime-api
Origin/datetime api
2022-08-09 17:15:33 +05:30
fogelito 01106d801a Merge branch 'origin/datetime-attributes' of github.com:appwrite/appwrite into origin/datetime-api
 Conflicts:
	composer.lock
	src/Appwrite/Stats/Usage.php
2022-08-09 14:44:11 +03:00
fogelito db5d737235 Merge branch '0.16.x' of github.com:appwrite/appwrite into origin/datetime-api
 Conflicts:
	tests/e2e/Services/Databases/DatabasesBase.php
2022-08-09 14:37:21 +03:00
fogelito 82a240998b Merge branch '0.16.x' of github.com:appwrite/appwrite into origin/datetime-attributes
 Conflicts:
	composer.lock
	src/Appwrite/Stats/Usage.php
2022-08-09 14:20:26 +03:00
Torsten Dittmann 08ba652464 fix: tests 2022-08-09 12:45:15 +02:00
Christy JacobandGitHub 6a6c7d4b90 Merge pull request #3547 from appwrite/fix-update-status-codes
Use 202 when resources are created asyncronously
2022-08-09 14:42:40 +05:30
Christy Jacob 21a3037bdf feat: review comments 2022-08-09 14:22:30 +05:30
Damodar Lohani 59477a9fa9 functions stats 2022-08-09 08:19:45 +00:00
Christy JacobandGitHub dae148af76 Merge pull request #3526 from 2002Bishwajeet/feat-disqus-Oauth-provider
Feat: Disqus OAuth Provider
2022-08-09 13:21:19 +05:30
Damodar Lohani b50863ff9f update aggregator 2022-08-09 07:12:04 +00:00
Jake Barnby a61fd030ff Fix storage tests 2022-08-09 19:11:30 +12:00
Damodar Lohani cf369a9f12 rename test 2022-08-09 07:04:59 +00:00
Jake Barnby 3611f9df94 Parameter order fix 2022-08-09 18:58:08 +12:00
shimon eb9ca5d7e3 leftovers 2022-08-09 09:49:55 +03:00
Damodar Lohani bce998cb53 update imports and fix database usage 2022-08-09 06:28:38 +00:00
Christy Jacob f26f2d9e9b feat: review comments 2022-08-09 11:43:34 +05:30
Damodar Lohani 99c1f14581 white space fix 2022-08-09 06:07:05 +00:00
Christy Jacob 410597eca7 feat: review comments 2022-08-09 11:35:25 +05:30
Jake Barnby 216486a4c6 Fix DB tests 2022-08-09 18:03:41 +12:00
Christy Jacob 8cae6bb627 feat: review comments 2022-08-09 11:26:53 +05:30
Damodar Lohani ebac3f5547 usage containers updated 2022-08-09 05:52:53 +00:00
Damodar Lohani c2b016cb5f update usage interval environment variables 2022-08-09 05:29:24 +00:00
Christy Jacob 7e470d2cb5 feat: review comments 2022-08-09 10:54:17 +05:30
Jake Barnby fa61dada55 Fix erroneous whitespace 2022-08-09 14:48:56 +12:00
Jake Barnby fb0168ea50 Fix erroneous whitespace 2022-08-09 14:48:39 +12:00
Jake Barnby 1ddd34059b Append type to open bracket to ensure permissions containing a permission type name are not removed 2022-08-09 13:23:03 +12:00
Damodar Lohani 7affd0579e usage refactor setups 2022-08-09 01:22:18 +00:00
Christy Jacob 4bced29ec9 feat: review comments 2022-08-09 01:36:36 +05:30
Christy Jacob 82e39ccf52 feat: review comments 2022-08-09 01:12:13 +05:30
Bishwajeet ParhiandGitHub 4ac204d230 Merge branch 'appwrite:master' into feat-disqus-Oauth-provider 2022-08-08 21:21:47 +05:30
shimon 9eb1c3a731 leftovers 2022-08-08 18:44:45 +03:00
shimon 6e0b7cc650 leftovers 2022-08-08 18:44:11 +03:00
shimon 2d7a2bb57f leftovers 2022-08-08 18:23:45 +03:00
shimon 8a79748b6d leftovers 2022-08-08 17:48:51 +03:00
Wen Yu Ge 75595dd07f Deployment payload example updated 2022-08-08 10:45:45 -04:00
Bradley Schofield bf050ece0f Fix Exceptions 2022-08-08 15:44:07 +01:00
shimon 62ef532801 leftovers 2022-08-08 17:32:54 +03:00
Bradley Schofield 43660d9c8f Merge branch 'master' into feat-simplify-exceptions 2022-08-08 15:03:01 +01:00
Bishwajeet Parhi f4c5b4c11d lints fixed 2022-08-08 12:44:11 +00:00
shimon 89f164bdd7 resource namespace 2022-08-08 15:19:41 +03:00
Jake Barnby e2cf49aefd Update sdk-generator 2022-08-08 23:00:26 +12:00
Jake Barnby cb7bafbdc0 Storage test fixes 2022-08-08 23:00:15 +12:00
Jake Barnby 8317b167ce Databases test fixes 2022-08-08 23:00:03 +12:00
Jake Barnby 4b78169152 Fix setting default permissions 2022-08-08 22:59:16 +12:00
Jake Barnby 69a79f660f Storage permission check fixes 2022-08-08 22:58:36 +12:00
Jake Barnby 20f621d05c Databases permission check fixes 2022-08-08 22:58:28 +12:00
Torsten Dittmann 641740db77 fix: response model with nullable defaults 2022-08-08 12:35:28 +02:00
Jake Barnby 686c42ae07 Add permission allowed for user type check function 2022-08-08 22:26:07 +12:00
Jake Barnby ac11617655 Handle null permissions when processing aggregates 2022-08-08 22:19:47 +12:00
Damodar LohaniandGitHub d7d3d6c808 Merge pull request #3648 from appwrite/feat-refactor-usage-stats 2022-08-08 14:44:24 +05:45
shimon a6a9ad8cc0 databases controller 2022-08-08 11:14:27 +03:00
Damodar Lohani 84a9dcf6cb formatting 2022-08-08 06:59:52 +00:00
Damodar Lohani 01823d18c6 Merge branch 'feat-usage-updates' of https://github.com/appwrite/appwrite into feat-refactor-usage-stats 2022-08-08 02:20:58 +00:00
Damodar Lohani 98330cdfa1 fixes 2022-08-08 02:20:54 +00:00
Damodar Lohani ff794dc215 commenting out functions stat test as it seems to be inconsistent 2022-08-08 02:20:18 +00:00
Damodar Lohani 1b1ba985a9 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-08 02:18:49 +00:00
Damodar Lohani 178414cef4 Merge branch 'feat-usage-updates' of https://github.com/appwrite/appwrite into feat-refactor-usage-stats 2022-08-08 01:59:37 +00:00
Damodar Lohani 6ea4098679 new metrics aggregation 2022-08-08 01:33:34 +00:00
shimon e9ef94e8af account controller 2022-08-07 18:49:30 +03:00
shimon c8196c41d4 api::payload 2022-08-07 18:09:37 +03:00
shimon ec39ff267c api::parseLabel 2022-08-07 17:30:47 +03:00
shimon 9818cfb572 response::send 2022-08-07 14:02:40 +03:00
shimon f4c1a5ea35 response::send 2022-08-07 14:01:00 +03:00
Eldad A. FuxandGitHub e93c3483c8 Merge pull request #3640 from appwrite/fix-deployment-object
Add possible status codes to deployment object.
2022-08-06 07:20:55 +03:00
Bishwajeet Parhi 6c653d8f2a remove whitespace 2022-08-05 16:21:47 +00:00
Bishwajeet Parhi 93466d9a66 resized image 100x100 2022-08-05 16:12:00 +00:00
Bishwajeet Parhi 999962d161 add comments denoting return type and parameters if any 2022-08-05 16:09:38 +00:00
9cd10686bb Update src/Appwrite/Auth/OAuth2/Disqus.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-05 21:25:41 +05:30
6fdf578919 Update src/Appwrite/Auth/OAuth2/Disqus.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-05 21:25:34 +05:30
dab0a8ec27 Update src/Appwrite/Auth/OAuth2/Disqus.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-05 21:25:21 +05:30
Bishwajeet ParhiandGitHub 3f15035c1a Merge branch 'appwrite:master' into feat-disqus-Oauth-provider 2022-08-05 21:24:19 +05:30
Christy Jacob 1dc9f5e842 feat: add new attributes for API Keys 2022-08-05 17:38:04 +05:30
Christy JacobandGitHub c92c2d7b75 Merge pull request #3488 from MatusFercak/shiftra
Feat: Podio OAuth provider
2022-08-05 17:20:36 +05:30
Matej BačoandGitHub 6c21723ecb Merge branch 'appwrite:master' into shiftra 2022-08-05 13:32:06 +02:00
Christy Jacob c96f1e76e2 feat: add new attributes for API Keys 2022-08-05 15:50:48 +05:30
Christy JacobandGitHub 78d02f50af Merge pull request #3180 from Aragur/feat-XXX-authentik-oauth
feat: Add authentik as a OAuth provider
2022-08-05 13:06:05 +05:30
0477551293 Update app/config/providers.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-08-05 08:53:31 +02:00
Jake Barnby e01560ab89 Merge remote-tracking branch 'origin/fix-console-sdk' into refactor-permissions-inc-console-fix
# Conflicts:
#	composer.json
#	composer.lock
#	public/dist/scripts/app-all.js
#	public/dist/scripts/app-dep.js
#	public/scripts/dependencies/appwrite.js
2022-08-05 18:51:09 +12:00
Jake Barnby 5e4a422495 Use helpers to process permissions 2022-08-05 18:01:25 +12:00
Jake Barnby e8af744c97 More write ref updates 2022-08-05 18:00:56 +12:00
Jake Barnby 08609af053 Add permissions process function to add default 2022-08-05 17:24:11 +12:00
Jake Barnby bed6eb70af Replace write refs 2022-08-05 17:23:32 +12:00
Jake Barnby 62b1eba836 Replace write refs 2022-08-05 17:23:18 +12:00
Vincent (Wen Yu) Ge c6223fd6b0 add possible status codes 2022-08-04 17:51:57 +00:00
Eldad A. FuxandGitHub 73817a311b Merge pull request #3638 from appwrite/refactor-mock-download-response
Consistent response for mock download
2022-08-04 14:29:04 +03:00
Damodar LohaniandGitHub 0d62f30d7b rename file 2022-08-04 12:36:04 +05:45
Damodar Lohani 34794d2554 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-08-04 06:03:39 +00:00
Damodar Lohani a0e056abc1 fix indentation 2022-08-04 06:03:04 +00:00
Jake Barnby 8ced769fae Update console SDK 2022-08-04 16:47:24 +12:00
Jake Barnby 54b07a9446 Handle document/file level security in collections layer 2022-08-04 16:20:11 +12:00
Jake Barnby d9f0ece812 Remove new properties from DB level 2022-08-04 12:08:16 +12:00
Eldad A. FuxandGitHub 8e49b8365c Merge pull request #3590 from iifawzi/fix-3583-fixing-create-team-membership-to-return-added-name-email
Fixing #3583 - create team membership to return added person name and…
2022-08-04 00:07:29 +03:00
Bradley Schofield 2650706be1 Run Linter 2022-08-03 13:35:11 +00:00
Bradley Schofield f62ad19ecd Fix old function tests 2022-08-03 13:32:50 +00:00
Jake Barnby 1f0b55bfed Update execute permission refs 2022-08-03 22:11:39 +12:00
Jake Barnby ed9d331f89 Pass through collection config permissions and document security 2022-08-03 21:52:55 +12:00
Jake Barnby 7b9fb32fae Update role references 2022-08-03 21:52:34 +12:00
Jake Barnby a0add9ec7a Update configs 2022-08-03 21:52:04 +12:00
Bradley Schofield 67fa3f728c Run Linter 2022-08-03 10:13:34 +01:00
Damodar Lohani 55943f8a7d Merge branch 'master' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-08-03 06:38:00 +00:00
Jake Barnby dbb8e5421a Fix syntax error 2022-08-03 17:43:03 +12:00
Jake Barnby 9872c019b2 Consistent response for mock download 2022-08-03 17:03:34 +12:00
Damodar Lohani b28d10ad65 upgrade framework 2022-08-03 04:41:48 +00:00
Jake Barnby 1ab86c9331 Role reference updates 2022-08-03 16:17:49 +12:00
Eldad A. FuxandGitHub a9cfb06ee9 Merge pull request #3586 from appwrite/feat-hooks-implementation
implementing new Utopia hooks
2022-08-03 07:17:44 +03:00
Christy Jacob 561e7b43e1 feat: review comments 2022-08-03 00:26:45 +05:30
fogelito 4ba641b13f utopia-php/database tag change to 0.19.* 2022-08-02 19:52:57 +03:00
fogelito 4de0fd71e1 utopia-php/database tag change to 0.19.* 2022-08-02 19:45:37 +03:00
Bradley Schofield 452a8512c4 Add Tests 2022-08-02 16:11:15 +00:00
Bradley Schofield 31897bc7b5 Run Linter 2022-08-02 10:34:04 +00:00
Torsten Dittmann 28db040e57 fix: console sdk 2022-08-02 12:21:31 +02:00
Bradley Schofield 9d9935a625 First working draft of new UI 2022-08-02 10:05:58 +00:00
Jake Barnby ce38e74ba2 Update remaining services to new permissions 2022-08-02 21:21:53 +12:00
Jake Barnby 4520114780 Refactor storage to use new permissions 2022-08-02 21:19:15 +12:00
Jake Barnby 9a182d615a Refactor databases to use new permissions 2022-08-02 21:18:49 +12:00
Damodar Lohani fda6ba7c8c fix lint error 2022-08-02 02:03:30 +00:00
Damodar Lohani 6b2b9d0fde tasks get name function 2022-08-02 01:58:36 +00:00
Damodar Lohani b6ddf2a451 remove unused import 2022-08-02 01:41:12 +00:00
Damodar Lohani 0331776614 more naming refactor 2022-08-02 01:37:00 +00:00
Damodar Lohani 2df3bc813a refactor rename 2022-08-02 01:32:46 +00:00
Damodar Lohani ce7d98ff1f framework released 2022-08-02 01:15:56 +00:00
Damodar Lohani 51a6db995a groups at the top in hooks 2022-08-02 01:10:48 +00:00
Bradley Schofield 66fcbee0df Start working on adding UI 2022-08-01 15:13:47 +00:00
fogelito 3df0ba27fd testPersistantCreatedAt 2022-08-01 17:00:57 +03:00
Torsten Dittmann 37835380e3 Merge branch 'origin/datetime-api' of https://github.com/appwrite/appwrite into feat-ui-datetime 2022-08-01 13:44:31 +02:00
Torsten Dittmann 6db2ce2a40 fix: datetime structure validator 2022-08-01 13:43:30 +02:00
Torsten Dittmann bf9533007b tests: fix unit tests 2022-08-01 12:22:04 +02:00
Damodar Lohani 651f73ed71 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-08-01 07:10:12 +00:00
Matej Bačo 8c825d477f Merge commit '8d99860c55cff4ab1291a51ee5b6c7900641e1eb' into shiftra 2022-08-01 04:37:30 +00:00
fogelito 13474985dc tests need to fix error 500 on line 2096 2022-07-31 16:06:50 +03:00
fogelito 468692f5e4 some more tests 2022-07-31 15:32:41 +03:00
shimon cc93113934 Reference comments 2022-07-31 15:11:49 +03:00
shimon 1d38b2ce6a Reference comments 2022-07-31 13:20:56 +03:00
fogelito d6760bfbee fix tests $created and datetime queries 2022-07-31 13:07:15 +03:00
shimon 45ad0f6bdf Reference comments 2022-07-30 22:10:30 +03:00
shimon d0ec102c53 Merge remote-tracking branch 'origin/feat-file-cache-cleanup' into feat-file-cache-cleanup 2022-07-30 21:56:00 +03:00
shimon 39d2f6b981 Reference comments 2022-07-30 21:55:36 +03:00
feadcb24df Update app/workers/deletes.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-07-30 21:17:01 +03:00
shimon 5511a93e9c Expires header returned to the endpoints 2022-07-28 18:24:18 +03:00
fogelito a587547e2c queries tests for datetime and more 2022-07-28 18:24:17 +03:00
Torsten Dittmann ba65b5a58f fix duplicates 2022-07-28 14:51:47 +02:00
Torsten Dittmann 1eb7b4724c Merge branch 'origin/datetime-api' of https://github.com/appwrite/appwrite into feat-ui-datetime 2022-07-28 14:51:01 +02:00
Torsten Dittmann a4588cc848 Merge branch 'master' of https://github.com/appwrite/appwrite into origin/datetime-api 2022-07-28 14:49:28 +02:00
Torsten Dittmann e3fee55e3d Merge branch 'origin/datetime-api' of https://github.com/appwrite/appwrite into origin/datetime-api 2022-07-28 14:45:15 +02:00
Torsten Dittmann 7b95c46cf5 Merge branch 'master' of https://github.com/appwrite/appwrite into origin/datetime-api 2022-07-28 14:40:45 +02:00
Torsten Dittmann bd550f8a1e feat: ui for datetime attribute 2022-07-28 14:38:54 +02:00
fogelito fcc4ed396a Change $conditions to TYPE_DATETIME 2022-07-28 15:03:14 +03:00
fogelito ba40ac4e90 Change models Class name 2022-07-28 13:26:22 +03:00
Matej Bačo 15b5df10a4 Fix search attribute regarding phone number 2022-07-28 09:36:08 +00:00
Bradley Schofield 7e3c6b4944 Fix permission errors being 400 when they should be 401 2022-07-28 10:12:51 +01:00
Damodar Lohani e922c9bc72 make tests dependent 2022-07-28 09:01:03 +00:00
Damodar Lohani 1382fa8901 Merge branch 'feat-usage-updates' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-07-28 07:28:03 +00:00
Damodar Lohani a0df8e7989 make test dependent 2022-07-28 07:28:00 +00:00
Damodar Lohani 13bcb062b2 ordering 2022-07-28 07:06:39 +00:00
Damodar Lohani 977932250d add missing types 2022-07-28 07:05:23 +00:00
f555568d50 Update app/controllers/api/functions.php
Co-authored-by: Matej Bačo <matejbacocom@gmail.com>
2022-07-28 12:40:14 +05:45
Christy Jacob 9e183f8994 feat: review comments 2022-07-27 22:29:27 +05:30
Christy JacobandGitHub 7ea8c3d173 Merge pull request #3610 from appwrite/bug-3609-fix-docs-databases-links
Fix docs storage and databases links
2022-07-27 22:29:00 +05:30
Bradley Schofield 467d8b2cd2 Fix linting errors 2022-07-27 14:50:13 +01:00
Bradley Schofield e3a3ca4c0d Translate more errors
+ Fixed an issue where some errors that should use 401 uses 400 error codes

+ Updated error messages and tests for multiple exceptions
2022-07-27 14:47:35 +01:00
Matej Bačo b40826f4ee Leftovers 2022-07-27 10:54:49 +00:00
Damodar Lohani 62e1f8e96d fix missing semi-colon 2022-07-27 08:31:59 +00:00
Damodar Lohani 04eeb28c62 refactor to back 2022-07-27 08:28:23 +00:00
Damodar Lohani 85256f545c remove teardown 2022-07-27 08:14:31 +00:00
Damodar Lohani e9bbcc9135 create project only once 2022-07-27 08:14:16 +00:00
Damodar Lohani c823ca7ac6 make dependent to create only one project 2022-07-27 08:13:20 +00:00
Damodar Lohani f85497a421 function test 2022-07-27 08:05:50 +00:00
Jake Barnby 1e95279fc0 Fix role checks 2022-07-27 20:01:37 +12:00
Jake Barnby d92328dbb4 Merge remote-tracking branch 'origin/master' into fix-teams-roles-no-owner 2022-07-27 19:57:06 +12:00
Damodar Lohani a4eafa5c66 composer update 2022-07-27 06:00:21 +00:00
Damodar Lohani 11ea71f7b9 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-hooks-implementation 2022-07-27 05:59:52 +00:00
Christy Jacob da16c0159b feat: rename environment variable 2022-07-27 09:17:00 +05:30
Steven 723c6f5436 Fix incorrect databases links 2022-07-26 23:16:47 +00:00
Steven f5514c4fea Fix incorrect storage links 2022-07-26 23:16:32 +00:00
Bradley Schofield 3c808ca895 Fix problem with Exception class 2022-07-26 15:56:59 +01:00
Bradley Schofield 96c6c0ff00 Migrate all exceptions to new signature 2022-07-26 15:24:32 +01:00
shimon ae80607248 response changes 2022-07-26 16:13:12 +03:00
shimon d09bf306ce response changes 2022-07-26 15:50:33 +03:00
Torsten DittmannandGitHub 0bf39bd152 Merge pull request #3603 from appwrite/0.15.x
master <- 0.15.x
2022-07-26 11:22:23 +02:00
Christy Jacob 86e8470784 feat: linter fixes 2022-07-26 14:07:08 +05:30
Bradley Schofield 4da9273b28 Move default message and code handling into exception 2022-07-25 23:54:08 +01:00
Christy Jacob e5dceddfe7 feat: review comments 2022-07-26 00:19:53 +05:30
Torsten DittmannandGitHub 8d99860c55 Merge pull request #3589 from appwrite/feat-prepare-0-15-3
feat: prepare 0.15.3
2022-07-25 18:24:28 +02:00
Matej Bačo 8d253ed5ff Switch from Bradley repo to official Appwrite (scrypt) 2022-07-25 15:51:18 +00:00
Torsten Dittmann 1c619fd4bc chore: update changelog 2022-07-25 16:05:39 +02:00
Torsten Dittmann 3f51595d25 feat: upgrade mariadb and redis 2022-07-25 15:54:15 +02:00
Matej Bačo 4bc645074a Fix linter 2022-07-25 12:43:17 +00:00
Matej Bačo ef3496d55b Bug fixing afte merge 2022-07-25 12:37:29 +00:00
Matej Bačo dbccf39a9f Merge branch 'master' into feat-password-hash-algos 2022-07-25 12:37:07 +00:00
Matej Bačo ba0d60aa35 Remove more benchmark stuff 2022-07-25 11:53:16 +00:00
Damodar Lohani 9e2cc6bb21 new framework version fixes the issues 2022-07-25 11:50:24 +00:00
Torsten Dittmann 73bc2036e3 chore: update changelog 2022-07-25 12:36:33 +02:00
Torsten Dittmann d96ce25b1c Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-prepare-0-15-3 2022-07-25 12:27:10 +02:00
Torsten Dittmann 0eb14052ec Merge branch '0.15.x' of https://github.com/appwrite/appwrite 2022-07-25 12:25:44 +02:00
Torsten Dittmann e5f07dcae8 docs: rename database to databases 2022-07-25 12:25:00 +02:00
Torsten Dittmann 0df77a5a65 Merge branch '0.15.x' of https://github.com/appwrite/appwrite 2022-07-25 12:23:43 +02:00
Torsten Dittmann 5b73561aba sync: with master 2022-07-25 12:17:08 +02:00
fogelito 3cc23c8e5b Add attribute datetime 2022-07-25 12:18:08 +03:00
fogelito 95fc47048a Add attribute datetime 2022-07-25 12:09:51 +03:00
fogelito 16312c921d Add attribute datetime 2022-07-25 11:56:04 +03:00
fogelito b58c04c28b Add attribute datetime 2022-07-25 11:53:41 +03:00
Damodar Lohani 901170ab41 update framework 2022-07-25 08:11:07 +00:00
3f09575740 get the invitee info from the db
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-07-25 06:09:35 +02:00
Christy JacobandGitHub 4241cbc3a0 Merge pull request #3551 from appwrite/gewenyu99-patch-1
Update instructions to generate new specifications
2022-07-25 08:47:27 +05:30
shimon 966765dac7 tidy up 2022-07-24 18:25:33 +03:00
shimon 16ed2c1572 tidy up 2022-07-24 18:22:31 +03:00
Damodar Lohani 0a926337cb fix executor 2022-07-24 12:06:34 +00:00
shimon f214ead6f6 tidy up 2022-07-24 12:49:51 +03:00
Matej Bačo 61cba414bf Fix linter 2022-07-24 08:22:24 +00:00
shimon 509057f84c tidy up 2022-07-24 10:12:15 +03:00
shimon 64050337cf tidy up 2022-07-24 10:05:24 +03:00
Eldad A. FuxandGitHub 8d37a0a39e Merge pull request #3594 from appwrite/fix-ui-alert-close-icon
fix: ui alert close icon
2022-07-24 03:42:49 +03:00
Torsten Dittmann e9bacfe58a fix: ui alert close icon 2022-07-23 23:36:56 +00:00
shimon 02907f12f1 cache logic moved to api::init & api::shutdown 2022-07-23 20:42:42 +03:00
Fawzi E. Abdulfattah 9f45bce55f Fixing #3583 - create team membership to return added person name and email
Signed-off-by: Fawzi E. Abdulfattah <iifawzie@gmail.com>
2022-07-23 01:51:58 +02:00
Torsten Dittmann 80258efc7f feat: prepare 0.15.3 2022-07-22 17:53:50 +02:00
Torsten DittmannandGitHub e28ebcb564 Merge pull request #3568 from appwrite/fix-migration-attributes-indexes
fix: migration of attributes and indexes
2022-07-22 17:50:44 +02:00
Bradley Schofield 40022decb4 Start working on simplifying exceptions 2022-07-22 15:38:06 +01:00
Damodar LohaniandGitHub d121ebe078 remove unused parameter 2022-07-22 14:24:33 +05:45
Damodar Lohani 70a7446ad4 fix group 2022-07-22 06:42:49 +00:00
Damodar Lohani b168dde502 implementing new Utopia hooks 2022-07-22 06:00:42 +00:00
Christy Jacob c6c4fbab99 feat: update phpunit 2022-07-22 11:10:12 +05:30
Christy Jacob ca2e7a9814 feat: fix lint errors 2022-07-22 09:05:41 +05:30
Christy Jacob 5d63190d63 feat: update environment variable 2022-07-22 09:03:19 +05:30
Christy Jacob 5bb0698ded feat: fix linting errors 2022-07-22 08:23:10 +05:30
Wess CopeandGitHub 0653d99e4d Update Etsy.php
- Reduces scope to only profile and email
- Updates comment for isEmailVerified informing that etsy.com handles verification itself.
2022-07-21 12:18:38 -04:00
Torsten DittmannandGitHub 4ab7308e77 Merge pull request #3569 from appwrite/feat-update-cli
Update sdk-generator to 0.19.6
2022-07-21 17:54:10 +02:00
6b089d35a9 Update src/Appwrite/Auth/OAuth2/Etsy.php
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-07-21 09:28:42 -04:00
Bradley Schofield 6b1b8bb522 Merge branch '0.15.x' into feat-update-cli 2022-07-21 10:56:43 +01:00
fogelito ea68810f58 lock file 2022-07-21 11:54:24 +03:00
shimon ddc85579c9 gitignore 2022-07-21 08:50:03 +03:00
Bradley Schofield 1c90edf206 Update platforms.php 2022-07-20 16:59:03 +01:00
Torsten Dittmann 51fa558325 chore: update specs 2022-07-20 17:57:12 +02:00
Bradley Schofield de5ccf9c47 Update composer.lock 2022-07-20 16:57:01 +01:00
Bradley Schofield 1a4375ed73 Update sdk-generator 2022-07-20 16:39:28 +01:00
Torsten Dittmann 3a963fab0b fix: remove unnecessary conditions 2022-07-20 15:27:27 +02:00
Bradley Schofield 3623d41fd3 Update RealtimeCustomClientTest.php 2022-07-20 14:25:05 +01:00
Torsten Dittmann 5f773c30cb fix: migration of attributes and indexes 2022-07-20 15:15:52 +02:00
Bradley Schofield ac184a6fe3 Fix realtime and webhook tests 2022-07-20 13:43:18 +01:00
Bradley Schofield 4d729b9d39 Update Tests for Functions 2022-07-20 13:01:18 +01:00
Damodar Lohani dea9aef965 convert execution/compute time to integer in test 2022-07-20 10:25:48 +00:00
Damodar Lohani 6c76f94a1a return 0 in case of error 2022-07-20 10:21:00 +00:00
Damodar Lohani 928b5a04ca multiplier support 2022-07-20 10:16:32 +00:00
Matej Bačo 15427e0aa1 Cleanup 2022-07-20 07:22:51 +00:00
Matej Bačo 183a18f618 Implement functions CRUD operations 2022-07-20 07:18:49 +00:00
fogelito 169fb4d6f4 audit + abuse datetime changes 2022-07-19 17:52:06 +03:00
Eldad A. FuxandGitHub 9035db1137 Merge pull request #3559 from brandonroberts/docs-one-click-readme
docs: add one-click setups to README
2022-07-19 07:00:43 +03:00
Damodar Lohani 2630aa6ac8 fix issues 2022-07-19 02:47:14 +00:00
Damodar Lohani 3d5c8b0053 fix naming of keys 2022-07-19 01:55:35 +00:00
Damodar Lohani 1ca9e7ab3e Merge branch 'master' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-07-19 01:53:06 +00:00
Brandon f41acc2990 chore: update alt text for Gitpod logo 2022-07-18 14:18:38 -05:00
Brandon a9612fc5cc docs: add one-click setups to README 2022-07-18 13:48:32 -05:00
Wen Yu Ge 310409355a update generation steps according to suggestion 2022-07-18 13:39:00 -04:00
Torsten DittmannandGitHub 8eef613d4b Merge pull request #3553 from ishanvyas22/doc-3521-change-return-type
Fix SDK response type for get & update database call
2022-07-18 19:20:00 +02:00
Wess CopeandGitHub 0c38f1db08 Delete etsy.php 2022-07-18 10:14:51 -04:00
Torsten DittmannandGitHub f1e8753f16 Merge pull request #3557 from appwrite/feat-fix-db-usage-stats
Fix DB usage stats missing
2022-07-18 15:46:47 +02:00
Bradley Schofield 74a53af316 Fix Tests 2022-07-18 14:22:23 +01:00
Christy Jacob 56856309c5 feat: update php docs 2022-07-18 17:02:12 +05:30
Christy Jacob 4f720c30dd feat: update php docs 2022-07-18 16:58:59 +05:30
Christy Jacob 58d8b7e148 feat: update php docs 2022-07-18 16:03:06 +05:30
Bradley Schofield 35c546782f Change more status codes to 202 2022-07-18 10:43:51 +01:00
Jake Barnby 9333efd3c3 Format 2022-07-18 21:41:11 +12:00
Bradley Schofield 88064cdbaf Merge branch 'master' into fix-update-status-codes 2022-07-18 10:37:07 +01:00
Jake Barnby 2b8e992646 Add roles to create team test 2022-07-18 21:26:58 +12:00
Jake Barnby 41dfd84543 Ensure user creating team with custom roles is always owner as well 2022-07-18 20:57:00 +12:00
Matej Bačo 73f3d5dde8 Fix DB usage stats missing 2022-07-18 07:21:18 +00:00
Damodar Lohani 9461a70784 fix function name 2022-07-18 07:12:15 +00:00
Damodar Lohani 13199a3013 update sdk 2022-07-18 06:48:00 +00:00
Damodar Lohani b6cc0471c5 fix UI 2022-07-18 06:36:53 +00:00
Damodar Lohani 0555912a13 new functions usage route 2022-07-18 06:31:07 +00:00
Damodar Lohani ada00948c5 functions usage 2022-07-18 06:30:51 +00:00
Damodar Lohani 0c7caf80b3 update latest specs 2022-07-18 06:16:17 +00:00
Christy Jacob 6a490ab53b Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-07-18 11:33:08 +05:30
Damodar Lohani f9d62599a4 fix get usage on Functions 2022-07-17 10:43:10 +00:00
Damodar Lohani dbd941f464 fix param 2022-07-17 10:39:44 +00:00
Damodar Lohani ff8e730b8a new function usages endpoint 2022-07-17 10:30:58 +00:00
Damodar Lohani 9fe6c0a3c0 functions test 2022-07-17 09:33:24 +00:00
Damodar Lohani e405e35736 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-usage-updates 2022-07-17 08:48:19 +00:00
Ishan Vyas af167a58a8 Fix SDK response type for get & update database call
Signed-off-by: Ishan Vyas <isvyas@gmail.com>
2022-07-17 12:44:37 +05:30
Eldad A. FuxandGitHub eed9999acc Merge pull request #3542 from appwrite/fix-rename-databases
Update doc folder database to databases
2022-07-17 08:13:02 +03:00
Damodar Lohani bc4ec9652c lint fixes 2022-07-17 01:57:37 +00:00
Damodar Lohani 69feb7138a update platform fix 2022-07-17 01:29:45 +00:00
Damodar Lohani a97ef5d1e5 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-07-17 01:06:01 +00:00
Christy Jacob 8d46af0dc2 feat: remove var_dump 2022-07-16 11:34:41 +05:30
Christy Jacob 126d82c4ce feat: uncomment tests 2022-07-16 11:30:56 +05:30
Christy Jacob e8763a6380 feat: update composer lock 2022-07-16 11:30:27 +05:30
Christy Jacob 5abb561f91 Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-07-16 11:25:22 +05:30
Christy Jacob 22b4e8ed83 feat: update naming convention 2022-07-16 11:23:58 +05:30
Christy Jacob 641c4f1bde feat: update naming convention 2022-07-16 11:08:36 +05:30
Christy Jacob 90c615075e feat: disable stop on failure 2022-07-16 11:05:25 +05:30
Christy Jacob 2baeac04d1 feat: comment redis-commander 2022-07-16 11:04:59 +05:30
Eldad A. FuxandGitHub fb5805a43c Merge pull request #3550 from appwrite/fix-function-timeout-desc
Clarify purpose in Appwrite Functions timeout description
2022-07-16 07:46:40 +03:00
Vincent (Wen Yu) GeandGitHub 6a333e79d2 Update instructions to generate new specifications
The old instructions for generating new specifications + new SDK no longer work. This aims to update the instructions.
2022-07-15 17:09:34 -04:00
Christy Jacob 9ad9621ad6 feat: refactor DatabasePool 2022-07-16 01:09:01 +04:00
Christy Jacob ca3ce816a3 feat: refactor DatabasePool 2022-07-16 01:03:53 +04:00
Christy Jacob cbccaf9527 feat: update migration 2022-07-16 00:58:15 +04:00
Christy Jacob ebc971f8dc feat: realtime db pool 2022-07-16 00:19:50 +04:00
Wen Yu Ge d0a138e718 Clarify purpose in Appwrite Functions timeout description 2022-07-15 11:51:01 -04:00
Vincent (Wen Yu) GeandGitHub 8b0b5f4026 Merge branch 'master' into fix-rename-databases 2022-07-15 09:57:40 -04:00
Christy Jacob 42f0bddd60 feat: merge and fix conflicts 2022-07-15 13:54:27 +04:00
Christy JacobandGitHub 88a77127ea Merge pull request #2450 from PineappleIOnic/Add-DNS-Warning-Install
Add a DNS warning during install
2022-07-15 13:26:12 +04:00
Damodar Lohani 57518c6950 updated implementation 2022-07-15 05:02:39 +00:00
Vincent (Wen Yu) Ge 79b3cef729 update 0.15 open api specs 2022-07-14 20:18:32 +00:00
Vincent (Wen Yu) Ge f05bd8b0f6 Attempt to update 0.15 specs as an experiment 2022-07-14 20:10:58 +00:00
Vincent (Wen Yu) Ge 0076cdccc9 generate new specs 2022-07-14 19:59:51 +00:00
wess e1df9faad7 case fixed 2022-07-14 13:01:50 -04:00
wess bb51393332 Fixes file case 2022-07-14 11:57:08 -04:00
wess 52f5d7d346 Fixes issue where isEmailVerified was not included 2022-07-14 11:52:23 -04:00
wess a874a25b69 Fixes issue where Etsy provider class had wrong name
Adds Etsy to providers config
2022-07-14 11:30:22 -04:00
wess efbde82ca2 Fixed lint issues, YOU'RE WELCOME TORSTEN 2022-07-14 11:06:27 -04:00
Wess CopeandGitHub 4f64c72d0d Merge branch 'appwrite:master' into feat-etsy-auth 2022-07-14 11:05:27 -04:00
fogelito bded3da5df Fix comments 2022-07-14 17:56:50 +03:00
wess 195e276e4b Updates gitignore to add .phpunit.result.cache 2022-07-14 10:30:30 -04:00
Torsten DittmannandGitHub 39e6607afd Merge pull request #3546 from appwrite/feat-upgrade-cli-lib
Feat: CLI lib version
2022-07-14 16:14:45 +02:00
fogelito 1b74473421 remove comments 2022-07-14 16:51:47 +03:00
fogelito 97250d8193 Merge remote-tracking branch 'origin/origin/datetime-attributes' into origin/datetime-attributes 2022-07-14 16:35:25 +03:00
fogelito 0816dd15f9 remove comments 2022-07-14 16:12:44 +03:00
Torsten Dittmann 427c13a104 chore: run formatter 2022-07-14 14:19:39 +02:00
Torsten Dittmann 5604a6837f Merge branch '0.16.x' of https://github.com/appwrite/appwrite into origin/datetime-attributes 2022-07-14 14:14:05 +02:00
Bradley Schofield 5f0032bb7f Use 202 when resources are created asyncronously 2022-07-14 10:52:55 +01:00
Damodar Lohani 2c2a570819 composer update 2022-07-14 02:20:29 +00:00
Damodar Lohani 082967095e linter fixes 2022-07-14 02:04:31 +00:00
Christy Jacob 6662fa7b7b feat: merge and fix conflicts 2022-07-14 04:11:35 +04:00
Christy Jacob 662800cc67 Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-07-14 03:42:26 +04:00
Christy Jacob 392775b9ab feat: update dbPool class 2022-07-14 03:33:25 +04:00
fogelito 8d4817b710 providerAccessTokenExpiry description 2022-07-13 20:25:37 +03:00
fogelito 3e534404c3 last now() change 2022-07-13 20:05:00 +03:00
Matej Bačo 0fbfabe5d3 CLI lib version increase 2022-07-13 16:48:39 +00:00
fogelito 30054d177b web hook test for joined 2022-07-13 19:28:03 +03:00
Torsten DittmannandGitHub e17ab5f455 Merge pull request #3540 from appwrite/create-vonage-adapter
Feat: Create Vonage Phone Auth Adapter
2022-07-13 17:34:26 +02:00
Torsten DittmannandGitHub c94871b5ef Merge pull request #3543 from appwrite/fix-functions-usage
Fix: function usage missing
2022-07-13 17:34:06 +02:00
fogelito 9a8ef2a30d change DatetimeValidator 2022-07-13 17:07:03 +03:00
fogelito 45ac40cc85 change function names 2022-07-13 17:02:49 +03:00
fogelito 76b65c5dea change test validations from strings to datetime 2022-07-13 16:55:57 +03:00
fogelito 7ab26e5b0d change test validations from strings to datetime 2022-07-13 15:51:27 +03:00
Matej Bačo d93ac31b4e Fix function usage missing 2022-07-13 08:57:57 +00:00
Damodar Lohani 031c8a5594 fix spec and sdks tasks 2022-07-13 07:16:28 +00:00
Damodar Lohani 5793a9c376 refactor all the tasks using action 2022-07-13 07:02:55 +00:00
Damodar Lohani 752117e07a using platform to implement CLI 2022-07-13 06:26:22 +00:00
Damodar Lohani d476c8bbd8 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-refactor-tasks 2022-07-13 06:01:25 +00:00
Vincent (Wen Yu) Ge a97df22da4 Databases folder renamed 2022-07-12 18:45:36 +00:00
Vincent (Wen Yu) Ge 8360fccd06 Databases folder need to be updated on master so it's properly named 2022-07-12 18:45:08 +00:00
fogelito fc39281bdb change test validations from strings to datetime 2022-07-12 21:12:35 +03:00
fogelito 2a9983032d change test validations from strings to datetime 2022-07-12 20:51:00 +03:00
fogelito f676a0bf9e change test validations from strings to datetime 2022-07-12 19:44:58 +03:00
Aditya OberaiandGitHub 313fd5582a Set $from to use env variable + update ref link 2022-07-12 22:03:54 +05:30
Aditya Oberai f63c1c95fe Create Vonage phone auth adapter 2022-07-12 15:45:22 +00:00
fogelito f384a3352b change class from database:: to dateTime:: 2022-07-12 16:32:39 +03:00
fogelito 7e08575245 builds, stats 2022-07-11 18:12:41 +03:00
Bishwajeet Parhi 40b2bd2595 Merge branch 'master' into feat-disqus-Oauth-provider 2022-07-11 13:41:07 +00:00
Bishwajeet Parhi 68616957ab tiny code quality 2022-07-11 13:32:46 +00:00
Bishwajeet Parhi d96be650e4 change to name 2022-07-11 12:40:17 +00:00
122a59c723 Update src/Appwrite/Auth/OAuth2/Disqus.php
Co-authored-by: Matej Bačo <matejbaco2000@gmail.com>
2022-07-11 17:55:06 +05:30
Bishwajeet Parhi 3ee7ccff48 commented unused code 2022-07-11 11:27:17 +00:00
Bishwajeet Parhi 9f5fec7135 emailVerified should return false now 2022-07-11 11:22:40 +00:00
Torsten DittmannandGitHub 648b6f2038 Merge pull request #3532 from appwrite/fix-permission-array-lengths
Fix: Permissions validator max-length
2022-07-11 13:16:55 +02:00
Bishwajeet Parhi 163a013e1f fix double quotes to single quotes for strings 2022-07-11 11:15:53 +00:00
Torsten DittmannandGitHub 2652fbc1cb Merge pull request #3514 from iamdineshkumar/feat-phoneauth-msg91flow
Feat phoneauth msg91flow
2022-07-11 13:15:48 +02:00
Matej Bačo 2760f40a7c Changes after library release 2022-07-11 10:51:31 +00:00
Torsten DittmannandGitHub abc6f7a29f Merge pull request #3515 from appwrite/fix-auth-create-description
Add comments in auth docs about where/how to create accounts.
2022-07-11 12:22:34 +02:00
Torsten DittmannandGitHub 9d1bd61720 Merge pull request #3535 from appwrite/fix-ui-dates
Fix: Database dates
2022-07-11 12:16:38 +02:00
Torsten DittmannandGitHub 5d7e7a48ad Merge pull request #3509 from stnguyen90/fix-3508-hardcoded-db-schema
Fix hardcoded appwrite database schema
2022-07-11 12:16:04 +02:00
Torsten DittmannandGitHub bddd477bd7 Merge pull request #3511 from appwrite/fix-attribute-dbid
Fix attribute databaseId
2022-07-11 12:13:35 +02:00
Torsten DittmannandGitHub f53b5121af Merge pull request #3519 from appwrite/feat-improve-dates-tests
Implemented updateDocument date tests
2022-07-11 12:12:12 +02:00
Torsten DittmannandGitHub 4befae3a8d Merge pull request #3523 from appwrite/feat-composer-scripts
feat: composer scripts
2022-07-11 12:11:47 +02:00
Matej Bačo 1616f15a40 Fix database dates 2022-07-11 08:40:58 +00:00
Matej Bačo aae7ec6146 Upgrade to use new permissiosn validator features 2022-07-10 17:25:27 +00:00
Damodar Lohani 1c5e84324b functions test 2022-07-10 02:12:49 +00:00
shimon 428adcf47f logger moved to App::shutdown 2022-07-09 21:30:01 +03:00
shimon 59627ea9ef logger moved to App::shutdown 2022-07-09 21:24:28 +03:00
Dineshkumar 020bb160b9 changed payload encodings 2022-07-09 20:12:48 +05:30
Eldad A. FuxandGitHub 4016a37573 Merge pull request #3525 from appwrite/correct-telesign-reference-material
Fix: Correct TeleSign reference material link
2022-07-09 17:32:52 +03:00
Dineshkumar 817524de4b Renamed Msg91Flow to Msg91 2022-07-09 19:34:57 +05:30
Christy Jacob 43ec31e393 feat: restructuring db pools 2022-07-09 17:41:14 +04:00
Bishwajeet ParhiandGitHub ca3da4adf5 Merge branch 'appwrite:master' into feat-disqus-Oauth-provider 2022-07-09 00:06:06 +05:30
Bishwajeet Parhi 4adc0eb563 fix urls get user method 2022-07-08 18:18:40 +00:00
Bishwajeet Parhi a54151fb86 add php intellisense 2022-07-08 18:18:04 +00:00
Aditya OberaiandGitHub 5d70a4749a Correct TeleSign reference material link 2022-07-08 23:14:09 +05:30
Bishwajeet Parhi 2d8ddfedfa update comment 2022-07-08 16:02:24 +00:00
Bishwajeet Parhi 16c1b0bc2a feat-disqus 2022-07-08 15:57:51 +00:00
Torsten Dittmann 0c46022f1b feat: composer scripts 2022-07-08 17:17:20 +02:00
Torsten DittmannandGitHub 6d85772bd1 Merge pull request #3517 from stnguyen90/fix-3510-userId-not-optional-on-login
Add alias for POST /v1/account/sessions/email
2022-07-08 16:53:32 +02:00
wess c20d05ba45 Linter run 2022-07-08 10:47:52 -04:00
wess dea874e36e Adds retreiving user info for user name and email 2022-07-08 10:41:12 -04:00
Matej Bačo 8fa227f3da New date test 2022-07-08 09:38:49 +00:00
Matej Bačo 76921ced71 Implemented updateDocument date tests 2022-07-08 09:36:19 +00:00
Damodar Lohani a17496d291 update tasks 2022-07-08 02:36:54 +00:00
Damodar Lohani cb2fc93f78 basic setup for extendable tasks 2022-07-08 02:27:06 +00:00
Steven 3666d0ab73 Add alias for POST /v1/account/sessions/email
Add /v1/account/sessions as an alias for POST /v1/account/sessions/email
for backwards compatibility.
2022-07-07 22:23:52 +00:00
Vincent (Wen Yu) Ge b45256c31b fix typo in ref link 2022-07-07 19:25:39 +00:00
fogelito bc33356a57 collection last attributes to changes 2022-07-07 21:41:23 +03:00
shimon 9968bebed2 logger moved to App::shutdown 2022-07-07 21:35:27 +03:00
Vincent (Wen Yu) Ge 43e9f9998f Add comments in auth docs about where/how to create accounts. 2022-07-07 17:40:21 +00:00
shimon eeca43014a logger moved to App::shutdown 2022-07-07 18:45:24 +03:00
DineshkumarandGitHub b5b5abdc82 Updated Functional Document Provider name as msg91 2022-07-07 20:59:34 +05:30
DineshkumarandGitHub 5eab0d47e4 renamed msg91-flow as msg91 2022-07-07 20:57:48 +05:30
shimon 0249966741 logger moved to App::shutdown 2022-07-07 18:16:03 +03:00
shimon 6437ba8c6a logger moved to App::shutdown 2022-07-07 18:09:36 +03:00
shimon b2b2534dcc logger moved to App::shutdown 2022-07-07 18:06:05 +03:00
shimon c06957b2f0 logger moved to App::shutdown 2022-07-07 18:00:44 +03:00
Christy JacobandGitHub 00b22d50c7 Merge pull request #3512 from appwrite/fix-get-deployment-model
Fix get deployment response type
2022-07-07 18:59:09 +04:00
shimon a0cfc2110a logger moved to App::shutdown 2022-07-07 17:51:22 +03:00
Eldad A. FuxandGitHub 0615c6624e Merge pull request #3513 from appwrite/lohanidamodar-patch-1
set proper log namespace
2022-07-07 15:25:39 +03:00
DineshkumarandGitHub d2bf2f8f5a Added Msg91 Adaptor Using Flow 2022-07-07 16:41:50 +05:30
DineshkumarandGitHub 7a486e1158 Added Msg91 Flow Adapter 2022-07-07 16:40:29 +05:30
Christy Jacob 8e936dc3c2 feat: fix realtime tests 2022-07-07 14:39:23 +04:00
fogelito 10ca7de6ba workers functions 2022-07-07 12:54:46 +03:00
fogelito e0f2d59864 scheduleNext + schedulePrevious functions changes 2022-07-07 12:26:30 +03:00
fogelito 05f8352837 test fix 2022-07-07 11:07:42 +03:00
Damodar LohaniandGitHub 79dc3ab3fa set proper log namespace 2022-07-07 13:37:29 +05:45
fogelito 29436c1e5f Datetime change for joined and invited 2022-07-07 10:44:28 +03:00
Jake Barnby d13afe0b2e Fix get deployment response type 2022-07-07 16:51:37 +12:00
Christy Jacob afd40cae77 fix: add realtime worker 2022-07-07 01:43:54 +04:00
Steven 8a0f2010a2 Fix hardcoded appwrite database schema 2022-07-06 17:04:29 +00:00
fogelito f8c6050abe sessionVerify Remove var_dump 2022-07-06 19:13:43 +03:00
fogelito dea98d5e87 sessionVerify Remove var_dump 2022-07-06 19:13:30 +03:00
fogelito f8e85e3208 sessionVerify Remove var_dump 2022-07-06 18:10:31 +03:00
fogelito b01f4ed802 Unit Tests 2022-07-06 18:07:50 +03:00
fogelito d7244bd9ba Tests 2022-07-06 17:47:34 +03:00
Torsten DittmannandGitHub 039ad5727f Merge pull request #3507 from appwrite/prepare-0-15-2
prepare: 0.15.2
2022-07-06 16:11:54 +02:00
Torsten Dittmann 6d55083ef6 Merge branch 'master' of https://github.com/appwrite/appwrite into prepare-0-15-2 2022-07-06 16:05:37 +02:00
Torsten DittmannandGitHub a02800695a Merge pull request #3506 from appwrite/fix-realtime-manual-authentication
fix: realtime authentication on console
2022-07-06 13:50:22 +02:00
Torsten Dittmann 6683e5f8ec prepare: 0.15.2 2022-07-06 13:25:42 +02:00
Torsten DittmannandGitHub 8d2ec59f71 Merge pull request #3475 from appwrite/feat-deprecate-all-parameter
Feat: Deprecate all parameter
2022-07-06 13:05:06 +02:00
Torsten DittmannandGitHub c8e0bb04b6 Merge pull request #3498 from appwrite/feat-explain-phone-registration
Explain how creating a phone session can create a new user
2022-07-06 12:56:04 +02:00
Torsten DittmannandGitHub 4d9bacbecc Merge pull request #3497 from 2002Bishwajeet/patch-1
fix typo
2022-07-06 12:55:42 +02:00
Torsten DittmannandGitHub 326992f3ba Merge pull request #3495 from appwrite/fix-typo-flutter-changelog
Fix typo
2022-07-06 12:55:24 +02:00
Torsten DittmannandGitHub 9bdd1087ba Merge pull request #3500 from appwrite/fix-internal-dates-update
Fix: createdAt bug after updating document
2022-07-06 12:54:50 +02:00
Torsten Dittmann 806a67b1b0 fix: realtime authentication on console 2022-07-06 12:53:30 +02:00
Torsten DittmannandGitHub fdfda47f0c Merge pull request #3505 from stnguyen90/fix-3504-incorrect-collection-usage-alias
Fix get collection usage alias
2022-07-06 12:32:17 +02:00
Simon 2065a0b349 Merge branch 'appwrite-master' into feat-XXX-authentik-oauth 2022-07-06 11:11:52 +02:00
Simon 2272ff5ed7 Merge branch 'master' of https://github.com/appwrite/appwrite into appwrite-master 2022-07-06 11:11:13 +02:00
Simon 92a43a5930 Merge branch 'appwrite:master' into feat-XXX-authentik-oauth 2022-07-06 11:02:59 +02:00
Damodar Lohani b81978c67c fix linters 2022-07-06 05:50:10 +00:00
Damodar Lohani 5d3c5a151f error checking and increase wait time 2022-07-06 05:16:25 +00:00
Jake Barnby 937240f244 Fix attribute databaseId 2022-07-06 17:13:29 +12:00
Steven Nguyen ee4aff0ca4 Fix get collection usage alias 2022-07-06 04:07:53 +00:00
Damodar Lohani 4422613248 update tests with less waiting time 2022-07-06 01:56:47 +00:00
Damodar Lohani 4abd4a6882 fix stats issues 2022-07-06 01:56:25 +00:00
fogelito ae4cb685c0 expire 2022-07-05 21:55:20 +03:00
fogelito acba505144 addCookie timestamp 2022-07-05 21:24:10 +03:00
fogelito 858dab7814 unit auth 2022-07-05 20:04:19 +03:00
fogelito e034b4a331 unit auth 2022-07-05 19:57:19 +03:00
fogelito 2630d0b56c certificate getRenewDate 2022-07-05 19:29:12 +03:00
Matej Bačo 9f364bb9dd Fix document date 2022-07-05 16:07:07 +00:00
Bishwajeet ParhiandGitHub c1b9a9477e fix typo 2022-07-05 18:42:13 +05:30
fogelito 203b3058a2 providerAccessTokenExpiry 2022-07-05 16:06:55 +03:00
fogelito a9a91603d1 account expire 2022-07-05 13:59:03 +03:00
shimon 27333035c0 restore 2022-07-05 10:48:52 +03:00
shimon 0c2c030b71 restore 2022-07-05 10:46:41 +03:00
shimon 56a21b3968 small fix 2022-07-05 10:37:46 +03:00
Damodar Lohani c5b0a40279 fix linter errors 2022-07-05 07:11:27 +00:00
716c62ba8f Update app/controllers/api/avatars.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-07-05 10:10:58 +03:00
Damodar Lohani e4144f2c64 remove dump 2022-07-05 07:05:06 +00:00
Damodar Lohani ee6abd45db databases tests 2022-07-05 06:53:57 +00:00
Vincent (Wen Yu) Ge 804c2dc3ae Explain how creating a phone session can create a new user 2022-07-04 21:51:48 +00:00
Matej Bačo 79cbdb537e PR review changes, add name from Podio 2022-07-04 10:32:56 +00:00
fogelito 903ca342cb Model changes 2022-07-04 13:11:38 +03:00
fogelito 8628105eef Model changes 2022-07-04 12:55:11 +03:00
Damodar Lohani f4d74c4935 namespace 2022-07-04 09:31:14 +00:00
Damodar Lohani 9486a6b2a3 storage usage tests 2022-07-04 09:00:07 +00:00
Damodar LohaniandGitHub 10884f2371 fix typo 2022-07-04 13:52:29 +05:45
Damodar Lohani 14dda66c03 more work on tests 2022-07-03 13:10:26 +00:00
Damodar Lohani c6553aef3d linter fixes 2022-07-03 12:11:43 +00:00
shimon 65011d1af7 cache cleanup 2022-07-03 12:49:43 +03:00
shimon 7b429bdcd7 cache cleanup 2022-07-03 12:36:59 +03:00
Matej BačoandGitHub 9623974ed5 Linter fix 2022-07-03 10:14:36 +02:00
Matej BačoandGitHub 7b5a35cbc6 Remove leftovers 2022-07-03 10:09:26 +02:00
Matej BačoandGitHub e26dc9a2b7 Update docs, remove leftovers 2022-07-03 10:05:49 +02:00
Damodar Lohani d5e8b23577 more tests 2022-07-03 02:42:13 +00:00
Damodar Lohani 69a036b2b7 fix linter 2022-07-03 01:09:11 +00:00
fogelito af518cf1f4 composer.lock 2022-07-02 18:47:33 +03:00
fogelito 73a19614e1 functions api 2022-07-02 17:38:53 +03:00
Eldad A. FuxandGitHub bafc8f829a Merge pull request #3476 from appwrite/fix-ui-delete-collection-redirect
fix(ui): redirect after deleting collection
2022-07-02 17:34:46 +03:00
Eldad A. FuxandGitHub 0d5550b043 Merge pull request #3481 from brandonroberts/docx-fix-storage-databases
docs(storage): fix link to databases page
2022-07-02 17:34:15 +03:00
fogelito 6c6f7fb3bb functions api 2022-07-02 17:26:07 +03:00
fogelito cff5bab403 functions api 2022-07-02 17:25:44 +03:00
Matej Bačo 6e8b11113e Fix Podio 2022-07-02 11:57:36 +00:00
Matej Bačo 9d973d9252 WIP: Podio provider 2022-07-02 11:36:05 +00:00
Christy Jacob a0c43f1fe3 feat: update worker class 2022-07-02 10:54:19 +02:00
fogelito d405f74c54 worker change for time 2022-07-02 09:01:54 +03:00
Brandon ab06570a50 docs(storage): fix link to databases page 2022-07-01 11:29:25 -05:00
Christy Jacob 3ab4dcb7c1 feat: refactor DatabasePool class 2022-07-01 15:43:38 +02:00
Christy Jacob 8d5dd605d8 feat: refactor DatabasePool class 2022-07-01 14:18:33 +02:00
fogelito 6d46332f96 changing datetime from timestamp to datetime 2022-07-01 15:05:14 +03:00
fogelito e07e5b5cf8 changing datetime from timestamp to datetime 2022-07-01 15:01:14 +03:00
Eldad A. FuxandGitHub d877795561 Merge pull request #3479 from appwrite/add-servicestoreadme
Added realtime services to README
2022-07-01 11:31:30 +03:00
haimantika mitra 5ae2546339 Added realtime services to README 2022-07-01 13:55:54 +05:30
4acd56e661 Update app/tasks/install.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-07-01 08:13:33 +02:00
Christy Jacob 899869b51b feat: refactoring all db resources 2022-06-30 21:05:00 +02:00
Torsten Dittmann f8d3bd7da3 fix(ui): redirect after deleting collection 2022-06-30 17:40:16 +02:00
Christy Jacob 373295b498 feat: add new projectDB resource 2022-06-30 17:38:47 +02:00
Matej BačoandGitHub ac90f8fddc Deprecate all parameter 2022-06-30 14:37:20 +02:00
Christy Jacob 1c1a635d5a feat: rename db to consoleDB 2022-06-30 13:01:29 +02:00
Damodar Lohani 1c1442a4fc linters fix 2022-06-30 09:40:27 +00:00
Damodar Lohani 477bc95a00 fixed test 2022-06-30 09:37:59 +00:00
Damodar Lohani 02f45abcb9 initial e2e test for usage stats 2022-06-30 09:33:40 +00:00
Torsten DittmannandGitHub 46d4525c45 Merge pull request #3467 from aadarshadhakalg/master
fix: typo in database create success alert message
2022-06-30 10:55:19 +02:00
Torsten DittmannandGitHub abdb27ea29 Merge pull request #3471 from appwrite/fix-compose-link
Update link in readme to example compose file
2022-06-30 10:55:00 +02:00
Torsten DittmannandGitHub 4ffca32653 Merge pull request #3473 from appwrite/feat-specs-nested-models
feat: nested models in spec
2022-06-30 10:54:36 +02:00
Torsten Dittmann e81ea8126a style: fix var type in specs 2022-06-30 10:51:35 +02:00
Torsten DittmannandGitHub 2a263b0e82 Merge pull request #3469 from appwrite/fix-database-document-links
fix(ui): document link
2022-06-30 10:49:11 +02:00
Torsten DittmannandGitHub 1a2392274a Merge pull request #3470 from appwrite/release-new-js-sdks
chore: bump sdk versions
2022-06-30 10:48:46 +02:00
Damodar Lohani 7a58814c61 WIP 2022-06-30 04:27:11 +00:00
Torsten Dittmann 3e1a92f486 chore: linter 2022-06-30 01:46:04 +02:00
Torsten Dittmann 5668ad01d5 chore: generate specs 2022-06-30 01:41:57 +02:00
Torsten Dittmann 056e0d79ed fix: add nested models to specifications 2022-06-30 01:41:49 +02:00
Vincent (Wen Yu) Ge defd527625 Add both compose and env files to readme 2022-06-29 22:07:51 +00:00
Vincent (Wen Yu) Ge ec1da1f540 Update link in readme to example compose file 2022-06-29 15:54:34 +00:00
Torsten Dittmann ed71b9f31d chore: bump sdk versions 2022-06-29 17:33:42 +02:00
Torsten Dittmann 1b9f6ba58e fix(ui): document link 2022-06-29 16:44:24 +02:00
Torsten DittmannandGitHub 08704e8c93 Merge pull request #3465 from appwrite/prepare-0-15-1
prepare: 0.15.1 release
2022-06-29 15:50:44 +02:00
Torsten Dittmann 54bd8507bc fix: ui delete document redirect 2022-06-29 15:46:00 +02:00
Aadarsha Dhakal c72f8f6499 fix: typo in database create success alert message 2022-06-29 18:30:27 +05:45
Torsten Dittmann 2bc6587e84 chore: increase chache buster 2022-06-29 13:56:56 +02:00
Torsten Dittmann ee68732419 chore: update changelog 2022-06-29 13:42:02 +02:00
Torsten Dittmann 96744997e8 chore: update changelog 2022-06-29 13:39:43 +02:00
Torsten Dittmann 95181b0a7f prepare: 0.15.1 release 2022-06-29 13:36:35 +02:00
Torsten DittmannandGitHub d5a0b52eef Merge pull request #3464 from appwrite/docs-0-15-1
chore: generate specs
2022-06-29 13:31:42 +02:00
Torsten Dittmann 21df4861b4 chore: generate specs 2022-06-29 13:24:45 +02:00
Torsten DittmannandGitHub 0b5fbadf66 Merge pull request #3463 from appwrite/fix-delete-document-ui
fix(ui): delete document
2022-06-29 13:18:33 +02:00
Torsten Dittmann d509efa43e fix(ui): delete document 2022-06-29 13:16:59 +02:00
Torsten DittmannandGitHub cfaf3efa85 Merge pull request #3455 from appwrite/fix-migration-0-15-1
fix: internal attribute and index key on migration
2022-06-29 12:56:18 +02:00
Torsten DittmannandGitHub a11a9d42f0 Merge pull request #3461 from appwrite/fix-ui-issues
fix: ui issues
2022-06-29 12:55:39 +02:00
Torsten Dittmann a389164cea fix: index ui 2022-06-29 12:52:10 +02:00
Torsten DittmannandGitHub 3d7e33de85 Merge pull request #3448 from appwrite/feat-sdk-node-7-0-1
feat: node sdk version 7.0.1
2022-06-29 12:35:53 +02:00
Torsten DittmannandGitHub 9918e3390e Merge pull request #3456 from appwrite/update-phone-docs
feat: update docs
2022-06-29 12:35:38 +02:00
Torsten Dittmann 7028bc1415 fix: internal id twice 2022-06-29 12:31:11 +02:00
Torsten Dittmann f387ce08bc fix: ui issues 2022-06-29 12:11:45 +02:00
Torsten DittmannandGitHub 7c85d5fc3f Merge pull request #3454 from appwrite/fix-phone-worker
feat: trigger sms for createVerification
2022-06-29 11:00:23 +02:00
Damodar Lohani 79936b88d0 new stats and lints 2022-06-29 07:40:15 +00:00
Damodar Lohani 71c8c8a72e inbound and outbound bandwidth 2022-06-29 07:21:54 +00:00
Damodar Lohani 25aca3c4d3 compute stats 2022-06-29 07:03:06 +00:00
Damodar Lohani 01016b0444 collect function builds and total compute time 2022-06-29 06:48:40 +00:00
Damodar Lohani 6a90c7c653 stats on build 2022-06-29 06:30:24 +00:00
Christy Jacob 33850dcfff feat: update docs 2022-06-29 02:37:52 +02:00
Torsten Dittmann 8ee78137e6 fix: internal attribute and index key on migration 2022-06-29 01:07:48 +02:00
Christy Jacob 9fdaa92bd1 feat: trigger sms for createVerification 2022-06-29 01:04:08 +02:00
Torsten DittmannandGitHub c5dde7c2f5 Merge pull request #3450 from appwrite/everly-gif-patch-1
Update README.md
2022-06-28 19:08:39 +02:00
Everly Precia SureshandGitHub d02bb73fe8 Update README.md 2022-06-28 22:31:00 +05:30
Torsten Dittmann cdace54b7a feat: node sdk version 7.0.1 2022-06-28 17:01:14 +02:00
Torsten DittmannandGitHub 58bec7b034 Merge pull request #3411 from appwrite/0.15.x
0.15.x -> master
2022-06-28 16:31:29 +02:00
Torsten DittmannandGitHub 97ec147e0b Merge pull request #3445 from appwrite/fix-phone-worker
feat: fix messaging worker
2022-06-28 15:45:11 +02:00
Christy Jacob bae6954b54 feat: add dummy phone number for tests 2022-06-28 15:43:36 +02:00
Christy Jacob 66718634c9 feat: fix messaging worker 2022-06-28 15:41:14 +02:00
Christy Jacob cb381bd3a3 feat: fix messaging worker 2022-06-28 15:40:59 +02:00
Christy Jacob f6c7fdb8ed feat: fix messaging worker 2022-06-28 15:32:59 +02:00
Torsten DittmannandGitHub 7970b2a3ee Update CHANGES.md 2022-06-28 15:05:12 +02:00
Torsten DittmannandGitHub f438d4695d Merge pull request #3405 from appwrite/fix-internal-indexes
Feat: Allow internal indexes
2022-06-28 14:21:27 +02:00
Torsten Dittmann e83cf382fd fix: all sdks and specs 2022-06-28 13:21:28 +02:00
Matej Bačo d8f0e5eb17 Implement tests 2022-06-28 10:53:16 +00:00
Bradley Schofield 11420fa84f Remove unneeded dependencies 2022-06-28 11:48:15 +01:00
Torsten DittmannandGitHub efa05a4d50 Merge pull request #3444 from appwrite/feat-dart-flutter-changelog
Dart/Flutter changelogs
2022-06-28 12:28:35 +02:00
Damodar Lohani 4126124167 Dart/Flutter changelogs 2022-06-28 10:26:12 +00:00
Torsten DittmannandGitHub c6e7fb6ac8 Merge pull request #3442 from appwrite/feat-0-15-response-filters
feat: 0.15.x response filters
2022-06-28 12:17:09 +02:00
Torsten DittmannandGitHub 8de76205f9 Merge pull request #3443 from appwrite/fix-audit-deletes
Fix: Audit deletes
2022-06-28 11:27:14 +02:00
Matej Bačo 11a0cc5658 Fix audit delete bug 2022-06-28 09:23:46 +00:00
Torsten Dittmann 1fb0d8bf80 fix: remove duplicate response model 2022-06-28 11:20:05 +02:00
Torsten Dittmann 5a2d6c0b3e feat: 0.15.x response filters 2022-06-28 11:15:27 +02:00
Torsten Dittmann ffd7463450 style: add line breaks to env var descriptions 2022-06-28 09:25:56 +02:00
Torsten Dittmann 348ea55589 chore: update changelog 2022-06-28 08:36:17 +02:00
Torsten Dittmann 93bb2022a7 chore: update composer 2022-06-28 08:35:15 +02:00
Torsten Dittmann 0571b79290 chore: update specs 2022-06-28 08:28:54 +02:00
Torsten DittmannandGitHub 8a33de806c Merge pull request #3439 from appwrite/fix-runtime-envvar-description
Update _APP_FUNCTIONS_RUNTIMES to fix typo and clarify description
2022-06-28 08:17:13 +02:00
Torsten Dittmann c766e16b5b chore: update changelog 2022-06-27 22:44:40 +02:00
Torsten Dittmann 904baec1b9 chore: update composer 2022-06-27 22:08:23 +02:00
Torsten Dittmann bc16861930 chore: bump sdk versions 2022-06-27 22:08:04 +02:00
Torsten Dittmann 8073e1cb9a chore: update docs 2022-06-27 22:07:51 +02:00
Vincent (Wen Yu) Ge 60ad401f0e Update _APP_FUNCTIONS_RUNTIMES to fix typo and clarify description 2022-06-27 20:03:51 +00:00
Torsten DittmannandGitHub b5e599fac5 Update docker-compose.yml 2022-06-27 19:23:34 +02:00
Torsten DittmannandGitHub 6c186447d7 Update docker-compose.yml 2022-06-27 19:23:29 +02:00
Torsten Dittmann 6de09c5950 fix: events ui 2022-06-27 19:12:40 +02:00
Torsten DittmannandGitHub 4038abbe10 Merge pull request #3414 from appwrite/feat-migration-0-15-x
feat: migration for 0.15.x
2022-06-27 18:56:18 +02:00
Torsten Dittmann 0c192e5a3e Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-migration-0-15-x 2022-06-27 18:53:44 +02:00
Torsten Dittmann def1c35377 chore: add more comments 2022-06-27 18:44:39 +02:00
Torsten Dittmann ff219cf91a fix: project internal id migration 2022-06-27 18:26:24 +02:00
Torsten Dittmann c0649f7385 fix: migration 2022-06-27 18:22:29 +02:00
Torsten Dittmann c3c6d00a9c fix: case for console projects 2022-06-27 16:58:57 +02:00
Torsten Dittmann 30557bbe4e fix: docker compose in dockerfile 2022-06-27 15:57:24 +02:00
Eldad A. FuxandGitHub 2e92ad9e51 Update README.md 2022-06-27 16:00:19 +03:00
Torsten Dittmann 9b387910ba Merge branch '0.15.x' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-27 14:16:38 +02:00
Torsten Dittmann 4d2101b092 chore: update geo db 2022-06-27 14:16:35 +02:00
Torsten Dittmann d945cb2a72 fix: remove var dump 2022-06-27 13:58:21 +02:00
Torsten Dittmann d36e5b0167 fix: migration speed 2022-06-27 13:46:32 +02:00
Torsten Dittmann f240a11c54 fix: migrate bucket files 2022-06-27 13:10:04 +02:00
Torsten DittmannandGitHub b4eb4ee97d Merge pull request #3437 from appwrite/feat-spec-global-attributes
feat: global attributes in specs
2022-06-27 12:04:44 +02:00
Torsten DittmannandGitHub 79a6556b0d Merge pull request #3420 from appwrite/add-autodesk-oauth-provider
Add Autodesk OAuth provider
2022-06-27 11:54:08 +02:00
Torsten Dittmann 53ad2a5114 fix: global attributes for body payload 2022-06-27 11:14:27 +02:00
Torsten Dittmann 3cdeeac964 feat: global attributes in specs 2022-06-27 10:41:10 +02:00
Torsten Dittmann cb2e1a0b1e Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-migration-0-15-x 2022-06-27 10:08:48 +02:00
Torsten DittmannandGitHub fa0af50d02 Merge pull request #3419 from appwrite/database-layer-docs
Create database layer description documents
2022-06-27 10:08:35 +02:00
Torsten DittmannandGitHub f24649295d Merge pull request #3435 from appwrite/fix-database-delete
fix database deletion redirection
2022-06-26 20:35:38 +02:00
Damodar Lohani 7397f54010 fix database deletion redirection 2022-06-26 07:09:51 +00:00
Torsten Dittmann 129653a6d6 fix: migrate databaseId 2022-06-24 18:46:13 +02:00
Vincent (Wen Yu) GeandGitHub 9ceef4c096 Merge branch '0.15.x' into database-layer-docs 2022-06-24 12:39:06 -04:00
Torsten Dittmann 2c328c744d chore: run linter 2022-06-24 18:37:41 +02:00
Torsten Dittmann ababeef84d fix: update files on migration 2022-06-24 18:15:51 +02:00
Matej Baco 77941bcf73 Fix scrypt ext 2022-06-24 16:10:28 +02:00
Torsten Dittmann 016d6939d5 fix: buckets 2022-06-24 16:04:42 +02:00
Torsten Dittmann 5c12350248 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-migration-0-15-x 2022-06-24 15:36:28 +02:00
Matej BačoandGitHub 5a10a9494f Update SCrypt tests 2022-06-24 14:30:39 +02:00
Torsten Dittmann 4593fc9ef2 tests: fix tests from master 2022-06-24 14:18:10 +02:00
Torsten Dittmann ef1daf8f1c Merge branch 'master' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-24 14:15:42 +02:00
Torsten DittmannandGitHub 0f0654d49e Merge pull request #3346 from gepd/feat-empty-payload
Allows to update permissions without payload
2022-06-24 14:09:01 +02:00
Torsten DittmannandGitHub ad85f21faa Merge pull request #3430 from appwrite/fix-file-param-type
Fix file upload param type
2022-06-24 14:03:44 +02:00
Torsten DittmannandGitHub 4895efd4ca Merge pull request #3429 from appwrite/improve-oauth-analytics
feat: add analytics label for view as JSON
2022-06-24 14:03:30 +02:00
Torsten DittmannandGitHub f25d653ca2 Merge pull request #3431 from appwrite/fix-phone-auth-error
feat: add new errors for phone auth
2022-06-24 14:03:00 +02:00
Bradley Schofield 06d145777e Update Dockerfile 2022-06-24 12:24:13 +01:00
Christy Jacob 600eb0d0d0 feat: revert .env change 2022-06-24 12:54:30 +02:00
Christy Jacob 43f834c0bd feat: add new errors for phone auth 2022-06-24 12:49:00 +02:00
Christy Jacob 4a2dac9d46 feat: add OAuth name in event label 2022-06-24 11:48:55 +02:00
Damodar LohaniandGitHub 2750e60768 fix for ruby and go SDK as file params seems to be string 2022-06-24 15:24:44 +05:45
Torsten DittmannandGitHub aec4870b51 Merge pull request #3428 from appwrite/fix-response-model-for-database-list
fix-response-model-for-database-list
2022-06-24 11:27:33 +02:00
Torsten DittmannandGitHub 80041db81b Merge pull request #3427 from appwrite/fix-usage-stats
fix usage collection
2022-06-24 11:27:20 +02:00
Christy Jacob 0166681dde feat: add analytics label for view as JSON 2022-06-24 11:12:29 +02:00
Torsten Dittmann 45941e52da docs: rename database to databases 2022-06-24 10:14:49 +02:00
Damodar LohaniandGitHub dfbb9b2b3b fix-response-model-for-database-list 2022-06-24 12:51:21 +05:45
Damodar Lohani f571979259 fix usage collection 2022-06-24 06:08:25 +00:00
Bradley SchofieldandGitHub 9ceeb3411b Implement inhouse scrypt PHP extension 2022-06-23 17:16:12 +01:00
Christy Jacob b303f20cac feat: remove duplicate dbForProject resource 2022-06-23 16:38:20 +02:00
Torsten DittmannandGitHub cf7d10046c Merge pull request #3421 from appwrite/fix-createdat-lock
Fix: Lock $createdAt
2022-06-23 13:09:36 +02:00
Torsten DittmannandGitHub c13ab53b45 Merge pull request #3425 from appwrite/fix-arrow-back
Fix: Arrow back
2022-06-23 13:09:21 +02:00
Torsten Dittmann 12cd0ee839 chore: clean up docs 2022-06-23 12:04:54 +02:00
Matej Bačo 4a1a150f84 Add databaseId to UI url 2022-06-23 09:57:50 +00:00
Matej Bačo c19a2484c3 Merge remote-tracking branch 'origin/0.15.x' into fix-internal-indexes 2022-06-23 09:22:54 +00:00
Torsten DittmannandGitHub 3f1b906de0 Merge pull request #3422 from appwrite/feat-database-layer-alias
Add alias to Database Layer
2022-06-23 11:00:32 +02:00
Torsten DittmannandGitHub c8ec2c7375 Merge pull request #3424 from appwrite/fix-dashboard
fix usage stats on dashboard
2022-06-23 10:59:58 +02:00
Damodar Lohani e169d3b019 fix usage stats on dashboard 2022-06-23 08:58:47 +00:00
Christy Jacob bab788111a Merge branch 'master' of github.com:appwrite/appwrite into feat-db-pools 2022-06-23 10:51:13 +02:00
Torsten Dittmann 8e3ed52924 style: add more comments to migration 2022-06-23 10:50:53 +02:00
Damodar Lohani 1a034d45f6 alias 2022-06-23 08:50:11 +00:00
Christy Jacob 69f1798758 feat: add db-pools 2022-06-23 10:50:00 +02:00
Matej Bačo fdab2e28e9 Bug fixing 2022-06-23 08:48:59 +00:00
Torsten Dittmann d26baf1f57 fix: migration and add more tests 2022-06-23 10:18:23 +02:00
Matej Bačo 3f8ab486c2 Lock createdAt 2022-06-23 08:17:02 +00:00
gepdandGitHub 020e08143e fix linter 2022-06-22 20:45:33 -04:00
gepdandGitHub addfae2f46 fix tests 2022-06-22 19:38:56 -04:00
Torsten Dittmann 0fea75a345 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-migration-0-15-x 2022-06-22 23:19:45 +02:00
Torsten Dittmann a16aaa8a48 chore: update docs and specs 2022-06-22 23:19:08 +02:00
Torsten Dittmann eddc33c4db fix: empty dateText filter 2022-06-22 23:11:52 +02:00
Torsten Dittmann a37f84da01 fix: migration 2022-06-22 23:11:42 +02:00
Torsten Dittmann a126670f72 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-22 22:27:13 +02:00
Torsten Dittmann 5729798aaf ui: fix users list with phone 2022-06-22 22:27:01 +02:00
Vincent (Wen Yu) Ge 43a6c51ab8 fixed list databases description 2022-06-22 17:06:47 +00:00
Vincent (Wen Yu) Ge 9c68e68125 Database Layers API docs updated 2022-06-22 16:28:09 +00:00
haimantika mitra 148d46a2b1 New image updates 2022-06-22 21:54:47 +05:30
Torsten DittmannandGitHub 50114a4173 Merge pull request #3417 from appwrite/fix-015-matej-qa
Fix: 015 (Matej QA)
2022-06-22 17:49:36 +02:00
haimantika mitra fbc86e29d4 Uppercase 2022-06-22 21:05:35 +05:30
haimantika mitra fe824fd733 Autodesk adapter 2022-06-22 20:30:19 +05:30
Matej Bačo b1d6decbb2 Merge remote-tracking branch 'origin/0.15.x' into fix-015-matej-qa 2022-06-22 14:51:18 +00:00
Torsten Dittmann 6931116561 fix: assoc events array from events class 2022-06-22 16:44:30 +02:00
Matej Bačo 336127da55 Merge remote-tracking branch 'origin/0.15.x' into fix-internal-indexes 2022-06-22 14:22:46 +00:00
Torsten Dittmann 604c7e4992 fix: database layer migration 2022-06-22 15:52:21 +02:00
Matej Bačo 72278b4f0f More database UI bug fixes 2022-06-22 13:30:35 +00:00
Matej Bačo f069719ef3 Code cleanup 2022-06-22 13:08:15 +00:00
Matej Bačo a049b13741 Fix database UI names 2022-06-22 13:03:55 +00:00
Torsten Dittmann 7e3040076b Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-migration-0-15-x 2022-06-22 12:52:27 +02:00
8f14f5aa21 Database layer (#3338)
* database response model

* database collection config

* new database scopes

* database service update

* database execption codes

* remove read write permission from database model

* updating tests and fixing some bugs

* server side tests are now passing

* databases api

* tests for database endpoint

* composer update

* fix error

* formatting

* formatting fixes

* get database test

* more updates to events and usage

* more usage updates

* fix delete type

* fix test

* delete database

* more fixes

* databaseId in attributes and indexes

* more fixes

* fix issues

* fix index subquery

* fix console scope and index query

* updating tests as required

* fix phpcs errors and warnings

* updates to review suggestions

* UI progress

* ui updates and cleaning up

* fix type

* rework database events

* update tests

* update types

* event generation fixed

* events config updated

* updating context to support multiple

* realtime updates

* fix ids

* update context

* validator updates

* fix naming conflict

* fix tests

* fix lint errors

* fix wprler and realtime tests

* fix webhooks test

* fix event validator and other tests

* formatting fixes

* removing leftover var_dumps

* remove leftover comment

* update usage params

* usage metrics updates

* update database usage

* fix usage

* specs update

* updates to usage

* fix UI and usage

* fix lints

* internal id fixes

* fixes for internal Id

* renaming services and related files

* rename tests

* rename doc link

* rename readme

* fix test name

* tests: fixes for 0.15.x sync

Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 12:51:49 +02:00
Torsten Dittmann e89a367131 Merge branch 'master' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-22 12:48:42 +02:00
Torsten DittmannandGitHub 9aead96518 Merge pull request #3366 from appwrite/feat-selfhosted-gitlab-oauth
Feat: Gitlab OAuth custom endpoint
2022-06-22 12:48:21 +02:00
Torsten Dittmann 4bca6c3696 Merge branch 'master' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-22 12:46:27 +02:00
Torsten DittmannandGitHub dc1daca739 Merge pull request #3404 from appwrite/feat-redis-conf
added redis conf
2022-06-22 12:45:38 +02:00
Torsten DittmannandGitHub 6fd2113870 feat: add redis config to users compose 2022-06-22 12:44:24 +02:00
Matej BačoandGitHub 5337a721b0 PR review changes 2022-06-22 11:55:17 +02:00
Matej Bačo c7087e7ac0 Removed TODOs 2022-06-22 09:46:37 +00:00
Torsten Dittmann 8e3aef135d Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-migration-0-15-x 2022-06-22 11:27:28 +02:00
Torsten DittmannandGitHub dcc7c18ab9 Merge pull request #3381 from appwrite/feat-increase-array-element-length
Feat: Increase array element length
2022-06-22 11:26:23 +02:00
Matej Bačo b682ffdfa3 Merge remote-tracking branch 'origin/0.15.x' into fix-internal-indexes 2022-06-22 09:26:15 +00:00
Matej Bačo 8623302cc3 Update db version 2022-06-22 09:25:53 +00:00
Torsten Dittmann 3ca63d5b6a chore: make code sniffer a dev dependency 2022-06-22 11:25:15 +02:00
Torsten Dittmann 8b62cda91c Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-increase-array-element-length 2022-06-22 11:20:49 +02:00
Torsten Dittmann 018d63f250 chore: update composer lock 2022-06-22 11:20:09 +02:00
Torsten Dittmann 9d7b6927d6 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-increase-array-element-length 2022-06-22 11:10:03 +02:00
Matej BačoandGitHub 41ab727c78 Increase element limit 2022-06-22 11:08:11 +02:00
Torsten DittmannandGitHub 9d3253dc0c Merge pull request #3397 from appwrite/fix-oauth-providers-docs
Fix: OAuth provider docs
2022-06-22 10:58:52 +02:00
Matej Baco eedd7c382b Fix leftovers 2022-06-22 10:57:34 +02:00
Torsten Dittmann 833a7e8465 chore: update composer 2022-06-22 10:56:24 +02:00
Torsten DittmannandGitHub 050ce467f8 Merge pull request #3400 from appwrite/feat-improve-gitpod-preloads
Feat: Improve Gitpod preloading
2022-06-22 10:08:34 +02:00
Torsten DittmannandGitHub 5c1ffdf4a8 Merge pull request #3413 from appwrite/fix-web-examples
Fix: Web SDK examples
2022-06-22 10:08:04 +02:00
Torsten DittmannandGitHub bfe632b543 Merge pull request #3415 from appwrite/dependabot/composer/guzzlehttp/guzzle-7.4.5
Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5
2022-06-22 10:05:48 +02:00
Matej Bačo bd9cb92035 Fix tests 2022-06-22 08:00:12 +00:00
Matej Bačo 9e11941aae Added query length tests 2022-06-22 07:47:02 +00:00
dependabot[bot]andGitHub a4755c9851 Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 21:01:34 +00:00
Torsten Dittmann ae7a93b8dc fix: phone env variables and compose template 2022-06-21 20:32:51 +02:00
Torsten DittmannandGitHub 1694f859c5 Merge pull request #3408 from appwrite/ui-webhook-signature
ui: allow generating a new webhook signature
2022-06-21 20:26:11 +02:00
Torsten Dittmann 84ed87d7c3 tests: add test for migration 2022-06-21 20:21:36 +02:00
Torsten Dittmann 12f49f66be chore: run formatter 2022-06-21 20:05:31 +02:00
Torsten Dittmann 21d4a8c14c style: fix order 2022-06-21 20:05:12 +02:00
Torsten Dittmann 722a3955c4 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-migration-0-15-x 2022-06-21 20:02:59 +02:00
Torsten Dittmann 79205cdccc fix: realtime and missing index 2022-06-21 20:02:43 +02:00
Torsten Dittmann 786abc5672 chore: add comments to migration 2022-06-21 19:59:20 +02:00
Torsten Dittmann 933babe9d9 chore: update composer lock 2022-06-21 19:40:25 +02:00
Torsten Dittmann fc36e6c2d0 fix: migration for custom collections and buckets 2022-06-21 19:39:05 +02:00
Torsten Dittmann 467246cc73 fix: migrate webhooks and users 2022-06-21 18:32:04 +02:00
Torsten Dittmann 67403cf95a chore: update composer 2022-06-21 18:01:17 +02:00
Torsten Dittmann 9eb016d0f4 fix: realtime reconnect behaviour 2022-06-21 18:00:23 +02:00
Torsten Dittmann 61cb9b2713 fix: migration for internal ids on documents 2022-06-21 17:59:11 +02:00
Matej Bačo 1bbfe9dbf7 Update files after merge 2022-06-21 14:56:05 +00:00
Matej Bačo 6d91d57d56 Update web SDK example 2022-06-21 14:48:50 +00:00
Matej Bačo d9a88515bc Merge remote-tracking branch 'origin/0.15.x' into feat-password-hash-algos 2022-06-21 14:03:19 +00:00
Matej Bačo a5836ecc60 PR review changes 2022-06-21 13:59:52 +00:00
Torsten Dittmann 718f4f1b5d fix: migration to modify tables 2022-06-21 15:46:05 +02:00
Torsten Dittmann ef6768433c feat: migrate createdAt and updatedAt to collections 2022-06-21 12:48:56 +02:00
Torsten Dittmann 5fd7238ad1 Merge branch 'feat-prepare-0-15' of https://github.com/appwrite/appwrite into feat-migration-0-15-x 2022-06-21 12:17:57 +02:00
Torsten Dittmann a8319407fc fix: add missing indexes 2022-06-21 12:17:34 +02:00
Torsten Dittmann 87f79509a0 feat: migration for 0.15 collections 2022-06-21 12:17:18 +02:00
Torsten DittmannandGitHub db35fc92d5 Merge pull request #3407 from appwrite/feat-prepare-0-15
chore: prepare 0.15
2022-06-21 11:08:46 +02:00
Torsten Dittmann b069b7c1bb chore: update docs 2022-06-21 10:03:50 +02:00
gepdandGitHub 6cc6928ce9 simplified test 2022-06-20 22:11:47 -04:00
gepdandGitHub c2ce37e6f3 added read and write permissions 2022-06-20 20:41:12 -04:00
gepdandGitHub 9dab76f357 get $id from response 2022-06-20 19:32:24 -04:00
gepdandGitHub 5067a4640b Remove $data argument 2022-06-20 19:04:40 -04:00
gepdandGitHub bfe3cdecc5 create collection and attribute 2022-06-20 18:33:26 -04:00
gepdandGitHub dab6f97a31 remove dependency 2022-06-20 18:24:51 -04:00
Torsten Dittmann d97698f2f8 Merge branch 'feat-prepare-0-15' of https://github.com/appwrite/appwrite into ui-webhook-signature 2022-06-20 23:39:23 +02:00
Torsten Dittmann 9d7db047e6 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-prepare-0-15 2022-06-20 23:38:57 +02:00
Torsten Dittmann e553ba2d07 fix: account phone internal ids 2022-06-20 23:38:45 +02:00
Torsten Dittmann 6b62af4102 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-prepare-0-15 2022-06-20 23:21:17 +02:00
Torsten Dittmann 95d02ed133 tests: allow teardown to fail 2022-06-20 23:21:06 +02:00
Torsten Dittmann b69bb9f149 ui: allow generating a new webhook signature 2022-06-20 23:15:51 +02:00
gepdandGitHub 43ed2591d0 added empty array as default 2022-06-20 16:28:45 -04:00
gepdandGitHub 52757ef89f updated test 2022-06-20 15:53:41 -04:00
gepdandGitHub 0bade37a26 updated test 2022-06-20 15:15:49 -04:00
Torsten Dittmann 8158470656 chore: generated spec and sdk 2022-06-20 20:44:39 +02:00
Torsten Dittmann 0b3b26e5ae Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-prepare-0-15 2022-06-20 20:35:52 +02:00
Torsten Dittmann ef15ea8318 fix: method to generate new webhook signature 2022-06-20 20:35:33 +02:00
gepdandGitHub 7cb19a725f fixed minor typo 2022-06-20 14:24:49 -04:00
gepdandGitHub ca455b380e Fixed linting errors 2022-06-20 14:03:15 -04:00
gepdandGitHub 7b60a36eea added test to update permissions with empty payload 2022-06-20 13:49:34 -04:00
Torsten Dittmann 59940e81a8 chore: prepare 0.15 2022-06-20 18:23:54 +02:00
d1505917a3 committed suggested changes
Co-authored-by: Matej Bačo <matejbaco2000@gmail.com>
2022-06-20 12:18:00 -04:00
Torsten DittmannandGitHub e6edcb5459 Merge pull request #3357 from appwrite/feat-phone-authentication
feat: phone authentication
2022-06-20 18:12:36 +02:00
Torsten DittmannandGitHub e7f328c2fe Merge pull request #3380 from appwrite/origin/feat-internal-id
Origin/feat internal ids for account / teams / users
2022-06-20 17:32:44 +02:00
Torsten Dittmann 48177e8d03 docs: update new phone docs 2022-06-20 16:47:49 +02:00
shimon 17360cd7bd passing lru params via docker compose 2022-06-20 17:32:34 +03:00
Torsten DittmannandGitHub a54aa6651c Merge pull request #3406 from appwrite/feat-add-ui-webhook-sigkey
Add UI for Webhook Signature Keys
2022-06-20 16:29:33 +02:00
Torsten Dittmann d92f06bcfa Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-phone-authentication 2022-06-20 16:28:11 +02:00
Bradley Schofield ba5ac424e4 Add UI for Webhook Signature Keys 2022-06-20 14:24:08 +00:00
Matej Bačo 43f6fda8b6 WIP: Allow internal indexes 2022-06-20 14:22:27 +00:00
Torsten Dittmann 1047fe72c3 chore: update specs and console sdk 2022-06-20 16:20:04 +02:00
Torsten Dittmann 0f33dde04e Merge branch 'master' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-20 16:15:05 +02:00
Torsten DittmannandGitHub a7a6afeb7b Merge pull request #3361 from appwrite/feat-track-runtime-state
Feat Internal Runtime State
2022-06-20 16:03:29 +02:00
Torsten Dittmann 511898afc9 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into origin/feat-internal-id 2022-06-20 15:34:27 +02:00
Torsten Dittmann aa86c26d18 tests: fix tests 2022-06-20 15:31:18 +02:00
Torsten Dittmann 7a6a9f159b ui: update user verification 2022-06-20 15:21:46 +02:00
shimon 463cd80005 added redis conf 2022-06-20 16:14:01 +03:00
Torsten Dittmann 0023af43d8 Merge branch 'feat-phone-authentication' of https://github.com/appwrite/appwrite into feat-phone-authentication 2022-06-20 15:06:19 +02:00
Torsten Dittmann a66eac1e8c fix: env variable description 2022-06-20 15:05:17 +02:00
Torsten Dittmann d0ad879f4a Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-phone-authentication 2022-06-20 15:01:17 +02:00
Torsten DittmannandGitHub 1ae0c7d895 Merge pull request #3382 from appwrite/fix-create-at-attributes
feat: use new $createdAt and $updatedAt attributes
2022-06-20 15:00:55 +02:00
shimon 628ed13a9e added redis conf 2022-06-20 15:59:42 +03:00
11ad99cdcd Update app/executor.php
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-06-20 13:35:43 +01:00
Torsten DittmannandGitHub af817ec616 Merge pull request #3379 from appwrite/feat-phone-authentication-ui
feat: add ui for phone authentication
2022-06-20 14:34:33 +02:00
Torsten Dittmann 38891b76f3 ui: add created and updated at to documents 2022-06-20 14:27:53 +02:00
Torsten Dittmann 400f5c4b48 feat: use DSN for phone provider 2022-06-20 14:22:35 +02:00
Torsten Dittmann 3c3261b7f1 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-phone-authentication 2022-06-20 13:38:46 +02:00
Torsten Dittmann 6dd41b52c3 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into feat-phone-authentication 2022-06-20 13:38:39 +02:00
Torsten Dittmann f15c2733eb fix: update indexes 2022-06-20 13:31:46 +02:00
Torsten Dittmann 0dd6c25b49 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into fix-create-at-attributes 2022-06-20 13:24:44 +02:00
Torsten DittmannandGitHub 69c6798aa9 Merge pull request #3402 from everly-gif/fix-yammer-url
fix: 404 OAuth2 docs url for Yammer
2022-06-20 13:24:13 +02:00
Torsten Dittmann 50e50fa94b feat: use internal ids for database indexes and attributes 2022-06-20 13:21:36 +02:00
Torsten Dittmann 2bb106b449 fix: adapt to review 2022-06-20 12:47:24 +02:00
Torsten DittmannandGitHub fbfb871edf Merge pull request #3401 from appwrite/feat-internal-ids-projects
feat: internal ids for projects
2022-06-20 12:06:22 +02:00
Everly Precia Suresh 44dc9346c2 fix oauth docs url for yammer 2022-06-20 09:57:18 +00:00
Torsten Dittmann 62d2dfd915 chore: run linter 2022-06-20 11:24:05 +02:00
Torsten Dittmann 3aa49f773a fix: all of the workers 2022-06-20 11:22:53 +02:00
Torsten Dittmann 52a857274d Revert "updating unit tests"
This reverts commit ddc6adedbc.
2022-06-20 09:51:35 +02:00
Torsten Dittmann 32ed46c899 Revert "fix: realtime db"
This reverts commit c36504e678.
2022-06-20 09:44:44 +02:00
Torsten Dittmann 4b3a90bb54 Revert "fix: workers"
This reverts commit c89b62a7b4.
2022-06-20 09:37:00 +02:00
Matej Bačo 7c8b5989e8 Improve Gitpod preloading 2022-06-20 07:18:35 +00:00
fogelito 2438fd3666 move debugs 2022-06-19 18:46:37 +03:00
fogelito f637114a1a move debugs 2022-06-19 18:45:35 +03:00
fogelito ddc6adedbc updating unit tests 2022-06-19 18:08:57 +03:00
Matej Bačo e9beba4122 Simplified, fixed and linted OAuth example 2022-06-19 13:29:52 +00:00
Torsten Dittmann c36504e678 fix: realtime db 2022-06-19 12:58:43 +02:00
Torsten Dittmann 887f621f78 Merge branch 'feat-internal-ids-projects' of https://github.com/appwrite/appwrite into feat-internal-ids-projects 2022-06-19 12:56:10 +02:00
Torsten Dittmann c89b62a7b4 fix: workers 2022-06-19 12:54:47 +02:00
fogelito 62a9d23da4 subQueryIndexes, subQueryAttributes with new relations 2022-06-19 12:51:07 +03:00
Torsten DittmannandGitHub 93ec03cdb9 Merge pull request #3390 from appwrite/update-compose-v2
Update docker-compose to docker compose
2022-06-19 11:45:34 +02:00
Torsten Dittmann 5a4a9e0739 Merge branch '0.15.x' of https://github.com/appwrite/appwrite into origin/feat-internal-id 2022-06-19 11:43:58 +02:00
Torsten DittmannandGitHub e5b0cbd308 Merge pull request #3362 from appwrite/docker-compose-v2
Feat: Start using docker compose V2
2022-06-19 11:42:53 +02:00
Torsten DittmannandGitHub 16dffdb0bf chore update version 2022-06-19 09:40:25 +00:00
Torsten Dittmann 90f451d3ca chore: update composer 2022-06-19 11:34:45 +02:00
Torsten Dittmann 0e32cf02cb chore: run linter 2022-06-19 11:34:03 +02:00
Torsten Dittmann 23717539c4 chore: update composer 2022-06-19 11:33:59 +02:00
Torsten DittmannandGitHub cf3de6d7ef Merge pull request #3383 from appwrite/feat-internal-ids-collections
Feat internal ids Database Api
2022-06-19 11:30:42 +02:00
Matej Bačo 87d85d14d4 Fix swagger2 docs with array model-to-model refference 2022-06-19 08:17:10 +00:00
Matej Bačo f14c8ad131 Improve endpoint descriptions 2022-06-19 06:52:37 +00:00
Vincent (Wen Yu) Ge ef1133913d reverting change in install.php 2022-06-17 16:02:42 +00:00
Torsten Dittmann ee6a6dff50 Merge branch 'master' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-17 14:24:28 +02:00
Torsten Dittmann 3c627fdd53 fix: revert cpp prism support 2022-06-17 14:23:02 +02:00
Matej Baco 62ec121a5e Improved docs 2022-06-17 11:25:28 +02:00
Matej BačoandGitHub 11909a25cb Rename AlgoBCrypt.php to AlgoBcrypt.php 2022-06-17 09:38:10 +02:00
Matej Baco 6c6261ac23 Fix class name 2022-06-17 09:37:31 +02:00
Matej Bačo c6426d29e2 rebuilt specs changes 2022-06-17 07:16:01 +00:00
Damodar LohaniandGitHub 2c89d063c1 Merge pull request #3373 from appwrite/feat-usage-refactor 2022-06-17 06:51:59 +05:45
Vincent (Wen Yu) Ge 0328bec61f update docker-compose to docker compose 2022-06-16 17:23:56 +00:00
Torsten DittmannandGitHub 062ecddc24 Merge pull request #3374 from appwrite/include-cpp-prismjs-support
Feat: Include C++ PrismJS file
2022-06-16 17:05:34 +02:00
Matej Bačo 0aaee54a63 Fix snake_case 2022-06-16 09:21:35 +00:00
fogelito 6d7580b9d0 subQueryIndexes, subQueryAttributes with new relations 2022-06-16 10:53:57 +03:00
fogelito ddbe1edf6d Adding Internal Ids Projects, Webhooks, Keys, domains, Platforms 2022-06-16 10:50:52 +03:00
Torsten DittmannandGitHub baa2ce9256 Merge pull request #3385 from appwrite/snyk-upgrade-89df12c40650e56730dd293620f5c0d8
[Snyk] Upgrade chart.js from 3.7.1 to 3.8.0
2022-06-16 09:29:27 +02:00
snyk-bot 393b121b08 fix: upgrade chart.js from 3.7.1 to 3.8.0
Snyk has created this PR to upgrade chart.js from 3.7.1 to 3.8.0.

See this package in npm:
https://www.npmjs.com/package/chart.js

See this project in Snyk:
https://app.snyk.io/org/eldadfux/project/8574b5e4-6e89-4ade-bc02-2eaabc43eed0?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-06-16 06:12:59 +00:00
Eldad A. FuxandGitHub d06af4ff72 Merge pull request #3384 from appwrite/fix-oauth-providers-order
Fix: Correct the order of OAuth providers
2022-06-15 20:37:42 +03:00
Aditya OberaiandGitHub d21f99d1bf Fix order of OAuth providers 2022-06-15 19:22:21 +05:30
fogelito 44e3851f5e Adding Internal Ids to Database Api 2022-06-15 15:57:06 +03:00
Torsten Dittmann bbdf70ee90 feat: use new $createdAt and $updatedAt attributes 2022-06-15 14:46:52 +02:00
Matej Bačo 217f732b11 Increase array elemnt limit 2022-06-15 12:10:30 +00:00
Matej Bačo 6758e78cf1 Introduce APP_LIMIT_ARRAY_ELEMENT_SIZE 2022-06-15 12:07:14 +00:00
Matej Bačo 797bdda405 Update specs 2022-06-15 09:41:31 +00:00
Matej Bačo df36580657 Added hashOptions response models 2022-06-15 08:11:48 +00:00
fogelito fce6f152e8 Test Index Limit Comment 2022-06-15 10:47:46 +03:00
Matej Bačo adb79872b3 Improve gitlab endpoint input 2022-06-15 07:30:24 +00:00
fogelito 536363e41e Remove vendor mount 2022-06-15 10:28:06 +03:00
Damodar Lohani af19787ed9 logging updates 2022-06-14 23:40:56 +00:00
ccb53ff1d0 Update src/Appwrite/Stats/Usage.php
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-15 05:08:23 +05:45
Torsten DittmannandGitHub 74cd77e2f1 Merge pull request #3378 from appwrite/feat-add-dsn-class
feat: add DSN
2022-06-14 20:47:47 +02:00
Christy Jacob b56fb8f6f4 fix: linter issues 2022-06-14 20:00:02 +02:00
fogelito efe39e6e1a Adding Account + teams + users Internal Ids to colleactions 2022-06-14 20:30:29 +03:00
fogelito 0d1b1ddef6 Adding Account + teams + users Internal Ids to colleactions 2022-06-14 20:15:22 +03:00
Torsten Dittmann 1eb91bc91e feat: add ui for phone authentication 2022-06-14 17:41:58 +02:00
Matej Baco 3ee68aba81 Rollback 0.14 specs changes 2022-06-14 17:24:04 +02:00
Matej Baco 21d5309644 Removed 0.15 2022-06-14 17:22:06 +02:00
Christy Jacob 0556990b66 fix: linter issues 2022-06-14 17:18:15 +02:00
Christy Jacob 13d428c30b feat: add DSN 2022-06-14 17:14:43 +02:00
Matej Baco 0bcfee0449 0.15 version generated for docs testing 2022-06-14 17:14:29 +02:00
Christy Jacob cdff6cc2ec feat: add DSN 2022-06-14 17:10:09 +02:00
Matej Baco 882f149f6b Update 0.14 specs 2022-06-14 17:06:37 +02:00
Christy Jacob 039d9f0ead feat: inital commit for multiple db pools 2022-06-14 16:57:57 +02:00
Matej Bačo 21ee8282a5 Switch/case block instead of dynamic import 2022-06-14 14:29:46 +00:00
Matej Bačo e9144fa2fc Specify scrypt commit sha 2022-06-14 14:21:37 +00:00
Torsten DittmannandGitHub a5e76d5c55 Merge pull request #3377 from appwrite/feat-account-sessions-email
feat: account sessions for emails
2022-06-14 14:58:22 +02:00
Matej Bačo 697bb569ef Fix tests 2022-06-14 11:38:47 +00:00
Matej Bačo 0aaa5779ab Linter fixes 2022-06-14 11:08:54 +00:00
Matej Bačo 476a73d1b1 Add signing in tests 2022-06-14 10:49:46 +00:00
Matej Bačo f0cd4437d8 Rebuilds, improve tests 2022-06-14 10:40:51 +00:00
Torsten Dittmann 861023abcf feat: update console sdk and ui to use new email auth 2022-06-14 12:39:53 +02:00
Matej Bačo 33ef75865a Merge remote-tracking branch 'origin/0.15.x' into feat-password-hash-algos 2022-06-14 09:09:20 +00:00
Eldad A. FuxandGitHub a1c5ace4ed Merge pull request #3371 from 2002Bishwajeet/feat-dailymotion-oauth
Feat: Add Dailymotion OAuth provider
2022-06-14 12:07:55 +03:00
Matej Bačo 64ee483665 Implemented hashhing import API endpoints, fixed SCrypt 2022-06-14 09:05:46 +00:00
Torsten Dittmann 1f91e5328a fix: controller title for email session 2022-06-14 10:30:35 +02:00
Torsten Dittmann 8d465c67c2 feat: account sessions for emails 2022-06-14 10:17:50 +02:00
Torsten Dittmann 286f174f34 fix: docs 2022-06-14 09:27:27 +02:00
Damodar Lohani ac13c8e79f more error handling 2022-06-14 00:58:25 +00:00
Damodar Lohani d39165889e error fixes 2022-06-14 00:40:33 +00:00
Simon 47a3541787 Fix linting issues 2022-06-13 21:21:54 +02:00
Simon GieselandGitHub 0cab9c0082 Merge branch 'appwrite:master' into feat-XXX-authentik-oauth 2022-06-13 20:58:34 +02:00
Damodar Lohani 05152da195 fix formatting 2022-06-13 15:49:27 +00:00
Matej Bačo 6f76fb3613 WIP: Separate hashing endpoints 2022-06-13 15:11:31 +00:00
Torsten DittmannandGitHub e142d62a26 Merge pull request #3368 from MATsxm/patch-2
Update fr.json
2022-06-13 16:52:06 +02:00
Bishwajeet Parhi d0bb2a8937 Merge branch 'feat-dailymotion-oauth' of https://github.com/2002Bishwajeet/appwrite into feat-dailymotion-oauth 2022-06-13 14:18:10 +00:00
Bishwajeet Parhi 48191995b3 final dailymotion logo changes 2022-06-13 14:18:05 +00:00
Matej Baco 43fadd6b40 Rebuild JS files 2022-06-13 16:04:49 +02:00
Aditya OberaiandGitHub 9a8fc49f2e Include C++ PrismJS file 2022-06-13 19:29:25 +05:30
5a0d0e5f02 Update src/Appwrite/Auth/OAuth2/Dailymotion.php
Co-authored-by: Matej Bačo <matejbaco2000@gmail.com>
2022-06-13 18:32:12 +05:30
Matej Bačo 37438a51b2 Empty commit 2022-06-13 12:56:14 +00:00
Matej Bačo 001e69ab80 Merge remote-tracking branch 'origin/0.15.x' into feat-password-hash-algos 2022-06-13 12:53:40 +00:00
Matej Bačo bdaf9bcdb8 Removed hashhing algo from endpoints except import 2022-06-13 12:53:28 +00:00
Torsten Dittmann 68264a0fe0 fix: tests and adaption to review 2022-06-13 14:43:17 +02:00
fogelito e2c8cfea18 change PDOPool settings 2022-06-13 15:39:11 +03:00
Bishwajeet Parhi adab1463f7 adds some padding in dailymotion png file 2022-06-13 12:36:36 +00:00
Torsten Dittmann 73a00438ae Merge branch 'master' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-13 14:29:29 +02:00
Bishwajeet Parhi 1caa23e621 Merge branch 'feat-dailymotion-oauth' of https://github.com/2002Bishwajeet/appwrite into feat-dailymotion-oauth 2022-06-13 11:47:50 +00:00
Bishwajeet Parhi d15cecb773 adds dailymotion logo 2022-06-13 11:47:48 +00:00
d7b0d84997 Update src/Appwrite/Auth/OAuth2/Dailymotion.php
Co-authored-by: Matej Bačo <matejbaco2000@gmail.com>
2022-06-13 17:08:54 +05:30
Bishwajeet Parhi 0bf3ededf9 Merge branch 'feat-dailymotion-oauth' of https://github.com/2002Bishwajeet/appwrite into feat-dailymotion-oauth 2022-06-13 11:37:56 +00:00
9f1b4c41a3 Update src/Appwrite/Auth/OAuth2/Dailymotion.php
Co-authored-by: Matej Bačo <matejbaco2000@gmail.com>
2022-06-13 17:06:01 +05:30
b040bc9856 Update src/Appwrite/Auth/OAuth2/Dailymotion.php
Co-authored-by: Matej Bačo <matejbaco2000@gmail.com>
2022-06-13 17:05:52 +05:30
Bishwajeet Parhi 7b1bcf7033 removed unnecessary fields 2022-06-13 11:35:45 +00:00
Damodar Lohani ae9bed4ab7 Merge branch 'master' into feat-usage-refactor 2022-06-13 16:59:01 +05:45
Damodar Lohani 2a13cc33ac cleaning up refactors 2022-06-13 16:56:26 +05:45
Damodar Lohani da533571b3 usage refactor initial 2022-06-13 16:41:24 +05:45
Bishwajeet Parhi f92309101b adds dailymotion.png 2022-06-12 08:21:42 +00:00
Bishwajeet Parhi 4b7cc043ba adds 100x100 dailymotion logo 2022-06-12 07:32:07 +00:00
Bishwajeet Parhi 104f976f1b fix getUser method 2022-06-12 07:16:01 +00:00
Bishwajeet Parhi 7819b19d1c remove avatar_url field 2022-06-12 06:41:41 +00:00
Bishwajeet Parhi bb501c4b73 fixed login URL 2022-06-12 06:34:11 +00:00
Bishwajeet ParhiandGitHub 416392ad34 Merge branch 'appwrite:master' into feat-dailymotion-oauth 2022-06-12 11:10:47 +05:30
Bishwajeet Parhi ad6023c3db fix unable to access token 2022-06-10 13:54:00 +00:00
Marc-Antoine ThevenetandGitHub 7d3fbfb311 Update fr.json
##EASY FIX

following previous [PR #3340](https://github.com/appwrite/appwrite/pull/3340)
Here's a new try for Typo fix + 🇫🇷 t9n updated...

Thanks and hope it will pass the test 😟
2022-06-10 15:53:45 +02:00
Matej Bačo a90700fc6b Regenerate files after merge 2022-06-10 13:35:31 +00:00
Matej Bačo 401e0047ee Fix scrypt version 2022-06-10 13:20:38 +00:00
Matej Bačo 1fd5ae2991 QA bug fixes 2022-06-10 12:41:31 +00:00
Matej Bačo 3abd177fc4 Bug fix 2022-06-10 12:05:16 +00:00
Matej Bačo 116e51b006 Finish gitlab custom hostname 2022-06-10 12:03:51 +00:00
Matej Bačo 4620c59dde Bug fix, use dynamic ARCH 2022-06-10 11:37:39 +00:00
Matej Bačo 6384acd9bb PR review changes 2022-06-10 11:03:48 +00:00
Christy JacobandGitHub 310ecbb87c Merge pull request #3367 from appwrite/fix-payload-default
Fix: default function payload
2022-06-10 14:57:18 +04:00
Matej Bačo 775721abdb Fix default payload 2022-06-10 10:31:37 +00:00
Matej Bačo 9ebdbc58da WIP: Gitlab OAuth custom endpoint 2022-06-10 10:03:30 +00:00
Matej Bačo 9b0b6a44af Update after merge 2022-06-10 08:07:30 +00:00
Matej Bačo 7cb40f3c77 Fix order of params 2022-06-10 08:03:25 +00:00
Matej Bačo 0d94e4c9ce Merge branch 'master' into feat-password-hash-algos 2022-06-10 08:03:09 +00:00
Torsten DittmannandGitHub a8e4d7a71a Merge pull request #3363 from appwrite/fix-attr-null
null on default tests
2022-06-10 09:51:36 +02:00
Torsten DittmannandGitHub d66d2cb9d2 Merge pull request #3365 from appwrite/dependabot/composer/guzzlehttp/guzzle-7.4.4
Bump guzzlehttp/guzzle from 7.4.3 to 7.4.4
2022-06-10 09:48:59 +02:00
dependabot[bot]andGitHub 8b1860d5ec Bump guzzlehttp/guzzle from 7.4.3 to 7.4.4
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.3 to 7.4.4.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.3...7.4.4)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 06:53:52 +00:00
d96b077d22 remove null as param is already nullable
Co-authored-by: Everly Precia Suresh <77877486+everly-gif@users.noreply.github.com>
2022-06-09 15:32:34 -04:00
Torsten DittmannandGitHub 5ae6305eb4 Merge pull request #3345 from appwrite/feat-increase-jwt-abuse-limit
Feat increase jwt abuse limit
2022-06-09 21:15:58 +02:00
Torsten DittmannandGitHub a9a00d76ae Merge pull request #3348 from appwrite/fix-first-execution-delay
Fix: Unnecessary execution delays
2022-06-09 21:12:41 +02:00
369c851532 Update app/controllers/api/users.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-06-09 21:11:49 +02:00
Bishwajeet Parhi 902baa0bf4 fix scope not array error 2022-06-09 16:54:33 +00:00
shimon 6c7a6dcd8b null on default tests 2022-06-09 18:15:34 +03:00
Bishwajeet Parhi 086c9f431e rename dailymotion file and misc changes 2022-06-09 13:22:57 +00:00
Bishwajeet Parhi d07e0eda42 adds dailymotion logo 2022-06-09 13:22:46 +00:00
Bradley SchofieldandGitHub 666f1fbfb1 Merge branch 'appwrite:master' into Add-DNS-Warning-Install 2022-06-09 13:26:41 +01:00
Bradley Schofield 98e615fa5f Improve Error handling 2022-06-09 12:46:08 +01:00
Matej Bačo 3bb4aab296 Start using docker compose V2 2022-06-09 11:38:38 +00:00
Bishwajeet Parhi b6b327ff22 Merge branch 'feat-dailymotion-oauth' of https://github.com/2002Bishwajeet/appwrite into feat-dailymotion-oauth 2022-06-09 16:10:55 +05:30
Bishwajeet Parhi 170156cb41 initial dailymotion provider 2022-06-09 16:10:38 +05:30
Bradley Schofield 515c8c2e32 Run Linter 2022-06-09 10:45:32 +01:00
Bradley Schofield 16dd539401 Create Executor.php 2022-06-09 10:39:04 +01:00
Bradley SchofieldandGitHub 41ae3a87db Delete Executor.php 2022-06-09 10:38:10 +01:00
Simon GieselandGitHub bee6a7a2b3 Merge branch 'appwrite:master' into feat-XXX-authentik-oauth 2022-06-09 10:52:04 +02:00
0c55a60897 Apply suggestions from code review
Co-authored-by: Christy Jacob <christyjacob4@gmail.com>
2022-06-09 10:51:27 +02:00
Bishwajeet Parhi ea6a29e8ab initial dailymotion provider 2022-06-09 11:04:26 +05:30
gepdandGitHub be53bae82b Merge branch 'appwrite:master' into feat-empty-payload 2022-06-08 20:50:04 -04:00
gepdandGitHub 2e05afe35a Make param optional from utopia 2022-06-08 20:49:27 -04:00
Jake Barnby c0cf93494c Remove var dump 2022-06-09 11:23:06 +12:00
Jake Barnby c368c5cae3 Fix ratelimit remaining header test casing 2022-06-09 11:17:15 +12:00
Christy JacobandGitHub b5634d507b Merge pull request #3349 from appwrite/fix-gitpod-workspace
Fix: Gitpod workspace
2022-06-08 22:02:58 +05:30
Bradley Schofield 7fce57f35d Clean up unused code and get tests working 2022-06-08 16:15:17 +01:00
fogelito bd15517d3e Upgrade database tag to 0.18.* 2022-06-08 17:55:17 +03:00
Torsten Dittmann e444ba6886 style: fix linter errors 2022-06-08 16:18:28 +02:00
Torsten Dittmann 70c98b0cfc feat: messaging worker 2022-06-08 15:57:34 +02:00
Torsten Dittmann dc25883685 feat: add update and verification method for account and users 2022-06-08 14:50:31 +02:00
Torsten DittmannandGitHub 7b323114e6 Merge pull request #3351 from appwrite/feat-webhook-signature
webhook signature
2022-06-08 12:15:44 +02:00
shimon 40016f48c1 linter fix 2022-06-08 12:21:20 +03:00
fogelito f2c545db64 removing some duplication on collections.php
adding var hint for $user
2022-06-08 12:20:23 +03:00
Torsten Dittmann 8ce669da6f feat: initial phone authentication 2022-06-08 11:00:38 +02:00
ce6c2d2794 Update src/Appwrite/Utopia/Response/Model/Webhook.php
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-08 11:03:19 +03:00
41ccb6a72b Update tests/e2e/Services/Webhooks/WebhooksBase.php
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-08 11:03:07 +03:00
shimon 9e828ecbe7 Small fix 2022-06-08 10:28:26 +03:00
shimon dea03f5396 Small fix 2022-06-08 10:20:54 +03:00
shimon 64ba33f3aa Small fix 2022-06-08 10:19:50 +03:00
Matej Baco ce59bcce7a Linter fix 2022-06-08 09:10:44 +02:00
gepdandGitHub 3cf26d19bc make data optional 2022-06-07 21:08:11 -04:00
Torsten DittmannandGitHub 9ad7f324a2 Merge pull request #3324 from appwrite/feat-clean-old-sessions
feat: delete old sessions with maintenance task
2022-06-07 19:16:14 +02:00
Torsten DittmannandGitHub fb8c5f6140 Merge pull request #3331 from 2002Bishwajeet/fix-typo-error-dart
fix small typo error dart
2022-06-07 19:15:35 +02:00
Torsten DittmannandGitHub c309896620 Merge pull request #3337 from MATsxm/patch-1
Update en.json
2022-06-07 19:14:38 +02:00
shimon 71c7a48075 sign webhook flow 2022-06-07 19:02:39 +03:00
shimon 54f6556204 sign webhook flow 2022-06-07 18:11:07 +03:00
Matej Bačo 5b98547fe1 Fix after testing 2022-06-07 14:00:20 +00:00
Bradley Schofield d2c4bb9872 Continue work on implementing local runtime state 2022-06-07 14:55:44 +01:00
Matej Bačo 7c578b38e6 Remove gitpod reference 2022-06-07 13:52:23 +00:00
Matej Bačo 3b71e34aa4 Remove gitpod config (needed no more) 2022-06-07 13:50:05 +00:00
Bradley Schofield 2c24fbb70b Merge branch 'master' into feat-track-runtime-state 2022-06-07 14:30:54 +01:00
Matej Baco cdc44230cf Fix execution delays 2022-06-07 14:01:12 +02:00
fogelito 0905ee37d7 change query to userInternalId 2022-06-07 13:16:05 +03:00
fogelito 5310e2cf7c add userInternalId to sesseions , tokens , members + index for each attribute 2022-06-07 12:37:09 +03:00
gepdandGitHub a107f592cf Merge branch 'master' into feat-empty-payload 2022-06-06 18:57:14 -04:00
gepdandGitHub 8f831b2be3 Allows to update permissions without payload 2022-06-06 18:27:05 -04:00
Jake Barnby 742b49723f Check for ratelimit remaining in create jwt test 2022-06-07 09:53:09 +12:00
Jake Barnby 254a075d7d Update JWT creation abuse limits 2022-06-07 08:57:37 +12:00
Bishwajeet ParhiandGitHub abdd612a9b Merge branch 'appwrite:master' into fix-typo-error-dart 2022-06-06 19:54:27 +05:30
Torsten DittmannandGitHub e8a9f3f9c4 Merge pull request #3344 from appwrite/fix-linter-issues
fix : linter issues
2022-06-06 15:57:59 +02:00
Everly Precia Suresh a456634324 fix linter issues 2022-06-06 13:32:58 +00:00
Bradley Schofield 6b228bf57b Add Runtime state tracking using a Swoole table 2022-06-06 10:57:23 +01:00
Marc-Antoine ThevenetandGitHub 38041ce5c8 Update en.json
## EASY FIX

### Typo fix
2022-06-05 07:56:22 +02:00
Bishwajeet ParhiandGitHub 3ad0bd113f Update GETTING_STARTED.md 2022-06-04 21:49:22 +05:30
Torsten DittmannandGitHub f1afc45ae2 Merge pull request #3327 from chuongtang/add_webm_videoType
Added webm into mimeType and previewType
2022-06-03 12:48:55 +02:00
Torsten DittmannandGitHub 9e2c672ac7 Merge pull request #1652 from 2002Bishwajeet/patch-1
Update GETTING_START.md for flutter
2022-06-03 12:35:51 +02:00
Torsten DittmannandGitHub f055c23e9a Merge pull request #1663 from gireeshp/fix-1662-logs-minor-spelling-mistake
Fix for #1662. Corrected the spelling in the logs.
2022-06-03 12:35:06 +02:00
Torsten DittmannandGitHub d9f53d6e23 Update realtime.php 2022-06-03 12:34:44 +02:00
Torsten DittmannandGitHub 105ae1caec Merge branch 'master' into fix-1662-logs-minor-spelling-mistake 2022-06-03 12:34:08 +02:00
Torsten DittmannandGitHub 2bde8a8387 Merge pull request #1250 from alexweininger/patch-2
doc: Add info about _APP_STORAGE_LIMIT environment variable to Storage doc
2022-06-03 12:27:56 +02:00
Torsten DittmannandGitHub ee07af85fc Update storage.md 2022-06-03 12:27:46 +02:00
Torsten DittmannandGitHub b466ce029c Merge pull request #3323 from gewenyu99/master
Fix function deploy directory
2022-06-03 12:23:12 +02:00
Torsten Dittmann 94b2db96c2 chore: run formatter 2022-06-03 11:12:19 +02:00
Torsten Dittmann 372939c727 Merge branch 'master' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-03 11:09:14 +02:00
Torsten DittmannandGitHub 392a6c04dd Merge pull request #3326 from appwrite/fix-linter-violations
fix: linter issues
2022-06-03 11:07:58 +02:00
Everly Precia Suresh 616e813229 add comment when fall-through is intentional in a non-empty case body 2022-06-02 22:18:42 +00:00
Chuong TangandGitHub e1c6974b88 Merge branch 'master' into add_webm_videoType 2022-06-02 08:43:25 -06:00
Chuong TangandGitHub 4830f89ed3 Added webm into mimeType and previewType 2022-06-02 08:38:33 -06:00
Everly Precia Suresh 5a8bbf6457 add rule to exclude namespace 2022-06-02 14:20:15 +00:00
Everly Precia Suresh da03611109 add rule to exclude namespace 2022-06-02 14:10:55 +00:00
Everly Precia Suresh 02838cc1b2 Remove namespace 2022-06-02 13:36:51 +00:00
Everly Precia Suresh 192c922e9f Merge branch 'master' of https://github.com/appwrite/appwrite into fix-linter-violations 2022-06-02 13:10:17 +00:00
Everly Precia Suresh 3b14ccb7d4 fix linting issues 2022-06-02 13:09:04 +00:00
Everly Precia Suresh d41aff1861 fix linting issues 2022-06-02 13:03:37 +00:00
Everly Precia Suresh 8d0581e401 fix linting issues in client.php 2022-06-02 12:49:01 +00:00
Everly Precia Suresh e95be7d922 fix linting issues AccountBase.php 2022-06-02 12:47:07 +00:00
Everly Precia Suresh 5a5c11ac16 fix linting issues 2022-06-02 12:19:02 +00:00
Everly Precia Suresh 69607b4ade fix linitng issues in WebhooksCustomServerTest.php 2022-06-02 12:14:58 +00:00
Torsten DittmannandGitHub 43a5d419e8 Merge pull request #3307 from appwrite/fix-subquery-limit
fix: increase subquery limit
2022-06-02 14:05:46 +02:00
Torsten Dittmann 1c0b49d16d style: run formatter 2022-06-02 12:20:48 +02:00
Torsten Dittmann 4327ff912f feat: remove expired sessions with maintenance task 2022-06-02 12:20:03 +02:00
Torsten Dittmann 153ac5c60d Merge branch '0.15.x' of https://github.com/appwrite/appwrite into 0.15.x 2022-06-02 11:53:41 +02:00
Wen Yu Ge 8108bf0332 fix function deploy directory 2022-06-01 15:43:46 -04:00
Torsten DittmannandGitHub 774a816055 Merge pull request #3318 from appwrite/feat-expire-key
Feat expire key
2022-06-01 19:27:51 +02:00
Torsten Dittmann b8058c51e5 Merge branch 'master' of https://github.com/appwrite/appwrite into fix-subquery-limit 2022-06-01 19:14:46 +02:00
Torsten Dittmann 2255c789df fix: subquery return for sessions 2022-06-01 19:13:15 +02:00
Torsten DittmannandGitHub b55d2c1b6d Merge pull request #3316 from appwrite/ci-introduce-linter
ci: introduce linter
2022-06-01 19:03:43 +02:00
Shimon NewmanandGitHub 57e0679524 Update collections.php 2022-06-01 19:51:12 +03:00
Torsten Dittmann 24ed82c460 docs: update phrase 2022-06-01 17:59:55 +02:00
Torsten Dittmann 5670ba0578 docs: update some phrases 2022-06-01 17:59:17 +02:00
Torsten Dittmann 94f63e67ef style: format contributing guide 2022-06-01 17:57:00 +02:00
Torsten Dittmann fb8db21593 Merge branch 'ci-introduce-linter' of https://github.com/appwrite/appwrite into ci-introduce-linter 2022-06-01 17:54:22 +02:00
Torsten Dittmann 55dbe18466 lint: add new rule 2022-06-01 17:54:19 +02:00
Everly Precia SureshandGitHub b0f2e2a1fb Update CONTRIBUTING.md 2022-06-01 20:56:46 +05:30
Everly Precia SureshandGitHub c451c9a268 Update CONTRIBUTING.md 2022-06-01 20:52:35 +05:30
Torsten Dittmann 426e7cb77b feat: remove unused psalm 2022-06-01 16:39:12 +02:00
Torsten Dittmann dd4dcebdeb Merge branch 'master' of https://github.com/appwrite/appwrite into fix-subquery-limit 2022-06-01 16:32:59 +02:00
Torsten DittmannandGitHub e1d005baaa Merge pull request #3315 from appwrite/fix-dotnet-logo
Fix: Correct the .NET logo
2022-06-01 16:25:41 +02:00
Torsten DittmannandGitHub 3d297e825f Merge pull request #3296 from stnguyen90/fix-2955-add-team-member-toast
Update success, loading, and error message for add team member
2022-06-01 16:24:45 +02:00
Torsten DittmannandGitHub f1322175da Merge pull request #3270 from stnguyen90/feat-3269-skip-service-check-for-server
Update service checks to ignore server app users
2022-06-01 16:23:27 +02:00
Shimon NewmanandGitHub 2bad41082b Update projects.php 2022-06-01 17:23:05 +03:00
Torsten DittmannandGitHub d7d50699b6 Merge pull request #3297 from stnguyen90/feat-3283-bypass-smtp-check-add-team-admin
Bypass SMTP host check for admins adding team members
2022-06-01 16:21:56 +02:00
ad986fe852 Update app/controllers/api/projects.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-06-01 17:14:26 +03:00
Everly Precia SureshandGitHub 958c891039 update code maintenance section 2022-06-01 19:40:08 +05:30
Everly Precia SureshandGitHub d352c8a8d5 Update CONTRIBUTING.md 2022-06-01 19:31:35 +05:30
Everly Precia SureshandGitHub 52b7bb50d0 Update CONTRIBUTING.md 2022-06-01 19:21:17 +05:30
Everly Precia SureshandGitHub cc57a9f347 introduce formatting + linting in CONTRIBUTING.MD 2022-06-01 19:15:35 +05:30
363c073839 Update app/controllers/api/projects.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-06-01 16:39:00 +03:00
34a80d4b63 Update src/Appwrite/Utopia/Response/Model/Key.php
Co-authored-by: Eldad A. Fux <eldad.fux@gmail.com>
2022-06-01 16:38:22 +03:00
shimon cd5e6f2542 small fix 2022-06-01 15:36:04 +03:00
shimon 2d7bc4fb16 small fix 2022-06-01 14:31:03 +03:00
shimon 0c435b9c3b Merge remote-tracking branch 'origin/feat-expire-key' into feat-expire-key
# Conflicts:
#	app/controllers/api/projects.php
2022-06-01 13:11:24 +03:00
shimon e782e4744f small fix 2022-06-01 13:09:53 +03:00
0d24ebd6f5 Update src/Appwrite/Utopia/Response/Model/Key.php
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-01 12:55:46 +03:00
c31055f144 Update app/controllers/api/projects.php
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-01 12:55:35 +03:00
shimon 1a28c3a909 api keys, validation and test 2022-06-01 09:38:11 +03:00
shimon d39e6a842c Merge branch 'master' of github.com:appwrite/appwrite into feat-expire-key
 Conflicts:
	app/controllers/general.php
2022-06-01 09:34:34 +03:00
shimon 8013276515 api keys, validation and test 2022-06-01 09:26:55 +03:00
Steven 4a87e73a45 Update success, loading, and error message for add team member
Remove text indicating invitations since no emails are sent when adding
a user via the Admin console.
2022-05-31 22:00:37 -07:00
Steven ec1c4fd5c3 Bypass SMTP host check for admins adding team members
Since no email is sent when adding team members for admins, there shouldn't
be any need to check the SMTP host.
2022-05-31 20:50:19 -07:00
Steven Nguyen f645c2ce53 Update service checks to ignore server app users 2022-05-31 20:42:41 -07:00
Torsten Dittmann 540738101f fix: error type 2022-06-01 00:09:23 +02:00
shimon 8bca5cd13e api keys 2022-05-31 18:41:12 +03:00
Torsten Dittmann ff949392ed linter: exclude max line width rule 2022-05-31 17:36:38 +02:00
Torsten Dittmann 70286f57dc ci: update php composer version for linter 2022-05-31 17:27:40 +02:00
Torsten DittmannandGitHub f58aa0c818 Update linter.yml 2022-05-31 17:26:45 +02:00
Torsten Dittmann 2d58f48b72 ci: fix linter 2022-05-31 17:22:40 +02:00
Torsten Dittmann 30ffcafc04 ci: fix linter os 2022-05-31 17:18:12 +02:00
Torsten Dittmann 981e82eb45 ci: fix php sniffer configuration 2022-05-31 17:16:27 +02:00
Torsten Dittmann 02bc2f6390 ci: introduce linter 2022-05-31 17:09:45 +02:00
adityaoberai e056dc15c9 Fix .NET logo 2022-05-31 20:26:15 +05:30
Torsten DittmannandGitHub 15107f0f5c Merge pull request #3312 from appwrite/introduce-formatter-and-linter
Introduce PHP code sniffer and format code
2022-05-31 16:42:47 +02:00
Everly Precia Suresh c61dd1e261 remove unecessary semi colons 2022-05-31 14:24:01 +00:00
Everly Precia Suresh 95615416a6 formate function.php 2022-05-31 13:50:27 +00:00
Everly Precia Suresh 61c8cf5ccd Merge branch 'master' of https://github.com/appwrite/appwrite into introduce-formatter-and-linter 2022-05-31 13:48:05 +00:00
Torsten DittmannandGitHub fd58c57163 Merge pull request #3280 from appwrite/refactor-accounts
Refactor `account.php`
2022-05-31 15:47:39 +02:00
Everly Precia Suresh 1be5593d9d Merge branch 'master' of https://github.com/appwrite/appwrite into introduce-formatter-and-linter 2022-05-31 13:40:43 +00:00
Torsten DittmannandGitHub 957ba08817 Merge pull request #3282 from appwrite/refactor-database
refactor `database.php`
2022-05-31 15:33:14 +02:00
f1938f5151 update refactor
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-05-31 18:04:20 +05:30
Everly Precia Suresh 94e225411f update refacror 2022-05-31 12:33:13 +00:00
Everly Precia Suresh 93016d6174 Merge branch 'master' of https://github.com/appwrite/appwrite into introduce-formatter-and-linter 2022-05-31 12:15:35 +00:00
Eldad A. FuxandGitHub 301ff91f03 Merge pull request #2987 from emattiza/feat/enhance-gitpod-load
chore: enhance gitpod Dockerfile steps for prebuilds
2022-05-31 15:03:55 +03:00
Everly Precia Suresh 318df0d3f3 Merge branch 'master' of https://github.com/appwrite/appwrite into introduce-formatter-and-linter 2022-05-31 11:55:30 +00:00
Torsten DittmannandGitHub 63092dd1fa Merge pull request #3214 from appwrite/refactor-functions
Refactor `functions.php`
2022-05-31 13:51:54 +02:00
Everly Precia Suresh f039fb36fc format newly added changes 2022-05-31 11:35:59 +00:00
Everly Precia Suresh 746dc72439 fix merge conflicts 2022-05-31 11:32:46 +00:00
Torsten DittmannandGitHub 60ffee2c5e Merge pull request #3287 from appwrite/refactor-general
Refactor `general.php`
2022-05-31 13:15:56 +02:00
Everly Precia Suresh e80ab77cab update refactor with changes 2022-05-31 11:11:55 +00:00
f8fc5ca16c remove ?
Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-05-31 16:33:16 +05:30
Everly Precia Suresh 13f26a20d6 add string|array type to 2022-05-31 10:51:47 +00:00
Torsten Dittmann f839903497 tests: fix timeout tests 2022-05-31 12:30:30 +02:00
Torsten DittmannandGitHub 103709eb8f Merge pull request #3286 from appwrite/refactor-mock
Refactor `mock.php`
2022-05-31 12:29:06 +02:00
Torsten DittmannandGitHub 26b975597b Merge pull request #3288 from appwrite/refactor-home
Refactor `home.php`
2022-05-31 11:21:27 +02:00
Torsten DittmannandGitHub 0792819fbd Merge pull request #2561 from varghesejose2020/master
Update Malayalam translations
2022-05-31 11:14:51 +02:00
Torsten DittmannandGitHub 99e0fff296 Merge pull request #3252 from appwrite/fix-empty-build-logs
fix: empty build logs
2022-05-31 11:12:50 +02:00
Torsten DittmannandGitHub cdbcdea2d2 Merge pull request #3255 from appwrite/fix-zoom-scopes
Fix: Zoom OAuth scopes
2022-05-31 11:09:29 +02:00
Torsten DittmannandGitHub a6c27841e1 Merge pull request #3277 from 2002Bishwajeet/fix-typo-error-dart
fix small typo error dart
2022-05-31 11:09:12 +02:00
Torsten DittmannandGitHub ce84dd1377 Merge pull request #3290 from appwrite/refactor-api
Refactor `api.php`
2022-05-31 11:04:39 +02:00
Torsten DittmannandGitHub 0fdd785ba9 Merge branch 'master' into refactor-functions 2022-05-31 10:54:03 +02:00
Torsten DittmannandGitHub 40724a5863 Merge pull request #3289 from appwrite/refactor-console
Refactor `console.php`
2022-05-31 10:53:17 +02:00
Torsten DittmannandGitHub 648644848a Merge branch 'master' into refactor-mock 2022-05-31 10:37:55 +02:00
Torsten DittmannandGitHub ff3292041f Merge branch 'master' into refactor-database 2022-05-31 10:33:46 +02:00
Torsten DittmannandGitHub 61cf313d67 Merge branch 'master' into refactor-general 2022-05-31 10:33:12 +02:00
Torsten DittmannandGitHub 5bcaa5540f Merge branch 'master' into refactor-home 2022-05-31 10:32:45 +02:00
Torsten DittmannandGitHub 0ca4bd9cca Merge pull request #3291 from appwrite/refactor-web
Refactor `web.php`
2022-05-31 10:31:30 +02:00
Torsten DittmannandGitHub 016b5f540b Merge branch 'master' into refactor-console 2022-05-31 09:49:51 +02:00
Torsten DittmannandGitHub 32928641a6 Merge branch 'master' into refactor-api 2022-05-31 09:45:59 +02:00
Torsten DittmannandGitHub ca94367df6 Merge branch 'master' into refactor-web 2022-05-31 09:44:05 +02:00
Torsten DittmannandGitHub da61d86e15 Merge pull request #3281 from appwrite/refactor-users
refactor `users.php`
2022-05-31 09:27:57 +02:00
Torsten Dittmann aee9130ce4 Merge branch 'master' of https://github.com/appwrite/appwrite into refactor-users 2022-05-31 09:27:03 +02:00
Torsten Dittmann 2349a1838c Merge branch 'master' of https://github.com/appwrite/appwrite into refactor-accounts 2022-05-31 09:20:48 +02:00
Everly Precia Suresh a64b3365a6 Merge branch 'master' of https://github.com/appwrite/appwrite into introduce-formatter-and-linter 2022-05-30 17:42:50 +00:00
Everly Precia Suresh 1fd7359fbb fix linter issues in app directory 2022-05-30 17:41:25 +00:00
Torsten Dittmann 9ee624de43 Merge branch 'master' of https://github.com/appwrite/appwrite into fix-subquery-limit 2022-05-30 18:08:52 +02:00
Torsten DittmannandGitHub a7b46eb004 Merge pull request #3308 from appwrite/feat-update-CNAME-domains
Update CNAME test domains
2022-05-30 18:08:17 +02:00
Bradley Schofield 3ae1f63679 Remove duplicate tests 2022-05-30 14:50:12 +00:00
Bradley Schofield 1602c06285 Update CNAME test domains 2022-05-30 14:45:13 +00:00
Torsten Dittmann 6bc186512e fix: increase subquery limit 2022-05-30 14:01:39 +02:00
Simon GieselandGitHub 72e3106e0d Merge branch 'appwrite:master' into feat-XXX-authentik-oauth 2022-05-30 10:55:50 +02:00
Everly Precia Suresh 6bd7342d0e improve naming 2022-05-27 10:36:06 +00:00
Everly Precia Suresh e6941e76a1 change param type from bool to string 2022-05-27 10:01:00 +00:00
Everly Precia Suresh f9cfb5478e refactor general.php 2022-05-26 14:46:08 +00:00
Everly Precia Suresh 3c6bbb532f refactor mock.php 2022-05-26 14:02:31 +00:00
Everly Precia Suresh 05c9c47ff9 refactor home.php 2022-05-26 13:37:37 +00:00
Everly Precia Suresh 820589f5a2 refactor console.php 2022-05-26 13:23:49 +00:00
Everly Precia Suresh ed695cf26c refactor web.php 2022-05-26 12:49:05 +00:00
Everly Precia Suresh d1e829f49a change type to array 2022-05-26 12:41:19 +00:00
Everly Precia Suresh fe0168b504 add tests 2022-05-26 12:27:18 +00:00
Everly Precia Suresh e845b2f3a6 refactor-api 2022-05-26 11:51:08 +00:00
Everly Precia Suresh 7f0ecf59d0 refactor web.php 2022-05-26 11:31:47 +00:00
Everly Precia Suresh c8f35bd5b2 change param types 2022-05-26 11:21:36 +00:00
Everly Precia Suresh a2d243664b remove cname tests 2022-05-26 11:21:04 +00:00
Everly Precia Suresh 74c32915f1 remove failing cname tests 2022-05-26 11:00:46 +00:00
Everly Precia Suresh 5d3edc18d9 remove failing cname tests 2022-05-26 10:52:23 +00:00
Everly Precia Suresh 85ce13021e remove failing cname tests 2022-05-26 10:36:53 +00:00
Everly Precia SureshandGitHub c64ece41e0 update test : set stopOnFailure to false 2022-05-26 03:05:36 +05:30
Everly Precia SureshandGitHub 0512c7f22f update test : set stopOnFailure to false 2022-05-26 03:05:04 +05:30
Everly Precia SureshandGitHub 92af7f37c5 update test : set stopOnFailure to false 2022-05-26 03:04:21 +05:30
Everly Precia Suresh f8d56bb111 update test : set stopOnFailure to false 2022-05-25 21:13:55 +00:00
Everly Precia Suresh 11ce5aac4a update test : set stopOnFailure to false 2022-05-25 21:13:39 +00:00
Everly Precia Suresh 59c7192452 update test : set stopOnFailure to true 2022-05-25 21:12:47 +00:00
Everly Precia Suresh 6ceef6a573 update refactor 2022-05-25 16:53:10 +00:00
Everly Precia Suresh 425d81256b rename audit to EventAudit 2022-05-25 13:49:32 +00:00
Everly Precia Suresh 8f624e115b refactor users.php 2022-05-25 13:36:25 +00:00
Everly Precia Suresh fc6c546c88 refactor database 2022-05-25 12:10:10 +00:00
Everly Precia Suresh 092d31e59c Merge branch 'master' of https://github.com/appwrite/appwrite into refactor-accounts 2022-05-25 10:50:41 +00:00
Everly Precia Suresh eb6b8d408a update refactor 2022-05-24 15:04:28 +00:00
Everly Precia Suresh 07bf57b161 update refactor 2022-05-24 14:57:12 +00:00
Everly Precia Suresh e2bd17d253 update refactor 2022-05-24 14:28:27 +00:00
Everly Precia Suresh 35e762453b pull latest 2022-05-24 14:04:55 +00:00
Everly Precia Suresh 107513c4c8 refactor func 2022-05-24 13:56:57 +00:00
Bishwajeet Parhi 5f4cf9abf9 fix small typo error dart 2022-05-24 08:02:39 +00:00
Everly Precia Suresh 60a73c74a5 fix multi-line params in controllers 2022-05-23 16:42:27 +00:00
Everly Precia Suresh 7316e1c1ae fix multi-line params in account.php 2022-05-23 16:34:03 +00:00
Everly Precia Suresh 19300ccdd7 format files in app, src, tests 2022-05-23 14:54:50 +00:00
Everly Precia Suresh 902e74a943 introduce php code snifer 2022-05-20 15:43:22 +00:00
Matej Baco a962df5f71 Fix Zoom OAuth scopes 2022-05-20 13:51:35 +02:00
Torsten DittmannandGitHub 426449d1d8 Merge pull request #3249 from appwrite/feat-sdk-fixes
SDK release
2022-05-20 13:07:16 +02:00
Christy Jacob 287c32cbbe fix: empty build logs 2022-05-20 03:43:35 +04:00
Torsten Dittmann f9056d1dca update: composer 2022-05-19 17:31:04 +02:00
Torsten DittmannandGitHub 977c829155 Merge pull request #3251 from appwrite/prepare-0-14-2
chore: prepare 0.14.2 release
2022-05-19 17:11:32 +02:00
Torsten Dittmann 333804a636 Merge branch 'prepare-0-14-2' of https://github.com/appwrite/appwrite into prepare-0-14-2 2022-05-19 17:06:43 +02:00
Torsten Dittmann c77285643b fix: compose install template 2022-05-19 17:06:39 +02:00
Torsten DittmannandGitHub 1ff930c846 chore: update changelog 2022-05-19 16:29:30 +02:00
Torsten DittmannandGitHub 343277f5b6 chore: update readme 2022-05-19 15:28:22 +02:00
Torsten DittmannandGitHub ba7f655de9 Merge pull request #3248 from appwrite/feat-improve-migration-speed
feat: improve migration speed
2022-05-19 15:26:27 +02:00
Torsten Dittmann a00a35a02c chore: prepare 0.14.2 release 2022-05-19 15:19:51 +02:00
Torsten Dittmann 3199baa14f tests: add more variety to migration tests 2022-05-19 14:21:21 +02:00
Torsten Dittmann 33486ee2eb tests: fix naming in migration 2022-05-19 14:18:55 +02:00
Torsten Dittmann 0a559a3562 tests: add more migration tests 2022-05-19 14:17:18 +02:00
Torsten Dittmann 706ecc6b40 fix: migration method 2022-05-19 13:53:11 +02:00
Torsten Dittmann 3f3dfaf952 Merge branch 'master' of https://github.com/appwrite/appwrite into feat-sdk-fixes 2022-05-19 13:46:12 +02:00
Torsten DittmannandGitHub 42e56632b5 Merge pull request #3222 from appwrite/feat-add-wasabi-support
feat : add wasabi , linode , backblaze support
2022-05-19 13:44:19 +02:00
Torsten Dittmann 90a4f4d756 chore: update composer 2022-05-19 13:07:40 +02:00
Damodar Lohani eca1626bea update sdk generator 2022-05-19 16:22:32 +05:45
Damodar Lohani 8777d534eb update config and dart changelog 2022-05-19 16:00:50 +05:45
Damodar Lohani b426ec00a0 package update 2022-05-19 15:55:01 +05:45
Everly Precia Suresh 5372c3e359 fix merge conflicts + update version 2022-05-19 09:55:10 +00:00
Torsten Dittmann 2fcbaee0b6 Revert "push debug logs"
This reverts commit 4cbf3b1e12.
2022-05-19 11:53:06 +02:00
Torsten Dittmann 4cbf3b1e12 push debug logs 2022-05-19 11:49:48 +02:00
Torsten Dittmann 27be739d5e feat: improve migration speed 2022-05-19 11:29:01 +02:00
Everly Precia Suresh 722822dc31 refactor account.php 2022-05-18 16:14:21 +00:00
Simon c3ab01afd4 Add types and missing function 2022-05-18 10:25:52 +02:00
Simon 2d6dcf976a Merge branch 'master' into feat-XXX-authentik-oauth 2022-05-18 10:25:38 +02:00
Everly Precia Suresh c329b487a9 remove uneccessary use statement 2022-05-16 10:05:31 +00:00
Everly Precia Suresh aa9fd06be6 add support for wasabi 2022-05-16 09:55:33 +00:00
Everly Precia Suresh 36873be7ea add default region value for linode 2022-05-16 09:31:09 +00:00
Everly Precia Suresh 50f06dbb7a add linode storage adapter 2022-05-16 09:23:30 +00:00
Matej Bačo e2d21d7d6e PR review changes 2022-05-15 06:53:26 +00:00
Everly Precia Suresh eeb7ba120f add param types for vars and file 2022-05-14 10:11:38 +00:00
Everly Precia Suresh 5c70875098 fix tests 2022-05-14 04:09:13 +00:00
Everly Precia Suresh 6d3e4b3757 fix tests 2022-05-13 15:12:21 +00:00
Everly Precia Suresh 1b9e5bc086 fix tests 2022-05-13 15:05:10 +00:00
Everly Precia Suresh 1f139d9337 fix tests 2022-05-13 12:27:12 +00:00
Everly Precia Suresh 3e41a3a5f9 refactor functions.php 2022-05-13 12:05:42 +00:00
Everly Precia Suresh f9da67ec3e format code 2022-05-12 22:33:08 +00:00
Everly Precia Suresh a45fab4e43 better way to initialize storage libs 2022-05-12 22:01:53 +00:00
Everly Precia Suresh 7350d4e447 better way to initialize storage libs 2022-05-12 14:22:41 +00:00
Everly Precia Suresh c3435c30ef Merge branch 'feat-add-backblaze-support' of https://github.com/appwrite/appwrite into feat-add-backblaze-support 2022-05-10 15:24:53 +00:00
Everly Precia Suresh 8cbb28fb98 use anchors and aliases to clean up compose file 2022-05-10 15:22:58 +00:00
Everly Precia Suresh 9d43ad32b4 change default env value 2022-05-10 11:19:58 +00:00
Everly Precia Suresh 5e14ee478e change BackBlaze to Backblaze 2022-05-10 11:15:56 +00:00
f70e247906 Update app/tasks/install.php
Co-authored-by: Matej Bačo <matejbaco2000@gmail.com>
2022-05-09 13:13:41 +01:00
Matej Bačo deb1c95c47 Implemented SHA 2022-05-06 14:35:08 +00:00
Matej Bačo b0df349a23 QA fixes 2022-05-06 08:58:36 +00:00
Matej Bačo ba620b28a3 qa fixes 2022-05-06 07:44:29 +00:00
Simon 4e26ec98b6 remove beta flag as this is a stable-ish implementation 2022-05-05 18:29:00 +02:00
Simon af599ceba8 Add authentik as a OAuth provider 2022-05-05 15:07:32 +02:00
Matej Bačo 55e73c7c67 Rebuild sdks and specs 2022-05-05 12:03:02 +00:00
Matej Bačo 521eb439b0 Code cleanup 2022-05-05 11:53:27 +00:00
Matej Bačo 814bb5c6b6 Finish hashing controllers 2022-05-05 11:21:31 +00:00
Matej Bačo 7c45ca4d0f WIP: Hash rework 2022-05-04 15:00:36 +00:00
Matej Bačo 55c8caf0cc Algo2 hash, adding pr review changes 2022-05-04 14:37:37 +00:00
Matej Bačo 71155a0bf3 Post-merge builds 2022-05-04 13:50:28 +00:00
Matej Bačo bc1b62f7da Merge branch 'master' into feat-password-hash-algos 2022-05-04 13:33:32 +00:00
Everly Precia Suresh e9196bfce4 feat add backblaze support 2022-05-04 11:20:16 +00:00
Matej Bačo 79c5683574 Add SCryptModified logic 2022-05-02 15:00:17 +00:00
Matej Bačo 3f3858f0b3 TODO added 2022-05-01 14:14:16 +00:00
Matej Bačo 5b680d28d0 Abstract class, more tests, PHPass algo 2022-05-01 14:13:59 +00:00
Evan Mattiza 6cdf77fec4 some docker build tweaks
Signed-off-by: Evan Mattiza <emattiza@gmail.com>
2022-03-22 13:17:31 +00:00
Evan MattizaandGitHub f8af73bce9 move docker run into workspace launch 2022-03-22 06:44:45 -05:00
Everly Precia SureshandGitHub 7eb59c5290 Update deletes.php 2022-03-18 22:58:28 +05:30
Everly Precia SureshandGitHub c407c83615 Update deletes.php 2022-03-18 22:56:12 +05:30
Everly Precia Suresh 66d3f03f35 update deletes.php 2022-03-18 17:25:09 +00:00
Everly Precia Suresh 7d5683262e fix conflicts 2022-03-18 17:23:14 +00:00
Everly Precia Suresh f03a68fbfe add storage support for wasabi 2022-03-18 17:17:43 +00:00
Everly Precia SureshandGitHub fc8397de79 Update variables.php 2022-03-18 22:41:30 +05:30
Everly Precia SureshandGitHub 51ea3b2cbc Update deletes.php 2022-03-18 22:17:09 +05:30
Everly Precia Suresh 46c3da70a9 add support for linode 2022-03-18 16:03:04 +00:00
wess 7d66e995c3 getUser and related, temp, respond empty 2022-03-11 09:09:48 -05:00
wess 5d5a7b88e0 Etsy logo added 2022-03-10 12:58:35 -05:00
wess 886b0a6373 Adds oauth for Etsy 2022-03-10 12:31:51 -05:00
Matej Baco d3e8e5ff21 Fixed tests 2022-02-04 17:10:52 +01:00
Matej Baco 7a128fb7cc Proper attribute migration; new specs generated 2022-02-04 16:34:25 +01:00
Matej Baco 4ff32612c8 Fixing tests 2022-02-04 16:25:54 +01:00
Matej Baco a32f341f31 Added hash to response model 2022-02-04 16:02:05 +01:00
Matej Baco 2add8f3601 Added encryption options to account creation 2022-02-04 16:00:24 +01:00
Varghese JoseandGitHub fdd3d2d54b Update ml.json
fix:typo
2022-01-05 17:04:48 +05:30
Varghese JoseandGitHub b4ff3b1c35 Merge branch 'appwrite:master' into master 2022-01-05 17:02:29 +05:30
Christy Jacob 859444703f feat: update PR 2021-12-01 02:41:53 +04:00
Christy Jacob c1ef83eec7 feat: update PR 2021-12-01 02:39:42 +04:00
Bradley Schofield 1a81f10d89 Add a DNS warning during install 2021-11-30 16:11:45 +00:00
Varghese JoseandGitHub 96818cd5ad Update ml.json
translated to malayalam word
2021-10-13 11:32:01 +05:30
Bishwajeet ParhiandGitHub 1e5e84b10a removing a blank space 2021-10-03 14:24:56 +05:30
Gireesh Puthumana 8b170cbbd2 Fix for #1662. Corrected the spelling in the logs. 2021-09-26 17:33:36 -04:00
Bishwajeet ParhiandGitHub 53982458cd Update GETTING_START.md for flutter 2021-09-22 21:28:44 +05:30
9df694a253 Avoid hardcoding URL
Co-authored-by: kodumbeats <brandon.leckemby@gmail.com>
2021-06-04 13:41:31 -07:00
Alex WeiningerandGitHub 76695a032a Add information about _APP_STORAGE_LIMIT environment variable
Discussed in discord, adding this for give the _APP_STORAGE_LIMIT env variable more exposure. Since users might come to this doc page looking for information on max file size.
2021-06-04 13:35:59 -07:00
7138 changed files with 179166 additions and 75167 deletions
+38 -21
View File
@@ -1,9 +1,11 @@
_APP_ENV=development
_APP_LOCALE=en
_APP_WORKER_PER_CORE=6
_APP_WORKER_PER_CORE=2
_APP_CONSOLE_WHITELIST_ROOT=disabled
_APP_CONSOLE_WHITELIST_EMAILS=
_APP_CONSOLE_WHITELIST_CODES=code-zero,code-one
_APP_CONSOLE_WHITELIST_IPS=
_APP_CONSOLE_INVITES=enabled
_APP_SYSTEM_EMAIL_NAME=Appwrite
_APP_SYSTEM_EMAIL_ADDRESS=team@appwrite.io
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=security@appwrite.io
@@ -23,15 +25,15 @@ _APP_DB_SCHEMA=appwrite
_APP_DB_USER=user
_APP_DB_PASS=password
_APP_DB_ROOT_PASS=rootsecretpassword
_APP_STORAGE_DEVICE=Local
_APP_STORAGE_S3_ACCESS_KEY=
_APP_STORAGE_S3_SECRET=
_APP_STORAGE_S3_REGION=us-east-1
_APP_STORAGE_S3_BUCKET=
_APP_STORAGE_DO_SPACES_ACCESS_KEY=
_APP_STORAGE_DO_SPACES_SECRET=
_APP_STORAGE_DO_SPACES_REGION=us-east-1
_APP_STORAGE_DO_SPACES_BUCKET=
_APP_CONNECTIONS_MAX=3100
_APP_POOL_CLIENTS=14
_APP_CONNECTIONS_DB_REPLICAS=db_fra1_02=mariadb://root:rootsecretpassword@mariadb:3306/appwrite
_APP_CONNECTIONS_DB_PROJECT=db_fra1_02=mariadb://user:password@mariadb:3306/appwrite
_APP_CONNECTIONS_DB_CONSOLE=db_fra1_01=mariadb://user:password@mariadb:3306/appwrite
_APP_CONNECTIONS_CACHE=redis_fra1_01=redis://redis:6379
_APP_CONNECTIONS_QUEUE=redis_fra1_01=redis://redis:6379
_APP_CONNECTIONS_PUBSUB=redis_fra1_01=redis://redis:6379
_APP_CONNECTIONS_STORAGE=local://localhost
_APP_STORAGE_ANTIVIRUS=disabled
_APP_STORAGE_ANTIVIRUS_HOST=clamav
_APP_STORAGE_ANTIVIRUS_PORT=3310
@@ -44,27 +46,42 @@ _APP_SMTP_PORT=1025
_APP_SMTP_SECURE=
_APP_SMTP_USERNAME=
_APP_SMTP_PASSWORD=
_APP_USERS_STATS_RECIPIENTS=
_APP_HAMSTER_INTERVAL=86400
_APP_HAMSTER_TIME=21:00
_APP_MIXPANEL_TOKEN=
_APP_SMS_PROVIDER=sms://username:password@mock
_APP_SMS_FROM=+123456789
_APP_STORAGE_LIMIT=30000000
_APP_STORAGE_PREVIEW_LIMIT=20000000
_APP_FUNCTIONS_SIZE_LIMIT=30000000
_APP_FUNCTIONS_TIMEOUT=900
_APP_FUNCTIONS_BUILD_TIMEOUT=900
_APP_FUNCTIONS_CONTAINERS=10
_APP_FUNCTIONS_CPUS=0
_APP_FUNCTIONS_MEMORY=0
_APP_FUNCTIONS_MEMORY_SWAP=0
_APP_FUNCTIONS_INACTIVE_THRESHOLD=60
OPEN_RUNTIMES_NETWORK=appwrite_runtimes
_APP_FUNCTIONS_CPUS=1
_APP_FUNCTIONS_MEMORY=512
_APP_FUNCTIONS_INACTIVE_THRESHOLD=600
_APP_FUNCTIONS_MAINTENANCE_INTERVAL=600
_APP_FUNCTIONS_RUNTIMES_NETWORK=runtimes
_APP_EXECUTOR_SECRET=your-secret-key
_APP_EXECUTOR_HOST=http://appwrite-executor/v1
_APP_EXECUTOR_HOST=http://exc1/v1
_APP_FUNCTIONS_RUNTIMES=
_APP_MAINTENANCE_INTERVAL=86400
_APP_MAINTENANCE_RETENTION_CACHE=2592000
_APP_MAINTENANCE_RETENTION_EXECUTION=1209600
_APP_MAINTENANCE_RETENTION_ABUSE=86400
_APP_MAINTENANCE_RETENTION_AUDIT=1209600
_APP_USAGE_AGGREGATION_INTERVAL=30
_APP_MAINTENANCE_RETENTION_SCHEDULES=86400
_APP_MAINTENANCE_RETENTION_USAGE_HOURLY=8640000
_APP_USAGE_STATS=enabled
_APP_USAGE_AGGREGATION_INTERVAL=30
_APP_LOGGING_PROVIDER=
_APP_LOGGING_CONFIG=
DOCKERHUB_PULL_USERNAME=
DOCKERHUB_PULL_PASSWORD=
DOCKERHUB_PULL_EMAIL=
_APP_REGION=default
_APP_DOCKER_HUB_USERNAME=
_APP_DOCKER_HUB_PASSWORD=
_APP_CONSOLE_GITHUB_SECRET=
_APP_CONSOLE_GITHUB_APP_ID=
_DO_SPACES_BUCKET_NAME=backups-v1
_DO_SPACES_REGION=fra1
_DO_SPACES_ACCESS_KEY=
_DO_SPACES_SECRET_KEY=
+4
View File
@@ -22,3 +22,7 @@ tests/*/*/* linguist-detectable=false
tests/*/*/*/* linguist-detectable=false
tests/*/*/*/*/* linguist-detectable=false
tests/*/*/*/*/*/* linguist-detectable=false
public/scripts/* linguist-detectable=false
public/scripts/*/*/* linguist-detectable=false
public/scripts/*/*/*/* linguist-detectable=false
public/dist/scripts/* linguist-detectable=false
-86
View File
@@ -1,86 +0,0 @@
name: "🐛 Bug Report"
description: "Submit a bug report to help us improve"
title: "🐛 Bug Report: "
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out our bug report form 🙏
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: "👟 Reproduction steps"
description: "How do you trigger this bug? Please walk us through it step by step."
placeholder: "When I ..."
- type: textarea
id: expected-behavior
validations:
required: true
attributes:
label: "👍 Expected behavior"
description: "What did you think would happen?"
placeholder: "It should ..."
- type: textarea
id: actual-behavior
validations:
required: true
attributes:
label: "👎 Actual Behavior"
description: "What did actually happen? Add screenshots, if applicable."
placeholder: "It actually ..."
- type: dropdown
id: appwrite-version
attributes:
label: "🎲 Appwrite version"
description: "What version of Appwrite are you running?"
options:
- Version 0.14.x
- Version 0.13.x
- Version 0.12.x
- Version 0.11.x
- Version 0.10.x
- Version 0.9.x
- Version 0.8.x
- Version 0.7.x
- Version 0.6.x
- Different version (specify in environment)
validations:
required: true
- type: dropdown
id: operating-system
attributes:
label: "💻 Operating system"
description: "What OS is your server / device running on?"
options:
- Linux
- MacOS
- Windows
- Something else
validations:
required: true
- type: textarea
id: environment
validations:
required: false
attributes:
label: "🧱 Your Environment"
description: "Is your environment customized in any way?"
placeholder: "I use Cloudflare for ..."
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "👀 Have you spent some time to check if this issue has been raised before?"
description: "Have you Googled for a similar issue or checked our older issues for a similar bug?"
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
id: read-code-of-conduct
attributes:
label: "🏢 Have you read the Code of Conduct?"
options:
- label: "I have read the [Code of Conduct](https://github.com/appwrite/appwrite/blob/HEAD/CODE_OF_CONDUCT.md)"
required: true
-32
View File
@@ -1,32 +0,0 @@
name: "📚 Documentation"
description: "Report an issue related to documentation"
title: "📚 Documentation: "
labels: [documentation]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to make our documentation better 🙏
- type: textarea
id: issue-description
validations:
required: true
attributes:
label: "💭 Description"
description: "A clear and concise description of what the issue is."
placeholder: "Documentation should not ..."
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "👀 Have you spent some time to check if this issue has been raised before?"
description: "Have you Googled for a similar issue or checked our older issues for a similar bug?"
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
id: read-code-of-conduct
attributes:
label: "🏢 Have you read the Code of Conduct?"
options:
- label: "I have read the [Code of Conduct](https://github.com/appwrite/appwrite/blob/HEAD/CODE_OF_CONDUCT.md)"
required: true
-40
View File
@@ -1,40 +0,0 @@
name: 🚀 Feature
description: "Submit a proposal for a new feature"
title: "🚀 Feature: "
labels: [feature]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out our feature request form 🙏
- type: textarea
id: feature-description
validations:
required: true
attributes:
label: "🔖 Feature description"
description: "A clear and concise description of what the feature is."
placeholder: "You should add ..."
- type: textarea
id: pitch
validations:
required: true
attributes:
label: "🎤 Pitch"
description: "Please explain why this feature should be implemented and how it would be used. Add examples, if applicable."
placeholder: "In my use-case, ..."
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "👀 Have you spent some time to check if this issue has been raised before?"
description: "Have you Googled for a similar issue or checked our older issues for a similar bug?"
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
id: read-code-of-conduct
attributes:
label: "🏢 Have you read the Code of Conduct?"
options:
- label: "I have read the [Code of Conduct](https://github.com/appwrite/appwrite/blob/HEAD/CODE_OF_CONDUCT.md)"
required: true
+5
View File
@@ -21,6 +21,11 @@ Happy contributing!
(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)
### Have you added your change to the [Changelog](https://github.com/appwrite/appwrite/blob/master/CHANGES.md)?
(The CHANGES.md file tracks all the changes that make it to the `main` branch. Add your change to this file in the following format)
- One line description of your PR [#pr_number](Link to your PR)
### Have you read the [Contributing Guidelines on issues](https://github.com/appwrite/appwrite/blob/master/CONTRIBUTING.md)?
(Write your answer here.)
+20
View File
@@ -0,0 +1,20 @@
name: "Linter"
on: [pull_request]
jobs:
lint:
name: Linter
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 2
- run: git checkout HEAD^2
- name: Run Linter
run: |
docker run --rm -v $PWD:/app composer sh -c \
"composer install --profile --ignore-platform-reqs && composer lint"
+46
View File
@@ -0,0 +1,46 @@
name: "Build and Publish"
on:
push:
tags:
- appwrite-*
jobs:
build-publish:
name: Build and Publish
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 2
submodules: recursive
ref: db-pools-backups
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: appwrite/cloud
tags: |
type=ref,event=tag
- name: Build & Publish to DockerHub
uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64
build-args: |
VERSION=${{ steps.meta.outputs.version }}
VITE_APPWRITE_GROWTH_ENDPOINT=https://growth.appwrite.io/v1
VITE_GA_PROJECT=G-L7G2B6PLDS
VITE_CONSOLE_MODE=cloud
push: true
tags: ${{ steps.meta.outputs.tags }}
+10 -12
View File
@@ -4,7 +4,7 @@ on: [pull_request]
jobs:
tests:
name: Unit & E2E
runs-on: self-hosted
runs-on: ubuntu-latest
steps:
- name: Checkout repository
@@ -13,6 +13,8 @@ jobs:
# 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
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
@@ -23,12 +25,15 @@ jobs:
# Upstream bug causes buildkit pulls to fail so prefetch base images
# https://github.com/moby/moby/issues/41864
run: |
echo "_APP_FUNCTIONS_RUNTIMES=php-8.0" >> .env
export COMPOSE_INTERACTIVE_NO_CLI
export DOCKER_BUILDKIT=1
export COMPOSE_DOCKER_CLI_BUILD=1
export BUILDKIT_PROGRESS=plain
docker pull composer:2.0
docker pull php:8.0-cli-alpine
docker compose build --progress=plain
docker compose build appwrite
docker compose up -d
sleep 10
sleep 30
- name: Doctor
run: docker compose exec -T appwrite doctor
@@ -37,10 +42,3 @@ jobs:
- name: Run Tests
run: docker compose exec -T appwrite test --debug
- name: Teardown
if: always()
run: |
docker ps -aq | xargs docker rm --force
docker volume prune --force
docker network prune --force
+2
View File
@@ -10,3 +10,5 @@
debug/
app/sdks
dev/yasd_init.php
.phpunit.result.cache
/backup-data/
+4
View File
@@ -0,0 +1,4 @@
[submodule "app/console"]
path = app/console
url = https://github.com/appwrite/console
branch = cloud-cards
-13
View File
@@ -1,13 +0,0 @@
FROM gitpod/workspace-full
# Disable current PHP installation
RUN sudo a2dismod php7.4
RUN sudo a2dismod mpm_prefork
# Install apache2 (PHP install requires to do this first)
RUN sudo apt --yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install apache2
# Update to PHP 8.0 with unattended installation
RUN sudo apt --yes install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y
RUN sudo apt update
RUN sudo apt --yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install php8.0
+16 -6
View File
@@ -1,10 +1,19 @@
image:
file: .gitpod.Dockerfile
tasks:
- init: docker-compose pull &&
docker-compose build &&
docker run --rm --interactive --tty --volume $PWD:/app composer update --ignore-platform-reqs --optimize-autoloader --no-plugins --no-scripts --prefer-dist
- name: Run Appwrite Docker Stack
init: |
git submodule update --init
docker compose build
docker compose pull
docker pull composer
command: |
docker run --rm --interactive --tty \
--volume $PWD:/app \
composer update \
--ignore-platform-reqs \
--optimize-autoloader \
--no-plugins \
--no-scripts \
--prefer-dist
ports:
- port: 8080
@@ -14,6 +23,7 @@ ports:
vscode:
extensions:
- ms-azuretools.vscode-docker
- zobo.php-intellisense
github:
# https://www.gitpod.io/docs/prebuilds#github-specific-configuration
+234
View File
@@ -1,3 +1,237 @@
# TBD
- Replace Appwrite executor with OpenRuntimes Executor [#4650](https://github.com/appwrite/appwrite/pull/4650)
- Add `_APP_CONNECTIONS_MAX` env var [#4673](https://github.com/appwrite/appwrite/pull/4673)
- Increase Traefik TCP + file limits [#4673](https://github.com/appwrite/appwrite/pull/4673)
- Fix invited account verified status [#4776](https://github.com/appwrite/appwrite/pull/4776)
- Get default region from environment on project create [#4780](https://github.com/appwrite/appwrite/pull/4780)
- Fix max mimetype size [#4814](https://github.com/appwrite/appwrite/pull/4814)
# Version 1.1.2
## Changes
- Released `appwrite/console` [2.0.2](https://github.com/appwrite/console/releases/tag/2.0.2)
- Make `region` parameter optional with default for project create [#4763](https://github.com/appwrite/appwrite/pull/4763)
## Bugs
- Fix default oauth paths [#4725](https://github.com/appwrite/appwrite/pull/4725)
- Fix session expiration, and expired session deletion [#4739](https://github.com/appwrite/appwrite/pull/4739)
- Fix processing status on sync executions [#4737](https://github.com/appwrite/appwrite/pull/4737)
- Fix Locale API returning Unknown continent [#4761](https://github.com/appwrite/appwrite/pull/4761)
# Version 1.1.1
## Bugs
- Fix Deletes worker using incorrect device for file deletion [#4662](https://github.com/appwrite/appwrite/pull/4662)
- Fix Migration for Stats adding the region attribute [#4704](https://github.com/appwrite/appwrite/pull/4704)
- Fix Migration stopping scheduled functions [#4704](https://github.com/appwrite/appwrite/pull/4704)
- Fix Migration enabling OAuth providers with data by default [#4704](https://github.com/appwrite/appwrite/pull/4704)
- Fix Error pages when OAuth providers are disabled [#4704](https://github.com/appwrite/appwrite/pull/4704)
# Version 1.1.0
## Features
- Added support for the new Appwrite Console [#4655](https://github.com/appwrite/appwrite/pull/4655)
- Added new property to projects configuration: `authDuration` which allows you to alter the duration of signed in sessions for your project. [#4618](https://github.com/appwrite/appwrite/pull/4618)
## Bugs
- Fix license detection for Flutter and Dart SDKs [#4435](https://github.com/appwrite/appwrite/pull/4435)
- Fix missing `status`, `buildStderr` and `buildStderr` from get deployment response [#4611](https://github.com/appwrite/appwrite/pull/4611)
- Fix project pagination in DB usage aggregation [#4517](https://github.com/appwrite/appwrite/pull/4517)
- Fix missing file permissions due to cache [#4661](https://github.com/appwrite/appwrite/pull/4661)
- Fix usage stats for async function executions [#4674](https://github.com/appwrite/appwrite/pull/4674)
# Features
- Added Auth Duration API to allow users to set the duration of their sessions. [#4618](https://github.com/appwrite/appwrite/pull/4618)
# Version 1.0.3
## Bugs
- Fix document audit deletion [#4429](https://github.com/appwrite/appwrite/pull/4429)
- Fix attribute and index deletion when deleting a collection [#4429](https://github.com/appwrite/appwrite/pull/4429)
# Version 1.0.2
## Bugs
- Fixed nullable values in functions variables [#3885](https://github.com/appwrite/appwrite/pull/3885)
- Fixed migration for audit by migrating the `time` attribute [#4038](https://github.com/appwrite/appwrite/pull/4038)
- Fixed default value for creating Boolean Attribute [#4040](https://github.com/appwrite/appwrite/pull/4040)
- Fixed phone authentication code to be hashed in the internal database [#3906](https://github.com/appwrite/appwrite/pull/3906)
- Fixed `/v1/teams/:teamId/memberships/:membershipId` response [#3883](https://github.com/appwrite/appwrite/pull/3883)
- Fixed removing variables when function is deleted [#3884](https://github.com/appwrite/appwrite/pull/3884)
- Fixed scheduled function not being triggered [#3908](https://github.com/appwrite/appwrite/pull/3908)
- Fixed Phone Provider configuration [#3862](https://github.com/appwrite/appwrite/pull/3883)
- Fixed Queries with `0` values [utopia-php/database#194](https://github.com/utopia-php/database/pull/194)
# Version 1.0.1
## Bugs
- Fixed migration for abuse by migrating the `time` attribute [#3839](https://github.com/appwrite/appwrite/pull/3839)
# Version 1.0.0
## BREAKING CHANGES
- All Date values are now stored as ISO-8601 instead of UNIX timestamps [#3516](https://github.com/appwrite/appwrite/pull/3516)
- Permission levels and syntax have been reworked. See the Permissions V2 section in the document for more information [#3700](https://github.com/appwrite/appwrite/pull/3700)
- Function Variables are now stored in a separate collection with their own API endpoints [#3634](https://github.com/appwrite/appwrite/pull/3634)
- Resources that are computed asynchronously, such as function deployments, will now return a `202 Accepted` status code instead of `200 OK` [#3547](https://github.com/appwrite/appwrite/pull/3547)
- Queries have been improved to allow even more flexibility, and introduced to new endpoints. See the Queries V2 section in the document for more information [#3702](https://github.com/appwrite/appwrite/pull/3702)
- Compound indexes are now more flexible [#151](https://github.com/utopia-php/database/pull/151)
- `createExecution` parameter `async` default value was changed from `true` to `false` [#3781](https://github.com/appwrite/appwrite/pull/3781)
- String attribute `status` has been refactored to a Boolean attribute `enabled` in the functions collection [#3798](https://github.com/appwrite/appwrite/pull/3798)
- `time` attribute in Execution response model has been renamed to `duration` to be more consistent with other response models. [#3801](https://github.com/appwrite/appwrite/pull/3801)
- Renamed the following list endpoints to stay consistent with other endpoints [#3825](https://github.com/appwrite/appwrite/pull/3825)
- `getMemberships` to `listMemberships` in Teams API
- `getMemberships` to `listMemberships` in Users API
- `getLogs` to `listLogs` in Users API
- `getLogs` to `listLogs` in Accounts API
- `getSessions` to `listSessions` in Accounts API
- `getSessions` to `listSessions` in Users API
- `getCountries` to `listCountries` in Locale API
- `getCountriesEU` to `listCountriesEU` in Locale API
- `getCountriesPhones` to `listCountriesPhones` in Locale API
- `getContinents` to `listContinents` in Locale API
- `getCurrencies` to `listCurrencies` in Locale API
- `getLanguages` to `listLanguages` in Locale API
## Features
- Added the UI to see the Parent ID of all resources within the UI. [#3653](https://github.com/appwrite/appwrite/pull/3653)
- Added automatic cache cleaning for internal Appwrite services [#3491](https://github.com/appwrite/appwrite/pull/3491)
- Added the ability for Appwrite to handle importing hashed passwords, this can be leveraged to import existing user data from other systems. More information can be found in the document linked above. [#2747](https://github.com/appwrite/appwrite/pull/2747)
- `Users` has now been renamed to `Authentication` within the Appwrite console [#3664](https://github.com/appwrite/appwrite/pull/3664)
- More endpoints were made public (for guests) with proper rate limits [#3741](https://github.com/appwrite/appwrite/pull/3741)
- Added Disqus, Podio, and Etsy OAuth providers [#3526](https://github.com/appwrite/appwrite/pull/3526), [#3488](https://github.com/appwrite/appwrite/pull/3488), [#3522](https://github.com/appwrite/appwrite/pull/3522)
- Function logs now capture stdout [#3656](https://github.com/appwrite/appwrite/pull/3656)
- Added the ability to grant guests write permissions for documents, files and executions [#3727](https://github.com/appwrite/appwrite/pull/3727)
## Bugs
- Fixed an issue where after resetting your password in the Appwrite console, you would not be redirected to the login page. [#3654](https://github.com/appwrite/appwrite/pull/3654)
- Fixed an issue where invalid data could be loaded into the Appwrite console. [#3660](https://github.com/appwrite/appwrite/pull/3660)
- Fixed an issue where users using the MySQL adapter for Appwrite would run into an issue with full text indexes [#154](https://github.com/utopia-php/database/pull/154)
- Fix teams being created with no owners [#3558](https://github.com/appwrite/appwrite/pull/3558)
- Fixed a bug where you could not search users by phone [#3619](https://github.com/appwrite/appwrite/pull/3619)
- Fixed a bug where unaccepted invitations would grant access to projects [#3738](https://github.com/appwrite/appwrite/pull/3738)
# Version 0.15.3
## Features
- Added hint during Installation for DNS Configuration by @PineappleIOnic in https://github.com/appwrite/appwrite/pull/2450
## Bugs
- Fixed Migration for Attributes and Indexes by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3568
- Fixed Closed Icon in the alerts to be centered by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3594
- Fixed Response Model for Get and Update Database Endpoint by @ishanvyas22 in https://github.com/appwrite/appwrite/pull/3553
- Fixed Missing Usage on Functions exection by @Meldiron in https://github.com/appwrite/appwrite/pull/3543
- Fixed Validation for Permissions to only accept a maximum of 100 Permissions for all endpoints by @Meldiron in https://github.com/appwrite/appwrite/pull/3532
- Fixed backwards compatibility for Create Email Session Endpoint by @stnguyen90 in https://github.com/appwrite/appwrite/pull/3517
# Version 0.15.2
## Bugs
- Fixed Realtime Authentication for the Console by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3506
- Fixed Collection Usage by @stnguyen90 in https://github.com/appwrite/appwrite/pull/3505
- Fixed `$createdAt` after updating document by @Meldiron in https://github.com/appwrite/appwrite/pull/3498
- Fixed Redirect after deleting Collection in Console @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3476
- Fixed broken Link for Documents under Collections by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3469
# Version 0.15.1
## Bugs
- Fixed SMS for `createVerification` by @christyjacob4 in https://github.com/appwrite/appwrite/pull/3454
- Fixed missing Attributes when creating an Index by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3461
- Fixed broken Link for Documents under Collections by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3461
- Fixed all `$createdAt` and `$updatedAt` occurences in the UI by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3461
- Fixed Delete Document from the UI by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3463
- Fixed internal Attribute and Index key on Migration by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3455
## Docs
- Updated Phone Authentication by @christyjacob4 in https://github.com/appwrite/appwrite/pull/3456
# Version 0.15.0
## BREAKING CHANGES
- Docker Compose V2 is required now
- The `POST:/v1/account/sessions` endpoint is now `POST:/v1/account/sessions/email`
- All `/v1/database/...` endpoints are now `/v1/databases/...`
- `dateCreated` attribute is removed from Teams
- `dateCreated` attribute is removed from Executions
- `dateCreated` attribute is removed from Files
- `dateCreated` and `dateUpdated` attributes are removed from Functions
- `dateCreated` and `dateUpdated` attributes are removed from Deployments
- `dateCreated` and `dateUpdated` attributes are removed from Buckets
- Following Events for Webhooks and Functions are changed:
- `collections.[COLLECTION_ID]` is now `databases.[DATABASE_ID].collections.[COLLECTION_ID]`
- `collections.[COLLECTION_ID].documents.[DOCUMENT_ID]` is now `databases.[DATABASE_ID].collections.[COLLECTION_ID].documents.[DOCUMENT_ID]`
- Following Realtime Channels are changed:
- `collections.[COLLECTION_ID]` is now `databases.[DATABASE_ID].collections.[COLLECTION_ID]`
- `collections.[COLLECTION_ID].documents` is now `databases.[DATABASE_ID].collections.[COLLECTION_ID].documents`
- After Migration a Database called `default` is created for all your existing Database Collections
## Features
- Added Phone Authentication by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3357
- Added Twilio Support
- Added TextMagic Support
- Added Telesign Support
- Added Endpoint to create Phone Session (`POST:/v1/account/sessions/phone`)
- Added Endpoint to confirm Phone Session (`PUT:/v1/account/sessions/phone`)
- Added Endpoint to update Account Phone Number (`PATCH:/v1/account/phone`)
- Added Endpoint to create Account Phone Verification (`POST:/v1/account/verification/phone`)
- Added Endpoint to confirm Account Phone Verification (`PUT:/v1/account/verification/phone`)
- Added `_APP_PHONE_PROVIDER` and `_APP_PHONE_FROM` Environment Variable
- Added `phone` and `phoneVerification` Attribute to User
- Added `$createdAt` and `$updatedAt` Attributes by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3382
- Bucket
- Collection
- Deployment
- Document
- Domain
- Execution
- File
- Func
- Key
- Membership
- Platform
- Project
- Team
- User
- Webhook
- Session (only `$createdAt`)
- Token (only `$createdAt`)
- Added Databases Resource to the Database Service by @lohanidamodar in https://github.com/appwrite/appwrite/pull/3338
- Added `databases.read` and `databases.write` Scopes for API Keys
- Added New Runtimes
- Dart 2.17
- Deno 1.21
- Java 18
- Node 18
- Webhooks now have a Signature Key for proof of Origin by @shimonewman in https://github.com/appwrite/appwrite/pull/3351
- Start using Docker Compose V2 (from `docker-compose` to `docker compose`) by @Meldiron in https://github.com/appwrite/appwrite/pull/3362
- Added support for selfhosted Gitlab (OAuth) by @Meldiron in https://github.com/appwrite/appwrite/pull/3366
- Added Dailymotion OAuth Provider by @2002Bishwajeet in https://github.com/appwrite/appwrite/pull/3371
- Added Autodesk OAuth Provider by @Haimantika in https://github.com/appwrite/appwrite/pull/3420
- Ignore Service Checks when using API Key by @stnguyen90 in https://github.com/appwrite/appwrite/pull/3270
- Added WebM as MIME- and Preview Type by @chuongtang in https://github.com/appwrite/appwrite/pull/3327
- Expired User Sessions are now deleted by the Maintenance Worker by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/3324
- Increased JWT rate-limit to 100 per hour by @abnegate in https://github.com/appwrite/appwrite/pull/3345
- Internal Database Relations are now resolved using the Internal ID by @fogelito in https://github.com/appwrite/appwrite/pull/3383
- Permissions for Documents can be updated without payload now by @gepd in https://github.com/appwrite/appwrite/pull/3346
## Bugs
- Fixed Zoom OAuth scopes
- Fixed empty build logs for Functions
- Fixed unnecessary SMTP check on Team Invite using an API Key by @stnguyen90 in https://github.com/appwrite/appwrite/pull/3270
- Fixed Error Message when adding Team Member to project by @stnguyen90 in https://github.com/appwrite/appwrite/pull/3296
- Fixed .NET Runtime Logo by @adityaoberai in https://github.com/appwrite/appwrite/pull/3315
- Fixed unnecessary Function execution delays by @Meldiron in https://github.com/appwrite/appwrite/pull/3348
- Fixed Runtime race conditions on cold start by @PineappleIOnic in https://github.com/appwrite/appwrite/pull/3361
- Fixed Malayalam translation by @varghesejose2020 in https://github.com/appwrite/appwrite/pull/2561
- Fixed English translation by @MATsxm in https://github.com/appwrite/appwrite/pull/3337
- Fixed spelling in Realtime Worker logs by @gireeshp in https://github.com/appwrite/appwrite/pull/1663
- Fixed Docs URL for Yammer OAuth by @everly-gif in https://github.com/appwrite/appwrite/pull/3402
# Version 0.14.2
## Features
- Support for Backblaze adapter in Storage
- Support for Linode adapter in Storage
- Support for Wasabi adapter in Storage
- New Cloud Function Runtimes:
- Dart 2.17
- Deno 1.21
- Java 18
- Node 18
- Improved overall Migration speed
# Version 0.14.1
## Bugs
-76
View File
@@ -1,76 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity, expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at team@appwrite.io. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
+115 -89
View File
@@ -8,15 +8,16 @@ If you are worried or dont know where to start, check out our next section ex
## Code of Conduct
Help us keep Appwrite open and inclusive. Please read and follow our [Code of Conduct](/CODE_OF_CONDUCT.md).
Help us keep Appwrite open and inclusive. Please read and follow our [Code of Conduct](/https://github.com/appwrite/.github/blob/main/CODE_OF_CONDUCT.md).
## Submit a Pull Request 🚀
Branch naming convention is as following
Branch naming convention is as follows
`TYPE-ISSUE_ID-DESCRIPTION`
example:
```
doc-548-submit-a-pull-request-section-to-contribution-guide
```
@@ -29,32 +30,55 @@ When `TYPE` can be:
- **fix** - a bug fix
- **refactor** - code change that neither fixes a bug nor adds a feature
**All PRs must include a commit message with the changes description!**
**All PRs must include a commit message with the description of the changes made!**
For the initial start, fork the project and use git clone command to download the repository to your computer. A standard procedure for working on an issue would be to:
1. `git pull`, before creating a new branch, pull the changes from upstream. Your master needs to be up to date.
```
$ git pull
```
2. Create new branch from `master` like: `doc-548-submit-a-pull-request-section-to-contribution-guide`<br/>
```
$ git checkout -b [name_of_your_new_branch]
```
3. Work - commit - repeat ( be sure to be in your branch )
4. Push changes to GitHub
4. Before you push your changes, make sure your code follows the `PSR12` coding standards, which is the standard Appwrite follows currently. You can easily do this by running the formatter.
```bash
composer format <your file path>
```
Now, go a step further by running the linter by the following command to manually fix the issues the formatter wasn't able to fix.
```bash
composer lint <your file path>
```
This will give you a list of errors for you to rectify, if there is an instance you need more information on the errors being displayed you can pass in additional command line arguments. More list of available arguments can be found [here](https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage). A very useful command line argument is `--report=diff`. This will give you the expected changes by the linter for easy fixing of formatting issues.
```bash
composer lint --report=diff <your file path>
```
5. Push changes to GitHub
```
$ git push origin [name_of_your_new_branch]
```
5. Submit your changes for review
If you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button.
6. Start a Pull Request
Now submit the pull request and click on `Create pull request`.
7. Get a code review approval/reject
8. After approval, merge your PR
9. GitHub will automatically delete the branch after the merge is done. (they can still be restored).
6. Submit your changes for review
If you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button.
7. Start a Pull Request
Now submit the pull request and click on `Create pull request`.
8. Get a code review approval/reject
9. After approval, merge your PR
10. GitHub will automatically delete the branch after the merge is done. (they can still be restored).
## Setup From Source
@@ -69,7 +93,8 @@ git clone git@github.com:[YOUR_FORK_HERE]/appwrite.git
cd appwrite
docker-compose up -d
docker compose build
docker compose up -d
```
### Code Autocompletion
@@ -84,24 +109,26 @@ docker run --rm --interactive --tty \
### User Interface
Appwrite uses an internal micro-framework called Litespeed.js to build simple UI components in vanilla JS and [less](http://lesscss.org/) for compiling CSS code. To apply any of your changes to the UI, use the `gulp build` or `gulp less` commands, and restart the Appwrite main container to load the new static files to memory using `docker-compose restart appwrite`.
Appwrite uses an internal micro-framework called Litespeed.js to build simple UI components in vanilla JS and [less](http://lesscss.org/) for compiling CSS code. To apply any of your changes to the UI, use the `gulp build` or `gulp less` commands, and restart the Appwrite main container to load the new static files to memory using `docker compose restart appwrite`.
### Get Started
After finishing the installation process, you can start writing and editing code.
#### Advanced Topics
We love to create issues that are good for beginners and label them as `good first issue` or `hacktoberfest`, but some more advanced topics might require extra knowledge. Below is a list of links you can use to learn more about some of the more advance topics that will help you master the Appwrite codebase.
We love to create issues that are good for beginners and label them as `good first issue` or `hacktoberfest`, but some more advanced topics might require extra knowledge. Below is a list of links you can use to learn more about some of the more advanced topics that will help you master the Appwrite codebase.
##### Tools and Libs
- [Docker](https://www.docker.com/get-started)
- [PHP FIG](https://www.php-fig.org/) - [PSR-1](https://www.php-fig.org/psr/psr-1/) and [PSR-4](https://www.php-fig.org/psr/psr-4/)
- [PHP FIG](https://www.php-fig.org/) - [PSR-12](https://www.php-fig.org/psr/psr-12/)
- [PHP Swoole](https://www.swoole.co.uk/)
Learn more at our [Technology Stack](#technology-stack) section.
##### Network and Protocols
- [OSI Model](https://en.wikipedia.org/wiki/OSI_model)
- [TCP vs UDP](https://www.guru99.com/tcp-vs-udp-understanding-the-difference.html#:~:text=TCP%20is%20a%20connection%2Doriented,speed%20of%20UDP%20is%20faster&text=TCP%20does%20error%20checking%20and,but%20it%20discards%20erroneous%20packets.)
- [HTTP](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol)
@@ -110,11 +137,13 @@ Learn more at our [Technology Stack](#technology-stack) section.
- [gRPC](https://en.wikipedia.org/wiki/GRPC)
##### Architecture
- [Microservices vs Monolithic](https://www.mulesoft.com/resources/api/microservices-vs-monolithic#:~:text=Microservices%20architecture%20vs%20monolithic%20architecture&text=A%20monolithic%20application%20is%20built%20as%20a%20single%20unit.&text=To%20make%20any%20alterations%20to,formally%20with%20business%2Doriented%20APIs.)
- [MVVM](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel) - Appwrite console architecture
##### Security
- [Appwrite Auth and ACL](https://github.com/appwrite/appwrite/blob/0.7.x/docs/specs/authentication.drawio.svg)
- [Appwrite Auth and ACL](https://github.com/appwrite/appwrite/blob/master/docs/specs/authentication.drawio.svg)
- [OAuth](https://en.wikipedia.org/wiki/OAuth)
- [Encryption](https://medium.com/searchencrypt/what-is-encryption-how-does-it-work-e8f20e340537#:~:text=Encryption%20is%20a%20process%20that,%2C%20or%20decrypt%2C%20the%20information.)
- [Hashing](https://searchsqlserver.techtarget.com/definition/hashing#:~:text=Hashing%20is%20the%20transformation%20of,it%20using%20the%20original%20value.)
@@ -124,8 +153,8 @@ Learn more at our [Technology Stack](#technology-stack) section.
Appwrite's current structure is a combination of both [Monolithic](https://en.wikipedia.org/wiki/Monolithic_application) and [Microservice](https://en.wikipedia.org/wiki/Microservices) architectures, but our final goal, as we grow, is to be using only microservices.
---
![Appwrite](docs/specs/overview.drawio.svg)
---
## ![Appwrite](docs/specs/overview.drawio.svg)
### File Structure
@@ -194,7 +223,7 @@ Currently, all of the Appwrite microservices are intended to communicate using t
## Ports
Appwrite dev version uses ports 80 and 443 as an entry point to the Appwrite API and console. We also expose multiple ports in the range of 9500-9504 for debugging some of the Appwrite containers on dev mode. If you have any conflicts with the ports running on your system, you can easily replace them by editing Appwrite's docker-compose.yml file and executing `docker-compose up -d` command.
Appwrite dev version uses ports 80 and 443 as an entry point to the Appwrite API and console. We also expose multiple ports in the range of 9500-9504 for debugging some of the Appwrite containers on dev mode. If you have any conflicts with the ports running on your system, you can easily replace them by editing Appwrite's docker-compose.yml file and executing `docker compose up -d` command.
## Technology Stack
@@ -204,15 +233,15 @@ Appwrite stack is combined from a variety of open-source technologies and tools.
### Other Technologies
* Redis - for managing cache and in-memory data (currently, we do not use Redis for persistent data)
* MariaDB - for database storage and queries
* InfluxDB - for managing stats and time-series based data
* Statsd - for sending data over UDP protocol (using Telegraf)
* ClamAV - for validating and scanning storage files
* 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
- Redis - for managing cache and in-memory data (currently, we do not use Redis for persistent data)
- MariaDB - for database storage and queries
- InfluxDB - for managing stats and time-series based data
- Statsd - for sending data over UDP protocol (using Telegraf)
- ClamAV - for validating and scanning storage files
- 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
@@ -224,7 +253,7 @@ Appwrite uses [PHP's Composer](https://getcomposer.org/) for managing dependenci
## Coding Standards
Appwrite is following the [PHP-FIG standards](https://www.php-fig.org/). Currently, we are using both PSR-0 and PSR-4 for coding standards and autoloading standards. Soon we will also review the project for support with PSR-12 (Extended Coding Style).
Appwrite is following the [PHP-FIG standards](https://www.php-fig.org/). Currently, we are using both PSR-0 and PSR-12 for coding standards and autoloading standards.
We use prettier for our JS coding standards and auto-formatting our code.
@@ -236,14 +265,14 @@ We wish Appwrite will be as easy to set up and in a single, localhost, and easy
When contributing code, please take into account the following considerations:
* Response Time
* Throughput
* Requests per Seconds
* Network Usage
* Memory Usage
* Browser Rendering
* Background Jobs
* Task Execution Time
- Response Time
- Throughput
- Requests per Seconds
- Network Usage
- Memory Usage
- Browser Rendering
- Background Jobs
- Task Execution Time
## Security & Privacy
@@ -280,6 +309,7 @@ Before running the command, make sure you have proper write permissions to the A
```bash
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x -t appwrite/appwrite:dev --push .
```
**Build Functions Runtimes**
The Runtimes for all supported cloud functions (multicore builds) can be found at the [open-runtimes/open-runtimes](https://github.com/open-runtimes/open-runtimes) repository.
@@ -288,7 +318,7 @@ The Runtimes for all supported cloud functions (multicore builds) can be found a
For generating a new console SDK follow the next steps:
1. Update the console spec file located at `app/config/specs/swagger2-0.12.x.console.json` from the dynamic version located at `https://localhost/specs/swagger2?platform=console`
1. Update the console spec file located at `app/config/specs/swagger2-<version-number>.console.json` using Appwrite Tasks. Run the `php app/cli.php specs <version-number> normal` command in a running `appwrite/appwrite` container.
2. Generate a new SDK using the command `php app/cli.php sdks`
3. Change your working dir using `cd app/sdks/console-web`
4. Build the new SDK `npm run build`
@@ -299,29 +329,29 @@ For generating a new console SDK follow the next steps:
Things to remember when releasing SDKs
* Update the Changelogs in **docs/sdks** (right now only Dart and Flutter are using these)
* Update **GETTING_STARTED.md** in **docs/sdks** for each SDKs if any changes in the related APIs in there
* Update SDK versions as required on **app/config/platforms.php**
* Generate SDKs using the command `php app/cli.php sdks` and follow the instructions
* Release new tags on GitHub repository for each SDKs
- Update the Changelogs in **docs/sdks** (right now only Dart and Flutter are using these)
- Update **GETTING_STARTED.md** in **docs/sdks** for each SDKs if any changes in the related APIs in there
- Update SDK versions as required on **app/config/platforms.php**
- Generate SDKs using the command `php app/cli.php sdks` and follow the instructions
- Release new tags on GitHub repository for each SDKs
## Debug
Appwrite uses [yasd](https://github.com/swoole/yasd) debugger, which can be made available during build of Appwrite. You can connect to the debugger using VS Code [PHP Debug](https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug) extension or if you are in PHP Storm you don't need any plugin. Below are the settings required for remote debugger connection.
First, you need to create an init file. Duplicate **dev/yasd_init.php.stub** file and name it **dev/yasd_init.php** and there change the IP address to your development machine's IP. Without the proper IP address debugger wont connect. And you also need to set **DEBUG** build arg in **appwrite** service in **docker-compose.yml** file.
First, you need to create an init file. Duplicate **dev/yasd_init.php.stub** file and name it **dev/yasd_init.php** and then change the IP address to your development machine's IP. Without the proper IP address debugger won't connect. And you also need to set **DEBUG** build arg in **appwrite** service in **docker-compose.yml** file.
### VS Code Launch Configuration
```json
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9005,
"pathMappings": {
"/usr/src/code": "${workspaceRoot}"
},
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9005,
"pathMappings": {
"/usr/src/code": "${workspaceRoot}"
}
}
```
@@ -334,85 +364,82 @@ In settings, go to **Languages & Frameworks** > **PHP** > **Debug**, there under
To run all tests manually, use the Appwrite Docker CLI from your terminal:
```bash
docker-compose exec appwrite test
docker compose exec appwrite test
```
To run unit tests use:
```bash
docker-compose exec appwrite test /usr/src/code/tests/unit
docker compose exec appwrite test /usr/src/code/tests/unit
```
To run end-2-end tests use:
```bash
docker-compose exec appwrite test /usr/src/code/tests/e2e
docker compose exec appwrite test /usr/src/code/tests/e2e
```
To run end-2-end tests for a spcific service use:
To run end-2-end tests for a specific service use:
```bash
docker-compose exec appwrite test /usr/src/code/tests/e2e/Services/[ServiceName]
docker compose exec appwrite test /usr/src/code/tests/e2e/Services/[ServiceName]
```
## Benchmarking
You can use WRK Docker image to benchmark the server performance. Benchmarking is extremely useful when you want to compare how the server behaves before and after a change has been applied. Replace [APPWRITE_HOSTNAME_OR_IP] with your Appwrite server hostname or IP. Note that localhost is not accessible from inside the WRK container.
```
Options:
-c, --connections <N> Connections to keep open
-d, --duration <T> Duration of test
-t, --threads <N> Number of threads to use
-s, --script <S> Load Lua script file
-H, --header <H> Add header to request
--latency Print latency statistics
--timeout <T> Socket/request timeout
-v, --version Print version details
```
Options:
-c, --connections <N> Connections to keep open
-d, --duration <T> Duration of test
-t, --threads <N> Number of threads to use
-s, --script <S> Load Lua script file
-H, --header <H> Add header to request
--latency Print latency statistics
--timeout <T> Socket/request timeout
-v, --version Print version details
```
```bash
docker run --rm skandyla/wrk -t3 -c100 -d30 https://[APPWRITE_HOSTNAME_OR_IP]
```
## Code Maintenance
## Code Maintenance
We use some automation tools to help us keep a healthy codebase.
Improve PHP execution time by using [fully-qualified function calls](https://veewee.github.io/blog/optimizing-php-performance-by-fq-function-calls/):
**Run Formatter:**
```bash
php-cs-fixer fix src/ --rules=native_function_invocation --allow-risky=yes
# Run on all files
composer format
# Run on single file or folder
composer format <your file path>
```
Coding Standards:
**Run Linter:**
```bash
php-cs-fixer fix app/controllers --rules='{"braces": {"allow_single_line_closure": true}}'
```
```bash
php-cs-fixer fix src --rules='{"braces": {"allow_single_line_closure": true}}'
```
Static Code Analysis:
```bash
docker-compose exec appwrite /usr/src/code/vendor/bin/psalm
# Run on all files
composer lint
# Run on single file or folder
composer lint <your file path>
```
## Tutorials
From time to time, our team will add tutorials that will help contributors find their way in the Appwrite source code. Below is a list of currently available tutorials:
* [Adding Support for a New OAuth2 Provider](./docs/tutorials/add-oauth2-provider.md)
* [Appwrite Environment Variables](./docs/tutorials/environment-variables.md)
* [Running in Production](./docs/tutorials/running-in-production.md)
* [Adding Storage Adapter](./docs/tutorials/add-storage-adapter.md)
- [Adding Support for a New OAuth2 Provider](./docs/tutorials/add-oauth2-provider.md)
- [Appwrite Environment Variables](./docs/tutorials/environment-variables.md)
- [Running in Production](./docs/tutorials/running-in-production.md)
- [Adding Storage Adapter](./docs/tutorials/add-storage-adapter.md)
## Other Ways to Help
Pull requests are great, but there are many other areas where you can help Appwrite.
Pull requests are great, but there are many other areas where you can help Appwrite.
### Blogging & Speaking
@@ -437,4 +464,3 @@ Submitting documentation updates, enhancements, designs, or bug fixes. Spelling
### Helping Someone
Searching for Appwrite on Discord, GitHub, or StackOverflow and helping someone else who needs help. You can also help by teaching others how to contribute to Appwrite's repo!
+38 -177
View File
@@ -14,116 +14,22 @@ RUN composer install --ignore-platform-reqs --optimize-autoloader \
FROM node:16.14.2-alpine3.15 as node
WORKDIR /usr/local/src/
COPY app/console /usr/local/src/console
COPY package-lock.json /usr/local/src/
COPY package.json /usr/local/src/
COPY gulpfile.js /usr/local/src/
COPY public /usr/local/src/public
WORKDIR /usr/local/src/console
ARG VITE_GA_PROJECT
ARG VITE_CONSOLE_MODE
ARG VITE_APPWRITE_GROWTH_ENDPOINT=https://growth.appwrite.io/v1
ENV VITE_GA_PROJECT=$VITE_GA_PROJECT
ENV VITE_CONSOLE_MODE=$VITE_CONSOLE_MODE
ENV VITE_APPWRITE_GROWTH_ENDPOINT=$VITE_APPWRITE_GROWTH_ENDPOINT
RUN npm ci
RUN npm run build
FROM php:8.0.18-cli-alpine3.15 as compile
ARG DEBUG=false
ENV DEBUG=$DEBUG
ENV PHP_REDIS_VERSION=5.3.7 \
PHP_MONGODB_VERSION=1.13.0 \
PHP_SWOOLE_VERSION=v4.8.9 \
PHP_IMAGICK_VERSION=3.7.0 \
PHP_YAML_VERSION=2.2.2 \
PHP_MAXMINDDB_VERSION=v1.11.0
RUN \
apk add --no-cache --virtual .deps \
make \
automake \
autoconf \
gcc \
g++ \
git \
zlib-dev \
brotli-dev \
openssl-dev \
yaml-dev \
imagemagick \
imagemagick-dev \
libmaxminddb-dev
RUN docker-php-ext-install sockets
FROM compile AS redis
RUN \
# Redis Extension
git clone --depth 1 --branch $PHP_REDIS_VERSION https://github.com/phpredis/phpredis.git && \
cd phpredis && \
phpize && \
./configure && \
make && make install
## Swoole Extension
FROM compile AS swoole
RUN \
git clone --depth 1 --branch $PHP_SWOOLE_VERSION https://github.com/swoole/swoole-src.git && \
cd swoole-src && \
phpize && \
./configure --enable-sockets --enable-http2 --enable-openssl && \
make && make install && \
cd ..
## Swoole Debugger setup
RUN if [ "$DEBUG" == "true" ]; then \
cd /tmp && \
apk add boost-dev && \
git clone --depth 1 https://github.com/swoole/yasd && \
cd yasd && \
phpize && \
./configure && \
make && make install && \
cd ..;\
fi
## Imagick Extension
FROM compile AS imagick
RUN \
git clone --depth 1 --branch $PHP_IMAGICK_VERSION https://github.com/imagick/imagick && \
cd imagick && \
phpize && \
./configure && \
make && make install
## YAML Extension
FROM compile AS yaml
RUN \
git clone --depth 1 --branch $PHP_YAML_VERSION https://github.com/php/pecl-file_formats-yaml && \
cd pecl-file_formats-yaml && \
phpize && \
./configure && \
make && make install
## Maxminddb extension
FROM compile AS maxmind
RUN \
git clone --depth 1 --branch $PHP_MAXMINDDB_VERSION https://github.com/maxmind/MaxMind-DB-Reader-php.git && \
cd MaxMind-DB-Reader-php && \
cd ext && \
phpize && \
./configure && \
make && make install
# Mongodb Extension
FROM compile as mongodb
RUN \
git clone --depth 1 --branch $PHP_MONGODB_VERSION https://github.com/mongodb/mongo-php-driver.git && \
cd mongo-php-driver && \
git submodule update --init && \
phpize && \
./configure && \
make && make install
FROM php:8.0.18-cli-alpine3.15 as final
FROM appwrite/base:0.2.2 as final
LABEL maintainer="team@appwrite.io"
@@ -131,21 +37,17 @@ ARG VERSION=dev
ARG DEBUG=false
ENV DEBUG=$DEBUG
ENV DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
ENV DOCKER_COMPOSE_VERSION=v2.5.0
ENV _APP_SERVER=swoole \
_APP_ENV=production \
_APP_LOCALE=en \
_APP_WORKER_PER_CORE= \
_APP_DOMAIN=localhost \
_APP_DOMAIN_TARGET=localhost \
_APP_HOME=https://appwrite.io \
_APP_EDITION=community \
_APP_CONSOLE_WHITELIST_ROOT=enabled \
_APP_CONSOLE_WHITELIST_EMAILS= \
_APP_CONSOLE_WHITELIST_IPS= \
_APP_SYSTEM_EMAIL_NAME= \
_APP_SYSTEM_EMAIL_ADDRESS= \
_APP_SYSTEM_RESPONSE_FORMAT= \
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS= \
_APP_OPTIONS_ABUSE=enabled \
_APP_OPTIONS_FORCE_HTTPS=disabled \
_APP_OPENSSL_KEY_V1=your-secret-key \
@@ -153,15 +55,6 @@ ENV _APP_SERVER=swoole \
_APP_STORAGE_ANTIVIRUS=enabled \
_APP_STORAGE_ANTIVIRUS_HOST=clamav \
_APP_STORAGE_ANTIVIRUS_PORT=3310 \
_APP_STORAGE_DEVICE=Local \
_APP_STORAGE_S3_ACCESS_KEY= \
_APP_STORAGE_S3_SECRET= \
_APP_STORAGE_S3_REGION= \
_APP_STORAGE_S3_BUCKET= \
_APP_STORAGE_DO_SPACES_ACCESS_KEY= \
_APP_STORAGE_DO_SPACES_SECRET= \
_APP_STORAGE_DO_SPACES_REGION= \
_APP_STORAGE_DO_SPACES_BUCKET= \
_APP_REDIS_HOST=redis \
_APP_REDIS_PORT=6379 \
_APP_DB_HOST=mariadb \
@@ -173,20 +66,12 @@ ENV _APP_SERVER=swoole \
_APP_INFLUXDB_PORT=8086 \
_APP_STATSD_HOST=telegraf \
_APP_STATSD_PORT=8125 \
_APP_SMTP_HOST= \
_APP_SMTP_PORT= \
_APP_SMTP_SECURE= \
_APP_SMTP_USERNAME= \
_APP_SMTP_PASSWORD= \
_APP_FUNCTIONS_SIZE_LIMIT=30000000 \
_APP_FUNCTIONS_TIMEOUT=900 \
_APP_FUNCTIONS_CONTAINERS=10 \
_APP_FUNCTIONS_CPUS=1 \
_APP_FUNCTIONS_MEMORY=128 \
_APP_FUNCTIONS_MEMORY_SWAP=128 \
_APP_EXECUTOR_SECRET=a-random-secret \
_APP_EXECUTOR_HOST=http://appwrite-executor/v1 \
_APP_EXECUTOR_RUNTIME_NETWORK=appwrite_runtimes \
_APP_EXECUTOR_HOST=http://exc1/v1 \
_APP_SETUP=self-hosted \
_APP_VERSION=$VERSION \
_APP_USAGE_STATS=enabled \
@@ -195,36 +80,9 @@ ENV _APP_SERVER=swoole \
_APP_MAINTENANCE_RETENTION_AUDIT=1209600 \
# 1 Day = 86400 s
_APP_MAINTENANCE_RETENTION_ABUSE=86400 \
_APP_MAINTENANCE_INTERVAL=86400 \
_APP_LOGGING_PROVIDER= \
_APP_LOGGING_CONFIG=
_APP_MAINTENANCE_RETENTION_USAGE_HOURLY=8640000 \
_APP_MAINTENANCE_INTERVAL=86400
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN \
apk update \
&& apk add --no-cache --virtual .deps \
make \
automake \
autoconf \
gcc \
g++ \
curl-dev \
&& apk add --no-cache \
libstdc++ \
certbot \
brotli-dev \
yaml-dev \
imagemagick \
imagemagick-dev \
libmaxminddb-dev \
certbot \
docker-cli \
docker-compose \
libgomp \
&& docker-php-ext-install sockets opcache pdo_mysql \
&& apk del .deps \
&& rm -rf /var/cache/apk/*
RUN \
if [ "$DEBUG" == "true" ]; then \
@@ -234,20 +92,13 @@ RUN \
WORKDIR /usr/src/code
COPY --from=composer /usr/local/src/vendor /usr/src/code/vendor
COPY --from=node /usr/local/src/public/dist /usr/src/code/public/dist
COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20200930/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yasd.so* /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
COPY --from=redis /usr/local/lib/php/extensions/no-debug-non-zts-20200930/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
COPY --from=imagick /usr/local/lib/php/extensions/no-debug-non-zts-20200930/imagick.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
COPY --from=yaml /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yaml.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
COPY --from=maxmind /usr/local/lib/php/extensions/no-debug-non-zts-20200930/maxminddb.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
COPY --from=mongodb /usr/local/lib/php/extensions/no-debug-non-zts-20200930/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
COPY --from=node /usr/local/src/console/build /usr/src/code/console
# Add Source Code
COPY ./app /usr/src/code/app
COPY ./public /usr/src/code/public
COPY ./bin /usr/local/bin
COPY ./docs /usr/src/code/docs
COPY ./public/fonts /usr/src/code/public/fonts
COPY ./public/images /usr/src/code/public/images
COPY ./src /usr/src/code/src
# Set Volumes
@@ -266,36 +117,40 @@ RUN mkdir -p /storage/uploads && \
# Executables
RUN chmod +x /usr/local/bin/doctor && \
chmod +x /usr/local/bin/maintenance && \
chmod +x /usr/local/bin/patch-delete-schedule-updated-at-attribute && \
chmod +x /usr/local/bin/clear-card-cache && \
chmod +x /usr/local/bin/calc-users-stats && \
chmod +x /usr/local/bin/calc-tier-stats && \
chmod +x /usr/local/bin/patch-delete-project-collections && \
chmod +x /usr/local/bin/maintenance && \
chmod +x /usr/local/bin/db-backup && \
chmod +x /usr/local/bin/db-restore && \
chmod +x /usr/local/bin/volume-sync && \
chmod +x /usr/local/bin/usage && \
chmod +x /usr/local/bin/install && \
chmod +x /usr/local/bin/migrate && \
chmod +x /usr/local/bin/realtime && \
chmod +x /usr/local/bin/executor && \
chmod +x /usr/local/bin/schedule && \
chmod +x /usr/local/bin/sdks && \
chmod +x /usr/local/bin/specs && \
chmod +x /usr/local/bin/ssl && \
chmod +x /usr/local/bin/hamster && \
chmod +x /usr/local/bin/test && \
chmod +x /usr/local/bin/vars && \
chmod +x /usr/local/bin/worker-audits && \
chmod +x /usr/local/bin/worker-certificates && \
chmod +x /usr/local/bin/worker-database && \
chmod +x /usr/local/bin/worker-databases && \
chmod +x /usr/local/bin/worker-deletes && \
chmod +x /usr/local/bin/worker-functions && \
chmod +x /usr/local/bin/worker-builds && \
chmod +x /usr/local/bin/worker-mails && \
chmod +x /usr/local/bin/worker-messaging && \
chmod +x /usr/local/bin/worker-webhooks
# Letsencrypt Permissions
RUN mkdir -p /etc/letsencrypt/live/ && chmod -Rf 755 /etc/letsencrypt/live/
# Enable Extensions
RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini
RUN echo extension=redis.so >> /usr/local/etc/php/conf.d/redis.ini
RUN echo extension=imagick.so >> /usr/local/etc/php/conf.d/imagick.ini
RUN echo extension=yaml.so >> /usr/local/etc/php/conf.d/yaml.ini
RUN echo extension=maxminddb.so >> /usr/local/etc/php/conf.d/maxminddb.ini
RUN if [ "$DEBUG" == "true" ]; then printf "zend_extension=yasd \nyasd.debug_mode=remote \nyasd.init_file=/usr/local/dev/yasd_init.php \nyasd.remote_port=9005 \nyasd.log_level=-1" >> /usr/local/etc/php/conf.d/yasd.ini; fi
RUN if [ "$DEBUG" == "true" ]; then echo "opcache.enable=0" >> /usr/local/etc/php/conf.d/appwrite.ini; fi
@@ -306,6 +161,12 @@ RUN echo "default_socket_timeout=-1" >> /usr/local/etc/php/conf.d/appwrite.ini
RUN echo "opcache.jit_buffer_size=100M" >> /usr/local/etc/php/conf.d/appwrite.ini
RUN echo "opcache.jit=1235" >> /usr/local/etc/php/conf.d/appwrite.ini
RUN \
apk update \
&& apk add --no-cache \
docker \
&& rm -rf /var/cache/apk/*
EXPOSE 80
CMD [ "php", "app/http.php", "-dopcache.preload=opcache.preload=/usr/src/code/app/preload.php" ]
CMD [ "php", "app/http.php", "-dopcache.preload=opcache.preload=/usr/src/code/app/preload.php" ]
+16 -11
View File
@@ -8,16 +8,21 @@
<br />
</p>
<!-- [![Hacktoberfest](https://img.shields.io/static/v1?label=hacktoberfest&message=friendly&color=90a88b&style=flat-square)](https://hacktoberfest.appwrite.io) -->
<!-- [![Build Status](https://img.shields.io/travis/com/appwrite/appwrite?style=flat-square)](https://travis-ci.com/appwrite/appwrite) -->
[![Hacktoberfest](https://img.shields.io/static/v1?label=hacktoberfest&message=friendly&color=191120&style=flat-square)](https://hacktoberfest.appwrite.io)
[![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord?r=Github)
[![Docker Pulls](https://img.shields.io/docker/pulls/appwrite/appwrite?color=f02e65&style=flat-square)](https://hub.docker.com/r/appwrite/appwrite)
[![Build Status](https://img.shields.io/travis/com/appwrite/appwrite?style=flat-square)](https://travis-ci.com/appwrite/appwrite)
[![Build Status](https://img.shields.io/github/workflow/status/appwrite/appwrite/Tests?label=tests&style=flat-square)](https://github.com/appwrite/appwrite/actions)
[![Twitter Account](https://img.shields.io/twitter/follow/appwrite?color=00acee&label=twitter&style=flat-square)](https://twitter.com/appwrite)
[![翻译](https://img.shields.io/badge/translate-f02e65?style=flat-square)](docs/tutorials/add-translations.md)
[![周边商店](https://img.shields.io/badge/swag%20store-f02e65?style=flat-square)](https://store.appwrite.io)
<!-- [![Docker Pulls](https://img.shields.io/docker/pulls/appwrite/appwrite?color=f02e65&style=flat-square)](https://hub.docker.com/r/appwrite/appwrite) -->
<!-- [![Translate](https://img.shields.io/badge/translate-f02e65?style=flat-square)](docs/tutorials/add-translations.md) -->
<!-- [![Swag Store](https://img.shields.io/badge/swag%20store-f02e65?style=flat-square)](https://store.appwrite.io) -->
[English](README.md) | 简体中文
[**我们发布了 Appwrite Console 2.0 版本,点击这里了解更多!**](https://medium.com/appwrite-io/announcing-console-2-0-2e0e96891cb0?source=friends_link&sk=7a82b4069778e3adc165dc026e960fe1)
Appwrite是一个基于Docker的端到端开发者平台,其容器化的微服务库可应用于网页端,移动端,以及后端。Appwrite 通过视觉化界面极简了从零编写 API 的繁琐过程,在保证软件安全的前提下为开发者创造了一个高效的开发环境。
Appwrite 可以提供给开发者用户验证,外部授权,用户数据读写检索,文件储存,图像处理,云函数计算,[等多种服务](https://appwrite.io/docs).
@@ -59,7 +64,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:0.14.1
appwrite/appwrite:1.1.2
```
### Windows
@@ -71,7 +76,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:0.14.1
appwrite/appwrite:1.1.2
```
#### PowerShell
@@ -81,13 +86,13 @@ 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:0.14.1
appwrite/appwrite:1.1.2
```
运行后,可以在浏览器上访问 http://localhost 找到 Appwrite 控制台。在非 Linux 的本机主机上完成安装后,服务器可能需要几分钟才能启动。
需要自定义容器构架,请查看我们的 Docker [环境变量](https://appwrite.io/docs/environment-variables) 文档。您还可以参考我们的 [docker-compose.yml](https://gist.github.com/eldadfux/977869ff6bdd7312adfd4e629ee15cc5#file-docker-compose-yml) 文件手动设置环境。
需要自定义容器构架,请查看我们的 Docker [环境变量](https://appwrite.io/docs/environment-variables) 文档。您还可以参考我们的 [docker-compose.yml](https://appwrite.io/install/compose) 和 [.env](https://appwrite.io/install/env) 文件手动设置环境。
### 从旧版本升级
@@ -109,7 +114,7 @@ docker run -it --rm ,
* [**帐户**](https://appwrite.io/docs/client/account) -管理当前用户的帐户和登录方式。跟踪和管理用户 Session,登录设备,登录方法和查看相关记录。
* [**用户**](https://appwrite.io/docs/server/users) - 在以管理员模式登录时管理和列出所有用户。
* [**团队**](https://appwrite.io/docs/client/teams) - 管理用户分组。邀请成员,管理团队中的用户权限和用户角色。
* [**数据库**](https://appwrite.io/docs/client/database) - 管理数据库文档和文档集。用检索界面来对文档和文档集进行读取,创建,更新,和删除。
* [**数据库**](https://appwrite.io/docs/client/databases) - 管理数据库文档和文档集。用检索界面来对文档和文档集进行读取,创建,更新,和删除。
* [**贮存**](https://appwrite.io/docs/client/storage) - 管理文件的阅读、创建、删除和预览。设置文件的预览来满足程序的个性化需求。所有文件都由 ClamAV 扫描并安全存储和加密。
* [**云函数**](https://appwrite.io/docs/server/functions) - 在安全,隔离的环境中运行自定义代码。这些代码可以被事件,CRON,或者手动操作触发。
* [**语言适配**](https://appwrite.io/docs/client/locale) - 根据用户所在的的国家和地区做出合适的语言适配。
@@ -128,7 +133,7 @@ docker run -it --rm ,
#### 服务器
* ✅ &nbsp; [NodeJS](https://github.com/appwrite/sdk-for-node) (由 Appwrite 团队维护)
* ✅ &nbsp; [PHP](https://github.com/appwrite/sdk-for-php) (由 Appwr实验 团队维护)
* ✅ &nbsp; [PHP](https://github.com/appwrite/sdk-for-php) (由 Appwrite 团队维护)
* ✅ &nbsp; [Dart](https://github.com/appwrite/sdk-for-dart) - (由 Appwrite 团队维护)
* ✅ &nbsp; [Deno](https://github.com/appwrite/sdk-for-deno) - **公测** (由 Appwrite 团队维护)
* ✅ &nbsp; [Ruby](https://github.com/appwrite/sdk-for-ruby) (由 Appwrite 团队维护)
+84 -46
View File
@@ -1,3 +1,6 @@
> It's going to get cloudy! 🌩 ☂️
> The Appwrite Cloud is coming soon! You can learn more about our upcoming hosted solution and signup for free credits at: https://appwrite.io/cloud
<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>
@@ -8,23 +11,33 @@
<br />
</p>
<!-- [![Hacktoberfest](https://img.shields.io/static/v1?label=hacktoberfest&message=friendly&color=90a88b&style=flat-square)](https://hacktoberfest.appwrite.io) -->
<!-- [![Build Status](https://img.shields.io/travis/com/appwrite/appwrite?style=flat-square)](https://travis-ci.com/appwrite/appwrite) -->
[![Hacktoberfest](https://img.shields.io/static/v1?label=hacktoberfest&message=ready&color=191120&style=flat-square)](https://hacktoberfest.appwrite.io)
[![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord?r=Github)
[![Docker Pulls](https://img.shields.io/docker/pulls/appwrite/appwrite?color=f02e65&style=flat-square)](https://hub.docker.com/r/appwrite/appwrite)
[![Build Status](https://img.shields.io/github/workflow/status/appwrite/appwrite/Tests?label=tests&style=flat-square)](https://github.com/appwrite/appwrite/actions)
[![Twitter Account](https://img.shields.io/twitter/follow/appwrite?color=00acee&label=twitter&style=flat-square)](https://twitter.com/appwrite)
[![Translate](https://img.shields.io/badge/translate-f02e65?style=flat-square)](docs/tutorials/add-translations.md)
[![Swag Store](https://img.shields.io/badge/swag%20store-f02e65?style=flat-square)](https://store.appwrite.io)
<!-- [![Docker Pulls](https://img.shields.io/docker/pulls/appwrite/appwrite?color=f02e65&style=flat-square)](https://hub.docker.com/r/appwrite/appwrite) -->
<!-- [![Translate](https://img.shields.io/badge/translate-f02e65?style=flat-square)](docs/tutorials/add-translations.md) -->
<!-- [![Swag Store](https://img.shields.io/badge/swag%20store-f02e65?style=flat-square)](https://store.appwrite.io) -->
English | [简体中文](README-CN.md)
[**Appwrite 0.14 has been released! Learn what's new!**](https://dev.to/appwrite/announcing-appwrite-014-with-11-cloud-function-runtimes-36f5)
[**Appwrite Console 2.0 has been released! Learn what's new!**](https://medium.com/appwrite-io/announcing-console-2-0-2e0e96891cb0?source=friends_link&sk=7a82b4069778e3adc165dc026e960fe1)
Appwrite is an end-to-end backend server for Web, Mobile, Native, or Backend apps packaged as a set of Docker<nobr> microservices. Appwrite abstracts the complexity and repetitiveness required to build a modern backend API from scratch and allows you to build secure apps faster.
Using Appwrite, you can easily integrate your app with user authentication & multiple sign-in methods, a database for storing and querying users and team data, storage and file management, image manipulation, Cloud Functions, and [more services](https://appwrite.io/docs).
<p align="center">
<br />
<a href="https://www.producthunt.com/posts/appwrite-2?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-appwrite-2" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=360315&theme=light&period=daily" alt="Appwrite - 100&#0037;&#0032;open&#0032;source&#0032;alternative&#0032;for&#0032;Firebase | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
<br />
<br />
</p>
![Appwrite](public/images/github.png)
Find out more at: [https://appwrite.io](https://appwrite.io)
@@ -62,7 +75,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:0.14.1
appwrite/appwrite:1.1.2
```
### Windows
@@ -74,49 +87,72 @@ 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:0.14.1
appwrite/appwrite:1.1.2
```
#### PowerShell
```powershell
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:0.14.1
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.1.2
```
Once the Docker installation completes, 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 installation completes.
For advanced production and custom installation, check out our Docker [environment variables](https://appwrite.io/docs/environment-variables) docs. You can also use our public [docker-compose.yml](https://gist.github.com/eldadfux/977869ff6bdd7312adfd4e629ee15cc5#file-docker-compose-yml) file to manually set up an environment.
For advanced production and custom installation, check out our Docker [environment variables](https://appwrite.io/docs/environment-variables) docs. You can also use our public [docker-compose.yml](https://appwrite.io/install/compose) and [.env](https://appwrite.io/install/env) files to manually set up an environment.
### Upgrade from an Older Version
If you are upgrading your Appwrite server from an older version, you should use the Appwrite migration tool once your setup is completed. For more information regarding this, check out the [Installation Docs](https://appwrite.io/docs/installation).
## One-Click Setups
In addition to running Appwrite locally, you can also launch Appwrite using a pre-configured setup. This allows you to get up and running with Appwrite quickly without installing Docker on your local machine.
Choose from one of the providers below:
<table border="0">
<tr>
<td align="center" width="100" height="100">
<a href="https://marketplace.digitalocean.com/apps/appwrite">
<img width="50" height="39" src="public/images/integrations/digitalocean-logo.svg" alt="DigitalOcean Logo" />
<br /><sub><b>DigitalOcean</b></sub></a>
</a>
</td>
<td align="center" width="100" height="100">
<a href="https://gitpod.io/#https://github.com/appwrite/integration-for-gitpod">
<img width="50" height="39" src="public/images/integrations/gitpod-logo.svg" alt="Gitpod Logo" />
<br /><sub><b>Gitpod</b></sub></a>
</a>
</td>
</tr>
</table>
## Getting Started
Getting started with Appwrite is as easy as creating a new project, choosing your platform, and integrating its SDK into your code. You can easily get started with your platform of choice by reading one of our Getting Started tutorials.
* [Getting Started for Web](https://appwrite.io/docs/getting-started-for-web)
* [Getting Started for Flutter](https://appwrite.io/docs/getting-started-for-flutter)
* [Getting Started for Apple](https://appwrite.io/docs/getting-started-for-apple)
* [Getting Started for Android](https://appwrite.io/docs/getting-started-for-android)
* [Getting Started for Server](https://appwrite.io/docs/getting-started-for-server)
* [Getting Started for CLI](https://appwrite.io/docs/command-line)
- [Getting Started for Web](https://appwrite.io/docs/getting-started-for-web)
- [Getting Started for Flutter](https://appwrite.io/docs/getting-started-for-flutter)
- [Getting Started for Apple](https://appwrite.io/docs/getting-started-for-apple)
- [Getting Started for Android](https://appwrite.io/docs/getting-started-for-android)
- [Getting Started for Server](https://appwrite.io/docs/getting-started-for-server)
- [Getting Started for CLI](https://appwrite.io/docs/command-line)
### Services
* [**Account**](https://appwrite.io/docs/client/account) - Manage current user authentication and account. Track and manage the user sessions, devices, sign-in methods, and security logs.
* [**Users**](https://appwrite.io/docs/server/users) - Manage and list all project users when in admin mode.
* [**Teams**](https://appwrite.io/docs/client/teams) - Manage and group users in teams. Manage memberships, invites, and user roles within a team.
* [**Database**](https://appwrite.io/docs/client/database) - Manage database collections and documents. Read, create, update, and delete documents and filter lists of document collections using advanced filters.
* [**Storage**](https://appwrite.io/docs/client/storage) - Manage storage files. Read, create, delete, and preview files. Manipulate the preview of your files to fit your app perfectly. All files are scanned by ClamAV and stored in a secure and encrypted way.
* [**Functions**](https://appwrite.io/docs/server/functions) - Customize your Appwrite server by executing your custom code in a secure, isolated environment. You can trigger your code on any Appwrite system event, manually or using a CRON schedule.
* [**Locale**](https://appwrite.io/docs/client/locale) - Track your user's location, and manage your app locale-based data.
* [**Avatars**](https://appwrite.io/docs/client/avatars) - Manage your users' avatars, countries' flags, browser icons, credit card symbols, and generate QR codes.
- [**Account**](https://appwrite.io/docs/client/account) - Manage current user authentication and account. Track and manage the user sessions, devices, sign-in methods, and security logs.
- [**Users**](https://appwrite.io/docs/server/users) - Manage and list all project users when building backend integrations with Server SDKs.
- [**Teams**](https://appwrite.io/docs/client/teams) - Manage and group users in teams. Manage memberships, invites, and user roles within a team.
- [**Databases**](https://appwrite.io/docs/client/databases) - Manage databases, collections and documents. Read, create, update, and delete documents and filter lists of document collections using advanced filters.
- [**Storage**](https://appwrite.io/docs/client/storage) - Manage storage files. Read, create, delete, and preview files. Manipulate the preview of your files to fit your app perfectly. All files are scanned by ClamAV and stored in a secure and encrypted way.
- [**Functions**](https://appwrite.io/docs/server/functions) - Customize your Appwrite server by executing your custom code in a secure, isolated environment. You can trigger your code on any Appwrite system event, manually or using a CRON schedule.
- [**Realtime**](https://appwrite.io/docs/realtime) - Listen to real-time events for any of your Appwrite services including users, storage, functions, databases and more.
- [**Locale**](https://appwrite.io/docs/client/locale) - Track your user's location, and manage your app locale-based data.
- [**Avatars**](https://appwrite.io/docs/client/avatars) - Manage your users' avatars, countries' flags, browser icons, credit card symbols, and generate QR codes.
For the complete API documentation, visit [https://appwrite.io/docs](https://appwrite.io/docs). For more tutorials, news and announcements check out our [blog](https://medium.com/appwrite-io) and [Discord Server](https://discord.gg/GSeTUeA).
@@ -125,34 +161,36 @@ For the complete API documentation, visit [https://appwrite.io/docs](https://app
Below is a list of currently supported platforms and languages. If you wish to help us add support to your platform of choice, you can go over to our [SDK Generator](https://github.com/appwrite/sdk-generator) project and view our [contribution guide](https://github.com/appwrite/sdk-generator/blob/master/CONTRIBUTING.md).
#### Client
* ✅ &nbsp; [Web](https://github.com/appwrite/sdk-for-web) (Maintained by the Appwrite Team)
* &nbsp; [Flutter](https://github.com/appwrite/sdk-for-flutter) (Maintained by the Appwrite Team)
* &nbsp; [Apple](https://github.com/appwrite/sdk-for-apple) - **Beta** (Maintained by the Appwrite Team)
* &nbsp; [Android](https://github.com/appwrite/sdk-for-android) (Maintained by the Appwrite Team)
- ✅ &nbsp; [Web](https://github.com/appwrite/sdk-for-web) (Maintained by the Appwrite Team)
- ✅ &nbsp; [Flutter](https://github.com/appwrite/sdk-for-flutter) (Maintained by the Appwrite Team)
- ✅ &nbsp; [Apple](https://github.com/appwrite/sdk-for-apple) - **Beta** (Maintained by the Appwrite Team)
- ✅ &nbsp; [Android](https://github.com/appwrite/sdk-for-android) (Maintained by the Appwrite Team)
#### Server
* ✅ &nbsp; [NodeJS](https://github.com/appwrite/sdk-for-node) (Maintained by the Appwrite Team)
* &nbsp; [PHP](https://github.com/appwrite/sdk-for-php) (Maintained by the Appwrite Team)
* &nbsp; [Dart](https://github.com/appwrite/sdk-for-dart) - (Maintained by the Appwrite Team)
* &nbsp; [Deno](https://github.com/appwrite/sdk-for-deno) - **Beta** (Maintained by the Appwrite Team)
* &nbsp; [Ruby](https://github.com/appwrite/sdk-for-ruby) (Maintained by the Appwrite Team)
* &nbsp; [Python](https://github.com/appwrite/sdk-for-python) (Maintained by the Appwrite Team)
* &nbsp; [Kotlin](https://github.com/appwrite/sdk-for-kotlin) - **Beta** (Maintained by the Appwrite Team)
* &nbsp; [Apple](https://github.com/appwrite/sdk-for-apple) - **Beta** (Maintained by the Appwrite Team)
* &nbsp; [.NET](https://github.com/appwrite/sdk-for-dotnet) - **Experimental** (Maintained by the Appwrite Team)
- ✅ &nbsp; [NodeJS](https://github.com/appwrite/sdk-for-node) (Maintained by the Appwrite Team)
- ✅ &nbsp; [PHP](https://github.com/appwrite/sdk-for-php) (Maintained by the Appwrite Team)
- ✅ &nbsp; [Dart](https://github.com/appwrite/sdk-for-dart) - (Maintained by the Appwrite Team)
- ✅ &nbsp; [Deno](https://github.com/appwrite/sdk-for-deno) - **Beta** (Maintained by the Appwrite Team)
- ✅ &nbsp; [Ruby](https://github.com/appwrite/sdk-for-ruby) (Maintained by the Appwrite Team)
- ✅ &nbsp; [Python](https://github.com/appwrite/sdk-for-python) (Maintained by the Appwrite Team)
- ✅ &nbsp; [Kotlin](https://github.com/appwrite/sdk-for-kotlin) - **Beta** (Maintained by the Appwrite Team)
- ✅ &nbsp; [Apple](https://github.com/appwrite/sdk-for-apple) - **Beta** (Maintained by the Appwrite Team)
- ✅ &nbsp; [.NET](https://github.com/appwrite/sdk-for-dotnet) - **Experimental** (Maintained by the Appwrite Team)
#### Community
* ✅ &nbsp; [Appcelerator Titanium](https://github.com/m1ga/ti.appwrite) (Maintained by [Michael Gangolf](https://github.com/m1ga/))
* &nbsp; [Godot Engine](https://github.com/GodotNuts/appwrite-sdk) (Maintained by [fenix-hub @GodotNuts](https://github.com/fenix-hub))
- ✅ &nbsp; [Appcelerator Titanium](https://github.com/m1ga/ti.appwrite) (Maintained by [Michael Gangolf](https://github.com/m1ga/))
- ✅ &nbsp; [Godot Engine](https://github.com/GodotNuts/appwrite-sdk) (Maintained by [fenix-hub @GodotNuts](https://github.com/fenix-hub))
Looking for more SDKs? - Help us by contributing a pull request to our [SDK Generator](https://github.com/appwrite/sdk-generator)!
## Architecture
![Appwrite Architecture](docs/specs/overview.drawio.svg)
Appwrite uses a microservices architecture that was designed for easy scaling and delegation of responsibilities. In addition, Appwrite supports multiple APIs (REST, WebSocket, and GraphQL-soon) to allow you to interact with your resources leveraging your existing knowledge and protocols of choice.
Appwrite uses a microservices architecture that was designed for easy scaling and delegation of responsibilities. In addition, Appwrite supports multiple APIs (REST, WebSocket, and GraphQL-soon) to allow you to interact with your resources by leveraging your existing knowledge and protocols of choice.
The Appwrite API layer was designed to be extremely fast by leveraging in-memory caching and delegating any heavy-lifting tasks to the Appwrite background workers. The background workers also allow you to precisely control your compute capacity and costs using a message queue to handle the load. You can learn more about our architecture in the [contribution guide](CONTRIBUTING.md#architecture-1).
@@ -168,7 +206,7 @@ For security issues, kindly email us at [security@appwrite.io](mailto:security@a
## Follow Us
Join our growing community around the world! See our official [Blog](https://medium.com/appwrite-io). Follow us on [Twitter](https://twitter.com/appwrite), [Facebook Page](https://www.facebook.com/appwrite.io), [Facebook Group](https://www.facebook.com/groups/appwrite.developers/) , [Dev Community](https://dev.to/appwrite) or join our live [Discord server](https://discord.gg/GSeTUeA) for more help, ideas, and discussions.
Join our growing community around the world! See our official [Blog](https://medium.com/appwrite-io). Follow us on [Twitter](https://twitter.com/appwrite), [Facebook Page](https://www.facebook.com/appwrite.io), [Facebook Group](https://www.facebook.com/groups/appwrite.developers/), [Dev Community](https://dev.to/appwrite) or join our live [Discord server](https://discord.gg/GSeTUeA) for more help, ideas, and discussions.
## License
+4 -3
View File
@@ -4,9 +4,10 @@
| Version | Supported |
| ------- | ------------------ |
| <= 0.10 | :x: |
| 0.11.x | :white_check_mark: |
| 0.12.x | :white_check_mark: |
| <= 0.14 | :x: |
| 1.15.x | :white_check_mark: |
| 1.0.x | :white_check_mark: |
| 1.1.x | :white_check_mark: |
## Reporting a Vulnerability
Binary file not shown.
+183 -19
View File
@@ -1,31 +1,195 @@
<?php
require_once __DIR__.'/init.php';
require_once __DIR__.'/controllers/general.php';
use Utopia\App;
require_once __DIR__ . '/init.php';
require_once __DIR__ . '/controllers/general.php';
use Appwrite\Event\Func;
use Appwrite\Platform\Appwrite;
use Utopia\CLI\CLI;
use Utopia\CLI\Console;
use Utopia\Database\Validator\Authorization;
use Utopia\Platform\Service;
use Utopia\App;
use Utopia\CLI\Console;
use Utopia\Cache\Adapter\Sharding;
use Utopia\Cache\Cache;
use Utopia\Config\Config;
use Utopia\Database\Database;
use Utopia\Database\Document;
use Utopia\Logger\Log;
use Utopia\Pools\Group;
use Utopia\Registry\Registry;
Authorization::disable();
$cli = new CLI();
CLI::setResource('register', fn()=>$register);
include 'tasks/doctor.php';
include 'tasks/maintenance.php';
include 'tasks/install.php';
include 'tasks/migrate.php';
include 'tasks/sdks.php';
include 'tasks/specs.php';
include 'tasks/ssl.php';
include 'tasks/vars.php';
include 'tasks/usage.php';
CLI::setResource('cache', function ($pools) {
$list = Config::getParam('pools-cache', []);
$adapters = [];
foreach ($list as $value) {
$adapters[] = $pools
->get($value)
->pop()
->getResource()
;
}
return new Cache(new Sharding($adapters));
}, ['pools']);
CLI::setResource('pools', function (Registry $register) {
return $register->get('pools');
}, ['register']);
CLI::setResource('dbForConsole', function ($pools, $cache) {
$sleep = 3;
$maxAttempts = 5;
$attempts = 0;
$ready = false;
do {
$attempts++;
try {
// Prepare database connection
$dbAdapter = $pools
->get('console')
->pop()
->getResource();
$dbForConsole = new Database($dbAdapter, $cache);
$dbForConsole->setNamespace('console');
// Ensure tables exist
$collections = Config::getParam('collections', [])['console'];
$last = \array_key_last($collections);
if (!($dbForConsole->exists($dbForConsole->getDefaultDatabase(), $last))) { /** TODO cache ready variable using registry */
throw new Exception('Tables not ready yet.');
}
$ready = true;
} catch (\Exception $err) {
Console::warning($err->getMessage());
$pools->get('console')->reclaim();
sleep($sleep);
}
} while ($attempts < $maxAttempts);
if (!$ready) {
throw new Exception("Console is not ready yet. Please try again later.");
}
return $dbForConsole;
}, ['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) {
if ($project->isEmpty() || $project->getId() === 'console') {
return $dbForConsole;
}
$databaseName = $project->getAttribute('database');
if (isset($databases[$databaseName])) {
$database = $databases[$databaseName];
$database->setNamespace('_' . $project->getInternalId());
return $database;
}
$dbAdapter = $pools
->get($databaseName)
->pop()
->getResource();
$database = new Database($dbAdapter, $cache);
$databases[$databaseName] = $database;
$database->setNamespace('_' . $project->getInternalId());
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());
}, ['pools']);
CLI::setResource('logError', function (Registry $register) {
return function (Throwable $error, string $namespace, string $action) use ($register) {
$logger = $register->get('logger');
if ($logger) {
$version = App::getEnv('_APP_VERSION', 'UNKNOWN');
$log = new Log();
$log->setNamespace($namespace);
$log->setServer(\gethostname());
$log->setVersion($version);
$log->setType(Log::TYPE_ERROR);
$log->setMessage($error->getMessage());
$log->addTag('code', $error->getCode());
$log->addTag('verboseType', get_class($error));
$log->addExtra('file', $error->getFile());
$log->addExtra('line', $error->getLine());
$log->addExtra('trace', $error->getTraceAsString());
$log->addExtra('detailedTrace', $error->getTrace());
$log->setAction($action);
$isProduction = App::getEnv('_APP_ENV', 'development') === 'production';
$log->setEnvironment($isProduction ? Log::ENVIRONMENT_PRODUCTION : Log::ENVIRONMENT_STAGING);
$responseCode = $logger->addLog($log);
Console::info('Usage stats log pushed with status code: ' . $responseCode);
}
Console::warning("Failed: {$error->getMessage()}");
Console::warning($error->getTraceAsString());
};
}, ['register']);
$platform = new Appwrite();
$platform->init(Service::TYPE_CLI);
$cli = $platform->getCli();
$cli
->task('version')
->desc('Get the server version')
->action(function () {
Console::log(App::getEnv('_APP_VERSION', 'UNKNOWN'));
->error()
->inject('error')
->action(function (Throwable $error) {
Console::error($error->getMessage());
});
$cli->run();
$cli->run();
+5 -5
View File
@@ -1,4 +1,4 @@
<?php
<?php
// Auth methods
@@ -7,7 +7,7 @@ return [
'name' => 'Email/Password',
'key' => 'emailPassword',
'icon' => '/images/users/email.png',
'docs' => 'https://appwrite.io/docs/client/account?sdk=web-default#accountCreateSession',
'docs' => 'https://appwrite.io/docs/client/account?sdk=web-default#accountCreateEmailSession',
'enabled' => true,
],
'magic-url' => [
@@ -42,7 +42,7 @@ return [
'name' => 'Phone',
'key' => 'phone',
'icon' => '/images/users/phone.png',
'docs' => '',
'enabled' => false,
'docs' => 'https://appwrite.io/docs/client/account?sdk=web-default#accountCreatePhoneSession',
'enabled' => true,
],
];
];
+14 -14
View File
@@ -2,20 +2,20 @@
return [
// Codes based on: https://github.com/matomo-org/device-detector/blob/master/Parser/Client/Browser.php
'aa' => __DIR__.'/browsers/avant.png',
'an' => __DIR__.'/browsers/android-webview-beta.png',
'ch' => __DIR__.'/browsers/chrome.png',
'ci' => __DIR__.'/browsers/chrome.png', //Chrome Mobile iOS
'cm' => __DIR__.'/browsers/chrome.png', //Chrome Mobile
'cr' => __DIR__.'/browsers/chromium.png',
'ff' => __DIR__.'/browsers/firefox.png',
'sf' => __DIR__.'/browsers/safari.png',
'mf' => __DIR__.'/browsers/safari.png',
'ps' => __DIR__.'/browsers/edge.png',
'oi' => __DIR__.'/browsers/edge.png',
'om' => __DIR__.'/browsers/opera-mini.png',
'op' => __DIR__.'/browsers/opera.png',
'on' => __DIR__.'/browsers/opera.png',
'aa' => __DIR__ . '/browsers/avant.png',
'an' => __DIR__ . '/browsers/android-webview-beta.png',
'ch' => __DIR__ . '/browsers/chrome.png',
'ci' => __DIR__ . '/browsers/chrome.png', //Chrome Mobile iOS
'cm' => __DIR__ . '/browsers/chrome.png', //Chrome Mobile
'cr' => __DIR__ . '/browsers/chromium.png',
'ff' => __DIR__ . '/browsers/firefox.png',
'sf' => __DIR__ . '/browsers/safari.png',
'mf' => __DIR__ . '/browsers/safari.png',
'ps' => __DIR__ . '/browsers/edge.png',
'oi' => __DIR__ . '/browsers/edge.png',
'om' => __DIR__ . '/browsers/opera-mini.png',
'op' => __DIR__ . '/browsers/opera.png',
'on' => __DIR__ . '/browsers/opera.png',
/*
'36' => '360 Phone Browser',
+16 -16
View File
@@ -1,20 +1,20 @@
<?php
return [
'amex' => __DIR__.'/credit-cards/amex.png',
'argencard' => __DIR__.'/credit-cards/argencard.png',
'cabal' => __DIR__.'/credit-cards/cabal.png',
'censosud' => __DIR__.'/credit-cards/consosud.png',
'diners' => __DIR__.'/credit-cards/diners.png',
'discover' => __DIR__.'/credit-cards/discover.png',
'elo' => __DIR__.'/credit-cards/elo.png',
'hipercard' => __DIR__.'/credit-cards/hipercard.png',
'jcb' => __DIR__.'/credit-cards/jcb.png',
'mastercard' => __DIR__.'/credit-cards/mastercard.png',
'naranja' => __DIR__.'/credit-cards/naranja.png',
'targeta-shopping' => __DIR__.'/credit-cards/tarjeta-shopping.png',
'union-china-pay' => __DIR__.'/credit-cards/union-china-pay.png',
'visa' => __DIR__.'/credit-cards/visa.png',
'mir' => __DIR__.'/credit-cards/mir.png',
'maestro' => __DIR__.'/credit-cards/maestro.png',
'amex' => __DIR__ . '/credit-cards/amex.png',
'argencard' => __DIR__ . '/credit-cards/argencard.png',
'cabal' => __DIR__ . '/credit-cards/cabal.png',
'censosud' => __DIR__ . '/credit-cards/consosud.png',
'diners' => __DIR__ . '/credit-cards/diners.png',
'discover' => __DIR__ . '/credit-cards/discover.png',
'elo' => __DIR__ . '/credit-cards/elo.png',
'hipercard' => __DIR__ . '/credit-cards/hipercard.png',
'jcb' => __DIR__ . '/credit-cards/jcb.png',
'mastercard' => __DIR__ . '/credit-cards/mastercard.png',
'naranja' => __DIR__ . '/credit-cards/naranja.png',
'targeta-shopping' => __DIR__ . '/credit-cards/tarjeta-shopping.png',
'union-china-pay' => __DIR__ . '/credit-cards/union-china-pay.png',
'visa' => __DIR__ . '/credit-cards/visa.png',
'mir' => __DIR__ . '/credit-cards/mir.png',
'maestro' => __DIR__ . '/credit-cards/maestro.png',
];
+194 -194
View File
@@ -1,198 +1,198 @@
<?php
return [
'af' => __DIR__.'/flags/af.png',
'ao' => __DIR__.'/flags/ao.png',
'al' => __DIR__.'/flags/al.png',
'ad' => __DIR__.'/flags/ad.png',
'ae' => __DIR__.'/flags/ae.png',
'ar' => __DIR__.'/flags/ar.png',
'am' => __DIR__.'/flags/am.png',
'ag' => __DIR__.'/flags/ag.png',
'au' => __DIR__.'/flags/au.png',
'at' => __DIR__.'/flags/at.png',
'az' => __DIR__.'/flags/az.png',
'bi' => __DIR__.'/flags/bi.png',
'be' => __DIR__.'/flags/be.png',
'bj' => __DIR__.'/flags/bj.png',
'bf' => __DIR__.'/flags/bf.png',
'bd' => __DIR__.'/flags/bd.png',
'bg' => __DIR__.'/flags/bg.png',
'bh' => __DIR__.'/flags/bh.png',
'bs' => __DIR__.'/flags/bs.png',
'ba' => __DIR__.'/flags/ba.png',
'by' => __DIR__.'/flags/by.png',
'bz' => __DIR__.'/flags/bz.png',
'bo' => __DIR__.'/flags/bo.png',
'br' => __DIR__.'/flags/br.png',
'bb' => __DIR__.'/flags/bb.png',
'bn' => __DIR__.'/flags/bn.png',
'bt' => __DIR__.'/flags/bt.png',
'bw' => __DIR__.'/flags/bw.png',
'cf' => __DIR__.'/flags/cf.png',
'ca' => __DIR__.'/flags/ca.png',
'ch' => __DIR__.'/flags/ch.png',
'cl' => __DIR__.'/flags/cl.png',
'cn' => __DIR__.'/flags/cn.png',
'ci' => __DIR__.'/flags/ci.png',
'cm' => __DIR__.'/flags/cm.png',
'cd' => __DIR__.'/flags/cd.png',
'cg' => __DIR__.'/flags/cg.png',
'co' => __DIR__.'/flags/co.png',
'km' => __DIR__.'/flags/km.png',
'cv' => __DIR__.'/flags/cv.png',
'cr' => __DIR__.'/flags/cr.png',
'cu' => __DIR__.'/flags/cu.png',
'cy' => __DIR__.'/flags/cy.png',
'cz' => __DIR__.'/flags/cz.png',
'de' => __DIR__.'/flags/de.png',
'dj' => __DIR__.'/flags/dj.png',
'dm' => __DIR__.'/flags/dm.png',
'dk' => __DIR__.'/flags/dk.png',
'do' => __DIR__.'/flags/do.png',
'dz' => __DIR__.'/flags/dz.png',
'ec' => __DIR__.'/flags/ec.png',
'eg' => __DIR__.'/flags/eg.png',
'er' => __DIR__.'/flags/er.png',
'es' => __DIR__.'/flags/es.png',
'ee' => __DIR__.'/flags/ee.png',
'et' => __DIR__.'/flags/et.png',
'fi' => __DIR__.'/flags/fi.png',
'fj' => __DIR__.'/flags/fj.png',
'fr' => __DIR__.'/flags/fr.png',
'fm' => __DIR__.'/flags/fm.png',
'ga' => __DIR__.'/flags/ga.png',
'gb' => __DIR__.'/flags/gb.png',
'ge' => __DIR__.'/flags/ge.png',
'gh' => __DIR__.'/flags/gh.png',
'gn' => __DIR__.'/flags/gn.png',
'gm' => __DIR__.'/flags/gm.png',
'gw' => __DIR__.'/flags/gw.png',
'gq' => __DIR__.'/flags/gq.png',
'gr' => __DIR__.'/flags/gr.png',
'gd' => __DIR__.'/flags/gd.png',
'gt' => __DIR__.'/flags/gt.png',
'gy' => __DIR__.'/flags/gy.png',
'hn' => __DIR__.'/flags/hn.png',
'hr' => __DIR__.'/flags/hr.png',
'ht' => __DIR__.'/flags/ht.png',
'hu' => __DIR__.'/flags/hu.png',
'id' => __DIR__.'/flags/id.png',
'in' => __DIR__.'/flags/in.png',
'ie' => __DIR__.'/flags/ie.png',
'ir' => __DIR__.'/flags/ir.png',
'iq' => __DIR__.'/flags/iq.png',
'is' => __DIR__.'/flags/is.png',
'il' => __DIR__.'/flags/il.png',
'it' => __DIR__.'/flags/it.png',
'jm' => __DIR__.'/flags/jm.png',
'jo' => __DIR__.'/flags/jo.png',
'jp' => __DIR__.'/flags/jp.png',
'kz' => __DIR__.'/flags/kz.png',
'ke' => __DIR__.'/flags/ke.png',
'kg' => __DIR__.'/flags/kg.png',
'kh' => __DIR__.'/flags/kh.png',
'ki' => __DIR__.'/flags/ki.png',
'kn' => __DIR__.'/flags/kn.png',
'kr' => __DIR__.'/flags/kr.png',
'kw' => __DIR__.'/flags/kw.png',
'la' => __DIR__.'/flags/la.png',
'lb' => __DIR__.'/flags/lb.png',
'lr' => __DIR__.'/flags/lr.png',
'ly' => __DIR__.'/flags/ly.png',
'lc' => __DIR__.'/flags/lc.png',
'li' => __DIR__.'/flags/li.png',
'lk' => __DIR__.'/flags/lk.png',
'ls' => __DIR__.'/flags/ls.png',
'lt' => __DIR__.'/flags/ls.png',
'lu' => __DIR__.'/flags/lu.png',
'lv' => __DIR__.'/flags/lv.png',
'ma' => __DIR__.'/flags/ma.png',
'mc' => __DIR__.'/flags/mc.png',
'md' => __DIR__.'/flags/md.png',
'mg' => __DIR__.'/flags/mg.png',
'mv' => __DIR__.'/flags/mv.png',
'mx' => __DIR__.'/flags/mx.png',
'mh' => __DIR__.'/flags/mh.png',
'mk' => __DIR__.'/flags/mk.png',
'ml' => __DIR__.'/flags/ml.png',
'mt' => __DIR__.'/flags/mt.png',
'mm' => __DIR__.'/flags/mm.png',
'me' => __DIR__.'/flags/me.png',
'mn' => __DIR__.'/flags/mn.png',
'mz' => __DIR__.'/flags/mz.png',
'mr' => __DIR__.'/flags/mr.png',
'mu' => __DIR__.'/flags/mu.png',
'mw' => __DIR__.'/flags/mw.png',
'my' => __DIR__.'/flags/my.png',
'na' => __DIR__.'/flags/na.png',
'ne' => __DIR__.'/flags/ne.png',
'ng' => __DIR__.'/flags/ng.png',
'ni' => __DIR__.'/flags/ni.png',
'nl' => __DIR__.'/flags/nl.png',
'no' => __DIR__.'/flags/no.png',
'np' => __DIR__.'/flags/np.png',
'nr' => __DIR__.'/flags/nr.png',
'nz' => __DIR__.'/flags/nz.png',
'om' => __DIR__.'/flags/om.png',
'pk' => __DIR__.'/flags/pk.png',
'pa' => __DIR__.'/flags/pa.png',
'pe' => __DIR__.'/flags/pe.png',
'ph' => __DIR__.'/flags/ph.png',
'pw' => __DIR__.'/flags/pw.png',
'pg' => __DIR__.'/flags/pg.png',
'pl' => __DIR__.'/flags/pl.png',
'kp' => __DIR__.'/flags/kp.png',
'pt' => __DIR__.'/flags/pt.png',
'py' => __DIR__.'/flags/py.png',
'qa' => __DIR__.'/flags/qa.png',
'ro' => __DIR__.'/flags/ro.png',
'ru' => __DIR__.'/flags/ru.png',
'rw' => __DIR__.'/flags/rw.png',
'sa' => __DIR__.'/flags/sa.png',
'sd' => __DIR__.'/flags/sd.png',
'sn' => __DIR__.'/flags/sn.png',
'sg' => __DIR__.'/flags/sg.png',
'sb' => __DIR__.'/flags/sb.png',
'sl' => __DIR__.'/flags/sl.png',
'sv' => __DIR__.'/flags/sv.png',
'sm' => __DIR__.'/flags/sm.png',
'so' => __DIR__.'/flags/so.png',
'rs' => __DIR__.'/flags/rs.png',
'ss' => __DIR__.'/flags/ss.png',
'st' => __DIR__.'/flags/st.png',
'sr' => __DIR__.'/flags/sr.png',
'sk' => __DIR__.'/flags/sk.png',
'si' => __DIR__.'/flags/si.png',
'se' => __DIR__.'/flags/se.png',
'sz' => __DIR__.'/flags/sz.png',
'sc' => __DIR__.'/flags/sc.png',
'sy' => __DIR__.'/flags/sy.png',
'td' => __DIR__.'/flags/td.png',
'tg' => __DIR__.'/flags/tg.png',
'th' => __DIR__.'/flags/th.png',
'tj' => __DIR__.'/flags/tj.png',
'tm' => __DIR__.'/flags/tm.png',
'tl' => __DIR__.'/flags/tl.png',
'to' => __DIR__.'/flags/to.png',
'tt' => __DIR__.'/flags/tt.png',
'tn' => __DIR__.'/flags/tn.png',
'tr' => __DIR__.'/flags/tr.png',
'tv' => __DIR__.'/flags/tv.png',
'tz' => __DIR__.'/flags/tz.png',
'ug' => __DIR__.'/flags/ug.png',
'ua' => __DIR__.'/flags/ua.png',
'uy' => __DIR__.'/flags/uy.png',
'us' => __DIR__.'/flags/us.png',
'uz' => __DIR__.'/flags/uz.png',
'va' => __DIR__.'/flags/va.png',
'vc' => __DIR__.'/flags/vc.png',
've' => __DIR__.'/flags/ve.png',
'vn' => __DIR__.'/flags/vn.png',
'vu' => __DIR__.'/flags/vu.png',
'ws' => __DIR__.'/flags/ws.png',
'ye' => __DIR__.'/flags/ye.png',
'za' => __DIR__.'/flags/za.png',
'zm' => __DIR__.'/flags/zm.png',
'zw' => __DIR__.'/flags/zw.png',
'af' => __DIR__ . '/flags/af.png',
'ao' => __DIR__ . '/flags/ao.png',
'al' => __DIR__ . '/flags/al.png',
'ad' => __DIR__ . '/flags/ad.png',
'ae' => __DIR__ . '/flags/ae.png',
'ar' => __DIR__ . '/flags/ar.png',
'am' => __DIR__ . '/flags/am.png',
'ag' => __DIR__ . '/flags/ag.png',
'au' => __DIR__ . '/flags/au.png',
'at' => __DIR__ . '/flags/at.png',
'az' => __DIR__ . '/flags/az.png',
'bi' => __DIR__ . '/flags/bi.png',
'be' => __DIR__ . '/flags/be.png',
'bj' => __DIR__ . '/flags/bj.png',
'bf' => __DIR__ . '/flags/bf.png',
'bd' => __DIR__ . '/flags/bd.png',
'bg' => __DIR__ . '/flags/bg.png',
'bh' => __DIR__ . '/flags/bh.png',
'bs' => __DIR__ . '/flags/bs.png',
'ba' => __DIR__ . '/flags/ba.png',
'by' => __DIR__ . '/flags/by.png',
'bz' => __DIR__ . '/flags/bz.png',
'bo' => __DIR__ . '/flags/bo.png',
'br' => __DIR__ . '/flags/br.png',
'bb' => __DIR__ . '/flags/bb.png',
'bn' => __DIR__ . '/flags/bn.png',
'bt' => __DIR__ . '/flags/bt.png',
'bw' => __DIR__ . '/flags/bw.png',
'cf' => __DIR__ . '/flags/cf.png',
'ca' => __DIR__ . '/flags/ca.png',
'ch' => __DIR__ . '/flags/ch.png',
'cl' => __DIR__ . '/flags/cl.png',
'cn' => __DIR__ . '/flags/cn.png',
'ci' => __DIR__ . '/flags/ci.png',
'cm' => __DIR__ . '/flags/cm.png',
'cd' => __DIR__ . '/flags/cd.png',
'cg' => __DIR__ . '/flags/cg.png',
'co' => __DIR__ . '/flags/co.png',
'km' => __DIR__ . '/flags/km.png',
'cv' => __DIR__ . '/flags/cv.png',
'cr' => __DIR__ . '/flags/cr.png',
'cu' => __DIR__ . '/flags/cu.png',
'cy' => __DIR__ . '/flags/cy.png',
'cz' => __DIR__ . '/flags/cz.png',
'de' => __DIR__ . '/flags/de.png',
'dj' => __DIR__ . '/flags/dj.png',
'dm' => __DIR__ . '/flags/dm.png',
'dk' => __DIR__ . '/flags/dk.png',
'do' => __DIR__ . '/flags/do.png',
'dz' => __DIR__ . '/flags/dz.png',
'ec' => __DIR__ . '/flags/ec.png',
'eg' => __DIR__ . '/flags/eg.png',
'er' => __DIR__ . '/flags/er.png',
'es' => __DIR__ . '/flags/es.png',
'ee' => __DIR__ . '/flags/ee.png',
'et' => __DIR__ . '/flags/et.png',
'fi' => __DIR__ . '/flags/fi.png',
'fj' => __DIR__ . '/flags/fj.png',
'fr' => __DIR__ . '/flags/fr.png',
'fm' => __DIR__ . '/flags/fm.png',
'ga' => __DIR__ . '/flags/ga.png',
'gb' => __DIR__ . '/flags/gb.png',
'ge' => __DIR__ . '/flags/ge.png',
'gh' => __DIR__ . '/flags/gh.png',
'gn' => __DIR__ . '/flags/gn.png',
'gm' => __DIR__ . '/flags/gm.png',
'gw' => __DIR__ . '/flags/gw.png',
'gq' => __DIR__ . '/flags/gq.png',
'gr' => __DIR__ . '/flags/gr.png',
'gd' => __DIR__ . '/flags/gd.png',
'gt' => __DIR__ . '/flags/gt.png',
'gy' => __DIR__ . '/flags/gy.png',
'hn' => __DIR__ . '/flags/hn.png',
'hr' => __DIR__ . '/flags/hr.png',
'ht' => __DIR__ . '/flags/ht.png',
'hu' => __DIR__ . '/flags/hu.png',
'id' => __DIR__ . '/flags/id.png',
'in' => __DIR__ . '/flags/in.png',
'ie' => __DIR__ . '/flags/ie.png',
'ir' => __DIR__ . '/flags/ir.png',
'iq' => __DIR__ . '/flags/iq.png',
'is' => __DIR__ . '/flags/is.png',
'il' => __DIR__ . '/flags/il.png',
'it' => __DIR__ . '/flags/it.png',
'jm' => __DIR__ . '/flags/jm.png',
'jo' => __DIR__ . '/flags/jo.png',
'jp' => __DIR__ . '/flags/jp.png',
'kz' => __DIR__ . '/flags/kz.png',
'ke' => __DIR__ . '/flags/ke.png',
'kg' => __DIR__ . '/flags/kg.png',
'kh' => __DIR__ . '/flags/kh.png',
'ki' => __DIR__ . '/flags/ki.png',
'kn' => __DIR__ . '/flags/kn.png',
'kr' => __DIR__ . '/flags/kr.png',
'kw' => __DIR__ . '/flags/kw.png',
'la' => __DIR__ . '/flags/la.png',
'lb' => __DIR__ . '/flags/lb.png',
'lr' => __DIR__ . '/flags/lr.png',
'ly' => __DIR__ . '/flags/ly.png',
'lc' => __DIR__ . '/flags/lc.png',
'li' => __DIR__ . '/flags/li.png',
'lk' => __DIR__ . '/flags/lk.png',
'ls' => __DIR__ . '/flags/ls.png',
'lt' => __DIR__ . '/flags/ls.png',
'lu' => __DIR__ . '/flags/lu.png',
'lv' => __DIR__ . '/flags/lv.png',
'ma' => __DIR__ . '/flags/ma.png',
'mc' => __DIR__ . '/flags/mc.png',
'md' => __DIR__ . '/flags/md.png',
'mg' => __DIR__ . '/flags/mg.png',
'mv' => __DIR__ . '/flags/mv.png',
'mx' => __DIR__ . '/flags/mx.png',
'mh' => __DIR__ . '/flags/mh.png',
'mk' => __DIR__ . '/flags/mk.png',
'ml' => __DIR__ . '/flags/ml.png',
'mt' => __DIR__ . '/flags/mt.png',
'mm' => __DIR__ . '/flags/mm.png',
'me' => __DIR__ . '/flags/me.png',
'mn' => __DIR__ . '/flags/mn.png',
'mz' => __DIR__ . '/flags/mz.png',
'mr' => __DIR__ . '/flags/mr.png',
'mu' => __DIR__ . '/flags/mu.png',
'mw' => __DIR__ . '/flags/mw.png',
'my' => __DIR__ . '/flags/my.png',
'na' => __DIR__ . '/flags/na.png',
'ne' => __DIR__ . '/flags/ne.png',
'ng' => __DIR__ . '/flags/ng.png',
'ni' => __DIR__ . '/flags/ni.png',
'nl' => __DIR__ . '/flags/nl.png',
'no' => __DIR__ . '/flags/no.png',
'np' => __DIR__ . '/flags/np.png',
'nr' => __DIR__ . '/flags/nr.png',
'nz' => __DIR__ . '/flags/nz.png',
'om' => __DIR__ . '/flags/om.png',
'pk' => __DIR__ . '/flags/pk.png',
'pa' => __DIR__ . '/flags/pa.png',
'pe' => __DIR__ . '/flags/pe.png',
'ph' => __DIR__ . '/flags/ph.png',
'pw' => __DIR__ . '/flags/pw.png',
'pg' => __DIR__ . '/flags/pg.png',
'pl' => __DIR__ . '/flags/pl.png',
'kp' => __DIR__ . '/flags/kp.png',
'pt' => __DIR__ . '/flags/pt.png',
'py' => __DIR__ . '/flags/py.png',
'qa' => __DIR__ . '/flags/qa.png',
'ro' => __DIR__ . '/flags/ro.png',
'ru' => __DIR__ . '/flags/ru.png',
'rw' => __DIR__ . '/flags/rw.png',
'sa' => __DIR__ . '/flags/sa.png',
'sd' => __DIR__ . '/flags/sd.png',
'sn' => __DIR__ . '/flags/sn.png',
'sg' => __DIR__ . '/flags/sg.png',
'sb' => __DIR__ . '/flags/sb.png',
'sl' => __DIR__ . '/flags/sl.png',
'sv' => __DIR__ . '/flags/sv.png',
'sm' => __DIR__ . '/flags/sm.png',
'so' => __DIR__ . '/flags/so.png',
'rs' => __DIR__ . '/flags/rs.png',
'ss' => __DIR__ . '/flags/ss.png',
'st' => __DIR__ . '/flags/st.png',
'sr' => __DIR__ . '/flags/sr.png',
'sk' => __DIR__ . '/flags/sk.png',
'si' => __DIR__ . '/flags/si.png',
'se' => __DIR__ . '/flags/se.png',
'sz' => __DIR__ . '/flags/sz.png',
'sc' => __DIR__ . '/flags/sc.png',
'sy' => __DIR__ . '/flags/sy.png',
'td' => __DIR__ . '/flags/td.png',
'tg' => __DIR__ . '/flags/tg.png',
'th' => __DIR__ . '/flags/th.png',
'tj' => __DIR__ . '/flags/tj.png',
'tm' => __DIR__ . '/flags/tm.png',
'tl' => __DIR__ . '/flags/tl.png',
'to' => __DIR__ . '/flags/to.png',
'tt' => __DIR__ . '/flags/tt.png',
'tn' => __DIR__ . '/flags/tn.png',
'tr' => __DIR__ . '/flags/tr.png',
'tv' => __DIR__ . '/flags/tv.png',
'tz' => __DIR__ . '/flags/tz.png',
'ug' => __DIR__ . '/flags/ug.png',
'ua' => __DIR__ . '/flags/ua.png',
'uy' => __DIR__ . '/flags/uy.png',
'us' => __DIR__ . '/flags/us.png',
'uz' => __DIR__ . '/flags/uz.png',
'va' => __DIR__ . '/flags/va.png',
'vc' => __DIR__ . '/flags/vc.png',
've' => __DIR__ . '/flags/ve.png',
'vn' => __DIR__ . '/flags/vn.png',
'vu' => __DIR__ . '/flags/vu.png',
'ws' => __DIR__ . '/flags/ws.png',
'ye' => __DIR__ . '/flags/ye.png',
'za' => __DIR__ . '/flags/za.png',
'zm' => __DIR__ . '/flags/zm.png',
'zw' => __DIR__ . '/flags/zw.png',
];
+3 -3
View File
@@ -2,9 +2,9 @@
return [
// Codes based on: https://github.com/matomo-org/device-detector/blob/master/Parser/Client/Browser.php
'AND' => __DIR__.'/os/android.png',
'ATV' => __DIR__.'/os/apple-tv.png',
'COS' => __DIR__.'/os/chrome-os.png',
'AND' => __DIR__ . '/os/android.png',
'ATV' => __DIR__ . '/os/apple-tv.png',
'COS' => __DIR__ . '/os/chrome-os.png',
/*
'AIX' => 'AIX',
+1
View File
@@ -0,0 +1 @@
[1297371,1759475,6360216,20852629,5857008,19310830,9708641,26739219,23742426,22174310,77877486,1477010,29069505,62933155,45863583,42211,176163,58045728,7091609,31401437,1911066,66096031,22432834,43054051,79051850,22895284,100597998,91385411,49699333,7818620,11004008,54898623,27856297,33250853,49375670,30630364,50206,47822499,7481165,52557347,13681567,20492520,51369094,51821861,50256986,28431370,13692220,24373771,15938422,27148250,14805534,36137226,36071208,40193621,56179878,53281158,48085134,19358691,32528768,19733683,37348419,13719696,18309412,42106787,53618500,5306011,4408379,35486736,18586611,15062564,27011453,56090587,44623032,25107942,81188,33922418,16717633,32809211,69401139,25815659,4104127,20889958,3102249,12476526,2635185,28495651,50957556,2791280,31023616,20955511,835733,471907,69008866,44906587,45271396,76054330,45748739,41908747,23402178,47356149,8921,36632821,3668741,71702982,29725587,26303198,785830,51410502,60089135,2847349,43172716,48546075,8216525,41161981,51828039,4334997,80918302,38534289,47860497,80036766,41341387,49818988,58487637,29237374,46913894,5148229,4377199,29686102,26272249,75117692,4090256,27357868,33062368,38664231,46695441,743291,22633385,6368283,11593067,45097959,43381712,3284228,1972717,33012425,61755381,25405707,3144291,44156359,5497267,7423905,20716175,28586681,5975506,23518097,22187384,24191952,7768078,971530,51240166,55633427,34207400,77061285,11719476,35950229,66742927,34406802,802933,50047839,39148877,26602940,9693472,44273767,19362725,31209978,30521594,686298,6237394,35039730,42580581,36671793,8502129,8466918,81866614,54903252,28373606,13381361,72331432,30694270,5355510,8209163,86675510,9453522,42496309,56145786,2149381,393945,22084723,52621436,8872447,5575392,29619660,5547479,8852116,11151445,4717349,17725274,65615065,18537755,29292618,53044263,26597930,10313411,55998629,77529288,17404636,33729848,19422168,17916404,66111735,10329006,33502846,398230,81643826,105039167,47522632,91655303,9774614,10603631,284924,60857954,22885912,116552306,36103454,794606,27729549,1754457,36594527,13899668,78664749,47406531,27698189,5305654,53345517,6756412,29176704,77790497,47504894,37251540,52361778,52200375,1351177,66022861,73975409,25745396,31433638,37118134,43210805,20317665,11923975,47187468,16362381,36751163,14959876,32362757,65529384,52352285,74085816,3628535,43902034,75667593,26132902,466713,617558,96806061,33605526,11290524,43621940,12446314,17146935,55018955,56096559,79797000,40014186,34449936,58387964,23368207,42414965,44056349,33743031,12294525,58251592,33755729,9021747,932084,11428067,97121933,80122730,60894542,58583793,56051809,32243289,9934371,90936802,74638775,65399526,77604,64524822,47782249,43633955,42793632,55969597,72334601,82395440,92818577,60866204,65016769,23725091,45892107,55308895,86314140,82756460,47685349,63562160,73419211,1613216,50882624,91469717,46166258,60927324,41763158,83607556,2171717,50497814,39427312,61322830,40076195,39419448,29397545,55090719,53259730,20885012,64558515,69677883,55741087,72426535,46033036,68477507,30376878,73700530,25518600,29922887,36229969,47573417,40424087,49054503,16880385,22801227,72848513,64347914,814402,49149679,55017867,49481876,67067955,31439735,63878173,80322286,43746210,17332970,22702905,62476876,89888292,75736952,54059881,90782137,63588969,57111920,63330165,70258211,46371923,17837758,59364507,52203828,60147326,18481195,74822422,9803078,67309607,60410049,47360939,19922556,90848252,24698014,58886915,63579762,96648934,68523530,60518745,37345795,3929651,54993657,52061363,43019989,5787917,94674993,71593494,17143469,10288548,1830380,71510505,59124772,2335145,70798495,46474346,49263351,52062536,63151043,65248303,26071571,53626355,43992469,60785452,63467479,71837281,19490891,58628586,38250310,7271718,1110414,57227290,11625672,85063520,88965873,70096901,42029519,85363195,64471630,69353350,66922161,2221746,100430077,12299813,62690310,68282006,99184676,2450,22989561,22212661,59973863,11232940,76688923,22321353,77732479,84286404,32268377,34828782,23068019,57074509,24620969,20735983,26173690,75809937,49760818,86646105,52617262]
+33
View File
@@ -0,0 +1,33 @@
{
"eldad@appwrite.io": { "memberSince": "2020-10-15", "spot": "0", "gitHub": "eldadfux" },
"christy@appwrite.io": { "memberSince": "2020-12-01", "spot": "1", "gitHub": "christyjacob4" },
"torsten@appwrite.io": { "memberSince": "2020-12-28", "spot": "2", "gitHub": "torstendittmann" },
"damodar@appwrite.io": { "memberSince": "2021-01-02", "spot": "3", "gitHub": "lohanidamodar" },
"bradley@appwrite.io": { "memberSince": "2021-05-21", "spot": "5", "gitHub": "PineappleIOnic" },
"jake@appwrite.io": { "memberSince": "2021-06-28", "spot": "6", "gitHub": "abnegate" },
"sara@appwrite.io": { "memberSince": "2021-08-16", "spot": "7", "gitHub": "sarakaandorp" },
"matej@appwrite.io": { "memberSince": "2021-08-23", "spot": "8", "gitHub": "meldiron" },
"aditya@appwrite.io": { "memberSince": "2021-09-01", "spot": "9", "gitHub": "adityaoberai" },
"wess@appwrite.io": { "memberSince": "2021-11-08", "spot": "12", "gitHub": "wess" },
"may@appwrite.io": { "memberSince": "2021-11-28", "spot": "14", "gitHub": "MayEnder" },
"elad@appwrite.io": { "memberSince": "2021-12-19", "spot": "15", "gitHub": "elad2412" },
"vincent@appwrite.io": { "memberSince": "2022-01-01", "spot": "16", "gitHub": "gewenyu99" },
"haimantika@appwrite.io": { "memberSince": "2022-04-01", "spot": "18", "gitHub": "Haimantika" },
"chen@appwrite.io": { "memberSince": "2022-01-24", "spot": "19", "gitHub": "chenparnasa" },
"tessa@appwrite.io": { "memberSince": "2022-04-21", "spot": "20", "gitHub": "tessamero" },
"shimon@appwrite.io": { "memberSince": "2022-05-01", "spot": "23", "gitHub": "shimonewman" },
"shmuel@appwrite.io": { "memberSince": "2022-03-20", "spot": "24", "gitHub": "fogelito" },
"arman@appwrite.io": { "memberSince": "2022-04-04", "spot": "25", "gitHub": "ArmanNik" },
"carla@appwrite.io": { "memberSince": "2022-04-04", "spot": "26", "gitHub": "heyCarla" },
"emma@appwrite.io": { "memberSince": "2022-05-08", "spot": "27", "gitHub": "emmacarpagnano1" },
"dylan@appwrite.io": { "memberSince": "2022-05-09", "spot": "28", "gitHub": "DylanG-64" },
"steven@appwrite.io": { "memberSince": "2022-07-01", "spot": "30", "gitHub": "stnguyen90" },
"jyoti@appwrite.io": { "memberSince": "2022-10-24", "spot": "31", "gitHub": "joeyouss" },
"jade@appwrite.io": { "memberSince": "2022-10-31", "spot": "32", "gitHub": "dajebp" },
"khushboo@appwrite.io": { "memberSince": "2021-11-08", "spot": "13", "gitHub": "vermakhushboo" },
"thomas@appwrite.io": { "memberSince": "2022-11-03", "spot": "34", "gitHub": "TGlide" },
"holly@appwrite.io": { "memberSince": "2022-12-05", "spot": "35", "gitHub": "HollyBarclay" },
"laura@appwrite.io": { "memberSince": "2023-01-25", "spot": "36", "gitHub": "LauraDuRy" },
"caio@appwrite.io": { "memberSince": "2023-03-27", "spot": "37", "gitHub": "ariascaio" },
"luke@appwrite.io": { "memberSince": "2023-05-04", "spot": "38", "gitHub": "loks0n" }
}
+9
View File
@@ -0,0 +1,9 @@
{
"bishwajeet.techmaster@gmail.com": { "memberSince": "2023-02-07" },
"lucasaudart@gmail.com": { "memberSince": "2023-02-07" },
"tkarmakar27112000@gmail.com": { "memberSince": "2023-02-07" },
"alves.mckl@gmail.com": { "memberSince": "2023-02-07" },
"dpns_nampula@rnlay.com": { "memberSince": "2023-02-07" },
"a.stephensimon@outlook.com": { "memberSince": "2023-02-07" },
"hidianapham@gmail.com": { "memberSince": "2023-02-07" }
}
+2686 -1877
View File
File diff suppressed because it is too large Load Diff
+96 -24
View File
@@ -1,7 +1,7 @@
<?php
/**
* List of server wide error codes and their respective messages.
* List of server wide error codes and their respective messages.
*/
use Appwrite\Extend\Exception;
@@ -11,17 +11,17 @@ return [
Exception::GENERAL_UNKNOWN => [
'name' => Exception::GENERAL_UNKNOWN,
'description' => 'An unknown error has occured. Please check the logs for more information.',
'code' => 500,
'code' => 500,
],
Exception::GENERAL_MOCK => [
'name' => Exception::GENERAL_MOCK,
'description' => 'General errors thrown by the mock controller used for testing.',
'code' => 400,
'code' => 400,
],
Exception::GENERAL_ACCESS_FORBIDDEN => [
'name' => Exception::GENERAL_ACCESS_FORBIDDEN,
'description' => 'Access to this API is forbidden.',
'code' => 401,
'code' => 401,
],
Exception::GENERAL_UNKNOWN_ORIGIN => [
'name' => Exception::GENERAL_UNKNOWN_ORIGIN,
@@ -48,6 +48,11 @@ return [
'description' => 'SMTP is disabled on your Appwrite instance. You can <a href="/docs/email-delivery">learn more about setting up SMTP</a> in our docs.',
'code' => 503,
],
Exception::GENERAL_PHONE_DISABLED => [
'name' => Exception::GENERAL_PHONE_DISABLED,
'description' => 'Phone provider is not configured. Please check the _APP_SMS_PROVIDER environment variable of your Appwrite server.',
'code' => 503,
],
Exception::GENERAL_ARGUMENT_INVALID => [
'name' => Exception::GENERAL_ARGUMENT_INVALID,
'description' => 'The request contains one or more invalid arguments. Please refer to the endpoint documentation.',
@@ -65,7 +70,7 @@ return [
],
Exception::GENERAL_ROUTE_NOT_FOUND => [
'name' => Exception::GENERAL_ROUTE_NOT_FOUND,
'description' => 'The requested route was not found. Please refer to the docs and try again.',
'description' => 'The requested route was not found. Please refer to the API docs and try again.',
'code' => 404,
],
Exception::GENERAL_CURSOR_NOT_FOUND => [
@@ -81,7 +86,12 @@ 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' => 500,
],
Exception::GENERAL_CODES_DISABLED => [
'name' => Exception::GENERAL_CODES_DISABLED,
'description' => 'Invitation codes are disabled on this server. Please contact the server administrator.',
'code' => 500,
],
/** User Errors */
@@ -97,12 +107,12 @@ return [
],
Exception::USER_ALREADY_EXISTS => [
'name' => Exception::USER_ALREADY_EXISTS,
'description' => 'A user with the same email ID already exists in your project.',
'description' => 'A user with the same email already exists in your project.',
'code' => 409,
],
Exception::USER_BLOCKED => [
'name' => Exception::USER_BLOCKED,
'description' => 'The current user has been blocked. You can unblock the user from the Appwrite console.',
'description' => 'The current user has been blocked.',
'code' => 401,
],
Exception::USER_INVALID_TOKEN => [
@@ -117,12 +127,17 @@ return [
],
Exception::USER_EMAIL_NOT_WHITELISTED => [
'name' => Exception::USER_EMAIL_NOT_WHITELISTED,
'description' => 'The user\'s email is not part of the whitelist. Please check the _APP_CONSOLE_WHITELIST_EMAILS environment variable of your Appwrite server.',
'description' => 'Console registration is restricted to specific emails. Contact your administrator for more information.',
'code' => 401,
],
Exception::USER_INVALID_CODE => [
'name' => Exception::USER_INVALID_CODE,
'description' => 'The specified code is not valid. Contact your administrator for more information.',
'code' => 401,
],
Exception::USER_IP_NOT_WHITELISTED => [
'name' => Exception::USER_IP_NOT_WHITELISTED,
'description' => 'The user\'s IP address is not part of the whitelist. Please check the _APP_CONSOLE_WHITELIST_IPS environment variable of your Appwrite server.',
'description' => 'Console registration is restricted to specific IPs. Contact your administrator for more information.',
'code' => 401,
],
Exception::USER_INVALID_CREDENTIALS => [
@@ -147,7 +162,7 @@ return [
],
Exception::USER_EMAIL_ALREADY_EXISTS => [
'name' => Exception::USER_EMAIL_ALREADY_EXISTS,
'description' => 'Another user with the same email already exists in the current project.',
'description' => 'A user with the same email already exists in the current project.',
'code' => 409,
],
Exception::USER_PASSWORD_MISMATCH => [
@@ -170,6 +185,21 @@ return [
'description' => 'The requested authentication method is either disabled or unsupported. Please check the supported authentication methods in the Appwrite console.',
'code' => 501,
],
Exception::USER_PHONE_ALREADY_EXISTS => [
'name' => Exception::USER_PHONE_ALREADY_EXISTS,
'description' => 'A user with the same phone number already exists in the current project.',
'code' => 409,
],
Exception::USER_PHONE_NOT_FOUND => [
'name' => Exception::USER_PHONE_NOT_FOUND,
'description' => 'The current user does not have a phone number associated with their account.',
'code' => 400,
],
Exception::USER_MISSING_ID => [
'name' => Exception::USER_MISSING_ID,
'description' => 'Missing ID from OAuth2 provider.',
'code' => 400,
],
/** Teams */
Exception::TEAM_NOT_FOUND => [
@@ -179,7 +209,7 @@ return [
],
Exception::TEAM_INVITE_ALREADY_EXISTS => [
'name' => Exception::TEAM_INVITE_ALREADY_EXISTS,
'description' => 'The current user has already received an invitation to join the team.',
'description' => 'User has already been invited or is already a member of this team',
'code' => 409,
],
Exception::TEAM_INVITE_NOT_FOUND => [
@@ -203,13 +233,17 @@ return [
'code' => 401,
],
/** Membership */
Exception::MEMBERSHIP_NOT_FOUND => [
'name' => Exception::MEMBERSHIP_NOT_FOUND,
'description' => 'Membership with the requested ID could not be found.',
'code' => 404,
],
Exception::MEMBERSHIP_ALREADY_CONFIRMED => [
'name' => Exception::MEMBERSHIP_ALREADY_CONFIRMED,
'description' => 'Membership already confirmed',
'code' => 409,
],
/** Avatars */
Exception::AVATAR_SET_NOT_FOUND => [
@@ -256,7 +290,7 @@ return [
],
Exception::STORAGE_FILE_TYPE_UNSUPPORTED => [
'name' => Exception::STORAGE_FILE_TYPE_UNSUPPORTED,
'description' => 'The file type is not supported.',
'description' => 'The given file extension is not supported.',
'code' => 400,
],
Exception::STORAGE_INVALID_FILE_SIZE => [
@@ -310,7 +344,7 @@ return [
],
Exception::BUILD_NOT_READY => [
'name' => Exception::BUILD_NOT_READY,
'description' => 'Build with the requested ID is builing and not ready for execution.',
'description' => 'Build with the requested ID is building and not ready for execution.',
'code' => 400,
],
Exception::BUILD_IN_PROGRESS => [
@@ -333,6 +367,19 @@ return [
'code' => 404,
],
/** Databases */
Exception::DATABASE_NOT_FOUND => [
'name' => Exception::DATABASE_NOT_FOUND,
'description' => 'Database not found',
'code' => 404
],
Exception::DATABASE_ALREADY_EXISTS => [
'name' => Exception::DATABASE_ALREADY_EXISTS,
'description' => 'Database already exists',
'code' => 409
],
/** Collections */
Exception::COLLECTION_NOT_FOUND => [
'name' => Exception::COLLECTION_NOT_FOUND,
@@ -437,6 +484,11 @@ return [
'description' => 'Project with the requested ID could not be found. Please check the value of the X-Appwrite-Project header to ensure the correct project ID is being used.',
'code' => 404,
],
Exception::PROJECT_ALREADY_EXISTS => [
'name' => Exception::PROJECT_ALREADY_EXISTS,
'description' => 'Project with the requested ID already exists.',
'code' => 409,
],
Exception::PROJECT_UNKNOWN => [
'name' => Exception::PROJECT_UNKNOWN,
'description' => 'The project ID is either missing or not valid. Please check the value of the X-Appwrite-Project header to ensure the correct project ID is being used.',
@@ -449,24 +501,29 @@ return [
],
Exception::PROJECT_PROVIDER_UNSUPPORTED => [
'name' => Exception::PROJECT_PROVIDER_UNSUPPORTED,
'description' => 'The chosen OAuth provider is unsupported. Please check <a href="/docs/client/account?sdk=web-default#accountCreateOAuth2Session"> the docs</a> for the complete list of supported OAuth providers.',
'description' => 'The chosen OAuth provider is unsupported. Please check the <a href="/docs/client/account?sdk=web-default#accountCreateOAuth2Session">Create OAuth2 Session docs</a> for the complete list of supported OAuth providers.',
'code' => 501,
],
Exception::PROJECT_INVALID_SUCCESS_URL => [
'name' => Exception::PROJECT_INVALID_SUCCESS_URL,
'description' => 'Invalid URL received for OAuth success redirect.',
'description' => 'Invalid redirect URL for OAuth success.',
'code' => 400,
],
Exception::PROJECT_INVALID_FAILURE_URL => [
'name' => Exception::PROJECT_INVALID_FAILURE_URL,
'description' => 'Invalid URL received for OAuth failure redirect.',
'description' => 'Invalid redirect URL for OAuth failure.',
'code' => 400,
],
Exception::PROJECT_MISSING_USER_ID => [
'name' => Exception::PROJECT_MISSING_USER_ID,
'description' => 'Failed to obtain user ID from the OAuth provider.',
Exception::PROJECT_RESERVED_PROJECT => [
'name' => Exception::PROJECT_RESERVED_PROJECT,
'description' => 'The project ID is reserved. Please choose another project ID.',
'code' => 400,
],
Exception::PROJECT_KEY_EXPIRED => [
'name' => Exception::PROJECT_KEY_EXPIRED,
'description' => 'The project key has expired. Please generate a new key using the Appwrite console.',
'code' => 401,
],
Exception::WEBHOOK_NOT_FOUND => [
'name' => Exception::WEBHOOK_NOT_FOUND,
'description' => 'Webhook with the requested ID could not be found.',
@@ -489,12 +546,27 @@ return [
],
Exception::DOMAIN_ALREADY_EXISTS => [
'name' => Exception::DOMAIN_ALREADY_EXISTS,
'description' => 'A Domain with the requested ID already exists.',
'description' => 'The requested domain is currently in use by a project.',
'code' => 409,
],
Exception::DOMAIN_FORBIDDEN => [
'name' => Exception::DOMAIN_FORBIDDEN,
'description' => 'The requested domain cannot be used as a custom domain.',
'code' => 403,
],
Exception::VARIABLE_NOT_FOUND => [
'name' => Exception::VARIABLE_NOT_FOUND,
'description' => 'Variable with the requested ID could not be found.',
'code' => 404,
],
Exception::VARIABLE_ALREADY_EXISTS => [
'name' => Exception::VARIABLE_ALREADY_EXISTS,
'description' => 'Variable with the same ID already exists in your project.',
'code' => 409,
],
Exception::DOMAIN_VERIFICATION_FAILED => [
'name' => Exception::DOMAIN_VERIFICATION_FAILED,
'description' => 'Domain verification for the requested domain has failed.',
'code' => 401,
]
];
],
];
+49 -35
View File
@@ -1,7 +1,7 @@
<?php
/**
* List of publicly accessiable system events
* List of publicly accessible system events
*/
use Appwrite\Utopia\Response;
@@ -69,54 +69,68 @@ return [
],
]
],
'collections' => [
'$model' => Response::MODEL_COLLECTION,
'databases' => [
'$model' => Response::MODEL_DATABASE,
'$resource' => true,
'$description' => 'This event triggers on any collection event.',
'documents' => [
'$model' => Response::MODEL_DOCUMENT,
'$description' => 'This event triggers on any database event.',
'collections' => [
'$model' => Response::MODEL_COLLECTION,
'$resource' => true,
'$description' => 'This event triggers on any documents event.',
'$description' => 'This event triggers on any collection event.',
'documents' => [
'$model' => Response::MODEL_DOCUMENT,
'$resource' => true,
'$description' => 'This event triggers on any documents event.',
'create' => [
'$description' => 'This event triggers when a document is created.',
],
'delete' => [
'$description' => 'This event triggers when a document is deleted.'
],
'update' => [
'$description' => 'This event triggers when a document is updated.'
],
],
'indexes' => [
'$model' => Response::MODEL_INDEX,
'$resource' => true,
'$description' => 'This event triggers on any indexes event.',
'create' => [
'$description' => 'This event triggers when an index is created.',
],
'delete' => [
'$description' => 'This event triggers when an index is deleted.'
]
],
'attributes' => [
'$model' => Response::MODEL_ATTRIBUTE,
'$resource' => true,
'$description' => 'This event triggers on any attributes event.',
'create' => [
'$description' => 'This event triggers when an attribute is created.',
],
'delete' => [
'$description' => 'This event triggers when an attribute is deleted.'
]
],
'create' => [
'$description' => 'This event triggers when a document is created.',
'$description' => 'This event triggers when a collection is created.'
],
'delete' => [
'$description' => 'This event triggers when a document is deleted.'
'$description' => 'This event triggers when a collection is deleted.',
],
'update' => [
'$description' => 'This event triggers when a document is updated.'
],
],
'indexes' => [
'$model' => Response::MODEL_INDEX,
'$resource' => true,
'$description' => 'This event triggers on any indexes event.',
'create' => [
'$description' => 'This event triggers when an index is created.',
],
'delete' => [
'$description' => 'This event triggers when an index is deleted.'
]
],
'attributes' => [
'$model' => Response::MODEL_ATTRIBUTE,
'$resource' => true,
'$description' => 'This event triggers on any attributes event.',
'create' => [
'$description' => 'This event triggers when an attribute is created.',
],
'delete' => [
'$description' => 'This event triggers when an attribute is deleted.'
'$description' => 'This event triggers when a collection is updated.',
]
],
'create' => [
'$description' => 'This event triggers when a collection is created.'
'$description' => 'This event triggers when a database is created.'
],
'delete' => [
'$description' => 'This event triggers when a collection is deleted.',
'$description' => 'This event triggers when a database is deleted.',
],
'update' => [
'$description' => 'This event triggers when a collection is updated.',
'$description' => 'This event triggers when a database is updated.',
]
],
'buckets' => [
+1 -1
View File
@@ -51,7 +51,7 @@ return [
'or', // Oriya
'tl', // Filipino
'pl', // Polish
'pt-br', // Portuguese - Brazil
'pt-br', // Portuguese - Brazil
'pt-pt', // Portuguese - Portugal
'pa', // Punjabi
'ro', // Romanian
+2 -2
View File
@@ -30,7 +30,7 @@
"emails.certificate.subject": "Certificate failure for %s",
"emails.certificate.hello": "Hello",
"emails.certificate.body": "Certificate for your domain '{{domain}}' could not be generated. This is attempt no. {{attempt}}, and the failure was caused by: {{error}}",
"emails.certificate.footer": "Your previous certificate willl be valid for 30 days since the first failure. We highly recommend investigating this case, otherwise your domain will end up without a valid SSL communication.",
"emails.certificate.footer": "Your previous certificate will be valid for 30 days since the first failure. We highly recommend investigating this case, otherwise your domain will end up without a valid SSL communication.",
"emails.certificate.thanks": "Thanks",
"emails.certificate.signature": "{{project}} team",
"locale.country.unknown": "Unknown",
@@ -235,4 +235,4 @@
"continents.na": "North America",
"continents.oc": "Oceania",
"continents.sa": "South America"
}
}
+15 -9
View File
@@ -5,8 +5,8 @@
"emails.sender": "Équipe %s",
"emails.verification.subject": "Vérification du compte",
"emails.verification.hello": "Bonjour {{name}}",
"emails.verification.body": "Suivez ce lien pour vérifier votre adresse mail.",
"emails.verification.footer": "Si vous n'avez pas demandé à vérifier cette adresse mail, vous pouvez ignorer ce message.",
"emails.verification.body": "Suivez ce lien pour vérifier votre adresse e-mail.",
"emails.verification.footer": "Si vous n'avez pas demandé à vérifier cette adresse, vous pouvez ignorer ce message.",
"emails.verification.thanks": "Merci",
"emails.verification.signature": "Équipe {{project}}",
"emails.magicSession.subject": "Connexion",
@@ -14,19 +14,25 @@
"emails.magicSession.body": "Suivez ce lien pour vous connecter.",
"emails.magicSession.footer": "Si vous n'avez pas demandé à vous connecter en utilisant cet e-mail, vous pouvez ignorer ce message.",
"emails.magicSession.thanks": "Merci",
"emails.magicSession.signature": "Réinitialisation du mot de passe",
"emails.recovery.subject": "Bonjour {{name}}",
"emails.magicSession.signature": "L'équipe {{project}}",
"emails.recovery.subject": "Réinitialisation du mot de passe",
"emails.recovery.hello": "Bonjour {{name}}",
"emails.recovery.body": "Suivez ce lien pour réinitialiser votre mot de passe de {{projet}}.",
"emails.recovery.body": "Suivez ce lien pour réinitialiser votre mot de passe pour {{projet}}.",
"emails.recovery.footer": "Si vous n'avez pas demandé à réinitialiser votre mot de passe, vous pouvez ignorer ce message.",
"emails.recovery.thanks": "Merci",
"emails.recovery.signature": "Équipe {{project}}",
"emails.recovery.signature": "L'équipe {{project}}",
"emails.invitation.subject": "Invitation à l'équipe %s de %s",
"emails.invitation.hello": "Bonjour",
"emails.invitation.body": "Ce mail vous a été envoyé parce que {{owner}} voulait vous inviter à devenir membre de l'équipe {{team}} de {{project}}.",
"emails.invitation.body": "Cet e-mail vous a été envoyé parce que {{owner}} souhaite vous inviter à devenir membre de l'équipe {{team}} pour {{project}}.",
"emails.invitation.footer": "Si vous n'êtes pas intéressé, vous pouvez ignorer ce message.",
"emails.invitation.thanks": "Merci",
"emails.invitation.signature": "Équipe {{project}}",
"emails.invitation.signature": "L'équipe {{project}}",
"emails.certificate.subject": "Échec du certificat pour %s",
"emails.certificate.hello": "Bonjour",
"emails.certificate.body": "Le certificate pour votre domaine '{{domain}}' n'a pas pu être généré. Ceci est la tentative {{tentative}} et l'échec a été causé par : {{erreur}}",
"emails.certificate.footer": "Votre certificat précédent sera valide pendant 30 jours à compter de la première défaillance. Nous vous recommandons fortement d'enquêter sur ce cas, sinon votre domaine se retrouvera sans communication SSL valide.",
"emails.certificate.thanks": "Merci",
"emails.certificate.signature": "L'équipe {{project}}",
"locale.country.unknown": "Inconnu",
"countries.af": "Afghanistan",
"countries.ao": "Angola",
@@ -229,4 +235,4 @@
"continents.na": "Amérique du Nord",
"continents.oc": "Océanie",
"continents.sa": "Amérique du Sud"
}
}
+7 -7
View File
@@ -6,25 +6,25 @@
"emails.verification.subject": "अकाउंट वेरिफिकेशन ",
"emails.verification.hello": "नमस्ते {{name}}",
"emails.verification.body": "इस लिंक के माध्यम से अपने ईमेल को सत्यापित कीजिये।",
"emails.verification.footer": "यदि आपने इस पते को सत्यापित नहीं करना चाहते है, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.verification.footer": "यदि आप इस पते को सत्यापित नहीं करना चाहते है, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.verification.thanks": "धन्यवाद",
"emails.verification.signature": "{{project}} टीम",
"emails.magicSession.subject": "लॉग इन",
"emails.magicSession.hello": "नमस्ते,",
"emails.magicSession.body": "इस लिंक के माध्यम से लॉग-इन करें।",
"emails.magicSession.footer": "यदि आप इस ईमेल द्वारा लॉगिन नहीं करना चाहते है, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.magicSession.footer": "यदि आप इस ईमेल द्वारा लॉगिन नहीं करना चाहते है, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.magicSession.thanks": "धन्यवाद",
"emails.magicSession.signature": "{{project}} टीम",
"emails.recovery.subject": "पासवर्ड रीसेट",
"emails.recovery.hello": "नमस्ते {{name}}",
"emails.recovery.body": "इस लिंक के माध्यम से अपना {{project}} पासवर्ड रीसेट करें।",
"emails.recovery.footer": "यदि आप अपना पासवर्ड रिसेट नहीं करना चाहते है, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.recovery.footer": "यदि आप अपना पासवर्ड रसेट नहीं करना चाहते है, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.recovery.thanks": "धन्यवाद",
"emails.recovery.signature": "{{project}} टीम",
"emails.invitation.subject": "%s टीम का यहाँ %s पर आमंत्रण",
"emails.invitation.hello": "नमस्ते",
"emails.invitation.body": "यह मेल आपको इसलिए भेजा गया था क्योंकि {{owner}} आपको {{team}} टीम का सदस्य बनाना चाहते थे, जो {{project}} से जुड़ा हुआ है।",
"emails.invitation.footer": "यदि आप इसमे रूचि नहीं रखते, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.invitation.body": "यह मेल आपको इसलिए भेजा गया है क्योंकि {{owner}} आपको {{team}} टीम का सदस्य बनाना चाहते है, जो {{project}} से जुड़ा हुआ है।",
"emails.invitation.footer": "यदि आप इसमे रूचि नहीं रखते, तो आप इस संदेश को नज़रअंदाज़ कर सकते हैं।",
"emails.invitation.thanks": "धन्यवाद",
"emails.invitation.signature": "{{project}} टीम",
"locale.country.unknown": "अज्ञात",
@@ -35,7 +35,7 @@
"countries.ae": "संयुक्त अरब अमीरात",
"countries.ar": "अर्जेंटीना",
"countries.am": "आर्मीनिया",
"countries.ag": "ंटीगुआ और बारबूडा",
"countries.ag": "ंटीगुआ और बारबूडा",
"countries.au": "ऑस्ट्रेलिया",
"countries.at": "ऑस्ट्रिया",
"countries.az": "अज़रबैजान",
@@ -46,7 +46,7 @@
"countries.bd": "बांग्लादेश",
"countries.bg": "बुल्गारिया",
"countries.bh": "बहरीन",
"countries.bs": "हामास",
"countries.bs": "द बाहामास",
"countries.ba": "बॉस्निया और हर्ज़ेगोविना",
"countries.by": "बेलारूस",
"countries.bz": "बेलीज़",
+3 -3
View File
@@ -18,12 +18,12 @@
"emails.recovery.subject": "രഹസ്യവാക്ക് പുനക്രമീകരണം",
"emails.recovery.hello": "നമസ്കാരം {{name}}",
"emails.recovery.body": "നിങ്ങളുടെ {{Project}} രഹസ്യവാക്ക് പുനക്രമീകരിക്കുന്നതിന് ഈ ലിങ്ക് പിന്തുടരുക.",
"emails.recovery.footer": "നിങ്ങളുടെ പാസ്‌വേഡ് പുനക്രമീകരിക്കാന്‍ നിങ്ങൾ ആവശ്യപ്പെട്ടില്ലെങ്കിൽ, ഈ സന്ദേശം അവഗണിക്കാവുന്നതാണ്.",
"emails.recovery.footer": "നിങ്ങളുടെ രഹസ്യവാക്ക് പുനക്രമീകരിക്കാന്‍ നിങ്ങൾ ആവശ്യപ്പെട്ടില്ലെങ്കിൽ, ഈ സന്ദേശം അവഗണിക്കാവുന്നതാണ്.",
"emails.recovery.thanks": "നന്ദി",
"emails.recovery.signature": "{{project}} ടീം",
"emails.invitation.subject": "%s -ലെ %s ടീമിലേക്കുള്ള ക്ഷണം",
"emails.invitation.hello": "നമസ്കാരം",
"emails.invitation.body": "നിങ്ങളെ {{project}} -ലെ {{team}} ടീമിലെ അംഗമാകുവാന്‍ ക്ഷണിക്കാൻ {{owner}} ആഗ്രഹിക്കുതിനാലാണ് ഈ മെയിൽ നിങ്ങൾക്ക് അയക്കുന്നത്.",
"emails.invitation.body": "നിങ്ങളെ {{project}} -ലെ {{team}} ടീമിലെ അംഗമാകുവാന്‍ ക്ഷണിക്കാൻ {{owner}} ആഗ്രഹിക്കുന്നതിനാലാണ് ഈ മെയിൽ നിങ്ങൾക്ക് അയക്കുന്നത്.",
"emails.invitation.footer": "നിങ്ങൾക്ക് താൽപ്പര്യമില്ലെങ്കിൽ, ഈ സന്ദേശം അവഗണിക്കാവുന്നതാണ്.",
"emails.invitation.thanks": "നന്ദി",
"emails.invitation.signature": "{{project}} ടീം",
@@ -229,4 +229,4 @@
"continents.na": "വടക്കേ അമേരിക്ക",
"continents.oc": "ഓഷ്യാനിയ",
"continents.sa": "തെക്കേ അമേരിക്ക"
}
}
+21 -21
View File
@@ -15,7 +15,7 @@ return [
[
'key' => 'web',
'name' => 'Web',
'version' => '8.0.0',
'version' => '10.1.0',
'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' => '5.0.0',
'version' => '8.1.0',
'url' => 'https://github.com/appwrite/sdk-for-flutter',
'package' => 'https://pub.dev/packages/appwrite',
'enabled' => true,
@@ -81,11 +81,11 @@ return [
[
'key' => 'apple',
'name' => 'Apple',
'version' => '0.5.0',
'version' => '1.1.0',
'url' => 'https://github.com/appwrite/sdk-for-apple',
'package' => 'https://github.com/appwrite/sdk-for-apple',
'enabled' => true,
'beta' => true,
'beta' => false,
'dev' => false,
'hidden' => false,
'family' => APP_PLATFORM_CLIENT,
@@ -116,11 +116,11 @@ return [
[
'key' => 'android',
'name' => 'Android',
'version' => '0.6.1',
'version' => '1.1.0',
'url' => 'https://github.com/appwrite/sdk-for-android',
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-android',
'enabled' => true,
'beta' => true,
'beta' => false,
'dev' => false,
'hidden' => false,
'family' => APP_PLATFORM_CLIENT,
@@ -162,7 +162,7 @@ return [
[
'key' => 'web',
'name' => 'Console',
'version' => '5.0.0',
'version' => '7.1.0',
'url' => 'https://github.com/appwrite/sdk-for-console',
'package' => '',
'enabled' => true,
@@ -180,7 +180,7 @@ return [
[
'key' => 'cli',
'name' => 'Command Line',
'version' => '0.17.0',
'version' => '1.1.1',
'url' => 'https://github.com/appwrite/sdk-for-cli',
'package' => 'https://www.npmjs.com/package/appwrite-cli',
'enabled' => true,
@@ -208,7 +208,7 @@ return [
[
'key' => 'nodejs',
'name' => 'Node.js',
'version' => '6.0.0',
'version' => '8.1.0',
'url' => 'https://github.com/appwrite/sdk-for-node',
'package' => 'https://www.npmjs.com/package/node-appwrite',
'enabled' => true,
@@ -226,7 +226,7 @@ return [
[
'key' => 'deno',
'name' => 'Deno',
'version' => '4.0.0',
'version' => '6.1.0',
'url' => 'https://github.com/appwrite/sdk-for-deno',
'package' => 'https://deno.land/x/appwrite',
'enabled' => true,
@@ -244,7 +244,7 @@ return [
[
'key' => 'php',
'name' => 'PHP',
'version' => '5.0.0',
'version' => '7.1.0',
'url' => 'https://github.com/appwrite/sdk-for-php',
'package' => 'https://packagist.org/packages/appwrite/appwrite',
'enabled' => true,
@@ -262,7 +262,7 @@ return [
[
'key' => 'python',
'name' => 'Python',
'version' => '0.9.0',
'version' => '1.1.0',
'url' => 'https://github.com/appwrite/sdk-for-python',
'package' => 'https://pypi.org/project/appwrite/',
'enabled' => true,
@@ -280,7 +280,7 @@ return [
[
'key' => 'ruby',
'name' => 'Ruby',
'version' => '5.0.0',
'version' => '7.1.0',
'url' => 'https://github.com/appwrite/sdk-for-ruby',
'package' => 'https://rubygems.org/gems/appwrite',
'enabled' => true,
@@ -298,7 +298,7 @@ return [
[
'key' => 'go',
'name' => 'Go',
'version' => '0.1.0',
'version' => '1.1.0',
'url' => 'https://github.com/appwrite/sdk-for-go',
'package' => '',
'enabled' => false,
@@ -316,7 +316,7 @@ return [
[
'key' => 'java',
'name' => 'Java',
'version' => '0.0.2',
'version' => '1.1.0',
'url' => 'https://github.com/appwrite/sdk-for-java',
'package' => '',
'enabled' => false,
@@ -334,7 +334,7 @@ return [
[
'key' => 'dotnet',
'name' => '.NET',
'version' => '0.4.0',
'version' => '1.1.0',
'url' => 'https://github.com/appwrite/sdk-for-dotnet',
'package' => 'https://www.nuget.org/packages/Appwrite',
'enabled' => false,
@@ -352,7 +352,7 @@ return [
[
'key' => 'dart',
'name' => 'Dart',
'version' => '5.0.0',
'version' => '7.1.0',
'url' => 'https://github.com/appwrite/sdk-for-dart',
'package' => 'https://pub.dev/packages/dart_appwrite',
'enabled' => true,
@@ -370,11 +370,11 @@ return [
[
'key' => 'kotlin',
'name' => 'Kotlin',
'version' => '0.5.0',
'version' => '1.1.0',
'url' => 'https://github.com/appwrite/sdk-for-kotlin',
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-kotlin',
'enabled' => true,
'beta' => true,
'beta' => false,
'dev' => false,
'hidden' => false,
'family' => APP_PLATFORM_SERVER,
@@ -392,11 +392,11 @@ return [
[
'key' => 'swift',
'name' => 'Swift',
'version' => '0.5.0',
'version' => '1.1.0',
'url' => 'https://github.com/appwrite/sdk-for-swift',
'package' => 'https://github.com/appwrite/sdk-for-swift',
'enabled' => true,
'beta' => true,
'beta' => false,
'dev' => false,
'hidden' => false,
'family' => APP_PLATFORM_SERVER,
+89 -28
View File
@@ -17,7 +17,7 @@ return [ // Ordered by ABC.
'icon' => 'icon-apple',
'enabled' => true,
'sandbox' => false,
'form' => 'apple.phtml', // Perperation for adding ability to customized OAuth UI forms, currently handled hardcoded.
'form' => 'apple.phtml', // Preparation for adding ability to customized OAuth UI forms, currently handled hardcoded.
'beta' => true,
'mock' => false,
],
@@ -31,6 +31,26 @@ return [ // Ordered by ABC.
'beta' => false,
'mock' => false,
],
'authentik' => [
'name' => 'Authentik',
'developers' => 'https://goauthentik.io/docs/',
'icon' => 'icon-authentik',
'enabled' => true,
'sandbox' => false,
'form' => 'authentik.phtml',
'beta' => false,
'mock' => false,
],
'autodesk' => [
'name' => 'Autodesk',
'developers' => 'https://forge.autodesk.com/en/docs/oauth/v2/developers_guide/overview/',
'icon' => 'icon-autodesk',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false,
],
'bitbucket' => [
'name' => 'BitBucket',
'developers' => 'https://developer.atlassian.com/bitbucket',
@@ -61,6 +81,16 @@ return [ // Ordered by ABC.
'beta' => false,
'mock' => false
],
'dailymotion' => [
'name' => 'Dailymotion',
'developers' => 'https://developers.dailymotion.com/api/',
'icon' => 'icon-dailymotion',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false
],
'discord' => [
'name' => 'Discord',
'developers' => 'https://discordapp.com/developers/docs/topics/oauth2',
@@ -71,6 +101,16 @@ return [ // Ordered by ABC.
'beta' => false,
'mock' => false,
],
'disqus' => [
'name' => 'Disqus',
'developers' => 'https://disqus.com/api/docs/auth/',
'icon' => 'icon-disqus',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false,
],
'dropbox' => [
'name' => 'Dropbox',
'developers' => 'https://www.dropbox.com/developers/documentation',
@@ -81,6 +121,16 @@ return [ // Ordered by ABC.
'beta' => false,
'mock' => false,
],
'etsy' => [
'name' => 'Etsy',
'developers' => 'https://developers.etsy.com/',
'icon' => 'icon-etsy',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false,
],
'facebook' => [
'name' => 'Facebook',
'developers' => 'https://developers.facebook.com/',
@@ -107,7 +157,7 @@ return [ // Ordered by ABC.
'icon' => 'icon-gitlab',
'enabled' => true,
'sandbox' => false,
'form' => false,
'form' => 'gitlab.phtml',
'beta' => false,
'mock' => false,
],
@@ -181,6 +231,16 @@ return [ // Ordered by ABC.
'beta' => false,
'mock' => false
],
'podio' => [
'name' => 'Podio',
'developers' => 'https://developers.podio.com/doc/oauth-authorization',
'icon' => 'icon-podio',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false,
],
'salesforce' => [
'name' => 'Salesforce',
'developers' => 'https://developer.salesforce.com/docs/',
@@ -211,6 +271,16 @@ return [ // Ordered by ABC.
'beta' => false,
'mock' => false,
],
'stripe' => [
'name' => 'Stripe',
'developers' => 'https://stripe.com/docs/api',
'icon' => 'icon-stripe',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false
],
'tradeshift' => [
'name' => 'Tradeshift',
'developers' => 'https://developers.tradeshift.com/docs/api',
@@ -241,15 +311,15 @@ return [ // Ordered by ABC.
'beta' => false,
'mock' => false,
],
'zoom' => [
'name' => 'Zoom',
'developers' => 'https://marketplace.zoom.us/docs/guides/auth/oauth/',
'icon' => 'icon-zoom',
'wordpress' => [
'name' => 'WordPress',
'developers' => 'https://developer.wordpress.com/docs/oauth2/',
'icon' => 'icon-wordpress',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false,
'mock' => false
],
'yahoo' => [
'name' => 'Yahoo',
@@ -263,7 +333,7 @@ return [ // Ordered by ABC.
],
'yammer' => [
'name' => 'Yammer',
'developers' => 'https://developer.yammer.com/docs/oauth-2',
'developers' => 'https://docs.microsoft.com/en-us/rest/api/yammer/oauth-2/',
'icon' => 'icon-yammer',
'enabled' => true,
'sandbox' => false,
@@ -281,6 +351,16 @@ return [ // Ordered by ABC.
'beta' => false,
'mock' => false,
],
'zoom' => [
'name' => 'Zoom',
'developers' => 'https://marketplace.zoom.us/docs/guides/auth/oauth/',
'icon' => 'icon-zoom',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false,
],
// 'instagram' => [
// 'name' => 'Instagram',
// 'developers' => 'https://www.instagram.com/developer/',
@@ -297,26 +377,7 @@ return [ // Ordered by ABC.
// 'beta' => false,
// 'mock' => false,
// ],
'wordpress' => [
'name' => 'WordPress',
'developers' => 'https://developer.wordpress.com/docs/oauth2/',
'icon' => 'icon-wordpress',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false
],
'stripe' => [
'name' => 'Stripe',
'developers' => 'https://stripe.com/docs/api',
'icon' => 'icon-stripe',
'enabled' => true,
'sandbox' => false,
'form' => false,
'beta' => false,
'mock' => false
],
// Keep Last
'mock' => [
'name' => 'Mock',
+9
View File
@@ -0,0 +1,9 @@
<?php
return [
'default' => [
'name' => 'Default',
'default' => true,
'disabled' => false,
]
];
+11 -6
View File
@@ -32,6 +32,8 @@ $admins = [
'buckets.write',
'users.read',
'users.write',
'databases.read',
'databases.write',
'collections.read',
'collections.write',
'platforms.read',
@@ -50,20 +52,23 @@ $admins = [
];
return [
Auth::USER_ROLE_GUEST => [
'label' => 'Guest',
Auth::USER_ROLE_GUESTS => [
'label' => 'Guests',
'scopes' => [
'public',
'home',
'console',
'documents.read',
'documents.write',
'files.read',
'files.write',
'locale.read',
'avatars.read',
'execution.write',
],
],
Auth::USER_ROLE_MEMBER => [
'label' => 'Member',
Auth::USER_ROLE_USERS => [
'label' => 'Users',
'scopes' => \array_merge($member, []),
],
Auth::USER_ROLE_ADMIN => [
@@ -78,8 +83,8 @@ return [
'label' => 'Owner',
'scopes' => \array_merge($member, $admins, []),
],
Auth::USER_ROLE_APP => [
'label' => 'Application',
Auth::USER_ROLE_APPS => [
'label' => 'Applications',
'scopes' => ['health.read'],
],
];
+6 -5
View File
@@ -1,15 +1,16 @@
<?php
use Utopia\App;
use Appwrite\Runtimes\Runtimes;
/**
* List of Appwrite Cloud Functions supported runtimes
*/
$runtimes = new Runtimes('v1');
use Utopia\App;
use Appwrite\Runtimes\Runtimes;
$runtimes = new Runtimes('v2');
$allowList = empty(App::getEnv('_APP_FUNCTIONS_RUNTIMES')) ? [] : \explode(',', App::getEnv('_APP_FUNCTIONS_RUNTIMES'));
$runtimes = $runtimes->getAll(true, $allowList);
return $runtimes;
return $runtimes;
+7 -1
View File
@@ -13,6 +13,12 @@ return [ // List of publicly visible scopes
'teams.write' => [
'description' => 'Access to create, update, and delete your project\'s teams',
],
'databases.read' => [
'description' => 'Access to read your project\'s databases',
],
'databases.write' => [
'description' => 'Access to create, update, and delete your project\'s databases',
],
'collections.read' => [
'description' => 'Access to read your project\'s database collections',
],
@@ -70,4 +76,4 @@ return [ // List of publicly visible scopes
'health.read' => [
'description' => 'Access to read your project\'s health status',
],
];;
];
+25 -9
View File
@@ -43,7 +43,7 @@ return [
'avatars' => [
'key' => 'avatars',
'name' => 'Avatars',
'subtitle'=> 'The Avatars service aims to help you complete everyday tasks related to your app image, icons, and avatars.',
'subtitle' => 'The Avatars service aims to help you complete everyday tasks related to your app image, icons, and avatars.',
'description' => '/docs/services/avatars.md',
'controller' => 'api/avatars.php',
'sdk' => true,
@@ -53,18 +53,21 @@ return [
'optional' => true,
'icon' => '/images/services/avatars.png',
],
'database' => [
'key' => 'database',
'name' => 'Database',
'subtitle' => 'The Database service allows you to create structured collections of documents, query and filter lists of documents',
'description' => '/docs/services/database.md',
'controller' => 'api/database.php',
'databases' => [
'key' => 'databases',
'name' => 'Databases',
'subtitle' => 'The Databases service allows you to create structured collections of documents, query and filter lists of documents',
'description' => '/docs/services/databases.md',
'controller' => 'api/databases.php',
'sdk' => true,
'docs' => true,
'docsUrl' => 'https://appwrite.io/docs/client/database',
'docsUrl' => 'https://appwrite.io/docs/client/databases',
'tests' => false,
'optional' => true,
'icon' => '/images/services/database.png',
'icon' => '/images/services/databases.png',
'globalAttributes' => [
'databaseId'
]
],
'locale' => [
'key' => 'locale',
@@ -105,6 +108,19 @@ return [
'optional' => false,
'icon' => '',
],
'project' => [
'key' => 'project',
'name' => 'Project',
'subtitle' => 'The Project service allows you to manage all the projects in your Appwrite server.',
'description' => '',
'controller' => 'api/project.php',
'sdk' => true,
'docs' => true,
'docsUrl' => '',
'tests' => false,
'optional' => false,
'icon' => '',
],
'storage' => [
'key' => 'storage',
'name' => 'Storage',
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
+1 -1
View File
@@ -5,4 +5,4 @@ return [ // Accepted inputs files
'jpeg' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
];
];
+16 -12
View File
@@ -1,18 +1,22 @@
<?php
return [ // Based on this list @see http://stackoverflow.com/a/4212908/2299554
'default' => __DIR__.'/logos/none.png',
'default_image' => __DIR__.'/logos/image.png',
'default' => __DIR__ . '/logos/none.png',
'default_image' => __DIR__ . '/logos/image.png',
// Video Files
'video/mp4' => __DIR__.'/logos/video.png',
'video/x-flv' => __DIR__.'/logos/video.png',
'application/x-mpegURL' => __DIR__.'/logos/video.png',
'video/MP2T' => __DIR__.'/logos/video.png',
'video/3gpp' => __DIR__.'/logos/video.png',
'video/quicktime' => __DIR__.'/logos/video.png',
'video/x-msvideo' => __DIR__.'/logos/video.png',
'video/x-ms-wmv' => __DIR__.'/logos/video.png',
'video/mp4' => __DIR__ . '/logos/video.png',
'video/x-flv' => __DIR__ . '/logos/video.png',
'video/webm' => __DIR__ . '/logos/video.png',
'application/x-mpegURL' => __DIR__ . '/logos/video.png',
'video/MP2T' => __DIR__ . '/logos/video.png',
'video/3gpp' => __DIR__ . '/logos/video.png',
'video/quicktime' => __DIR__ . '/logos/video.png',
'video/x-msvideo' => __DIR__ . '/logos/video.png',
'video/x-ms-wmv' => __DIR__ . '/logos/video.png',
// // Microsoft Word
// 'application/msword' => __DIR__.'/logos/word.png',
@@ -41,4 +45,4 @@ return [ // Based on this list @see http://stackoverflow.com/a/4212908/2299554
// Adobe PDF
// 'application/pdf' => __DIR__.'/logos/pdf.png',
];
];
+3 -2
View File
@@ -10,6 +10,7 @@ return [
// Video Files
'video/mp4',
'video/x-flv',
'video/webm',
'application/x-mpegURL',
'video/MP2T',
'video/3gpp',
@@ -30,7 +31,7 @@ return [
'audio/ogg', // Ogg Vorbis RFC 5334
'audio/vorbis', // Vorbis RFC 5215
'audio/vnd.wav', // wav RFC 2361
// Microsoft Word
'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
@@ -61,4 +62,4 @@ return [
// Adobe PDF
'application/pdf',
];
];
+1 -1
View File
@@ -6,4 +6,4 @@ return [ // Accepted outputs files
'gif' => 'image/gif',
'png' => 'image/png',
'webp' => 'image/webp',
];
];
+270 -24
View File
@@ -1,6 +1,7 @@
<?php
use Utopia\Config\Config;
return [
[
'category' => 'General',
@@ -67,7 +68,7 @@ return [
'default' => 'localhost',
'required' => true,
'question' => 'Enter a DNS A record hostname to serve as a CNAME for your custom domains.' . PHP_EOL . 'You can use the same value as used for the Appwrite hostname.',
'filter' => ''
'filter' => 'domainTarget'
],
[
'name' => '_APP_CONSOLE_WHITELIST_ROOT',
@@ -97,7 +98,7 @@ return [
// ],
[
'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.',
'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.",
'introduction' => '',
'default' => '',
'required' => false,
@@ -169,13 +170,31 @@ return [
],
[
'name' => '_APP_USAGE_AGGREGATION_INTERVAL',
'description' => 'Interval value containing the number of seconds that the Appwrite usage process should wait before aggregating stats and syncing it to mariadb from InfluxDB. The default value is 30 seconds.',
'introduction' => '0.10.0',
'description' => 'Interval value containing the number of seconds that the Appwrite usage process should wait before aggregating stats and syncing it to Database from TimeSeries data. The default value is 30 seconds. Reintroduced in 1.1.0.',
'introduction' => '1.1.0',
'default' => '30',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_USAGE_TIMESERIES_INTERVAL',
'description' => 'Deprecated since 1.1.0 use _APP_USAGE_AGGREGATION_INTERVAL instead.',
'introduction' => '1.0.0',
'default' => '30',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_USAGE_DATABASE_INTERVAL',
'description' => 'Deprecated since 1.1.0 use _APP_USAGE_AGGREGATION_INTERVAL instead.',
'introduction' => '1.0.0',
'default' => '900',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_WORKER_PER_CORE',
'description' => 'Internal Worker per core for the API, Realtime and Executor containers. Can be configured to optimize performance.',
@@ -184,7 +203,16 @@ return [
'required' => false,
'question' => '',
'filter' => ''
]
],
[
'name' => '_APP_CONSOLE_INVITES',
'description' => 'This option allows you to disable the invitation of new users to the Appwrite console. When enabled, console users are allowed to invite new users to a project. By default this option is enabled.',
'introduction' => '1.2.0',
'default' => 'enabled',
'required' => false,
'question' => '',
'filter' => ''
],
],
],
[
@@ -287,6 +315,33 @@ return [
'question' => '',
'filter' => 'password'
],
[
'name' => '_APP_CONNECTIONS_MAX',
'description' => 'MariaDB server maximum connections.',
'introduction' => 'TBD',
'default' => 251,
'required' => false,
'question' => '',
'filter' => ''
],
// [
// 'name' => '_APP_CONNECTIONS_DB_PROJECT',
// 'description' => 'A list of comma-separated key value pairs representing Project DBs where key is the database name and value is the DSN connection string.',
// 'introduction' => 'TBD',
// 'default' => 'db_fra1_01=mysql://user:password@mariadb:3306/appwrite',
// 'required' => true,
// 'question' => '',
// 'filter' => ''
// ],
// [
// 'name' => '_APP_CONNECTIONS_DB_CONSOLE',
// 'description' => 'A key value pair representing the Console DB where key is the database name and value is the DSN connection string.',
// 'introduction' => 'TBD',
// 'default' => 'db_fra1_01=mysql://user:password@mariadb:3306/appwrite',
// 'required' => true,
// 'question' => '',
// 'filter' => ''
// ]
],
],
[
@@ -339,7 +394,7 @@ return [
],
[
'category' => 'SMTP',
'description' => 'Appwrite is using an SMTP server for emailing your projects users and server admins. The SMTP env vars are used to allow Appwrite server to connect to the SMTP container.\n\nIf running in production, it might be easier to use a 3rd party SMTP server as it might be a little more difficult to set up a production SMTP server that will not send all your emails into your user\'s SPAM folder.',
'description' => "Appwrite is using an SMTP server for emailing your projects users and server admins. The SMTP env vars are used to allow Appwrite server to connect to the SMTP container.\n\nIf running in production, it might be easier to use a 3rd party SMTP server as it might be a little more difficult to set up a production SMTP server that will not send all your emails into your user\'s SPAM folder.",
'variables' => [
[
'name' => '_APP_SMTP_HOST',
@@ -388,6 +443,30 @@ return [
],
],
],
[
'category' => 'Phone',
'description' => '',
'variables' => [
[
'name' => '_APP_SMS_PROVIDER',
'description' => "Provider used for delivering SMS for Phone authentication. Use the following format: 'sms://[USER]:[SECRET]@[PROVIDER]'. \n\nAvailable providers are twilio, text-magic, telesign, msg91, and vonage.",
'introduction' => '0.15.0',
'default' => '',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_SMS_FROM',
'description' => 'Phone number used for sending out messages. Must start with a leading \'+\' and maximum of 15 digits without spaces (+123456789).',
'introduction' => '0.15.0',
'default' => '',
'required' => false,
'question' => '',
'filter' => ''
],
],
],
[
'category' => 'Storage',
'description' => '',
@@ -437,9 +516,17 @@ return [
'question' => '',
'filter' => ''
],
[
'name' => '_APP_CONNECTIONS_STORAGE',
'description' => 'A DSN representing the storage device to connect to. The DSN takes the following format <device>://<access_key>:<access_secret>@<host>:<port>/<bucket>?region=<region>. For example, for S3: \'s3://access_key:access_secret@host:port/bucket?region=us-east-1\'. To use the local filesystem, you can leave this variable empty. Available devices are local, s3, dospaces, linode, backblaze and wasabi.',
'introduction' => '1.1.0',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_DEVICE',
'description' => 'Select default storage device. The default value is \'Local\'. List of supported adapters are \'Local\', \'S3\' and \'DOSpaces\'.',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => 'Local',
'required' => false,
@@ -447,7 +534,7 @@ return [
],
[
'name' => '_APP_STORAGE_S3_ACCESS_KEY',
'description' => 'AWS S3 storage access key. Required when the storage adapter is set to S3. You can get your access key from your AWS console',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => '',
'required' => false,
@@ -455,7 +542,7 @@ return [
],
[
'name' => '_APP_STORAGE_S3_SECRET',
'description' => 'AWS S3 storage secret key. Required when the storage adapter is set to S3. You can get your secret key from your AWS console.',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => '',
'required' => false,
@@ -463,7 +550,7 @@ return [
],
[
'name' => '_APP_STORAGE_S3_REGION',
'description' => 'AWS S3 storage region. Required when storage adapter is set to S3. You can find your region info for your bucket from AWS console.',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => 'us-east-1',
'required' => false,
@@ -471,7 +558,7 @@ return [
],
[
'name' => '_APP_STORAGE_S3_BUCKET',
'description' => 'AWS S3 storage bucket. Required when storage adapter is set to S3. You can create buckets in your AWS console.',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => '',
'required' => false,
@@ -479,7 +566,7 @@ return [
],
[
'name' => '_APP_STORAGE_DO_SPACES_ACCESS_KEY',
'description' => 'DigitalOcean spaces access key. Required when the storage adapter is set to DOSpaces. You can get your access key from your DigitalOcean console.',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => '',
'required' => false,
@@ -487,7 +574,7 @@ return [
],
[
'name' => '_APP_STORAGE_DO_SPACES_SECRET',
'description' => 'DigitalOcean spaces secret key. Required when the storage adapter is set to DOSpaces. You can get your secret key from your DigitalOcean console.',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => '',
'required' => false,
@@ -495,7 +582,7 @@ return [
],
[
'name' => '_APP_STORAGE_DO_SPACES_REGION',
'description' => 'DigitalOcean spaces region. Required when storage adapter is set to DOSpaces. You can find your region info for your space from DigitalOcean console.',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => 'us-east-1',
'required' => false,
@@ -503,12 +590,108 @@ return [
],
[
'name' => '_APP_STORAGE_DO_SPACES_BUCKET',
'description' => 'DigitalOcean spaces bucket. Required when storage adapter is set to DOSpaces. You can create spaces in your DigitalOcean console.',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.13.0',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_BACKBLAZE_ACCESS_KEY',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_BACKBLAZE_SECRET',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_BACKBLAZE_REGION',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => 'us-west-004',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_BACKBLAZE_BUCKET',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_LINODE_ACCESS_KEY',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_LINODE_SECRET',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_LINODE_REGION',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => 'eu-central-1',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_LINODE_BUCKET',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_WASABI_ACCESS_KEY',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_WASABI_SECRET',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_WASABI_REGION',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => 'eu-central-1',
'required' => false,
'question' => '',
],
[
'name' => '_APP_STORAGE_WASABI_BUCKET',
'description' => 'Deprecated since 1.2.0. Use _APP_CONNECTIONS_STORAGE instead.',
'introduction' => '0.14.2',
'default' => '',
'required' => false,
'question' => '',
],
],
],
[
@@ -526,7 +709,7 @@ return [
],
[
'name' => '_APP_FUNCTIONS_TIMEOUT',
'description' => 'The maximum number of seconds allowed as a timeout value when creating a new function. The default value is 900 seconds.',
'description' => 'The maximum number of seconds allowed as a timeout value when creating a new function. The default value is 900 seconds. This is the global limit, timeout for individual functions are configured in the function\'s settings or in appwrite.json.',
'introduction' => '0.7.0',
'default' => '900',
'required' => false,
@@ -544,7 +727,7 @@ return [
],
[
'name' => '_APP_FUNCTIONS_CONTAINERS',
'description' => 'The maximum number of containers Appwrite is allowed to keep alive in the background for function environments. Running containers allow faster execution time as there is no need to recreate each container every time a function gets executed. The default value is 10.',
'description' => 'Deprecated since 1.2.0. Runtimes now timeout by inactivity using \'_APP_FUNCTIONS_INACTIVE_THRESHOLD\'.',
'introduction' => '0.7.0',
'default' => '10',
'required' => false,
@@ -571,7 +754,7 @@ return [
],
[
'name' => '_APP_FUNCTIONS_MEMORY_SWAP',
'description' => 'The maximum amount of swap memory a single cloud function is allowed to use in megabytes. The default value is empty. When it\'s empty, swap memory limit will be disabled.',
'description' => 'Deprecated since 1.2.0. High use of swap memory is not recommended to preserve harddrive health.',
'introduction' => '0.7.0',
'default' => '0',
'required' => false,
@@ -580,7 +763,7 @@ return [
],
[
'name' => '_APP_FUNCTIONS_RUNTIMES',
'description' => "This option allows you to limit the available environments for cloud functions. This option is very useful for low-cost servers to safe disk space.\n\nTo enable/activate this option, pass a list of allowed environments separated by a comma.\n\nCurrently, supported environments are: " . \implode(', ', \array_keys(Config::getParam('runtimes'))),
'description' => "This option allows you to enable or disable runtime environments for cloud functions. Disable unused runtimes to save disk space.\n\nTo enable cloud function runtimes, pass a list of enabled environments separated by a comma.\n\nCurrently, supported environments are: " . \implode(', ', \array_keys(Config::getParam('runtimes'))),
'introduction' => '0.8.0',
'default' => 'node-16.0,php-8.0,python-3.9,ruby-3.0',
'required' => false,
@@ -625,7 +808,7 @@ return [
],
[
'name' => '_APP_FUNCTIONS_INACTIVE_THRESHOLD',
'description' => 'The minimum time a function can be inactive before it\'s container is shutdown and put to sleep. The default value is 60 seconds',
'description' => 'The minimum time a function can be inactive before it\'s container is shutdown and put to sleep. The default value is 60 seconds.',
'introduction' => '0.13.0',
'default' => '60',
'required' => false,
@@ -634,7 +817,7 @@ return [
],
[
'name' => 'DOCKERHUB_PULL_USERNAME',
'description' => 'The username for hub.docker.com. This variable is used to pull images from hub.docker.com.',
'description' => 'Deprecated with 1.2.0, use \'_APP_DOCKER_HUB_USERNAME\' instead!',
'introduction' => '0.10.0',
'default' => '',
'required' => false,
@@ -643,7 +826,7 @@ return [
],
[
'name' => 'DOCKERHUB_PULL_PASSWORD',
'description' => 'The password for hub.docker.com. This variable is used to pull images from hub.docker.com.',
'description' => 'Deprecated with 1.2.0, use \'_APP_DOCKER_HUB_PASSWORD\' instead!',
'introduction' => '0.10.0',
'default' => '',
'required' => false,
@@ -652,7 +835,7 @@ return [
],
[
'name' => 'DOCKERHUB_PULL_EMAIL',
'description' => 'The email for hub.docker.com. This variable is used to pull images from hub.docker.com.',
'description' => 'Deprecated since 1.2.0. Email is no longer needed.',
'introduction' => '0.10.0',
'default' => '',
'required' => false,
@@ -661,13 +844,49 @@ return [
],
[
'name' => 'OPEN_RUNTIMES_NETWORK',
'description' => 'The docker network used for communication between the executor and runtimes. Change this if you have altered the default network names.',
'description' => 'Deprecated with 1.2.0, use \'_APP_FUNCTIONS_RUNTIMES_NETWORK\' instead!',
'introduction' => '0.13.0',
'default' => 'appwrite_runtimes',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_FUNCTIONS_RUNTIMES_NETWORK',
'description' => 'The docker network used for communication between the executor and runtimes. Change this if you have altered the default network names.',
'introduction' => '1.2.0',
'default' => 'runtimes',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_DOCKER_HUB_USERNAME',
'description' => 'The username for hub.docker.com. This variable is used to pull images from hub.docker.com.',
'introduction' => '1.2.0',
'default' => '',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_DOCKER_HUB_PASSWORD',
'description' => 'The password for hub.docker.com. This variable is used to pull images from hub.docker.com.',
'introduction' => '1.2.0',
'default' => '',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_FUNCTIONS_MAINTENANCE_INTERVAL',
'description' => 'Interval how often executor checks for inactive runimes. The default value is 60 seconds.',
'introduction' => '1.2.0',
'default' => '60',
'required' => false,
'question' => '',
'filter' => ''
],
],
],
[
@@ -683,6 +902,15 @@ return [
'question' => '',
'filter' => ''
],
[
'name' => '_APP_MAINTENANCE_RETENTION_CACHE',
'description' => 'The maximum duration (in seconds) upto which to retain cached files. The default value is 2592000 seconds (30 days).',
'introduction' => '1.0.0',
'default' => '2592000',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_MAINTENANCE_RETENTION_EXECUTION',
'description' => 'The maximum duration (in seconds) upto which to retain execution logs. The default value is 1209600 seconds (14 days).',
@@ -709,6 +937,24 @@ return [
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_MAINTENANCE_RETENTION_USAGE_HOURLY',
'description' => 'The maximum duration (in seconds) upto which to retain hourly usage metrics. The default value is 8640000 seconds (100 days).',
'introduction' => '',
'default' => '8640000',
'required' => false,
'question' => '',
'filter' => ''
],
[
'name' => '_APP_MAINTENANCE_RETENTION_SCHEDULES',
'description' => 'Schedules deletion interval ( in seconds ) ',
'introduction' => 'TBD',
'default' => '86400',
'required' => false,
'question' => '',
'filter' => ''
]
],
],
Submodule
+1
Submodule app/console added at b981302dee
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -1,8 +1,5 @@
<?php
use Appwrite\Extend\Exception;
use Utopia\App;
/**
* TODO:
* 1. Map all objects, object-params, object-fields
@@ -13,12 +10,15 @@ use Utopia\App;
* 6. Write tests!
*/
use Appwrite\Extend\Exception;
use Utopia\App;
App::post('/v1/graphql')
->desc('GraphQL Endpoint')
->groups(['api', 'graphql'])
->label('scope', 'public')
->action(
function () {
throw new Exception('GraphQL support is coming soon!', 502, Exception::GENERAL_SERVER_ERROR);
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'GraphQL support is coming soon!', 503);
}
);
+218 -49
View File
@@ -5,11 +5,15 @@ use Appwrite\Event\Event;
use Appwrite\Extend\Exception;
use Appwrite\Utopia\Response;
use Utopia\App;
use Utopia\Config\Config;
use Utopia\Database\Document;
use Utopia\Pools\Group;
use Utopia\Queue\Client;
use Utopia\Queue\Connection;
use Utopia\Registry\Registry;
use Utopia\Storage\Device;
use Utopia\Storage\Device\Local;
use Utopia\Storage\Storage;
use Utopia\Storage\Storage;
App::get('/v1/health')
->desc('Get HTTP')
@@ -26,6 +30,7 @@ App::get('/v1/health')
->action(function (Response $response) {
$output = [
'name' => 'http',
'status' => 'pass',
'ping' => 0
];
@@ -42,7 +47,6 @@ App::get('/v1/health/version')
->label('sdk.response.model', Response::MODEL_HEALTH_VERSION)
->inject('response')
->action(function (Response $response) {
$response->dynamic(new Document([ 'version' => APP_VERSION_STABLE ]), Response::MODEL_HEALTH_VERSION);
});
@@ -58,30 +62,50 @@ App::get('/v1/health/db')
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_HEALTH_STATUS)
->inject('response')
->inject('utopia')
->action(function (Response $response, App $utopia) {
->inject('pools')
->action(function (Response $response, Group $pools) {
$checkStart = \microtime(true);
$output = [];
try {
$db = $utopia->getResource('db'); /* @var $db PDO */
// Run a small test to check the connection
$statement = $db->prepare("SELECT 1;");
$statement->closeCursor();
$statement->execute();
} catch (Exception $_e) {
throw new Exception('Database is not available', 500, Exception::GENERAL_SERVER_ERROR);
}
$output = [
'status' => 'pass',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
$configs = [
'Console.DB' => Config::getParam('pools-console'),
'Projects.DB' => Config::getParam('pools-database'),
];
$response->dynamic(new Document($output), Response::MODEL_HEALTH_STATUS);
foreach ($configs as $key => $config) {
foreach ($config as $database) {
try {
$adapter = $pools->get($database)->pop()->getResource();
$checkStart = \microtime(true);
if ($adapter->ping()) {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'pass',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
} else {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'fail',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
}
} catch (\Throwable $th) {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'fail',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
}
}
}
$response->dynamic(new Document([
'statuses' => $output,
'total' => count($output),
]), Response::MODEL_HEALTH_STATUS_LIST);
});
App::get('/v1/health/cache')
@@ -96,23 +120,163 @@ App::get('/v1/health/cache')
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_HEALTH_STATUS)
->inject('response')
->inject('utopia')
->action(function (Response $response, App $utopia) {
->inject('pools')
->action(function (Response $response, Group $pools) {
$checkStart = \microtime(true);
$output = [];
$redis = $utopia->getResource('cache');
if (!$redis->ping(true)) {
throw new Exception('Cache is not available', 500, Exception::GENERAL_SERVER_ERROR);
}
$output = [
'status' => 'pass',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
$configs = [
'Cache' => Config::getParam('pools-cache'),
];
$response->dynamic(new Document($output), Response::MODEL_HEALTH_STATUS);
foreach ($configs as $key => $config) {
foreach ($config as $database) {
try {
$adapter = $pools->get($database)->pop()->getResource();
$checkStart = \microtime(true);
if ($adapter->ping()) {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'pass',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
} else {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'fail',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
}
} catch (\Throwable $th) {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'fail',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
}
}
}
$response->dynamic(new Document([
'statuses' => $output,
'total' => count($output),
]), Response::MODEL_HEALTH_STATUS_LIST);
});
App::get('/v1/health/queue')
->desc('Get Queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'health')
->label('sdk.method', 'getQueue')
->label('sdk.description', '/docs/references/health/get-queue.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_HEALTH_STATUS)
->inject('response')
->inject('pools')
->action(function (Response $response, Group $pools) {
$output = [];
$configs = [
'Queue' => Config::getParam('pools-queue'),
];
foreach ($configs as $key => $config) {
foreach ($config as $database) {
try {
$adapter = $pools->get($database)->pop()->getResource();
$checkStart = \microtime(true);
if ($adapter->ping()) {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'pass',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
} else {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'fail',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
}
} catch (\Throwable $th) {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'fail',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
}
}
}
$response->dynamic(new Document([
'statuses' => $output,
'total' => count($output),
]), Response::MODEL_HEALTH_STATUS_LIST);
});
App::get('/v1/health/pubsub')
->desc('Get PubSub')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'health')
->label('sdk.method', 'getPubSub')
->label('sdk.description', '/docs/references/health/get-pubsub.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_HEALTH_STATUS)
->inject('response')
->inject('pools')
->action(function (Response $response, Group $pools) {
$output = [];
$configs = [
'PubSub' => Config::getParam('pools-pubsub'),
];
foreach ($configs as $key => $config) {
foreach ($config as $database) {
try {
$adapter = $pools->get($database)->pop()->getResource();
$checkStart = \microtime(true);
if ($adapter->ping()) {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'pass',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
} else {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'fail',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
}
} catch (\Throwable $th) {
$output[] = new Document([
'name' => $key . " ($database)",
'status' => 'fail',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
}
}
}
$response->dynamic(new Document([
'statuses' => $output,
'total' => count($output),
]), Response::MODEL_HEALTH_STATUS_LIST);
});
App::get('/v1/health/time')
@@ -141,7 +305,7 @@ App::get('/v1/health/time')
\socket_connect($sock, $host, 123);
/* Send request */
$msg = "\010".\str_repeat("\0", 47);
$msg = "\010" . \str_repeat("\0", 47);
\socket_send($sock, $msg, \strlen($msg), 0);
@@ -160,7 +324,7 @@ App::get('/v1/health/time')
$diff = ($timestamp - \time());
if ($diff > $gap || $diff < ($gap * -1)) {
throw new Exception('Server time gaps detected', 500, Exception::GENERAL_SERVER_ERROR);
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Server time gaps detected');
}
$output = [
@@ -234,10 +398,11 @@ App::get('/v1/health/queue/functions')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_HEALTH_QUEUE)
->inject('queue')
->inject('response')
->action(function (Response $response) {
$response->dynamic(new Document([ 'size' => Resque::size(Event::FUNCTIONS_QUEUE_NAME) ]), Response::MODEL_HEALTH_QUEUE);
->action(function (Connection $queue, Response $response) {
$client = new Client(Event::FUNCTIONS_QUEUE_NAME, $queue);
$response->dynamic(new Document([ 'size' => $client->sumProcessingJobs() ]), Response::MODEL_HEALTH_QUEUE);
}, ['response']);
App::get('/v1/health/storage/local')
@@ -256,20 +421,22 @@ App::get('/v1/health/storage/local')
$checkStart = \microtime(true);
foreach ([
foreach (
[
'Uploads' => APP_STORAGE_UPLOADS,
'Cache' => APP_STORAGE_CACHE,
'Config' => APP_STORAGE_CONFIG,
'Certs' => APP_STORAGE_CERTIFICATES
] as $key => $volume) {
] as $key => $volume
) {
$device = new Local($volume);
if (!\is_readable($device->getRoot())) {
throw new Exception('Device '.$key.' dir is not readable', 500, Exception::GENERAL_SERVER_ERROR);
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Device ' . $key . ' dir is not readable');
}
if (!\is_writable($device->getRoot())) {
throw new Exception('Device '.$key.' dir is not writable', 500, Exception::GENERAL_SERVER_ERROR);
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Device ' . $key . ' dir is not writable');
}
}
@@ -304,14 +471,16 @@ App::get('/v1/health/anti-virus')
$output['status'] = 'disabled';
$output['version'] = '';
} else {
$antivirus = new Network(App::getEnv('_APP_STORAGE_ANTIVIRUS_HOST', 'clamav'),
(int) App::getEnv('_APP_STORAGE_ANTIVIRUS_PORT', 3310));
$antivirus = new Network(
App::getEnv('_APP_STORAGE_ANTIVIRUS_HOST', 'clamav'),
(int) App::getEnv('_APP_STORAGE_ANTIVIRUS_PORT', 3310)
);
try {
$output['version'] = @$antivirus->version();
$output['status'] = (@$antivirus->ping()) ? 'pass' : 'fail';
} catch( \Exception $e) {
throw new Exception('Antivirus is not available', 500, Exception::GENERAL_SERVER_ERROR);
} catch (\Exception $e) {
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Antivirus is not available');
}
}
@@ -338,7 +507,7 @@ App::get('/v1/health/stats') // Currently only used internally
$response
->json([
'storage' => [
'used' => Storage::human($deviceFiles->getDirectorySize($deviceFiles->getRoot().'/')),
'used' => Storage::human($deviceFiles->getDirectorySize($deviceFiles->getRoot() . '/')),
'partitionTotal' => Storage::human($deviceFiles->getPartitionTotalSpace()),
'partitionFree' => Storage::human($deviceFiles->getPartitionFreeSpace()),
],
+12 -13
View File
@@ -40,7 +40,6 @@ App::get('/v1/locale')
$output['countryCode'] = $record['country']['iso_code'];
$output['country'] = $locale->getText('countries.' . strtolower($record['country']['iso_code']), $locale->getText('locale.country.unknown'));
$output['continent'] = $locale->getText('continents.' . strtolower($record['continent']['code']), $locale->getText('locale.country.unknown'));
$output['continent'] = (isset($continents[$record['continent']['code']])) ? $continents[$record['continent']['code']] : $locale->getText('locale.country.unknown');
$output['continentCode'] = $record['continent']['code'];
$output['eu'] = (\in_array($record['country']['iso_code'], $eu)) ? true : false;
@@ -73,8 +72,8 @@ App::get('/v1/locale/countries')
->label('scope', 'locale.read')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'locale')
->label('sdk.method', 'getCountries')
->label('sdk.description', '/docs/references/locale/get-countries.md')
->label('sdk.method', 'listCountries')
->label('sdk.description', '/docs/references/locale/list-countries.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_COUNTRY_LIST)
@@ -104,8 +103,8 @@ App::get('/v1/locale/countries/eu')
->label('scope', 'locale.read')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'locale')
->label('sdk.method', 'getCountriesEU')
->label('sdk.description', '/docs/references/locale/get-countries-eu.md')
->label('sdk.method', 'listCountriesEU')
->label('sdk.description', '/docs/references/locale/list-countries-eu.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_COUNTRY_LIST)
@@ -137,8 +136,8 @@ App::get('/v1/locale/countries/phones')
->label('scope', 'locale.read')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'locale')
->label('sdk.method', 'getCountriesPhones')
->label('sdk.description', '/docs/references/locale/get-countries-phones.md')
->label('sdk.method', 'listCountriesPhones')
->label('sdk.description', '/docs/references/locale/list-countries-phones.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_PHONE_LIST)
@@ -169,8 +168,8 @@ App::get('/v1/locale/continents')
->label('scope', 'locale.read')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'locale')
->label('sdk.method', 'getContinents')
->label('sdk.description', '/docs/references/locale/get-continents.md')
->label('sdk.method', 'listContinents')
->label('sdk.description', '/docs/references/locale/list-continents.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_CONTINENT_LIST)
@@ -199,8 +198,8 @@ App::get('/v1/locale/currencies')
->label('scope', 'locale.read')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'locale')
->label('sdk.method', 'getCurrencies')
->label('sdk.description', '/docs/references/locale/get-currencies.md')
->label('sdk.method', 'listCurrencies')
->label('sdk.description', '/docs/references/locale/list-currencies.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_CURRENCY_LIST)
@@ -220,8 +219,8 @@ App::get('/v1/locale/languages')
->label('scope', 'locale.read')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'locale')
->label('sdk.method', 'getLanguages')
->label('sdk.description', '/docs/references/locale/get-languages.md')
->label('sdk.method', 'listLanguages')
->label('sdk.description', '/docs/references/locale/list-languages.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_LANGUAGE_LIST)
+112
View File
@@ -0,0 +1,112 @@
<?php
use Appwrite\Utopia\Response;
use Utopia\App;
use Utopia\Database\Database;
use Utopia\Database\DateTime;
use Utopia\Database\Document;
use Utopia\Database\Query;
use Utopia\Database\Validator\Authorization;
use Utopia\Validator\WhiteList;
App::get('/v1/project/usage')
->desc('Get usage stats for a project')
->groups(['api'])
->label('scope', 'projects.read')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN])
->label('sdk.namespace', 'project')
->label('sdk.method', 'getUsage')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_USAGE_PROJECT)
->param('range', '30d', new WhiteList(['24h', '7d', '30d', '90d'], true), 'Date range.', true)
->inject('response')
->inject('dbForProject')
->action(function (string $range, Response $response, Database $dbForProject) {
$usage = [];
if (App::getEnv('_APP_USAGE_STATS', 'enabled') == 'enabled') {
$periods = [
'24h' => [
'period' => '1h',
'limit' => 24,
],
'7d' => [
'period' => '1d',
'limit' => 7,
],
'30d' => [
'period' => '1d',
'limit' => 30,
],
'90d' => [
'period' => '1d',
'limit' => 90,
],
];
$metrics = [
'project.$all.network.requests',
'project.$all.network.bandwidth',
'project.$all.storage.size',
'users.$all.count.total',
'databases.$all.count.total',
'documents.$all.count.total',
'executions.$all.compute.total',
'buckets.$all.count.total'
];
$stats = [];
Authorization::skip(function () use ($dbForProject, $periods, $range, $metrics, &$stats) {
foreach ($metrics as $metric) {
$limit = $periods[$range]['limit'];
$period = $periods[$range]['period'];
$requestDocs = $dbForProject->find('stats', [
Query::equal('period', [$period]),
Query::equal('metric', [$metric]),
Query::limit($limit),
Query::orderDesc('time'),
]);
$stats[$metric] = [];
foreach ($requestDocs as $requestDoc) {
$stats[$metric][] = [
'value' => $requestDoc->getAttribute('value'),
'date' => $requestDoc->getAttribute('time'),
];
}
// backfill metrics with empty values for graphs
$backfill = $limit - \count($requestDocs);
while ($backfill > 0) {
$last = $limit - $backfill - 1; // array index of last added metric
$diff = match ($period) { // convert period to seconds for unix timestamp math
'1h' => 3600,
'1d' => 86400,
};
$stats[$metric][] = [
'value' => 0,
'date' => DateTime::formatTz(DateTime::addSeconds(new \DateTime($stats[$metric][$last]['date'] ?? null), -1 * $diff)),
];
$backfill--;
}
$stats[$metric] = array_reverse($stats[$metric]);
}
});
$usage = new Document([
'range' => $range,
'requests' => $stats[$metrics[0]] ?? [],
'network' => $stats[$metrics[1]] ?? [],
'storage' => $stats[$metrics[2]] ?? [],
'users' => $stats[$metrics[3]] ?? [],
'databases' => $stats[$metrics[4]] ?? [],
'documents' => $stats[$metrics[5]] ?? [],
'executions' => $stats[$metrics[6]] ?? [],
'buckets' => $stats[$metrics[7]] ?? [],
]);
}
$response->dynamic($usage, Response::MODEL_USAGE_PROJECT);
});
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+231 -198
View File
@@ -2,7 +2,6 @@
use Appwrite\Auth\Auth;
use Appwrite\Detector\Detector;
use Appwrite\Event\Audit as EventAudit;
use Appwrite\Event\Delete;
use Appwrite\Event\Event;
use Appwrite\Event\Mail;
@@ -11,6 +10,11 @@ use Appwrite\Network\Validator\Email;
use Appwrite\Network\Validator\Host;
use Appwrite\Template\Template;
use Appwrite\Utopia\Database\Validator\CustomId;
use Appwrite\Utopia\Database\Validator\Queries;
use Appwrite\Utopia\Database\Validator\Queries\Memberships;
use Appwrite\Utopia\Database\Validator\Queries\Teams;
use Appwrite\Utopia\Database\Validator\Query\Limit;
use Appwrite\Utopia\Database\Validator\Query\Offset;
use Appwrite\Utopia\Request;
use Appwrite\Utopia\Response;
use MaxMind\Db\Reader;
@@ -21,21 +25,25 @@ use Utopia\Database\Database;
use Utopia\Database\Document;
use Utopia\Database\Exception\Authorization as AuthorizationException;
use Utopia\Database\Exception\Duplicate;
use Utopia\Database\ID;
use Utopia\Database\Permission;
use Utopia\Database\Query;
use Utopia\Database\DateTime;
use Utopia\Database\Role;
use Utopia\Database\Validator\Authorization;
use Utopia\Database\Validator\Key;
use Utopia\Database\Validator\UID;
use Utopia\Locale\Locale;
use Utopia\Validator\Text;
use Utopia\Validator\Range;
use Utopia\Validator\ArrayList;
use Utopia\Validator\WhiteList;
App::post('/v1/teams')
->desc('Create Team')
->groups(['api', 'teams'])
->label('event', 'teams.[teamId].create')
->label('scope', 'teams.write')
->label('audits.event', 'team.create')
->label('audits.resource', 'team/{response.$id}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'create')
@@ -43,41 +51,54 @@ App::post('/v1/teams')
->label('sdk.response.code', Response::STATUS_CODE_CREATED)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_TEAM)
->param('teamId', '', new CustomId(), 'Team ID. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can\'t start with a special char. Max length is 36 chars.')
->param('teamId', '', new CustomId(), 'Team ID. Choose your own unique ID or pass the string `ID.unique()` to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can\'t start with a special char. Max length is 36 chars.')
->param('name', null, new Text(128), 'Team name. Max length: 128 chars.')
->param('roles', ['owner'], new ArrayList(new Key(), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](/docs/permissions). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' roles are allowed, each 32 characters long.', true)
->inject('response')
->inject('user')
->inject('dbForProject')
->inject('events')
->inject('audits')
->action(function (string $teamId, string $name, array $roles, Response $response, Document $user, Database $dbForProject, Event $events, Event $audits) {
->action(function (string $teamId, string $name, array $roles, Response $response, Document $user, Database $dbForProject, Event $events) {
$isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles());
$isAppUser = Auth::isAppUser(Authorization::getRoles());
$teamId = $teamId == 'unique()' ? $dbForProject->getId() : $teamId;
$teamId = $teamId == 'unique()' ? ID::unique() : $teamId;
$team = Authorization::skip(fn() => $dbForProject->createDocument('teams', new Document([
'$id' => $teamId ,
'$read' => ['team:'.$teamId],
'$write' => ['team:'.$teamId .'/owner'],
'$id' => $teamId,
'$permissions' => [
Permission::read(Role::team($teamId)),
Permission::update(Role::team($teamId, 'owner')),
Permission::delete(Role::team($teamId, 'owner')),
],
'name' => $name,
'total' => ($isPrivilegedUser || $isAppUser) ? 0 : 1,
'dateCreated' => \time(),
'search' => implode(' ', [$teamId, $name]),
])));
if (!$isPrivilegedUser && !$isAppUser) { // Don't add user on server mode
$membershipId = $dbForProject->getId();
if (!\in_array('owner', $roles)) {
$roles[] = 'owner';
}
$membershipId = ID::unique();
$membership = new Document([
'$id' => $membershipId,
'$read' => ['user:'.$user->getId(), 'team:'.$team->getId()],
'$write' => ['user:'.$user->getId(), 'team:'.$team->getId().'/owner'],
'$permissions' => [
Permission::read(Role::user($user->getId())),
Permission::read(Role::team($team->getId())),
Permission::update(Role::user($user->getId())),
Permission::update(Role::team($team->getId(), 'owner')),
Permission::delete(Role::user($user->getId())),
Permission::delete(Role::team($team->getId(), 'owner')),
],
'userId' => $user->getId(),
'userInternalId' => $user->getInternalId(),
'teamId' => $team->getId(),
'teamInternalId' => $team->getInternalId(),
'roles' => $roles,
'invited' => \time(),
'joined' => \time(),
'invited' => DateTime::now(),
'joined' => DateTime::now(),
'confirm' => true,
'secret' => '',
'search' => implode(' ', [$membershipId, $user->getId()])
@@ -93,14 +114,9 @@ App::post('/v1/teams')
$events->setParam('userId', $user->getId());
}
$audits
->setParam('event', 'teams.create')
->setParam('resource', 'team/'.$teamId)
->setParam('data', $team->getArrayCopy())
;
$response->setStatusCode(Response::STATUS_CODE_CREATED);
$response->dynamic($team, Response::MODEL_TEAM);
$response
->setStatusCode(Response::STATUS_CODE_CREATED)
->dynamic($team, Response::MODEL_TEAM);
});
App::get('/v1/teams')
@@ -114,32 +130,37 @@ App::get('/v1/teams')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_TEAM_LIST)
->param('queries', [], new Teams(), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long. You may filter on the following attributes: ' . implode(', ', Teams::ALLOWED_ATTRIBUTES), true)
->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true)
->param('limit', 25, new Range(0, 100), 'Maximum number of teams to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request.', true)
->param('offset', 0, new Range(0, APP_LIMIT_COUNT), 'Offset value. The default value is 0. Use this param to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)', true)
->param('cursor', '', new UID(), 'ID of the team used as the starting point for the query, excluding the team itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)', true)
->param('cursorDirection', Database::CURSOR_AFTER, new WhiteList([Database::CURSOR_AFTER, Database::CURSOR_BEFORE]), 'Direction of the cursor.', true)
->param('orderType', 'ASC', new WhiteList(['ASC', 'DESC'], true), 'Order result by ASC or DESC order.', true)
->inject('response')
->inject('dbForProject')
->action(function (string $search, int $limit, int $offset, string $cursor, string $cursorDirection, string $orderType, Response $response, Database $dbForProject) {
->action(function (array $queries, string $search, Response $response, Database $dbForProject) {
if (!empty($cursor)) {
$cursorTeam = $dbForProject->getDocument('teams', $cursor);
if ($cursorTeam->isEmpty()) {
throw new Exception("Team '{$cursor}' for the 'cursor' value not found.", 400, Exception::GENERAL_CURSOR_NOT_FOUND);
}
}
$queries = [];
$queries = Query::parseQueries($queries);
if (!empty($search)) {
$queries[] = new Query('search', Query::TYPE_SEARCH, [$search]);
$queries[] = Query::search('search', $search);
}
$results = $dbForProject->find('teams', $queries, $limit, $offset, [], [$orderType], $cursorTeam ?? null, $cursorDirection);
$total = $dbForProject->count('teams', $queries, APP_LIMIT_COUNT);
// Get cursor document if there was a cursor query
$cursor = Query::getByType($queries, Query::TYPE_CURSORAFTER, Query::TYPE_CURSORBEFORE);
$cursor = reset($cursor);
if ($cursor) {
/** @var Query $cursor */
$teamId = $cursor->getValue();
$cursorDocument = $dbForProject->getDocument('teams', $teamId);
if ($cursorDocument->isEmpty()) {
throw new Exception(Exception::GENERAL_CURSOR_NOT_FOUND, "Team '{$teamId}' for the 'cursor' value not found.");
}
$cursor->setValue($cursorDocument);
}
$filterQueries = Query::groupByType($queries)['filters'];
$results = $dbForProject->find('teams', $queries);
$total = $dbForProject->count('teams', $filterQueries, APP_LIMIT_COUNT);
$response->dynamic(new Document([
'teams' => $results,
@@ -166,7 +187,7 @@ App::get('/v1/teams/:teamId')
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
$response->dynamic($team, Response::MODEL_TEAM);
@@ -177,6 +198,8 @@ App::put('/v1/teams/:teamId')
->groups(['api', 'teams'])
->label('event', 'teams.[teamId].update')
->label('scope', 'teams.write')
->label('audits.event', 'team.update')
->label('audits.resource', 'team/{response.$id}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'update')
@@ -189,22 +212,19 @@ App::put('/v1/teams/:teamId')
->inject('response')
->inject('dbForProject')
->inject('events')
->inject('audits')
->action(function (string $teamId, string $name, Response $response, Database $dbForProject, Event $events, EventAudit $audits) {
->action(function (string $teamId, string $name, Response $response, Database $dbForProject, Event $events) {
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
$team = $dbForProject->updateDocument('teams', $team->getId(),$team
$team = $dbForProject->updateDocument('teams', $team->getId(), $team
->setAttribute('name', $name)
->setAttribute('search', implode(' ', [$teamId, $name]))
);
->setAttribute('search', implode(' ', [$teamId, $name])));
$events->setParam('teamId', $team->getId());
$audits->setResource('team/' . $team->getId());
$response->dynamic($team, Response::MODEL_TEAM);
});
@@ -214,6 +234,8 @@ App::delete('/v1/teams/:teamId')
->groups(['api', 'teams'])
->label('event', 'teams.[teamId].delete')
->label('scope', 'teams.write')
->label('audits.event', 'team.delete')
->label('audits.resource', 'team/{request.teamId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'delete')
@@ -225,28 +247,28 @@ App::delete('/v1/teams/:teamId')
->inject('dbForProject')
->inject('events')
->inject('deletes')
->inject('audits')
->action(function (string $teamId, Response $response, Database $dbForProject, Event $events, Delete $deletes, EventAudit $audits) {
->action(function (string $teamId, Response $response, Database $dbForProject, Event $events, Delete $deletes) {
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
$memberships = $dbForProject->find('memberships', [
new Query('teamId', Query::TYPE_EQUAL, [$teamId]),
], 2000, 0); // TODO fix members limit
Query::equal('teamId', [$teamId]),
Query::limit(2000), // TODO fix members limit
]);
// TODO delete all members individually from the user object
foreach ($memberships as $membership) {
if (!$dbForProject->deleteDocument('memberships', $membership->getId())) {
throw new Exception('Failed to remove membership for team from DB', 500, Exception::GENERAL_SERVER_ERROR);
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Failed to remove membership for team from DB');
}
}
if (!$dbForProject->deleteDocument('teams', $teamId)) {
throw new Exception('Failed to remove team from DB', 500, Exception::GENERAL_SERVER_ERROR);
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Failed to remove team from DB');
}
$deletes
@@ -258,12 +280,6 @@ App::delete('/v1/teams/:teamId')
->setPayload($response->output($team, Response::MODEL_TEAM))
;
$audits
->setParam('event', 'teams.delete')
->setParam('resource', 'team/'.$teamId)
->setParam('data', $team->getArrayCopy())
;
$response->noContent();
});
@@ -273,6 +289,9 @@ App::post('/v1/teams/:teamId/memberships')
->label('event', 'teams.[teamId].memberships.[membershipId].create')
->label('scope', 'teams.write')
->label('auth.type', 'invites')
->label('audits.event', 'membership.create')
->label('audits.resource', 'team/{request.teamId}')
->label('audits.userId', '{request.userId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'createMembership')
@@ -284,64 +303,68 @@ App::post('/v1/teams/:teamId/memberships')
->param('teamId', '', new UID(), 'Team ID.')
->param('email', '', new Email(), 'Email of the new team member.')
->param('roles', [], new ArrayList(new Key(), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' roles are allowed, each 32 characters long.')
->param('url', '', function ($clients) { return new Host($clients); }, 'URL to redirect the user back to your app from the invitation email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', false, ['clients']) // TODO add our own built-in confirm page
->param('url', '', fn($clients) => new Host($clients), 'URL to redirect the user back to your app from the invitation email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', false, ['clients']) // TODO add our own built-in confirm page
->param('name', '', new Text(128), 'Name of the new team member. Max length: 128 chars.', true)
->inject('response')
->inject('project')
->inject('user')
->inject('dbForProject')
->inject('locale')
->inject('audits')
->inject('mails')
->inject('events')
->action(function (string $teamId, string $email, array $roles, string $url, string $name, Response $response, Document $project, Document $user, Database $dbForProject, Locale $locale, EventAudit $audits, Mail $mails, Event $events) {
if(empty(App::getEnv('_APP_SMTP_HOST'))) {
throw new Exception('SMTP Disabled', 503, Exception::GENERAL_SMTP_DISABLED);
}
->action(function (string $teamId, string $email, array $roles, string $url, string $name, Response $response, Document $project, Document $user, Database $dbForProject, Locale $locale, Mail $mails, Event $events) {
$isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles());
$isAppUser = Auth::isAppUser(Authorization::getRoles());
if (!$isPrivilegedUser && !$isAppUser && empty(App::getEnv('_APP_SMTP_HOST'))) {
throw new Exception(Exception::GENERAL_SMTP_DISABLED);
}
$email = \strtolower($email);
$name = (empty($name)) ? $email : $name;
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
$invitee = $dbForProject->findOne('users', [new Query('email', Query::TYPE_EQUAL, [$email])]); // Get user by email address
$invitee = $dbForProject->findOne('users', [Query::equal('email', [$email])]); // Get user by email address
if (empty($invitee)) { // Create new user if no user with same email found
$limit = $project->getAttribute('auths', [])['limit'] ?? 0;
if ($limit !== 0 && $project->getId() !== 'console') { // check users limit, console invites are allways allowed.
$total = $dbForProject->count('users', [], APP_LIMIT_USERS);
if($total >= $limit) {
throw new Exception('Project registration is restricted. Contact your administrator for more information.', 501, Exception::USER_COUNT_EXCEEDED);
if ($total >= $limit) {
throw new Exception(Exception::USER_COUNT_EXCEEDED, 'Project registration is restricted. Contact your administrator for more information.');
}
}
try {
$userId = $dbForProject->getId();
$userId = ID::unique();
$invitee = Authorization::skip(fn() => $dbForProject->createDocument('users', new Document([
'$id' => $userId,
'$read' => ['user:'.$userId, 'role:all'],
'$write' => ['user:'.$userId],
'$permissions' => [
Permission::read(Role::any()),
Permission::read(Role::user($userId)),
Permission::update(Role::user($userId)),
Permission::delete(Role::user($userId)),
],
'email' => $email,
'emailVerification' => false,
'status' => true,
'password' => Auth::passwordHash(Auth::passwordGenerator()),
/**
* Set the password update time to 0 for users created using
* team invite and OAuth to allow password updates without an
* old password
'password' => Auth::passwordHash(Auth::passwordGenerator(), Auth::DEFAULT_ALGO, Auth::DEFAULT_ALGO_OPTIONS),
'hash' => Auth::DEFAULT_ALGO,
'hashOptions' => Auth::DEFAULT_ALGO_OPTIONS,
/**
* Set the password update time to 0 for users created using
* team invite and OAuth to allow password updates without an
* old password
*/
'passwordUpdate' => 0,
'registration' => \time(),
'passwordUpdate' => null,
'registration' => DateTime::now(),
'reset' => false,
'name' => $name,
'prefs' => new \stdClass(),
@@ -351,28 +374,35 @@ App::post('/v1/teams/:teamId/memberships')
'search' => implode(' ', [$userId, $email, $name])
])));
} catch (Duplicate $th) {
throw new Exception('Account already exists', 409, Exception::USER_ALREADY_EXISTS);
throw new Exception(Exception::USER_ALREADY_EXISTS);
}
}
$isOwner = Authorization::isRole('team:'.$team->getId().'/owner');;
$isOwner = Authorization::isRole('team:' . $team->getId() . '/owner');
if (!$isOwner && !$isPrivilegedUser && !$isAppUser) { // Not owner, not admin, not app (server)
throw new Exception('User is not allowed to send invitations for this team', 401, Exception::USER_UNAUTHORIZED);
throw new Exception(Exception::USER_UNAUTHORIZED, 'User is not allowed to send invitations for this team');
}
$secret = Auth::tokenGenerator();
$membershipId = $dbForProject->getId();
$membershipId = ID::unique();
$membership = new Document([
'$id' => $membershipId,
'$read' => ['role:all'],
'$write' => ['user:'.$invitee->getId(), 'team:'.$team->getId().'/owner'],
'$permissions' => [
Permission::read(Role::any()),
Permission::update(Role::user($invitee->getId())),
Permission::update(Role::team($team->getId(), 'owner')),
Permission::delete(Role::user($invitee->getId())),
Permission::delete(Role::team($team->getId(), 'owner')),
],
'userId' => $invitee->getId(),
'userInternalId' => $invitee->getInternalId(),
'teamId' => $team->getId(),
'teamInternalId' => $team->getInternalId(),
'roles' => $roles,
'invited' => \time(),
'joined' => ($isPrivilegedUser || $isAppUser) ? \time() : 0,
'invited' => DateTime::now(),
'joined' => ($isPrivilegedUser || $isAppUser) ? DateTime::now() : null,
'confirm' => ($isPrivilegedUser || $isAppUser),
'secret' => Auth::hash($secret),
'search' => implode(' ', [$membershipId, $invitee->getId()])
@@ -382,7 +412,7 @@ App::post('/v1/teams/:teamId/memberships')
try {
$membership = Authorization::skip(fn() => $dbForProject->createDocument('memberships', $membership));
} catch (Duplicate $th) {
throw new Exception('User has already been invited or is already a member of this team', 409, Exception::TEAM_INVITE_ALREADY_EXISTS);
throw new Exception(Exception::TEAM_INVITE_ALREADY_EXISTS);
}
$team->setAttribute('total', $team->getAttribute('total', 0) + 1);
$team = Authorization::skip(fn() => $dbForProject->updateDocument('teams', $team->getId(), $team));
@@ -392,7 +422,7 @@ App::post('/v1/teams/:teamId/memberships')
try {
$membership = $dbForProject->createDocument('memberships', $membership);
} catch (Duplicate $th) {
throw new Exception('User has already been invited or is already a member of this team', 409, Exception::TEAM_INVITE_ALREADY_EXISTS);
throw new Exception(Exception::TEAM_INVITE_ALREADY_EXISTS);
}
}
@@ -413,84 +443,86 @@ App::post('/v1/teams/:teamId/memberships')
;
}
$audits
->setResource('team/'.$teamId)
;
$events
->setParam('teamId', $team->getId())
->setParam('membershipId', $membership->getId())
;
$response->setStatusCode(Response::STATUS_CODE_CREATED);
$response->dynamic($membership
->setAttribute('teamName', $team->getAttribute('name'))
->setAttribute('userName', $user->getAttribute('name'))
->setAttribute('userEmail', $user->getAttribute('email'))
, Response::MODEL_MEMBERSHIP);
$response
->setStatusCode(Response::STATUS_CODE_CREATED)
->dynamic(
$membership
->setAttribute('teamName', $team->getAttribute('name'))
->setAttribute('userName', $invitee->getAttribute('name'))
->setAttribute('userEmail', $invitee->getAttribute('email')),
Response::MODEL_MEMBERSHIP
);
});
App::get('/v1/teams/:teamId/memberships')
->desc('Get Team Memberships')
->desc('List Team Memberships')
->groups(['api', 'teams'])
->label('scope', 'teams.read')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'getMemberships')
->label('sdk.description', '/docs/references/teams/get-team-members.md')
->label('sdk.method', 'listMemberships')
->label('sdk.description', '/docs/references/teams/list-team-members.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MEMBERSHIP_LIST)
->param('teamId', '', new UID(), 'Team ID.')
->param('queries', [], new Memberships(), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long. You may filter on the following attributes: ' . implode(', ', Memberships::ALLOWED_ATTRIBUTES), true)
->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true)
->param('limit', 25, new Range(0, 100), 'Maximum number of memberships to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request.', true)
->param('offset', 0, new Range(0, APP_LIMIT_COUNT), 'Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)', true)
->param('cursor', '', new UID(), 'ID of the membership used as the starting point for the query, excluding the membership itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)', true)
->param('cursorDirection', Database::CURSOR_AFTER, new WhiteList([Database::CURSOR_AFTER, Database::CURSOR_BEFORE]), 'Direction of the cursor.', true)
->param('orderType', 'ASC', new WhiteList(['ASC', 'DESC'], true), 'Order result by ASC or DESC order.', true)
->inject('response')
->inject('dbForProject')
->action(function (string $teamId, string $search, int $limit, int $offset, string $cursor, string $cursorDirection, string $orderType, Response $response, Database $dbForProject) {
->action(function (string $teamId, array $queries, string $search, Response $response, Database $dbForProject) {
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
if (!empty($cursor)) {
$cursorMembership = $dbForProject->getDocument('memberships', $cursor);
if ($cursorMembership->isEmpty()) {
throw new Exception("Membership '{$cursor}' for the 'cursor' value not found.", 400, Exception::GENERAL_CURSOR_NOT_FOUND);
}
}
$queries = [new Query('teamId', Query::TYPE_EQUAL, [$teamId])];
$queries = Query::parseQueries($queries);
if (!empty($search)) {
$queries[] = new Query('search', Query::TYPE_SEARCH, [$search]);
$queries[] = Query::search('search', $search);
}
// Set internal queries
$queries[] = Query::equal('teamId', [$teamId]);
// Get cursor document if there was a cursor query
$cursor = Query::getByType($queries, Query::TYPE_CURSORAFTER, Query::TYPE_CURSORBEFORE);
$cursor = reset($cursor);
if ($cursor) {
/** @var Query $cursor */
$membershipId = $cursor->getValue();
$cursorDocument = $dbForProject->getDocument('memberships', $membershipId);
if ($cursorDocument->isEmpty()) {
throw new Exception(Exception::GENERAL_CURSOR_NOT_FOUND, "Membership '{$membershipId}' for the 'cursor' value not found.");
}
$cursor->setValue($cursorDocument);
}
$filterQueries = Query::groupByType($queries)['filters'];
$memberships = $dbForProject->find(
collection: 'memberships',
queries: $queries,
limit: $limit,
offset: $offset,
orderTypes: [$orderType],
cursor: $cursorMembership ?? null,
cursorDirection: $cursorDirection
);
$total = $dbForProject->count(
collection:'memberships',
queries: $queries,
collection: 'memberships',
queries: $filterQueries,
max: APP_LIMIT_COUNT
);
$memberships = array_filter($memberships, fn(Document $membership) => !empty($membership->getAttribute('userId')));
$memberships = array_map(function($membership) use ($dbForProject, $team) {
$memberships = array_map(function ($membership) use ($dbForProject, $team) {
$user = $dbForProject->getDocument('users', $membership->getAttribute('userId'));
$membership
@@ -518,7 +550,7 @@ App::get('/v1/teams/:teamId/memberships/:membershipId')
->label('sdk.description', '/docs/references/teams/get-team-member.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MEMBERSHIP_LIST)
->label('sdk.response.model', Response::MODEL_MEMBERSHIP)
->param('teamId', '', new UID(), 'Team ID.')
->param('membershipId', '', new UID(), 'Membership ID.')
->inject('response')
@@ -528,13 +560,13 @@ App::get('/v1/teams/:teamId/memberships/:membershipId')
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
$membership = $dbForProject->getDocument('memberships', $membershipId);
if($membership->isEmpty() || empty($membership->getAttribute('userId'))) {
throw new Exception('Membership not found', 404, Exception::MEMBERSHIP_NOT_FOUND);
if ($membership->isEmpty() || empty($membership->getAttribute('userId'))) {
throw new Exception(Exception::MEMBERSHIP_NOT_FOUND);
}
$user = $dbForProject->getDocument('users', $membership->getAttribute('userId'));
@@ -545,7 +577,7 @@ App::get('/v1/teams/:teamId/memberships/:membershipId')
->setAttribute('userEmail', $user->getAttribute('email'))
;
$response->dynamic($membership, Response::MODEL_MEMBERSHIP );
$response->dynamic($membership, Response::MODEL_MEMBERSHIP);
});
App::patch('/v1/teams/:teamId/memberships/:membershipId')
@@ -553,6 +585,8 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId')
->groups(['api', 'teams'])
->label('event', 'teams.[teamId].memberships.[membershipId].update')
->label('scope', 'teams.write')
->label('audits.event', 'membership.update')
->label('audits.resource', 'team/{request.teamId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'updateMembershipRoles')
@@ -567,31 +601,30 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId')
->inject('response')
->inject('user')
->inject('dbForProject')
->inject('audits')
->inject('events')
->action(function (string $teamId, string $membershipId, array $roles, Request $request, Response $response, Document $user, Database $dbForProject, EventAudit $audits, Event $events) {
->action(function (string $teamId, string $membershipId, array $roles, Request $request, Response $response, Document $user, Database $dbForProject, Event $events) {
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
$membership = $dbForProject->getDocument('memberships', $membershipId);
if ($membership->isEmpty()) {
throw new Exception('Membership not found', 404, Exception::MEMBERSHIP_NOT_FOUND);
throw new Exception(Exception::MEMBERSHIP_NOT_FOUND);
}
$profile = $dbForProject->getDocument('users', $membership->getAttribute('userId'));
if ($profile->isEmpty()) {
throw new Exception('User not found', 404, Exception::USER_NOT_FOUND);
throw new Exception(Exception::USER_NOT_FOUND);
}
$isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles());
$isAppUser = Auth::isAppUser(Authorization::getRoles());
$isOwner = Authorization::isRole('team:' . $team->getId() . '/owner');;
$isOwner = Authorization::isRole('team:' . $team->getId() . '/owner');
if (!$isOwner && !$isPrivilegedUser && !$isAppUser) { // Not owner, not admin, not app (server)
throw new Exception('User is not allowed to modify roles', 401, Exception::USER_UNAUTHORIZED);
throw new Exception(Exception::USER_UNAUTHORIZED, 'User is not allowed to modify roles');
}
/**
@@ -605,8 +638,6 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId')
*/
$dbForProject->deleteCachedDocument('users', $profile->getId());
$audits->setResource('team/' . $teamId);
$events
->setParam('teamId', $team->getId())
->setParam('membershipId', $membership->getId());
@@ -625,6 +656,9 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status')
->groups(['api', 'teams'])
->label('event', 'teams.[teamId].memberships.[membershipId].update.status')
->label('scope', 'public')
->label('audits.event', 'membership.update')
->label('audits.resource', 'team/{request.teamId}')
->label('audits.userId', '{request.userId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'updateMembershipStatus')
@@ -640,34 +674,34 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status')
->inject('response')
->inject('user')
->inject('dbForProject')
->inject('project')
->inject('geodb')
->inject('audits')
->inject('events')
->action(function (string $teamId, string $membershipId, string $userId, string $secret, Request $request, Response $response, Document $user, Database $dbForProject, Reader $geodb, EventAudit $audits, Event $events) {
->action(function (string $teamId, string $membershipId, string $userId, string $secret, Request $request, Response $response, Document $user, Database $dbForProject, Document $project, Reader $geodb, Event $events) {
$protocol = $request->getProtocol();
$membership = $dbForProject->getDocument('memberships', $membershipId);
if ($membership->isEmpty()) {
throw new Exception('Membership not found', 404, Exception::MEMBERSHIP_NOT_FOUND);
throw new Exception(Exception::MEMBERSHIP_NOT_FOUND);
}
if ($membership->getAttribute('teamId') !== $teamId) {
throw new Exception('Team IDs don\'t match', 404, Exception::TEAM_MEMBERSHIP_MISMATCH);
throw new Exception(Exception::TEAM_MEMBERSHIP_MISMATCH);
}
$team = Authorization::skip(fn() => $dbForProject->getDocument('teams', $teamId));
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
if (Auth::hash($secret) !== $membership->getAttribute('secret')) {
throw new Exception('Secret key not valid', 401, Exception::TEAM_INVALID_SECRET);
throw new Exception(Exception::TEAM_INVALID_SECRET);
}
if ($userId !== $membership->getAttribute('userId')) {
throw new Exception('Invite does not belong to current user ('.$user->getAttribute('email').')', 401, Exception::TEAM_INVITE_MISMATCH);
throw new Exception(Exception::TEAM_INVITE_MISMATCH, 'Invite does not belong to current user (' . $user->getAttribute('email') . ')');
}
if ($user->isEmpty()) {
@@ -675,50 +709,51 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status')
}
if ($membership->getAttribute('userId') !== $user->getId()) {
throw new Exception('Invite does not belong to current user ('.$user->getAttribute('email').')', 401, Exception::TEAM_INVITE_MISMATCH);
throw new Exception(Exception::TEAM_INVITE_MISMATCH, 'Invite does not belong to current user (' . $user->getAttribute('email') . ')');
}
if ($membership->getAttribute('confirm') === true) {
throw new Exception('Membership already confirmed', 409);
throw new Exception(Exception::MEMBERSHIP_ALREADY_CONFIRMED);
}
$membership // Attach user to team
->setAttribute('joined', \time())
->setAttribute('joined', DateTime::now())
->setAttribute('confirm', true)
;
$user
->setAttribute('emailVerification', true)
;
$user = Authorization::skip(fn() => $dbForProject->updateDocument('users', $user->getId(), $user->setAttribute('emailVerification', true)));
// Log user in
Authorization::setRole('user:'.$user->getId());
Authorization::setRole(Role::user($user->getId())->toString());
$detector = new Detector($request->getUserAgent('UNKNOWN'));
$record = $geodb->get($request->getIP());
$expiry = \time() + Auth::TOKEN_EXPIRATION_LOGIN_LONG;
$authDuration = $project->getAttribute('auths', [])['duration'] ?? Auth::TOKEN_EXPIRATION_LOGIN_LONG;
$expire = DateTime::addSeconds(new \DateTime(), $authDuration);
$secret = Auth::tokenGenerator();
$session = new Document(array_merge([
'$id' => $dbForProject->getId(),
'$id' => ID::unique(),
'userId' => $user->getId(),
'userInternalId' => $user->getInternalId(),
'provider' => Auth::SESSION_PROVIDER_EMAIL,
'providerUid' => $user->getAttribute('email'),
'secret' => Auth::hash($secret), // One way hash encryption to protect DB leak
'expire' => $expiry,
'userAgent' => $request->getUserAgent('UNKNOWN'),
'ip' => $request->getIP(),
'countryCode' => ($record) ? \strtolower($record['country']['iso_code']) : '--',
], $detector->getOS(), $detector->getClient(), $detector->getDevice()));
$session = $dbForProject->createDocument('sessions', $session
->setAttribute('$read', ['user:'.$user->getId()])
->setAttribute('$write', ['user:'.$user->getId()])
);
->setAttribute('$permissions', [
Permission::read(Role::user($user->getId())),
Permission::update(Role::user($user->getId())),
Permission::delete(Role::user($user->getId())),
]));
$dbForProject->deleteCachedDocument('users', $user->getId());
Authorization::setRole('user:'.$userId);
Authorization::setRole(Role::user($userId)->toString());
$membership = $dbForProject->updateDocument('memberships', $membership->getId(), $membership);
@@ -726,8 +761,6 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status')
$team = Authorization::skip(fn() => $dbForProject->updateDocument('teams', $team->getId(), $team->setAttribute('total', $team->getAttribute('total', 0) + 1)));
$audits->setResource('team/'.$teamId);
$events
->setParam('teamId', $team->getId())
->setParam('membershipId', $membership->getId())
@@ -740,15 +773,17 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status')
}
$response
->addCookie(Auth::$cookieName.'_legacy', Auth::encodeSession($user->getId(), $secret), $expiry, '/', Config::getParam('cookieDomain'), ('https' == $protocol), true, null)
->addCookie(Auth::$cookieName, Auth::encodeSession($user->getId(), $secret), $expiry, '/', Config::getParam('cookieDomain'), ('https' == $protocol), true, Config::getParam('cookieSamesite'))
->addCookie(Auth::$cookieName . '_legacy', Auth::encodeSession($user->getId(), $secret), (new \DateTime($expire))->getTimestamp(), '/', Config::getParam('cookieDomain'), ('https' == $protocol), true, null)
->addCookie(Auth::$cookieName, Auth::encodeSession($user->getId(), $secret), (new \DateTime($expire))->getTimestamp(), '/', Config::getParam('cookieDomain'), ('https' == $protocol), true, Config::getParam('cookieSamesite'))
;
$response->dynamic($membership
$response->dynamic(
$membership
->setAttribute('teamName', $team->getAttribute('name'))
->setAttribute('userName', $user->getAttribute('name'))
->setAttribute('userEmail', $user->getAttribute('email'))
, Response::MODEL_MEMBERSHIP);
->setAttribute('userEmail', $user->getAttribute('email')),
Response::MODEL_MEMBERSHIP
);
});
App::delete('/v1/teams/:teamId/memberships/:membershipId')
@@ -756,6 +791,8 @@ App::delete('/v1/teams/:teamId/memberships/:membershipId')
->groups(['api', 'teams'])
->label('event', 'teams.[teamId].memberships.[membershipId].delete')
->label('scope', 'teams.write')
->label('audits.event', 'membership.delete')
->label('audits.resource', 'team/{request.teamId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'deleteMembership')
@@ -766,38 +803,37 @@ App::delete('/v1/teams/:teamId/memberships/:membershipId')
->param('membershipId', '', new UID(), 'Membership ID.')
->inject('response')
->inject('dbForProject')
->inject('audits')
->inject('events')
->action(function (string $teamId, string $membershipId, Response $response, Database $dbForProject, EventAudit $audits, Event $events) {
->action(function (string $teamId, string $membershipId, Response $response, Database $dbForProject, Event $events) {
$membership = $dbForProject->getDocument('memberships', $membershipId);
if ($membership->isEmpty()) {
throw new Exception('Invite not found', 404, Exception::TEAM_INVITE_NOT_FOUND);
throw new Exception(Exception::TEAM_INVITE_NOT_FOUND);
}
if ($membership->getAttribute('teamId') !== $teamId) {
throw new Exception('Team IDs don\'t match', 404);
throw new Exception(Exception::TEAM_MEMBERSHIP_MISMATCH);
}
$user = $dbForProject->getDocument('users', $membership->getAttribute('userId'));
if ($user->isEmpty()) {
throw new Exception('User not found', 404, Exception::USER_NOT_FOUND);
throw new Exception(Exception::USER_NOT_FOUND);
}
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
try {
$dbForProject->deleteDocument('memberships', $membership->getId());
} catch (AuthorizationException $exception) {
throw new Exception('Unauthorized permissions', 401, Exception::USER_UNAUTHORIZED);
throw new Exception(Exception::USER_UNAUTHORIZED);
} catch (\Exception $exception) {
throw new Exception('Failed to remove membership from DB', 500, Exception::GENERAL_SERVER_ERROR);
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Failed to remove membership from DB');
}
$dbForProject->deleteCachedDocument('users', $user->getId());
@@ -807,8 +843,6 @@ App::delete('/v1/teams/:teamId/memberships/:membershipId')
Authorization::skip(fn() => $dbForProject->updateDocument('teams', $team->getId(), $team));
}
$audits->setResource('team/'.$teamId);
$events
->setParam('teamId', $team->getId())
->setParam('membershipId', $membership->getId())
@@ -829,28 +863,27 @@ App::get('/v1/teams/:teamId/logs')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_LOG_LIST)
->param('teamId', null, new UID(), 'Team ID.')
->param('limit', 25, new Range(0, 100), 'Maximum number of logs to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request.', true)
->param('offset', 0, new Range(0, APP_LIMIT_COUNT), 'Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)', true)
->param('teamId', '', new UID(), 'Team ID.')
->param('queries', [], new Queries(new Limit(), new Offset()), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Only supported methods are limit and offset', true)
->inject('response')
->inject('dbForProject')
->inject('locale')
->inject('geodb')
->action(function ($teamId, $limit, $offset, $response, $dbForProject, $locale, $geodb) {
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Database\Document $project */
/** @var Utopia\Database\Database $dbForProject */
/** @var Utopia\Locale\Locale $locale */
/** @var MaxMind\Db\Reader $geodb */
->action(function (string $teamId, array $queries, Response $response, Database $dbForProject, Locale $locale, Reader $geodb) {
$team = $dbForProject->getDocument('teams', $teamId);
if ($team->isEmpty()) {
throw new Exception('Team not found', 404, Exception::TEAM_NOT_FOUND);
throw new Exception(Exception::TEAM_NOT_FOUND);
}
$queries = Query::parseQueries($queries);
$grouped = Query::groupByType($queries);
$limit = $grouped['limit'] ?? APP_LIMIT_COUNT;
$offset = $grouped['offset'] ?? 0;
$audit = new Audit($dbForProject);
$resource = 'team/'.$team->getId();
$resource = 'team/' . $team->getId();
$logs = $audit->getLogsByResource($resource, $limit, $offset);
$output = [];
@@ -890,8 +923,8 @@ App::get('/v1/teams/:teamId/logs')
$record = $geodb->get($log['ip']);
if ($record) {
$output[$i]['countryCode'] = $locale->getText('countries.'.strtolower($record['country']['iso_code']), false) ? \strtolower($record['country']['iso_code']) : '--';
$output[$i]['countryName'] = $locale->getText('countries.'.strtolower($record['country']['iso_code']), $locale->getText('locale.country.unknown'));
$output[$i]['countryCode'] = $locale->getText('countries.' . strtolower($record['country']['iso_code']), false) ? \strtolower($record['country']['iso_code']) : '--';
$output[$i]['countryName'] = $locale->getText('countries.' . strtolower($record['country']['iso_code']), $locale->getText('locale.country.unknown'));
} else {
$output[$i]['countryCode'] = '--';
$output[$i]['countryName'] = $locale->getText('locale.country.unknown');
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+135 -86
View File
@@ -5,13 +5,16 @@ global $utopia, $request, $response;
use Appwrite\Extend\Exception;
use Utopia\Database\Document;
use Appwrite\Network\Validator\Host;
use Appwrite\Utopia\Request;
use Appwrite\Utopia\Response;
use Appwrite\Utopia\Response\Model;
use Utopia\App;
use Utopia\Validator\ArrayList;
use Utopia\Validator\Integer;
use Utopia\Validator\Text;
use Utopia\Storage\Validator\File;
use Utopia\Validator\WhiteList;
use Utopia\Database\ID;
App::get('/v1/mock/tests/foo')
->desc('Get Foo')
@@ -193,6 +196,35 @@ App::delete('/v1/mock/tests/bar')
->action(function ($required, $default, $z) {
});
/** Endpoint to test if required headers are sent from the SDK */
App::get('/v1/mock/tests/general/headers')
->desc('Get headers')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'general')
->label('sdk.method', 'headers')
->label('sdk.description', 'Return headers from the request')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->inject('request')
->inject('response')
->action(function (Request $request, Response $response) {
$res = [
'x-sdk-name' => $request->getHeader('x-sdk-name'),
'x-sdk-platform' => $request->getHeader('x-sdk-platform'),
'x-sdk-language' => $request->getHeader('x-sdk-language'),
'x-sdk-version' => $request->getHeader('x-sdk-version'),
];
$res = array_map(function ($key, $value) {
return $key . ': ' . $value;
}, array_keys($res), $res);
$res = implode("; ", $res);
$response->dynamic(new Document(['result' => $res]), Response::MODEL_MOCK);
});
App::get('/v1/mock/tests/general/download')
->desc('Download File')
->groups(['mock'])
@@ -206,15 +238,14 @@ App::get('/v1/mock/tests/general/download')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Request $request */
->action(function (Response $response) {
$response
->setContentType('text/plain')
->addHeader('Content-Disposition', 'attachment; filename="test.txt"')
->addHeader('Expires', \date('D, d M Y H:i:s', \time() + (60 * 60 * 24 * 45)).' GMT') // 45 days cache
->addHeader('Expires', \date('D, d M Y H:i:s', \time() + (60 * 60 * 24 * 45)) . ' GMT') // 45 days cache
->addHeader('X-Peak', \memory_get_peak_usage())
->send("Download test passed.")
->send("GET:/v1/mock/tests/general/download:passed")
;
});
@@ -237,54 +268,52 @@ App::post('/v1/mock/tests/general/upload')
->param('file', [], new File(), 'Sample file param', false)
->inject('request')
->inject('response')
->action(function ($x, $y, $z, $file, $request, $response) {
/** @var Appwrite\Utopia\Request $request */
/** @var Utopia\Swoole\Response $response */
->action(function (string $x, int $y, array $z, mixed $file, Request $request, Response $response) {
$file = $request->getFiles('file');
$contentRange = $request->getHeader('content-range');
$chunkSize = 5*1024*1024; // 5MB
$chunkSize = 5 * 1024 * 1024; // 5MB
if(!empty($contentRange)) {
if (!empty($contentRange)) {
$start = $request->getContentRangeStart();
$end = $request->getContentRangeEnd();
$size = $request->getContentRangeSize();
$id = $request->getHeader('x-appwrite-id', '');
$file['size'] = (\is_array($file['size'])) ? $file['size'][0] : $file['size'];
if(is_null($start) || is_null($end) || is_null($size)) {
throw new Exception('Invalid content-range header', 400, Exception::GENERAL_MOCK);
if (is_null($start) || is_null($end) || is_null($size)) {
throw new Exception(Exception::GENERAL_MOCK, 'Invalid content-range header');
}
if($start > $end || $end > $size) {
throw new Exception('Invalid content-range header', 400, Exception::GENERAL_MOCK);
if ($start > $end || $end > $size) {
throw new Exception(Exception::GENERAL_MOCK, 'Invalid content-range header');
}
if($start === 0 && !empty($id)) {
throw new Exception('First chunked request cannot have id header', 400, Exception::GENERAL_MOCK);
if ($start === 0 && !empty($id)) {
throw new Exception(Exception::GENERAL_MOCK, 'First chunked request cannot have id header');
}
if($start !== 0 && $id !== 'newfileid') {
throw new Exception('All chunked request must have id header (except first)', 400, Exception::GENERAL_MOCK);
if ($start !== 0 && $id !== 'newfileid') {
throw new Exception(Exception::GENERAL_MOCK, 'All chunked request must have id header (except first)');
}
if($end !== $size && $end-$start+1 !== $chunkSize) {
throw new Exception('Chunk size must be 5MB (except last chunk)', 400, Exception::GENERAL_MOCK);
if ($end !== $size && $end - $start + 1 !== $chunkSize) {
throw new Exception(Exception::GENERAL_MOCK, 'Chunk size must be 5MB (except last chunk)');
}
if ($end !== $size && $file['size'] !== $chunkSize) {
throw new Exception('Wrong chunk size', 400, Exception::GENERAL_MOCK);
}
if($file['size'] > $chunkSize) {
throw new Exception('Chunk size must be 5MB or less', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Wrong chunk size');
}
if($end !== $size) {
if ($file['size'] > $chunkSize) {
throw new Exception(Exception::GENERAL_MOCK, 'Chunk size must be 5MB or less');
}
if ($end !== $size) {
$response->json([
'$id'=> 'newfileid',
'$id' => ID::custom('newfileid'),
'chunksTotal' => $file['size'] / $chunkSize,
'chunksUploaded' => $start / $chunkSize
]);
@@ -293,17 +322,17 @@ App::post('/v1/mock/tests/general/upload')
$file['tmp_name'] = (\is_array($file['tmp_name'])) ? $file['tmp_name'][0] : $file['tmp_name'];
$file['name'] = (\is_array($file['name'])) ? $file['name'][0] : $file['name'];
$file['size'] = (\is_array($file['size'])) ? $file['size'][0] : $file['size'];
if ($file['name'] !== 'file.png') {
throw new Exception('Wrong file name', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Wrong file name');
}
if ($file['size'] !== 38756) {
throw new Exception('Wrong file size', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Wrong file size');
}
if (\md5(\file_get_contents($file['tmp_name'])) !== 'd80e7e6999a3eb2ae0d631a96fe135a4') {
throw new Exception('Wrong file uploaded', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Wrong file uploaded');
}
}
});
@@ -321,8 +350,7 @@ App::get('/v1/mock/tests/general/redirect')
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (Response $response) {
$response->redirect('/v1/mock/tests/general/redirect/done');
});
@@ -356,9 +384,7 @@ App::get('/v1/mock/tests/general/set-cookie')
->label('sdk.mock', true)
->inject('response')
->inject('request')
->action(function ($response, $request) {
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Utopia\Request $request */
->action(function (Response $response, Request $request) {
$response->addCookie('cookieName', 'cookieValue', \time() + 31536000, '/', $request->getHostname(), true, true);
});
@@ -376,11 +402,10 @@ App::get('/v1/mock/tests/general/get-cookie')
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->inject('request')
->action(function ($request) {
/** @var Appwrite\Utopia\Request $request */
->action(function (Request $request) {
if ($request->getCookie('cookieName', '') !== 'cookieValue') {
throw new Exception('Missing cookie value', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Missing cookie value');
}
});
@@ -396,12 +421,40 @@ App::get('/v1/mock/tests/general/empty')
->label('sdk.response.model', Response::MODEL_NONE)
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (Response $response) {
$response->noContent();
});
/** Endpoint to test if required headers are sent from the SDK */
App::get('/v1/mock/tests/general/headers')
->desc('Get headers')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'general')
->label('sdk.method', 'headers')
->label('sdk.description', 'Return headers from the request')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->inject('request')
->inject('response')
->action(function (Request $request, Response $response) {
$res = [
'x-sdk-name' => $request->getHeader('x-sdk-name'),
'x-sdk-platform' => $request->getHeader('x-sdk-platform'),
'x-sdk-language' => $request->getHeader('x-sdk-language'),
'x-sdk-version' => $request->getHeader('x-sdk-version'),
];
$res = array_map(function ($key, $value) {
return $key . ': ' . $value;
}, array_keys($res), $res);
$res = implode("; ", $res);
$response->dynamic(new Document(['result' => $res]), Response::MODEL_MOCK);
});
App::get('/v1/mock/tests/general/400-error')
->desc('400 Error')
->groups(['mock'])
@@ -415,7 +468,7 @@ App::get('/v1/mock/tests/general/400-error')
->label('sdk.response.model', Response::MODEL_ERROR)
->label('sdk.mock', true)
->action(function () {
throw new Exception('Mock 400 error', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Mock 400 error');
});
App::get('/v1/mock/tests/general/500-error')
@@ -431,7 +484,7 @@ App::get('/v1/mock/tests/general/500-error')
->label('sdk.response.model', Response::MODEL_ERROR)
->label('sdk.mock', true)
->action(function () {
throw new Exception('Mock 500 error', 500, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Mock 500 error', 500);
});
App::get('/v1/mock/tests/general/502-error')
@@ -447,8 +500,7 @@ App::get('/v1/mock/tests/general/502-error')
->label('sdk.response.model', Response::MODEL_ANY)
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (Response $response) {
$response
->setStatusCode(502)
@@ -467,10 +519,9 @@ App::get('/v1/mock/tests/general/oauth2')
->param('scope', '', new Text(100), 'OAuth2 scope list.')
->param('state', '', new Text(1024), 'OAuth2 state.')
->inject('response')
->action(function ($client_id, $redirectURI, $scope, $state, $response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (string $client_id, string $redirectURI, string $scope, string $state, Response $response) {
$response->redirect($redirectURI.'?'.\http_build_query(['code' => 'abcdef', 'state' => $state]));
$response->redirect($redirectURI . '?' . \http_build_query(['code' => 'abcdef', 'state' => $state]));
});
App::get('/v1/mock/tests/general/oauth2/token')
@@ -486,15 +537,14 @@ App::get('/v1/mock/tests/general/oauth2/token')
->param('code', '', new Text(100), 'OAuth2 state.', true)
->param('refresh_token', '', new Text(100), 'OAuth2 refresh token.', true)
->inject('response')
->action(function ($client_id, $client_secret, $grantType, $redirectURI, $code, $refreshToken, $response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (string $client_id, string $client_secret, string $grantType, string $redirectURI, string $code, string $refreshToken, Response $response) {
if ($client_id != '1') {
throw new Exception('Invalid client ID', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Invalid client ID');
}
if ($client_secret != '123456') {
throw new Exception('Invalid client secret', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Invalid client secret');
}
$responseJson = [
@@ -503,20 +553,20 @@ App::get('/v1/mock/tests/general/oauth2/token')
'expires_in' => 14400
];
if($grantType === 'authorization_code') {
if ($grantType === 'authorization_code') {
if ($code !== 'abcdef') {
throw new Exception('Invalid token', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Invalid token');
}
$response->json($responseJson);
} else if($grantType === 'refresh_token') {
} elseif ($grantType === 'refresh_token') {
if ($refreshToken !== 'tuvwxyz') {
throw new Exception('Invalid refresh token', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Invalid refresh token');
}
$response->json($responseJson);
} else {
throw new Exception('Invalid grant type', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Invalid grant type');
}
});
@@ -527,11 +577,10 @@ App::get('/v1/mock/tests/general/oauth2/user')
->label('docs', false)
->param('token', '', new Text(100), 'OAuth2 Access Token.')
->inject('response')
->action(function ($token, $response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (string $token, Response $response) {
if ($token != '123456') {
throw new Exception('Invalid token', 400, Exception::GENERAL_MOCK);
throw new Exception(Exception::GENERAL_MOCK, 'Invalid token');
}
$response->json([
@@ -547,8 +596,7 @@ App::get('/v1/mock/tests/general/oauth2/success')
->label('scope', 'public')
->label('docs', false)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (Response $response) {
$response->json([
'result' => 'success',
@@ -561,8 +609,7 @@ App::get('/v1/mock/tests/general/oauth2/failure')
->label('scope', 'public')
->label('docs', false)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (Response $response) {
$response
->setStatusCode(Response::STATUS_CODE_BAD_REQUEST)
@@ -571,27 +618,29 @@ App::get('/v1/mock/tests/general/oauth2/failure')
]);
});
App::shutdown(function($utopia, $response, $request) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Utopia\Request $request */
/** @var Appwrite\Utopia\Response $response */
App::shutdown()
->groups(['mock'])
->inject('utopia')
->inject('response')
->inject('request')
->action(function (App $utopia, Response $response, Request $request) {
$result = [];
$route = $utopia->match($request);
$path = APP_STORAGE_CACHE.'/tests.json';
$tests = (\file_exists($path)) ? \json_decode(\file_get_contents($path), true) : [];
if (!\is_array($tests)) {
throw new Exception('Failed to read results', 500, Exception::GENERAL_MOCK);
}
$result = [];
$route = $utopia->match($request);
$path = APP_STORAGE_CACHE . '/tests.json';
$tests = (\file_exists($path)) ? \json_decode(\file_get_contents($path), true) : [];
$result[$route->getMethod() . ':' . $route->getPath()] = true;
if (!\is_array($tests)) {
throw new Exception(Exception::GENERAL_MOCK, 'Failed to read results', 500);
}
$tests = \array_merge($tests, $result);
$result[$route->getMethod() . ':' . $route->getPath()] = true;
if (!\file_put_contents($path, \json_encode($tests), LOCK_EX)) {
throw new Exception('Failed to save results', 500, Exception::GENERAL_MOCK);
}
$tests = \array_merge($tests, $result);
$response->dynamic(new Document(['result' => $route->getMethod() . ':' . $route->getPath() . ':passed']), Response::MODEL_MOCK);
}, ['utopia', 'response', 'request'], 'mock');
if (!\file_put_contents($path, \json_encode($tests), LOCK_EX)) {
throw new Exception(Exception::GENERAL_MOCK, 'Failed to save results', 500);
}
$response->dynamic(new Document(['result' => $route->getMethod() . ':' . $route->getPath() . ':passed']), Response::MODEL_MOCK);
});
+490 -237
View File
@@ -1,270 +1,523 @@
<?php
use Appwrite\Auth\Auth;
use Appwrite\Event\Audit;
use Appwrite\Event\Database as EventDatabase;
use Appwrite\Event\Delete;
use Appwrite\Event\Event;
use Appwrite\Event\Func;
use Appwrite\Event\Mail;
use Appwrite\Messaging\Adapter\Realtime;
use Appwrite\Usage\Stats;
use Appwrite\Utopia\Response;
use Appwrite\Utopia\Request;
use Utopia\App;
use Appwrite\Extend\Exception;
use Utopia\Abuse\Abuse;
use Utopia\Abuse\Adapters\TimeLimit;
use Utopia\Cache\Adapter\Filesystem;
use Utopia\Cache\Cache;
use Utopia\CLI\Console;
use Utopia\Database\Database;
use Utopia\Database\DateTime;
use Utopia\Database\Document;
use Utopia\Database\Validator\Authorization;
App::init(function ($utopia, $request, $response, $project, $user, $events, $audits, $mails, $usage, $deletes, $database, $dbForProject, $mode) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Utopia\Request $request */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Database\Document $project */
/** @var Utopia\Database\Document $user */
/** @var Utopia\Registry\Registry $register */
/** @var Appwrite\Event\Event $events */
/** @var Appwrite\Event\Audit $audits */
/** @var Appwrite\Event\Mail $mails */
/** @var Appwrite\Stats\Stats $usage */
/** @var Appwrite\Event\Event $deletes */
/** @var Appwrite\Event\Event $database */
/** @var Appwrite\Event\Event $functions */
/** @var Utopia\Database\Database $dbForProject */
$parseLabel = function (string $label, array $responsePayload, array $requestParams, Document $user) {
preg_match_all('/{(.*?)}/', $label, $matches);
foreach ($matches[1] ?? [] as $pos => $match) {
$find = $matches[0][$pos];
$parts = explode('.', $match);
$route = $utopia->match($request);
if (count($parts) !== 2) {
throw new Exception('Too less or too many parts', 400, Exception::GENERAL_ARGUMENT_INVALID);
}
if ($project->isEmpty() && $route->getLabel('abuse-limit', 0) > 0) { // Abuse limit requires an active project scope
throw new Exception('Missing or unknown project ID', 400, Exception::PROJECT_UNKNOWN);
$namespace = $parts[0] ?? '';
$replace = $parts[1] ?? '';
$params = match ($namespace) {
'user' => (array)$user,
'request' => $requestParams,
default => $responsePayload,
};
if (array_key_exists($replace, $params)) {
$label = \str_replace($find, $params[$replace], $label);
}
}
return $label;
};
$databaseListener = function (string $event, Document $document, Stats $usage) {
$multiplier = 1;
if ($event === Database::EVENT_DOCUMENT_DELETE) {
$multiplier = -1;
}
/*
* Abuse Check
*/
$abuseKeyLabel = $route->getLabel('abuse-key', 'url:{url},ip:{ip}');
$timeLimitArray = [];
$collection = $document->getCollection();
switch ($collection) {
case 'users':
$usage->setParam('users.{scope}.count.total', 1 * $multiplier);
break;
case 'databases':
$usage->setParam('databases.{scope}.count.total', 1 * $multiplier);
break;
case 'buckets':
$usage->setParam('buckets.{scope}.count.total', 1 * $multiplier);
break;
case 'deployments':
$usage->setParam('deployments.{scope}.storage.size', $document->getAttribute('size') * $multiplier);
break;
default:
if (strpos($collection, 'bucket_') === 0) {
$usage
->setParam('bucketId', $document->getAttribute('bucketId'))
->setParam('files.{scope}.storage.size', $document->getAttribute('sizeOriginal') * $multiplier)
->setParam('files.{scope}.count.total', 1 * $multiplier);
} elseif (strpos($collection, 'database_') === 0) {
$usage
->setParam('databaseId', $document->getAttribute('databaseId'));
if (strpos($collection, '_collection_') !== false) {
$usage
->setParam('collectionId', $document->getAttribute('$collectionId'))
->setParam('documents.{scope}.count.total', 1 * $multiplier);
} else {
$usage->setParam('collections.{scope}.count.total', 1 * $multiplier);
}
}
break;
}
};
$abuseKeyLabel = (!is_array($abuseKeyLabel)) ? [$abuseKeyLabel] : $abuseKeyLabel;
App::init()
->groups(['api'])
->inject('utopia')
->inject('request')
->inject('response')
->inject('project')
->inject('user')
->inject('events')
->inject('audits')
->inject('mails')
->inject('usage')
->inject('deletes')
->inject('database')
->inject('dbForProject')
->inject('mode')
->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Event $events, Audit $audits, Mail $mails, Stats $usage, Delete $deletes, EventDatabase $database, Database $dbForProject, string $mode) use ($databaseListener) {
foreach ($abuseKeyLabel as $abuseKey) {
$timeLimit = new TimeLimit($abuseKey, $route->getLabel('abuse-limit', 0), $route->getLabel('abuse-time', 3600), $dbForProject);
$timeLimit
$route = $utopia->match($request);
if ($project->isEmpty() && $route->getLabel('abuse-limit', 0) > 0) { // Abuse limit requires an active project scope
throw new Exception(Exception::PROJECT_UNKNOWN);
}
/*
* Abuse Check
*/
$abuseKeyLabel = $route->getLabel('abuse-key', 'url:{url},ip:{ip}');
$timeLimitArray = [];
$abuseKeyLabel = (!is_array($abuseKeyLabel)) ? [$abuseKeyLabel] : $abuseKeyLabel;
foreach ($abuseKeyLabel as $abuseKey) {
$timeLimit = new TimeLimit($abuseKey, $route->getLabel('abuse-limit', 0), $route->getLabel('abuse-time', 3600), $dbForProject);
$timeLimit
->setParam('{userId}', $user->getId())
->setParam('{userAgent}', $request->getUserAgent(''))
->setParam('{ip}', $request->getIP())
->setParam('{url}', $request->getHostname().$route->getPath());
$timeLimitArray[] = $timeLimit;
}
->setParam('{url}', $request->getHostname() . $route->getPath())
->setParam('{method}', $request->getMethod());
$timeLimitArray[] = $timeLimit;
}
$closestLimit = null;
$closestLimit = null;
$roles = Authorization::getRoles();
$isPrivilegedUser = Auth::isPrivilegedUser($roles);
$isAppUser = Auth::isAppUser($roles);
$roles = Authorization::getRoles();
$isPrivilegedUser = Auth::isPrivilegedUser($roles);
$isAppUser = Auth::isAppUser($roles);
foreach ($timeLimitArray as $timeLimit) {
foreach ($request->getParams() as $key => $value) { // Set request params as potential abuse keys
if(!empty($value)) {
$timeLimit->setParam('{param-'.$key.'}', (\is_array($value)) ? \json_encode($value) : $value);
foreach ($timeLimitArray as $timeLimit) {
foreach ($request->getParams() as $key => $value) { // Set request params as potential abuse keys
if (!empty($value)) {
$timeLimit->setParam('{param-' . $key . '}', (\is_array($value)) ? \json_encode($value) : $value);
}
}
$abuse = new Abuse($timeLimit);
$remaining = $timeLimit->remaining();
$limit = $timeLimit->limit();
$time = (new \DateTime($timeLimit->time()))->getTimestamp() + $route->getLabel('abuse-time', 3600);
if ($limit && ($remaining < $closestLimit || is_null($closestLimit))) {
$closestLimit = $remaining;
$response
->addHeader('X-RateLimit-Limit', $limit)
->addHeader('X-RateLimit-Remaining', $remaining)
->addHeader('X-RateLimit-Reset', $time)
;
}
$enabled = App::getEnv('_APP_OPTIONS_ABUSE', 'enabled') !== 'disabled';
if (
$enabled // Abuse is enabled
&& !$isAppUser // User is not API key
&& !$isPrivilegedUser // User is not an admin
&& $abuse->check() // Route is rate-limited
) {
throw new Exception(Exception::GENERAL_RATE_LIMIT_EXCEEDED);
}
}
$abuse = new Abuse($timeLimit);
if ($timeLimit->limit() && ($timeLimit->remaining() < $closestLimit || is_null($closestLimit))) {
$closestLimit = $timeLimit->remaining();
$response
->addHeader('X-RateLimit-Limit', $timeLimit->limit())
->addHeader('X-RateLimit-Remaining', $timeLimit->remaining())
->addHeader('X-RateLimit-Reset', $timeLimit->time() + $route->getLabel('abuse-time', 3600))
;
}
if ((App::getEnv('_APP_OPTIONS_ABUSE', 'enabled') !== 'disabled' // Route is rate-limited
&& $abuse->check()) // Abuse is not disabled
&& (!$isAppUser && !$isPrivilegedUser)) // User is not an admin or API key
{
throw new Exception('Too many requests', 429, Exception::GENERAL_RATE_LIMIT_EXCEEDED);
}
}
/*
* Background Jobs
*/
$events
->setEvent($route->getLabel('event', ''))
->setProject($project)
->setUser($user)
;
$mails
->setProject($project)
->setUser($user)
;
$audits
->setMode($mode)
->setUserAgent($request->getUserAgent(''))
->setIP($request->getIP())
->setEvent($route->getLabel('event', ''))
->setProject($project)
->setUser($user)
;
$usage
->setParam('projectId', $project->getId())
->setParam('httpRequest', 1)
->setParam('httpUrl', $request->getHostname().$request->getURI())
->setParam('httpMethod', $request->getMethod())
->setParam('httpPath', $route->getPath())
->setParam('networkRequestSize', 0)
->setParam('networkResponseSize', 0)
->setParam('storage', 0)
;
$deletes->setProject($project);
$database->setProject($project);
}, ['utopia', 'request', 'response', 'project', 'user', 'events', 'audits', 'mails', 'usage', 'deletes', 'database', 'dbForProject', 'mode'], 'api');
App::init(function ($utopia, $request, $project) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Utopia\Request $request */
/** @var Utopia\Database\Document $project */
$route = $utopia->match($request);
$isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles());
$isAppUser = Auth::isAppUser(Authorization::getRoles());
if($isAppUser || $isPrivilegedUser) { // Skip limits for app and console devs
return;
}
$auths = $project->getAttribute('auths', []);
switch ($route->getLabel('auth.type', '')) {
case 'emailPassword':
if(($auths['emailPassword'] ?? true) === false) {
throw new Exception('Email / Password authentication is disabled for this project', 501, Exception::USER_AUTH_METHOD_UNSUPPORTED);
}
break;
case 'magic-url':
if($project->getAttribute('usersAuthMagicURL', true) === false) {
throw new Exception('Magic URL authentication is disabled for this project', 501, Exception::USER_AUTH_METHOD_UNSUPPORTED);
}
break;
case 'anonymous':
if(($auths['anonymous'] ?? true) === false) {
throw new Exception('Anonymous authentication is disabled for this project', 501, Exception::USER_AUTH_METHOD_UNSUPPORTED);
}
break;
case 'invites':
if(($auths['invites'] ?? true) === false) {
throw new Exception('Invites authentication is disabled for this project', 501, Exception::USER_AUTH_METHOD_UNSUPPORTED);
}
break;
case 'jwt':
if(($auths['JWT'] ?? true) === false) {
throw new Exception('JWT authentication is disabled for this project', 501, Exception::USER_AUTH_METHOD_UNSUPPORTED);
}
break;
default:
throw new Exception('Unsupported authentication route', 501, Exception::USER_AUTH_METHOD_UNSUPPORTED);
break;
}
}, ['utopia', 'request', 'project'], 'auth');
App::shutdown(function ($utopia, $request, $response, $project, $events, $audits, $usage, $deletes, $database, $mode, $dbForProject) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Utopia\Request $request */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Database\Document $project */
/** @var Appwrite\Event\Event $events */
/** @var Appwrite\Event\Audit $audits */
/** @var Appwrite\Stats\Stats $usage */
/** @var Appwrite\Event\Delete $deletes */
/** @var Appwrite\Event\Database $database */
/** @var bool $mode */
/** @var Utopia\Database\Database $dbForProject */
if (!empty($events->getEvent())) {
if (empty($events->getPayload())) {
$events->setPayload($response->getPayload());
}
/**
* Trigger functions.
*/
/*
* Background Jobs
*/
$events
->setClass(Event::FUNCTIONS_CLASS_NAME)
->setQueue(Event::FUNCTIONS_QUEUE_NAME)
->trigger();
->setEvent($route->getLabel('event', ''))
->setProject($project)
->setUser($user);
/**
* Trigger webhooks.
*/
$events
->setClass(Event::WEBHOOK_CLASS_NAME)
->setQueue(Event::WEBHOOK_QUEUE_NAME)
->trigger();
$mails
->setProject($project)
->setUser($user);
/**
* Trigger realtime.
*/
if ($project->getId() !== 'console') {
$allEvents = Event::generateEvents($events->getEvent(), $events->getParams());
$payload = new Document($events->getPayload());
$context = $events->getContext() ?? false;
$collection = ($context && $context->getCollection() === 'collections') ? $context : null;
$bucket = ($context && $context->getCollection() === 'buckets') ? $context : null;
$target = Realtime::fromPayload(
// Pass first, most verbose event pattern
event: $allEvents[0],
payload: $payload,
project: $project,
collection: $collection,
bucket: $bucket,
);
Realtime::send(
projectId: $target['projectId'] ?? $project->getId(),
payload: $events->getPayload(),
events: $allEvents,
channels: $target['channels'],
roles: $target['roles'],
options: [
'permissionsChanged' => $target['permissionsChanged'],
'userId' => $events->getParam('userId')
]
);
}
}
if (!empty($audits->getResource())) {
foreach ($events->getParams() as $key => $value) {
$audits->setParam($key, $value);
}
$audits->trigger();
}
if (!empty($deletes->getType())) {
$deletes->trigger();
}
if (!empty($database->getType())) {
$database->trigger();
}
$route = $utopia->match($request);
if (App::getEnv('_APP_USAGE_STATS', 'enabled') == 'enabled'
&& $project->getId()
&& $mode !== APP_MODE_ADMIN // TODO: add check to make sure user is admin
&& !empty($route->getLabel('sdk.namespace', null))) { // Don't calculate console usage on admin mode
$audits
->setMode($mode)
->setUserAgent($request->getUserAgent(''))
->setIP($request->getIP())
->setEvent($route->getLabel('audits.event', ''))
->setProject($project)
->setUser($user);
$usage
->setParam('networkRequestSize', $request->getSize() + $usage->getParam('storage'))
->setParam('networkResponseSize', $response->getSize())
->submit();
}
->setParam('projectInternalId', $project->getInternalId())
->setParam('projectId', $project->getId())
->setParam('project.{scope}.network.requests', 1)
->setParam('httpMethod', $request->getMethod())
->setParam('project.{scope}.network.inbound', 0)
->setParam('project.{scope}.network.outbound', 0);
}, ['utopia', 'request', 'response', 'project', 'events', 'audits', 'usage', 'deletes', 'database', 'mode', 'dbForProject'], 'api');
$deletes->setProject($project);
$database->setProject($project);
$dbForProject->on(Database::EVENT_DOCUMENT_CREATE, fn ($event, Document $document) => $databaseListener($event, $document, $usage));
$dbForProject->on(Database::EVENT_DOCUMENT_DELETE, fn ($event, Document $document) => $databaseListener($event, $document, $usage));
$useCache = $route->getLabel('cache', false);
if ($useCache) {
$key = md5($request->getURI() . implode('*', $request->getParams())) . '*' . APP_CACHE_BUSTER;
$cache = new Cache(
new Filesystem(APP_STORAGE_CACHE . DIRECTORY_SEPARATOR . 'app-' . $project->getId())
);
$timestamp = 60 * 60 * 24 * 30;
$data = $cache->load($key, $timestamp);
if (!empty($data)) {
$data = json_decode($data, true);
$parts = explode('/', $data['resourceType']);
$type = $parts[0] ?? null;
if ($type === 'bucket') {
$bucketId = $parts[1] ?? null;
$bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId));
if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && $mode !== APP_MODE_ADMIN)) {
throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND);
}
$fileSecurity = $bucket->getAttribute('fileSecurity', false);
$validator = new Authorization(Database::PERMISSION_READ);
$valid = $validator->isValid($bucket->getRead());
if (!$fileSecurity && !$valid) {
throw new Exception(Exception::USER_UNAUTHORIZED);
}
$parts = explode('/', $data['resource']);
$fileId = $parts[1] ?? null;
if ($fileSecurity && !$valid) {
$file = $dbForProject->getDocument('bucket_' . $bucket->getInternalId(), $fileId);
} else {
$file = Authorization::skip(fn() => $dbForProject->getDocument('bucket_' . $bucket->getInternalId(), $fileId));
}
if ($file->isEmpty()) {
throw new Exception(Exception::STORAGE_FILE_NOT_FOUND);
}
}
$response
->addHeader('Expires', \date('D, d M Y H:i:s', \time() + $timestamp) . ' GMT')
->addHeader('X-Appwrite-Cache', 'hit')
->setContentType($data['contentType'])
->send(base64_decode($data['payload']))
;
$route->setIsActive(false);
} else {
$response->addHeader('X-Appwrite-Cache', 'miss');
}
}
});
App::init()
->groups(['auth'])
->inject('utopia')
->inject('request')
->inject('project')
->action(function (App $utopia, Request $request, Document $project) {
$route = $utopia->match($request);
$isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles());
$isAppUser = Auth::isAppUser(Authorization::getRoles());
if ($isAppUser || $isPrivilegedUser) { // Skip limits for app and console devs
return;
}
$auths = $project->getAttribute('auths', []);
switch ($route->getLabel('auth.type', '')) {
case 'emailPassword':
if (($auths['emailPassword'] ?? true) === false) {
throw new Exception(Exception::USER_AUTH_METHOD_UNSUPPORTED, 'Email / Password authentication is disabled for this project');
}
break;
case 'magic-url':
if ($project->getAttribute('usersAuthMagicURL', true) === false) {
throw new Exception(Exception::USER_AUTH_METHOD_UNSUPPORTED, 'Magic URL authentication is disabled for this project');
}
break;
case 'anonymous':
if (($auths['anonymous'] ?? true) === false) {
throw new Exception(Exception::USER_AUTH_METHOD_UNSUPPORTED, 'Anonymous authentication is disabled for this project');
}
break;
case 'invites':
if (($auths['invites'] ?? true) === false) {
throw new Exception(Exception::USER_AUTH_METHOD_UNSUPPORTED, 'Invites authentication is disabled for this project');
}
break;
case 'jwt':
if (($auths['JWT'] ?? true) === false) {
throw new Exception(Exception::USER_AUTH_METHOD_UNSUPPORTED, 'JWT authentication is disabled for this project');
}
break;
default:
throw new Exception(Exception::USER_AUTH_METHOD_UNSUPPORTED, 'Unsupported authentication route');
break;
}
});
App::shutdown()
->groups(['api'])
->inject('utopia')
->inject('request')
->inject('response')
->inject('project')
->inject('events')
->inject('audits')
->inject('usage')
->inject('deletes')
->inject('database')
->inject('mode')
->inject('dbForProject')
->inject('queueForFunctions')
->action(function (App $utopia, Request $request, Response $response, Document $project, Event $events, Audit $audits, Stats $usage, Delete $deletes, EventDatabase $database, string $mode, Database $dbForProject, Func $queueForFunctions) use ($parseLabel) {
$responsePayload = $response->getPayload();
if (!empty($events->getEvent())) {
if (empty($events->getPayload())) {
$events->setPayload($responsePayload);
}
/**
* Trigger functions.
*/
$queueForFunctions
->from($events)
->trigger();
/**
* Trigger webhooks.
*/
$events
->setClass(Event::WEBHOOK_CLASS_NAME)
->setQueue(Event::WEBHOOK_QUEUE_NAME)
->trigger();
/**
* Trigger realtime.
*/
if ($project->getId() !== 'console') {
$allEvents = Event::generateEvents($events->getEvent(), $events->getParams());
$payload = new Document($events->getPayload());
$db = $events->getContext('database');
$collection = $events->getContext('collection');
$bucket = $events->getContext('bucket');
$target = Realtime::fromPayload(
// Pass first, most verbose event pattern
event: $allEvents[0],
payload: $payload,
project: $project,
database: $db,
collection: $collection,
bucket: $bucket,
);
Realtime::send(
projectId: $target['projectId'] ?? $project->getId(),
payload: $events->getPayload(),
events: $allEvents,
channels: $target['channels'],
roles: $target['roles'],
options: [
'permissionsChanged' => $target['permissionsChanged'],
'userId' => $events->getParam('userId')
]
);
}
}
$route = $utopia->match($request);
$requestParams = $route->getParamsValues();
$user = $audits->getUser();
/**
* Audit labels
*/
$pattern = $route->getLabel('audits.resource', null);
if (!empty($pattern)) {
$resource = $parseLabel($pattern, $responsePayload, $requestParams, $user);
if (!empty($resource) && $resource !== $pattern) {
$audits->setResource($resource);
}
}
$pattern = $route->getLabel('audits.userId', null);
if (!empty($pattern)) {
$userId = $parseLabel($pattern, $responsePayload, $requestParams, $user);
$user = $dbForProject->getDocument('users', $userId);
$audits->setUser($user);
}
if (!empty($audits->getResource()) && !empty($audits->getUser()->getId())) {
/**
* audits.payload is switched to default true
* in order to auto audit payload for all endpoints
*/
$pattern = $route->getLabel('audits.payload', true);
if (!empty($pattern)) {
$audits->setPayload($responsePayload);
}
foreach ($events->getParams() as $key => $value) {
$audits->setParam($key, $value);
}
$audits->trigger();
}
if (!empty($deletes->getType())) {
$deletes->trigger();
}
if (!empty($database->getType())) {
$database->trigger();
}
/**
* Cache label
*/
$useCache = $route->getLabel('cache', false);
if ($useCache) {
$resource = $resourceType = null;
$data = $response->getPayload();
if (!empty($data['payload'])) {
$pattern = $route->getLabel('cache.resource', null);
if (!empty($pattern)) {
$resource = $parseLabel($pattern, $responsePayload, $requestParams, $user);
}
$pattern = $route->getLabel('cache.resourceType', null);
if (!empty($pattern)) {
$resourceType = $parseLabel($pattern, $responsePayload, $requestParams, $user);
}
$key = md5($request->getURI() . implode('*', $request->getParams())) . '*' . APP_CACHE_BUSTER;
$data = json_encode([
'resourceType' => $resourceType,
'resource' => $resource,
'contentType' => $response->getContentType(),
'payload' => base64_encode($data['payload']),
]) ;
$signature = md5($data);
$cacheLog = Authorization::skip(fn () => $dbForProject->getDocument('cache', $key));
$accessedAt = $cacheLog->getAttribute('accessedAt', '');
$now = DateTime::now();
if ($cacheLog->isEmpty()) {
Authorization::skip(fn () => $dbForProject->createDocument('cache', new Document([
'$id' => $key,
'resource' => $resource,
'accessedAt' => $now,
'signature' => $signature,
])));
} elseif (DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -APP_CACHE_UPDATE)) > $accessedAt) {
$cacheLog->setAttribute('accessedAt', $now);
Authorization::skip(fn () => $dbForProject->updateDocument('cache', $cacheLog->getId(), $cacheLog));
}
if ($signature !== $cacheLog->getAttribute('signature')) {
$cache = new Cache(
new Filesystem(APP_STORAGE_CACHE . DIRECTORY_SEPARATOR . 'app-' . $project->getId())
);
$cache->save($key, $data);
}
}
}
if (
App::getEnv('_APP_USAGE_STATS', 'enabled') == 'enabled'
&& $project->getId()
&& !empty($route->getLabel('sdk.namespace', null))
) { // Don't calculate console usage on admin mode
$metric = $route->getLabel('usage.metric', '');
$usageParams = $route->getLabel('usage.params', []);
if (!empty($metric)) {
$usage->setParam($metric, 1);
foreach ($usageParams as $param) {
$param = $parseLabel($param, $responsePayload, $requestParams, $user);
$parts = explode(':', $param);
if (count($parts) != 2) {
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Usage params not properly set');
}
$usage->setParam($parts[0], $parts[1]);
}
}
$fileSize = 0;
$file = $request->getFiles('file');
if (!empty($file)) {
$fileSize = (\is_array($file['size']) && isset($file['size'][0])) ? $file['size'][0] : $file['size'];
}
$usage
->setParam('project.{scope}.network.inbound', $request->getSize() + $fileSize)
->setParam('project.{scope}.network.outbound', $response->getSize())
->submit();
}
});
-60
View File
@@ -1,60 +0,0 @@
<?php
use Utopia\App;
use Utopia\Config\Config;
App::init(function ($utopia, $request, $response, $layout) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Utopia\Request $request */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Utopia\View $layout */
/* AJAX check */
if (!empty($request->getQuery('version', ''))) {
$layout->setPath(__DIR__ . '/../../views/layouts/empty.phtml');
}
$port = $request->getPort();
$protocol = $request->getProtocol();
$domain = $request->getHostname();
$layout
->setParam('title', APP_NAME)
->setParam('protocol', $protocol)
->setParam('domain', $domain)
->setParam('endpoint', $protocol . '://' . $domain . ($port != 80 && $port != 443 ? ':' . $port : ''))
->setParam('home', App::getEnv('_APP_HOME'))
->setParam('setup', App::getEnv('_APP_SETUP'))
->setParam('class', 'unknown')
->setParam('icon', '/images/favicon.png')
->setParam('roles', [
['type' => 'owner', 'label' => 'Owner'],
['type' => 'developer', 'label' => 'Developer'],
['type' => 'admin', 'label' => 'Admin'],
])
->setParam('runtimes', Config::getParam('runtimes'))
->setParam('mode', App::getMode())
;
$time = (60 * 60 * 24 * 45); // 45 days cache
$response
->addHeader('Cache-Control', 'public, max-age=' . $time)
->addHeader('Expires', \date('D, d M Y H:i:s', \time() + $time) . ' GMT') // 45 days cache
->addHeader('X-Frame-Options', 'SAMEORIGIN') // Avoid console and homepage from showing in iframes
->addHeader('X-XSS-Protection', '1; mode=block; report=/v1/xss?url=' . \urlencode($request->getURI()))
->addHeader('X-UA-Compatible', 'IE=Edge') // Deny IE browsers from going into quirks mode
;
$route = $utopia->match($request);
$route->label('error', __DIR__.'/../../views/general/error.phtml');
$scope = $route->getLabel('scope', '');
$layout
->setParam('version', App::getEnv('_APP_VERSION', 'UNKNOWN'))
->setParam('isDev', App::isDevelopment())
->setParam('class', $scope)
;
}, ['utopia', 'request', 'response', 'layout'], 'web');
+48 -484
View File
@@ -1,497 +1,61 @@
<?php
use Appwrite\Extend\Exception;
use Appwrite\Utopia\View;
use Appwrite\Utopia\Request;
use Appwrite\Utopia\Response;
use Utopia\App;
use Utopia\Config\Config;
use Utopia\Domains\Domain;
use Utopia\Database\Validator\UID;
use Utopia\Storage\Storage;
App::init(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$layout
->setParam('description', 'Appwrite Console allows you to easily manage, monitor, and control your entire backend API and tools.')
->setParam('analytics', 'UA-26264668-5')
;
}, ['layout'], 'console');
App::shutdown(function ($response, $layout) {
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Utopia\View $layout */
$header = new View(__DIR__.'/../../views/console/comps/header.phtml');
$footer = new View(__DIR__.'/../../views/console/comps/footer.phtml');
$footer
->setParam('home', App::getEnv('_APP_HOME', ''))
->setParam('version', App::getEnv('_APP_VERSION', 'UNKNOWN'))
;
$layout
->setParam('header', [$header])
->setParam('footer', [$footer])
;
$response->html($layout->render());
}, ['response', 'layout'], 'console');
App::get('/error/:code')
->groups(['web', 'console'])
App::get('/console/*')
->alias('/')
->alias('auth/*')
->alias('/invite')
->alias('/login')
->alias('/recover')
->alias('/register/*')
->groups(['web'])
->label('permission', 'public')
->label('scope', 'home')
->param('code', null, new \Utopia\Validator\Numeric(), 'Valid status code number', false)
->inject('layout')
->action(function ($code, $layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/error.phtml');
$page
->setParam('code', $code)
;
$layout
->setParam('title', APP_NAME.' - Error')
->setParam('body', $page);
});
App::get('/console')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/index.phtml');
$page
->setParam('home', App::getEnv('_APP_HOME', ''))
;
$layout
->setParam('title', APP_NAME.' - Console')
->setParam('body', $page);
});
App::get('/console/account')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/account/index.phtml');
$cc = new View(__DIR__.'/../../views/console/forms/credit-card.phtml');
$page
->setParam('cc', $cc)
;
$layout
->setParam('title', 'Account - '.APP_NAME)
->setParam('body', $page);
});
App::get('/console/notifications')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/v1/console/notifications/index.phtml');
$layout
->setParam('title', APP_NAME.' - Notifications')
->setParam('body', $page);
});
App::get('/console/home')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/home/index.phtml');
$page
->setParam('usageStatsEnabled',App::getEnv('_APP_USAGE_STATS','enabled') == 'enabled');
$layout
->setParam('title', APP_NAME.' - Console')
->setParam('body', $page);
});
App::get('/console/settings')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$target = new Domain(App::getEnv('_APP_DOMAIN_TARGET', ''));
$page = new View(__DIR__.'/../../views/console/settings/index.phtml');
$page
->setParam('services', array_filter(Config::getParam('services'), function($element) {return $element['optional'];}))
->setParam('customDomainsEnabled', ($target->isKnown() && !$target->isTest()))
->setParam('customDomainsTarget', $target->get())
->setParam('smtpEnabled', (!empty(App::getEnv('_APP_SMTP_HOST'))))
;
$layout
->setParam('title', APP_NAME.' - Settings')
->setParam('body', $page);
});
App::get('/console/webhooks')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/webhooks/index.phtml');
$page->setParam('events', Config::getParam('events', []));
$layout
->setParam('title', APP_NAME.' - Webhooks')
->setParam('body', $page);
});
App::get('/console/webhooks/webhook')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->param('id', '', new UID(), 'Webhook unique ID.')
->inject('layout')
->action(function ($id, $layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/webhooks/webhook.phtml');
$page
->setParam('events', Config::getParam('events', []))
->setParam('new', false)
;
$layout
->setParam('title', APP_NAME.' - Webhooks')
->setParam('body', $page);
});
App::get('/console/webhooks/webhook/new')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/webhooks/webhook.phtml');
$page
->setParam('events', Config::getParam('events', []))
->setParam('new', true)
;
$layout
->setParam('title', APP_NAME.' - Webhooks')
->setParam('body', $page);
});
App::get('/console/keys')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$scopes = array_keys(Config::getParam('scopes'));
$page = new View(__DIR__.'/../../views/console/keys/index.phtml');
$page->setParam('scopes', $scopes);
$layout
->setParam('title', APP_NAME.' - API Keys')
->setParam('body', $page);
});
App::get('/console/database')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/database/index.phtml');
$layout
->setParam('title', APP_NAME.' - Database')
->setParam('body', $page);
});
App::get('/console/database/collection')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->param('id', '', new UID(), 'Collection unique ID.')
->inject('request')
->inject('response')
->inject('layout')
->action(function ($id, $response, $layout) {
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Utopia\View $layout */
->action(function (Request $request, Response $response) {
$fallback = file_get_contents(__DIR__ . '/../../../console/index.html');
$logs = new View(__DIR__.'/../../views/console/comps/logs.phtml');
// Card SSR
if (\str_starts_with($request->getURI(), '/card')) {
$urlCunks = \explode('/', $request->getURI());
$userId = $urlCunks[\count($urlCunks) - 1] ?? '';
$logs
->setParam('interval', App::getEnv('_APP_MAINTENANCE_RETENTION_AUDIT', 0))
->setParam('method', 'database.listCollectionLogs')
->setParam('params', [
'collection-id' => '{{router.params.id}}',
])
;
$domain = $request->getProtocol() . '://' . $request->getHostname();
$page = new View(__DIR__.'/../../views/console/database/collection.phtml');
$page->setParam('logs', $logs);
$layout
->setParam('title', APP_NAME.' - Database Collection')
->setParam('body', $page)
;
$response
->addHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0')
->addHeader('Expires', 0)
->addHeader('Pragma', 'no-cache')
;
});
App::get('/console/database/document')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->param('collection', '', new UID(), 'Collection unique ID.')
->inject('layout')
->action(function ($collection, $layout) {
/** @var Appwrite\Utopia\View $layout */
$logs = new View(__DIR__.'/../../views/console/comps/logs.phtml');
$logs
->setParam('interval', App::getEnv('_APP_MAINTENANCE_RETENTION_AUDIT', 0))
->setParam('method', 'database.listDocumentLogs')
->setParam('params', [
'collection-id' => '{{router.params.collection}}',
'document-id' => '{{router.params.id}}',
])
;
$page = new View(__DIR__.'/../../views/console/database/document.phtml');
$page
->setParam('new', false)
->setParam('collection', $collection)
->setParam('logs', $logs)
;
$layout
->setParam('title', APP_NAME.' - Database Document')
->setParam('body', $page);
});
App::get('/console/database/document/new')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->param('collection', '', new UID(), 'Collection unique ID.')
->inject('layout')
->action(function ($collection, $layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/database/document.phtml');
$page
->setParam('new', true)
->setParam('collection', $collection)
->setParam('logs', new View())
;
$layout
->setParam('title', APP_NAME.' - Database Document')
->setParam('body', $page);
});
App::get('/console/storage')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/storage/index.phtml');
$page
->setParam('home', App::getEnv('_APP_HOME', 0))
->setParam('fileLimit', App::getEnv('_APP_STORAGE_LIMIT', 0))
->setParam('fileLimitHuman', Storage::human(App::getEnv('_APP_STORAGE_LIMIT', 0)))
;
$layout
->setParam('title', APP_NAME.' - Storage')
->setParam('body', $page);
});
App::get('/console/storage/bucket')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->param('id', '', new UID(), 'Bucket unique ID.')
->inject('response')
->inject('layout')
->action(function ($id, $response, $layout) {
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/storage/bucket.phtml');
$page
->setParam('home', App::getEnv('_APP_HOME', 0))
->setParam('fileLimit', App::getEnv('_APP_STORAGE_LIMIT', 0))
->setParam('fileLimitHuman', Storage::human(App::getEnv('_APP_STORAGE_LIMIT', 0)))
;
$layout
->setParam('title', APP_NAME.' - Storage Buckets')
->setParam('body', $page)
;
$response
->addHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0')
->addHeader('Expires', 0)
->addHeader('Pragma', 'no-cache')
;
});
App::get('/console/users')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/users/index.phtml');
$page
->setParam('auth', Config::getParam('auth'))
->setParam('providers', Config::getParam('providers'))
->setParam('smtpEnabled', (!empty(App::getEnv('_APP_SMTP_HOST'))))
;
$layout
->setParam('title', APP_NAME.' - Users')
->setParam('body', $page);
});
App::get('/console/users/user')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/users/user.phtml');
$layout
->setParam('title', APP_NAME.' - User')
->setParam('body', $page);
});
App::get('/console/users/teams/team')
->groups(['web', 'console'])
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/console/users/team.phtml');
$layout
->setParam('title', APP_NAME.' - Team')
->setParam('body', $page);
});
App::get('/console/functions')
->groups(['web', 'console'])
->desc('Platform console project functions')
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
$page = new View(__DIR__.'/../../views/console/functions/index.phtml');
$page
->setParam('runtimes', Config::getParam('runtimes'))
;
$layout
->setParam('title', APP_NAME.' - Functions')
->setParam('body', $page);
});
App::get('/console/functions/function')
->groups(['web', 'console'])
->desc('Platform console project function')
->label('permission', 'public')
->label('scope', 'console')
->inject('layout')
->action(function ($layout) {
$page = new View(__DIR__.'/../../views/console/functions/function.phtml');
$page
->setParam('events', Config::getParam('events', []))
->setParam('fileLimit', App::getEnv('_APP_STORAGE_LIMIT', 0))
->setParam('fileLimitHuman', Storage::human(App::getEnv('_APP_STORAGE_LIMIT', 0)))
->setParam('timeout', (int) App::getEnv('_APP_FUNCTIONS_TIMEOUT', 900))
->setParam('usageStatsEnabled',App::getEnv('_APP_USAGE_STATS','enabled') == 'enabled');
;
$layout
->setParam('title', APP_NAME.' - Function')
->setParam('body', $page);
});
App::get('/console/version')
->groups(['web', 'console'])
->desc('Check for new version')
->label('permission', 'public')
->label('scope', 'console')
->inject('response')
->action(function ($response) {
try {
$version = \json_decode(@\file_get_contents(App::getEnv('_APP_HOME', 'http://localhost').'/v1/health/version'), true);
if ($version && isset($version['version'])) {
return $response->json(['version' => $version['version']]);
if (!empty($userId)) {
$ogImageUrl = $domain . '/v1/cards/cloud-og?userId=' . $userId;
} else {
throw new Exception('Failed to check for a newer version', 500, Exception::GENERAL_SERVER_ERROR);
$ogImageUrl = $domain . '/v1/cards/cloud-og?mock=normal';
}
} catch (\Throwable $th) {
throw new Exception('Failed to check for a newer version', 500, Exception::GENERAL_SERVER_ERROR);
$ogTags = [
'<title>Appwrite Cloud Card</title>',
'<meta name="description" content="Appwrite Cloud is now LIVE! Share your Cloud card for a chance to win an exclusive Cloud hoodie!">',
'<meta property="og:url" content="' . $domain . $request->getURI() . '">',
'<meta name="og:image:type" content="image/png">',
'<meta name="og:image:width" content="1008">',
'<meta name="og:image:height" content="1008">',
'<meta property="og:type" content="website">',
'<meta property="og:title" content="Appwrite Cloud Card">',
'<meta property="og:description" content="Appwrite Cloud is now LIVE! Share your Cloud card for a chance to win an exclusive Cloud hoodie!">',
'<meta property="og:image" content="' . $ogImageUrl . '">',
'<meta name="twitter:card" content="summary_large_image">',
'<meta property="twitter:domain" content="' . $request->getHostname() . '">',
'<meta property="twitter:url" content="' . $domain . $request->getURI() . '">',
'<meta name="twitter:title" content="Appwrite Cloud Card">',
'<meta name="twitter:image:type" content="image/png">',
'<meta name="twitter:image:width" content="1008">',
'<meta name="twitter:image:height" content="1008">',
'<meta name="twitter:description" content="Appwrite Cloud is now LIVE! Share your Cloud card for a chance to win an exclusive Cloud hoodie!">',
'<meta name="twitter:image" content="' . $ogImageUrl . '">',
];
$fallback = \str_replace('<!-- {{CLOUD_OG}} -->', \implode('', $ogTags), $fallback);
}
});
$response->html($fallback);
});
+5 -242
View File
@@ -1,267 +1,30 @@
<?php
use Appwrite\Utopia\View;
use Appwrite\Utopia\Response;
use Utopia\App;
use Utopia\Config\Config;
App::init(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$header = new View(__DIR__.'/../../views/home/comps/header.phtml');
$footer = new View(__DIR__.'/../../views/home/comps/footer.phtml');
$footer
->setParam('version', App::getEnv('_APP_VERSION', 'UNKNOWN'))
;
$layout
->setParam('title', APP_NAME)
->setParam('description', '')
->setParam('class', 'home')
->setParam('platforms', Config::getParam('platforms'))
->setParam('header', [$header])
->setParam('footer', [$footer])
;
}, ['layout'], 'home');
App::shutdown(function ($response, $layout) {
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Utopia\View $layout */
$response->html($layout->render());
}, ['response', 'layout'], 'home');
App::get('/')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('response')
->inject('dbForConsole')
->inject('project')
->action(function ($response, $dbForConsole, $project) {
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Database\Database $dbForConsole */
/** @var Utopia\Database\Document $project */
$response
->addHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0')
->addHeader('Expires', 0)
->addHeader('Pragma', 'no-cache')
;
if ('console' === $project->getId() || $project->isEmpty()) {
$whitelistRoot = App::getEnv('_APP_CONSOLE_WHITELIST_ROOT', 'enabled');
if($whitelistRoot !== 'disabled') {
$count = $dbForConsole->count('users', [], 1);
if($count !== 0) {
return $response->redirect('/auth/signin');
}
}
}
$response->redirect('/auth/signup');
});
App::get('/auth/signin')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/signin.phtml');
$page
->setParam('root', App::getEnv('_APP_CONSOLE_WHITELIST_ROOT', 'enabled'))
;
$layout
->setParam('title', 'Sign In - '.APP_NAME)
->setParam('body', $page);
});
App::get('/auth/signup')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/signup.phtml');
$page
->setParam('root', App::getEnv('_APP_CONSOLE_WHITELIST_ROOT', 'enabled'))
;
$layout
->setParam('title', 'Sign Up - '.APP_NAME)
->setParam('body', $page);
});
App::get('/auth/recovery')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/recovery.phtml');
$page
->setParam('smtpEnabled', (!empty(App::getEnv('_APP_SMTP_HOST'))))
;
$layout
->setParam('title', 'Password Recovery - '.APP_NAME)
->setParam('body', $page);
});
App::get('/auth/confirm')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/confirm.phtml');
$layout
->setParam('title', 'Account Confirmation - '.APP_NAME)
->setParam('body', $page);
});
App::get('/auth/join')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/join.phtml');
$layout
->setParam('title', 'Invitation - '.APP_NAME)
->setParam('body', $page);
});
App::get('/auth/recovery/reset')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/recovery/reset.phtml');
$layout
->setParam('title', 'Password Reset - '.APP_NAME)
->setParam('body', $page);
});
App::get('/auth/oauth2/success')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/oauth2.phtml');
$layout
->setParam('title', APP_NAME)
->setParam('body', $page)
->setParam('header', [])
->setParam('footer', [])
;
});
App::get('/auth/magic-url')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/magicURL.phtml');
$layout
->setParam('title', APP_NAME)
->setParam('body', $page)
->setParam('header', [])
->setParam('footer', [])
;
});
App::get('/auth/oauth2/failure')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->inject('layout')
->action(function ($layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/home/auth/oauth2.phtml');
$layout
->setParam('title', APP_NAME)
->setParam('body', $page)
->setParam('header', [])
->setParam('footer', [])
;
});
App::get('/error/:code')
->groups(['web', 'home'])
->label('permission', 'public')
->label('scope', 'home')
->param('code', null, new \Utopia\Validator\Numeric(), 'Valid status code number', false)
->inject('layout')
->action(function ($code, $layout) {
/** @var Appwrite\Utopia\View $layout */
$page = new View(__DIR__.'/../../views/error.phtml');
$page
->setParam('code', $code)
;
$layout
->setParam('title', 'Error'.' - '.APP_NAME)
->setParam('body', $page);
});
App::get('/versions')
->desc('Get Version')
->groups(['web', 'home'])
->label('scope', 'public')
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
->action(function (Response $response) {
$platforms = Config::getParam('platforms');
$versions = [
'server' => APP_VERSION_STABLE,
];
foreach($platforms as $platform) {
foreach ($platforms as $platform) {
$languages = $platform['languages'] ?? [];
foreach ($languages as $key => $language) {
if(isset($language['dev']) && $language['dev']) {
if (isset($language['dev']) && $language['dev']) {
continue;
}
if(isset($language['enabled']) && !$language['enabled']) {
if (isset($language['enabled']) && !$language['enabled']) {
continue;
}
Binary file not shown.
-724
View File
@@ -1,724 +0,0 @@
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use Appwrite\Runtimes\Runtimes;
use Swoole\ConnectionPool;
use Swoole\Http\Request as SwooleRequest;
use Swoole\Http\Response as SwooleResponse;
use Swoole\Http\Server;
use Swoole\Process;
use Swoole\Runtime;
use Swoole\Timer;
use Utopia\App;
use Utopia\CLI\Console;
use Utopia\Logger\Log;
use Utopia\Logger\Logger;
use Utopia\Orchestration\Adapter\DockerCLI;
use Utopia\Orchestration\Orchestration;
use Utopia\Storage\Device;
use Utopia\Storage\Device\Local;
use Utopia\Storage\Device\DOSpaces;
use Utopia\Storage\Device\S3;
use Utopia\Storage\Storage;
use Utopia\Swoole\Request;
use Utopia\Swoole\Response;
use Utopia\Validator\ArrayList;
use Utopia\Validator\Assoc;
use Utopia\Validator\Boolean;
use Utopia\Validator\Range;
use Utopia\Validator\Text;
Runtime::enableCoroutine(true, SWOOLE_HOOK_ALL);
/** Constants */
const MAINTENANCE_INTERVAL = 3600; // 3600 seconds = 1 hour
/**
* Create a Swoole table to store runtime information
*/
$activeRuntimes = new Swoole\Table(1024);
$activeRuntimes->column('id', Swoole\Table::TYPE_STRING, 256);
$activeRuntimes->column('created', Swoole\Table::TYPE_INT, 8);
$activeRuntimes->column('updated', Swoole\Table::TYPE_INT, 8);
$activeRuntimes->column('name', Swoole\Table::TYPE_STRING, 128);
$activeRuntimes->column('status', Swoole\Table::TYPE_STRING, 128);
$activeRuntimes->column('key', Swoole\Table::TYPE_STRING, 256);
$activeRuntimes->create();
/**
* Create orchestration pool
*/
$orchestrationPool = new ConnectionPool(function () {
$dockerUser = App::getEnv('DOCKERHUB_PULL_USERNAME', null);
$dockerPass = App::getEnv('DOCKERHUB_PULL_PASSWORD', null);
$orchestration = new Orchestration(new DockerCLI($dockerUser, $dockerPass));
return $orchestration;
}, 10);
/**
* Create logger instance
*/
$providerName = App::getEnv('_APP_LOGGING_PROVIDER', '');
$providerConfig = App::getEnv('_APP_LOGGING_CONFIG', '');
$logger = null;
if(!empty($providerName) && !empty($providerConfig) && Logger::hasProvider($providerName)) {
$classname = '\\Utopia\\Logger\\Adapter\\'.\ucfirst($providerName);
$adapter = new $classname($providerConfig);
$logger = new Logger($adapter);
}
function logError(Throwable $error, string $action, Utopia\Route $route = null)
{
global $logger;
if ($logger) {
$version = App::getEnv('_APP_VERSION', 'UNKNOWN');
$log = new Log();
$log->setNamespace("executor");
$log->setServer(\gethostname());
$log->setVersion($version);
$log->setType(Log::TYPE_ERROR);
$log->setMessage($error->getMessage());
if ($route) {
$log->addTag('method', $route->getMethod());
$log->addTag('url', $route->getPath());
}
$log->addTag('code', $error->getCode());
$log->addTag('verboseType', get_class($error));
$log->addExtra('file', $error->getFile());
$log->addExtra('line', $error->getLine());
$log->addExtra('trace', $error->getTraceAsString());
$log->addExtra('detailedTrace', $error->getTrace());
$log->setAction($action);
$isProduction = App::getEnv('_APP_ENV', 'development') === 'production';
$log->setEnvironment($isProduction ? Log::ENVIRONMENT_PRODUCTION : Log::ENVIRONMENT_STAGING);
$responseCode = $logger->addLog($log);
Console::info('Executor log pushed with status code: ' . $responseCode);
}
Console::error('[Error] Type: ' . get_class($error));
Console::error('[Error] Message: ' . $error->getMessage());
Console::error('[Error] File: ' . $error->getFile());
Console::error('[Error] Line: ' . $error->getLine());
};
function getStorageDevice($root): Device {
switch (App::getEnv('_APP_STORAGE_DEVICE', Storage::DEVICE_LOCAL)) {
case Storage::DEVICE_LOCAL:default:
return new Local($root);
case Storage::DEVICE_S3:
$s3AccessKey = App::getEnv('_APP_STORAGE_S3_ACCESS_KEY', '');
$s3SecretKey = App::getEnv('_APP_STORAGE_S3_SECRET', '');
$s3Region = App::getEnv('_APP_STORAGE_S3_REGION', '');
$s3Bucket = App::getEnv('_APP_STORAGE_S3_BUCKET', '');
$s3Acl = 'private';
return new S3($root, $s3AccessKey, $s3SecretKey, $s3Bucket, $s3Region, $s3Acl);
case Storage::DEVICE_DO_SPACES:
$doSpacesAccessKey = App::getEnv('_APP_STORAGE_DO_SPACES_ACCESS_KEY', '');
$doSpacesSecretKey = App::getEnv('_APP_STORAGE_DO_SPACES_SECRET', '');
$doSpacesRegion = App::getEnv('_APP_STORAGE_DO_SPACES_REGION', '');
$doSpacesBucket = App::getEnv('_APP_STORAGE_DO_SPACES_BUCKET', '');
$doSpacesAcl = 'private';
return new DOSpaces($root, $doSpacesAccessKey, $doSpacesSecretKey, $doSpacesBucket, $doSpacesRegion, $doSpacesAcl);
}
}
App::post('/v1/runtimes')
->desc("Create a new runtime server")
->param('runtimeId', '', new Text(64), 'Unique runtime ID.')
->param('source', '', new Text(0), 'Path to source files.')
->param('destination', '', new Text(0), 'Destination folder to store build files into.', true)
->param('vars', [], new Assoc(), 'Environment Variables required for the build.')
->param('commands', [], new ArrayList(new Text(1024), 100), 'Commands required to build the container. Maximum of 100 commands are allowed, each 1024 characters long.')
->param('runtime', '', new Text(128), 'Runtime for the cloud function.')
->param('baseImage', '', new Text(128), 'Base image name of the runtime.')
->param('entrypoint', '', new Text(256), 'Entrypoint of the code file.', true)
->param('remove', false, new Boolean(), 'Remove a runtime after execution.')
->param('workdir', '', new Text(256), 'Working directory.', true)
->inject('orchestrationPool')
->inject('activeRuntimes')
->inject('response')
->action(function (string $runtimeId, string $source, string $destination, array $vars, array $commands, string $runtime, string $baseImage, string $entrypoint, bool $remove, string $workdir, $orchestrationPool, $activeRuntimes, Response $response) {
if ($activeRuntimes->exists($runtimeId)) {
throw new Exception('Runtime already exists.', 409);
}
$container = [];
$containerId = '';
$stdout = '';
$stderr = '';
$startTime = \time();
$endTime = 0;
$orchestration = $orchestrationPool->get();
try {
Console::info('Building container : ' . $runtimeId);
/**
* Temporary file paths in the executor
*/
$tmpSource = "/tmp/$runtimeId/src/code.tar.gz";
$tmpBuild = "/tmp/$runtimeId/builds/code.tar.gz";
/**
* Copy code files from source to a temporary location on the executor
*/
$sourceDevice = getStorageDevice("/");
$localDevice = new Local();
$buffer = $sourceDevice->read($source);
if(!$localDevice->write($tmpSource, $buffer)) {
throw new Exception('Failed to copy source code to temporary directory', 500);
};
/**
* Create the mount folder
*/
if (!\file_exists(\dirname($tmpBuild))) {
if (!@\mkdir(\dirname($tmpBuild), 0755, true)) {
throw new Exception("Failed to create temporary directory", 500);
}
}
/**
* Create container
*/
$secret = \bin2hex(\random_bytes(16));
$vars = \array_merge($vars, [
'INTERNAL_RUNTIME_KEY' => $secret,
'INTERNAL_RUNTIME_ENTRYPOINT' => $entrypoint,
]);
$vars = array_map(fn ($v) => strval($v), $vars);
$orchestration
->setCpus((int) App::getEnv('_APP_FUNCTIONS_CPUS', 0))
->setMemory((int) App::getEnv('_APP_FUNCTIONS_MEMORY', 0))
->setSwap((int) App::getEnv('_APP_FUNCTIONS_MEMORY_SWAP', 0));
/** Keep the container alive if we have commands to be executed */
$entrypoint = !empty($commands) ? [
'tail',
'-f',
'/dev/null'
] : [];
$containerId = $orchestration->run(
image: $baseImage,
name: $runtimeId,
hostname: $runtimeId,
vars: $vars,
command: $entrypoint,
labels: [
'openruntimes-id' => $runtimeId,
'openruntimes-type' => 'runtime',
'openruntimes-created' => strval($startTime),
'openruntimes-runtime' => $runtime,
],
workdir: $workdir,
volumes: [
\dirname($tmpSource). ':/tmp:rw',
\dirname($tmpBuild). ':/usr/code:rw'
]
);
if (empty($containerId)) {
throw new Exception('Failed to create build container', 500);
}
$orchestration->networkConnect($runtimeId, App::getEnv('OPEN_RUNTIMES_NETWORK', 'appwrite_runtimes'));
/**
* Execute any commands if they were provided
*/
if (!empty($commands)) {
$status = $orchestration->execute(
name: $runtimeId,
command: $commands,
stdout: $stdout,
stderr: $stderr,
timeout: App::getEnv('_APP_FUNCTIONS_BUILD_TIMEOUT', 900)
);
if (!$status) {
throw new Exception('Failed to build dependenices ' . $stderr, 500);
}
}
/**
* Move built code to expected build directory
*/
if (!empty($destination)) {
// Check if the build was successful by checking if file exists
if (!\file_exists($tmpBuild)) {
throw new Exception('Something went wrong during the build process', 500);
}
$destinationDevice = getStorageDevice($destination);
$outputPath = $destinationDevice->getPath(\uniqid() . '.' . \pathinfo('code.tar.gz', PATHINFO_EXTENSION));
$buffer = $localDevice->read($tmpBuild);
if(!$destinationDevice->write($outputPath, $buffer, $localDevice->getFileMimeType($tmpBuild))) {
throw new Exception('Failed to move built code to storage', 500);
};
$container['outputPath'] = $outputPath;
}
if (empty($stdout)) {
$stdout = 'Build Successful!';
}
$endTime = \time();
$container = array_merge($container, [
'status' => 'ready',
'response' => \mb_strcut($stdout, 0, 1000000), // Limit to 1MB
'stderr' => \mb_strcut($stderr, 0, 1000000), // Limit to 1MB
'startTime' => $startTime,
'endTime' => $endTime,
'duration' => $endTime - $startTime,
]);
if (!$remove) {
$activeRuntimes->set($runtimeId, [
'id' => $containerId,
'name' => $runtimeId,
'created' => $startTime,
'updated' => $endTime,
'status' => 'Up ' . \round($endTime - $startTime, 2) . 's',
'key' => $secret,
]);
}
Console::success('Build Stage completed in ' . ($endTime - $startTime) . ' seconds');
} catch (Throwable $th) {
Console::error('Build failed: ' . $th->getMessage() . $stdout);
throw new Exception($th->getMessage() . $stdout, 500);
} finally {
// Container cleanup
if($remove) {
if (!empty($containerId)) {
// If container properly created
$orchestration->remove($containerId, true);
} else {
// If whole creation failed, but container might have been initialized
try {
// Try to remove with contaier name instead of ID
$orchestration->remove($runtimeId, true);
} catch (Throwable $th) {
// If fails, means initialization also failed.
// Contianer is not there, no need to remove
}
}
}
// Release orchestration back to pool, we are done with it
$orchestrationPool->put($orchestration);
}
$response
->setStatusCode(Response::STATUS_CODE_CREATED)
->json($container);
});
App::get('/v1/runtimes')
->desc("List currently active runtimes")
->inject('activeRuntimes')
->inject('response')
->action(function ($activeRuntimes, Response $response) {
$runtimes = [];
foreach($activeRuntimes as $runtime) {
$runtimes[] = $runtime;
}
$response
->setStatusCode(Response::STATUS_CODE_OK)
->json($runtimes);
});
App::get('/v1/runtimes/:runtimeId')
->desc("Get a runtime by its ID")
->param('runtimeId', '', new Text(64), 'Runtime unique ID.')
->inject('activeRuntimes')
->inject('response')
->action(function ($runtimeId, $activeRuntimes, Response $response) {
if(!$activeRuntimes->exists($runtimeId)) {
throw new Exception('Runtime not found', 404);
}
$runtime = $activeRuntimes->get($runtimeId);
$response
->setStatusCode(Response::STATUS_CODE_OK)
->json($runtime);
});
App::delete('/v1/runtimes/:runtimeId')
->desc('Delete a runtime')
->param('runtimeId', '', new Text(64), 'Runtime unique ID.', false)
->inject('orchestrationPool')
->inject('activeRuntimes')
->inject('response')
->action(function (string $runtimeId, $orchestrationPool, $activeRuntimes, Response $response) {
if(!$activeRuntimes->exists($runtimeId)) {
throw new Exception('Runtime not found', 404);
}
Console::info('Deleting runtime: ' . $runtimeId);
try {
$orchestration = $orchestrationPool->get();
$orchestration->remove($runtimeId, true);
$activeRuntimes->del($runtimeId);
Console::success('Removed runtime container: ' . $runtimeId);
} finally {
$orchestrationPool->put($orchestration);
}
// Remove all the build containers with that same ID
// TODO:: Delete build containers
// foreach ($buildIds as $buildId) {
// try {
// Console::info('Deleting build container : ' . $buildId);
// $status = $orchestration->remove('build-' . $buildId, true);
// } catch (Throwable $th) {
// Console::error($th->getMessage());
// }
// }
$response
->setStatusCode(Response::STATUS_CODE_OK)
->send();
});
App::post('/v1/execution')
->desc('Create an execution')
->param('runtimeId', '', new Text(64), 'The runtimeID to execute.')
->param('vars', [], new Assoc(), 'Environment variables required for the build.')
->param('data', '{}', new Text(8192), 'Data to be forwarded to the function, this is user specified.', true)
->param('timeout', 15, new Range(1, (int) App::getEnv('_APP_FUNCTIONS_TIMEOUT', 900)), 'Function maximum execution time in seconds.')
->inject('activeRuntimes')
->inject('response')
->action(
function (string $runtimeId, array $vars, string $data, $timeout, $activeRuntimes, Response $response) {
if (!$activeRuntimes->exists($runtimeId)) {
throw new Exception('Runtime not found. Please create the runtime.', 404);
}
$runtime = $activeRuntimes->get($runtimeId);
$secret = $runtime['key'];
if (empty($secret)) {
throw new Exception('Runtime secret not found. Please re-create the runtime.', 500);
}
Console::info('Executing Runtime: ' . $runtimeId);
$execution = [];
$executionStart = \microtime(true);
$stdout = '';
$stderr = '';
$statusCode = 0;
$errNo = -1;
$executorResponse = '';
$timeout ??= (int) App::getEnv('_APP_FUNCTIONS_TIMEOUT', 900);
$ch = \curl_init();
$body = \json_encode([
'env' => $vars,
'payload' => $data,
'timeout' => $timeout
]);
\curl_setopt($ch, CURLOPT_URL, "http://" . $runtimeId . ":3000/");
\curl_setopt($ch, CURLOPT_POST, true);
\curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
\curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
\curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
\curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
\curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . \strlen($body),
'x-internal-challenge: ' . $secret,
'host: null'
]);
$executorResponse = \curl_exec($ch);
$statusCode = \curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = \curl_error($ch);
$errNo = \curl_errno($ch);
\curl_close($ch);
switch (true) {
/** No Error. */
case $errNo === 0:
break;
/** Runtime not ready for requests yet. 111 is the swoole error code for Connection Refused - see https://openswoole.com/docs/swoole-error-code */
case $errNo === 111:
throw new Exception('An internal curl error has occurred within the executor! Error Msg: ' . $error, 406);
/** Any other CURL error */
default:
throw new Exception('An internal curl error has occurred within the executor! Error Msg: ' . $error, 500);
}
switch (true) {
case $statusCode >= 500:
$stderr = $executorResponse ?? 'Internal Runtime error.';
break;
case $statusCode >= 100:
$stdout = $executorResponse;
break;
default:
$stderr = $executorResponse ?? 'Execution failed.';
break;
}
$executionEnd = \microtime(true);
$executionTime = ($executionEnd - $executionStart);
$functionStatus = ($statusCode >= 500) ? 'failed' : 'completed';
Console::success('Function executed in ' . $executionTime . ' seconds, status: ' . $functionStatus);
$execution = [
'status' => $functionStatus,
'statusCode' => $statusCode,
'response' => \mb_strcut($stdout, 0, 1000000), // Limit to 1MB
'stderr' => \mb_strcut($stderr, 0, 1000000), // Limit to 1MB
'time' => $executionTime,
];
/** Update swoole table */
$runtime['updated'] = \time();
$activeRuntimes->set($runtimeId, $runtime);
$response
->setStatusCode(Response::STATUS_CODE_OK)
->json($execution);
}
);
App::setMode(App::MODE_TYPE_PRODUCTION); // Define Mode
$http = new Server("0.0.0.0", 80);
/** Set Resources */
App::setResource('orchestrationPool', fn() => $orchestrationPool);
App::setResource('activeRuntimes', fn() => $activeRuntimes);
/** Set callbacks */
App::error(function ($utopia, $error, $request, $response) {
$route = $utopia->match($request);
logError($error, "httpError", $route);
switch ($error->getCode()) {
case 400: // Error allowed publicly
case 401: // Error allowed publicly
case 402: // Error allowed publicly
case 403: // Error allowed publicly
case 404: // Error allowed publicly
case 406: // Error allowed publicly
case 409: // Error allowed publicly
case 412: // Error allowed publicly
case 425: // Error allowed publicly
case 429: // Error allowed publicly
case 501: // Error allowed publicly
case 503: // Error allowed publicly
$code = $error->getCode();
break;
default:
$code = 500; // All other errors get the generic 500 server error status code
}
$output = [
'message' => $error->getMessage(),
'code' => $error->getCode(),
'file' => $error->getFile(),
'line' => $error->getLine(),
'trace' => $error->getTrace(),
'version' => App::getEnv('_APP_VERSION', 'UNKNOWN')
];
$response
->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate')
->addHeader('Expires', '0')
->addHeader('Pragma', 'no-cache')
->setStatusCode($code);
$response->json($output);
}, ['utopia', 'error', 'request', 'response']);
App::init(function ($request, $response) {
$secretKey = $request->getHeader('x-appwrite-executor-key', '');
if (empty($secretKey)) {
throw new Exception('Missing executor key', 401);
}
if ($secretKey !== App::getEnv('_APP_EXECUTOR_SECRET', '')) {
throw new Exception('Missing executor key', 401);
}
}, ['request', 'response']);
$http->on('start', function ($http) {
global $orchestrationPool;
global $activeRuntimes;
/**
* Warmup: make sure images are ready to run fast 🚀
*/
$runtimes = new Runtimes('v1');
$allowList = empty(App::getEnv('_APP_FUNCTIONS_RUNTIMES')) ? [] : \explode(',', App::getEnv('_APP_FUNCTIONS_RUNTIMES'));
$runtimes = $runtimes->getAll(true, $allowList);
foreach ($runtimes as $runtime) {
go(function () use ($runtime, $orchestrationPool) {
try {
$orchestration = $orchestrationPool->get();
Console::info('Warming up ' . $runtime['name'] . ' ' . $runtime['version'] . ' environment...');
$response = $orchestration->pull($runtime['image']);
if ($response) {
Console::success("Successfully Warmed up {$runtime['name']} {$runtime['version']}!");
} else {
Console::warning("Failed to Warmup {$runtime['name']} {$runtime['version']}!");
}
} catch (\Throwable $th) {
} finally {
$orchestrationPool->put($orchestration);
}
});
}
/**
* Remove residual runtimes
*/
Console::info('Removing orphan runtimes...');
try {
$orchestration = $orchestrationPool->get();
$orphans = $orchestration->list(['label' => 'openruntimes-type=runtime']);
} finally {
$orchestrationPool->put($orchestration);
}
foreach ($orphans as $runtime) {
go(function () use ($runtime, $orchestrationPool) {
try {
$orchestration = $orchestrationPool->get();
$orchestration->remove($runtime->getName(), true);
Console::success("Successfully removed {$runtime->getName()}");
} catch (\Throwable $th) {
Console::error('Orphan runtime deletion failed: ' . $th->getMessage());
} finally {
$orchestrationPool->put($orchestration);
}
});
}
/**
* Register handlers for shutdown
*/
@Process::signal(SIGINT, function () use ($http) {
$http->shutdown();
});
@Process::signal(SIGQUIT, function () use ($http) {
$http->shutdown();
});
@Process::signal(SIGKILL, function () use ($http) {
$http->shutdown();
});
@Process::signal(SIGTERM, function () use ($http) {
$http->shutdown();
});
/**
* Run a maintenance worker every MAINTENANCE_INTERVAL seconds to remove inactive runtimes
*/
Timer::tick(MAINTENANCE_INTERVAL * 1000, function () use ($orchestrationPool, $activeRuntimes) {
Console::warning("Running maintenance task ...");
foreach ($activeRuntimes as $runtime) {
$inactiveThreshold = \time() - App::getEnv('_APP_FUNCTIONS_INACTIVE_THRESHOLD', 60);
if ($runtime['updated'] < $inactiveThreshold) {
go(function () use ($runtime, $orchestrationPool, $activeRuntimes) {
try {
$orchestration = $orchestrationPool->get();
$orchestration->remove($runtime['name'], true);
$activeRuntimes->del($runtime['name']);
Console::success("Successfully removed {$runtime['name']}");
} catch (\Throwable $th) {
Console::error('Inactive Runtime deletion failed: ' . $th->getMessage());
} finally {
$orchestrationPool->put($orchestration);
}
});
}
}
});
});
$http->on('beforeShutdown', function() {
global $orchestrationPool;
Console::info('Cleaning up containers before shutdown...');
$orchestration = $orchestrationPool->get();
$functionsToRemove = $orchestration->list(['label' => 'openruntimes-type=runtime']);
$orchestrationPool->put($orchestration);
foreach ($functionsToRemove as $container) {
go(function () use ($orchestrationPool, $container) {
try {
$orchestration = $orchestrationPool->get();
$orchestration->remove($container->getId(), true);
Console::info('Removed container ' . $container->getName());
} catch (\Throwable $th) {
Console::error('Failed to remove container: ' . $container->getName());
} finally {
$orchestrationPool->put($orchestration);
}
});
}
});
$http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swooleResponse) {
$request = new Request($swooleRequest);
$response = new Response($swooleResponse);
$app = new App('UTC');
try {
$app->run($request, $response);
} catch (\Throwable $th) {
logError($th, "serverError");
$swooleResponse->setStatusCode(500);
$output = [
'message' => 'Error: '. $th->getMessage(),
'code' => 500,
'file' => $th->getFile(),
'line' => $th->getLine(),
'trace' => $th->getTrace()
];
$swooleResponse->end(\json_encode($output));
}
});
$http->start();
+82 -93
View File
@@ -1,6 +1,6 @@
<?php
require_once __DIR__.'/../vendor/autoload.php';
require_once __DIR__ . '/../vendor/autoload.php';
use Appwrite\Utopia\Response;
use Swoole\Process;
@@ -10,6 +10,9 @@ use Swoole\Http\Response as SwooleResponse;
use Utopia\App;
use Utopia\CLI\Console;
use Utopia\Config\Config;
use Utopia\Database\ID;
use Utopia\Database\Permission;
use Utopia\Database\Role;
use Utopia\Database\Validator\Authorization;
use Utopia\Audit\Audit;
use Utopia\Abuse\Adapters\TimeLimit;
@@ -19,12 +22,12 @@ use Utopia\Swoole\Files;
use Appwrite\Utopia\Request;
use Utopia\Logger\Log;
use Utopia\Logger\Log\User;
use Utopia\Pools\Group;
$http = new Server("0.0.0.0", App::getEnv('PORT', 80));
$payloadSize = 6 * (1024 * 1024); // 6MB
$workerNumber = swoole_cpu_num() * intval(App::getEnv('_APP_WORKER_PER_CORE', 6));
$http
->set([
'worker_num' => $workerNumber,
@@ -35,29 +38,31 @@ $http
'http_compression_level' => 6,
'package_max_length' => $payloadSize,
'buffer_output_size' => $payloadSize,
])
;
]);
$http->on('WorkerStart', function($server, $workerId) {
Console::success('Worker '.++$workerId.' started successfully');
$http->on('WorkerStart', function ($server, $workerId) {
Console::success('Worker ' . ++$workerId . ' started successfully');
});
$http->on('BeforeReload', function($server, $workerId) {
$http->on('BeforeReload', function ($server, $workerId) {
Console::success('Starting reload...');
});
$http->on('AfterReload', function($server, $workerId) {
$http->on('AfterReload', function ($server, $workerId) {
Console::success('Reload completed...');
});
Files::load(__DIR__ . '/../public');
Files::load(__DIR__ . '/../console');
include __DIR__ . '/controllers/general.php';
$http->on('start', function (Server $http) use ($payloadSize, $register) {
$app = new App('UTC');
go(function() use ($register, $app) {
go(function () use ($register, $app) {
$pools = $register->get('pools'); /** @var Group $pools */
App::setResource('pools', fn() => $pools);
// wait for database to be ready
$attempts = 0;
$max = 10;
@@ -66,42 +71,28 @@ $http->on('start', function (Server $http) use ($payloadSize, $register) {
do {
try {
$attempts++;
$db = $register->get('dbPool')->get();
$redis = $register->get('redisPool')->get();
$dbForConsole = $app->getResource('dbForConsole'); /** @var Utopia\Database\Database $dbForConsole */
break; // leave the do-while if successful
} catch(\Exception $e) {
} catch (\Exception $e) {
Console::warning("Database not ready. Retrying connection ({$attempts})...");
if ($attempts >= $max) {
throw new \Exception('Failed to connect to database: '. $e->getMessage());
throw new \Exception('Failed to connect to database: ' . $e->getMessage());
}
sleep($sleep);
}
} while ($attempts < $max);
App::setResource('db', fn() => $db);
App::setResource('cache', fn() => $redis);
$dbForConsole = $app->getResource('dbForConsole'); /** @var Utopia\Database\Database $dbForConsole */
Console::success('[Setup] - Server database init started...');
$collections = Config::getParam('collections', []); /** @var array $collections */
if(!$dbForConsole->exists(App::getEnv('_APP_DB_SCHEMA', 'appwrite'))) {
$redis->flushAll();
Console::success('[Setup] - Creating database: appwrite...');
$dbForConsole->create(App::getEnv('_APP_DB_SCHEMA', 'appwrite'));
}
try {
Console::success('[Setup] - Creating metadata table: appwrite...');
$dbForConsole->createMetadata();
} catch (\Throwable $th) {
$cache = $app->getResource('cache'); /** @var Utopia\Cache\Cache $cache */
Console::success('[Setup] - Creating database: appwrite...');
$dbForConsole->create();
} catch (\Exception $e) {
Console::success('[Setup] - Skip: metadata table already exists');
}
if($dbForConsole->getCollection(Audit::COLLECTION)->isEmpty()) {
if ($dbForConsole->getCollection(Audit::COLLECTION)->isEmpty()) {
$audit = new Audit($dbForConsole);
$audit->setup();
}
@@ -111,13 +102,24 @@ $http->on('start', function (Server $http) use ($payloadSize, $register) {
$adapter->setup();
}
foreach ($collections as $key => $collection) {
if(($collection['$collection'] ?? '') !== Database::METADATA) {
/** @var array $collections */
$collections = Config::getParam('collections', []);
$consoleCollections = $collections['console'];
foreach ($consoleCollections as $key => $collection) {
if (($collection['$collection'] ?? '') !== Database::METADATA) {
continue;
}
if(!$dbForConsole->getCollection($key)->isEmpty()) {
if (!$dbForConsole->getCollection($key)->isEmpty()) {
continue;
}
/**
* Skip to prevent 0.16 migration issues.
*/
if (in_array($key, ['cache', 'variables']) && $dbForConsole->exists($dbForConsole->getDefaultDatabase(), 'bucket_1')) {
continue;
}
Console::success('[Setup] - Creating collection: ' . $collection['$id'] . '...');
$attributes = [];
@@ -125,7 +127,7 @@ $http->on('start', function (Server $http) use ($payloadSize, $register) {
foreach ($collection['attributes'] as $attribute) {
$attributes[] = new Document([
'$id' => $attribute['$id'],
'$id' => ID::custom($attribute['$id']),
'type' => $attribute['type'],
'size' => $attribute['size'],
'required' => $attribute['required'],
@@ -139,7 +141,7 @@ $http->on('start', function (Server $http) use ($payloadSize, $register) {
foreach ($collection['indexes'] as $index) {
$indexes[] = new Document([
'$id' => $index['$id'],
'$id' => ID::custom($index['$id']),
'type' => $index['type'],
'attributes' => $index['attributes'],
'lengths' => $index['lengths'],
@@ -150,39 +152,42 @@ $http->on('start', function (Server $http) use ($payloadSize, $register) {
$dbForConsole->createCollection($key, $attributes, $indexes);
}
if($dbForConsole->getDocument('buckets', 'default')->isEmpty()) {
if ($dbForConsole->getDocument('buckets', 'default')->isEmpty() && !$dbForConsole->exists($dbForConsole->getDefaultDatabase(), 'bucket_1')) {
Console::success('[Setup] - Creating default bucket...');
$dbForConsole->createDocument('buckets', new Document([
'$id' => 'default',
'$collection' => 'buckets',
'dateCreated' => \time(),
'dateUpdated' => \time(),
'$id' => ID::custom('default'),
'$collection' => ID::custom('buckets'),
'name' => 'Default',
'permission' => 'file',
'maximumFileSize' => (int) App::getEnv('_APP_STORAGE_LIMIT', 0), // 10MB
'allowedFileExtensions' => [],
'enabled' => true,
'compression' => 'gzip',
'encryption' => true,
'antivirus' => true,
'$read' => ['role:all'],
'$write' => ['role:all'],
'fileSecurity' => true,
'$permissions' => [
Permission::create(Role::any()),
Permission::read(Role::any()),
Permission::update(Role::any()),
Permission::delete(Role::any()),
],
'search' => 'buckets Default',
]));
$bucket = $dbForConsole->getDocument('buckets', 'default');
Console::success('[Setup] - Creating files collection for default bucket...');
$files = $collections['files'] ?? [];
if(empty($files)) {
$files = $collections['buckets']['files'] ?? [];
if (empty($files)) {
throw new Exception('Files collection is not configured.');
}
$attributes = [];
$indexes = [];
foreach ($files['attributes'] as $attribute) {
$attributes[] = new Document([
'$id' => $attribute['$id'],
'$id' => ID::custom($attribute['$id']),
'type' => $attribute['type'],
'size' => $attribute['size'],
'required' => $attribute['required'],
@@ -193,25 +198,26 @@ $http->on('start', function (Server $http) use ($payloadSize, $register) {
'format' => $attribute['format'] ?? ''
]);
}
foreach ($files['indexes'] as $index) {
$indexes[] = new Document([
'$id' => $index['$id'],
'$id' => ID::custom($index['$id']),
'type' => $index['type'],
'attributes' => $index['attributes'],
'lengths' => $index['lengths'],
'orders' => $index['orders'],
]);
}
$dbForConsole->createCollection('bucket_' . $bucket->getInternalId(), $attributes, $indexes);
}
$pools->reclaim();
Console::success('[Setup] - Server database init completed...');
});
Console::success('Server started successfully (max payload is '.number_format($payloadSize).' bytes)');
Console::success('Server started successfully (max payload is ' . number_format($payloadSize) . ' bytes)');
Console::info("Master pid {$http->master_pid}, manager pid {$http->manager_pid}");
// listen ctrl + c
@@ -225,41 +231,37 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
$request = new Request($swooleRequest);
$response = new Response($swooleResponse);
if(Files::isFileLoaded($request->getURI())) {
if (Files::isFileLoaded($request->getURI())) {
$time = (60 * 60 * 24 * 365 * 2); // 45 days cache
$response
->setContentType(Files::getFileMimeType($request->getURI()))
->addHeader('Cache-Control', 'public, max-age='.$time)
->addHeader('Expires', \date('D, d M Y H:i:s', \time() + $time).' GMT') // 45 days cache
->send(Files::getFileContents($request->getURI()))
;
->addHeader('Cache-Control', 'public, max-age=' . $time)
->addHeader('Expires', \date('D, d M Y H:i:s', \time() + $time) . ' GMT') // 45 days cache
->send(Files::getFileContents($request->getURI()));
return;
}
$app = new App('UTC');
$db = $register->get('dbPool')->get();
$redis = $register->get('redisPool')->get();
App::setResource('db', fn() => $db);
App::setResource('cache', fn() => $redis);
$pools = $register->get('pools');
App::setResource('pools', fn() => $pools);
try {
Authorization::cleanRoles();
Authorization::setRole('role:all');
Authorization::setRole(Role::any()->toString());
$app->run($request, $response);
} catch (\Throwable $th) {
$version = App::getEnv('_APP_VERSION', 'UNKNOWN');
$logger = $app->getResource("logger");
if($logger) {
if ($logger) {
try {
/** @var Utopia\Database\Document $user */
$user = $app->getResource('user');
} catch(\Throwable $_th) {
} catch (\Throwable $_th) {
// All good, user is optional information for logger
}
@@ -268,7 +270,7 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
$log = new Utopia\Logger\Log();
if(isset($user) && !$user->isEmpty()) {
if (isset($user) && !$user->isEmpty()) {
$log->setUser(new User($user->getId()));
}
@@ -279,7 +281,7 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
$log->setMessage($th->getMessage());
$log->addTag('method', $route->getMethod());
$log->addTag('url', $route->getPath());
$log->addTag('url', $route->getPath());
$log->addTag('verboseType', get_class($th));
$log->addTag('code', $th->getCode());
// $log->addTag('projectId', $project->getId()); // TODO: Figure out how to get ProjectID, if it becomes relevant
@@ -298,30 +300,23 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
$isProduction = App::getEnv('_APP_ENV', 'development') === 'production';
$log->setEnvironment($isProduction ? Log::ENVIRONMENT_PRODUCTION : Log::ENVIRONMENT_STAGING);
foreach($loggerBreadcrumbs as $loggerBreadcrumb) {
foreach ($loggerBreadcrumbs as $loggerBreadcrumb) {
$log->addBreadcrumb($loggerBreadcrumb);
}
$responseCode = $logger->addLog($log);
Console::info('Log pushed with status code: '.$responseCode);
Console::info('Log pushed with status code: ' . $responseCode);
}
Console::error('[Error] Type: '.get_class($th));
Console::error('[Error] Message: '.$th->getMessage());
Console::error('[Error] File: '.$th->getFile());
Console::error('[Error] Line: '.$th->getLine());
/**
* Reset Database connection if PDOException was thrown.
*/
if ($th instanceof PDOException) {
$db = null;
}
Console::error('[Error] Type: ' . get_class($th));
Console::error('[Error] Message: ' . $th->getMessage());
Console::error('[Error] File: ' . $th->getFile());
Console::error('[Error] Line: ' . $th->getLine());
$swooleResponse->setStatusCode(500);
$output = ((App::isDevelopment())) ? [
'message' => 'Error: '. $th->getMessage(),
'message' => 'Error: ' . $th->getMessage(),
'code' => 500,
'file' => $th->getFile(),
'line' => $th->getLine(),
@@ -335,14 +330,8 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
$swooleResponse->end(\json_encode($output));
} finally {
/** @var PDOPool $dbPool */
$dbPool = $register->get('dbPool');
$dbPool->put($db);
/** @var RedisPool $redisPool */
$redisPool = $register->get('redisPool');
$redisPool->put($redis);
$pools->reclaim();
}
});
$http->start();
$http->start();
+663 -344
View File
File diff suppressed because it is too large Load Diff
+12 -8
View File
@@ -2,27 +2,28 @@
/**
* Init
*
*
* Inializes both Appwrite API entry point, queue workers, and CLI tasks.
* Set configuration, framework resources, app constants
*
*
*/
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if (file_exists(__DIR__.'/../vendor/autoload.php')) {
require __DIR__.'/../vendor/autoload.php';
if (file_exists(__DIR__ . '/../vendor/autoload.php')) {
require __DIR__ . '/../vendor/autoload.php';
}
use Utopia\Preloader\Preloader;
include __DIR__.'/controllers/general.php';
include __DIR__ . '/controllers/general.php';
$preloader = new Preloader();
foreach ([
foreach (
[
realpath(__DIR__ . '/../vendor/composer'),
realpath(__DIR__ . '/../vendor/amphp'),
realpath(__DIR__ . '/../vendor/felixfbecker'),
@@ -34,8 +35,11 @@ foreach ([
realpath(__DIR__ . '/../vendor/symfony'),
realpath(__DIR__ . '/../vendor/mongodb'),
realpath(__DIR__ . '/../vendor/utopia-php/websocket'), // TODO: remove workerman autoload
] as $key => $value) {
if($value !== false) {
realpath(__DIR__ . '/../vendor/utopia-php/cache'), // TODO: remove memcached autoload
realpath(__DIR__ . '/../vendor/utopia-php/queue/src/Queue/Adapter/Workerman.php'), // TODO: remove workerman autoload
] as $key => $value
) {
if ($value !== false) {
$preloader->ignore($value);
}
}

Some files were not shown because too many files have changed in this diff Show More