mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-17 23:14:03 +01:00
185 lines
5.7 KiB
JavaScript
185 lines
5.7 KiB
JavaScript
function O(e, o) {
|
|
let n;
|
|
try {
|
|
n = JSON.parse(o);
|
|
} catch {
|
|
}
|
|
try {
|
|
n = n ?? YAML.parse(o);
|
|
} catch (a) {
|
|
console.log("FAILED", a);
|
|
}
|
|
if (!f(n) || !Array.isArray(n.resources))
|
|
return;
|
|
const t = {
|
|
workspaces: [],
|
|
httpRequests: [],
|
|
grpcRequests: [],
|
|
environments: [],
|
|
folders: []
|
|
}, i = n.resources.filter(_);
|
|
for (const a of i) {
|
|
const s = n.resources.find(
|
|
(l) => y(l) && l.parentId === a._id
|
|
);
|
|
t.workspaces.push({
|
|
id: p(a._id),
|
|
createdAt: new Date(i.created ?? Date.now()).toISOString().replace("Z", ""),
|
|
updatedAt: new Date(i.updated ?? Date.now()).toISOString().replace("Z", ""),
|
|
model: "workspace",
|
|
name: a.name,
|
|
variables: s ? h(s.data) : []
|
|
});
|
|
const d = n.resources.filter(
|
|
(l) => y(l) && l.parentId === (s == null ? void 0 : s._id)
|
|
);
|
|
t.environments.push(
|
|
...d.map((l) => b(l, a._id))
|
|
);
|
|
const c = (l) => {
|
|
const w = n.resources.filter((u) => u.parentId === l);
|
|
let r = 0;
|
|
for (const u of w)
|
|
D(u) ? (t.folders.push(I(u, a._id)), c(u._id)) : v(u) ? t.httpRequests.push(
|
|
g(u, a._id, r++)
|
|
) : q(u) && t.grpcRequests.push(
|
|
S(u, a._id, r++)
|
|
);
|
|
};
|
|
c(a._id);
|
|
}
|
|
return t.httpRequests = t.httpRequests.filter(Boolean), t.grpcRequests = t.grpcRequests.filter(Boolean), t.environments = t.environments.filter(Boolean), t.workspaces = t.workspaces.filter(Boolean), { resources: t };
|
|
}
|
|
function b(e, o) {
|
|
return {
|
|
id: p(e._id),
|
|
createdAt: new Date(e.created ?? Date.now()).toISOString().replace("Z", ""),
|
|
updatedAt: new Date(e.updated ?? Date.now()).toISOString().replace("Z", ""),
|
|
workspaceId: p(o),
|
|
model: "environment",
|
|
name: e.name,
|
|
variables: Object.entries(e.data).map(([n, t]) => ({
|
|
enabled: !0,
|
|
name: n,
|
|
value: `${t}`
|
|
}))
|
|
};
|
|
}
|
|
function I(e, o) {
|
|
return {
|
|
id: p(e._id),
|
|
createdAt: new Date(e.created ?? Date.now()).toISOString().replace("Z", ""),
|
|
updatedAt: new Date(e.updated ?? Date.now()).toISOString().replace("Z", ""),
|
|
folderId: e.parentId === o ? null : p(e.parentId),
|
|
workspaceId: p(o),
|
|
model: "folder",
|
|
name: e.name
|
|
};
|
|
}
|
|
function S(e, o, n = 0) {
|
|
var s;
|
|
const t = e.protoMethodName.split("/").filter((d) => d !== ""), i = t[0] ?? null, a = t[1] ?? null;
|
|
return {
|
|
id: p(e._id),
|
|
createdAt: new Date(e.created ?? Date.now()).toISOString().replace("Z", ""),
|
|
updatedAt: new Date(e.updated ?? Date.now()).toISOString().replace("Z", ""),
|
|
workspaceId: p(o),
|
|
folderId: e.parentId === o ? null : p(e.parentId),
|
|
model: "grpc_request",
|
|
sortPriority: n,
|
|
name: e.name,
|
|
url: m(e.url),
|
|
service: i,
|
|
method: a,
|
|
message: ((s = e.body) == null ? void 0 : s.text) ?? "",
|
|
metadata: (e.metadata ?? []).map((d) => ({
|
|
enabled: !d.disabled,
|
|
name: d.name ?? "",
|
|
value: d.value ?? ""
|
|
})).filter(({ name: d, value: c }) => d !== "" || c !== "")
|
|
};
|
|
}
|
|
function g(e, o, n = 0) {
|
|
var d, c, l, w;
|
|
let t = null, i = {};
|
|
e.body.mimeType === "application/octet-stream" ? (t = "binary", i = { filePath: e.body.fileName ?? "" }) : ((d = e.body) == null ? void 0 : d.mimeType) === "application/x-www-form-urlencoded" ? (t = "application/x-www-form-urlencoded", i = {
|
|
form: (e.body.params ?? []).map((r) => ({
|
|
enabled: !r.disabled,
|
|
name: r.name ?? "",
|
|
value: r.value ?? ""
|
|
}))
|
|
}) : ((c = e.body) == null ? void 0 : c.mimeType) === "multipart/form-data" ? (t = "multipart/form-data", i = {
|
|
form: (e.body.params ?? []).map((r) => ({
|
|
enabled: !r.disabled,
|
|
name: r.name ?? "",
|
|
value: r.value ?? "",
|
|
file: r.fileName ?? null
|
|
}))
|
|
}) : ((l = e.body) == null ? void 0 : l.mimeType) === "application/graphql" ? (t = "graphql", i = { text: m(e.body.text ?? "") }) : ((w = e.body) == null ? void 0 : w.mimeType) === "application/json" && (t = "application/json", i = { text: m(e.body.text ?? "") });
|
|
let a = null, s = {};
|
|
return e.authentication.type === "bearer" ? (a = "bearer", s = {
|
|
token: m(e.authentication.token)
|
|
}) : e.authentication.type === "basic" && (a = "basic", s = {
|
|
username: m(e.authentication.username),
|
|
password: m(e.authentication.password)
|
|
}), {
|
|
id: p(e._id),
|
|
createdAt: new Date(e.created ?? Date.now()).toISOString().replace("Z", ""),
|
|
updatedAt: new Date(e.updated ?? Date.now()).toISOString().replace("Z", ""),
|
|
workspaceId: p(o),
|
|
folderId: e.parentId === o ? null : p(e.parentId),
|
|
model: "http_request",
|
|
sortPriority: n,
|
|
name: e.name,
|
|
url: m(e.url),
|
|
body: i,
|
|
bodyType: t,
|
|
authentication: s,
|
|
authenticationType: a,
|
|
method: e.method,
|
|
headers: (e.headers ?? []).map((r) => ({
|
|
enabled: !r.disabled,
|
|
name: r.name ?? "",
|
|
value: r.value ?? ""
|
|
})).filter(({ name: r, value: u }) => r !== "" || u !== "")
|
|
};
|
|
}
|
|
function h(e) {
|
|
return Object.entries(e).map(([o, n]) => ({
|
|
enabled: !0,
|
|
name: o,
|
|
value: `${n}`
|
|
}));
|
|
}
|
|
function m(e) {
|
|
return A(e) ? e.replaceAll(/{{\s*(_\.)?([^}]+)\s*}}/g, "${[$2]}") : e;
|
|
}
|
|
function _(e) {
|
|
return f(e) && e._type === "workspace";
|
|
}
|
|
function D(e) {
|
|
return f(e) && e._type === "request_group";
|
|
}
|
|
function v(e) {
|
|
return f(e) && e._type === "request";
|
|
}
|
|
function q(e) {
|
|
return f(e) && e._type === "grpc_request";
|
|
}
|
|
function y(e) {
|
|
return f(e) && e._type === "environment";
|
|
}
|
|
function f(e) {
|
|
return Object.prototype.toString.call(e) === "[object Object]";
|
|
}
|
|
function A(e) {
|
|
return Object.prototype.toString.call(e) === "[object String]";
|
|
}
|
|
function p(e) {
|
|
return e.startsWith("GENERATE_ID::") ? e : `GENERATE_ID::${e}`;
|
|
}
|
|
export {
|
|
O as pluginHookImport
|
|
};
|
|
//# sourceMappingURL=index.mjs.map
|