clean: use camel case for class file
This commit is contained in:
100
frontend/static/js/api/Profile.js
Normal file
100
frontend/static/js/api/Profile.js
Normal file
@ -0,0 +1,100 @@
|
||||
import { Client } from "./Client.js";
|
||||
|
||||
class Profile
|
||||
{
|
||||
/**
|
||||
* @param {Client} client
|
||||
*/
|
||||
constructor (client, username=undefined, id=undefined, avatar_url=undefined)
|
||||
{
|
||||
/**
|
||||
* @type {Client} client
|
||||
*/
|
||||
this.client = client;
|
||||
|
||||
/**
|
||||
* @type {String}
|
||||
*/
|
||||
this.username = username;
|
||||
|
||||
/**
|
||||
* @type {Number}
|
||||
*/
|
||||
this.id = id;
|
||||
|
||||
/**
|
||||
* @type {String}
|
||||
*/
|
||||
this.avatar_url = avatar_url;
|
||||
|
||||
/**
|
||||
* @type {Boolean}
|
||||
*/
|
||||
this.isBlocked = false;
|
||||
this.isFriend = false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<*>}
|
||||
*/
|
||||
async init()
|
||||
{
|
||||
let response;
|
||||
if (this.username !== undefined)
|
||||
response = await this.client._get(`/api/profiles/user/${this.username}`);
|
||||
else
|
||||
response = await this.client._get(`/api/profiles/id/${this.id}`);
|
||||
|
||||
if (response.status !== 200)
|
||||
return response.status;
|
||||
|
||||
let response_data = await response.json();
|
||||
this.id = response_data.user_id;
|
||||
this.username = response_data.username;
|
||||
this.avatar_url = response_data.avatar;
|
||||
|
||||
await this.getBlock();
|
||||
await this.getFriend();
|
||||
|
||||
}
|
||||
|
||||
async getBlock() {
|
||||
let block_response = await this.client._get("/api/profiles/block");
|
||||
|
||||
if (block_response.status != 200)
|
||||
return;
|
||||
|
||||
let block_data = await block_response.json();
|
||||
let block_list = JSON.parse(block_data.blockeds);
|
||||
let client_id = block_data.user_id;
|
||||
block_list.forEach(block => {
|
||||
let blocker = block.fields.blocker;
|
||||
let blocked = block.fields.blocked;
|
||||
if (blocker == client_id && blocked == this.id)
|
||||
return (this.isBlocked = true);
|
||||
});
|
||||
}
|
||||
|
||||
async getFriend() {
|
||||
let friend_response = await this.client._get("/api/profiles/friend");
|
||||
|
||||
this.isFriend = false;
|
||||
if (friend_response.status != 200)
|
||||
return this.isFriend;
|
||||
|
||||
let friend_data = await friend_response.json();
|
||||
let friends_list = friend_data.friends;
|
||||
let client_id = friend_data.user_id;
|
||||
friends_list.forEach(friend => {
|
||||
if (friend == this.id) {
|
||||
this.isFriend = true;
|
||||
return this.isFriend;
|
||||
}
|
||||
});
|
||||
return this.isFriend;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export {Profile};
|
Reference in New Issue
Block a user