doggo.js
Version:
Typed client for Doggo.Ninja's public API
733 lines (728 loc) • 26.4 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function asyncGeneratorStep(n, t, e, r, o, a, c) {
try {
var i = n[a](c),
u = i.value;
} catch (n) {
return void e(n);
}
i.done ? t(u) : Promise.resolve(u).then(r, o);
}
function _asyncToGenerator(n) {
return function () {
var t = this,
e = arguments;
return new Promise(function (r, o) {
var a = n.apply(t, e);
function _next(n) {
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
}
function _throw(n) {
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
}
_next(void 0);
});
};
}
function _extends() {
return _extends = Object.assign ? Object.assign.bind() : function (n) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e];
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
}
return n;
}, _extends.apply(null, arguments);
}
function _regenerator() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e,
t,
r = "function" == typeof Symbol ? Symbol : {},
n = r.iterator || "@@iterator",
o = r.toStringTag || "@@toStringTag";
function i(r, n, o, i) {
var c = n && n.prototype instanceof Generator ? n : Generator,
u = Object.create(c.prototype);
return _regeneratorDefine(u, "_invoke", function (r, n, o) {
var i,
c,
u,
f = 0,
p = o || [],
y = !1,
G = {
p: 0,
n: 0,
v: e,
a: d,
f: d.bind(e, 4),
d: function (t, r) {
return i = t, c = 0, u = e, G.n = r, a;
}
};
function d(r, n) {
for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
var o,
i = p[t],
d = G.p,
l = i[2];
r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
}
if (o || r > 1) return a;
throw y = !0, n;
}
return function (o, p, l) {
if (f > 1) throw TypeError("Generator is already running");
for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
try {
if (f = 2, i) {
if (c || (o = "next"), t = i[o]) {
if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
u = t.value, c < 2 && (c = 0);
} else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
i = e;
} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
} catch (t) {
i = e, c = 1, u = t;
} finally {
f = 1;
}
}
return {
value: t,
done: y
};
};
}(r, o, i), !0), u;
}
var a = {};
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
t = Object.getPrototypeOf;
var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
return this;
}), t),
u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
function f(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
}
return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
return this;
}), _regeneratorDefine(u, "toString", function () {
return "[object Generator]";
}), (_regenerator = function () {
return {
w: i,
m: f
};
})();
}
function _regeneratorDefine(e, r, n, t) {
var i = Object.defineProperty;
try {
i({}, "", {});
} catch (e) {
i = 0;
}
_regeneratorDefine = function (e, r, n, t) {
function o(r, n) {
_regeneratorDefine(e, r, function (e) {
return this._invoke(r, n, e);
});
}
r ? i ? i(e, r, {
value: n,
enumerable: !t,
configurable: !t,
writable: !t
}) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
}, _regeneratorDefine(e, r, n, t);
}
var PatClient = /*#__PURE__*/function () {
function PatClient(baseUrl) {
this.baseUrl = baseUrl != null ? baseUrl : 'https://pat.doggo.ninja';
}
var _proto = PatClient.prototype;
_proto.files = /*#__PURE__*/function () {
var _files = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(parentId) {
return _regenerator().w(function (_context) {
while (1) switch (_context.n) {
case 0:
_context.n = 1;
return this.makeRequest('get', '/v1/files', {
parentId: parentId
});
case 1:
return _context.a(2, _context.v);
}
}, _callee, this);
}));
function files(_x) {
return _files.apply(this, arguments);
}
return files;
}();
_proto.recentFiles = /*#__PURE__*/function () {
var _recentFiles = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(count) {
return _regenerator().w(function (_context2) {
while (1) switch (_context2.n) {
case 0:
_context2.n = 1;
return this.makeRequest('get', '/v1/files', {
count: count.toString()
});
case 1:
return _context2.a(2, _context2.v);
}
}, _callee2, this);
}));
function recentFiles(_x2) {
return _recentFiles.apply(this, arguments);
}
return recentFiles;
}();
_proto.upload = /*#__PURE__*/function () {
var _upload = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(file, parentId, onProgress) {
var url;
return _regenerator().w(function (_context3) {
while (1) switch (_context3.n) {
case 0:
url = new URL(this.baseUrl + "/v1/upload");
if (parentId) url.searchParams.set('parentId', parentId);
url.searchParams.set('mimeType', file.type);
if (file.name) url.searchParams.set('originalName', file.name);
_context3.n = 1;
return this.makeUploadRequest('post', url.toString(), file, onProgress);
case 1:
return _context3.a(2, _context3.v);
}
}, _callee3, this);
}));
function upload(_x3, _x4, _x5) {
return _upload.apply(this, arguments);
}
return upload;
}();
_proto.replace = /*#__PURE__*/function () {
var _replace = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(shortName, file, onProgress) {
var url;
return _regenerator().w(function (_context4) {
while (1) switch (_context4.n) {
case 0:
url = new URL(this.baseUrl + "/v1/file/" + encodeURIComponent(shortName));
url.searchParams.set('mimeType', file.type);
if (file.name) url.searchParams.set('originalName', file.name);
_context4.n = 1;
return this.makeUploadRequest('put', url.toString(), file, onProgress);
case 1:
return _context4.a(2, _context4.v);
}
}, _callee4, this);
}));
function replace(_x6, _x7, _x8) {
return _replace.apply(this, arguments);
}
return replace;
}();
_proto.getDownloadToken = /*#__PURE__*/function () {
var _getDownloadToken = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(shortName, password) {
var _yield$this$makeReque, downloadToken;
return _regenerator().w(function (_context5) {
while (1) switch (_context5.n) {
case 0:
_context5.n = 1;
return this.makeRequest('post', '/v1/files/token', {}, {
shortName: shortName,
password: password
});
case 1:
_yield$this$makeReque = _context5.v;
downloadToken = _yield$this$makeReque.downloadToken;
return _context5.a(2, downloadToken);
}
}, _callee5, this);
}));
function getDownloadToken(_x9, _x0) {
return _getDownloadToken.apply(this, arguments);
}
return getDownloadToken;
}();
_proto.updateFileSharing = /*#__PURE__*/function () {
var _updateFileSharing = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(shortName, isPrivate, details) {
return _regenerator().w(function (_context6) {
while (1) switch (_context6.n) {
case 0:
_context6.n = 1;
return this.makeRequest('post', '/v1/files/sharing', {}, _extends({
shortName: shortName,
"private": isPrivate
}, details));
case 1:
return _context6.a(2, _context6.v);
}
}, _callee6, this);
}));
function updateFileSharing(_x1, _x10, _x11) {
return _updateFileSharing.apply(this, arguments);
}
return updateFileSharing;
}();
_proto.moveFile = /*#__PURE__*/function () {
var _moveFile = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(shortName, details, copy) {
return _regenerator().w(function (_context7) {
while (1) switch (_context7.n) {
case 0:
_context7.n = 1;
return this.makeRequest('post', '/v1/files/move', {}, _extends({
shortName: shortName
}, details, {
forceMove: 'parentId' in details,
copy: copy
}));
case 1:
return _context7.a(2, _context7.v);
}
}, _callee7, this);
}));
function moveFile(_x12, _x13, _x14) {
return _moveFile.apply(this, arguments);
}
return moveFile;
}();
_proto.getFile = /*#__PURE__*/function () {
var _getFile = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(shortName) {
return _regenerator().w(function (_context8) {
while (1) switch (_context8.n) {
case 0:
_context8.n = 1;
return this.makeRequest('get', "/v1/file/" + encodeURIComponent(shortName));
case 1:
return _context8.a(2, _context8.v);
}
}, _callee8, this);
}));
function getFile(_x15) {
return _getFile.apply(this, arguments);
}
return getFile;
}();
_proto.deleteFile = /*#__PURE__*/function () {
var _deleteFile = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(shortName) {
return _regenerator().w(function (_context9) {
while (1) switch (_context9.n) {
case 0:
_context9.n = 1;
return this.makeRequest('delete', "/v1/file/" + encodeURIComponent(shortName));
case 1:
return _context9.a(2, _context9.v);
}
}, _callee9, this);
}));
function deleteFile(_x16) {
return _deleteFile.apply(this, arguments);
}
return deleteFile;
}();
_proto.deleteFolder = /*#__PURE__*/function () {
var _deleteFolder = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0(id) {
return _regenerator().w(function (_context0) {
while (1) switch (_context0.n) {
case 0:
_context0.n = 1;
return this.makeRequest('delete', "/v1/folder/" + encodeURIComponent(id));
case 1:
return _context0.a(2, _context0.v);
}
}, _callee0, this);
}));
function deleteFolder(_x17) {
return _deleteFolder.apply(this, arguments);
}
return deleteFolder;
}();
_proto.folders = /*#__PURE__*/function () {
var _folders = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1(parentId) {
return _regenerator().w(function (_context1) {
while (1) switch (_context1.n) {
case 0:
_context1.n = 1;
return this.makeRequest('get', '/v1/folders', {
parentId: parentId
});
case 1:
return _context1.a(2, _context1.v);
}
}, _callee1, this);
}));
function folders(_x18) {
return _folders.apply(this, arguments);
}
return folders;
}();
_proto.createFolder = /*#__PURE__*/function () {
var _createFolder = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(name, parentId) {
return _regenerator().w(function (_context10) {
while (1) switch (_context10.n) {
case 0:
_context10.n = 1;
return this.makeRequest('post', '/v1/folders/create', {}, {
name: name,
parentId: parentId
});
case 1:
return _context10.a(2, _context10.v);
}
}, _callee10, this);
}));
function createFolder(_x19, _x20) {
return _createFolder.apply(this, arguments);
}
return createFolder;
}();
_proto.moveFolder = /*#__PURE__*/function () {
var _moveFolder = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee11(id, details) {
return _regenerator().w(function (_context11) {
while (1) switch (_context11.n) {
case 0:
_context11.n = 1;
return this.makeRequest('post', '/v1/folders/move', {}, _extends({
id: id
}, details, {
forceMove: 'parentId' in details
}));
case 1:
return _context11.a(2, _context11.v);
}
}, _callee11, this);
}));
function moveFolder(_x21, _x22) {
return _moveFolder.apply(this, arguments);
}
return moveFolder;
}();
_proto.getFolder = /*#__PURE__*/function () {
var _getFolder = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12(id) {
return _regenerator().w(function (_context12) {
while (1) switch (_context12.n) {
case 0:
_context12.n = 1;
return this.makeRequest('get', "/v1/folder/" + encodeURIComponent(id));
case 1:
return _context12.a(2, _context12.v);
}
}, _callee12, this);
}));
function getFolder(_x23) {
return _getFolder.apply(this, arguments);
}
return getFolder;
}();
_proto.checkAuth = /*#__PURE__*/function () {
var _checkAuth = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee13() {
return _regenerator().w(function (_context13) {
while (1) switch (_context13.p = _context13.n) {
case 0:
_context13.p = 0;
_context13.n = 1;
return this.makeRequest('get', '/v1/auth/check');
case 1:
return _context13.a(2, true);
case 2:
_context13.p = 2;
return _context13.a(2, false);
}
}, _callee13, this, [[0, 2]]);
}));
function checkAuth() {
return _checkAuth.apply(this, arguments);
}
return checkAuth;
}();
_proto.login = /*#__PURE__*/function () {
var _login = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee14(username, password) {
var response;
return _regenerator().w(function (_context14) {
while (1) switch (_context14.n) {
case 0:
_context14.n = 1;
return this.makeRequest('post', '/v1/auth/login', {}, {
name: username,
password: password
});
case 1:
response = _context14.v;
return _context14.a(2, {
sessionToken: response.sessionToken,
expiration: new Date(response.expiration)
});
}
}, _callee14, this);
}));
function login(_x24, _x25) {
return _login.apply(this, arguments);
}
return login;
}();
_proto.resetPassword = /*#__PURE__*/function () {
var _resetPassword = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee15(nameOrEmail) {
return _regenerator().w(function (_context15) {
while (1) switch (_context15.n) {
case 0:
_context15.n = 1;
return this.makeRequest('post', '/v1/auth/reset', {}, {
nameOrEmail: nameOrEmail
});
case 1:
return _context15.a(2, _context15.v);
}
}, _callee15, this);
}));
function resetPassword(_x26) {
return _resetPassword.apply(this, arguments);
}
return resetPassword;
}();
_proto.completeResetPassword = /*#__PURE__*/function () {
var _completeResetPassword = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee16(resetToken, newPassword, regenerateAccessToken) {
return _regenerator().w(function (_context16) {
while (1) switch (_context16.n) {
case 0:
_context16.n = 1;
return this.makeRequest('post', '/v1/auth/reset/complete', {}, {
resetToken: resetToken,
newPassword: newPassword,
regenerateAccessToken: regenerateAccessToken
});
case 1:
return _context16.a(2);
}
}, _callee16, this);
}));
function completeResetPassword(_x27, _x28, _x29) {
return _completeResetPassword.apply(this, arguments);
}
return completeResetPassword;
}();
_proto.invalidateSession = /*#__PURE__*/function () {
var _invalidateSession = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee17() {
return _regenerator().w(function (_context17) {
while (1) switch (_context17.n) {
case 0:
_context17.n = 1;
return this.makeRequest('get', '/v1/auth/invalidate');
case 1:
return _context17.a(2);
}
}, _callee17, this);
}));
function invalidateSession() {
return _invalidateSession.apply(this, arguments);
}
return invalidateSession;
}();
_proto.regenerateAccessToken = /*#__PURE__*/function () {
var _regenerateAccessToken = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee18() {
var _yield$this$makeReque2, newToken;
return _regenerator().w(function (_context18) {
while (1) switch (_context18.n) {
case 0:
_context18.n = 1;
return this.makeRequest('get', '/v1/auth/regenerate');
case 1:
_yield$this$makeReque2 = _context18.v;
newToken = _yield$this$makeReque2.newToken;
return _context18.a(2, newToken);
}
}, _callee18, this);
}));
function regenerateAccessToken() {
return _regenerateAccessToken.apply(this, arguments);
}
return regenerateAccessToken;
}();
_proto.me = /*#__PURE__*/function () {
var _me = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee19() {
return _regenerator().w(function (_context19) {
while (1) switch (_context19.n) {
case 0:
_context19.n = 1;
return this.makeRequest('get', '/v1/me');
case 1:
return _context19.a(2, _context19.v);
}
}, _callee19, this);
}));
function me() {
return _me.apply(this, arguments);
}
return me;
}();
_proto.setDomain = /*#__PURE__*/function () {
var _setDomain = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee20(domain) {
return _regenerator().w(function (_context20) {
while (1) switch (_context20.n) {
case 0:
_context20.n = 1;
return this.makeRequest('post', '/v1/domain', {}, {
domain: domain
});
case 1:
return _context20.a(2, _context20.v);
}
}, _callee20, this);
}));
function setDomain(_x30) {
return _setDomain.apply(this, arguments);
}
return setDomain;
}();
_proto.adminUsage = /*#__PURE__*/function () {
var _adminUsage = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee21() {
return _regenerator().w(function (_context21) {
while (1) switch (_context21.n) {
case 0:
_context21.n = 1;
return this.makeRequest('get', '/v1/admin/usage');
case 1:
return _context21.a(2, _context21.v);
}
}, _callee21, this);
}));
function adminUsage() {
return _adminUsage.apply(this, arguments);
}
return adminUsage;
}();
_proto.makeUser = /*#__PURE__*/function () {
var _makeUser = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee22(username, email) {
return _regenerator().w(function (_context22) {
while (1) switch (_context22.n) {
case 0:
_context22.n = 1;
return this.makeRequest('post', '/v1/admin/mkuser', {}, {
name: username,
email: email
});
case 1:
return _context22.a(2);
}
}, _callee22, this);
}));
function makeUser(_x31, _x32) {
return _makeUser.apply(this, arguments);
}
return makeUser;
}();
_proto.makeUploadRequest = /*#__PURE__*/function () {
var _makeUploadRequest = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee23(method, url, file, onProgress) {
var _this = this;
return _regenerator().w(function (_context23) {
while (1) switch (_context23.n) {
case 0:
{
_context23.n = 1;
break;
}
case 1:
return _context23.a(2, new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener('progress', function (event) {
onProgress && onProgress(event.loaded, event.total);
});
xhr.addEventListener('readystatechange', function () {
if (xhr.readyState === 4) {
var body = xhr.responseText;
try {
var json = JSON.parse(body);
if (xhr.status >= 200 && xhr.status < 300) {
resolve(json);
} else {
reject(new Error(json.message || xhr.statusText || 'No error info'));
}
} catch (_unused2) {
reject(new Error('Unable to parse json'));
}
}
});
xhr.addEventListener('error', function () {
reject(new Error('An unexpected error occurred'));
});
xhr.open(method, url);
xhr.setRequestHeader('Authorization', "Bearer " + _this.token);
xhr.setRequestHeader('Content-Type', 'application/octet-stream');
xhr.send(file);
}));
}
}, _callee23);
}));
function makeUploadRequest(_x33, _x34, _x35, _x36) {
return _makeUploadRequest.apply(this, arguments);
}
return makeUploadRequest;
}();
_proto.makeRequest = /*#__PURE__*/function () {
var _makeRequest = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee24(method, path, query, body) {
var headers, url, _i, _Object$entries, _Object$entries$_i, key, value, res, message, json;
return _regenerator().w(function (_context24) {
while (1) switch (_context24.p = _context24.n) {
case 0:
if (query === void 0) {
query = {};
}
headers = {
Accept: 'application/json'
};
if (this.token) headers['Authorization'] = "Bearer " + this.token;
if (body) headers['Content-Type'] = 'application/json';
url = new URL(this.baseUrl.concat(path));
for (_i = 0, _Object$entries = Object.entries(query); _i < _Object$entries.length; _i++) {
_Object$entries$_i = _Object$entries[_i], key = _Object$entries$_i[0], value = _Object$entries$_i[1];
if (value) url.searchParams.set(key, value);
}
_context24.n = 1;
return fetch(url.toString(), {
method: method,
headers: headers,
body: JSON.stringify(body)
});
case 1:
res = _context24.v;
if (res.ok) {
_context24.n = 6;
break;
}
_context24.p = 2;
_context24.n = 3;
return res.json();
case 3:
message = _context24.v.message;
_context24.n = 5;
break;
case 4:
_context24.p = 4;
message = res.statusText;
case 5:
message = message != null ? message : 'No error info';
throw new Error(message);
case 6:
_context24.n = 7;
return res.json();
case 7:
json = _context24.v;
return _context24.a(2, json);
}
}, _callee24, this, [[2, 4]]);
}));
function makeRequest(_x37, _x38, _x39, _x40) {
return _makeRequest.apply(this, arguments);
}
return makeRequest;
}();
return PatClient;
}();
exports.PatClient = PatClient;
//# sourceMappingURL=doggo.js.cjs.development.js.map