appwrite-cli 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +41 -0
- package/Formula/appwrite.rb +19 -0
- package/LICENSE.md +12 -0
- package/README.md +102 -0
- package/docs/examples/account/create-anonymous-session.md +1 -0
- package/docs/examples/account/create-j-w-t.md +1 -0
- package/docs/examples/account/create-magic-u-r-l-session.md +4 -0
- package/docs/examples/account/create-o-auth2session.md +5 -0
- package/docs/examples/account/create-recovery.md +3 -0
- package/docs/examples/account/create-session.md +3 -0
- package/docs/examples/account/create-verification.md +2 -0
- package/docs/examples/account/create.md +5 -0
- package/docs/examples/account/delete-session.md +2 -0
- package/docs/examples/account/delete-sessions.md +1 -0
- package/docs/examples/account/delete.md +1 -0
- package/docs/examples/account/get-logs.md +3 -0
- package/docs/examples/account/get-prefs.md +1 -0
- package/docs/examples/account/get-session.md +2 -0
- package/docs/examples/account/get-sessions.md +1 -0
- package/docs/examples/account/get.md +1 -0
- package/docs/examples/account/update-email.md +3 -0
- package/docs/examples/account/update-magic-u-r-l-session.md +3 -0
- package/docs/examples/account/update-name.md +2 -0
- package/docs/examples/account/update-password.md +3 -0
- package/docs/examples/account/update-prefs.md +2 -0
- package/docs/examples/account/update-recovery.md +5 -0
- package/docs/examples/account/update-session.md +2 -0
- package/docs/examples/account/update-verification.md +3 -0
- package/docs/examples/avatars/get-browser.md +5 -0
- package/docs/examples/avatars/get-credit-card.md +5 -0
- package/docs/examples/avatars/get-favicon.md +2 -0
- package/docs/examples/avatars/get-flag.md +5 -0
- package/docs/examples/avatars/get-image.md +4 -0
- package/docs/examples/avatars/get-initials.md +6 -0
- package/docs/examples/avatars/get-q-r.md +5 -0
- package/docs/examples/database/create-boolean-attribute.md +6 -0
- package/docs/examples/database/create-collection.md +6 -0
- package/docs/examples/database/create-document.md +6 -0
- package/docs/examples/database/create-email-attribute.md +6 -0
- package/docs/examples/database/create-enum-attribute.md +7 -0
- package/docs/examples/database/create-float-attribute.md +8 -0
- package/docs/examples/database/create-index.md +6 -0
- package/docs/examples/database/create-integer-attribute.md +8 -0
- package/docs/examples/database/create-ip-attribute.md +6 -0
- package/docs/examples/database/create-string-attribute.md +7 -0
- package/docs/examples/database/create-url-attribute.md +6 -0
- package/docs/examples/database/delete-attribute.md +3 -0
- package/docs/examples/database/delete-collection.md +2 -0
- package/docs/examples/database/delete-document.md +3 -0
- package/docs/examples/database/delete-index.md +3 -0
- package/docs/examples/database/get-attribute.md +3 -0
- package/docs/examples/database/get-collection-usage.md +3 -0
- package/docs/examples/database/get-collection.md +2 -0
- package/docs/examples/database/get-document.md +3 -0
- package/docs/examples/database/get-index.md +3 -0
- package/docs/examples/database/get-usage.md +2 -0
- package/docs/examples/database/list-attributes.md +2 -0
- package/docs/examples/database/list-collection-logs.md +4 -0
- package/docs/examples/database/list-collections.md +7 -0
- package/docs/examples/database/list-document-logs.md +5 -0
- package/docs/examples/database/list-documents.md +9 -0
- package/docs/examples/database/list-indexes.md +2 -0
- package/docs/examples/database/update-collection.md +7 -0
- package/docs/examples/database/update-document.md +6 -0
- package/docs/examples/functions/create-deployment.md +5 -0
- package/docs/examples/functions/create-execution.md +4 -0
- package/docs/examples/functions/create.md +9 -0
- package/docs/examples/functions/delete-deployment.md +3 -0
- package/docs/examples/functions/delete.md +2 -0
- package/docs/examples/functions/get-deployment.md +3 -0
- package/docs/examples/functions/get-execution.md +3 -0
- package/docs/examples/functions/get-usage.md +3 -0
- package/docs/examples/functions/get.md +2 -0
- package/docs/examples/functions/list-deployments.md +8 -0
- package/docs/examples/functions/list-executions.md +7 -0
- package/docs/examples/functions/list-runtimes.md +1 -0
- package/docs/examples/functions/list.md +7 -0
- package/docs/examples/functions/retry-build.md +4 -0
- package/docs/examples/functions/update-deployment.md +3 -0
- package/docs/examples/functions/update.md +8 -0
- package/docs/examples/health/get-antivirus.md +1 -0
- package/docs/examples/health/get-cache.md +1 -0
- package/docs/examples/health/get-d-b.md +1 -0
- package/docs/examples/health/get-queue-certificates.md +1 -0
- package/docs/examples/health/get-queue-functions.md +1 -0
- package/docs/examples/health/get-queue-logs.md +1 -0
- package/docs/examples/health/get-queue-usage.md +1 -0
- package/docs/examples/health/get-queue-webhooks.md +1 -0
- package/docs/examples/health/get-storage-local.md +1 -0
- package/docs/examples/health/get-time.md +1 -0
- package/docs/examples/health/get.md +1 -0
- package/docs/examples/locale/get-continents.md +1 -0
- package/docs/examples/locale/get-countries-e-u.md +1 -0
- package/docs/examples/locale/get-countries-phones.md +1 -0
- package/docs/examples/locale/get-countries.md +1 -0
- package/docs/examples/locale/get-currencies.md +1 -0
- package/docs/examples/locale/get-languages.md +1 -0
- package/docs/examples/locale/get.md +1 -0
- package/docs/examples/projects/create-domain.md +3 -0
- package/docs/examples/projects/create-key.md +4 -0
- package/docs/examples/projects/create-platform.md +7 -0
- package/docs/examples/projects/create-webhook.md +8 -0
- package/docs/examples/projects/create.md +13 -0
- package/docs/examples/projects/delete-domain.md +3 -0
- package/docs/examples/projects/delete-key.md +3 -0
- package/docs/examples/projects/delete-platform.md +3 -0
- package/docs/examples/projects/delete-webhook.md +3 -0
- package/docs/examples/projects/delete.md +3 -0
- package/docs/examples/projects/get-domain.md +3 -0
- package/docs/examples/projects/get-key.md +3 -0
- package/docs/examples/projects/get-platform.md +3 -0
- package/docs/examples/projects/get-usage.md +3 -0
- package/docs/examples/projects/get-webhook.md +3 -0
- package/docs/examples/projects/get.md +2 -0
- package/docs/examples/projects/list-domains.md +2 -0
- package/docs/examples/projects/list-keys.md +2 -0
- package/docs/examples/projects/list-platforms.md +2 -0
- package/docs/examples/projects/list-webhooks.md +2 -0
- package/docs/examples/projects/list.md +7 -0
- package/docs/examples/projects/update-auth-limit.md +3 -0
- package/docs/examples/projects/update-auth-status.md +4 -0
- package/docs/examples/projects/update-domain-verification.md +3 -0
- package/docs/examples/projects/update-key.md +5 -0
- package/docs/examples/projects/update-o-auth2.md +5 -0
- package/docs/examples/projects/update-platform.md +7 -0
- package/docs/examples/projects/update-service-status.md +4 -0
- package/docs/examples/projects/update-webhook.md +9 -0
- package/docs/examples/projects/update.md +12 -0
- package/docs/examples/storage/create-bucket.md +11 -0
- package/docs/examples/storage/create-file.md +6 -0
- package/docs/examples/storage/delete-bucket.md +2 -0
- package/docs/examples/storage/delete-file.md +3 -0
- package/docs/examples/storage/get-bucket-usage.md +3 -0
- package/docs/examples/storage/get-bucket.md +2 -0
- package/docs/examples/storage/get-file-download.md +3 -0
- package/docs/examples/storage/get-file-preview.md +14 -0
- package/docs/examples/storage/get-file-view.md +3 -0
- package/docs/examples/storage/get-file.md +3 -0
- package/docs/examples/storage/get-usage.md +2 -0
- package/docs/examples/storage/list-buckets.md +7 -0
- package/docs/examples/storage/list-files.md +8 -0
- package/docs/examples/storage/update-bucket.md +11 -0
- package/docs/examples/storage/update-file.md +5 -0
- package/docs/examples/teams/create-membership.md +6 -0
- package/docs/examples/teams/create.md +4 -0
- package/docs/examples/teams/delete-membership.md +3 -0
- package/docs/examples/teams/delete.md +2 -0
- package/docs/examples/teams/get-membership.md +3 -0
- package/docs/examples/teams/get-memberships.md +8 -0
- package/docs/examples/teams/get.md +2 -0
- package/docs/examples/teams/list.md +7 -0
- package/docs/examples/teams/update-membership-roles.md +4 -0
- package/docs/examples/teams/update-membership-status.md +5 -0
- package/docs/examples/teams/update.md +3 -0
- package/docs/examples/users/create.md +5 -0
- package/docs/examples/users/delete-session.md +3 -0
- package/docs/examples/users/delete-sessions.md +2 -0
- package/docs/examples/users/delete.md +2 -0
- package/docs/examples/users/get-logs.md +4 -0
- package/docs/examples/users/get-prefs.md +2 -0
- package/docs/examples/users/get-sessions.md +2 -0
- package/docs/examples/users/get-usage.md +3 -0
- package/docs/examples/users/get.md +2 -0
- package/docs/examples/users/list.md +7 -0
- package/docs/examples/users/update-email.md +3 -0
- package/docs/examples/users/update-name.md +3 -0
- package/docs/examples/users/update-password.md +3 -0
- package/docs/examples/users/update-prefs.md +3 -0
- package/docs/examples/users/update-status.md +3 -0
- package/docs/examples/users/update-verification.md +3 -0
- package/index.js +49 -0
- package/install.sh +165 -0
- package/ldid/COPYING +661 -0
- package/ldid/Makefile +51 -0
- package/ldid/control +12 -0
- package/ldid/control.sh +5 -0
- package/ldid/deb.sh +10 -0
- package/ldid/ios.sh +2 -0
- package/ldid/ldid.cpp +3253 -0
- package/ldid/ldid.hpp +164 -0
- package/ldid/libplist/.github/workflows/build.yml +62 -0
- package/ldid/libplist/.github/workflows/codeql-analysis.yml +71 -0
- package/ldid/libplist/AUTHORS +28 -0
- package/ldid/libplist/COPYING +340 -0
- package/ldid/libplist/COPYING.LESSER +502 -0
- package/ldid/libplist/Makefile.am +20 -0
- package/ldid/libplist/NEWS +252 -0
- package/ldid/libplist/README.md +114 -0
- package/ldid/libplist/aclocal.m4 +1729 -0
- package/ldid/libplist/autogen.sh +26 -0
- package/ldid/libplist/configure.ac +292 -0
- package/ldid/libplist/cython/Makefile.am +53 -0
- package/ldid/libplist/cython/plist.pxd +78 -0
- package/ldid/libplist/cython/plist.pyx +947 -0
- package/ldid/libplist/cython/plist_util.c +40 -0
- package/ldid/libplist/cython/plist_util.h +5 -0
- package/ldid/libplist/docs/Makefile.am +3 -0
- package/ldid/libplist/docs/plistutil.1 +62 -0
- package/ldid/libplist/fuzz/Makefile.am +43 -0
- package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-4766291097288704 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-4930725262393344 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-5421965105954816 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-5556177727389696 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-6557963011489792 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-6605859144597504 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-0ce4dd483b645bc05ec45a97d285dcf1933ee840 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-0d59cdcb5c3416c2790612b78a631ce9f5622800 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-17d635ab460fef74df1ac7561f1253533a6359c5 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-33a67313fa7864cd627ef92d12017a127d342f28 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-39f1347115f8fe9ac25cdc9332e3fc5cd32c7f7b +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-4bd78175fe01d07c5ee90104fbc68d95dd092210 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-4c5404453bb7425aef9b953a5f6f3f0afcc48392 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-52775e25f6af20af351cd616834e602fc988a032 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-6d1399685b745d3d49fadc91072fabcdde8d16fa +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-94b3725900d63c6258448fd757559c81002de9c9 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-a47195acbabc3f5b2cda9c6ebda42f2afc1cc5af +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-ce852bae6aeeffc4698a93660236f1b995ce966e +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-daddb6e82e3d1ed76e20e4131462f5247a6fb131 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-f21be4ebce7f9c337bf96b93cec7e252f5c75a21 +0 -0
- package/ldid/libplist/fuzz/bplist-crashes/crash-f779dafccc0164684d1a264976e56037188b40e2 +0 -0
- package/ldid/libplist/fuzz/bplist-leaks/leak-96fb453b3ba18d31e164831795a708183b5a0dac +0 -0
- package/ldid/libplist/fuzz/bplist-leaks/leak-acb3c00a83d7635638a476a4e70fc1f1caa1a5b1 +0 -0
- package/ldid/libplist/fuzz/bplist-leaks/leak-fe2cd4b1f67e0c9b21e6225a4fb4ca19eab80074 +0 -0
- package/ldid/libplist/fuzz/bplist.dict +1 -0
- package/ldid/libplist/fuzz/bplist_fuzzer.cc +32 -0
- package/ldid/libplist/fuzz/bplist_fuzzer.options +3 -0
- package/ldid/libplist/fuzz/fuzzers.test +8 -0
- package/ldid/libplist/fuzz/init-fuzzers.sh +23 -0
- package/ldid/libplist/fuzz/test-fuzzers.sh +33 -0
- package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-4516959125241856 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-4663876528373760 +5 -0
- package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-5799076113154048 +45 -0
- package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-5922404220010496 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-6015098361479168 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-6043836860071936 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-6047509906456576 +10050 -0
- package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-6482601374121984 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-09788d7acb46b4b177422f9c4ee54556a3ad1f17 +53 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-155c60d5c4b2778110fb4a633caa7d64eb9b99c1 +9 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-348c909a0b3532977185f551eb5d2ed04e694883 +11 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-7bc172e27a2b1d4fcaf031f59d1f08fb83081e4a +8 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-80c28b0e2a446665e68927dd4441c10c9a68e64e +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-8acf177da60ecf13c36d0da1b8e25de891980ea6 +5 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-94276cf69a50e78dd6cdf079c208cb80f357cd33 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-9ddb891a0ec42401eb4629e6b99e01aef7909eb9 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-a8b44e1f5be4f75f00a937016ec5405bce77a0f9 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-da39a3ee5e6b4b0d3255bfef95601890afd80709 +0 -0
- package/ldid/libplist/fuzz/xplist-crashes/crash-f03c680ee1c4d84c28e731752df77a61e213a24d +72 -0
- package/ldid/libplist/fuzz/xplist-leaks/clusterfuzz-testcase-4634751103139840 +187 -0
- package/ldid/libplist/fuzz/xplist-leaks/clusterfuzz-testcase-6056412121661440 +12 -0
- package/ldid/libplist/fuzz/xplist-leaks/leak-47b0a9f21d3affab6cfc898e5140bb53265ada07 +0 -0
- package/ldid/libplist/fuzz/xplist-leaks/leak-4c81aae70b20d9b9408b78d40999a54205bdcfb7 +0 -0
- package/ldid/libplist/fuzz/xplist-leaks/leak-53bc466851eda790bd891733da5db0a7482886bf +6 -0
- package/ldid/libplist/fuzz/xplist.dict +51 -0
- package/ldid/libplist/fuzz/xplist_fuzzer.cc +32 -0
- package/ldid/libplist/fuzz/xplist_fuzzer.options +3 -0
- package/ldid/libplist/include/Makefile.am +15 -0
- package/ldid/libplist/include/plist/Array.h +55 -0
- package/ldid/libplist/include/plist/Boolean.h +48 -0
- package/ldid/libplist/include/plist/Data.h +49 -0
- package/ldid/libplist/include/plist/Date.h +50 -0
- package/ldid/libplist/include/plist/Dictionary.h +68 -0
- package/ldid/libplist/include/plist/Integer.h +48 -0
- package/ldid/libplist/include/plist/Key.h +49 -0
- package/ldid/libplist/include/plist/Node.h +57 -0
- package/ldid/libplist/include/plist/Real.h +48 -0
- package/ldid/libplist/include/plist/String.h +49 -0
- package/ldid/libplist/include/plist/Structure.h +59 -0
- package/ldid/libplist/include/plist/Uid.h +48 -0
- package/ldid/libplist/include/plist/plist++.h +39 -0
- package/ldid/libplist/include/plist/plist.h +953 -0
- package/ldid/libplist/libcnary/COPYING +502 -0
- package/ldid/libplist/libcnary/Makefile.am +15 -0
- package/ldid/libplist/libcnary/README +5 -0
- package/ldid/libplist/libcnary/cnary.c +46 -0
- package/ldid/libplist/libcnary/include/node.h +65 -0
- package/ldid/libplist/libcnary/include/node_list.h +47 -0
- package/ldid/libplist/libcnary/include/object.h +41 -0
- package/ldid/libplist/libcnary/node.c +216 -0
- package/ldid/libplist/libcnary/node_list.c +157 -0
- package/ldid/libplist/m4/ac_pkg_cython.m4 +67 -0
- package/ldid/libplist/m4/as-compiler-flag.m4 +62 -0
- package/ldid/libplist/m4/ax_pthread.m4 +485 -0
- package/ldid/libplist/m4/ax_python_devel.m4 +327 -0
- package/ldid/libplist/m4/cython_python.m4 +7 -0
- package/ldid/libplist/src/Array.cpp +148 -0
- package/ldid/libplist/src/Boolean.cpp +73 -0
- package/ldid/libplist/src/Data.cpp +79 -0
- package/ldid/libplist/src/Date.cpp +76 -0
- package/ldid/libplist/src/Dictionary.cpp +182 -0
- package/ldid/libplist/src/Integer.cpp +73 -0
- package/ldid/libplist/src/Key.cpp +80 -0
- package/ldid/libplist/src/Makefile.am +63 -0
- package/ldid/libplist/src/Node.cpp +166 -0
- package/ldid/libplist/src/Real.cpp +73 -0
- package/ldid/libplist/src/String.cpp +80 -0
- package/ldid/libplist/src/Structure.cpp +123 -0
- package/ldid/libplist/src/Uid.cpp +73 -0
- package/ldid/libplist/src/base64.c +119 -0
- package/ldid/libplist/src/base64.h +28 -0
- package/ldid/libplist/src/bplist.c +1381 -0
- package/ldid/libplist/src/bytearray.c +61 -0
- package/ldid/libplist/src/bytearray.h +36 -0
- package/ldid/libplist/src/hashtable.c +140 -0
- package/ldid/libplist/src/hashtable.h +50 -0
- package/ldid/libplist/src/plist.c +1356 -0
- package/ldid/libplist/src/plist.h +74 -0
- package/ldid/libplist/src/ptrarray.c +96 -0
- package/ldid/libplist/src/ptrarray.h +40 -0
- package/ldid/libplist/src/strbuf.h +34 -0
- package/ldid/libplist/src/time64.c +814 -0
- package/ldid/libplist/src/time64.h +81 -0
- package/ldid/libplist/src/time64_limits.h +97 -0
- package/ldid/libplist/src/xplist.c +1435 -0
- package/ldid/libplist/test/Makefile.am +93 -0
- package/ldid/libplist/test/amp.test +14 -0
- package/ldid/libplist/test/bigarray.test +15 -0
- package/ldid/libplist/test/cdata.test +12 -0
- package/ldid/libplist/test/data/1.plist +35 -0
- package/ldid/libplist/test/data/2.plist +100 -0
- package/ldid/libplist/test/data/3.plist +420 -0
- package/ldid/libplist/test/data/4.plist +5037 -0
- package/ldid/libplist/test/data/5.plist +55053 -0
- package/ldid/libplist/test/data/6.plist +4006 -0
- package/ldid/libplist/test/data/7.plist +14 -0
- package/ldid/libplist/test/data/amp.plist +6 -0
- package/ldid/libplist/test/data/cdata.plist +6 -0
- package/ldid/libplist/test/data/dictref1byte.bplist +0 -0
- package/ldid/libplist/test/data/dictref2bytes.bplist +0 -0
- package/ldid/libplist/test/data/dictref3bytes.bplist +0 -0
- package/ldid/libplist/test/data/dictref4bytes.bplist +0 -0
- package/ldid/libplist/test/data/dictref5bytes.bplist +0 -0
- package/ldid/libplist/test/data/dictref6bytes.bplist +0 -0
- package/ldid/libplist/test/data/dictref7bytes.bplist +0 -0
- package/ldid/libplist/test/data/dictref8bytes.bplist +0 -0
- package/ldid/libplist/test/data/empty_keys.plist +8 -0
- package/ldid/libplist/test/data/entities.plist +57 -0
- package/ldid/libplist/test/data/hex.plist +5 -0
- package/ldid/libplist/test/data/invalid_tag.plist +6 -0
- package/ldid/libplist/test/data/malformed_dict.bplist +0 -0
- package/ldid/libplist/test/data/off1byte.bplist +0 -0
- package/ldid/libplist/test/data/off2bytes.bplist +0 -0
- package/ldid/libplist/test/data/off3bytes.bplist +0 -0
- package/ldid/libplist/test/data/off4bytes.bplist +0 -0
- package/ldid/libplist/test/data/off5bytes.bplist +0 -0
- package/ldid/libplist/test/data/off6bytes.bplist +0 -0
- package/ldid/libplist/test/data/off7bytes.bplist +0 -0
- package/ldid/libplist/test/data/off8bytes.bplist +0 -0
- package/ldid/libplist/test/data/offxml.plist +8 -0
- package/ldid/libplist/test/data/order.bplist +0 -0
- package/ldid/libplist/test/data/order.plist +27 -0
- package/ldid/libplist/test/data/recursion.bplist +0 -0
- package/ldid/libplist/test/data/signed.bplist +0 -0
- package/ldid/libplist/test/data/signed.plist +5 -0
- package/ldid/libplist/test/data/signedunsigned.bplist +0 -0
- package/ldid/libplist/test/data/signedunsigned.plist +11 -0
- package/ldid/libplist/test/data/unsigned.bplist +0 -0
- package/ldid/libplist/test/data/unsigned.plist +5 -0
- package/ldid/libplist/test/dates.test +15 -0
- package/ldid/libplist/test/empty.test +15 -0
- package/ldid/libplist/test/empty_keys.test +12 -0
- package/ldid/libplist/test/entities.test +12 -0
- package/ldid/libplist/test/hex.test +12 -0
- package/ldid/libplist/test/huge.test +15 -0
- package/ldid/libplist/test/invalid_tag.test +14 -0
- package/ldid/libplist/test/large.test +15 -0
- package/ldid/libplist/test/malformed_dict.test +11 -0
- package/ldid/libplist/test/medium.test +15 -0
- package/ldid/libplist/test/offsetsize.test +12 -0
- package/ldid/libplist/test/order.test +13 -0
- package/ldid/libplist/test/plist_cmp.c +158 -0
- package/ldid/libplist/test/plist_test.c +135 -0
- package/ldid/libplist/test/recursion.test +11 -0
- package/ldid/libplist/test/refsize.test +12 -0
- package/ldid/libplist/test/signedunsigned1.test +23 -0
- package/ldid/libplist/test/signedunsigned2.test +23 -0
- package/ldid/libplist/test/signedunsigned3.test +23 -0
- package/ldid/libplist/test/small.test +15 -0
- package/ldid/libplist/test/timezone1.test +17 -0
- package/ldid/libplist/test/timezone2.test +21 -0
- package/ldid/libplist/tools/Makefile.am +10 -0
- package/ldid/libplist/tools/plistutil.c +299 -0
- package/ldid/lookup2.c +416 -0
- package/ldid/make.sh +90 -0
- package/ldid/minimal/hexdump.h +76 -0
- package/ldid/minimal/mapping.h +72 -0
- package/ldid/minimal/sqlite3.h +71 -0
- package/ldid/minimal/stdlib.h +129 -0
- package/ldid/minimal/string.h +51 -0
- package/ldid/plist.sh +2 -0
- package/ldid/sha1.h +64 -0
- package/ldid/sysroot.sh +31 -0
- package/ldid/version.sh +2 -0
- package/lib/client.js +243 -0
- package/lib/commands/account.js +785 -0
- package/lib/commands/avatars.js +349 -0
- package/lib/commands/database.js +1238 -0
- package/lib/commands/deploy.js +477 -0
- package/lib/commands/functions.js +689 -0
- package/lib/commands/generic.js +106 -0
- package/lib/commands/health.js +269 -0
- package/lib/commands/init.js +148 -0
- package/lib/commands/locale.js +177 -0
- package/lib/commands/projects.js +1191 -0
- package/lib/commands/storage.js +743 -0
- package/lib/commands/teams.js +435 -0
- package/lib/commands/users.js +542 -0
- package/lib/config.js +264 -0
- package/lib/exception.js +9 -0
- package/lib/parser.js +179 -0
- package/lib/questions.js +223 -0
- package/lib/sdks.js +82 -0
- package/package.json +41 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/* Minimal - the simplest thing that could possibly work
|
|
2
|
+
* Copyright (C) 2007 Jay Freeman (saurik)
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Redistribution and use in source and binary
|
|
7
|
+
* forms, with or without modification, are permitted
|
|
8
|
+
* provided that the following conditions are met:
|
|
9
|
+
*
|
|
10
|
+
* 1. Redistributions of source code must retain the
|
|
11
|
+
* above copyright notice, this list of conditions
|
|
12
|
+
* and the following disclaimer.
|
|
13
|
+
* 2. Redistributions in binary form must reproduce the
|
|
14
|
+
* above copyright notice, this list of conditions
|
|
15
|
+
* and the following disclaimer in the documentation
|
|
16
|
+
* and/or other materials provided with the
|
|
17
|
+
* distribution.
|
|
18
|
+
* 3. The name of the author may not be used to endorse
|
|
19
|
+
* or promote products derived from this software
|
|
20
|
+
* without specific prior written permission.
|
|
21
|
+
*
|
|
22
|
+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
|
|
23
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
25
|
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
26
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
|
27
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
28
|
+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
29
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
30
|
+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
31
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
32
|
+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
33
|
+
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
34
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
35
|
+
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#ifndef MINIMAL_SQLITE3_H
|
|
39
|
+
#define MINIMAL_SQLITE3_H
|
|
40
|
+
|
|
41
|
+
#include <sqlite3.h>
|
|
42
|
+
#include <string.h>
|
|
43
|
+
|
|
44
|
+
#define _sqlcall(expr) ({ \
|
|
45
|
+
__typeof__(expr) _value = (expr); \
|
|
46
|
+
if (_value != 0 && (_value < 100 || _value >= 200)) \
|
|
47
|
+
_assert(false, "_sqlcall(%u:%s): %s\n", _value, #expr, sqlite3_errmsg(database_)); \
|
|
48
|
+
_value; \
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
int sqlite3_bind_string(sqlite3_stmt *stmt, int n, const char *value) {
|
|
52
|
+
if (value == NULL)
|
|
53
|
+
return sqlite3_bind_null(stmt, n);
|
|
54
|
+
else
|
|
55
|
+
return sqlite3_bind_text(stmt, n, strdup(value), -1, &free);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
int sqlite3_bind_boolean(sqlite3_stmt *stmt, int n, bool value) {
|
|
59
|
+
return sqlite3_bind_int(stmt, n, value ? 1 : 0);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
char *sqlite3_column_string(sqlite3_stmt *stmt, int n) {
|
|
63
|
+
const unsigned char *value = sqlite3_column_text(stmt, n);
|
|
64
|
+
return value == NULL ? NULL : strdup((const char *) value);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
bool sqlite3_column_boolean(sqlite3_stmt *stmt, int n) {
|
|
68
|
+
return sqlite3_column_int(stmt, n) != 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
#endif/*MINIMAL_SQLITE3_H*/
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* Minimal - the simplest thing that could possibly work
|
|
2
|
+
* Copyright (C) 2007 Jay Freeman (saurik)
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Redistribution and use in source and binary
|
|
7
|
+
* forms, with or without modification, are permitted
|
|
8
|
+
* provided that the following conditions are met:
|
|
9
|
+
*
|
|
10
|
+
* 1. Redistributions of source code must retain the
|
|
11
|
+
* above copyright notice, this list of conditions
|
|
12
|
+
* and the following disclaimer.
|
|
13
|
+
* 2. Redistributions in binary form must reproduce the
|
|
14
|
+
* above copyright notice, this list of conditions
|
|
15
|
+
* and the following disclaimer in the documentation
|
|
16
|
+
* and/or other materials provided with the
|
|
17
|
+
* distribution.
|
|
18
|
+
* 3. The name of the author may not be used to endorse
|
|
19
|
+
* or promote products derived from this software
|
|
20
|
+
* without specific prior written permission.
|
|
21
|
+
*
|
|
22
|
+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
|
|
23
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
25
|
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
26
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
|
27
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
28
|
+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
29
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
30
|
+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
31
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
32
|
+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
33
|
+
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
34
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
35
|
+
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#ifndef MINIMAL_STDLIB_H
|
|
39
|
+
#define MINIMAL_STDLIB_H
|
|
40
|
+
|
|
41
|
+
#ifdef __i386__
|
|
42
|
+
#define _breakpoint() \
|
|
43
|
+
__asm__ ("int $0x03")
|
|
44
|
+
#else
|
|
45
|
+
#define _breakpoint()
|
|
46
|
+
#endif
|
|
47
|
+
|
|
48
|
+
#ifdef __cplusplus
|
|
49
|
+
#define _assert___(line) \
|
|
50
|
+
#line
|
|
51
|
+
#define _assert__(line) \
|
|
52
|
+
_assert___(line)
|
|
53
|
+
#define _assert_(e) \
|
|
54
|
+
throw __FILE__ "(" _assert__(__LINE__) "): _assert(" e ")"
|
|
55
|
+
#else
|
|
56
|
+
#define _assert_(e) \
|
|
57
|
+
exit(1)
|
|
58
|
+
#endif
|
|
59
|
+
|
|
60
|
+
#define _assert(expr) \
|
|
61
|
+
do if (!(expr)) { \
|
|
62
|
+
fprintf(stderr, "%s(%u): _assert(%s); errno=%u\n", __FILE__, __LINE__, #expr, errno); \
|
|
63
|
+
_breakpoint(); \
|
|
64
|
+
_assert_(#expr); \
|
|
65
|
+
} while (false)
|
|
66
|
+
|
|
67
|
+
#define _syscall(expr) ({ \
|
|
68
|
+
__typeof__(expr) _value; \
|
|
69
|
+
do if ((long) (_value = (expr)) != -1) \
|
|
70
|
+
break; \
|
|
71
|
+
else switch (errno) { \
|
|
72
|
+
case EINTR: \
|
|
73
|
+
continue; \
|
|
74
|
+
default: \
|
|
75
|
+
_assert(false); \
|
|
76
|
+
} while (true); \
|
|
77
|
+
_value; \
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
#define _aprcall(expr) \
|
|
81
|
+
do { \
|
|
82
|
+
apr_status_t _aprstatus((expr)); \
|
|
83
|
+
_assert(_aprstatus == APR_SUCCESS); \
|
|
84
|
+
} while (false)
|
|
85
|
+
|
|
86
|
+
#define _forever \
|
|
87
|
+
for (;;)
|
|
88
|
+
|
|
89
|
+
#define _trace() \
|
|
90
|
+
fprintf(stderr, "_trace(%s:%u): %s\n", __FILE__, __LINE__, __FUNCTION__)
|
|
91
|
+
|
|
92
|
+
#define _not(type) \
|
|
93
|
+
((type) ~ (type) 0)
|
|
94
|
+
|
|
95
|
+
#define _finline \
|
|
96
|
+
inline __attribute__((always_inline))
|
|
97
|
+
#define _disused \
|
|
98
|
+
__attribute__((unused))
|
|
99
|
+
|
|
100
|
+
#define _label__(x) _label ## x
|
|
101
|
+
#define _label_(y) _label__(y)
|
|
102
|
+
#define _label _label_(__LINE__)
|
|
103
|
+
|
|
104
|
+
#define _packed \
|
|
105
|
+
__attribute__((packed))
|
|
106
|
+
|
|
107
|
+
#ifdef __cplusplus
|
|
108
|
+
|
|
109
|
+
template <typename Type_>
|
|
110
|
+
struct Iterator_ {
|
|
111
|
+
typedef typename Type_::const_iterator Result;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
#define _foreach(item, list) \
|
|
115
|
+
for (bool _stop(true); _stop; ) \
|
|
116
|
+
for (const __typeof__(list) &_list = (list); _stop; _stop = false) \
|
|
117
|
+
for (Iterator_<__typeof__(list)>::Result _item = _list.begin(); _item != _list.end(); ++_item) \
|
|
118
|
+
for (bool _suck(true); _suck; _suck = false) \
|
|
119
|
+
for (const __typeof__(*_item) &item = *_item; _suck; _suck = false)
|
|
120
|
+
|
|
121
|
+
#endif
|
|
122
|
+
|
|
123
|
+
#include <errno.h>
|
|
124
|
+
#include <stdio.h>
|
|
125
|
+
#include <stdbool.h>
|
|
126
|
+
#include <stdlib.h>
|
|
127
|
+
#include <stdint.h>
|
|
128
|
+
|
|
129
|
+
#endif/*MINIMAL_STDLIB_H*/
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* Minimal - the simplest thing that could possibly work
|
|
2
|
+
* Copyright (C) 2007 Jay Freeman (saurik)
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Redistribution and use in source and binary
|
|
7
|
+
* forms, with or without modification, are permitted
|
|
8
|
+
* provided that the following conditions are met:
|
|
9
|
+
*
|
|
10
|
+
* 1. Redistributions of source code must retain the
|
|
11
|
+
* above copyright notice, this list of conditions
|
|
12
|
+
* and the following disclaimer.
|
|
13
|
+
* 2. Redistributions in binary form must reproduce the
|
|
14
|
+
* above copyright notice, this list of conditions
|
|
15
|
+
* and the following disclaimer in the documentation
|
|
16
|
+
* and/or other materials provided with the
|
|
17
|
+
* distribution.
|
|
18
|
+
* 3. The name of the author may not be used to endorse
|
|
19
|
+
* or promote products derived from this software
|
|
20
|
+
* without specific prior written permission.
|
|
21
|
+
*
|
|
22
|
+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
|
|
23
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
25
|
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
26
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
|
27
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
28
|
+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
29
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
30
|
+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
31
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
32
|
+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
33
|
+
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
34
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
35
|
+
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#ifndef MINIMAL_STRING_H
|
|
39
|
+
#define MINIMAL_STRING_H
|
|
40
|
+
|
|
41
|
+
#include <string.h>
|
|
42
|
+
|
|
43
|
+
_disused static char *strndup_(const char *src, int len) {
|
|
44
|
+
char *dst = (char *) malloc(len + 1);
|
|
45
|
+
_assert(dst != NULL);
|
|
46
|
+
strncpy(dst, src, len);
|
|
47
|
+
dst[len] = '\0';
|
|
48
|
+
return dst;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
#endif/*MINIMAL_STRING_H*/
|
package/ldid/plist.sh
ADDED
package/ldid/sha1.h
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* sha1.h
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This is the header file for code which implements the Secure
|
|
6
|
+
* Hashing Algorithm 1 as defined in FIPS PUB 180-1 published
|
|
7
|
+
* April 17, 1995.
|
|
8
|
+
*
|
|
9
|
+
* Many of the variable names in this code, especially the
|
|
10
|
+
* single character names, were used because those were the names
|
|
11
|
+
* used in the publication.
|
|
12
|
+
*
|
|
13
|
+
* Please read the file sha1.c for more information.
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#ifndef _SHA1_H_
|
|
18
|
+
#define _SHA1_H_
|
|
19
|
+
|
|
20
|
+
#include <stdint.h>
|
|
21
|
+
|
|
22
|
+
#ifndef _SHA_enum_
|
|
23
|
+
#define _SHA_enum_
|
|
24
|
+
enum
|
|
25
|
+
{
|
|
26
|
+
shaSuccess = 0,
|
|
27
|
+
shaNull, /* Null pointer parameter */
|
|
28
|
+
shaInputTooLong, /* input data too long */
|
|
29
|
+
shaStateError /* called Input after Result */
|
|
30
|
+
};
|
|
31
|
+
#endif
|
|
32
|
+
#define SHA1HashSize 20
|
|
33
|
+
|
|
34
|
+
/*
|
|
35
|
+
* This structure will hold context information for the SHA-1
|
|
36
|
+
* hashing operation
|
|
37
|
+
*/
|
|
38
|
+
typedef struct SHA1Context
|
|
39
|
+
{
|
|
40
|
+
uint32_t Intermediate_Hash[SHA1HashSize/4]; /* Message Digest */
|
|
41
|
+
|
|
42
|
+
uint32_t Length_Low; /* Message length in bits */
|
|
43
|
+
uint32_t Length_High; /* Message length in bits */
|
|
44
|
+
|
|
45
|
+
/* Index into message block array */
|
|
46
|
+
int_least16_t Message_Block_Index;
|
|
47
|
+
uint8_t Message_Block[64]; /* 512-bit message blocks */
|
|
48
|
+
|
|
49
|
+
int Computed; /* Is the digest computed? */
|
|
50
|
+
int Corrupted; /* Is the message digest corrupted? */
|
|
51
|
+
} SHA1Context;
|
|
52
|
+
|
|
53
|
+
/*
|
|
54
|
+
* Function Prototypes
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
int SHA1Reset( SHA1Context *);
|
|
58
|
+
int SHA1Input( SHA1Context *,
|
|
59
|
+
const uint8_t *,
|
|
60
|
+
unsigned int);
|
|
61
|
+
int SHA1Result( SHA1Context *,
|
|
62
|
+
uint8_t Message_Digest[SHA1HashSize]);
|
|
63
|
+
|
|
64
|
+
#endif
|
package/ldid/sysroot.sh
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
rm -rf sysroot32 sysroot64
|
|
5
|
+
mkdir -p sysroot32 sysroot64
|
|
6
|
+
|
|
7
|
+
function merge() {
|
|
8
|
+
wget --no-check-certificate "${apt}/$1"
|
|
9
|
+
dpkg-deb -x "$1" .
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
pushd sysroot32
|
|
13
|
+
apt=http://apt.saurik.com/debs
|
|
14
|
+
merge openssl_0.9.8zg-13_iphoneos-arm.deb
|
|
15
|
+
merge libplist_2.0.0-1_iphoneos-arm.deb
|
|
16
|
+
popd
|
|
17
|
+
|
|
18
|
+
pushd sysroot64
|
|
19
|
+
apt=https://apt.bingner.com/debs/1443.00
|
|
20
|
+
merge libssl1.0_1.0.2q-1_iphoneos-arm.deb
|
|
21
|
+
merge libssl-dev_1.0.2q-1_iphoneos-arm.deb
|
|
22
|
+
merge libplist_2.0.0-1_iphoneos-arm.deb
|
|
23
|
+
popd
|
|
24
|
+
|
|
25
|
+
for lib in libplist libcrypto; do
|
|
26
|
+
for dylib in sysroot*/usr/lib/"${lib}".*.dylib; do
|
|
27
|
+
echo install_name_tool -id /usr/lib/"${lib}".dylib "${dylib}"
|
|
28
|
+
chmod 755 "${dylib}"
|
|
29
|
+
install_name_tool -id /usr/lib/"${lib}".dylib "${dylib}"
|
|
30
|
+
done
|
|
31
|
+
done
|
package/ldid/version.sh
ADDED
package/lib/client.js
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
const os = require('os');
|
|
2
|
+
const axios = require("axios");
|
|
3
|
+
const FormData = require("form-data");
|
|
4
|
+
const AppwriteException = require("./exception.js");
|
|
5
|
+
const { globalConfig } = require("./config.js");
|
|
6
|
+
|
|
7
|
+
class Client {
|
|
8
|
+
static CHUNK_SIZE = 5*1024*1024; // 5MB
|
|
9
|
+
|
|
10
|
+
constructor() {
|
|
11
|
+
this.endpoint = 'https://HOSTNAME/v1';
|
|
12
|
+
this.headers = {
|
|
13
|
+
'content-type': '',
|
|
14
|
+
'x-sdk-version': 'appwrite:cli:0.14.0',
|
|
15
|
+
'User-Agent' : `AppwriteCLI/0.14.0 (${os.type()} ${os.version()}; ${os.arch()})`,
|
|
16
|
+
'X-Appwrite-Response-Format' : '0.12.0',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Set Cookie
|
|
22
|
+
*
|
|
23
|
+
* Your cookie
|
|
24
|
+
*
|
|
25
|
+
* @param {string} cookie
|
|
26
|
+
*
|
|
27
|
+
* @return self
|
|
28
|
+
*/
|
|
29
|
+
setCookie(cookie) {
|
|
30
|
+
this.addHeader("cookie", cookie);
|
|
31
|
+
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Set Project
|
|
37
|
+
*
|
|
38
|
+
* Your project ID
|
|
39
|
+
*
|
|
40
|
+
* @param {string} project
|
|
41
|
+
*
|
|
42
|
+
* @return self
|
|
43
|
+
*/
|
|
44
|
+
setProject(project) {
|
|
45
|
+
this.addHeader('X-Appwrite-Project', project);
|
|
46
|
+
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Set Key
|
|
52
|
+
*
|
|
53
|
+
* Your secret API key
|
|
54
|
+
*
|
|
55
|
+
* @param {string} key
|
|
56
|
+
*
|
|
57
|
+
* @return self
|
|
58
|
+
*/
|
|
59
|
+
setKey(key) {
|
|
60
|
+
this.addHeader('X-Appwrite-Key', key);
|
|
61
|
+
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Set JWT
|
|
67
|
+
*
|
|
68
|
+
* Your secret JSON Web Token
|
|
69
|
+
*
|
|
70
|
+
* @param {string} jwt
|
|
71
|
+
*
|
|
72
|
+
* @return self
|
|
73
|
+
*/
|
|
74
|
+
setJWT(jwt) {
|
|
75
|
+
this.addHeader('X-Appwrite-JWT', jwt);
|
|
76
|
+
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Set Locale
|
|
82
|
+
*
|
|
83
|
+
* @param {string} locale
|
|
84
|
+
*
|
|
85
|
+
* @return self
|
|
86
|
+
*/
|
|
87
|
+
setLocale(locale) {
|
|
88
|
+
this.addHeader('X-Appwrite-Locale', locale);
|
|
89
|
+
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Set Mode
|
|
95
|
+
*
|
|
96
|
+
* @param {string} mode
|
|
97
|
+
*
|
|
98
|
+
* @return self
|
|
99
|
+
*/
|
|
100
|
+
setMode(mode) {
|
|
101
|
+
this.addHeader('X-Appwrite-Mode', mode);
|
|
102
|
+
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Set self signed.
|
|
108
|
+
*
|
|
109
|
+
* @param {bool} status
|
|
110
|
+
*
|
|
111
|
+
* @return this
|
|
112
|
+
*/
|
|
113
|
+
setSelfSigned(status) {
|
|
114
|
+
this.selfSigned = status;
|
|
115
|
+
|
|
116
|
+
return this;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Set endpoint.
|
|
121
|
+
*
|
|
122
|
+
* @param {string} endpoint
|
|
123
|
+
*
|
|
124
|
+
* @return this
|
|
125
|
+
*/
|
|
126
|
+
setEndpoint(endpoint) {
|
|
127
|
+
this.endpoint = endpoint;
|
|
128
|
+
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @param {string} key
|
|
134
|
+
* @param {string} value
|
|
135
|
+
*/
|
|
136
|
+
addHeader(key, value) {
|
|
137
|
+
this.headers[key.toLowerCase()] = value;
|
|
138
|
+
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
async call(
|
|
143
|
+
method,
|
|
144
|
+
path = "",
|
|
145
|
+
headers = {},
|
|
146
|
+
params = {},
|
|
147
|
+
responseType = "json"
|
|
148
|
+
) {
|
|
149
|
+
if (this.selfSigned == true) {
|
|
150
|
+
// Allow self signed requests
|
|
151
|
+
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
headers = Object.assign(this.headers, headers);
|
|
155
|
+
|
|
156
|
+
let contentType = headers["content-type"].toLowerCase();
|
|
157
|
+
|
|
158
|
+
let formData = null;
|
|
159
|
+
|
|
160
|
+
if (contentType.startsWith("multipart/form-data")) {
|
|
161
|
+
const form = new FormData();
|
|
162
|
+
|
|
163
|
+
let flatParams = Client.flatten(params);
|
|
164
|
+
|
|
165
|
+
for (const key in flatParams) {
|
|
166
|
+
form.append(key, flatParams[key]);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
headers = {
|
|
170
|
+
...headers,
|
|
171
|
+
...form.getHeaders(),
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
formData = form;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
let options = {
|
|
178
|
+
method: method.toUpperCase(),
|
|
179
|
+
url: this.endpoint + path,
|
|
180
|
+
params: method.toUpperCase() === "GET" ? params : {},
|
|
181
|
+
headers: headers,
|
|
182
|
+
data:
|
|
183
|
+
method.toUpperCase() === "GET" ||
|
|
184
|
+
contentType.startsWith("multipart/form-data")
|
|
185
|
+
? formData
|
|
186
|
+
: params,
|
|
187
|
+
json: contentType.startsWith("application/json"),
|
|
188
|
+
responseType: responseType,
|
|
189
|
+
};
|
|
190
|
+
try {
|
|
191
|
+
let response = await axios(options);
|
|
192
|
+
if (response.headers["set-cookie"]) {
|
|
193
|
+
globalConfig.setCookie(response.headers["set-cookie"][0]);
|
|
194
|
+
}
|
|
195
|
+
return response.data;
|
|
196
|
+
} catch (error) {
|
|
197
|
+
if ("response" in error && error.response !== undefined) {
|
|
198
|
+
if (error.response && "data" in error.response) {
|
|
199
|
+
if (typeof error.response.data === "string") {
|
|
200
|
+
throw new AppwriteException(
|
|
201
|
+
error.response.data,
|
|
202
|
+
error.response.status,
|
|
203
|
+
error.response.data
|
|
204
|
+
);
|
|
205
|
+
} else {
|
|
206
|
+
throw new AppwriteException(
|
|
207
|
+
error.response.data.message,
|
|
208
|
+
error.response.status,
|
|
209
|
+
error.response.data
|
|
210
|
+
);
|
|
211
|
+
}
|
|
212
|
+
} else {
|
|
213
|
+
throw new AppwriteException(
|
|
214
|
+
error.response.statusText,
|
|
215
|
+
error.response.status,
|
|
216
|
+
error.response.data
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
} else {
|
|
220
|
+
throw new AppwriteException(error.message);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
static flatten(data, prefix = "") {
|
|
226
|
+
let output = {};
|
|
227
|
+
|
|
228
|
+
for (const key in data) {
|
|
229
|
+
let value = data[key];
|
|
230
|
+
let finalKey = prefix ? prefix + "[" + key + "]" : key;
|
|
231
|
+
|
|
232
|
+
if (Array.isArray(value)) {
|
|
233
|
+
output = Object.assign(output, Client.flatten(value, finalKey)); // @todo: handle name collision here if needed
|
|
234
|
+
} else {
|
|
235
|
+
output[finalKey] = value;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return output;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
module.exports = Client;
|