trender-client
Version:
Official Trender client API
101 lines (100 loc) • 4.02 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) {
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
});
this.follow = new FollowManager_1.default(params);
this.block = new BlockManager_1.default(params);
}
flags(bits) {
return new UserPermissions_1.default(bits);
}
avatar(user_id, avatar) {
if (avatar === 'base_1.png' || avatar === 'base_2.png')
return `${Constante_1.cdnsiteurl}/profile_avatars/${avatar}`;
return `${Constante_1.cdnsiteurl}/profile_avatars/${user_id}/${avatar}`;
}
banner(user_id, banner) {
return `${Constante_1.cdnsiteurl}/profile_banners/${user_id}/${banner}`;
}
badge(flag_name) {
return `${Constante_1.cdnsiteurl}/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, params) {
var _a, _b;
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const request = yield this.getRequest(`/users/search/all?query=${query}&skip=${(_a = params === null || params === void 0 ? void 0 : params.skip) !== null && _a !== void 0 ? _a : 0}&limit=${(_b = params === null || params === void 0 ? void 0 : params.limit) !== null && _b !== void 0 ? _b : 30}`);
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;