forked from sagi/seepur
100 lines
2.2 KiB
TypeScript
100 lines
2.2 KiB
TypeScript
export default class ApiService {
|
|
|
|
static async getUser(userId?: number) {
|
|
return (await fetch('/api/v1/client/user/')).json();
|
|
}
|
|
|
|
|
|
static async getAllUsers() {
|
|
return (await fetch('/api/v1/admin/users')).json();
|
|
}
|
|
|
|
static async getChild(id: number): Promise<IApiResponse> {
|
|
return (await fetch(`/api/v1/client/child/${id}`)).json();
|
|
}
|
|
|
|
static async createConnection(payload: { child_id: number, email: string, is_parent: boolean }) {
|
|
const options = {
|
|
method: 'POST',
|
|
body: JSON.stringify(payload),
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
}
|
|
try {
|
|
return (await fetch('/api/v1/client/connections/create', options)).json();
|
|
} catch (error) {
|
|
return error;
|
|
}
|
|
}
|
|
|
|
static async updateChildCover(child_id: number, profile_cover: string) {
|
|
const options = {
|
|
method: 'POST',
|
|
body: JSON.stringify({
|
|
profile_cover
|
|
}),
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
};
|
|
try {
|
|
const response = await fetch(`/api/v1/client/child/${child_id}/profile/cover`, options);
|
|
console.log(response);
|
|
return response.json();
|
|
|
|
} catch (e) {
|
|
console.error(e);
|
|
return false;
|
|
}
|
|
};
|
|
|
|
static async createCall(payload: { connection_id: number, child_id: number }) {
|
|
const options = {
|
|
method: 'POST',
|
|
body: JSON.stringify(payload),
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
};
|
|
try {
|
|
const response = await fetch('/api/v1/client/call/create', options);
|
|
return response.json();
|
|
|
|
} catch (e) {
|
|
console.error(e);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
static async createChild(name: string, dob: Date, avatar: string): Promise<any> {
|
|
|
|
|
|
const options = {
|
|
method: 'POST',
|
|
body: JSON.stringify({
|
|
name,
|
|
dob,
|
|
avatar
|
|
}),
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
};
|
|
try {
|
|
const response = await fetch('/api/v1/client/child/', options);
|
|
console.log(response);
|
|
return response.json();
|
|
|
|
} catch (e) {
|
|
console.error(e);
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
interface IApiResponse {
|
|
code: number;
|
|
data?: any;
|
|
message?: string;
|
|
}
|