mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-23 17:28:29 +02:00
Work required to support the JWT plugin
This commit is contained in:
88
package-lock.json
generated
88
package-lock.json
generated
@@ -20,7 +20,7 @@
|
|||||||
"src-web"
|
"src-web"
|
||||||
],
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tauri-apps/cli": "^2.2.2",
|
"@tauri-apps/cli": "^2.2.4",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.18.1",
|
"@typescript-eslint/eslint-plugin": "^8.18.1",
|
||||||
"@typescript-eslint/parser": "^8.18.1",
|
"@typescript-eslint/parser": "^8.18.1",
|
||||||
"eslint": "^8",
|
"eslint": "^8",
|
||||||
@@ -2888,9 +2888,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli": {
|
"node_modules/@tauri-apps/cli": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.2.4.tgz",
|
||||||
"integrity": "sha512-5fVEdP4t4BT0ymvXZAM78kB0S/TaiRDLDoSRWGxVy1e7XCwuKyST5m6ybeyw/h/soK/91tbf+W3xXXy7XzkT4A==",
|
"integrity": "sha512-pihbuHEWJa9SEcN7JdEbMa0oq28MTTbk0nNNnRG8/irNQTKcjwM+KzxG2wuYZYbsXQVqwSu7PstdIEAnXqYHkw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0 OR MIT",
|
"license": "Apache-2.0 OR MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -2904,22 +2904,22 @@
|
|||||||
"url": "https://opencollective.com/tauri"
|
"url": "https://opencollective.com/tauri"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@tauri-apps/cli-darwin-arm64": "2.2.2",
|
"@tauri-apps/cli-darwin-arm64": "2.2.4",
|
||||||
"@tauri-apps/cli-darwin-x64": "2.2.2",
|
"@tauri-apps/cli-darwin-x64": "2.2.4",
|
||||||
"@tauri-apps/cli-linux-arm-gnueabihf": "2.2.2",
|
"@tauri-apps/cli-linux-arm-gnueabihf": "2.2.4",
|
||||||
"@tauri-apps/cli-linux-arm64-gnu": "2.2.2",
|
"@tauri-apps/cli-linux-arm64-gnu": "2.2.4",
|
||||||
"@tauri-apps/cli-linux-arm64-musl": "2.2.2",
|
"@tauri-apps/cli-linux-arm64-musl": "2.2.4",
|
||||||
"@tauri-apps/cli-linux-x64-gnu": "2.2.2",
|
"@tauri-apps/cli-linux-x64-gnu": "2.2.4",
|
||||||
"@tauri-apps/cli-linux-x64-musl": "2.2.2",
|
"@tauri-apps/cli-linux-x64-musl": "2.2.4",
|
||||||
"@tauri-apps/cli-win32-arm64-msvc": "2.2.2",
|
"@tauri-apps/cli-win32-arm64-msvc": "2.2.4",
|
||||||
"@tauri-apps/cli-win32-ia32-msvc": "2.2.2",
|
"@tauri-apps/cli-win32-ia32-msvc": "2.2.4",
|
||||||
"@tauri-apps/cli-win32-x64-msvc": "2.2.2"
|
"@tauri-apps/cli-win32-x64-msvc": "2.2.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-darwin-arm64": {
|
"node_modules/@tauri-apps/cli-darwin-arm64": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.2.4.tgz",
|
||||||
"integrity": "sha512-JMXbX5hGrLOzJbjisd7gBe25PmHouXA1+f4yVWg5PRlgxW7pla7krOzhu2mchFlMVDr8aLwhMLgohvvx+raXag==",
|
"integrity": "sha512-+sMLkQBFebn/UENyaXpyQqRkdFQie8RdEvYVz0AGthm2p0lMVlWiBmc4ImBJmfo8569zVeDX8B+5OWt4/AuZzA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2934,9 +2934,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-darwin-x64": {
|
"node_modules/@tauri-apps/cli-darwin-x64": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.2.4.tgz",
|
||||||
"integrity": "sha512-i2gxKXev+Ed0UWeq0xSiyRjSkzzBbu9MCOhs/QVv1YuV+097K/fF89f+a4v5JJftCq2IOHhSKH23KyTJBLnNKQ==",
|
"integrity": "sha512-6fJvXVtQJh7H8q9sll2XC2wO5bpn7bzeh+MQxpcLq6F8SE02sFuNDLN+AqX0DQnuYV0V6jdzM2+bTYOlc1FBsw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2951,9 +2951,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-linux-arm-gnueabihf": {
|
"node_modules/@tauri-apps/cli-linux-arm-gnueabihf": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.2.4.tgz",
|
||||||
"integrity": "sha512-iC2HndsN5smmbvEDUQFyTHyYHSgx7OwJ6puyXLLpkAHnQDo4TGSPxIlPeZFSZmEoaJEmHLdG3j1LcFWOKrxWQg==",
|
"integrity": "sha512-QU6Ac6tx79iqkxsDUQesCBNq8RrVSkP9HhVzS2reKthK3xbdTCwNUXoRlfhudKMVrIxV4K7uTwUV99eAnwbm5Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -2968,9 +2968,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-linux-arm64-gnu": {
|
"node_modules/@tauri-apps/cli-linux-arm64-gnu": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.2.4.tgz",
|
||||||
"integrity": "sha512-YzK30tleUzWxfIp1davc5RhvmNZxiZQkUnQ4zajGJZ99zxNk8kwvv8nYSC3/J2R8sYpnuv+7CzNyIwA2s6yH+w==",
|
"integrity": "sha512-uZhp312s6VgJJDgUg+HuHZnhjGg93OT+q/aZMoccdZVQ6dvwH8kJzIkKt9zL1U126AXXoesb1EyYmsAruxaUKA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2985,9 +2985,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-linux-arm64-musl": {
|
"node_modules/@tauri-apps/cli-linux-arm64-musl": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.2.4.tgz",
|
||||||
"integrity": "sha512-nOw2apBzOCTiH1fLOjL42ajHNhMzdp640CX5RrWkDYdyVO7YbGmWzrN26PPXohScScXVjSjtDDxdeQV1gHCxhg==",
|
"integrity": "sha512-k6JCXd9E+XU0J48nVcFr3QO//bzKg/gp8ZKagBfI2wBpHOk14CnHNBQKNs11nMQUwko4bnPeqj4llcdkbmwIbw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -3002,9 +3002,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-linux-x64-gnu": {
|
"node_modules/@tauri-apps/cli-linux-x64-gnu": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.2.4.tgz",
|
||||||
"integrity": "sha512-Tmm4qVY8yxSugi8sCko1dyZxyPGK8m3tWm+b1J0DXwzxqaoMqNXuYGxkwtUdkznPXEfQSD8OGBfwjXNmVGE91Q==",
|
"integrity": "sha512-bUBPU46OF1pNfM6SsGbUlkCBh/pTzvFlEdUpDISsS40v9NVt+kqCy3tHzLGB412E3lSlA6FnshB6HxkdRRdTtg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -3019,9 +3019,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-linux-x64-musl": {
|
"node_modules/@tauri-apps/cli-linux-x64-musl": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.2.4.tgz",
|
||||||
"integrity": "sha512-AwAcaCUhmwzOFPvje80g2BAhnkoEpXdl1E0Uk+lvr9makHM0+aV++M5jibD97yxKnK5NrQ9YXPH5Sn6CdncgUg==",
|
"integrity": "sha512-vOrpsQDiMtP8q/ZeXfXqgNi3G4Yv5LVX2vI5XkB2yvVuVF1Dvky/hcCJfi9tZQD+IpeiYxjuj7+SxHp82eQ/kA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -3036,9 +3036,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-win32-arm64-msvc": {
|
"node_modules/@tauri-apps/cli-win32-arm64-msvc": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.2.4.tgz",
|
||||||
"integrity": "sha512-u7TnwuUAN+eX6R2kDfSM8fsUFiBzNqq9PnAOsQ2qbwbHGbu7mHfGO1OFgnIzBt1C9FolFbENk2pzjiL4R9baXQ==",
|
"integrity": "sha512-iEP/Cq0ts4Ln4Zh2NSC01lkYEAhr+LotbG4U2z+gxHfCdMrtYYtYdG05C2mpeIxShzL7uEIQb/lhVRBMd7robg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -3053,9 +3053,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-win32-ia32-msvc": {
|
"node_modules/@tauri-apps/cli-win32-ia32-msvc": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.2.4.tgz",
|
||||||
"integrity": "sha512-9KScbGKU6GfHThEYWdlO0+COW/8SDfIXbYgEvEcfZztE4VedHBbI0XfU+l+aS8nJN+fvYX+DtvY0tpDwyo0G4A==",
|
"integrity": "sha512-YBbqF0wyHUT00zAGZTTbEbz/C5JDGPnT1Nodor96+tzEU6qAPRYfe5eFe/rpRARbalkpw1UkcVP0Ay8gnksAiA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
@@ -3070,9 +3070,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tauri-apps/cli-win32-x64-msvc": {
|
"node_modules/@tauri-apps/cli-win32-x64-msvc": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.2.4.tgz",
|
||||||
"integrity": "sha512-ko8OWCLwFaHfdBaKbRX/C5btNt61v17qKOSQPksuc5PVvY0tAoci09612nEMlYiogZKEtn7VAqSdRAG6h0tz+g==",
|
"integrity": "sha512-MMago/SfWZbUFrwFmPCXmmbb42h7u8Y5jvLvnK2mOpOfCAsei2tLO4hx+Inoai0l2DByuYO4Ef1xDyP6shCsZQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
"tauri-before-dev": "npm run --workspaces --if-present dev"
|
"tauri-before-dev": "npm run --workspaces --if-present dev"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tauri-apps/cli": "^2.2.2",
|
"@tauri-apps/cli": "^2.2.4",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.18.1",
|
"@typescript-eslint/eslint-plugin": "^8.18.1",
|
||||||
"@typescript-eslint/parser": "^8.18.1",
|
"@typescript-eslint/parser": "^8.18.1",
|
||||||
"eslint": "^8",
|
"eslint": "^8",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@yaakapp/api",
|
"name": "@yaakapp/api",
|
||||||
"version": "0.2.27",
|
"version": "0.2.29",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"typings": "./lib/index.d.ts",
|
"typings": "./lib/index.d.ts",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -13,7 +13,12 @@ export type BootResponse = { name: string, version: string, capabilities: Array<
|
|||||||
|
|
||||||
export type CallHttpAuthenticationRequest = { config: { [key in string]?: JsonValue }, method: string, url: string, headers: Array<HttpHeader>, };
|
export type CallHttpAuthenticationRequest = { config: { [key in string]?: JsonValue }, method: string, url: string, headers: Array<HttpHeader>, };
|
||||||
|
|
||||||
export type CallHttpAuthenticationResponse = { url: string, headers: Array<HttpHeader>, };
|
export type CallHttpAuthenticationResponse = {
|
||||||
|
/**
|
||||||
|
* HTTP headers to add to the request. Existing headers will be replaced, while
|
||||||
|
* new headers will be added.
|
||||||
|
*/
|
||||||
|
setHeaders: Array<HttpHeader>, };
|
||||||
|
|
||||||
export type CallHttpRequestActionArgs = { httpRequest: HttpRequest, };
|
export type CallHttpRequestActionArgs = { httpRequest: HttpRequest, };
|
||||||
|
|
||||||
@@ -217,7 +222,7 @@ cancelText?: string,
|
|||||||
/**
|
/**
|
||||||
* Require the user to enter a non-empty value
|
* Require the user to enter a non-empty value
|
||||||
*/
|
*/
|
||||||
require?: boolean, };
|
required?: boolean, };
|
||||||
|
|
||||||
export type PromptTextResponse = { value: string | null, };
|
export type PromptTextResponse = { value: string | null, };
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
export type Environment = { model: "environment", id: string, workspaceId: string, environmentId: string | null, createdAt: string, updatedAt: string, name: string, variables: Array<EnvironmentVariable>, };
|
export type Environment = { model: "environment", id: string, workspaceId: string, environmentId: string | null, createdAt: string, updatedAt: string, name: string, variables: Array<EnvironmentVariable>, };
|
||||||
|
|
||||||
export type EnvironmentVariable = { enabled?: boolean, name: string, value: string, id: string, };
|
export type EnvironmentVariable = { enabled?: boolean, name: string, value: string, id?: string, };
|
||||||
|
|
||||||
export type Folder = { model: "folder", id: string, createdAt: string, updatedAt: string, workspaceId: string, folderId: string | null, name: string, description: string, sortPriority: number, };
|
export type Folder = { model: "folder", id: string, createdAt: string, updatedAt: string, workspaceId: string, folderId: string | null, name: string, description: string, sortPriority: number, };
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
import {CallHttpAuthenticationRequest, CallHttpAuthenticationResponse, GetHttpAuthenticationResponse} from '..';
|
import {
|
||||||
|
CallHttpAuthenticationRequest,
|
||||||
|
CallHttpAuthenticationResponse,
|
||||||
|
GetHttpAuthenticationResponse,
|
||||||
|
} from '..';
|
||||||
import type { Context } from './Context';
|
import type { Context } from './Context';
|
||||||
|
|
||||||
export type AuthenticationPlugin = Omit<GetHttpAuthenticationResponse, 'pluginName'> & {
|
export type AuthenticationPlugin = Omit<GetHttpAuthenticationResponse, 'pluginName'> & {
|
||||||
|
|||||||
175
src-tauri/Cargo.lock
generated
175
src-tauri/Cargo.lock
generated
@@ -165,7 +165,7 @@ dependencies = [
|
|||||||
"wayland-backend",
|
"wayland-backend",
|
||||||
"wayland-client",
|
"wayland-client",
|
||||||
"wayland-protocols",
|
"wayland-protocols",
|
||||||
"zbus",
|
"zbus 4.0.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -717,9 +717,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cargo_toml"
|
name = "cargo_toml"
|
||||||
version = "0.17.2"
|
version = "0.21.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8a969e13a7589e9e3e4207e153bae624ade2b5622fb4684a4923b23ec3d57719"
|
checksum = "5fbd1fe9db3ebf71b89060adaf7b0504c2d6a425cf061313099547e382c2e472"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"toml 0.8.19",
|
"toml 0.8.19",
|
||||||
@@ -3013,6 +3013,19 @@ dependencies = [
|
|||||||
"memoffset",
|
"memoffset",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nix"
|
||||||
|
version = "0.29.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.6.0",
|
||||||
|
"cfg-if",
|
||||||
|
"cfg_aliases 0.2.1",
|
||||||
|
"libc",
|
||||||
|
"memoffset",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nodrop"
|
name = "nodrop"
|
||||||
version = "0.1.14"
|
version = "0.1.14"
|
||||||
@@ -3905,6 +3918,15 @@ dependencies = [
|
|||||||
"toml_edit 0.20.2",
|
"toml_edit 0.20.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro-crate"
|
||||||
|
version = "3.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b"
|
||||||
|
dependencies = [
|
||||||
|
"toml_edit 0.22.22",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro-error"
|
name = "proc-macro-error"
|
||||||
version = "1.0.4"
|
version = "1.0.4"
|
||||||
@@ -5638,9 +5660,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-build"
|
name = "tauri-build"
|
||||||
version = "2.0.4"
|
version = "2.0.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b274ec7239ada504deb615f1c8abd7ba99631e879709e6f10e5d17217058d976"
|
checksum = "8e950124f6779c6cf98e3260c7a6c8488a74aa6350dd54c6950fdaa349bca2df"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"cargo_toml",
|
"cargo_toml",
|
||||||
@@ -5796,9 +5818,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-opener"
|
name = "tauri-plugin-opener"
|
||||||
version = "2.2.2"
|
version = "2.2.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "63ac39033ef1bb4d52da4878c3d8ab6d80b0a569d69208c884e6d4d54eb427b9"
|
checksum = "1270bd2f3aabffc2becc05b6aafab3d24fe5679db91bec369fb44865afd7de13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dunce",
|
"dunce",
|
||||||
"glob",
|
"glob",
|
||||||
@@ -5813,7 +5835,7 @@ dependencies = [
|
|||||||
"thiserror 2.0.7",
|
"thiserror 2.0.7",
|
||||||
"url",
|
"url",
|
||||||
"windows",
|
"windows",
|
||||||
"zbus",
|
"zbus 5.3.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -5857,9 +5879,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-single-instance"
|
name = "tauri-plugin-single-instance"
|
||||||
version = "2.2.0"
|
version = "2.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0f36019ee9832dc99e4450bb55a21cfad8633b19c2c18bd17c7741939b070ede"
|
checksum = "47c387d4d96690131dc46d1d2827df5c222b896a2bfeb15a16267229a55c50b5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@@ -5867,14 +5889,14 @@ dependencies = [
|
|||||||
"thiserror 2.0.7",
|
"thiserror 2.0.7",
|
||||||
"tracing",
|
"tracing",
|
||||||
"windows-sys 0.59.0",
|
"windows-sys 0.59.0",
|
||||||
"zbus",
|
"zbus 5.3.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-updater"
|
name = "tauri-plugin-updater"
|
||||||
version = "2.3.0"
|
version = "2.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b7351014c140906bcfff59d96e04b1170c8f602557f40eb37f7de356d4e7067b"
|
checksum = "ce2d39224390c41ba544f02b4f1721f42256320b3fb8c371e9425cbddeb4a68c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"dirs",
|
"dirs",
|
||||||
@@ -7676,15 +7698,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030"
|
checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-broadcast",
|
"async-broadcast",
|
||||||
"async-executor",
|
|
||||||
"async-fs",
|
|
||||||
"async-io",
|
|
||||||
"async-lock",
|
|
||||||
"async-process",
|
"async-process",
|
||||||
"async-recursion",
|
"async-recursion",
|
||||||
"async-task",
|
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"blocking",
|
|
||||||
"derivative",
|
"derivative",
|
||||||
"enumflags2",
|
"enumflags2",
|
||||||
"event-listener",
|
"event-listener",
|
||||||
@@ -7692,7 +7708,7 @@ dependencies = [
|
|||||||
"futures-sink",
|
"futures-sink",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"hex",
|
"hex",
|
||||||
"nix",
|
"nix 0.27.1",
|
||||||
"ordered-stream",
|
"ordered-stream",
|
||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -7704,9 +7720,45 @@ dependencies = [
|
|||||||
"uds_windows",
|
"uds_windows",
|
||||||
"windows-sys 0.52.0",
|
"windows-sys 0.52.0",
|
||||||
"xdg-home",
|
"xdg-home",
|
||||||
"zbus_macros",
|
"zbus_macros 4.0.1",
|
||||||
"zbus_names",
|
"zbus_names 3.0.0",
|
||||||
"zvariant",
|
"zvariant 4.0.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zbus"
|
||||||
|
version = "5.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "192a0d989036cd60a1e91a54c9851fb9ad5bd96125d41803eed79d2e2ef74bd7"
|
||||||
|
dependencies = [
|
||||||
|
"async-broadcast",
|
||||||
|
"async-executor",
|
||||||
|
"async-fs",
|
||||||
|
"async-io",
|
||||||
|
"async-lock",
|
||||||
|
"async-process",
|
||||||
|
"async-recursion",
|
||||||
|
"async-task",
|
||||||
|
"async-trait",
|
||||||
|
"blocking",
|
||||||
|
"enumflags2",
|
||||||
|
"event-listener",
|
||||||
|
"futures-core",
|
||||||
|
"futures-util",
|
||||||
|
"hex",
|
||||||
|
"nix 0.29.0",
|
||||||
|
"ordered-stream",
|
||||||
|
"serde",
|
||||||
|
"serde_repr",
|
||||||
|
"static_assertions",
|
||||||
|
"tracing",
|
||||||
|
"uds_windows",
|
||||||
|
"windows-sys 0.59.0",
|
||||||
|
"winnow 0.6.20",
|
||||||
|
"xdg-home",
|
||||||
|
"zbus_macros 5.3.0",
|
||||||
|
"zbus_names 4.1.1",
|
||||||
|
"zvariant 5.2.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -7720,7 +7772,22 @@ dependencies = [
|
|||||||
"quote",
|
"quote",
|
||||||
"regex",
|
"regex",
|
||||||
"syn 1.0.109",
|
"syn 1.0.109",
|
||||||
"zvariant_utils",
|
"zvariant_utils 1.1.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zbus_macros"
|
||||||
|
version = "5.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3685b5c81fce630efc3e143a4ded235b107f1b1cdf186c3f115529e5e5ae4265"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro-crate 3.2.0",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 2.0.87",
|
||||||
|
"zbus_names 4.1.1",
|
||||||
|
"zvariant 5.2.0",
|
||||||
|
"zvariant_utils 3.1.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -7731,7 +7798,19 @@ checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"static_assertions",
|
"static_assertions",
|
||||||
"zvariant",
|
"zvariant 4.0.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zbus_names"
|
||||||
|
version = "4.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "519629a3f80976d89c575895b05677cbc45eaf9f70d62a364d819ba646409cc8"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
"static_assertions",
|
||||||
|
"winnow 0.6.20",
|
||||||
|
"zvariant 5.2.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -7787,7 +7866,22 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"static_assertions",
|
"static_assertions",
|
||||||
"url",
|
"url",
|
||||||
"zvariant_derive",
|
"zvariant_derive 4.0.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zvariant"
|
||||||
|
version = "5.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "55e6b9b5f1361de2d5e7d9fd1ee5f6f7fcb6060618a1f82f3472f58f2b8d4be9"
|
||||||
|
dependencies = [
|
||||||
|
"endi",
|
||||||
|
"enumflags2",
|
||||||
|
"serde",
|
||||||
|
"static_assertions",
|
||||||
|
"winnow 0.6.20",
|
||||||
|
"zvariant_derive 5.2.0",
|
||||||
|
"zvariant_utils 3.1.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -7800,7 +7894,20 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 1.0.109",
|
"syn 1.0.109",
|
||||||
"zvariant_utils",
|
"zvariant_utils 1.1.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zvariant_derive"
|
||||||
|
version = "5.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "573a8dd76961957108b10f7a45bac6ab1ea3e9b7fe01aff88325dc57bb8f5c8b"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro-crate 3.2.0",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 2.0.87",
|
||||||
|
"zvariant_utils 3.1.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -7813,3 +7920,17 @@ dependencies = [
|
|||||||
"quote",
|
"quote",
|
||||||
"syn 1.0.109",
|
"syn 1.0.109",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zvariant_utils"
|
||||||
|
version = "3.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ddd46446ea2a1f353bfda53e35f17633afa79f4fe290a611c94645c69fe96a50"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"serde",
|
||||||
|
"static_assertions",
|
||||||
|
"syn 2.0.87",
|
||||||
|
"winnow 0.6.20",
|
||||||
|
]
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ strip = true # Automatically strip symbols from the binary.
|
|||||||
cargo-clippy = []
|
cargo-clippy = []
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
tauri-build = { version = "2.0.4", features = [] }
|
tauri-build = { version = "2.0.5", features = [] }
|
||||||
|
|
||||||
[target.'cfg(target_os = "macos")'.dependencies]
|
[target.'cfg(target_os = "macos")'.dependencies]
|
||||||
objc = "0.2.7"
|
objc = "0.2.7"
|
||||||
@@ -57,11 +57,11 @@ tauri-plugin-clipboard-manager = "2.2.0"
|
|||||||
tauri-plugin-dialog = "2.2.0"
|
tauri-plugin-dialog = "2.2.0"
|
||||||
tauri-plugin-fs = "2.2.0"
|
tauri-plugin-fs = "2.2.0"
|
||||||
tauri-plugin-log = { version = "2.2.0", features = ["colored"] }
|
tauri-plugin-log = { version = "2.2.0", features = ["colored"] }
|
||||||
tauri-plugin-opener = "2.2.2"
|
tauri-plugin-opener = "2.2.4"
|
||||||
tauri-plugin-os = "2.2.0"
|
tauri-plugin-os = "2.2.0"
|
||||||
tauri-plugin-shell = { workspace = true }
|
tauri-plugin-shell = { workspace = true }
|
||||||
tauri-plugin-single-instance = "2.2.0"
|
tauri-plugin-single-instance = "2.2.1"
|
||||||
tauri-plugin-updater = "2.3.0"
|
tauri-plugin-updater = "2.3.1"
|
||||||
tauri-plugin-window-state = "2.2.0"
|
tauri-plugin-window-state = "2.2.0"
|
||||||
tokio = { version = "1.36.0", features = ["sync"] }
|
tokio = { version = "1.36.0", features = ["sync"] }
|
||||||
tokio-stream = "0.1.15"
|
tokio-stream = "0.1.15"
|
||||||
|
|||||||
@@ -30,7 +30,9 @@ use yaak_models::queries::{
|
|||||||
get_base_environment, get_http_response, get_or_create_settings, get_workspace,
|
get_base_environment, get_http_response, get_or_create_settings, get_workspace,
|
||||||
update_response_if_id, upsert_cookie_jar, UpdateSource,
|
update_response_if_id, upsert_cookie_jar, UpdateSource,
|
||||||
};
|
};
|
||||||
use yaak_plugins::events::{CallHttpAuthenticationRequest, HttpHeader, RenderPurpose, WindowContext};
|
use yaak_plugins::events::{
|
||||||
|
CallHttpAuthenticationRequest, HttpHeader, RenderPurpose, WindowContext,
|
||||||
|
};
|
||||||
use yaak_plugins::manager::PluginManager;
|
use yaak_plugins::manager::PluginManager;
|
||||||
|
|
||||||
pub async fn send_http_request<R: Runtime>(
|
pub async fn send_http_request<R: Runtime>(
|
||||||
@@ -388,28 +390,21 @@ pub async fn send_http_request<R: Runtime>(
|
|||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
};
|
};
|
||||||
let plugin_result =
|
let auth_result = plugin_manager.call_http_authentication(window, &auth_name, req).await;
|
||||||
match plugin_manager.call_http_authentication(window, &auth_name, req).await {
|
let plugin_result = match auth_result {
|
||||||
Ok(r) => r,
|
Ok(r) => r,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
return Ok(response_err(&*response.lock().await, e.to_string(), window).await);
|
return Ok(response_err(&*response.lock().await, e.to_string(), window).await);
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
{
|
|
||||||
let url = sendable_req.url_mut();
|
|
||||||
*url = Url::parse(&plugin_result.url).unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
let headers = sendable_req.headers_mut();
|
|
||||||
for header in plugin_result.headers {
|
|
||||||
headers.insert(
|
|
||||||
HeaderName::from_str(&header.name).unwrap(),
|
|
||||||
HeaderValue::from_str(&header.value).unwrap(),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let headers = sendable_req.headers_mut();
|
||||||
|
for header in plugin_result.set_headers {
|
||||||
|
headers.insert(
|
||||||
|
HeaderName::from_str(&header.name).unwrap(),
|
||||||
|
HeaderValue::from_str(&header.value).unwrap(),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let (resp_tx, resp_rx) = oneshot::channel::<Result<Response, reqwest::Error>>();
|
let (resp_tx, resp_rx) = oneshot::channel::<Result<Response, reqwest::Error>>();
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ async fn cmd_grpc_go<R: Runtime>(
|
|||||||
.ok_or("Failed to find GRPC request")?;
|
.ok_or("Failed to find GRPC request")?;
|
||||||
let base_environment =
|
let base_environment =
|
||||||
get_base_environment(&window, &req.workspace_id).await.map_err(|e| e.to_string())?;
|
get_base_environment(&window, &req.workspace_id).await.map_err(|e| e.to_string())?;
|
||||||
let mut req = render_grpc_request(
|
let req = render_grpc_request(
|
||||||
&req,
|
&req,
|
||||||
&base_environment,
|
&base_environment,
|
||||||
environment.as_ref(),
|
environment.as_ref(),
|
||||||
@@ -253,9 +253,7 @@ async fn cmd_grpc_go<R: Runtime>(
|
|||||||
.call_http_authentication(&window, &auth_name, plugin_req)
|
.call_http_authentication(&window, &auth_name, plugin_req)
|
||||||
.await
|
.await
|
||||||
.map_err(|e| e.to_string())?;
|
.map_err(|e| e.to_string())?;
|
||||||
|
for header in plugin_result.set_headers {
|
||||||
req.url = plugin_result.url;
|
|
||||||
for header in plugin_result.headers {
|
|
||||||
metadata.insert(header.name, header.value);
|
metadata.insert(header.name, header.value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,13 +42,8 @@ var plugin = {
|
|||||||
}],
|
}],
|
||||||
async onApply(_ctx, args) {
|
async onApply(_ctx, args) {
|
||||||
const { username, password } = args.config;
|
const { username, password } = args.config;
|
||||||
return {
|
const value = "Basic " + Buffer.from(`${username}:${password}`).toString("base64");
|
||||||
url: args.url,
|
return { setHeaders: [{ name: "Authorization", value }] };
|
||||||
headers: [{
|
|
||||||
name: "Authorization",
|
|
||||||
value: "Basic " + Buffer.from(`${username}:${password}`).toString("base64")
|
|
||||||
}]
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -37,13 +37,8 @@ var plugin = {
|
|||||||
}],
|
}],
|
||||||
async onApply(_ctx, args) {
|
async onApply(_ctx, args) {
|
||||||
const { token } = args.config;
|
const { token } = args.config;
|
||||||
return {
|
const value = `Bearer ${token}`.trim();
|
||||||
url: args.url,
|
return { setHeaders: [{ name: "Authorization", value }] };
|
||||||
headers: [{
|
|
||||||
name: "Authorization",
|
|
||||||
value: `Bearer ${token}`.trim()
|
|
||||||
}]
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3844,10 +3844,8 @@ var plugin = {
|
|||||||
const { algorithm, secret: _secret, secretBase64, payload } = args.config;
|
const { algorithm, secret: _secret, secretBase64, payload } = args.config;
|
||||||
const secret = secretBase64 ? Buffer.from(`${_secret}`, "base64") : `${_secret}`;
|
const secret = secretBase64 ? Buffer.from(`${_secret}`, "base64") : `${_secret}`;
|
||||||
const token = import_jsonwebtoken.default.sign(`${payload}`, secret, { algorithm });
|
const token = import_jsonwebtoken.default.sign(`${payload}`, secret, { algorithm });
|
||||||
return {
|
const value = `Bearer ${token}`;
|
||||||
url: args.url,
|
return { setHeaders: [{ name: "Authorization", value }] };
|
||||||
headers: [{ name: "Authorization", value: `Bearer ${token}` }]
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8824,8 +8824,8 @@ var behaviorArg = {
|
|||||||
label: "Sending Behavior",
|
label: "Sending Behavior",
|
||||||
defaultValue: "smart",
|
defaultValue: "smart",
|
||||||
options: [
|
options: [
|
||||||
{ label: "When no responses", value: "smart" },
|
{ name: "When no responses", value: "smart" },
|
||||||
{ label: "Always", value: "always" }
|
{ name: "Always", value: "always" }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
var requestArg = {
|
var requestArg = {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ export type EditorKeymap = "default" | "vim" | "vscode" | "emacs";
|
|||||||
|
|
||||||
export type Environment = { model: "environment", id: string, workspaceId: string, environmentId: string | null, createdAt: string, updatedAt: string, name: string, variables: Array<EnvironmentVariable>, };
|
export type Environment = { model: "environment", id: string, workspaceId: string, environmentId: string | null, createdAt: string, updatedAt: string, name: string, variables: Array<EnvironmentVariable>, };
|
||||||
|
|
||||||
export type EnvironmentVariable = { enabled?: boolean, name: string, value: string, id: string, };
|
export type EnvironmentVariable = { enabled?: boolean, name: string, value: string, id?: string, };
|
||||||
|
|
||||||
export type Folder = { model: "folder", id: string, createdAt: string, updatedAt: string, workspaceId: string, folderId: string | null, name: string, description: string, sortPriority: number, };
|
export type Folder = { model: "folder", id: string, createdAt: string, updatedAt: string, workspaceId: string, folderId: string | null, name: string, description: string, sortPriority: number, };
|
||||||
|
|
||||||
|
|||||||
@@ -383,7 +383,8 @@ pub struct EnvironmentVariable {
|
|||||||
pub enabled: bool,
|
pub enabled: bool,
|
||||||
pub name: String,
|
pub name: String,
|
||||||
pub value: String,
|
pub value: String,
|
||||||
pub id: String,
|
#[ts(optional, as = "Option<String>")]
|
||||||
|
pub id: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize, Default, TS)]
|
#[derive(Debug, Clone, Serialize, Deserialize, Default, TS)]
|
||||||
|
|||||||
@@ -13,7 +13,12 @@ export type BootResponse = { name: string, version: string, capabilities: Array<
|
|||||||
|
|
||||||
export type CallHttpAuthenticationRequest = { config: { [key in string]?: JsonValue }, method: string, url: string, headers: Array<HttpHeader>, };
|
export type CallHttpAuthenticationRequest = { config: { [key in string]?: JsonValue }, method: string, url: string, headers: Array<HttpHeader>, };
|
||||||
|
|
||||||
export type CallHttpAuthenticationResponse = { url: string, headers: Array<HttpHeader>, };
|
export type CallHttpAuthenticationResponse = {
|
||||||
|
/**
|
||||||
|
* HTTP headers to add to the request. Existing headers will be replaced, while
|
||||||
|
* new headers will be added.
|
||||||
|
*/
|
||||||
|
setHeaders: Array<HttpHeader>, };
|
||||||
|
|
||||||
export type CallHttpRequestActionArgs = { httpRequest: HttpRequest, };
|
export type CallHttpRequestActionArgs = { httpRequest: HttpRequest, };
|
||||||
|
|
||||||
@@ -217,7 +222,7 @@ cancelText?: string,
|
|||||||
/**
|
/**
|
||||||
* Require the user to enter a non-empty value
|
* Require the user to enter a non-empty value
|
||||||
*/
|
*/
|
||||||
require?: boolean, };
|
required?: boolean, };
|
||||||
|
|
||||||
export type PromptTextResponse = { value: string | null, };
|
export type PromptTextResponse = { value: string | null, };
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
export type Environment = { model: "environment", id: string, workspaceId: string, environmentId: string | null, createdAt: string, updatedAt: string, name: string, variables: Array<EnvironmentVariable>, };
|
export type Environment = { model: "environment", id: string, workspaceId: string, environmentId: string | null, createdAt: string, updatedAt: string, name: string, variables: Array<EnvironmentVariable>, };
|
||||||
|
|
||||||
export type EnvironmentVariable = { enabled?: boolean, name: string, value: string, id: string, };
|
export type EnvironmentVariable = { enabled?: boolean, name: string, value: string, id?: string, };
|
||||||
|
|
||||||
export type Folder = { model: "folder", id: string, createdAt: string, updatedAt: string, workspaceId: string, folderId: string | null, name: string, description: string, sortPriority: number, };
|
export type Folder = { model: "folder", id: string, createdAt: string, updatedAt: string, workspaceId: string, folderId: string | null, name: string, description: string, sortPriority: number, };
|
||||||
|
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ pub struct PromptTextRequest {
|
|||||||
pub cancel_text: Option<String>,
|
pub cancel_text: Option<String>,
|
||||||
/// Require the user to enter a non-empty value
|
/// Require the user to enter a non-empty value
|
||||||
#[ts(optional)]
|
#[ts(optional)]
|
||||||
pub require: Option<bool>,
|
pub required: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
||||||
@@ -303,6 +303,14 @@ pub struct GetHttpAuthenticationResponse {
|
|||||||
pub config: Vec<FormInput>,
|
pub config: Vec<FormInput>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
||||||
|
#[serde(default, rename_all = "camelCase")]
|
||||||
|
#[ts(export, export_to = "events.ts")]
|
||||||
|
pub struct HttpHeader {
|
||||||
|
pub name: String,
|
||||||
|
pub value: String,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
||||||
#[serde(default, rename_all = "camelCase")]
|
#[serde(default, rename_all = "camelCase")]
|
||||||
#[ts(export, export_to = "events.ts")]
|
#[ts(export, export_to = "events.ts")]
|
||||||
@@ -313,20 +321,13 @@ pub struct CallHttpAuthenticationRequest {
|
|||||||
pub headers: Vec<HttpHeader>,
|
pub headers: Vec<HttpHeader>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
|
||||||
#[serde(default, rename_all = "camelCase")]
|
|
||||||
#[ts(export, export_to = "events.ts")]
|
|
||||||
pub struct HttpHeader {
|
|
||||||
pub name: String,
|
|
||||||
pub value: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
||||||
#[serde(default, rename_all = "camelCase")]
|
#[serde(default, rename_all = "camelCase")]
|
||||||
#[ts(export, export_to = "events.ts")]
|
#[ts(export, export_to = "events.ts")]
|
||||||
pub struct CallHttpAuthenticationResponse {
|
pub struct CallHttpAuthenticationResponse {
|
||||||
pub url: String,
|
/// HTTP headers to add to the request. Existing headers will be replaced, while
|
||||||
pub headers: Vec<HttpHeader>,
|
/// new headers will be added.
|
||||||
|
pub set_headers: Vec<HttpHeader>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
#[derive(Debug, Clone, Default, Serialize, Deserialize, TS)]
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
export type Environment = { model: "environment", id: string, workspaceId: string, environmentId: string | null, createdAt: string, updatedAt: string, name: string, variables: Array<EnvironmentVariable>, };
|
export type Environment = { model: "environment", id: string, workspaceId: string, environmentId: string | null, createdAt: string, updatedAt: string, name: string, variables: Array<EnvironmentVariable>, };
|
||||||
|
|
||||||
export type EnvironmentVariable = { enabled?: boolean, name: string, value: string, id: string, };
|
export type EnvironmentVariable = { enabled?: boolean, name: string, value: string, id?: string, };
|
||||||
|
|
||||||
export type Folder = { model: "folder", id: string, createdAt: string, updatedAt: string, workspaceId: string, folderId: string | null, name: string, description: string, sortPriority: number, };
|
export type Folder = { model: "folder", id: string, createdAt: string, updatedAt: string, workspaceId: string, folderId: string | null, name: string, description: string, sortPriority: number, };
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ export const createFolder = createFastMutation<
|
|||||||
label: 'Name',
|
label: 'Name',
|
||||||
defaultValue: 'Folder',
|
defaultValue: 'Folder',
|
||||||
title: 'New Folder',
|
title: 'New Folder',
|
||||||
|
required: true,
|
||||||
confirmText: 'Create',
|
confirmText: 'Create',
|
||||||
placeholder: 'Name',
|
placeholder: 'Name',
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export function CreateWorkspaceDialog({ hide }: Props) {
|
|||||||
hide();
|
hide();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<PlainInput require label="Name" defaultValue={name} onChange={setName} />
|
<PlainInput required label="Name" defaultValue={name} onChange={setName} />
|
||||||
|
|
||||||
<SyncToFilesystemSetting
|
<SyncToFilesystemSetting
|
||||||
onChange={setSettingSyncDir}
|
onChange={setSettingSyncDir}
|
||||||
|
|||||||
@@ -138,14 +138,9 @@ function TextArg({
|
|||||||
name={arg.name}
|
name={arg.name}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
defaultValue={value === DYNAMIC_FORM_NULL_ARG ? '' : value}
|
defaultValue={value === DYNAMIC_FORM_NULL_ARG ? '' : value}
|
||||||
require={!arg.optional}
|
required={!arg.optional}
|
||||||
type={arg.password ? 'password' : 'text'}
|
type={arg.password ? 'password' : 'text'}
|
||||||
label={
|
label={arg.label ?? arg.name}
|
||||||
<>
|
|
||||||
{arg.label ?? arg.name}
|
|
||||||
{arg.optional && <span className="text-xs text-text-subtlest"> (optional)</span>}
|
|
||||||
</>
|
|
||||||
}
|
|
||||||
hideLabel={arg.label == null}
|
hideLabel={arg.label == null}
|
||||||
placeholder={arg.placeholder ?? arg.defaultValue ?? ''}
|
placeholder={arg.placeholder ?? arg.defaultValue ?? ''}
|
||||||
useTemplating={useTemplating}
|
useTemplating={useTemplating}
|
||||||
@@ -179,7 +174,9 @@ function EditorArg({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="w-full grid grid-rows-[auto_minmax(0,1fr)]">
|
<div className="w-full grid grid-rows-[auto_minmax(0,1fr)]">
|
||||||
<Label htmlFor={id}>{arg.label}</Label>
|
<Label htmlFor={id} optional={arg.optional}>
|
||||||
|
{arg.label}
|
||||||
|
</Label>
|
||||||
<Editor
|
<Editor
|
||||||
id={id}
|
id={id}
|
||||||
className={classNames(
|
className={classNames(
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ export function WorkspaceSettingsDialog({ workspaceId, hide }: Props) {
|
|||||||
return (
|
return (
|
||||||
<VStack space={3} alignItems="start" className="pb-3 h-full">
|
<VStack space={3} alignItems="start" className="pb-3 h-full">
|
||||||
<Input
|
<Input
|
||||||
|
required
|
||||||
label="Name"
|
label="Name"
|
||||||
defaultValue={workspace.name}
|
defaultValue={workspace.name}
|
||||||
onChange={(name) => upsertWorkspace.mutate({ ...workspace, name })}
|
onChange={(name) => upsertWorkspace.mutate({ ...workspace, name })}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ export interface EditorProps {
|
|||||||
type?: 'text' | 'password';
|
type?: 'text' | 'password';
|
||||||
className?: string;
|
className?: string;
|
||||||
heightMode?: 'auto' | 'full';
|
heightMode?: 'auto' | 'full';
|
||||||
language?: EditorLanguage | 'pairs';
|
language?: EditorLanguage | 'pairs' | 'url';
|
||||||
forceUpdateKey?: string | number;
|
forceUpdateKey?: string | number;
|
||||||
autoFocus?: boolean;
|
autoFocus?: boolean;
|
||||||
autoSelect?: boolean;
|
autoSelect?: boolean;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ export function InlineCode({ className, ...props }: HTMLAttributes<HTMLSpanEleme
|
|||||||
<code
|
<code
|
||||||
className={classNames(
|
className={classNames(
|
||||||
className,
|
className,
|
||||||
'font-mono text-shrink bg-surface-highlight border border-border-subtle',
|
'font-mono text-shrink bg-surface-highlight border border-border-subtle flex-grow-0',
|
||||||
'px-1.5 py-0.5 rounded text shadow-inner break-words',
|
'px-1.5 py-0.5 rounded text shadow-inner break-words',
|
||||||
)}
|
)}
|
||||||
{...props}
|
{...props}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export type InputProps = Pick<
|
|||||||
className?: string;
|
className?: string;
|
||||||
placeholder?: string;
|
placeholder?: string;
|
||||||
validate?: boolean | ((v: string) => boolean);
|
validate?: boolean | ((v: string) => boolean);
|
||||||
require?: boolean;
|
required?: boolean;
|
||||||
wrapLines?: boolean;
|
wrapLines?: boolean;
|
||||||
stateKey: EditorProps['stateKey'];
|
stateKey: EditorProps['stateKey'];
|
||||||
};
|
};
|
||||||
@@ -65,7 +65,7 @@ export const Input = forwardRef<EditorView, InputProps>(function Input(
|
|||||||
onPaste,
|
onPaste,
|
||||||
onPasteOverwrite,
|
onPasteOverwrite,
|
||||||
placeholder,
|
placeholder,
|
||||||
require,
|
required,
|
||||||
rightSlot,
|
rightSlot,
|
||||||
wrapLines,
|
wrapLines,
|
||||||
size = 'md',
|
size = 'md',
|
||||||
@@ -102,11 +102,11 @@ export const Input = forwardRef<EditorView, InputProps>(function Input(
|
|||||||
);
|
);
|
||||||
|
|
||||||
const isValid = useMemo(() => {
|
const isValid = useMemo(() => {
|
||||||
if (require && !validateRequire(currentValue)) return false;
|
if (required && !validateRequire(currentValue)) return false;
|
||||||
if (typeof validate === 'boolean') return validate;
|
if (typeof validate === 'boolean') return validate;
|
||||||
if (typeof validate === 'function' && !validate(currentValue)) return false;
|
if (typeof validate === 'function' && !validate(currentValue)) return false;
|
||||||
return true;
|
return true;
|
||||||
}, [require, currentValue, validate]);
|
}, [required, currentValue, validate]);
|
||||||
|
|
||||||
const handleChange = useCallback(
|
const handleChange = useCallback(
|
||||||
(value: string) => {
|
(value: string) => {
|
||||||
@@ -141,7 +141,11 @@ export const Input = forwardRef<EditorView, InputProps>(function Input(
|
|||||||
labelPosition === 'top' && 'flex-row gap-0.5',
|
labelPosition === 'top' && 'flex-row gap-0.5',
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<Label htmlFor={id.current} className={classNames(labelClassName, hideLabel && 'sr-only')}>
|
<Label
|
||||||
|
htmlFor={id.current}
|
||||||
|
optional={!required}
|
||||||
|
className={classNames(labelClassName, hideLabel && 'sr-only')}
|
||||||
|
>
|
||||||
{label}
|
{label}
|
||||||
</Label>
|
</Label>
|
||||||
<HStack
|
<HStack
|
||||||
|
|||||||
@@ -4,13 +4,23 @@ import type { HTMLAttributes } from 'react';
|
|||||||
export function Label({
|
export function Label({
|
||||||
htmlFor,
|
htmlFor,
|
||||||
className,
|
className,
|
||||||
|
optional,
|
||||||
|
children,
|
||||||
...props
|
...props
|
||||||
}: HTMLAttributes<HTMLLabelElement> & { htmlFor: string }) {
|
}: HTMLAttributes<HTMLLabelElement> & { htmlFor: string; optional?: boolean }) {
|
||||||
return (
|
return (
|
||||||
<label
|
<label
|
||||||
className={classNames(className, 'text-text-subtle whitespace-nowrap')}
|
className={classNames(className, 'text-text-subtle whitespace-nowrap flex items-center gap-1')}
|
||||||
htmlFor={htmlFor}
|
htmlFor={htmlFor}
|
||||||
{...props}
|
{...props}
|
||||||
/>
|
>
|
||||||
|
{children}
|
||||||
|
{optional ? (
|
||||||
|
<>
|
||||||
|
{' '}
|
||||||
|
<span className="text-xs text-text-subtlest">(optional)</span>
|
||||||
|
</>
|
||||||
|
) : null}
|
||||||
|
</label>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -466,7 +466,7 @@ function PairEditorRow({
|
|||||||
wrapLines={false}
|
wrapLines={false}
|
||||||
readOnly={pair.readOnlyName}
|
readOnly={pair.readOnlyName}
|
||||||
size="sm"
|
size="sm"
|
||||||
require={!isLast && !!pair.enabled && !!pair.value}
|
required={!isLast && !!pair.enabled && !!pair.value}
|
||||||
validate={nameValidate}
|
validate={nameValidate}
|
||||||
forceUpdateKey={forceUpdateKey}
|
forceUpdateKey={forceUpdateKey}
|
||||||
containerClassName={classNames(isLast && 'border-dashed')}
|
containerClassName={classNames(isLast && 'border-dashed')}
|
||||||
@@ -577,7 +577,6 @@ function FileActionsDropdown({
|
|||||||
onSelect: async () => {
|
onSelect: async () => {
|
||||||
const contentType = await showPrompt({
|
const contentType = await showPrompt({
|
||||||
id: 'content-type',
|
id: 'content-type',
|
||||||
require: false,
|
|
||||||
title: 'Override Content-Type',
|
title: 'Override Content-Type',
|
||||||
label: 'Content-Type',
|
label: 'Content-Type',
|
||||||
placeholder: 'text/plain',
|
placeholder: 'text/plain',
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export function PlainInput({
|
|||||||
onChange,
|
onChange,
|
||||||
onFocus,
|
onFocus,
|
||||||
onPaste,
|
onPaste,
|
||||||
require,
|
required,
|
||||||
rightSlot,
|
rightSlot,
|
||||||
size = 'md',
|
size = 'md',
|
||||||
type = 'text',
|
type = 'text',
|
||||||
@@ -72,11 +72,11 @@ export function PlainInput({
|
|||||||
);
|
);
|
||||||
|
|
||||||
const isValid = useMemo(() => {
|
const isValid = useMemo(() => {
|
||||||
if (require && !validateRequire(currentValue)) return false;
|
if (required && !validateRequire(currentValue)) return false;
|
||||||
if (typeof validate === 'boolean') return validate;
|
if (typeof validate === 'boolean') return validate;
|
||||||
if (typeof validate === 'function' && !validate(currentValue)) return false;
|
if (typeof validate === 'function' && !validate(currentValue)) return false;
|
||||||
return true;
|
return true;
|
||||||
}, [require, currentValue, validate]);
|
}, [required, currentValue, validate]);
|
||||||
|
|
||||||
const handleChange = useCallback(
|
const handleChange = useCallback(
|
||||||
(value: string) => {
|
(value: string) => {
|
||||||
@@ -137,7 +137,7 @@ export function PlainInput({
|
|||||||
className={classNames(commonClassName, 'h-auto')}
|
className={classNames(commonClassName, 'h-auto')}
|
||||||
onFocus={handleFocus}
|
onFocus={handleFocus}
|
||||||
onBlur={handleBlur}
|
onBlur={handleBlur}
|
||||||
required={require}
|
required={required}
|
||||||
autoFocus={autoFocus}
|
autoFocus={autoFocus}
|
||||||
placeholder={placeholder}
|
placeholder={placeholder}
|
||||||
onKeyDownCapture={onKeyDownCapture}
|
onKeyDownCapture={onKeyDownCapture}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export function Prompt({
|
|||||||
defaultValue,
|
defaultValue,
|
||||||
placeholder,
|
placeholder,
|
||||||
onResult,
|
onResult,
|
||||||
require,
|
required,
|
||||||
confirmText,
|
confirmText,
|
||||||
cancelText,
|
cancelText,
|
||||||
}: PromptProps) {
|
}: PromptProps) {
|
||||||
@@ -38,7 +38,7 @@ export function Prompt({
|
|||||||
<Input
|
<Input
|
||||||
hideLabel
|
hideLabel
|
||||||
autoSelect
|
autoSelect
|
||||||
require={require}
|
required={required}
|
||||||
placeholder={placeholder ?? 'Enter text'}
|
placeholder={placeholder ?? 'Enter text'}
|
||||||
label={label}
|
label={label}
|
||||||
defaultValue={defaultValue}
|
defaultValue={defaultValue}
|
||||||
|
|||||||
Reference in New Issue
Block a user