chat_front_svelte/src/lib/chat.js

106 lines
No EOL
2.2 KiB
JavaScript

export async function getLastMessages(chatId,msgLoaded){
const response = await fetch(`http://localhost:8000/api/chat/get_some_messages/${chatId}?messages_loaded=${msgLoaded}&messages_to_get=14`,
{
method:'GET',
credentials:'include'
})
if(!response.ok)
{
console.log(response.status)
}
if(response.ok)
{
let msgMassive = await response.json();
let localTime
for(let i = 0; i < msgMassive.length; i++){
localTime = new Date(msgMassive[i].created_at)
msgMassive[i].created_at = localTime
if(msgMassive[i].answer_id != null){
let answer = await getMessageById(chatId,msgMassive[i].message_id)
msgMassive[i].answerMessage = answer.message
console.log(answer.message)
}
}
msgMassive.reverse();
return msgMassive
}
}
export async function getMessageById(chatId,msgId){
const response = await fetch(`http://localhost:8000/api/chat/message/${chatId}?message_id=${msgId}`,{
method:"GET",
credentials:'include'
})
if(response.ok){
let data = await response.json();
return data;
}
else{
console.log(response.status)
}
}
export async function MessagePicToUrl(messagePic){
console.log(messagePic)
const DataForm = new FormData();
DataForm.append('file', messagePic)
const respone = await fetch('http://localhost:8000/api/images/upload_image',
{
method:"POST",
body:DataForm
})
if(!respone.ok)
console.log("ошибка", respone.status)
if(respone.ok){
const data = await respone.json();
console.log("картинка принята")
return data.image_url;
}
}
export async function getAllChats(){
const response = await fetch(`http://localhost:8000/api/chat`,
{
method:"GET",
credentials:'include'
})
if(response.ok){
return await response.json();
}
else{
console.log(response.status)
}
}
export async function getPinnedMsg(ID){
const response = await fetch(`http://localhost:8000/api/chat/pinned_messages/${ID}`,{
method:"GET",
credentials:'include'
})
if(response.ok){
return await response.json();
}
else{
console.log(response.status)
}
}