Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

lungo-cli

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lungo-cli - npm Package Compare versions

Comparing version
0.5.10
to
0.5.11
+6
-5
PKG-INFO
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

@@ -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