summaryrefslogtreecommitdiff
path: root/src/client/pages/instance
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2020-02-18 21:12:05 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2020-02-18 21:12:05 +0900
commite2ff408f2f232d99dce30f064c063afadf155926 (patch)
treeac9f64324fe67efd80082206f5ee57fdea934108 /src/client/pages/instance
parent12.13.0 (diff)
downloadsharkey-e2ff408f2f232d99dce30f064c063afadf155926.tar.gz
sharkey-e2ff408f2f232d99dce30f064c063afadf155926.tar.bz2
sharkey-e2ff408f2f232d99dce30f064c063afadf155926.zip
Implement object storage settings
Diffstat (limited to 'src/client/pages/instance')
-rw-r--r--src/client/pages/instance/settings.vue61
1 files changed, 59 insertions, 2 deletions
diff --git a/src/client/pages/instance/settings.vue b/src/client/pages/instance/settings.vue
index 93b9f665e6..7572108718 100644
--- a/src/client/pages/instance/settings.vue
+++ b/src/client/pages/instance/settings.vue
@@ -61,10 +61,10 @@
<div class="_content">
<mk-switch v-model="enableServiceWorker">{{ $t('enableServiceworker') }}<template #desc>{{ $t('serviceworkerInfo') }}</template></mk-switch>
<template v-if="enableServiceWorker">
- <mk-horizon-group inputs class="fit-bottom">
+ <div class="_inputs">
<mk-input v-model="swPublicKey" :disabled="!enableServiceWorker"><template #icon><fa :icon="faKey"/></template>Public key</mk-input>
<mk-input v-model="swPrivateKey" :disabled="!enableServiceWorker"><template #icon><fa :icon="faKey"/></template>Private key</mk-input>
- </mk-horizon-group>
+ </div>
</template>
</div>
<div class="_footer">
@@ -98,6 +98,33 @@
</section>
<section class="_card">
+ <div class="_title"><fa :icon="faCloud"/> {{ $t('objectStorage') }}</div>
+ <div class="_content">
+ <mk-switch v-model="useObjectStorage">{{ $t('useObjectStorage') }}</mk-switch>
+ <template v-if="useObjectStorage">
+ <mk-input v-model="objectStorageBaseUrl" :disabled="!useObjectStorage">URL</mk-input>
+ <div class="_inputs">
+ <mk-input v-model="objectStorageBucket" :disabled="!useObjectStorage">Bucket</mk-input>
+ <mk-input v-model="objectStoragePrefix" :disabled="!useObjectStorage">Prefix</mk-input>
+ </div>
+ <mk-input v-model="objectStorageEndpoint" :disabled="!useObjectStorage">Endpoint</mk-input>
+ <div class="_inputs">
+ <mk-input v-model="objectStorageRegion" :disabled="!useObjectStorage">Region</mk-input>
+ <mk-input v-model="objectStoragePort" type="number" :disabled="!useObjectStorage">Port</mk-input>
+ </div>
+ <div class="_inputs">
+ <mk-input v-model="objectStorageAccessKey" :disabled="!useObjectStorage"><template #icon><fa :icon="faKey"/></template>Access key</mk-input>
+ <mk-input v-model="objectStorageSecretKey" :disabled="!useObjectStorage"><template #icon><fa :icon="faKey"/></template>Secret key</mk-input>
+ </div>
+ <mk-switch v-model="objectStorageUseSSL" :disabled="!useObjectStorage">SSL</mk-switch>
+ </template>
+ </div>
+ <div class="_footer">
+ <mk-button primary @click="save(true)"><fa :icon="faSave"/> {{ $t('save') }}</mk-button>
+ </div>
+ </section>
+
+ <section class="_card">
<div class="_title"><fa :icon="faGhost"/> {{ $t('proxyAccount') }}</div>
<div class="_content">
<mk-input :value="proxyAccount ? proxyAccount.username : null" style="margin: 0;" disabled><template #prefix>@</template>{{ $t('proxyAccount') }}<template #desc>{{ $t('proxyAccountDescription') }}</template></mk-input>
@@ -213,6 +240,16 @@ export default Vue.extend({
enableServiceWorker: false,
swPublicKey: null,
swPrivateKey: null,
+ useObjectStorage: false,
+ objectStorageBaseUrl: null,
+ objectStorageBucket: null,
+ objectStoragePrefix: null,
+ objectStorageEndpoint: null,
+ objectStorageRegion: null,
+ objectStoragePort: null,
+ objectStorageAccessKey: null,
+ objectStorageSecretKey: null,
+ objectStorageUseSSL: false,
enableTwitterIntegration: false,
twitterConsumerKey: null,
twitterConsumerSecret: null,
@@ -257,6 +294,16 @@ export default Vue.extend({
this.enableServiceWorker = this.meta.enableServiceWorker;
this.swPublicKey = this.meta.swPublickey;
this.swPrivateKey = this.meta.swPrivateKey;
+ this.useObjectStorage = this.meta.useObjectStorage;
+ this.objectStorageBaseUrl = this.meta.objectStorageBaseUrl;
+ this.objectStorageBucket = this.meta.objectStorageBucket;
+ this.objectStoragePrefix = this.meta.objectStoragePrefix;
+ this.objectStorageEndpoint = this.meta.objectStorageEndpoint;
+ this.objectStorageRegion = this.meta.objectStorageRegion;
+ this.objectStoragePort = this.meta.objectStoragePort;
+ this.objectStorageAccessKey = this.meta.objectStorageAccessKey;
+ this.objectStorageSecretKey = this.meta.objectStorageSecretKey;
+ this.objectStorageUseSSL = this.meta.objectStorageUseSSL;
this.enableTwitterIntegration = this.meta.enableTwitterIntegration;
this.twitterConsumerKey = this.meta.twitterConsumerKey;
this.twitterConsumerSecret = this.meta.twitterConsumerSecret;
@@ -341,6 +388,16 @@ export default Vue.extend({
enableServiceWorker: this.enableServiceWorker,
swPublicKey: this.swPublicKey,
swPrivateKey: this.swPrivateKey,
+ useObjectStorage: this.useObjectStorage,
+ objectStorageBaseUrl: this.objectStorageBaseUrl ? this.objectStorageBaseUrl : null,
+ objectStorageBucket: this.objectStorageBucket ? this.objectStorageBucket : null,
+ objectStoragePrefix: this.objectStoragePrefix ? this.objectStoragePrefix : null,
+ objectStorageEndpoint: this.objectStorageEndpoint ? this.objectStorageEndpoint : null,
+ objectStorageRegion: this.objectStorageRegion ? this.objectStorageRegion : null,
+ objectStoragePort: this.objectStoragePort ? this.objectStoragePort : null,
+ objectStorageAccessKey: this.objectStorageAccessKey ? this.objectStorageAccessKey : null,
+ objectStorageSecretKey: this.objectStorageSecretKey ? this.objectStorageSecretKey : null,
+ objectStorageUseSSL: this.objectStorageUseSSL,
enableTwitterIntegration: this.enableTwitterIntegration,
twitterConsumerKey: this.twitterConsumerKey,
twitterConsumerSecret: this.twitterConsumerSecret,