104 lines
2.8 KiB
JavaScript
104 lines
2.8 KiB
JavaScript
/* eslint-disable no-unused-vars */
|
|
import axios from "axios"
|
|
import { useState } from "react"
|
|
import './style.css'
|
|
|
|
|
|
|
|
export class HttpApiMethods {
|
|
// URL`s
|
|
APIURL = "https://cyberbloom.zetcraft.ru/api"
|
|
APIURL_FILES = "https://cyberbloom.zetcraft.ru/api/cyber-boom-files/"
|
|
// получение мероприятий по ID
|
|
GetByID = async (id) => {
|
|
|
|
let innerUrl = this.APIURL + `/meetings?id=${id}`
|
|
|
|
const response = await axios.get(innerUrl)
|
|
|
|
return response.data;
|
|
}
|
|
// Получение всех мероприятий
|
|
GetMeetings = async () => {
|
|
let innerUrl = this.APIURL + `/meetings/list?offset=0&limit=20`;
|
|
|
|
const response = await axios.get(innerUrl);
|
|
|
|
return response.data;
|
|
}
|
|
// Создание мероприятия
|
|
AddMeetings = async (data) => {
|
|
let innerUrl = this.APIURL + `/meetings`;
|
|
|
|
let response = await axios.postForm(innerUrl, data);
|
|
return response.data;
|
|
|
|
}
|
|
// Редактирование уже существующего мероприятия
|
|
EditMeetings = async (data) => {
|
|
let innerUrl = this.APIURL + `/meetings`;
|
|
let response = await axios.putForm(innerUrl, data);
|
|
return response.data;
|
|
}
|
|
|
|
// Удалить мероприятие, пока что не реализовано
|
|
DeleteMeetings = async (id) => {
|
|
let innerUrl = this.APIURL + `/meetings?id=${id}`
|
|
|
|
const response = await axios.get(innerUrl)
|
|
|
|
return response.data;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const httpApiMethods = new HttpApiMethods() // Создание экземпляра класса HttpApiMethods
|
|
|
|
const meets = httpApiMethods.GetMeetings()
|
|
|
|
const FetchUtils = () => {
|
|
|
|
const [user, setUser] = useState([])
|
|
|
|
// async function getData() {
|
|
// const response = await axios.get(APIURL)
|
|
// console.log(response.data)
|
|
// setUser(response.data)
|
|
// }
|
|
|
|
// const removeList = () => {
|
|
// setUser([])
|
|
}
|
|
|
|
// return (
|
|
// <>
|
|
// <button onClick={getData}>Click to Get Data</button>
|
|
// <button onClick={removeList}>Click to Remove Data Listing</button>
|
|
// {/* Mapping of data */}
|
|
// <div>
|
|
// {/* {Array.isArray(meets) ? (
|
|
// <ul>
|
|
// {meets.map((item) => (
|
|
// <ol key={item.id}>
|
|
// <li>{item.title}</li>
|
|
// <li>{item.time}</li>
|
|
// <li>{item.speakerName}</li>
|
|
// <li>{item.speackerImage}</li>
|
|
// <li>{item.splecializations}</li>
|
|
// <li>{item.type}</li>
|
|
// <li>{item.speakerTelephone}</li>
|
|
// <li>{item.speakerEmail}</li>
|
|
// <li>{item.tags}</li>
|
|
// <li>{item.videoUrl}</li>
|
|
// </ol>
|
|
// ))}
|
|
// </ul>
|
|
// ) : (
|
|
// <p>Bad data type from server!</p>
|
|
// )} */}
|
|
// </div>
|
|
// </>
|
|
// );
|
|
// }
|
|
// export default FetchUtils;
|