Move API_ORIGIN into constants.js

This commit is contained in:
Johannes Zellner
2025-03-03 11:22:56 +01:00
parent 6c674e86e5
commit ef0a9a4a1e
37 changed files with 196 additions and 217 deletions
+1 -3
View File
@@ -1,7 +1,5 @@
<script setup>
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN || window.location.origin;
import { useI18n } from 'vue-i18n';
const i18n = useI18n();
const t = i18n.t;
@@ -9,7 +7,7 @@ const t = i18n.t;
import { ref, onMounted, useTemplateRef } from 'vue';
import { Button, ButtonGroup, FormGroup, TextInput, Dropdown, TableView, InputDialog, Dialog } from 'pankow';
import { prettyLongDate } from 'pankow/utils';
import { SECRET_PLACEHOLDER } from '../constants.js';
import { API_ORIGIN, SECRET_PLACEHOLDER } from '../constants.js';
import Section from '../components/Section.vue';
import PortBindings from '../components/PortBindings.vue';
import ArchivesModel from '../models/ArchivesModel.js';
+1 -3
View File
@@ -1,9 +1,7 @@
<script>
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN ? import.meta.env.VITE_API_ORIGIN : window.location.origin;
import { Dialog, FormGroup, InputDialog, MultiSelect, Radiobutton, TagInput, TextInput } from 'pankow';
import { API_ORIGIN } from '../constants.js';
import ApplinksModel from '../models/ApplinksModel.js';
import UsersModel from '../models/UsersModel.js';
import GroupsModel from '../models/GroupsModel.js';
+1 -2
View File
@@ -1,11 +1,10 @@
<script>
import { TextViewer, ImageViewer } from 'pankow-viewers';
import { API_ORIGIN } from '../constants.js';
import { createDirectoryModel } from '../models/DirectoryModel.js';
import { sanitize } from 'pankow/utils';
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN ? import.meta.env.VITE_API_ORIGIN : window.location.origin;
export default {
name: 'FileViewer',
components: {
+1 -5
View File
@@ -1,16 +1,12 @@
<script>
import { marked } from 'marked';
import { fetcher, Dialog, DirectoryView, TopBar, Breadcrumb, BottomBar, Button, InputDialog, MainLayout, ButtonGroup, Notification, FileUploader, Spinner } from 'pankow';
import { sanitize, sleep } from 'pankow/utils';
import { ISTATES } from '../constants.js';
import { API_ORIGIN, ISTATES } from '../constants.js';
import PreviewPanel from '../components/PreviewPanel.vue';
import { createDirectoryModel } from '../models/DirectoryModel.js';
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN ? import.meta.env.VITE_API_ORIGIN : window.location.origin;
const BASE_URL = import.meta.env.BASE_URL || '/';
const beforeUnloadListener = (event) => {
+1 -2
View File
@@ -1,9 +1,8 @@
<script>
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN ? import.meta.env.VITE_API_ORIGIN : window.location.origin;
import { marked } from 'marked';
import { Button, PasswordInput, TextInput, fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
export default {
name: 'PasswordReset',
+1 -4
View File
@@ -1,17 +1,14 @@
<script>
import { fetcher, Button, ButtonGroup, Dialog, FileUploader, InputDialog, MainLayout, TopBar } from 'pankow';
import '@xterm/xterm/css/xterm.css';
import { Terminal } from '@xterm/xterm';
import { AttachAddon } from '@xterm/addon-attach';
import { FitAddon } from '@xterm/addon-fit';
import { ISTATES, RSTATES, HSTATES } from '../constants.js';
import { API_ORIGIN, ISTATES, RSTATES, HSTATES } from '../constants.js';
import AppsModel from '../models/AppsModel.js';
import { createDirectoryModel } from '../models/DirectoryModel.js';
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN ? import.meta.env.VITE_API_ORIGIN : window.location.origin;
export default {
name: 'Terminal',
components: {
+2 -4
View File
@@ -7,7 +7,7 @@ const t = i18n.t;
import { ref, watch, onMounted, useTemplateRef } from 'vue';
import { Icon, Button, Switch, Checkbox, FormGroup, TextInput, TableView, ButtonGroup, Dialog } from 'pankow';
import { prettyLongDate } from 'pankow/utils';
import { SECRET_PLACEHOLDER } from '../../constants.js';
import { API_ORIGIN, SECRET_PLACEHOLDER } from '../../constants.js';
import { download } from '../../utils.js';
import AppsModel from '../../models/AppsModel.js';
import BackupsModel from '../../models/BackupsModel.js';
@@ -88,9 +88,7 @@ async function onEditSubmit() {
function getDownloadLink(backup) {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return `${origin}/api/v1/apps/${props.app.id}/backups/${backup.id}/download?access_token=${accessToken}`;
return `${API_ORIGIN}/api/v1/apps/${props.app.id}/backups/${backup.id}/download?access_token=${accessToken}`;
}
async function onDownloadConfig(backup) {
+4
View File
@@ -1,4 +1,6 @@
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN || window.location.origin;
// app.accessRestriction:
// null = ANY
// false = NOSSO
@@ -307,6 +309,7 @@ const BACKUP_FORMATS = [
// named exports
export {
API_ORIGIN,
ACL_OPTIONS,
APP_TYPES,
ERROR,
@@ -337,6 +340,7 @@ export {
// default export
export default {
API_ORIGIN,
ACL_OPTIONS,
APP_TYPES,
ERROR,
+1 -2
View File
@@ -1,7 +1,6 @@
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN ? import.meta.env.VITE_API_ORIGIN : window.location.origin;
import { createI18n } from 'vue-i18n';
import { fetcher } from 'pankow';
import { API_ORIGIN } from './constants.js';
const translations = {};
+4 -4
View File
@@ -1,16 +1,16 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
name: 'AppPasswordsModel',
async list() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/app_passwords`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/app_passwords`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -21,7 +21,7 @@ function create() {
async add(identifier, name) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/app_passwords`, { identifier, name }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/app_passwords`, { identifier, name }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -32,7 +32,7 @@ function create() {
async remove(id) {
let error, result;
try {
result = await fetcher.del(`${origin}/api/v1/app_passwords/${id}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/app_passwords/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
+5 -5
View File
@@ -1,16 +1,16 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
name: 'ApplinksModel',
async list() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/applinks`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/applinks`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -23,7 +23,7 @@ function create() {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/applinks`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/applinks`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -36,7 +36,7 @@ function create() {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/applinks/${id}`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/applinks/${id}`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -47,7 +47,7 @@ function create() {
async remove(id) {
let result;
try {
result = await fetcher.del(`${origin}/api/v1/applinks/${id}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/applinks/${id}`, { access_token: accessToken });
} catch (e) {
return [e];
}
+20 -21
View File
@@ -1,5 +1,5 @@
import { APP_TYPES, PROXY_APP_ID, HSTATES, ISTATES, RSTATES } from '../constants.js';
import { API_ORIGIN, APP_TYPES, PROXY_APP_ID, HSTATES, ISTATES, RSTATES } from '../constants.js';
import { fetcher } from 'pankow';
import { sleep } from 'pankow/utils';
import moment from 'moment';
@@ -66,12 +66,11 @@ function appProgressMessage(app) {
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
async function getTask(appId) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/apps/${appId}/task`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/apps/${appId}/task`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -112,7 +111,7 @@ function create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/apps`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps`, data, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -127,7 +126,7 @@ function create() {
async list() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/apps`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/apps`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -137,7 +136,7 @@ function create() {
for (const app of result.body.apps) {
app.ssoAuth = app.sso && (app.manifest.addons['ldap'] || app.manifest.addons['oidc'] || app.manifest.addons['proxyAuth']); // checking app.sso first ensures app.manifest.addons is not null
app.type = app.manifest.id === PROXY_APP_ID ? APP_TYPES.PROXIED : APP_TYPES.APP;
app.iconUrl = app.iconUrl ? (origin + app.iconUrl + '?ts=' + (new Date(app.ts).getTime())) : `${origin}/img/appicon_fallback.png`; // calculate full icon url with cache busting
app.iconUrl = app.iconUrl ? `${API_ORIGIN}${app.iconUrl}?ts=${new Date(app.ts).getTime()}` : `${API_ORIGIN}/img/appicon_fallback.png`; // calculate full icon url with cache busting
// only fetch if we have permissions and a taskId is set/active
if (!app.taskId || (app.accessLevel !== 'operator' && app.accessLevel !== 'admin')) {
@@ -164,7 +163,7 @@ function create() {
async get(id) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/apps/${id}`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/apps/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -175,7 +174,7 @@ function create() {
app.ssoAuth = app.sso && (app.manifest.addons['ldap'] || app.manifest.addons['oidc'] || app.manifest.addons['proxyAuth']); // checking app.sso first ensures app.manifest.addons is not null
app.type = app.manifest.id === PROXY_APP_ID ? APP_TYPES.PROXIED : APP_TYPES.APP;
app.iconUrl = app.iconUrl ? (origin + app.iconUrl + '?ts=' + (new Date(app.ts).getTime())) : null; // calculate full icon url with cache busting
app.iconUrl = app.iconUrl ? `${API_ORIGIN}${app.iconUrl}?ts=${new Date(app.ts).getTime()}` : `${API_ORIGIN}/img/appicon_fallback.png`; // calculate full icon url with cache busting
// only fetch if we have permissions and a taskId is set/active
if (!app.taskId || (app.accessLevel !== 'operator' && app.accessLevel !== 'admin')) {
@@ -200,7 +199,7 @@ function create() {
async restart(id) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/restart`, null, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/restart`, null, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -210,7 +209,7 @@ function create() {
while(true) {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/apps/${id}`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/apps/${id}`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -225,7 +224,7 @@ function create() {
async start(id) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/start`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/start`, {}, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -237,7 +236,7 @@ function create() {
async stop(id) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/stop`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/stop`, {}, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -249,7 +248,7 @@ function create() {
async configure(id, setting, data) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/configure/${setting}`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/configure/${setting}`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -260,7 +259,7 @@ function create() {
async uninstall(id) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/uninstall`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/uninstall`, {}, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -271,7 +270,7 @@ function create() {
async getEvents(id) {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/apps/${id}/eventlog`, { page: 1, per_page: 100, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/apps/${id}/eventlog`, { page: 1, per_page: 100, access_token: accessToken });
} catch (e) {
return [e];
}
@@ -282,7 +281,7 @@ function create() {
async checkForUpdates(id) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/check_for_updates`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/check_for_updates`, {}, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -298,7 +297,7 @@ function create() {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/update`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/update`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -310,7 +309,7 @@ function create() {
// we fetch probably enough to avoid pagination
let result;
try {
result = await fetcher.get(`${origin}/api/v1/apps/${id}/backups`, { page: 1, per_page: 100, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/apps/${id}/backups`, { page: 1, per_page: 100, access_token: accessToken });
} catch (e) {
return [e];
}
@@ -321,7 +320,7 @@ function create() {
async backup(id) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/backup`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/backup`, {}, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -332,7 +331,7 @@ function create() {
async updateBackup(id, backupId, label, preserveSecs) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/backups/${backupId}`, { label, preserveSecs }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/backups/${backupId}`, { label, preserveSecs }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -343,7 +342,7 @@ function create() {
async restore(id, backupId) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/apps/${id}/restore`, { backupId }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/restore`, { backupId }, { access_token: accessToken });
} catch (e) {
return [e];
}
+4 -4
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async list() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/appstore/apps`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/appstore/apps`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -22,7 +22,7 @@ function create() {
return result.body.apps;
},
async get(id, version = '') {
let url = `${origin}/api/v1/appstore/apps/${id}`;
let url = `${API_ORIGIN}/api/v1/appstore/apps/${id}`;
if (version && version !== 'latest') url += `/versions/${version}`;
let error, result;
@@ -42,7 +42,7 @@ function create() {
async getSubscription() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/appstore/subscription`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/appstore/subscription`, { access_token: accessToken });
} catch (e) {
error = e;
}
+4 -4
View File
@@ -1,10 +1,10 @@
import { fetcher } from 'pankow';
import DomainsModel from './DomainsModel.js';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
const domainsModel = DomainsModel.create();
@@ -15,7 +15,7 @@ function create() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/archives`, { page, per_page, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/archives`, { page, per_page, access_token: accessToken });
} catch (e) {
error = e;
}
@@ -26,7 +26,7 @@ function create() {
async remove(id) {
let error, result;
try {
result = await fetcher.del(`${origin}/api/v1/archives/${id}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/archives/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -63,7 +63,7 @@ function create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/archives/${id}/unarchive`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/archives/${id}/unarchive`, data, { access_token: accessToken });
} catch (e) {
error = e;
}
+10 -10
View File
@@ -1,9 +1,9 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async list() {
@@ -12,7 +12,7 @@ function create() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/backups`, { page, per_page, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/backups`, { page, per_page, access_token: accessToken });
} catch (e) {
error = e;
}
@@ -23,7 +23,7 @@ function create() {
async create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/backups/create`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/backups/create`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -35,7 +35,7 @@ function create() {
// if preserveSecs === -1 we will keep it
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/backups/${id}`, { label, preserveSecs }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/backups/${id}`, { label, preserveSecs }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -46,7 +46,7 @@ function create() {
async getConfig() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/backups/config`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/backups/config`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -62,7 +62,7 @@ function create() {
async setConfig(config, limits) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/backups/config/storage`, config, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/backups/config/storage`, config, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -70,7 +70,7 @@ function create() {
if (error || result.status !== 200) return [error || result];
try {
result = await fetcher.post(`${origin}/api/v1/backups/config/limits`, limits, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/backups/config/limits`, limits, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -81,7 +81,7 @@ function create() {
async getPolicy() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/backups/policy`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/backups/policy`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -92,7 +92,7 @@ function create() {
async setPolicy(policy) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/backups/policy`, policy, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/backups/policy`, policy, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -103,7 +103,7 @@ function create() {
async cleanup() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/backups/cleanup`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/backups/cleanup`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
+6 -6
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async getFooter() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/branding/footer`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/branding/footer`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -20,7 +20,7 @@ function create() {
async setFooter(footer) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/branding/footer`, { footer }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/branding/footer`, { footer }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -31,7 +31,7 @@ function create() {
async setName(name) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/branding/cloudron_name`, { name }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/branding/cloudron_name`, { name }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -46,7 +46,7 @@ function create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/branding/cloudron_background`, fd, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/branding/cloudron_background`, fd, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -61,7 +61,7 @@ function create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/branding/cloudron_avatar`, fd, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/branding/cloudron_avatar`, fd, { access_token: accessToken });
} catch (e) {
error = e;
}
+8 -8
View File
@@ -1,16 +1,16 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
name: 'CloudronModel',
async languages() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/cloudron/languages`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/cloudron/languages`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -21,7 +21,7 @@ function create() {
async getLanguage() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/cloudron/language`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/cloudron/language`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -32,7 +32,7 @@ function create() {
async setLanguage(language) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/cloudron/language`, { language }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/cloudron/language`, { language }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -43,7 +43,7 @@ function create() {
async getTimeZone() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/cloudron/time_zone`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/cloudron/time_zone`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -54,7 +54,7 @@ function create() {
async setTimeZone(timeZone) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/cloudron/time_zone`, { timeZone }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/cloudron/time_zone`, { timeZone }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -65,7 +65,7 @@ function create() {
async getRegistryConfig() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/docker/registry_config`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/docker/registry_config`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -76,7 +76,7 @@ function create() {
async setRegistryConfig(config) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/docker/registry_config`, config, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/docker/registry_config`, config, { access_token: accessToken });
} catch (e) {
error = e;
}
+4 -4
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async getConfig() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/dashboard/config`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/dashboard/config`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -20,7 +20,7 @@ function create() {
async prepareDomain(domain) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/dashboard/prepare_location`, { domain }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/dashboard/prepare_location`, { domain }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -31,7 +31,7 @@ function create() {
async setDomain(domain) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/dashboard/location`, { domain }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/dashboard/location`, { domain }, { access_token: accessToken });
} catch (e) {
error = e;
}
+9 -9
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async list() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/domains`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/domains`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -24,7 +24,7 @@ function create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/domains`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/domains`, data, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -39,7 +39,7 @@ function create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/domains/${domain}/config`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/domains/${domain}/config`, data, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -56,7 +56,7 @@ function create() {
async remove(domain) {
let error, result;
try {
result = await fetcher.del(`${origin}/api/v1/domains/${domain}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/domains/${domain}`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -67,7 +67,7 @@ function create() {
async renewCerts(options) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/reverseproxy/renew_certs`, { rebuild: !!options.rebuild }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/reverseproxy/renew_certs`, { rebuild: !!options.rebuild }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -78,7 +78,7 @@ function create() {
async setDnsRecords(options) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/domains/sync_dns`, options, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/domains/sync_dns`, options, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -90,7 +90,7 @@ function create() {
// see WellKnownDialog.vue for the slightly complex wellKnown object
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/domains/${domain}/wellknown`, { wellKnown }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/domains/${domain}/wellknown`, { wellKnown }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -101,7 +101,7 @@ function create() {
async checkRecords(domain, subdomain) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/domains/${domain}/dns_check`, { subdomain, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/domains/${domain}/dns_check`, { subdomain, access_token: accessToken });
} catch (e) {
error = e;
}
+3 -3
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async search(actions, search, page, per_page) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/eventlog`, { actions, search, page, per_page, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/eventlog`, { actions, search, page, per_page, access_token: accessToken });
} catch (e) {
error = e;
}
@@ -20,7 +20,7 @@ function create() {
async get(id) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/eventlog/${id}`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/eventlog/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
+9 -9
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async list() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/groups`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/groups`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -20,7 +20,7 @@ function create() {
async add(name, userIds, appIds) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/groups`, { name }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/groups`, { name }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -30,7 +30,7 @@ function create() {
if (userIds.length) {
let resultUserIds;
try {
resultUserIds = await fetcher.put(`${origin}/api/v1/groups/${result.body.id}/members`, { userIds }, { access_token: accessToken });
resultUserIds = await fetcher.put(`${API_ORIGIN}/api/v1/groups/${result.body.id}/members`, { userIds }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -41,7 +41,7 @@ function create() {
if (appIds.length) {
let resultAppIds;
try {
resultAppIds = await fetcher.put(`${origin}/api/v1/groups/${result.body.id}/apps`, { appIds }, { access_token: accessToken });
resultAppIds = await fetcher.put(`${API_ORIGIN}/api/v1/groups/${result.body.id}/apps`, { appIds }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -54,7 +54,7 @@ function create() {
async update(id, name, userIds, appIds) {
let result;
try {
result = await fetcher.put(`${origin}/api/v1/groups/${id}/name`, { name }, { access_token: accessToken });
result = await fetcher.put(`${API_ORIGIN}/api/v1/groups/${id}/name`, { name }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -62,7 +62,7 @@ function create() {
if (result.status !== 200) return [result];
try {
result = await fetcher.put(`${origin}/api/v1/groups/${id}/members`, { userIds }, { access_token: accessToken });
result = await fetcher.put(`${API_ORIGIN}/api/v1/groups/${id}/members`, { userIds }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -70,7 +70,7 @@ function create() {
if (result.status !== 200) return [result];
try {
result = await fetcher.put(`${origin}/api/v1/groups/${id}/apps`, { appIds }, { access_token: accessToken });
result = await fetcher.put(`${API_ORIGIN}/api/v1/groups/${id}/apps`, { appIds }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -82,7 +82,7 @@ function create() {
async remove(id) {
let result;
try {
result = await fetcher.del(`${origin}/api/v1/groups/${id}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/groups/${id}`, { access_token: accessToken });
} catch (e) {
return [e];
}
+3 -4
View File
@@ -1,6 +1,7 @@
import moment from 'moment';
import { ansiToHtml } from 'anser';
import { API_ORIGIN } from '../constants.js';
// https://github.com/janl/mustache.js/blob/master/mustache.js#L60
const entityMap = {
@@ -26,8 +27,6 @@ function ab2str(buf) {
export function create(type, id) {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
const INITIAL_STREAM_LINES = 100;
let eventSource = null;
@@ -57,7 +56,7 @@ export function create(type, id) {
return {
name: 'LogsModel',
stream(lineHandler, errorHandler) {
eventSource = new EventSource(`${origin}${streamApi}?lines=${INITIAL_STREAM_LINES}&access_token=${accessToken}`);
eventSource = new EventSource(`${API_ORIGIN}${streamApi}?lines=${INITIAL_STREAM_LINES}&access_token=${accessToken}`);
eventSource._lastMessage = null;
eventSource.onerror = function ( /* uselessError */) {
if (eventSource.readyState === EventSource.CLOSED) {
@@ -87,7 +86,7 @@ export function create(type, id) {
};
},
getDownloadUrl() {
return `${origin}${downloadApi}?access_token=${accessToken}&format=short&lines=-1`;
return `${API_ORIGIN}${downloadApi}?access_token=${accessToken}&format=short&lines=-1`;
}
};
}
+2 -2
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async list(domain, search = '') {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/mail/${domain}/mailboxes`, { page: 1, per_page: 1000, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/mail/${domain}/mailboxes`, { page: 1, per_page: 1000, access_token: accessToken });
} catch (e) {
return [e];
}
+13 -13
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async getIpv4Config() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/network/ipv4_config`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/network/ipv4_config`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -25,7 +25,7 @@ function create() {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/network/ipv4_config`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/network/ipv4_config`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -36,7 +36,7 @@ function create() {
async getIpv4() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/network/ipv4`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/network/ipv4`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -47,7 +47,7 @@ function create() {
async getIpv6Config() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/network/ipv6_config`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/network/ipv6_config`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -63,7 +63,7 @@ function create() {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/network/ipv6_config`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/network/ipv6_config`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -74,7 +74,7 @@ function create() {
async getIpv6() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/network/ipv6`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/network/ipv6`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -85,7 +85,7 @@ function create() {
async getDynDnsConfig() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/network/dynamic_dns`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/network/dynamic_dns`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -96,7 +96,7 @@ function create() {
async setDynDnsConfig(enabled) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/network/dynamic_dns`, { enabled }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/network/dynamic_dns`, { enabled }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -107,7 +107,7 @@ function create() {
async getBlocklist() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/network/blocklist`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/network/blocklist`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -118,7 +118,7 @@ function create() {
async setBlocklist(blocklist) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/network/blocklist`, { blocklist }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/network/blocklist`, { blocklist }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -129,7 +129,7 @@ function create() {
async getTrustedIps() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/reverseproxy/trusted_ips`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/reverseproxy/trusted_ips`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -140,7 +140,7 @@ function create() {
async setTrustedIps(trustedIps) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/reverseproxy/trusted_ips`, { trustedIps }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/reverseproxy/trusted_ips`, { trustedIps }, { access_token: accessToken });
} catch (e) {
return [e];
}
+13 -14
View File
@@ -1,16 +1,15 @@
import { ROLES } from '../constants.js';
import { ROLES, API_ORIGIN } from '../constants.js';
import { fetcher } from 'pankow';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
name: 'ProfileModel',
async logout() {
// destroy oidc session in the spirit of true SSO
await fetcher.del(`${origin}/api/v1/oidc/sessions`, { access_token: accessToken });
await fetcher.del(`${API_ORIGIN}/api/v1/oidc/sessions`, { access_token: accessToken });
localStorage.removeItem('token');
@@ -19,7 +18,7 @@ function create() {
async get() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/profile`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/profile`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -39,7 +38,7 @@ function create() {
async setPassword(password, newPassword) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/password`, { password, newPassword }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/password`, { password, newPassword }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -52,7 +51,7 @@ function create() {
async setDisplayName(displayName) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/display_name`, { displayName }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/display_name`, { displayName }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -65,7 +64,7 @@ function create() {
async setEmail(email, password) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/email`, { email, password }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/email`, { email, password }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -78,7 +77,7 @@ function create() {
async setFallbackEmail(fallbackEmail, password) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/fallback_email`, { fallbackEmail, password }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/fallback_email`, { fallbackEmail, password }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -91,7 +90,7 @@ function create() {
async setLanguage(language) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/language`, { language }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/language`, { language }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -107,7 +106,7 @@ function create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/avatar`, fd, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/avatar`, fd, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -120,7 +119,7 @@ function create() {
async sendPasswordReset(identifier) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/auth/password_reset_request`, { identifier }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/auth/password_reset_request`, { identifier }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -133,7 +132,7 @@ function create() {
async setTwoFASecret() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/twofactorauthentication_secret`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/twofactorauthentication_secret`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -144,7 +143,7 @@ function create() {
async enableTwoFA(totpToken) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/twofactorauthentication_enable`, { totpToken }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/twofactorauthentication_enable`, { totpToken }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -155,7 +154,7 @@ function create() {
async disableTwoFA(password) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/profile/twofactorauthentication_disable`, { password }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/profile/twofactorauthentication_disable`, { password }, { access_token: accessToken });
} catch (e) {
error = e;
}
+5 -5
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async list() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/services`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/services`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -20,7 +20,7 @@ function create() {
async get(id) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/services/${id}`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/services/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -31,7 +31,7 @@ function create() {
async restart(id) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/services/${id}/restart`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/services/${id}/restart`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -42,7 +42,7 @@ function create() {
async update(id, memoryLimit, recoveryMode) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/services/${id}`, {memoryLimit, recoveryMode}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/services/${id}`, {memoryLimit, recoveryMode}, { access_token: accessToken });
} catch (e) {
error = e;
}
+9 -9
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async memory() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/system/memory`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/system/memory`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -20,7 +20,7 @@ function create() {
async cpus() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/system/cpus`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/system/cpus`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -31,7 +31,7 @@ function create() {
async blockDevices() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/system/block_devices`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/system/block_devices`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -42,7 +42,7 @@ function create() {
async info() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/system/info`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/system/info`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -53,7 +53,7 @@ function create() {
async reboot() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/system/reboot`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/system/reboot`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -64,7 +64,7 @@ function create() {
async diskUsage() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/system/disk_usage`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/system/disk_usage`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -75,7 +75,7 @@ function create() {
async rescanDiskUsage() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/system/disk_usage`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/system/disk_usage`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -86,7 +86,7 @@ function create() {
async graphs(fromMinutes) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/system/graphs`, { fromMinutes, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/system/graphs`, { fromMinutes, access_token: accessToken });
} catch (e) {
error = e;
}
+6 -6
View File
@@ -1,17 +1,17 @@
import { fetcher } from 'pankow';
import { sleep } from 'pankow/utils';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async wait(id) {
while(true) {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/tasks/${id}`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/tasks/${id}`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -24,7 +24,7 @@ function create() {
async getLatestByType(type) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/tasks`, { type, page: 1, per_page: 1, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/tasks`, { type, page: 1, per_page: 1, access_token: accessToken });
} catch (e) {
error = e;
}
@@ -35,7 +35,7 @@ function create() {
async getByType(type) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/tasks`, { type, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/tasks`, { type, access_token: accessToken });
} catch (e) {
error = e;
}
@@ -46,7 +46,7 @@ function create() {
async get(id) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/tasks/${id}`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/tasks/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -57,7 +57,7 @@ function create() {
async stop(id) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/tasks/${id}/stop`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/tasks/${id}/stop`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
+4 -4
View File
@@ -1,16 +1,16 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
name: 'TokensModel',
async list() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/tokens`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/tokens`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -21,7 +21,7 @@ function create() {
async add(name, scope) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/tokens`, { name, scope }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/tokens`, { name, scope }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -32,7 +32,7 @@ function create() {
async remove(id) {
let error, result;
try {
result = await fetcher.del(`${origin}/api/v1/tokens/${id}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/tokens/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
+5 -5
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async info() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/updater/updates`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/updater/updates`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -20,7 +20,7 @@ function create() {
async getAutoupdatePattern() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/updater/autoupdate_pattern`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/updater/autoupdate_pattern`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -31,7 +31,7 @@ function create() {
async setAutoupdatePattern(pattern) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/updater/autoupdate_pattern`, { pattern }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/updater/autoupdate_pattern`, { pattern }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -42,7 +42,7 @@ function create() {
async check() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/updater/check_for_updates`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/updater/check_for_updates`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
+12 -12
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async getGlobalProfileConfig() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/user_directory/profile_config`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/user_directory/profile_config`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -20,7 +20,7 @@ function create() {
async setGlobalProfileConfig(config) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/user_directory/profile_config`, config, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/user_directory/profile_config`, config, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -31,7 +31,7 @@ function create() {
async getExternalLdapConfig() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/external_ldap/config`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/external_ldap/config`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -42,7 +42,7 @@ function create() {
async setExternalLdapConfig(config) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/external_ldap/config`, config, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/external_ldap/config`, config, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -53,7 +53,7 @@ function create() {
async startExternalLdapSync() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/external_ldap/sync`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/external_ldap/sync`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -64,7 +64,7 @@ function create() {
async getExposedLdapConfig() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/directory_server/config`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/directory_server/config`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -81,7 +81,7 @@ function create() {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/directory_server/config`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/directory_server/config`, data, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -92,7 +92,7 @@ function create() {
async getOpenIdClients() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/oidc/clients`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/oidc/clients`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -103,7 +103,7 @@ function create() {
async addOpenIdClient(name, loginRedirectUri, tokenSignatureAlgorithm) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/oidc/clients`, { name, loginRedirectUri, tokenSignatureAlgorithm }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/oidc/clients`, { name, loginRedirectUri, tokenSignatureAlgorithm }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -114,7 +114,7 @@ function create() {
async updateOpenIdClient(id, name, loginRedirectUri, tokenSignatureAlgorithm) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/oidc/clients/${id}`, { name, loginRedirectUri, tokenSignatureAlgorithm }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/oidc/clients/${id}`, { name, loginRedirectUri, tokenSignatureAlgorithm }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -125,7 +125,7 @@ function create() {
async removeOpenIdClient(id) {
let error, result;
try {
result = await fetcher.del(`${origin}/api/v1/oidc/clients/${id}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/oidc/clients/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
+12 -12
View File
@@ -1,9 +1,9 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async list() {
@@ -15,7 +15,7 @@ function create() {
while (true) {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/users`, { page, per_page: perPage, access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/users`, { page, per_page: perPage, access_token: accessToken });
} catch (e) {
return [e];
}
@@ -44,7 +44,7 @@ function create() {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/users`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/users`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -56,7 +56,7 @@ function create() {
async update(id, data) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/users/${id}/profile`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/users/${id}/profile`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -68,7 +68,7 @@ function create() {
async remove(id) {
let result;
try {
result = await fetcher.del(`${origin}/api/v1/users/${id}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/users/${id}`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -79,7 +79,7 @@ function create() {
async setLocalGroups(id, groupIds) {
let result;
try {
result = await fetcher.put(`${origin}/api/v1/users/${id}/groups`, { groupIds }, { access_token: accessToken });
result = await fetcher.put(`${API_ORIGIN}/api/v1/users/${id}/groups`, { groupIds }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -90,7 +90,7 @@ function create() {
async setRole(id, role) {
let result;
try {
result = await fetcher.put(`${origin}/api/v1/users/${id}/role`, { role }, { access_token: accessToken });
result = await fetcher.put(`${API_ORIGIN}/api/v1/users/${id}/role`, { role }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -101,7 +101,7 @@ function create() {
async setActive(id, active) {
let result;
try {
result = await fetcher.put(`${origin}/api/v1/users/${id}/active`, { active }, { access_token: accessToken });
result = await fetcher.put(`${API_ORIGIN}/api/v1/users/${id}/active`, { active }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -116,7 +116,7 @@ function create() {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/users/${id}/ghost`, data, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/users/${id}/ghost`, data, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -127,7 +127,7 @@ function create() {
async getPasswordResetLink(id) {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/users/${id}/password_reset_link`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/users/${id}/password_reset_link`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -138,7 +138,7 @@ function create() {
async sendPasswordResetEmail(id, email) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/users/${id}/send_password_reset_email`, { email }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/users/${id}/send_password_reset_email`, { email }, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -149,7 +149,7 @@ function create() {
async sendInviteEmail(id, email) {
let result;
try {
result = await fetcher.post(`${origin}/api/v1/users/${id}/send_invite_email`, { email }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/users/${id}/send_invite_email`, { email }, { access_token: accessToken });
} catch (e) {
return [e];
}
+8 -8
View File
@@ -1,15 +1,15 @@
import { fetcher } from 'pankow';
import { API_ORIGIN } from '../constants.js';
function create() {
const accessToken = localStorage.token;
const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin;
return {
async list() {
let result;
try {
result = await fetcher.get(`${origin}/api/v1/volumes`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/volumes`, { access_token: accessToken });
} catch (e) {
return [e];
}
@@ -21,7 +21,7 @@ function create() {
async getStatus(id) {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/volumes/${id}/status`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/volumes/${id}/status`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -36,7 +36,7 @@ function create() {
async remount(id) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/volumes/${id}/remount`, {}, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/volumes/${id}/remount`, {}, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -46,7 +46,7 @@ function create() {
async add(name, mountType, mountOptions) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/volumes`, { name, mountType, mountOptions }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/volumes`, { name, mountType, mountOptions }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -56,7 +56,7 @@ function create() {
async update(id, mountOptions) {
let error, result;
try {
result = await fetcher.post(`${origin}/api/v1/volumes/${id}`, { mountOptions }, { access_token: accessToken });
result = await fetcher.post(`${API_ORIGIN}/api/v1/volumes/${id}`, { mountOptions }, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -66,7 +66,7 @@ function create() {
async remove(id) {
let error, result;
try {
result = await fetcher.del(`${origin}/api/v1/volumes/${id}`, { access_token: accessToken });
result = await fetcher.del(`${API_ORIGIN}/api/v1/volumes/${id}`, { access_token: accessToken });
} catch (e) {
error = e;
}
@@ -76,7 +76,7 @@ function create() {
async getBlockDevices() {
let error, result;
try {
result = await fetcher.get(`${origin}/api/v1/system/block_devices`, { access_token: accessToken });
result = await fetcher.get(`${API_ORIGIN}/api/v1/system/block_devices`, { access_token: accessToken });
} catch (e) {
error = e;
}
+1 -3
View File
@@ -1,7 +1,5 @@
<script setup>
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN || window.location.origin;
import { useI18n } from 'vue-i18n';
const i18n = useI18n();
const t = i18n.t;
@@ -21,7 +19,7 @@ import Security from '../components/app/Security.vue';
import Uninstall from '../components/app/Uninstall.vue';
import Updates from '../components/app/Updates.vue';
import AppsModel from '../models/AppsModel.js';
import { APP_TYPES, ISTATES, RSTATES, HSTATES } from '../constants.js';
import { API_ORIGIN, APP_TYPES, ISTATES, RSTATES, HSTATES } from '../constants.js';
const appsModel = AppsModel.create();
const installationStateLabel = AppsModel.installationStateLabel;
+1 -3
View File
@@ -1,10 +1,8 @@
<script setup>
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN || window.location.origin;
import { ref, computed, useTemplateRef, onMounted, onUnmounted } from 'vue';
import { Button, ButtonGroup, Dropdown, Icon, TableView, TextInput } from 'pankow';
import { APP_TYPES, HSTATES, ISTATES, RSTATES } from '../constants.js';
import { API_ORIGIN, APP_TYPES, HSTATES, ISTATES, RSTATES } from '../constants.js';
import AppsModel from '../models/AppsModel.js';
import ApplinksModel from '../models/ApplinksModel.js';
import DomainsModel from '../models/DomainsModel.js';
+1 -2
View File
@@ -1,9 +1,8 @@
<script setup>
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN || window.location.origin;
import { ref, onMounted, useTemplateRef } from 'vue';
import { Button, FormGroup, TextInput } from 'pankow';
import { API_ORIGIN } from '../constants.js';
import Section from '../components/Section.vue';
import BrandingModel from '../models/BrandingModel.js';
import DashboardModel from '../models/DashboardModel.js';
+2 -3
View File
@@ -5,12 +5,11 @@ const i18n = useI18n();
const t = i18n.t;
import { computed, ref, onMounted, watch } from 'vue';
import { fetcher, Button, Switch } from 'pankow';
import { fetcher, Switch } from 'pankow';
import { marked } from 'marked';
import Section from '../components/Section.vue';
import { API_ORIGIN } from '../constants.js';
const API_ORIGIN = import.meta.env.VITE_API_ORIGIN ? import.meta.env.VITE_API_ORIGIN : window.location.origin;
const accessToken = localStorage.token;
const ready = ref(false);