Browse Source

HTTP, Google Drive, Dropbox

couchdb
Ruel Tmeizeh - RuhNet 3 months ago
parent
commit
3a74c85a77
16 changed files with 236 additions and 2 deletions
  1. +5
    -2
      storages.js
  2. +48
    -0
      submodules/dropbox/dropbox.js
  3. +10
    -0
      submodules/dropbox/i18n/en-US.json
  4. BIN
      submodules/dropbox/img/logo.png
  5. +16
    -0
      submodules/dropbox/views/formElements.html
  6. +1
    -0
      submodules/dropbox/views/logo.html
  7. +48
    -0
      submodules/google_drive/google_drive.js
  8. +10
    -0
      submodules/google_drive/i18n/en-US.json
  9. BIN
      submodules/google_drive/img/logo.png
  10. +16
    -0
      submodules/google_drive/views/formElements.html
  11. +1
    -0
      submodules/google_drive/views/logo.html
  12. +48
    -0
      submodules/http/http.js
  13. +11
    -0
      submodules/http/i18n/en-US.json
  14. BIN
      submodules/http/img/logo.png
  15. +21
    -0
      submodules/http/views/formElements.html
  16. +1
    -0
      submodules/http/views/logo.html

+ 5
- 2
storages.js View File

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

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

@ -0,0 +1,48 @@
define(function(require){
var $ = require('jquery');
const CONFIG = {
submoduleName: 'dropbox',
i18n: [ 'en-US' ]
};
var app = {
requests: {},
subscribe: {
'storage.fetchStorages': 'defineStorageDropbox'
},
defineStorageDropbox: 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, {
'dropbox': methods
}
);
args.callback && args.callback(CONFIG)
}
};
return app;
});

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

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

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

Before After
Width: 200  |  Height: 39  |  Size: 6.6 KiB

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

@ -0,0 +1,16 @@
<h3 class="storage-type-label">Dropbox</h3>
<hr />
<h5>Note: this storage endpoint requires a Dropbox OAuth connection to be already setup.</h5>
<input type="hidden" name="handler" value="dropbox"/>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.dropbox.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.dropbox.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/dropbox/views/logo.html View File

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

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

@ -0,0 +1,48 @@
define(function(require){
var $ = require('jquery');
const CONFIG = {
submoduleName: 'google_drive',
i18n: [ 'en-US' ]
};
var app = {
requests: {},
subscribe: {
'storage.fetchStorages': 'defineStorageGoogleDrive'
},
defineStorageGoogleDrive: 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, {
'google_drive': methods
}
);
args.callback && args.callback(CONFIG)
}
};
return app;
});

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

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

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

Before After
Width: 45  |  Height: 40  |  Size: 2.1 KiB

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

@ -0,0 +1,16 @@
<h3 class="storage-type-label">Google Drive</h3>
<hr />
<h5>Note: this storage endpoint requires a Google OAuth connection to be already setup.</h5>
<input type="hidden" name="handler" value="google_drive"/>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.google_drive.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.google_drive.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/google_drive/views/logo.html View File

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

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

@ -0,0 +1,48 @@
define(function(require){
var $ = require('jquery');
const CONFIG = {
submoduleName: 'http',
i18n: [ 'en-US' ]
};
var app = {
requests: {},
subscribe: {
'storage.fetchStorages': 'defineStorageHTTP'
},
defineStorageHTTP: 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, {
'http': methods
}
);
args.callback && args.callback(CONFIG)
}
};
return app;
});

+ 11
- 0
submodules/http/i18n/en-US.json View File

@ -0,0 +1,11 @@
{
"storage": {
"submodules": {
"http": {
"nameLabel": "Name",
"urlLabel": "URL",
"verbLabel": "HTTP Verb"
}
}
}
}

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

Before After
Width: 70  |  Height: 37  |  Size: 2.6 KiB

+ 21
- 0
submodules/http/views/formElements.html View File

@ -0,0 +1,21 @@
<h3 class="storage-type-label">HTTP/WebDAV Storage</h3>
<hr />
<input type="hidden" name="handler" value="http"/>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.http.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.http.urlLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.url}}" name="settings.url" placeholder="https://user:pass@myuploadserver.com/uploads">
</div>
</label>
<label class="control-group">
<span class="control-label">{{ @root.i18n.storage.submodules.http.verbLabel }}</span>
<div class="controls">
<input type="text" value="{{settings.verb}}" name="settings.verb" placeholder="put">
</div>
</label>

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

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

Loading…
Cancel
Save