UNPKG

trender-client

Version:
115 lines (114 loc) 4.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const UserPermissions_1 = tslib_1.__importDefault(require("../Permissions/UserPermissions")); const Constante_1 = require("../utils/Constante"); const RequestEmitter_1 = tslib_1.__importDefault(require("../utils/RequestEmitter")); const BlockManager_1 = tslib_1.__importDefault(require("./BlockManager")); const FollowManager_1 = tslib_1.__importDefault(require("./FollowManager")); class UserManager extends RequestEmitter_1.default { constructor(params) { var _a; super(params); Object.defineProperty(this, "block", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "follow", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "cdnurl", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.follow = new FollowManager_1.default(params); this.block = new BlockManager_1.default(params); this.cdnurl = (_a = params === null || params === void 0 ? void 0 : params.cdnurl) !== null && _a !== void 0 ? _a : Constante_1.cdnsiteurl; } flags(bits) { return new UserPermissions_1.default(bits); } avatar(user_id, avatar) { if (avatar === 'base_1.png' || avatar === 'base_2.png') return `${this.cdnurl}/profile_avatars/${avatar}`; return `${this.cdnurl}/profile_avatars/${user_id}/${avatar}`; } banner(user_id, banner) { return `${this.cdnurl}/profile_banners/${user_id}/${banner}`; } badge(flag_name) { return `${this.cdnurl}/assets/badges/${flag_name}.png`; } profile(nickname) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const request = yield this.getRequest(`/users/${nickname}`); const response = request; return response; }); } report(target_id, reason, description) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const request = yield this.postRequest(`/users/${target_id}/reports`, { reason: reason, description: description }); const response = request; return response; }); } search(query, pagination_key) { return tslib_1.__awaiter(this, void 0, void 0, function* () { let _url = `/users/search/all`; const parameters = []; parameters.push(`query=${encodeURIComponent(query)}`); if (pagination_key) parameters.push(`pagination_key=${pagination_key}`); if (parameters.length > 0) _url = _url.concat("?"); const request = yield this.getRequest(_url.concat(parameters.join("&"))); const response = request; return response; }); } // Update your account uploadAvatar(files) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const formdata = new FormData(); formdata.append('avatar', files); const request = yield this.uploadFiles(`/upload?type=avatar`, formdata); const response = request; return response; }); } uploadBanner(files) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const formdata = new FormData(); formdata.append('banner', files); const request = yield this.uploadFiles(`/upload?type=banner`, formdata); const response = request; return response; }); } edit(options) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const request = yield this.patchRequest(`/users/me`, options); const response = request; return response; }); } logout() { return tslib_1.__awaiter(this, void 0, void 0, function* () { const request = yield this.postRequest(`/logout`); const response = request; return response; }); } } exports.default = UserManager;