trender-client
Version:
Official Trender client API
115 lines (114 loc) • 4.4 kB
JavaScript
;
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;