diff --git a/package-lock.json b/package-lock.json index e75ee3130..467e6d8ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,19 +8,19 @@ "name": "@appwrite/console", "version": "0.0.1", "dependencies": { - "@dittmann/ui": "^0.0.4" + "@aw-labs/ui": "*" }, "devDependencies": { - "@playwright/test": "^1.22.0", - "@sveltejs/adapter-auto": "1.0.0-next.42", - "@sveltejs/kit": "1.0.0-next.330", + "@playwright/test": "^1.22.1", + "@sveltejs/adapter-auto": "1.0.0-next.43", + "@sveltejs/kit": "1.0.0-next.335", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.44", "@testing-library/dom": "^8.13.0", "@testing-library/jest-dom": "^5.16.4", "@testing-library/svelte": "^3.1.1", "@testing-library/user-event": "^14.2.0", - "@typescript-eslint/eslint-plugin": "^5.23.0", - "@typescript-eslint/parser": "^5.23.0", + "@typescript-eslint/eslint-plugin": "^5.25.0", + "@typescript-eslint/parser": "^5.25.0", "eslint": "^8.15.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-svelte3": "^4.0.0", @@ -55,6 +55,19 @@ "node": ">=6.0.0" } }, + "node_modules/@aw-labs/icons": { + "version": "0.0.0-1", + "resolved": "https://registry.npmjs.org/@aw-labs/icons/-/icons-0.0.0-1.tgz", + "integrity": "sha512-R9y70SYD9nE5LtHd6ghj2XqpRec08s+lOObRVrINHRMZnh44ATUkUsnceaIfr+Sc8v7qPXfVepU+lwAR+DODDA==" + }, + "node_modules/@aw-labs/ui": { + "version": "0.0.0-1", + "resolved": "https://registry.npmjs.org/@aw-labs/ui/-/ui-0.0.0-1.tgz", + "integrity": "sha512-zuF87wkB1ExVhfS9QgrtpATrzbz+elTEzP0ZDfApX/ILk0Drbp5+eogv2D/3iQUZFwWwJbhR1q1VdRLc9UUnMQ==", + "dependencies": { + "@aw-labs/icons": "*" + } + }, "node_modules/@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", @@ -645,19 +658,6 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@dittmann/icons": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@dittmann/icons/-/icons-0.0.4.tgz", - "integrity": "sha512-sXcruyQ1SQr1sjVsoJF9++Y0ISpv4ILKecqh2cSJGVvucHp3UkRryLAm11AAgqHyuOLrXyL5/WUR1YhThLT/Hw==" - }, - "node_modules/@dittmann/ui": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@dittmann/ui/-/ui-0.0.4.tgz", - "integrity": "sha512-Djc9JrXz2BKkcvZjfP3teiVIfRBTxAQ7tmjYvQjwAx4gbi3HPCxPjiEUE95i9AHae6aSzk0HirIGtkW42qVa4A==", - "dependencies": { - "@dittmann/icons": "*" - } - }, "node_modules/@eslint/eslintrc": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", @@ -1141,12 +1141,12 @@ } }, "node_modules/@playwright/test": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.22.0.tgz", - "integrity": "sha512-ExcAjiECo3uTG5Sl5H4a7rKp/5TEHTI87dv9NHYEoUFuOHPhSVxB7QsuM70ktO+wTTZ9KzhwzcegxAGRmUFKEA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.22.1.tgz", + "integrity": "sha512-8ouMBUboYslHom41W8bnSEn0TwlAMHhCACwOZeuiAgzukj7KobpZ+UBwrGE0jJ0UblJbKAQNRHXL+z7sDSkb6g==", "dev": true, "dependencies": { - "playwright-core": "1.22.0" + "playwright-core": "1.22.1" }, "bin": { "playwright": "cli.js" @@ -1193,14 +1193,14 @@ } }, "node_modules/@sveltejs/adapter-auto": { - "version": "1.0.0-next.42", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0-next.42.tgz", - "integrity": "sha512-AMTrR0A2Uss1FQkpYDV/7lYgQtRHyTrvwGCrll1lwZNPexb9MZGU4+x8csGKTNgf29Dg3lCEc9JBQti89rHZbw==", + "version": "1.0.0-next.43", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0-next.43.tgz", + "integrity": "sha512-ihlAdfMWmqNbo1zHIT77HG/fBZSrAD/VBFbUjm41+7jb3XUg87tQsMbsd/SQ360IAA2atbwKc/1wNKQLfpahDw==", "dev": true, "dependencies": { "@sveltejs/adapter-cloudflare": "1.0.0-next.19", - "@sveltejs/adapter-netlify": "1.0.0-next.57", - "@sveltejs/adapter-vercel": "1.0.0-next.51" + "@sveltejs/adapter-netlify": "1.0.0-next.58", + "@sveltejs/adapter-vercel": "1.0.0-next.52" } }, "node_modules/@sveltejs/adapter-cloudflare": { @@ -1214,9 +1214,9 @@ } }, "node_modules/@sveltejs/adapter-netlify": { - "version": "1.0.0-next.57", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-1.0.0-next.57.tgz", - "integrity": "sha512-rqvOr488+7NGkEHw/D6v1Y8Fg0MbiUP/YI1uSYjKy+tA8/4FOdBgU8Nk8daPTxWEU+CpsgzvA4X8IVonuML9SA==", + "version": "1.0.0-next.58", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-1.0.0-next.58.tgz", + "integrity": "sha512-ZkL9mop/oTLfSj3tPCnTjQw7cKfoYLiptDzTypv7l+HDfE7SCFzJuK7YenjTMPoKTakFVfYAEEVIdJEySZt5MQ==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.5", @@ -1225,18 +1225,18 @@ } }, "node_modules/@sveltejs/adapter-vercel": { - "version": "1.0.0-next.51", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.51.tgz", - "integrity": "sha512-U4GSe1tYcWq90XCQfLK4qmEEVA1MyWgnT6i7LhbLVOoNP8bf3ict3xKjGrHcx/CY4jNUBA80DXSkj/hpFkweAg==", + "version": "1.0.0-next.52", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.52.tgz", + "integrity": "sha512-HEGmOX1HPGAotmosms0k88sTG9LnPMEQkpmWoyMdcffsPcT45SkJepXP/lvqNNlbUl9epZX95nqyZVie/mauRA==", "dev": true, "dependencies": { "esbuild": "^0.14.21" } }, "node_modules/@sveltejs/kit": { - "version": "1.0.0-next.330", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.330.tgz", - "integrity": "sha512-Wb95D5tOF8BViZuikqzZLAcupdS7TpXtadNPgpEOxKowmkrW8xjRrrfVdPIkNOLqAP1V+gKInmQ/gFYmnv5EjA==", + "version": "1.0.0-next.335", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.335.tgz", + "integrity": "sha512-iZutvIJSSNJJGceZOX2ZWqcyRqp9MIPnNWOgOLXqBG/Z/+KLoN8MRI0U79XIw232SAEXhhkwaJtB3UnXQSu85A==", "dev": true, "dependencies": { "@sveltejs/vite-plugin-svelte": "^1.0.0-next.32", @@ -1248,7 +1248,7 @@ "svelte-kit": "svelte-kit.js" }, "engines": { - "node": ">=14.13" + "node": ">=16" }, "peerDependencies": { "svelte": "^3.44.0" @@ -1281,23 +1281,6 @@ } } }, - "node_modules/@sveltejs/vite-plugin-svelte/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@sveltejs/vite-plugin-svelte/node_modules/magic-string": { "version": "0.26.1", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", @@ -1578,19 +1561,19 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz", - "integrity": "sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz", + "integrity": "sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/type-utils": "5.23.0", - "@typescript-eslint/utils": "5.23.0", - "debug": "^4.3.2", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/type-utils": "5.25.0", + "@typescript-eslint/utils": "5.25.0", + "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", + "ignore": "^5.2.0", "regexpp": "^3.2.0", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { @@ -1611,15 +1594,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.23.0.tgz", - "integrity": "sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", + "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/typescript-estree": "5.23.0", - "debug": "^4.3.2" + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/typescript-estree": "5.25.0", + "debug": "^4.3.4" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1638,13 +1621,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz", - "integrity": "sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", + "integrity": "sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/visitor-keys": "5.23.0" + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/visitor-keys": "5.25.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1655,13 +1638,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz", - "integrity": "sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.25.0.tgz", + "integrity": "sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.23.0", - "debug": "^4.3.2", + "@typescript-eslint/utils": "5.25.0", + "debug": "^4.3.4", "tsutils": "^3.21.0" }, "engines": { @@ -1681,9 +1664,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz", - "integrity": "sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", + "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1694,17 +1677,17 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz", - "integrity": "sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", + "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/visitor-keys": "5.23.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/visitor-keys": "5.25.0", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { @@ -1721,15 +1704,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz", - "integrity": "sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz", + "integrity": "sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/typescript-estree": "5.23.0", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/typescript-estree": "5.25.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -1745,13 +1728,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz", - "integrity": "sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", + "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.23.0", - "eslint-visitor-keys": "^3.0.0" + "@typescript-eslint/types": "5.25.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2426,9 +2409,9 @@ } }, "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -5555,9 +5538,9 @@ } }, "node_modules/playwright-core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.0.tgz", - "integrity": "sha512-XnDPiV4NCzTtXWxQdyJ6Wg8xhST3ciUjt5mITaxoqOoYggmRtofKm0PXLehfbetXh2ppPYj5U8UhtUpdIE4wag==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.1.tgz", + "integrity": "sha512-H+ZUVYnceWNXrRf3oxTEKAr81QzFsCKu5Fp//fEjQvqgKkfA1iX3E9DBrPJpPNOrgVzcE+IqeI0fDmYJe6Ynnw==", "dev": true, "bin": { "playwright": "cli.js" @@ -6070,9 +6053,9 @@ } }, "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -7031,6 +7014,19 @@ "@jridgewell/trace-mapping": "^0.3.0" } }, + "@aw-labs/icons": { + "version": "0.0.0-1", + "resolved": "https://registry.npmjs.org/@aw-labs/icons/-/icons-0.0.0-1.tgz", + "integrity": "sha512-R9y70SYD9nE5LtHd6ghj2XqpRec08s+lOObRVrINHRMZnh44ATUkUsnceaIfr+Sc8v7qPXfVepU+lwAR+DODDA==" + }, + "@aw-labs/ui": { + "version": "0.0.0-1", + "resolved": "https://registry.npmjs.org/@aw-labs/ui/-/ui-0.0.0-1.tgz", + "integrity": "sha512-zuF87wkB1ExVhfS9QgrtpATrzbz+elTEzP0ZDfApX/ILk0Drbp5+eogv2D/3iQUZFwWwJbhR1q1VdRLc9UUnMQ==", + "requires": { + "@aw-labs/icons": "*" + } + }, "@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", @@ -7480,19 +7476,6 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@dittmann/icons": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@dittmann/icons/-/icons-0.0.4.tgz", - "integrity": "sha512-sXcruyQ1SQr1sjVsoJF9++Y0ISpv4ILKecqh2cSJGVvucHp3UkRryLAm11AAgqHyuOLrXyL5/WUR1YhThLT/Hw==" - }, - "@dittmann/ui": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@dittmann/ui/-/ui-0.0.4.tgz", - "integrity": "sha512-Djc9JrXz2BKkcvZjfP3teiVIfRBTxAQ7tmjYvQjwAx4gbi3HPCxPjiEUE95i9AHae6aSzk0HirIGtkW42qVa4A==", - "requires": { - "@dittmann/icons": "*" - } - }, "@eslint/eslintrc": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", @@ -7882,12 +7865,12 @@ } }, "@playwright/test": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.22.0.tgz", - "integrity": "sha512-ExcAjiECo3uTG5Sl5H4a7rKp/5TEHTI87dv9NHYEoUFuOHPhSVxB7QsuM70ktO+wTTZ9KzhwzcegxAGRmUFKEA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.22.1.tgz", + "integrity": "sha512-8ouMBUboYslHom41W8bnSEn0TwlAMHhCACwOZeuiAgzukj7KobpZ+UBwrGE0jJ0UblJbKAQNRHXL+z7sDSkb6g==", "dev": true, "requires": { - "playwright-core": "1.22.0" + "playwright-core": "1.22.1" } }, "@rollup/pluginutils": { @@ -7925,14 +7908,14 @@ } }, "@sveltejs/adapter-auto": { - "version": "1.0.0-next.42", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0-next.42.tgz", - "integrity": "sha512-AMTrR0A2Uss1FQkpYDV/7lYgQtRHyTrvwGCrll1lwZNPexb9MZGU4+x8csGKTNgf29Dg3lCEc9JBQti89rHZbw==", + "version": "1.0.0-next.43", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0-next.43.tgz", + "integrity": "sha512-ihlAdfMWmqNbo1zHIT77HG/fBZSrAD/VBFbUjm41+7jb3XUg87tQsMbsd/SQ360IAA2atbwKc/1wNKQLfpahDw==", "dev": true, "requires": { "@sveltejs/adapter-cloudflare": "1.0.0-next.19", - "@sveltejs/adapter-netlify": "1.0.0-next.57", - "@sveltejs/adapter-vercel": "1.0.0-next.51" + "@sveltejs/adapter-netlify": "1.0.0-next.58", + "@sveltejs/adapter-vercel": "1.0.0-next.52" } }, "@sveltejs/adapter-cloudflare": { @@ -7946,9 +7929,9 @@ } }, "@sveltejs/adapter-netlify": { - "version": "1.0.0-next.57", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-1.0.0-next.57.tgz", - "integrity": "sha512-rqvOr488+7NGkEHw/D6v1Y8Fg0MbiUP/YI1uSYjKy+tA8/4FOdBgU8Nk8daPTxWEU+CpsgzvA4X8IVonuML9SA==", + "version": "1.0.0-next.58", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-1.0.0-next.58.tgz", + "integrity": "sha512-ZkL9mop/oTLfSj3tPCnTjQw7cKfoYLiptDzTypv7l+HDfE7SCFzJuK7YenjTMPoKTakFVfYAEEVIdJEySZt5MQ==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", @@ -7957,18 +7940,18 @@ } }, "@sveltejs/adapter-vercel": { - "version": "1.0.0-next.51", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.51.tgz", - "integrity": "sha512-U4GSe1tYcWq90XCQfLK4qmEEVA1MyWgnT6i7LhbLVOoNP8bf3ict3xKjGrHcx/CY4jNUBA80DXSkj/hpFkweAg==", + "version": "1.0.0-next.52", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.52.tgz", + "integrity": "sha512-HEGmOX1HPGAotmosms0k88sTG9LnPMEQkpmWoyMdcffsPcT45SkJepXP/lvqNNlbUl9epZX95nqyZVie/mauRA==", "dev": true, "requires": { "esbuild": "^0.14.21" } }, "@sveltejs/kit": { - "version": "1.0.0-next.330", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.330.tgz", - "integrity": "sha512-Wb95D5tOF8BViZuikqzZLAcupdS7TpXtadNPgpEOxKowmkrW8xjRrrfVdPIkNOLqAP1V+gKInmQ/gFYmnv5EjA==", + "version": "1.0.0-next.335", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.335.tgz", + "integrity": "sha512-iZutvIJSSNJJGceZOX2ZWqcyRqp9MIPnNWOgOLXqBG/Z/+KLoN8MRI0U79XIw232SAEXhhkwaJtB3UnXQSu85A==", "dev": true, "requires": { "@sveltejs/vite-plugin-svelte": "^1.0.0-next.32", @@ -7991,15 +7974,6 @@ "svelte-hmr": "^0.14.11" }, "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "magic-string": { "version": "0.26.1", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", @@ -8255,98 +8229,98 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz", - "integrity": "sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz", + "integrity": "sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/type-utils": "5.23.0", - "@typescript-eslint/utils": "5.23.0", - "debug": "^4.3.2", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/type-utils": "5.25.0", + "@typescript-eslint/utils": "5.25.0", + "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", + "ignore": "^5.2.0", "regexpp": "^3.2.0", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" } }, "@typescript-eslint/parser": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.23.0.tgz", - "integrity": "sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", + "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/typescript-estree": "5.23.0", - "debug": "^4.3.2" + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/typescript-estree": "5.25.0", + "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz", - "integrity": "sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", + "integrity": "sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==", "dev": true, "requires": { - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/visitor-keys": "5.23.0" + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/visitor-keys": "5.25.0" } }, "@typescript-eslint/type-utils": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz", - "integrity": "sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.25.0.tgz", + "integrity": "sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.23.0", - "debug": "^4.3.2", + "@typescript-eslint/utils": "5.25.0", + "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz", - "integrity": "sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", + "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz", - "integrity": "sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", + "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/visitor-keys": "5.23.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/visitor-keys": "5.25.0", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" } }, "@typescript-eslint/utils": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz", - "integrity": "sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz", + "integrity": "sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/typescript-estree": "5.23.0", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/typescript-estree": "5.25.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz", - "integrity": "sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==", + "version": "5.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", + "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.23.0", - "eslint-visitor-keys": "^3.0.0" + "@typescript-eslint/types": "5.25.0", + "eslint-visitor-keys": "^3.3.0" } }, "abab": { @@ -8863,9 +8837,9 @@ } }, "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -11139,9 +11113,9 @@ } }, "playwright-core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.0.tgz", - "integrity": "sha512-XnDPiV4NCzTtXWxQdyJ6Wg8xhST3ciUjt5mITaxoqOoYggmRtofKm0PXLehfbetXh2ppPYj5U8UhtUpdIE4wag==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.1.tgz", + "integrity": "sha512-H+ZUVYnceWNXrRf3oxTEKAr81QzFsCKu5Fp//fEjQvqgKkfA1iX3E9DBrPJpPNOrgVzcE+IqeI0fDmYJe6Ynnw==", "dev": true }, "postcss": { @@ -11507,9 +11481,9 @@ } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" diff --git a/package.json b/package.json index 2a9715328..7908bf5e9 100644 --- a/package.json +++ b/package.json @@ -19,19 +19,19 @@ "e2e": "playwright test tests/e2e" }, "dependencies": { - "@dittmann/ui": "^0.0.4" + "@aw-labs/ui": "*" }, "devDependencies": { - "@playwright/test": "^1.22.0", - "@sveltejs/adapter-auto": "1.0.0-next.42", - "@sveltejs/kit": "1.0.0-next.330", + "@playwright/test": "^1.22.1", + "@sveltejs/adapter-auto": "1.0.0-next.43", + "@sveltejs/kit": "1.0.0-next.335", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.44", "@testing-library/dom": "^8.13.0", "@testing-library/jest-dom": "^5.16.4", "@testing-library/svelte": "^3.1.1", "@testing-library/user-event": "^14.2.0", - "@typescript-eslint/eslint-plugin": "^5.23.0", - "@typescript-eslint/parser": "^5.23.0", + "@typescript-eslint/eslint-plugin": "^5.25.0", + "@typescript-eslint/parser": "^5.25.0", "eslint": "^8.15.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-svelte3": "^4.0.0", diff --git a/src/app.html b/src/app.html index 0a8eee3e0..468e95de3 100644 --- a/src/app.html +++ b/src/app.html @@ -1,5 +1,5 @@ - + diff --git a/src/lib/layout/cover.svelte b/src/lib/layout/cover.svelte index 4daedaae5..68aac55b5 100644 --- a/src/lib/layout/cover.svelte +++ b/src/lib/layout/cover.svelte @@ -10,15 +10,3 @@ - - diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte index 605413d8d..895e6328f 100644 --- a/src/routes/__layout.svelte +++ b/src/routes/__layout.svelte @@ -1,5 +1,5 @@ diff --git a/src/routes/console/[project]/__layout.svelte b/src/routes/console/[project]/__layout.svelte index 09d3c3a5e..d6da7f61b 100644 --- a/src/routes/console/[project]/__layout.svelte +++ b/src/routes/console/[project]/__layout.svelte @@ -26,18 +26,22 @@ } if (browser) { sdkForConsole.subscribe('console', (message) => { - switch (message.event) { - case 'database.attributes.create': - collection.addAttribute(message.payload); - break; + if (message.events.includes('collections.*.attributes.*.create')) { + collection.addAttribute(message.payload); - case 'database.attributes.update': - collection.updateAttribute(message.payload); - break; + return; + } - case 'database.attributes.delete': - collection.removeAttribute(message.payload); - break; + if (message.events.includes('collections.*.attributes.*.update')) { + collection.updateAttribute(message.payload); + + return; + } + + if (message.events.includes('collections.*.attributes.*.delete')) { + collection.removeAttribute(message.payload); + + return; } }); } diff --git a/src/routes/console/[project]/settings/members.svelte b/src/routes/console/[project]/settings/members.svelte index 0f5568182..1673ad189 100644 --- a/src/routes/console/[project]/settings/members.svelte +++ b/src/routes/console/[project]/settings/members.svelte @@ -19,12 +19,12 @@ {#each response.memberships as membership}

- {membership.name} + {membership.userName}

{#each membership.roles as role} @@ -35,7 +35,7 @@ {/if}
- {membership.email} + {membership.userEmail} diff --git a/src/routes/console/[project]/users/teams/[team]/index.svelte b/src/routes/console/[project]/users/teams/[team]/index.svelte index ba1cff53c..adb6b52a5 100644 --- a/src/routes/console/[project]/users/teams/[team]/index.svelte +++ b/src/routes/console/[project]/users/teams/[team]/index.svelte @@ -44,8 +44,8 @@ {#each members.memberships as membership}

- {membership.name} - {membership.email} + {membership.userName} + {membership.userEmail}

diff --git a/src/sdk.ts b/src/sdk.ts index ec2e7779d..5c6dc1b33 100644 --- a/src/sdk.ts +++ b/src/sdk.ts @@ -1130,18 +1130,22 @@ namespace Models { * User ID. */ userId: string; + /** + * User name. + */ + userName: string; + /** + * User email address. + */ + userEmail: string; /** * Team ID. */ teamId: string; /** - * User name. + * Team name. */ - name: string; - /** - * User email address. - */ - email: string; + teamName: string; /** * Date, the user has been invited to join the team in Unix timestamp. */ @@ -1335,9 +1339,9 @@ namespace Models { */ statusCode: number; /** - * The script stdout output string. Logs the last 4,000 characters of the execution stdout output. + * The script response output string. Logs the last 4,000 characters of the execution response output. */ - stdout: string; + response: string; /** * The script stderr output string. Logs the last 4,000 characters of the execution stderr output */ @@ -1435,6 +1439,14 @@ namespace Models { * Apple OAuth secret ID. */ providerAppleSecret: string; + /** + * Auth0 OAuth app ID. + */ + providerAuth0Appid: string; + /** + * Auth0 OAuth secret ID. + */ + providerAuth0Secret: string; /** * BitBucket OAuth app ID. */ @@ -1531,6 +1543,14 @@ namespace Models { * Notion OAuth secret ID. */ providerNotionSecret: string; + /** + * Okta OAuth app ID. + */ + providerOktaAppid: string; + /** + * Okta OAuth secret ID. + */ + providerOktaSecret: string; /** * PayPal OAuth app ID. */ @@ -1596,13 +1616,13 @@ namespace Models { */ providerTwitchSecret: string; /** - * VK OAuth app ID. + * Zoom OAuth app ID. */ - providerVkAppid: string; + providerZoomAppid: string; /** - * VK OAuth secret ID. + * Zoom OAuth secret ID. */ - providerVkSecret: string; + providerZoomSecret: string; /** * Yahoo OAuth app ID. */ @@ -2231,31 +2251,31 @@ namespace Models { /** * Aggregated stats for number of requests. */ - requests: any[]; + requests: MetricList[]; /** * Aggregated stats for consumed bandwidth. */ - network: any[]; + network: MetricList[]; /** * Aggregated stats for function executions. */ - functions: any[]; + functions: MetricList[]; /** * Aggregated stats for number of documents. */ - documents: any[]; + documents: MetricList[]; /** * Aggregated stats for number of collections. */ - collections: any[]; + collections: MetricList[]; /** * Aggregated stats for number of users. */ - users: any[]; + users: MetricList[]; /** * Aggregated stats for the occupied storage size (in bytes). */ - storage: any[]; + storage: MetricList[]; }; } @@ -2282,7 +2302,7 @@ type RealtimeRequest = { }; export type RealtimeResponseEvent = { - event: string; + events: string[]; channels: string[]; timestamp: number; payload: T; @@ -2367,7 +2387,7 @@ class Appwrite { }; headers: Headers = { 'x-sdk-version': 'appwrite:web:5.0.0', - 'X-Appwrite-Response-Format': '0.13.0' + 'X-Appwrite-Response-Format': '0.14.0' }; /** @@ -2860,33 +2880,6 @@ class Appwrite { ); }, - /** - * Delete Account - * - * Delete a currently logged in user account. Behind the scene, the user - * record is not deleted but permanently blocked from any access. This is done - * to avoid deleted accounts being overtaken by new users with the same email - * address. Any user-related resources like documents or storage files should - * be deleted separately. - * - * @throws {AppwriteException} - * @returns {Promise} - */ - delete: async (): Promise<{}> => { - let path = '/account'; - let payload: Payload = {}; - - const uri = new URL(this.config.endpoint + path); - return await this.call( - 'delete', - uri, - { - 'content-type': 'application/json' - }, - payload - ); - }, - /** * Update Account Email * @@ -3038,7 +3031,7 @@ class Appwrite { * * Update currently logged in user password. For validation, user is required * to pass in the new password, and the old password. For users created with - * OAuth and Team Invites, oldPassword is optional. + * OAuth, Team Invites and Magic URL, oldPassword is optional. * * @param {string} password * @param {string} oldPassword @@ -3575,6 +3568,9 @@ class Appwrite { /** * Update Session (Refresh Tokens) * + * Access tokens have limited lifespan and expire to mitigate security risks. + * If session was created using an OAuth provider, this route can be used to + * "refresh" the access token. * * @param {string} sessionId * @throws {AppwriteException} @@ -3630,6 +3626,33 @@ class Appwrite { ); }, + /** + * Update Account Status + * + * Block the currently logged in user account. Behind the scene, the user + * record is not deleted but permanently blocked from any access. To + * completely delete a user, use the Users API instead. + * + * @throws {AppwriteException} + * @returns {Promise} + */ + updateStatus: async (): Promise< + Models.User + > => { + let path = '/account/status'; + let payload: Payload = {}; + + const uri = new URL(this.config.endpoint + path); + return await this.call( + 'patch', + uri, + { + 'content-type': 'application/json' + }, + payload + ); + }, + /** * Create Email Verification * @@ -3726,9 +3749,14 @@ class Appwrite { * Get Browser Icon * * You can use this endpoint to show different browser icons to your users. - * The code argument receives the browser code as it appears in your user - * /account/sessions endpoint. Use width, height and quality arguments to - * change the output settings. + * The code argument receives the browser code as it appears in your user [GET + * /account/sessions](/docs/client/account#accountGetSessions) endpoint. Use + * width, height and quality arguments to change the output settings. + * + * When one dimension is specified and the other is 0, the image is scaled + * with preserved aspect ratio. If both dimensions are 0, the API provides an + * image at source quality. If dimensions are not specified, the default size + * of image returned is 100x100px. * * @param {string} code * @param {number} width @@ -3773,6 +3801,12 @@ class Appwrite { * provider you need. Use width, height and quality arguments to change the * output settings. * + * When one dimension is specified and the other is 0, the image is scaled + * with preserved aspect ratio. If both dimensions are 0, the API provides an + * image at source quality. If dimensions are not specified, the default size + * of image returned is 100x100px. + * + * * @param {string} code * @param {number} width * @param {number} height @@ -3848,6 +3882,12 @@ class Appwrite { * users. The code argument receives the 2 letter country code. Use width, * height and quality arguments to change the output settings. * + * When one dimension is specified and the other is 0, the image is scaled + * with preserved aspect ratio. If both dimensions are 0, the API provides an + * image at source quality. If dimensions are not specified, the default size + * of image returned is 100x100px. + * + * * @param {string} code * @param {number} width * @param {number} height @@ -3892,6 +3932,12 @@ class Appwrite { * remote images in your app or in case you want to make sure a 3rd party * image is properly served using a TLS protocol. * + * When one dimension is specified and the other is 0, the image is scaled + * with preserved aspect ratio. If both dimensions are 0, the API provides an + * image at source quality. If dimensions are not specified, the default size + * of image returned is 400x400px. + * + * * @param {string} url * @param {number} width * @param {number} height @@ -3941,6 +3987,12 @@ class Appwrite { * the user's initials when reloading the same theme will always return for * the same initials. * + * When one dimension is specified and the other is 0, the image is scaled + * with preserved aspect ratio. If both dimensions are 0, the API provides an + * image at source quality. If dimensions are not specified, the default size + * of image returned is 100x100px. + * + * * @param {string} name * @param {number} width * @param {number} height @@ -3994,6 +4046,7 @@ class Appwrite { * Converts a given plain text to a QR code image. You can use the query * parameters to change the size and style of the resulting image. * + * * @param {string} text * @param {number} size * @param {number} margin @@ -5227,9 +5280,7 @@ class Appwrite { /** * Delete Document * - * Delete a document by its unique ID. This endpoint deletes only the parent - * documents, its attributes and relations to other documents. Child documents - * **will not** be deleted. + * Delete a document by its unique ID. * * @param {string} collectionId * @param {string} documentId @@ -5983,7 +6034,7 @@ class Appwrite { entrypoint: string, code: File, activate: boolean, - onProgress?: (progress: UploadProgress) => UploadProgress + onProgress = (_progress: UploadProgress) => {} ): Promise => { if (typeof functionId === 'undefined') { throw new AppwriteException('Missing required parameter: "functionId"'); @@ -6062,8 +6113,8 @@ class Appwrite { onProgress({ $id: response.$id, progress: - (Math.min((counter + 1) * Appwrite.CHUNK_SIZE, size) / size) * 100, - sizeUploaded: end + 1, + (Math.min((counter + 1) * Appwrite.CHUNK_SIZE - 1, size) / size) * 100, + sizeUploaded: end, chunksTotal: response.chunksTotal, chunksUploaded: response.chunksUploaded }); @@ -6574,30 +6625,6 @@ class Appwrite { ); }, - /** - * Get Usage Queue - * - * Get the number of usage stats that are waiting to be processed in the - * Appwrite internal queue server. - * - * @throws {AppwriteException} - * @returns {Promise} - */ - getQueueUsage: async (): Promise => { - let path = '/health/queue/usage'; - let payload: Payload = {}; - - const uri = new URL(this.config.endpoint + path); - return await this.call( - 'get', - uri, - { - 'content-type': 'application/json' - }, - payload - ); - }, - /** * Get Webhooks Queue * @@ -8661,7 +8688,7 @@ class Appwrite { file: File, read?: string[], write?: string[], - onProgress?: (progress: UploadProgress) => UploadProgress + onProgress = (_progress: UploadProgress) => {} ): Promise => { if (typeof bucketId === 'undefined') { throw new AppwriteException('Missing required parameter: "bucketId"'); @@ -8750,8 +8777,8 @@ class Appwrite { onProgress({ $id: response.$id, progress: - (Math.min((counter + 1) * Appwrite.CHUNK_SIZE, size) / size) * 100, - sizeUploaded: end + 1, + (Math.min((counter + 1) * Appwrite.CHUNK_SIZE - 1, size) / size) * 100, + sizeUploaded: end, chunksTotal: response.chunksTotal, chunksUploaded: response.chunksUploaded }); @@ -9328,6 +9355,48 @@ class Appwrite { ); }, + /** + * List Team Logs + * + * Get the team activity logs list by its unique ID. + * + * @param {string} teamId + * @param {number} limit + * @param {number} offset + * @throws {AppwriteException} + * @returns {Promise} + */ + listLogs: async ( + teamId: string, + limit?: number, + offset?: number + ): Promise => { + if (typeof teamId === 'undefined') { + throw new AppwriteException('Missing required parameter: "teamId"'); + } + + let path = '/teams/{teamId}/logs'.replace('{teamId}', teamId); + let payload: Payload = {}; + + if (typeof limit !== 'undefined') { + payload['limit'] = limit; + } + + if (typeof offset !== 'undefined') { + payload['offset'] = offset; + } + + const uri = new URL(this.config.endpoint + path); + return await this.call( + 'get', + uri, + { + 'content-type': 'application/json' + }, + payload + ); + }, + /** * Get Team Memberships * @@ -9853,7 +9922,11 @@ class Appwrite { /** * Delete User * - * Delete a user by its unique ID. + * Delete a user by its unique ID, thereby releasing it's ID. Since ID is + * released and can be reused, all user-related resources like documents or + * storage files should be deleted before user deletion. If you want to keep + * ID reserved, use the [updateStatus](/docs/server/users#usersUpdateStatus) + * endpoint instead. * * @param {string} userId * @throws {AppwriteException} @@ -9960,6 +10033,34 @@ class Appwrite { ); }, + /** + * Get User Memberships + * + * Get the user membership list by its unique ID. + * + * @param {string} userId + * @throws {AppwriteException} + * @returns {Promise} + */ + getMemberships: async (userId: string): Promise => { + if (typeof userId === 'undefined') { + throw new AppwriteException('Missing required parameter: "userId"'); + } + + let path = '/users/{userId}/memberships'.replace('{userId}', userId); + let payload: Payload = {}; + + const uri = new URL(this.config.endpoint + path); + return await this.call( + 'get', + uri, + { + 'content-type': 'application/json' + }, + payload + ); + }, + /** * Update Name * @@ -10206,7 +10307,8 @@ class Appwrite { /** * Update User Status * - * Update the user status by its unique ID. + * Update the user status by its unique ID. Use this endpoint as an + * alternative to deleting a user if you want to keep user's ID reserved. * * @param {string} userId * @param {boolean} status diff --git a/tests/e2e/login.spec.ts b/tests/e2e/login.spec.ts index d73728622..59cdbf7b9 100644 --- a/tests/e2e/login.spec.ts +++ b/tests/e2e/login.spec.ts @@ -23,6 +23,7 @@ test('login page has inputs and button', async ({ page }) => { test('login page has a working sign up link', async ({ page }) => { await page.goto('/login'); + await page.waitForTimeout(100); const signup = page.locator('a[href="/register"]'); expect(await signup.isVisible()); await signup.click(); diff --git a/tests/unit/components/dropList.test.ts b/tests/unit/components/dropList.test.ts index 9a88fed4e..cbab35d95 100644 --- a/tests/unit/components/dropList.test.ts +++ b/tests/unit/components/dropList.test.ts @@ -23,6 +23,7 @@ test('hide drop list on body click', async () => { const dropList = document.querySelector('ul'); await fireEvent.click(body); + await new Promise((r) => setTimeout(r, 200)); expect(dropList).not.toBeInTheDocument(); }); @@ -32,6 +33,7 @@ test('hide drop list on wrapper click', async () => { const dropList = document.querySelector('ul'); await fireEvent.click(wrapper); + await new Promise((r) => setTimeout(r, 200)); expect(dropList).not.toBeInTheDocument(); }); @@ -40,5 +42,6 @@ test('drop list visible on list click', async () => { const dropList = document.querySelector('ul'); await fireEvent.click(dropList); + await new Promise((r) => setTimeout(r, 200)); expect(dropList).toBeInTheDocument(); });