171 lines
5.3 KiB
JavaScript
171 lines
5.3 KiB
JavaScript
;(function (exports) {
|
|
'use strict';
|
|
|
|
var OAUTH3 = exports.OAUTH3 = exports.OAUTH3 || require('./oauth3.core.js').OAUTH3;
|
|
|
|
OAUTH3._pkgs['www@daplie.com'] = {
|
|
add: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
return OAUTH3.request({
|
|
method: 'POST'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/sites/' + opts.hostname
|
|
+ '?' + OAUTH3.utils.query.stringify({ tld: opts.tld, sld: opts.sld/*, sub: opts.sub*/, unzip: opts.unzip, strip: opts.strip, path: opts.path })
|
|
, session: session
|
|
, multipart: opts.multipart // special property to be figured out by browser request code
|
|
, progress: opts.progress
|
|
}).then(function (result) {
|
|
return result;
|
|
});
|
|
}
|
|
, archiveUrl: function (opts) {
|
|
var providerUri = opts.audience;
|
|
|
|
return OAUTH3.url.normalize(providerUri.replace(/api\./, 'assets.'))
|
|
+ '/assets/www@daplie.com/acl/archives/' + opts.hostname
|
|
+ '?' + OAUTH3.utils.query.stringify({ tld: opts.tld, sld: opts.sld/*, sub: opts.sub*/, strip: opts.strip, path: opts.path })
|
|
;
|
|
}
|
|
, invite: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
// TODO needs a way to have api and assets for audience
|
|
return OAUTH3.request({
|
|
method: 'POST'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/shares/' + (opts.domain || opts.hostname)
|
|
+ '?' + OAUTH3.utils.query.stringify({ tld: opts.tld, sld: opts.sld/*, sub: opts.sub*/, mode: opts.mode, path: opts.path })
|
|
, session: session
|
|
}).then(function (result) {
|
|
return result;
|
|
});
|
|
}
|
|
, acceptInvite: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
// TODO needs a way to have api and assets for audience
|
|
return OAUTH3.request({
|
|
method: 'POST'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/shares/accept/' + opts.token
|
|
+ '?' + OAUTH3.utils.query.stringify({ tld: opts.tld, sld: opts.sld/*, sub: opts.sub*/ })
|
|
, session: session
|
|
}).then(function (result) {
|
|
return result;
|
|
});
|
|
}
|
|
, download: function (opts) {
|
|
var session = opts.session;
|
|
var me = this;
|
|
|
|
// TODO needs a way to have api and assets for audience
|
|
return OAUTH3.request({
|
|
method: 'GET'
|
|
, url: me.archiveUrl
|
|
, session: session
|
|
}).then(function (result) {
|
|
return result;
|
|
});
|
|
}
|
|
, archive: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
return OAUTH3.request({
|
|
method: 'POST'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/archives/' + opts.hostname
|
|
+ '?' + OAUTH3.utils.query.stringify({ tld: opts.tld, sld: opts.sld/*, sub: opts.sub*/, strip: opts.strip, path: opts.path })
|
|
, session: session
|
|
}).then(function (result) {
|
|
return result;
|
|
});
|
|
}
|
|
, contents: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
return OAUTH3.request({
|
|
method: 'GET'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/fs/' + opts.hostname
|
|
+ '?' + OAUTH3.utils.query.stringify({ tld: opts.tld, sld: opts.sld/*, sub: opts.sub*/, path: opts.path })
|
|
, session: session
|
|
}).then(function (result) {
|
|
return result;
|
|
});
|
|
}
|
|
, remove: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
return OAUTH3.request({
|
|
method: 'DELETE'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/sites/' + opts.hostname
|
|
+ '?' + OAUTH3.utils.query.stringify({ tld: opts.tld, sld: opts.sld/*, sub: opts.sub*/, path: opts.path })
|
|
, session: session
|
|
, multipart: opts.multipart // special property to be figured out by browser request code
|
|
}).then(function (result) {
|
|
return result;
|
|
});
|
|
}
|
|
, list: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
return OAUTH3.request({
|
|
method: 'GET'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/list/'
|
|
, session: session
|
|
}).then(function (result) {
|
|
result.data = result.data && result.data.sites || result.data;
|
|
|
|
return result;
|
|
});
|
|
}
|
|
, request: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
return OAUTH3.request({
|
|
method: 'POST'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/request/:tld/:sld/:sub'
|
|
.replace(/(:tld)/, opts.tld)
|
|
.replace(/(:sld)/, opts.sld)
|
|
.replace(/(:sub)/, opts.sub || '')
|
|
, session: session
|
|
}).then(function (result) {
|
|
// result.data
|
|
|
|
return result;
|
|
});
|
|
}
|
|
, claim: function (opts) {
|
|
var providerUri = opts.audience;
|
|
var session = opts.session;
|
|
|
|
return OAUTH3.request({
|
|
method: 'POST'
|
|
, url: OAUTH3.url.normalize(providerUri)
|
|
+ '/api/www@daplie.com/acl/claim/:tld/:sld/:sub'
|
|
.replace(/(:tld)/, opts.tld)
|
|
.replace(/(:sld)/, opts.sld)
|
|
.replace(/(:sub)/, opts.sub || '')
|
|
, session: session
|
|
}).then(function (result) {
|
|
// result.data
|
|
|
|
return result;
|
|
});
|
|
}
|
|
};
|
|
|
|
}('undefined' !== typeof exports ? exports : window));
|