Browse Source

Azure, OneDrive. Also improved custom S3

couchdb
Ruel Tmeizeh - RuhNet 3 months ago
parent
commit
8c99f69364
14 changed files with 182 additions and 10 deletions
  1. +2
    -0
      storages.js
  2. +48
    -0
      submodules/azure/azure.js
  3. +12
    -0
      submodules/azure/i18n/en-US.json
  4. BIN
      submodules/azure/img/logo.png
  5. +27
    -0
      submodules/azure/views/formElements.html
  6. +1
    -0
      submodules/azure/views/logo.html
  7. +4
    -0
      submodules/custom_s3/i18n/en-US.json
  8. +13
    -7
      submodules/custom_s3/views/formElements.html
  9. +10
    -0
      submodules/onedrive/i18n/en-US.json
  10. BIN
      submodules/onedrive/img/logo.png
  11. +48
    -0
      submodules/onedrive/onedrive.js
  12. +16
    -0
      submodules/onedrive/views/formElements.html
  13. +1
    -0
      submodules/onedrive/views/logo.html
  14. +0
    -3
      submodules/s3/i18n/en-US.json

+ 2
- 0
storages.js View File

@ -1,11 +1,13 @@
define(function(require) {
return {
"storages": [
"azure",
"couchdb",
"custom_s3",
"dropbox",
"google_drive",
"http",
"onedrive",
"s3"
]
};


+ 48
- 0
submodules/azure/azure.js View File

@ -0,0 +1,48 @@
define(function(require){
var $ = require('jquery');
const CONFIG = {
submoduleName: 'azure',
i18n: [ 'en-US' ]
};
var app = {
requests: {},
subscribe: {
'storage.fetchStorages': 'defineStorageAzure'
},
defineStorageAzure: function(args) {
var self = this,
storage_nodes = args.storages;
var methods = {
getLogo: function () {
return self.getTemplate({
name: 'logo',
submodule: CONFIG.submoduleName,
data: {}
});
},
getFormElements: function (storageData) {
return self.getTemplate({
name: 'formElements',
submodule: CONFIG.submoduleName,
data: storageData
});
}
};
$.extend(true, storage_nodes, {
'azure': methods
}
);
args.callback && args.callback(CONFIG)
}
};
return app;
});

+ 12
- 0
submodules/azure/i18n/en-US.json View File

@ -0,0 +1,12 @@
{
"storage": {
"submodules": {
"azure": {
"nameLabel": "Name",
"accountLabel": "Account",
"containerLabel": "Container",
"keyLabel": "API Key"
}
}
}
}

BIN
submodules/azure/img/logo.png View File

Before After
Width: 138  |  Height: 40  |  Size: 4.6 KiB

+ 27
- 0
submodules/azure/views/formElements.html View File

@ -0,0 +1,27 @@
<h3 class="storage-type-label">Azure Object Storage</h3>
<hr />
<input type="hidden" name="handler" value="azure"/>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.azure.nameLabel }}</span>
<div class="controls">
<input type="text" value="{{name}}" name="name">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.azure.accountLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.account}}" name="settings.account" placeholder="">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.azure.containerLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.container}}" name="settings.container" minlength="6">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.azure.keyLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.key}}" name="settings.key">
</div>
</label>

+ 1
- 0
submodules/azure/views/logo.html View File

@ -0,0 +1 @@
<img src="/apps/storage/submodules/azure/img/logo.png" alt="azure" />

+ 4
- 0
submodules/custom_s3/i18n/en-US.json View File

@ -4,6 +4,10 @@
"custom_s3": {
"nameLabel": "Name",
"bucketLabel": "Bucket",
"hostLabel": "Host",
"portLabel": "Port",
"regionLabel": "Region",
"schemeLabel": "Scheme",
"keyLabel": "Key",
"secretLabel": "Secret"
}


+ 13
- 7
submodules/custom_s3/views/formElements.html View File

