function S(e, t) { return ( console.log('IMPORTING Environment', e._id, e.name, JSON.stringify(e, null, 2)), { id: e._id, createdAt: new Date(e.created ?? Date.now()).toISOString().replace('Z', ''), updatedAt: new Date(e.updated ?? Date.now()).toISOString().replace('Z', ''), workspaceId: t, model: 'environment', name: e.name, variables: Object.entries(e.data).map(([n, a]) => ({ enabled: !0, name: n, value: `${a}`, })), } ); } function I(e) { return m(e) && e._type === 'workspace'; } function y(e) { return m(e) && e._type === 'request_group'; } function g(e) { return m(e) && e._type === 'request'; } function f(e) { return m(e) && e._type === 'environment'; } function m(e) { return Object.prototype.toString.call(e) === '[object Object]'; } function w(e) { return Object.prototype.toString.call(e) === '[object String]'; } function O(e) { return Object.entries(e).map(([t, n]) => ({ enabled: !0, name: t, value: `${n}`, })); } function l(e) { return w(e) ? e.replaceAll(/{{\s*(_\.)?([^}]+)\s*}}/g, '${[$2]}') : e; } function h(e, t, n = 0) { var c, o; console.log('IMPORTING REQUEST', e._id, e.name, JSON.stringify(e, null, 2)); let a = null, r = null; ((c = e.body) == null ? void 0 : c.mimeType) === 'application/graphql' ? ((a = 'graphql'), (r = l(e.body.text))) : ((o = e.body) == null ? void 0 : o.mimeType) === 'application/json' && ((a = 'application/json'), (r = l(e.body.text))); let i = null, u = {}; return ( e.authentication.type === 'bearer' ? ((i = 'bearer'), (u = { token: l(e.authentication.token), })) : e.authentication.type === 'basic' && ((i = 'basic'), (u = { username: l(e.authentication.username), password: l(e.authentication.password), })), { id: e._id, createdAt: new Date(e.created ?? Date.now()).toISOString().replace('Z', ''), updatedAt: new Date(e.updated ?? Date.now()).toISOString().replace('Z', ''), workspaceId: t, folderId: e.parentId === t ? null : e.parentId, model: 'http_request', sortPriority: n, name: e.name, url: l(e.url), body: r, bodyType: a, authentication: u, authenticationType: i, method: e.method, headers: (e.headers ?? []) .map(({ name: d, value: p, disabled: s }) => ({ enabled: !s, name: d, value: p, })) .filter(({ name: d, value: p }) => d !== '' || p !== ''), } ); } function _(e, t) { return ( console.log('IMPORTING FOLDER', e._id, e.name, JSON.stringify(e, null, 2)), { id: 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 === t ? null : e.parentId, workspaceId: t, model: 'folder', name: e.name, } ); } function b(e) { console.log('RUNNING INSOMNIA'); let t; try { t = JSON.parse(e); } catch { return; } if (!m(t) || !Array.isArray(t.resources)) return; const n = { workspaces: [], requests: [], environments: [], folders: [], }, a = t.resources.filter(I); for (const r of a) { const i = t.resources.find((o) => f(o) && o.parentId === r._id); n.workspaces.push({ id: r._id, createdAt: new Date(a.created ?? Date.now()).toISOString().replace('Z', ''), updatedAt: new Date(a.updated ?? Date.now()).toISOString().replace('Z', ''), model: 'workspace', name: r.name, variables: i ? O(i.data) : [], }); const u = t.resources.filter((o) => f(o) && o.parentId === (i == null ? void 0 : i._id)); n.environments.push(...u.map((o) => S(o, r._id))); const c = (o) => { const d = t.resources.filter((s) => s.parentId === o); let p = 0; for (const s of d) y(s) ? (n.folders.push(_(s, r._id)), c(s._id)) : g(s) && n.requests.push(h(s, r._id, p++)); }; c(r._id); } return ( (n.requests = n.requests.filter(Boolean)), (n.environments = n.environments.filter(Boolean)), (n.workspaces = n.workspaces.filter(Boolean)), { resources: n } ); } export { b as pluginHookImport };