core: use postinit status code

This commit is contained in:
2024-01-08 20:57:43 +01:00
parent 6f9903e309
commit 476ed0b833
12 changed files with 87 additions and 89 deletions

View File

@ -5,43 +5,45 @@ class Profile
/**
* @param {Client} client
*/
constructor (client, username = undefined, avatar_url = undefined, user_id = undefined)
constructor (client, id, username = undefined, avatar_url = undefined)
{
/**
* @type {Client} client
*/
this.client = client;
this.id = id;
this.username = username;
this.avatar_url = avatar_url;
this.user_id = user_id;
this.isBlocked = false;
}
async init(user_id)
async init()
{
let response = await this.client._get(`/api/profiles/${user_id}`);
let response = await this.client._get(`/api/profiles/${this.id}`);
if (response.status === 404)
return 1;
if (response.status !== 200)
return response.status;
let response_data = await response.json();
this.user_id = response_data.user_id;
this.id = response_data.user_id;
this.username = response_data.username;
this.avatar_url = response_data.avatar_url;
if (this.client.me == undefined)
return;
let block_response = await this.client._get("/api/profiles/block");
if (block_response.status == 404)
return
return;
let block_data = await block_response.json();
let block_list = JSON.parse(block_data);
block_list.forEach(block => {
let blocker = block.fields.blocker;
let blocked = block.fields.blocked;
if (blocker == this.client.me.user_id && blocked == user_id)
return this.isBlocked = true;
let blocker = block.fields.blocker;
let blocked = block.fields.blocked;
if (blocker == this.client.me.user_id && blocked == user_id)
return this.isBlocked = true;
});
}
}