From 9e2f1caaf77937596f3a172fa20ba109ca04a0e1 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Sun, 8 Jul 2018 01:12:43 -0400 Subject: [PATCH] feat: storage module refactor + UI fixes --- client/components/admin/admin-auth.vue | 2 +- client/components/admin/admin-contribute.vue | 6 +-- client/components/admin/admin-general.vue | 4 +- client/components/admin/admin-groups.vue | 8 ++-- client/components/admin/admin-locale.vue | 4 +- client/components/admin/admin-rendering.vue | 4 +- client/components/admin/admin-storage.vue | 2 +- client/components/admin/admin-system.vue | 6 +-- client/components/admin/admin-theme.vue | 2 +- client/scss/app.scss | 1 - server/db/models/authentication.js | 5 +-- server/db/models/storage.js | 22 +++++++--- server/helpers/common.js | 17 +++---- server/modules/storage/azure.js | 30 ------------- server/modules/storage/azure/definition.yml | 7 +++ server/modules/storage/azure/storage.js | 23 ++++++++++ server/modules/storage/digitalocean.js | 34 -------------- .../storage/digitalocean/definition.yml | 10 +++++ .../modules/storage/digitalocean/storage.js | 23 ++++++++++ server/modules/storage/disk.js | 28 ------------ server/modules/storage/disk/definition.yml | 5 +++ server/modules/storage/disk/storage.js | 23 ++++++++++ server/modules/storage/dropbox.js | 29 ------------ server/modules/storage/dropbox/definition.yml | 6 +++ server/modules/storage/dropbox/storage.js | 23 ++++++++++ server/modules/storage/gdrive.js | 29 ------------ server/modules/storage/gdrive/definition.yml | 6 +++ server/modules/storage/gdrive/storage.js | 23 ++++++++++ server/modules/storage/git.js | 44 ------------------- server/modules/storage/git/definition.yml | 20 +++++++++ server/modules/storage/git/storage.js | 23 ++++++++++ server/modules/storage/onedrive.js | 29 ------------ .../modules/storage/onedrive/definition.yml | 6 +++ server/modules/storage/onedrive/storage.js | 23 ++++++++++ server/modules/storage/s3.js | 31 ------------- server/modules/storage/s3/definition.yml | 8 ++++ server/modules/storage/s3/storage.js | 23 ++++++++++ server/modules/storage/scp.js | 38 ---------------- server/modules/storage/scp/definition.yml | 13 ++++++ server/modules/storage/scp/storage.js | 23 ++++++++++ 40 files changed, 334 insertions(+), 329 deletions(-) delete mode 100644 server/modules/storage/azure.js create mode 100644 server/modules/storage/azure/definition.yml create mode 100644 server/modules/storage/azure/storage.js delete mode 100644 server/modules/storage/digitalocean.js create mode 100644 server/modules/storage/digitalocean/definition.yml create mode 100644 server/modules/storage/digitalocean/storage.js delete mode 100644 server/modules/storage/disk.js create mode 100644 server/modules/storage/disk/definition.yml create mode 100644 server/modules/storage/disk/storage.js delete mode 100644 server/modules/storage/dropbox.js create mode 100644 server/modules/storage/dropbox/definition.yml create mode 100644 server/modules/storage/dropbox/storage.js delete mode 100644 server/modules/storage/gdrive.js create mode 100644 server/modules/storage/gdrive/definition.yml create mode 100644 server/modules/storage/gdrive/storage.js delete mode 100644 server/modules/storage/git.js create mode 100644 server/modules/storage/git/definition.yml create mode 100644 server/modules/storage/git/storage.js delete mode 100644 server/modules/storage/onedrive.js create mode 100644 server/modules/storage/onedrive/definition.yml create mode 100644 server/modules/storage/onedrive/storage.js delete mode 100644 server/modules/storage/s3.js create mode 100644 server/modules/storage/s3/definition.yml create mode 100644 server/modules/storage/s3/storage.js delete mode 100644 server/modules/storage/scp.js create mode 100644 server/modules/storage/scp/definition.yml create mode 100644 server/modules/storage/scp/storage.js diff --git a/client/components/admin/admin-auth.vue b/client/components/admin/admin-auth.vue index c269eb1a..04a33961 100644 --- a/client/components/admin/admin-auth.vue +++ b/client/components/admin/admin-auth.vue @@ -51,7 +51,7 @@ v-model='cfg.value.value' prepend-icon='settings_applications' ) - v-divider + v-divider.mt-3 v-subheader.pl-0 Registration .pr-3 v-switch.ml-3( diff --git a/client/components/admin/admin-contribute.vue b/client/components/admin/admin-contribute.vue index 807e1f47..c03a4453 100644 --- a/client/components/admin/admin-contribute.vue +++ b/client/components/admin/admin-contribute.vue @@ -9,14 +9,14 @@ a(href='https://requarks.io', target='_blank') requarks.io a(href='https://github.com/Requarks/wiki/graphs/contributors', target='_blank') {{ $t('admin:contribute.openSourceContributors') }} .body-1.pt-3.pl-3 {{ $t('admin:contribute.needYourHelp') }} - v-divider + v-divider.mt-3 v-subheader {{ $t('admin:contribute.fundOurWork') }} .body-1.pl-3 {{ $t('admin:contribute.openCollective') }} v-card-actions.mt-3.ml-2 v-btn(depressed, color='primary', href='https://opencollective.com/wikijs') v-icon(left) local_atm span {{ $t('admin:contribute.makeADonation') }} - v-divider + v-divider.mt-3 v-subheader {{ $t('admin:contribute.contribute') }} .body-1.pl-3 ul @@ -26,7 +26,7 @@ a(href='https://github.com/Requarks/wiki/issues', target='_blank') Github i18next(path='admin:contribute.helpTranslate', tag='li') a(href='https://gitter.im/Requarks/wiki', target='_blank') Gitter - v-divider + v-divider.mt-3 v-subheader {{ $t('admin:contribute.spreadTheWord') }} .body-1.pl-3 ul diff --git a/client/components/admin/admin-general.vue b/client/components/admin/admin-general.vue index 3a17f02f..d07dfac0 100644 --- a/client/components/admin/admin-general.vue +++ b/client/components/admin/admin-general.vue @@ -15,7 +15,7 @@ v-subheader General .px-3 v-text-field(label='Site Title', required, :counter='50', v-model='siteTitle', prepend-icon='public') - v-divider + v-divider.mt-3 v-subheader SEO .px-3 v-text-field(label='Site Description', :counter='255', prepend-icon='public') @@ -51,7 +51,7 @@ persistent-hint hint='Check this option if a round logo frame doesn\'t work with your logo.' ) - v-divider + v-divider.mt-3 v-switch( v-model='displayMascot' label='Display Wiki.js Mascot' diff --git a/client/components/admin/admin-groups.vue b/client/components/admin/admin-groups.vue index c5449112..87b7f64d 100644 --- a/client/components/admin/admin-groups.vue +++ b/client/components/admin/admin-groups.vue @@ -22,10 +22,10 @@ v-spacer v-text-field(solo, append-icon='search', label='Search', single-line, hide-details, v-model='search') v-data-table( - :items='groups', - :headers='headers', - :search='search', - :pagination.sync='pagination', + :items='groups' + :headers='headers' + :search='search' + :pagination.sync='pagination' :rows-per-page-items='[15]' hide-actions ) diff --git a/client/components/admin/admin-locale.vue b/client/components/admin/admin-locale.vue index 98511263..8231e4dc 100644 --- a/client/components/admin/admin-locale.vue +++ b/client/components/admin/admin-locale.vue @@ -31,7 +31,7 @@ v-list-tile-content v-list-tile-title(v-html='data.item.name') v-list-tile-sub-title(v-html='data.item.nativeName') - v-divider + v-divider.mt-3 v-switch( v-model='autoUpdate' :label='$t("admin:locale.autoUpdate.label")' @@ -65,7 +65,7 @@ ) span {{ $t('admin:locale.namespacingPrefixWarning.title', { langCode: selectedLocale }) }} .caption.grey--text {{ $t('admin:locale.namespacingPrefixWarning.subtitle') }} - v-divider + v-divider.mt-3.mb-4 v-select( :disabled='!namespacing' :items='installedLocales' diff --git a/client/components/admin/admin-rendering.vue b/client/components/admin/admin-rendering.vue index c4783286..8e3c2e3e 100644 --- a/client/components/admin/admin-rendering.vue +++ b/client/components/admin/admin-rendering.vue @@ -169,7 +169,7 @@ persistent-hint hint='Links will automatically be converted to clickable links.' ) - v-divider + v-divider.mt-3 v-switch( v-model='linkify' label='Automatically convert line breaks' @@ -177,7 +177,7 @@ persistent-hint hint='Add linebreaks within paragraphs.' ) - v-divider + v-divider.mt-3 v-switch( v-model='linkify' label='Highlight code blocks' diff --git a/client/components/admin/admin-storage.vue b/client/components/admin/admin-storage.vue index 5d9c51b4..9b347edd 100644 --- a/client/components/admin/admin-storage.vue +++ b/client/components/admin/admin-storage.vue @@ -51,7 +51,7 @@ v-model='cfg.value.value' prepend-icon='settings_applications' ) - v-divider + v-divider.mt-3 v-subheader.pl-0 Sync Direction .body-1.ml-3 Choose how content synchronization is handled for this storage target. .pr-3.pt-3 diff --git a/client/components/admin/admin-system.vue b/client/components/admin/admin-system.vue index 2d112b35..52f5fbd8 100644 --- a/client/components/admin/admin-system.vue +++ b/client/components/admin/admin-system.vue @@ -25,7 +25,7 @@ v-list-tile-action v-list-tile-action-text {{ $t('admin:system.published') }} {{ info.latestVersionReleaseDate | moment('from') }} - v-divider + v-divider.mt-3 v-subheader {{ $t('admin:system.hostInfo') }} v-list-tile(avatar) @@ -76,7 +76,7 @@ v-list-tile-content v-list-tile-title {{ info.nodeVersion }} - v-divider + v-divider.mt-3 v-subheader Redis v-list-tile(avatar) @@ -89,7 +89,7 @@ v-list-tile-action v-list-tile-action-text {{ $t('admin:system.ramUsage', { used: info.redisUsedRAM, total: info.redisTotalRAM }) }} - v-divider + v-divider.mt-3 v-subheader {{ info.dbType }} v-list-tile(avatar) diff --git a/client/components/admin/admin-theme.vue b/client/components/admin/admin-theme.vue index d700b694..84e90ea0 100644 --- a/client/components/admin/admin-theme.vue +++ b/client/components/admin/admin-theme.vue @@ -26,7 +26,7 @@ v-list-tile-content v-list-tile-title(v-html='data.item.text') v-list-tile-sub-title(v-html='data.item.author') - v-divider + v-divider.mt-3 v-switch( v-model='darkMode' label='Dark Mode' diff --git a/client/scss/app.scss b/client/scss/app.scss index 8226f4a7..7a8bbb3d 100644 --- a/client/scss/app.scss +++ b/client/scss/app.scss @@ -1,6 +1,5 @@ @import "global"; -@import "base/reset"; @import "base/base"; @import 'base/icons'; diff --git a/server/db/models/authentication.js b/server/db/models/authentication.js index 8befded7..a31d8f76 100644 --- a/server/db/models/authentication.js +++ b/server/db/models/authentication.js @@ -2,7 +2,6 @@ const Model = require('objection').Model const autoload = require('auto-load') const path = require('path') const _ = require('lodash') -const commonHelper = require('../../helpers/common') /* global WIKI */ @@ -56,7 +55,7 @@ module.exports = class Authentication extends Model { if (_.isPlainObject(value)) { let cfgValue = { type: typeof value.type(), - value: !_.isNil(value.default) ? value.default : commonHelper.getTypeDefaultValue(value) + value: !_.isNil(value.default) ? value.default : new value() // eslint-disable-line new-cap } if (_.isArray(value.enum)) { cfgValue.enum = value.enum @@ -65,7 +64,7 @@ module.exports = class Authentication extends Model { } else { _.set(result, key, { type: typeof value(), - value: commonHelper.getTypeDefaultValue(value) + value: new value() // eslint-disable-line new-cap }) } return result diff --git a/server/db/models/storage.js b/server/db/models/storage.js index 1a115d5b..a77bc626 100644 --- a/server/db/models/storage.js +++ b/server/db/models/storage.js @@ -1,7 +1,8 @@ const Model = require('objection').Model -const autoload = require('auto-load') const path = require('path') +const fs = require('fs-extra') const _ = require('lodash') +const yaml = require('js-yaml') const commonHelper = require('../../helpers/common') /* global WIKI */ @@ -35,9 +36,18 @@ module.exports = class Storage extends Model { static async refreshTargetsFromDisk() { try { const dbTargets = await WIKI.db.storage.query() - const diskTargets = autoload(path.join(WIKI.SERVERPATH, 'modules/storage')) + + // -> Fetch definitions from disk + const storageDirs = await fs.readdir(path.join(WIKI.SERVERPATH, 'modules/storage')) + let diskTargets = [] + for (let dir of storageDirs) { + const def = await fs.readFile(path.join(WIKI.SERVERPATH, 'modules/storage', dir, 'definition.yml'), 'utf8') + diskTargets.push(yaml.safeLoad(def)) + } + + // -> Insert new targets let newTargets = [] - _.forOwn(diskTargets, (target, targetKey) => { + _.forEach(diskTargets, target => { if (!_.some(dbTargets, ['key', target.key])) { newTargets.push({ key: target.key, @@ -47,8 +57,8 @@ module.exports = class Storage extends Model { config: _.transform(target.props, (result, value, key) => { if (_.isPlainObject(value)) { let cfgValue = { - type: typeof value.type(), - value: !_.isNil(value.default) ? value.default : commonHelper.getTypeDefaultValue(value) + type: value.type.toLowerCase(), + value: !_.isNil(value.default) ? value.default : commonHelper.getTypeDefaultValue(value.type) } if (_.isArray(value.enum)) { cfgValue.enum = value.enum @@ -56,7 +66,7 @@ module.exports = class Storage extends Model { _.set(result, key, cfgValue) } else { _.set(result, key, { - type: typeof value(), + type: value.toLowerCase(), value: commonHelper.getTypeDefaultValue(value) }) } diff --git a/server/helpers/common.js b/server/helpers/common.js index 5dbef225..c3d41466 100644 --- a/server/helpers/common.js +++ b/server/helpers/common.js @@ -1,17 +1,18 @@ -const _ = require('lodash') - module.exports = { /** * Get default value of type * - * @param {any} Type Primitive Type + * @param {any} type primitive type name * @returns Default value */ - getTypeDefaultValue (Type) { - if (_.isArray(Type)) { - return _.head(Type) - } else { - return new Type() + getTypeDefaultValue (type) { + switch (type.toLowerCase()) { + case 'string': + return '' + case 'number': + return 0 + case 'boolean': + return false } } } diff --git a/server/modules/storage/azure.js b/server/modules/storage/azure.js deleted file mode 100644 index 37e4374d..00000000 --- a/server/modules/storage/azure.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - key: 'azure', - title: 'Azure Blob Storage', - props: { - accountName: String, - accountKey: String, - container: String - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/azure/definition.yml b/server/modules/storage/azure/definition.yml new file mode 100644 index 00000000..3c551fdf --- /dev/null +++ b/server/modules/storage/azure/definition.yml @@ -0,0 +1,7 @@ +key: azure +title: Azure Blob Storage +author: requarks.io +props: + accountName: String + accountKey: String + container: String diff --git a/server/modules/storage/azure/storage.js b/server/modules/storage/azure/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/azure/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +} diff --git a/server/modules/storage/digitalocean.js b/server/modules/storage/digitalocean.js deleted file mode 100644 index 11bd96c1..00000000 --- a/server/modules/storage/digitalocean.js +++ /dev/null @@ -1,34 +0,0 @@ -module.exports = { - key: 'digitalocean', - title: 'DigialOcean Spaces', - props: { - accessKeyId: String, - accessSecret: String, - region: { - type: String, - default: 'nyc3' - }, - bucket: String - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/digitalocean/definition.yml b/server/modules/storage/digitalocean/definition.yml new file mode 100644 index 00000000..cbd24f19 --- /dev/null +++ b/server/modules/storage/digitalocean/definition.yml @@ -0,0 +1,10 @@ +key: digitalocean +title: DigialOcean Spaces +author: requarks.io +props: + accessKeyId: String + accessSecret: String + region: + type: String + default: nyc3 + bucket: String diff --git a/server/modules/storage/digitalocean/storage.js b/server/modules/storage/digitalocean/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/digitalocean/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +} diff --git a/server/modules/storage/disk.js b/server/modules/storage/disk.js deleted file mode 100644 index 21eb6ea8..00000000 --- a/server/modules/storage/disk.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - key: 'disk', - title: 'Local FS', - props: { - path: String - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/disk/definition.yml b/server/modules/storage/disk/definition.yml new file mode 100644 index 00000000..1eb172bc --- /dev/null +++ b/server/modules/storage/disk/definition.yml @@ -0,0 +1,5 @@ +key: disk +title: Local FS +author: requarks.io +props: + path: String diff --git a/server/modules/storage/disk/storage.js b/server/modules/storage/disk/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/disk/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +} diff --git a/server/modules/storage/dropbox.js b/server/modules/storage/dropbox.js deleted file mode 100644 index 3c4d6aab..00000000 --- a/server/modules/storage/dropbox.js +++ /dev/null @@ -1,29 +0,0 @@ -module.exports = { - key: 'dropbox', - title: 'Dropbox', - props: { - appKey: String, - appSecret: String - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/dropbox/definition.yml b/server/modules/storage/dropbox/definition.yml new file mode 100644 index 00000000..5b3b0c9f --- /dev/null +++ b/server/modules/storage/dropbox/definition.yml @@ -0,0 +1,6 @@ +key: dropbox +title: Dropbox +author: requarks.io +props: + appKey: String + appSecret: String diff --git a/server/modules/storage/dropbox/storage.js b/server/modules/storage/dropbox/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/dropbox/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +} diff --git a/server/modules/storage/gdrive.js b/server/modules/storage/gdrive.js deleted file mode 100644 index e74d6a34..00000000 --- a/server/modules/storage/gdrive.js +++ /dev/null @@ -1,29 +0,0 @@ -module.exports = { - key: 'gdrive', - title: 'Google Drive', - props: { - clientId: String, - clientSecret: String - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/gdrive/definition.yml b/server/modules/storage/gdrive/definition.yml new file mode 100644 index 00000000..80ac3d6b --- /dev/null +++ b/server/modules/storage/gdrive/definition.yml @@ -0,0 +1,6 @@ +key: gdrive +title: Google Drive +author: requarks.io +props: + clientId: String + clientSecret: String diff --git a/server/modules/storage/gdrive/storage.js b/server/modules/storage/gdrive/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/gdrive/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +} diff --git a/server/modules/storage/git.js b/server/modules/storage/git.js deleted file mode 100644 index e332ddd7..00000000 --- a/server/modules/storage/git.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - key: 'git', - title: 'Git', - props: { - authType: { - type: String, - default: 'ssh', - enum: ['basic', 'ssh'] - }, - repoUrl: String, - branch: { - type: String, - default: 'master' - }, - verifySSL: { - type: Boolean, - default: true - }, - sshPrivateKeyPath: String, - basicUsername: String, - basicPassword: String - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/git/definition.yml b/server/modules/storage/git/definition.yml new file mode 100644 index 00000000..aab6051b --- /dev/null +++ b/server/modules/storage/git/definition.yml @@ -0,0 +1,20 @@ +key: git +title: Git +author: requarks.io +props: + authType: + type: String + default: 'ssh' + enum: + - 'basic' + - 'ssh' + repoUrl: String + branch: + type: String + default: 'master' + verifySSL: + type: Boolean + default: true + sshPrivateKeyPath: String + basicUsername: String + basicPassword: String diff --git a/server/modules/storage/git/storage.js b/server/modules/storage/git/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/git/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +} diff --git a/server/modules/storage/onedrive.js b/server/modules/storage/onedrive.js deleted file mode 100644 index 74c1c91e..00000000 --- a/server/modules/storage/onedrive.js +++ /dev/null @@ -1,29 +0,0 @@ -module.exports = { - key: 'onedrive', - title: 'OneDrive', - props: { - clientId: String, - clientSecret: String - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/onedrive/definition.yml b/server/modules/storage/onedrive/definition.yml new file mode 100644 index 00000000..3bbf3dd7 --- /dev/null +++ b/server/modules/storage/onedrive/definition.yml @@ -0,0 +1,6 @@ +key: onedrive +title: OneDrive +author: requarks.io +props: + clientId: String + clientSecret: String diff --git a/server/modules/storage/onedrive/storage.js b/server/modules/storage/onedrive/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/onedrive/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +} diff --git a/server/modules/storage/s3.js b/server/modules/storage/s3.js deleted file mode 100644 index b9ea17fb..00000000 --- a/server/modules/storage/s3.js +++ /dev/null @@ -1,31 +0,0 @@ -module.exports = { - key: 's3', - title: 'Amazon S3', - props: { - accessKeyId: String, - accessSecret: String, - region: String, - bucket: String - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/s3/definition.yml b/server/modules/storage/s3/definition.yml new file mode 100644 index 00000000..06931b60 --- /dev/null +++ b/server/modules/storage/s3/definition.yml @@ -0,0 +1,8 @@ +key: s3 +title: Amazon S3 +author: requarks.io +props: + accessKeyId: String + accessSecret: String + region: String + bucket: String diff --git a/server/modules/storage/s3/storage.js b/server/modules/storage/s3/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/s3/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +} diff --git a/server/modules/storage/scp.js b/server/modules/storage/scp.js deleted file mode 100644 index a33bc951..00000000 --- a/server/modules/storage/scp.js +++ /dev/null @@ -1,38 +0,0 @@ -module.exports = { - key: 'scp', - title: 'SCP (SSH)', - props: { - host: String, - port: { - type: Number, - default: 22 - }, - username: String, - privateKeyPath: String, - basePath: { - type: String, - default: '~' - } - }, - activated(opts) { - - }, - deactivated(opts) { - - }, - init(opts) { - - }, - created(opts) { - - }, - updated(opts) { - - }, - deleted(opts) { - - }, - renamed(opts) { - - } -} diff --git a/server/modules/storage/scp/definition.yml b/server/modules/storage/scp/definition.yml new file mode 100644 index 00000000..2d4a7488 --- /dev/null +++ b/server/modules/storage/scp/definition.yml @@ -0,0 +1,13 @@ +key: scp +title: SCP (SSH) +author: requarks.io +props: + host: String + port: + type: Number + default: 22 + username: String + privateKeyPath: String + basePath: + type: String + default: '~' diff --git a/server/modules/storage/scp/storage.js b/server/modules/storage/scp/storage.js new file mode 100644 index 00000000..22d81b84 --- /dev/null +++ b/server/modules/storage/scp/storage.js @@ -0,0 +1,23 @@ +module.exports = { + async activated(opts) { + + }, + async deactivated(opts) { + + }, + async init(opts) { + + }, + async created(opts) { + + }, + async updated(opts) { + + }, + async deleted(opts) { + + }, + async renamed(opts) { + + } +}