@ -2,43 +2,49 @@
<hr />
<input type="hidden" name="handler" value="s3"/>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.s3.nameLabel }}</span>
<span class="control-label">{{ @root.i18n.storage.submodules.custom_s3.nameLabel }}</span>
<div class="controls">
<input type="text" value="{{name}}" name="name">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.s3.bucketLabel }}</span>
<span class="control-label">{{ @root.i18n.storage.submodules.custom_s3.bucketLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.bucket}}" name="settings.bucket" minlength="6">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.s3.hostLabel }}</span>
<span class="control-label">{{ @root.i18n.storage.submodules.custom_s3.hostLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.host}}" name="settings.host" placeholder="us-east-1.telnyxcloudstorage.com">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.s3.portLabel }}</span>
<span class="control-label">{{ @root.i18n.storage.submodules.custom_s3.regionLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.region}}" name="settings.region" placeholder="us-east">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.custom_s3.portLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.port}}" name="settings.port" placeholder="443">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.s3.schemeLabel }}</span>
<span class="control-label">{{ @root.i18n.storage.submodules.custom_s3.schemeLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.scheme}}" name="settings.scheme" placeholder="https">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.s3.keyLabel }}</span>
<span class="control-label">{{ @root.i18n.storage.submodules.custom_s3.keyLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.key}}" name="settings.key">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.s3.secretLabel }}</span>
<span class="control-label">{{ @root.i18n.storage.submodules.custom_s3.secretLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.secret}}" name="settings.secret">
</div>


+ 10
- 0
submodules/onedrive/i18n/en-US.json View File

@ -0,0 +1,10 @@
{
"storage": {
"submodules": {
"onedrive": {
"nameLabel": "Name",
"docIDLabel": "OAuth Document ID"
}
}
}
}

BIN
submodules/onedrive/img/logo.png View File

Before After
Width: 61  |  Height: 40  |  Size: 3.2 KiB

+ 48
- 0
submodules/onedrive/onedrive.js View File

@ -0,0 +1,48 @@
define(function(require){
var $ = require('jquery');
const CONFIG = {
submoduleName: 'onedrive',
i18n: [ 'en-US' ]
};
var app = {
requests: {},
subscribe: {
'storage.fetchStorages': 'defineStorageOneDrive'
},
defineStorageOneDrive: function(args) {
var self = this,
storage_nodes = args.storages;
var methods = {
getLogo: function () {
return self.getTemplate({
name: 'logo',
submodule: CONFIG.submoduleName,
data: {}
});
},
getFormElements: function (storageData) {
return self.getTemplate({
name: 'formElements',
submodule: CONFIG.submoduleName,
data: storageData
});
}
};
$.extend(true, storage_nodes, {
'onedrive': methods
}
);
args.callback && args.callback(CONFIG)
}
};
return app;
});

+ 16
- 0
submodules/onedrive/views/formElements.html View File

@ -0,0 +1,16 @@
<h3 class="storage-type-label">OneDrive</h3>
<hr />
<h5>Note: this storage endpoint requires a Microsoft OAuth connection to be already setup.</h5>
<input type="hidden" name="handler" value="onedrive"/>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.onedrive.nameLabel }}</span>
<div class="controls">
<input type="text" value="{{name}}" name="name">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.onedrive.docIDLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.oauth_doc_id}}" name="settings.oauth_doc_id" placeholder="Document ID from the system_auth DB">
</div>
</label>

+ 1
- 0
submodules/onedrive/views/logo.html View File

@ -0,0 +1 @@
<img src="/apps/storage/submodules/onedrive/img/logo.png" alt="onedrive" />

+ 0
- 3
submodules/s3/i18n/en-US.json View File

@ -3,9 +3,6 @@
"submodules": {
"s3": {
"nameLabel": "Name",
"hostLabel": "Host",
"portLabel": "Port",
"schemeLabel": "Scheme",
"bucketLabel": "Bucket",
"keyLabel": "Key",
"secretLabel": "Secret"


Loading…
Cancel
Save