66 lines
1.2 KiB
JavaScript
66 lines
1.2 KiB
JavaScript
import { Profile } from "./profile.js";
|
|
|
|
class Profiles
|
|
{
|
|
/**
|
|
* @param {Client} client
|
|
*/
|
|
constructor (client)
|
|
{
|
|
/**
|
|
* @type {Client} client
|
|
*/
|
|
this.client = client
|
|
}
|
|
|
|
async all()
|
|
{
|
|
let response = await this.client._get("/api/profiles/");
|
|
let response_data = await response.json();
|
|
|
|
let profiles = []
|
|
response_data.forEach((profile) => {
|
|
profiles.push(new Profile(this.client, profile.username, profile.avatar_url, profile.user_id))
|
|
});
|
|
return profiles;
|
|
}
|
|
|
|
async getProfile(user_id)
|
|
{
|
|
let profile = new Profile(this.client);
|
|
if (await profile.init(user_id))
|
|
return null;
|
|
return profile;
|
|
}
|
|
|
|
async block(user_id) {
|
|
|
|
// blocker & blocked
|
|
let response = await this.client._post("/api/profiles/block", {
|
|
users_id:[this.client.me.user_id, user_id],
|
|
});
|
|
|
|
let data = await response.json();
|
|
console.log(response.status);
|
|
console.log(data);
|
|
return data;
|
|
|
|
}
|
|
|
|
async deblock(user_id) {
|
|
|
|
// blocker & blocked
|
|
let response = await this.client._delete("/api/profiles/block", {
|
|
users_id:[this.client.me.user_id, user_id],
|
|
});
|
|
|
|
let data = await response.json();
|
|
console.log(response.status);
|
|
console.log(data);
|
|
return data;
|
|
|
|
}
|
|
}
|
|
|
|
export {Profiles}
|