lungo-cli
Advanced tools
+6
-5
| Metadata-Version: 2.1 | ||
| Name: lungo-cli | ||
| Version: 0.5.10 | ||
| Version: 0.5.11 | ||
| Summary: A user-friendly home lab setup designed for small-to-mid-scale on-premises hosting. | ||
@@ -12,11 +12,12 @@ Home-page: https://github.com/raymond-u/lungo | ||
| Classifier: Programming Language :: Python :: 3.12 | ||
| Classifier: Programming Language :: Python :: 3.13 | ||
| Requires-Dist: aenum (>=3.1.15,<4.0.0) | ||
| Requires-Dist: cryptography (>=42.0.8,<43.0.0) | ||
| Requires-Dist: cryptography (>=43.0.3,<44.0.0) | ||
| Requires-Dist: jinja2 (>=3.1.4,<4.0.0) | ||
| Requires-Dist: packaging (>=24.1,<25.0) | ||
| Requires-Dist: platformdirs (>=4.2.2,<5.0.0) | ||
| Requires-Dist: platformdirs (>=4.3.6,<5.0.0) | ||
| Requires-Dist: pydantic-yaml (>=1.3.0,<2.0.0) | ||
| Requires-Dist: pydantic[email] (>=2.8.2,<3.0.0) | ||
| Requires-Dist: pydantic[email] (>=2.9.2,<3.0.0) | ||
| Requires-Dist: requests (>=2.32.3,<3.0.0) | ||
| Requires-Dist: typer (>=0.12.4,<0.13.0) | ||
| Requires-Dist: typer (>=0.12.5,<0.13.0) | ||
| Project-URL: Documentation, https://raymond-u.github.io/lungo/ | ||
@@ -23,0 +24,0 @@ Project-URL: Repository, https://github.com/raymond-u/lungo |
+7
-7
@@ -6,3 +6,3 @@ [tool.black] | ||
| name = "lungo-cli" | ||
| version = "0.5.10" | ||
| version = "0.5.11" | ||
| description = "A user-friendly home lab setup designed for small-to-mid-scale on-premises hosting." | ||
@@ -19,13 +19,13 @@ authors = ["raymond-u <36328498+raymond-u@users.noreply.github.com>"] | ||
| aenum = "^3.1.15" | ||
| cryptography = "^42.0.8" | ||
| cryptography = "^43.0.3" | ||
| jinja2 = "^3.1.4" | ||
| packaging = "^24.1" | ||
| platformdirs = "^4.2.2" | ||
| pydantic = { extras = ["email"], version = "^2.8.2" } | ||
| platformdirs = "^4.3.6" | ||
| pydantic = { extras = ["email"], version = "^2.9.2" } | ||
| pydantic-yaml = "^1.3.0" | ||
| requests = "^2.32.3" | ||
| typer = "^0.12.4" | ||
| typer = "^0.12.5" | ||
| [tool.poetry.group.dev.dependencies] | ||
| black = "^24.8.0" | ||
| black = "^24.10.0" | ||
@@ -38,3 +38,3 @@ [tool.poetry.group.docs] | ||
| mkdocs-glightbox = "^0.4.0" | ||
| mkdocs-material = "^9.5.32" | ||
| mkdocs-material = "^9.5.44" | ||
| mkdocs-typer = "^0.0.3" | ||
@@ -41,0 +41,0 @@ |
@@ -18,3 +18,3 @@ import platform | ||
| OATHKEEPER_VERSION: Final = "v0.40.7" | ||
| NODE_VERSION: Final = "20.16.0-alpine" | ||
| NODE_VERSION: Final = "22.11.0-alpine" | ||
@@ -21,0 +21,0 @@ KETO_ADMIN_API_BASE_URL: Final = "http://127.0.0.1:3939" |
@@ -9,3 +9,3 @@ from typing import Any, override | ||
| name="filebrowser", | ||
| version="0.3.2", | ||
| version="0.3.3", | ||
| descriptive_name="File Browser", | ||
@@ -25,3 +25,3 @@ description="File Browser as a Lungo plugin.", | ||
| "filebrowser_default_password_hash": "$2a$10$aulj1r/ROe0VnA1iE2/ojOItBBFeHK0KLMv5mnl3ECXfiNLKfcKHi", | ||
| "filebrowser_version": "v2.30.0", | ||
| "filebrowser_version": "v2.31.2", | ||
| } |
@@ -15,3 +15,3 @@ from pathlib import Path | ||
| name="jupyterhub", | ||
| version="0.3.4", | ||
| version="0.3.5", | ||
| descriptive_name="JupyterHub", | ||
@@ -44,3 +44,3 @@ description="JupyterHub as a Lungo plugin.", | ||
| "jupyterhub_version": "4.1.6", | ||
| "jupyterlab_version": "4.2.4", | ||
| "jupyterlab_version": "4.3.0", | ||
| } | ||
@@ -47,0 +47,0 @@ |
@@ -0,1 +1,2 @@ | ||
| copilot-enabled=1 | ||
| session-default-working-dir=~ |
@@ -15,3 +15,3 @@ from pathlib import Path | ||
| name="rstudio", | ||
| version="0.3.3", | ||
| version="0.3.4", | ||
| descriptive_name="RStudio", | ||
@@ -40,3 +40,3 @@ description="RStudio as a Lungo plugin.", | ||
| "rstudio_password": self.settings.password or self.file_utils.read_text(self.password_file), | ||
| "rstudio_version": "4.4.1", | ||
| "rstudio_version": "4.4.2", | ||
| } | ||
@@ -43,0 +43,0 @@ |
@@ -12,3 +12,3 @@ import base64 | ||
| name="rustdesk", | ||
| version="0.2.0", | ||
| version="0.2.1", | ||
| descriptive_name="RustDesk", | ||
@@ -36,3 +36,3 @@ description="RustDesk as a Lungo plugin.", | ||
| "rustdesk_public_key": self.file_utils.read_text(self.public_key_file), | ||
| "rustdesk_server_version": "1.1.11-1", | ||
| "rustdesk_server_version": "1.1.12", | ||
| } | ||
@@ -39,0 +39,0 @@ |
@@ -10,3 +10,3 @@ from pathlib import Path | ||
| name="stirlingpdf", | ||
| version="0.2.0", | ||
| version="0.2.1", | ||
| descriptive_name="Stirling PDF", | ||
@@ -27,3 +27,3 @@ description="Stirling PDF as a Lungo plugin.", | ||
| def get_custom_rendering_context(self) -> dict[str, Any]: | ||
| return {"stirlingpdf_version": "0.26.1"} | ||
| return {"stirlingpdf_version": "0.31.1"} | ||
@@ -30,0 +30,0 @@ @override |
@@ -19,3 +19,3 @@ from ipaddress import IPv4Network | ||
| name="xray", | ||
| version="0.3.3", | ||
| version="0.3.4", | ||
| descriptive_name="Xray", | ||
@@ -49,3 +49,3 @@ description="Xray as a Lungo plugin.", | ||
| "xray_salt": salt, | ||
| "xray_version": "1.8.23", | ||
| "xray_version": "24.11.5", | ||
| } | ||
@@ -52,0 +52,0 @@ |
| highlight.js@^11.10.0 | ||
| uuid@^10.0.0 | ||
| uuid@^11.0.2 |
@@ -15,38 +15,38 @@ { | ||
| "dependencies": { | ||
| "openapi-fetch": "^0.9.7", | ||
| "set-cookie-parser": "^2.7.0" | ||
| "openapi-fetch": "^0.13.0", | ||
| "set-cookie-parser": "^2.7.1" | ||
| }, | ||
| "devDependencies": { | ||
| "@sveltejs/adapter-node": "^5.2.2", | ||
| "@sveltejs/enhanced-img": "^0.3.3", | ||
| "@sveltejs/kit": "^2.5.24", | ||
| "@sveltejs/vite-plugin-svelte": "^3.1.1", | ||
| "@tailwindcss/typography": "^0.5.14", | ||
| "@sveltejs/adapter-node": "^5.2.9", | ||
| "@sveltejs/enhanced-img": "^0.3.10", | ||
| "@sveltejs/kit": "^2.7.7", | ||
| "@sveltejs/vite-plugin-svelte": "^3.1.2", | ||
| "@tailwindcss/typography": "^0.5.15", | ||
| "@types/set-cookie-parser": "^2.4.10", | ||
| "autoprefixer": "^10.4.20", | ||
| "daisyui": "^4.12.10", | ||
| "eslint": "^9.9.0", | ||
| "daisyui": "^4.12.14", | ||
| "eslint": "^9.14.0", | ||
| "eslint-config-prettier": "^9.1.0", | ||
| "eslint-plugin-svelte": "^2.43.0", | ||
| "globals": "^15.9.0", | ||
| "json-schema-to-typescript": "^15.0.0", | ||
| "openapi-typescript": "^6.7.6", | ||
| "postcss": "^8.4.41", | ||
| "eslint-plugin-svelte": "^2.46.0", | ||
| "globals": "^15.12.0", | ||
| "json-schema-to-typescript": "^15.0.2", | ||
| "openapi-typescript": "^7.4.2", | ||
| "postcss": "^8.4.47", | ||
| "postcss-load-config": "^4.0.2", | ||
| "prettier": "^3.3.3", | ||
| "prettier-plugin-svelte": "^3.2.6", | ||
| "prettier-plugin-tailwindcss": "^0.6.6", | ||
| "svelte": "^4.2.18", | ||
| "svelte-check": "^3.8.5", | ||
| "tailwindcss": "^3.4.10", | ||
| "typescript": "^5.5.4", | ||
| "typescript-eslint": "^8.2.0", | ||
| "vite": "^5.4.1" | ||
| "prettier-plugin-svelte": "^3.2.7", | ||
| "prettier-plugin-tailwindcss": "^0.6.8", | ||
| "svelte": "^4.2.19", | ||
| "svelte-check": "^4.0.5", | ||
| "tailwindcss": "^3.4.14", | ||
| "typescript": "^5.6.3", | ||
| "typescript-eslint": "^8.13.0", | ||
| "vite": "^5.4.10" | ||
| }, | ||
| "type": "module", | ||
| "engines": { | ||
| "node": ">=20.0.0", | ||
| "node": ">=22.0.0", | ||
| "pnpm": "^9.0.0" | ||
| }, | ||
| "packageManager": "pnpm@9.7.1" | ||
| "packageManager": "pnpm@9.12.3" | ||
| } |
@@ -8,2 +8,9 @@ /** | ||
| "/admin/relation-tuples": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| get?: never | ||
| /** | ||
@@ -14,2 +21,3 @@ * Create a Relationship | ||
| put: operations["createRelationship"] | ||
| post?: never | ||
| /** | ||
@@ -20,2 +28,4 @@ * Delete Relationships | ||
| delete: operations["deleteRelationships"] | ||
| options?: never | ||
| head?: never | ||
| /** | ||
@@ -26,32 +36,65 @@ * Patch Multiple Relationships | ||
| patch: operations["patchRelationships"] | ||
| trace?: never | ||
| } | ||
| "/health/alive": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| /** | ||
| * Check HTTP Server Status | ||
| * @description This endpoint returns a HTTP 200 status code when Ory Keto is accepting incoming | ||
| * HTTP requests. This status does currently not include checks whether the database connection is working. | ||
| * HTTP requests. This status does currently not include checks whether the database connection is working. | ||
| * | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * | ||
| * Be aware that if you are running multiple nodes of this service, the health status will never | ||
| * refer to the cluster state, only to a single instance. | ||
| * Be aware that if you are running multiple nodes of this service, the health status will never | ||
| * refer to the cluster state, only to a single instance. | ||
| */ | ||
| get: operations["isAlive"] | ||
| put?: never | ||
| post?: never | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| "/health/ready": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| /** | ||
| * Check HTTP Server and Database Status | ||
| * @description This endpoint returns a HTTP 200 status code when Ory Keto is up running and the environment dependencies (e.g. | ||
| * the database) are responsive as well. | ||
| * the database) are responsive as well. | ||
| * | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * | ||
| * Be aware that if you are running multiple nodes of Ory Keto, the health status will never | ||
| * refer to the cluster state, only to a single instance. | ||
| * Be aware that if you are running multiple nodes of Ory Keto, the health status will never | ||
| * refer to the cluster state, only to a single instance. | ||
| */ | ||
| get: operations["isReady"] | ||
| put?: never | ||
| post?: never | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| "/namespaces": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| /** | ||
@@ -62,4 +105,19 @@ * Query namespaces | ||
| get: operations["listRelationshipNamespaces"] | ||
| put?: never | ||
| post?: never | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| "/opl/syntax/check": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| get?: never | ||
| put?: never | ||
| /** | ||
@@ -70,4 +128,15 @@ * Check the syntax of an OPL file | ||
| post: operations["checkOplSyntax"] | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| "/relation-tuples": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| /** | ||
@@ -78,4 +147,17 @@ * Query relationships | ||
| get: operations["getRelationships"] | ||
| put?: never | ||
| post?: never | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| "/relation-tuples/check": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| /** | ||
@@ -86,2 +168,3 @@ * Check a permission | ||
| get: operations["checkPermissionOrError"] | ||
| put?: never | ||
| /** | ||
@@ -92,4 +175,15 @@ * Check a permission | ||
| post: operations["postCheckPermissionOrError"] | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| "/relation-tuples/check/openapi": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| /** | ||
@@ -100,2 +194,3 @@ * Check a permission | ||
| get: operations["checkPermission"] | ||
| put?: never | ||
| /** | ||
@@ -106,4 +201,15 @@ * Check a permission | ||
| post: operations["postCheckPermission"] | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| "/relation-tuples/expand": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| /** | ||
@@ -114,4 +220,17 @@ * Expand a Relationship into permissions. | ||
| get: operations["expandPermissions"] | ||
| put?: never | ||
| post?: never | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| "/version": { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| /** | ||
@@ -121,14 +240,19 @@ * Return Running Software Version. | ||
| * | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * | ||
| * Be aware that if you are running multiple nodes of this service, the version will never | ||
| * refer to the cluster state, only to a single instance. | ||
| * Be aware that if you are running multiple nodes of this service, the version will never | ||
| * refer to the cluster state, only to a single instance. | ||
| */ | ||
| get: operations["getVersion"] | ||
| put?: never | ||
| post?: never | ||
| delete?: never | ||
| options?: never | ||
| head?: never | ||
| patch?: never | ||
| trace?: never | ||
| } | ||
| } | ||
| export type webhooks = Record<string, never> | ||
| export interface components { | ||
@@ -173,7 +297,5 @@ schemas: { | ||
| relation?: string | ||
| /** | ||
| * @description SubjectID to query | ||
| /** @description SubjectID to query | ||
| * | ||
| * Either SubjectSet or SubjectID can be provided. | ||
| */ | ||
| * Either SubjectSet or SubjectID can be provided. */ | ||
| subject_id?: string | ||
@@ -195,10 +317,10 @@ subject_set?: components["schemas"]["subjectSet"] | ||
| * @description The type of the node. | ||
| * union TreeNodeUnion | ||
| * exclusion TreeNodeExclusion | ||
| * intersection TreeNodeIntersection | ||
| * leaf TreeNodeLeaf | ||
| * tuple_to_subject_set TreeNodeTupleToSubjectSet | ||
| * computed_subject_set TreeNodeComputedSubjectSet | ||
| * not TreeNodeNot | ||
| * unspecified TreeNodeUnspecified | ||
| * union TreeNodeUnion | ||
| * exclusion TreeNodeExclusion | ||
| * intersection TreeNodeIntersection | ||
| * leaf TreeNodeLeaf | ||
| * tuple_to_subject_set TreeNodeTupleToSubjectSet | ||
| * computed_subject_set TreeNodeComputedSubjectSet | ||
| * not TreeNodeNot | ||
| * unspecified TreeNodeUnspecified | ||
| * @enum {string} | ||
@@ -226,4 +348,4 @@ */ | ||
| * | ||
| * This field is often not exposed to protect against leaking | ||
| * sensitive information. | ||
| * This field is often not exposed to protect against leaking | ||
| * sensitive information. | ||
| * @example SQL field "foo" is not a bool. | ||
@@ -236,7 +358,5 @@ */ | ||
| } | ||
| /** | ||
| * @description The error ID | ||
| /** @description The error ID | ||
| * | ||
| * Useful when trying to identify various errors in application logic. | ||
| */ | ||
| * Useful when trying to identify various errors in application logic. */ | ||
| id?: string | ||
@@ -246,3 +366,3 @@ /** | ||
| * | ||
| * The error's message. | ||
| * The error's message. | ||
| * @example The resource could not be found | ||
@@ -259,4 +379,4 @@ */ | ||
| * | ||
| * The request ID is often exposed internally in order to trace | ||
| * errors across service architectures. This is often a UUID. | ||
| * The request ID is often exposed internally in order to trace | ||
| * errors across service architectures. This is often a UUID. | ||
| * @example d7ef54b1-ec15-46e6-bccb-524b82c035e6 | ||
@@ -293,7 +413,5 @@ */ | ||
| relation?: string | ||
| /** | ||
| * @description SubjectID to query | ||
| /** @description SubjectID to query | ||
| * | ||
| * Either SubjectSet or SubjectID can be provided. | ||
| */ | ||
| * Either SubjectSet or SubjectID can be provided. */ | ||
| subject_id?: string | ||
@@ -310,7 +428,5 @@ subject_set?: components["schemas"]["subjectSet"] | ||
| relation?: string | ||
| /** | ||
| * @description SubjectID to query | ||
| /** @description SubjectID to query | ||
| * | ||
| * Either SubjectSet or SubjectID can be provided. | ||
| */ | ||
| * Either SubjectSet or SubjectID can be provided. */ | ||
| subject_id?: string | ||
@@ -327,7 +443,5 @@ subject_set?: components["schemas"]["subjectSet"] | ||
| relation?: string | ||
| /** | ||
| * @description SubjectID to query | ||
| /** @description SubjectID to query | ||
| * | ||
| * Either SubjectSet or SubjectID can be provided. | ||
| */ | ||
| * Either SubjectSet or SubjectID can be provided. */ | ||
| subject_id?: string | ||
@@ -344,7 +458,5 @@ subject_set?: components["schemas"]["subjectSet"] | ||
| relation: string | ||
| /** | ||
| * @description SubjectID of the Relation Tuple | ||
| /** @description SubjectID of the Relation Tuple | ||
| * | ||
| * Either SubjectSet or SubjectID can be provided. | ||
| */ | ||
| * Either SubjectSet or SubjectID can be provided. */ | ||
| subject_id?: string | ||
@@ -365,7 +477,5 @@ subject_set?: components["schemas"]["subjectSet"] | ||
| relationships: { | ||
| /** | ||
| * @description The opaque token to provide in a subsequent request | ||
| * to get the next page. It is the empty string iff this is | ||
| * the last page. | ||
| */ | ||
| /** @description The opaque token to provide in a subsequent request | ||
| * to get the next page. It is the empty string iff this is | ||
| * the last page. */ | ||
| next_page_token?: string | ||
@@ -391,3 +501,6 @@ relation_tuples?: components["schemas"]["relationship"][] | ||
| emptyResponse: { | ||
| content: never | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content?: never | ||
| } | ||
@@ -400,13 +513,11 @@ } | ||
| } | ||
| export type $defs = Record<string, never> | ||
| export type external = Record<string, never> | ||
| export interface operations { | ||
| /** | ||
| * Create a Relationship | ||
| * @description Use this endpoint to create a relationship. | ||
| */ | ||
| createRelationship: { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: { | ||
@@ -420,2 +531,5 @@ content: { | ||
| 201: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -427,2 +541,5 @@ "application/json": components["schemas"]["relationship"] | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -434,2 +551,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -441,6 +561,2 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Delete Relationships | ||
| * @description Use this endpoint to delete relationships | ||
| */ | ||
| deleteRelationships: { | ||
@@ -464,3 +580,7 @@ parameters: { | ||
| } | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
@@ -470,2 +590,5 @@ 204: components["responses"]["emptyResponse"] | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -477,2 +600,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -484,7 +610,9 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Patch Multiple Relationships | ||
| * @description Use this endpoint to patch one or more relationships. | ||
| */ | ||
| patchRelationships: { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: { | ||
@@ -499,2 +627,5 @@ content: { | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -506,2 +637,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| 404: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -513,2 +647,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -520,17 +657,16 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Check HTTP Server Status | ||
| * @description This endpoint returns a HTTP 200 status code when Ory Keto is accepting incoming | ||
| * HTTP requests. This status does currently not include checks whether the database connection is working. | ||
| * | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * | ||
| * Be aware that if you are running multiple nodes of this service, the health status will never | ||
| * refer to the cluster state, only to a single instance. | ||
| */ | ||
| isAlive: { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
| /** @description Ory Keto is ready to accept connections. */ | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -545,2 +681,5 @@ "application/json": { | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -552,17 +691,16 @@ "text/plain": string | ||
| } | ||
| /** | ||
| * Check HTTP Server and Database Status | ||
| * @description This endpoint returns a HTTP 200 status code when Ory Keto is up running and the environment dependencies (e.g. | ||
| * the database) are responsive as well. | ||
| * | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * | ||
| * Be aware that if you are running multiple nodes of Ory Keto, the health status will never | ||
| * refer to the cluster state, only to a single instance. | ||
| */ | ||
| isReady: { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
| /** @description Ory Keto is ready to accept requests. */ | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -577,2 +715,5 @@ "application/json": { | ||
| 503: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -589,2 +730,5 @@ "application/json": { | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -596,10 +740,16 @@ "text/plain": string | ||
| } | ||
| /** | ||
| * Query namespaces | ||
| * @description Get all namespaces | ||
| */ | ||
| listRelationshipNamespaces: { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
| /** @description relationshipNamespaces */ | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -611,2 +761,5 @@ "application/json": components["schemas"]["relationshipNamespaces"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -618,7 +771,9 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Check the syntax of an OPL file | ||
| * @description The OPL file is expected in the body of the request. | ||
| */ | ||
| checkOplSyntax: { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: { | ||
@@ -632,2 +787,5 @@ content: { | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -639,2 +797,5 @@ "application/json": components["schemas"]["checkOplSyntaxResult"] | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -646,2 +807,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -653,6 +817,2 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Query relationships | ||
| * @description Get all relationships that match the query. Only the namespace field is required. | ||
| */ | ||
| getRelationships: { | ||
@@ -678,6 +838,13 @@ parameters: { | ||
| } | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
| /** @description relationships */ | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -689,2 +856,5 @@ "application/json": components["schemas"]["relationships"] | ||
| 404: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -696,2 +866,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -703,6 +876,2 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Check a permission | ||
| * @description To learn how relationship tuples and the check works, head over to [the documentation](https://www.ory.sh/docs/keto/concepts/api-overview). | ||
| */ | ||
| checkPermissionOrError: { | ||
@@ -727,6 +896,13 @@ parameters: { | ||
| } | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
| /** @description checkPermissionResult */ | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -738,2 +914,5 @@ "application/json": components["schemas"]["checkPermissionResult"] | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -745,2 +924,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| 403: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -752,2 +934,5 @@ "application/json": components["schemas"]["checkPermissionResult"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -759,6 +944,2 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Check a permission | ||
| * @description To learn how relationship tuples and the check works, head over to [the documentation](https://www.ory.sh/docs/keto/concepts/api-overview). | ||
| */ | ||
| postCheckPermissionOrError: { | ||
@@ -769,2 +950,5 @@ parameters: { | ||
| } | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
@@ -779,2 +963,5 @@ requestBody?: { | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -786,2 +973,5 @@ "application/json": components["schemas"]["checkPermissionResult"] | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -793,2 +983,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| 403: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -800,2 +993,5 @@ "application/json": components["schemas"]["checkPermissionResult"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -807,6 +1003,2 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Check a permission | ||
| * @description To learn how relationship tuples and the check works, head over to [the documentation](https://www.ory.sh/docs/keto/concepts/api-overview). | ||
| */ | ||
| checkPermission: { | ||
@@ -831,6 +1023,13 @@ parameters: { | ||
| } | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
| /** @description checkPermissionResult */ | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -842,2 +1041,5 @@ "application/json": components["schemas"]["checkPermissionResult"] | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -849,2 +1051,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -856,6 +1061,2 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Check a permission | ||
| * @description To learn how relationship tuples and the check works, head over to [the documentation](https://www.ory.sh/docs/keto/concepts/api-overview). | ||
| */ | ||
| postCheckPermission: { | ||
@@ -866,2 +1067,5 @@ parameters: { | ||
| } | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
@@ -876,2 +1080,5 @@ requestBody?: { | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -883,2 +1090,5 @@ "application/json": components["schemas"]["checkPermissionResult"] | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -890,2 +1100,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -897,6 +1110,2 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Expand a Relationship into permissions. | ||
| * @description Use this endpoint to expand a relationship tuple into permissions. | ||
| */ | ||
| expandPermissions: { | ||
@@ -913,6 +1122,13 @@ parameters: { | ||
| } | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
| /** @description expandedPermissionTree */ | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -924,2 +1140,5 @@ "application/json": components["schemas"]["expandedPermissionTree"] | ||
| 400: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -931,2 +1150,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| 404: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -938,2 +1160,5 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| default: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -945,16 +1170,16 @@ "application/json": components["schemas"]["errorGeneric"] | ||
| } | ||
| /** | ||
| * Return Running Software Version. | ||
| * @description This endpoint returns the version of Ory Keto. | ||
| * | ||
| * If the service supports TLS Edge Termination, this endpoint does not require the | ||
| * `X-Forwarded-Proto` header to be set. | ||
| * | ||
| * Be aware that if you are running multiple nodes of this service, the version will never | ||
| * refer to the cluster state, only to a single instance. | ||
| */ | ||
| getVersion: { | ||
| parameters: { | ||
| query?: never | ||
| header?: never | ||
| path?: never | ||
| cookie?: never | ||
| } | ||
| requestBody?: never | ||
| responses: { | ||
| /** @description Returns the Ory Keto version. */ | ||
| 200: { | ||
| headers: { | ||
| [name: string]: unknown | ||
| } | ||
| content: { | ||
@@ -961,0 +1186,0 @@ "application/json": { |
@@ -13,8 +13,8 @@ import { getContext, setContext } from "svelte" | ||
| export function getPageTitle(slug: string): string { | ||
| return `${capitalize(slug)} | ${SITE_TITLE}` | ||
| } | ||
| export function useStore(): Store { | ||
| return getContext<Store>("globalStore") | ||
| } | ||
| export function usePageTitle(slug: string): string { | ||
| return `${capitalize(slug)} | ${SITE_TITLE}` | ||
| } |
@@ -15,3 +15,3 @@ import { fail, redirect } from "@sveltejs/kit" | ||
| csrf_token: data.get("csrf_token") as string, | ||
| method: data.get("method") as string, | ||
| method: data.get("method") as "password", | ||
| password: data.get("password") as string, | ||
@@ -18,0 +18,0 @@ }, |
@@ -13,12 +13,22 @@ import { fail, redirect } from "@sveltejs/kit" | ||
| params: { query: { flow: data.get("flow") as string } }, | ||
| body: { | ||
| csrf_token: data.get("csrf_token") as string, | ||
| method: data.get("method") as string, | ||
| identifier: data.get("identifier") as string, | ||
| ...(data.get("resend") | ||
| ? { resend: data.get("resend") as string } | ||
| : data.get("password") | ||
| ? { password: data.get("password") as string } | ||
| : { code: data.get("code") as string }), | ||
| }, | ||
| body: data.get("password") | ||
| ? { | ||
| csrf_token: data.get("csrf_token") as string, | ||
| method: data.get("method") as "password", | ||
| identifier: data.get("identifier") as string, | ||
| password: data.get("password") as string, | ||
| } | ||
| : data.get("resend") | ||
| ? { | ||
| csrf_token: data.get("csrf_token") as string, | ||
| method: data.get("method") as "code", | ||
| identifier: data.get("identifier") as string, | ||
| resend: data.get("resend") as string, | ||
| } | ||
| : { | ||
| csrf_token: data.get("csrf_token") as string, | ||
| method: data.get("method") as "code", | ||
| identifier: data.get("identifier") as string, | ||
| code: data.get("code") as string, | ||
| }, | ||
| }) | ||
@@ -25,0 +35,0 @@ |
@@ -13,7 +13,13 @@ import { fail, redirect } from "@sveltejs/kit" | ||
| params: { query: { flow: data.get("flow") as string } }, | ||
| body: { | ||
| csrf_token: data.get("csrf_token") as string, | ||
| method: data.get("method") as "code" | "link", | ||
| ...(data.get("email") ? { email: data.get("email") as string } : { code: data.get("code") as string }), | ||
| }, | ||
| body: data.get("email") | ||
| ? { | ||
| csrf_token: data.get("csrf_token") as string, | ||
| method: data.get("method") as "code" | "link", | ||
| email: data.get("email") as string, | ||
| } | ||
| : { | ||
| csrf_token: data.get("csrf_token") as string, | ||
| method: data.get("method") as "code", | ||
| code: data.get("code") as string, | ||
| }, | ||
| }) | ||
@@ -20,0 +26,0 @@ |
@@ -6,7 +6,11 @@ <script lang="ts"> | ||
| import { AppShell, LoadingIndicator } from "$lib/components" | ||
| import { SITE_TITLE } from "$lib/constants" | ||
| import { ETheme } from "$lib/types" | ||
| import { createStore, usePageTitle } from "$lib/utils" | ||
| import { createStore, getPageTitle } from "$lib/utils" | ||
| const { allowScroll, currentTheme, isSafari } = createStore() | ||
| let title: string | ||
| let canonicalUrl: string | ||
| onMount(() => { | ||
@@ -17,2 +21,5 @@ const theme = localStorage.getItem("theme") | ||
| }) | ||
| $: title = getPageTitle($page.data.title) | ||
| $: canonicalUrl = $page.url.origin + $page.url.pathname | ||
| </script> | ||
@@ -28,3 +35,18 @@ | ||
| <svelte:head> | ||
| <title>{usePageTitle($page.data.title)}</title> | ||
| <title>{title}</title> | ||
| <meta name="title" content={title} /> | ||
| <meta name="description" content="Welcome to {SITE_TITLE}." /> | ||
| <!-- Open Graph / Facebook --> | ||
| <meta property="og:type" content="website" /> | ||
| <meta property="og:title" content={title} /> | ||
| <meta property="og:description" content="Welcome to {SITE_TITLE}." /> | ||
| <meta property="og:url" content={canonicalUrl} /> | ||
| <!-- Twitter --> | ||
| <meta name="twitter:card" content="summary_large_image" /> | ||
| <meta name="twitter:title" content={title} /> | ||
| <meta name="twitter:description" content="Welcome to {SITE_TITLE}." /> | ||
| <meta name="twitter:url" content={canonicalUrl} /> | ||
| {#if !$allowScroll} | ||
@@ -31,0 +53,0 @@ <style> |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
20611
2.92%1441833
-0.31%