rbs@u2
Home
Php_u2
Html #1
Html #2
Html #3
Html #4
JS #1
JS #2
JS #3
JS #4
JsApi #1
JsApi #2
JsApi #3
JsApi #4
JsApi_u4
all-files
ori-v2
master
user
Logout
dsg
tool css
bootstrtap 5.3
auth
profile
waste
waste_group
venue
vehicle
event
comment
notification
discover
post
scanner
to_delete
const fetch = require('node-fetch'); async function post(v) { let url=`${v.api}/post/delete-post/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } async function post(v) { let url=`${v.api}/post/edit-post/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } async function post(v) { let url=`${v.api}/post/get-post/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } async function post(v) { let url=`${v.api}/post/get-posts/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } async function post(v) { let url=`${v.api}/post/get-user-posts/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } async function post(v) { let url=`${v.api}/post/toggle-like-post/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } const post = { post, post, post, post, post, post, } module.exports = post
Save
gpc($js->caption), 'update_at'=>date("Y-m-d H:i:s"), ); Update($db,"posts",$udt,"id=".$js->post_id,0); $dt['success']=true; $dt['message']="Post edited successfully"; return $dt; } function get_post($js){ global $ar,$db; $dt=array(); //{"user_id":67032,"post_id":"249"} $user_id=$js->user_id; $sql="SELECT id,caption,event_id,garage_id,location,has_tags,post_date,update_at, comments_count,likes_count,user_id from `posts` where id=".$js->post_id; //echo $sql8."
"; $res=mysqli_query($db,$sql); $r2 = mysqli_fetch_assoc($res); $dt=$r2; $sql3="SELECT * from user_post_liked where user_id=".$user_id." and post_id=".$r2['id']; $res3=mysqli_query($db,$sql3); if(mysqli_num_rows($res3)>0) { $dt['is_liked']=true; } else { $dt['is_liked']=false; } $sql4="SELECT * from user_post_bookmarked where user_id=".$user_id." and post_id=".$r2['id']; $res4=mysqli_query($db,$sql4); if(mysqli_num_rows($res4)>0) { $dt['is_bookmarked']=true; } else { $dt['is_bookmarked']=false; } $sql5="SELECT * from user_post_liked_old where user_id=".$user_id." and post_id=".$r2['id']; $res5=mysqli_query($db,$sql5); if(mysqli_num_rows($res5)>0) { $dt['is_liked_and_old']=mysqli_num_rows($res4); } else { $dt['is_liked_and_old']=0; } $sql6="SELECT `username` from user_name where user_id=".$r2['user_id']; $res6=mysqli_query($db,$sql6); if(mysqli_num_rows($res6)>0) { $r6 = mysqli_fetch_assoc($res6); $dt['username']=$r6['username']; } else { $dt['username']=""; } $sql7="SELECT `path` from `images` where `modul`='users' and item_id=".$r2['user_id']." limit 1"; $res7=mysqli_query($db,$sql7); if(mysqli_num_rows($res7)>0) { $r7 = mysqli_fetch_assoc($res7); $dt['user_profil_image']=$r7['path']; } else { $dt['user_profil_image']=""; } $sql8="SELECT * from `post_media` where post_id=".$r2['id'].""; $res8=mysqli_query($db,$sql8); $dt['media']=array(); while($r8 = mysqli_fetch_assoc($res8)) { $dt['media'][]=$r8; } return $dt; } function get_posts($js,$page,$limit){ global $ar,$db; $dt=array(); //{"user_id":67032,"following_only":true} //page=1&limit=10 $user_id=$js->user_id; //$page=$js->page; //$limit=$js->limit; $sql="SELECT id,caption,event_id,garage_id,location,has_tags,post_date,update_at, comments_count,likes_count,user_id from `posts` "; //echo $sql8."
"; $res=mysqli_query($db,$sql); $total_items=mysqli_num_rows($res); $total_pages=ceil($total_items/$limit); $start=($page-1)*$limit; $sql2 = $sql." order by post_date desc limit ".$start.",".$limit; $res2=mysqli_query($db,$sql2); $a=0; while($r2 = mysqli_fetch_assoc($res2)) { $dt['data'][$a]=$r2; $sql3="SELECT * from user_post_liked where user_id=".$user_id." and post_id=".$r2['id']; $res3=mysqli_query($db,$sql3); if(mysqli_num_rows($res3)>0) { $dt['data'][$a]['is_liked']=true; } else { $dt['data'][$a]['is_liked']=false; } $sql4="SELECT * from user_post_bookmarked where user_id=".$user_id." and post_id=".$r2['id']; $res4=mysqli_query($db,$sql4); if(mysqli_num_rows($res4)>0) { $dt['data'][$a]['is_bookmarked']=true; } else { $dt['data'][$a]['is_bookmarked']=false; } $sql5="SELECT * from user_post_liked_old where user_id=".$user_id." and post_id=".$r2['id']; $res5=mysqli_query($db,$sql5); if(mysqli_num_rows($res5)>0) { $dt['data'][$a]['is_liked_and_old']=mysqli_num_rows($res4); } else { $dt['data'][$a]['is_liked_and_old']=0; } $sql6="SELECT `username` from user_name where user_id=".$r2['user_id']; $res6=mysqli_query($db,$sql6); if(mysqli_num_rows($res6)>0) { $r6 = mysqli_fetch_assoc($res6); $dt['data'][$a]['username']=$r6['username']; } else { $dt['data'][$a]['username']=""; } $sql7="SELECT `path` from `images` where `modul`='users' and item_id=".$r2['user_id']." limit 1"; $res7=mysqli_query($db,$sql7); if(mysqli_num_rows($res7)>0) { $r7 = mysqli_fetch_assoc($res7); $dt['data'][$a]['user_profil_image']=$r7['path']; } else { $dt['data'][$a]['user_profil_image']=""; } $sql8="SELECT * from `post_media` where post_id=".$r2['id'].""; $res8=mysqli_query($db,$sql8); $dt['data'][$a]['media']=array(); while($r8 = mysqli_fetch_assoc($res8)) { $dt['data'][$a]['media'][]=$r8; } $a++; } $dt['total_pages']=$total_pages; $dt['current_page']=$page; $dt['limit']=$limit; //$dt['sql']=$sql2; return $dt; } function get_user_posts($js){ global $ar,$db; $dt=array(); $sql="SELECT caption,comments_count,event_id,garage_id,id,likes_count,location,post_date,update_at,user_id from `posts` where user_id=".$js->user_id; //echo $sql8."
"; $res=mysqli_query($db,$sql); $total_items=mysqli_num_rows($res); $total_pages=ceil($total_items/$js->limit); $start=($js->page-1)*$js->limit; $sql2 = $sql." order by post_date desc limit ".$start.",".$js->limit; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res)>0) { $c=0; while($r1 = mysqli_fetch_assoc($res2)) { $dt['data'][$c]=$r1; $sql3="SELECT * from post_media where `post_id`='".$r1['id']."'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data'][$c]['media'][$d]=$r3; $d++; } $c++; } $dt['success']=true; $dt['page']=$js->page; $dt['limit']=$js->limit; $dt['total_pages']=$total_pages; } else { //$dt['error']=true; //$dt['error']="No posts found for the user"; $dt['data']=[]; $dt['message']="No tagged posts found for the user"; } return $dt; } function toggle_like_post($js){ global $ar,$db; $dt=array(); $sql="UPDATE posts set likes_count=likes_count+1 where id=".$js->post_id; $res=mysqli_query($db,$sql); $idt=array( 'post_id'=>$js->post_id, 'user_id'=>$js->user_id, ); $udt=array( 'user_id'=>$js->user_id, ); InsertUpdate($db,"user_post_liked",$idt,$udt,0); //$dt['success']=true; $dt['message']="Post liked"; return $dt; } ?>
user_id; $sql4 = "select id from `posts` order by id desc limit 1"; $res4 = mysqli_query($db, $sql4); if(mysqli_num_rows($res4)==1) { $rw4 = mysqli_fetch_assoc($res4); $id2 = $rw4['id']+1; } else { $id2 = 1; } $idt=array( 'id'=>$id2, 'caption'=>$js->caption, 'user_id'=>$js->user_id, 'create_at'=>time(), ); Insert($db,"posts",$idt,0); $data=$js->cover_photo; if(isset($js->cover_photo) && $js->cover_photo!=''){ $image_info = getimagesize($data); $extension = (isset($image_info["mime"]) ? explode('/', $image_info["mime"] )[1]: ""); //$dt['type']=$extension; $tmp_file=$ar['img_path']."users/tmp/".$user_id.".".$extension; $sub_folder=$ar['img_path']."/users/".$user_id; if(!is_dir($sub_folder)){ mkdir($sub_folder, 0755); } $sub_folder_p=$ar['img_path']."/users/".$user_id."/p"; if(!is_dir($sub_folder_p)){ mkdir($sub_folder_p, 0755); } $new_file=genRandom(10).".".$extension; //$dt['newfile']=$new_file; $data = str_replace('data:image/'.$extension.';base64,', '', $data); $data = str_replace(' ','+',$data); $bin = base64_decode($data); if ($bin === false) { $dt['info']="convert invalid"; } //tmp file file_put_contents($tmp_file, $bin); ini_set('display_errors', '0'); resize_crop_image(1200,760,$tmp_file,$sub_folder_p."/".$new_file); unlink($tmp_file); $sql="SELECT `seq` from `images` where `modul`='post' and `item_id`=".$id2." order by `seq` desc limit 1"; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)==1) { $r = mysqli_fetch_assoc($res); $seq2=$r['seq']+1; } else { $seq2=1; } $sql2="SELECT `id` from `images` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id3=$r2['id']+1; } else { $id3=1; } $idt=array( 'id'=>$id3, 'modul'=>'post', 'item_id'=>$id2, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$user_id."/p/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$user_id."/p/".$new_file, ); Update($db,"posts",$udt,"id=".$id2,0); } //$dt['success']=true; $dt['message']="Post added successfull"; return $dt; } function delete_post($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `posts` where id=".$js->post_id." and user_id=".$js->user_id; //$dt['sql']=$sql; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)>0) { $r=mysqli_fetch_assoc($res); $udt=array( 'del'=>1, ); Update($db,"posts",$udt,"id=".$js->post_id,0); //Delete($db,"waste","id=".$js->waste_id,0); $dt['success']=true; $dt['message']="Post deleted successfully"; } else { $dt['error']=true; $dt['message']="Error delete post"; } return $dt; } function edit_post($js){ global $ar,$db; $dt=array(); $user_id=$js->user_id; $udt=array( 'caption'=>$js->caption, 'update_at'=>time(), ); Update($db,"posts",$udt,"id=".$js->post_id,0); $data=$js->cover_photo; if(isset($js->cover_photo) && $js->cover_photo!=''){ $image_info = getimagesize($data); $extension = (isset($image_info["mime"]) ? explode('/', $image_info["mime"] )[1]: ""); //$dt['type']=$extension; $tmp_file=$ar['img_path']."users/tmp/".$user_id.".".$extension; $sub_folder=$ar['img_path']."/users/".$user_id; if(!is_dir($sub_folder)){ mkdir($sub_folder, 0755); } $sub_folder_p=$ar['img_path']."/users/".$user_id."/p"; if(!is_dir($sub_folder_p)){ mkdir($sub_folder_p, 0755); } $new_file=genRandom(10).".".$extension; //$dt['newfile']=$new_file; $data = str_replace('data:image/'.$extension.';base64,', '', $data); $data = str_replace(' ','+',$data); $bin = base64_decode($data); if ($bin === false) { $dt['info']="convert invalid"; } //tmp file file_put_contents($tmp_file, $bin); ini_set('display_errors', '0'); resize_crop_image(1200,760,$tmp_file,$sub_folder_p."/".$new_file); unlink($tmp_file); $sql="SELECT `seq` from `images` where `modul`='post' and `item_id`=".$js->post_id." order by `seq` desc limit 1"; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)==1) { $r = mysqli_fetch_assoc($res); $seq2=$r['seq']+1; } else { $seq2=1; } $sql2="SELECT `id` from `images` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id3=$r2['id']+1; } else { $id3=1; } $idt=array( 'id'=>$id3, 'modul'=>'post', 'item_id'=>$js->post_id, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$user_id."/p/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$user_id."/p/".$new_file, ); Update($db,"posts",$udt,"id=".$js->post_id,0); } //$dt['success']=true; $dt['message']="Post edit successfull"; return $dt; } function get_post($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `posts` where id=".$js->post_id; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)>0) { $r1 = mysqli_fetch_assoc($res); $dt['data']=$r1; $sql3="SELECT `path` as url from images where `item_id`='".$r1['id']."' and modul='post'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data']['media'][$d]=$r3; $d++; } $dt['success']=true; } else { $dt['data']=[]; $dt['message']="No tagged posts found for the user"; } return $dt; } function get_posts($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `posts` where del=0"; $res=mysqli_query($db,$sql); $total_items=mysqli_num_rows($res); $total_pages=ceil($total_items/$js->limit); $start=($js->page-1)*$js->limit; $sql2 = $sql." order by create_at desc limit ".$start.",".$js->limit; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res)>0) { $c=0; while($r1 = mysqli_fetch_assoc($res2)) { $dt['data'][$c]=$r1; $sql3="SELECT `path` as url from images where `item_id`='".$r1['id']."' and modul='post'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data'][$c]['media'][$d]=$r3; $d++; } $c++; } $dt['success']=true; $dt['page']=$js->page; $dt['limit']=$js->limit; $dt['total_pages']=$total_pages; $dt['total_items']=$total_items; } else { $dt['data']=[]; $dt['message']="No tagged posts found for the user"; } return $dt; } function get_user_posts($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `posts` where del=0 and user_id=".$js->user_id; //echo $sql8."
"; $res=mysqli_query($db,$sql); $total_items=mysqli_num_rows($res); $total_pages=ceil($total_items/$js->limit); $start=($js->page-1)*$js->limit; $sql2 = $sql." order by create_at desc limit ".$start.",".$js->limit; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res)>0) { $c=0; while($r1 = mysqli_fetch_assoc($res2)) { $dt['data'][$c]=$r1; $sql3="SELECT `path` as url from images where `item_id`='".$r1['id']."' and modul='post'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data'][$c]['media'][$d]=$r3; $d++; } $c++; } $dt['success']=true; $dt['page']=$js->page; $dt['limit']=$js->limit; $dt['total_pages']=$total_pages; $dt['total_items']=$total_items; } else { $dt['data']=[]; $dt['message']="No tagged posts found for the user"; } return $dt; } function like_post($js){ global $ar,$db; $dt=array(); $sql2="SELECT `id` from `user_post_liked` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id2=$r2['id']+1; } else { $id2=1; } $sql1="SELECT * from `user_post_liked` where post_id=".$js->post_id." and user_id=".$js->user_id; $res1=mysqli_query($db,$sql1); if(mysqli_num_rows($res1)==1) { Delete($db,"user_post_liked","post_id=".$js->post_id." and user_id=".$js->user_id,0); $sql3="UPDATE `posts` set likes_count=likes_count-1 where id=".$js->post_id; $res3=mysqli_query($db,$sql3); $dt['success']=true; $dt['message']="Post un-liked"; } else { $idt=array( 'id'=>$id2, 'post_id'=>$js->post_id, 'user_id'=>$js->user_id, ); Insert($db,"user_post_liked",$idt,0); $sql3="UPDATE `posts` set likes_count=likes_count+1 where id=".$js->post_id; $res3=mysqli_query($db,$sql3); $dt['success']=true; $dt['message']="Post liked"; } return $dt; } function save_post($js){ global $ar,$db; $dt=array(); $sql2="SELECT `id` from `user_post_saved` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id2=$r2['id']+1; } else { $id2=1; } $sql1="SELECT * from `user_post_saved` where post_id=".$js->post_id." and user_id=".$js->user_id; $res1=mysqli_query($db,$sql1); if(mysqli_num_rows($res1)==1) { Delete($db,"user_post_saved","post_id=".$js->post_id." and user_id=".$js->user_id,0); $sql3="UPDATE `posts` set saves_count=saves_count-1 where id=".$js->post_id; $res3=mysqli_query($db,$sql3); $dt['success']=true; $dt['message']="Post un-saved"; } else { $idt=array( 'id'=>$id2, 'post_id'=>$js->post_id, 'user_id'=>$js->user_id, ); Insert($db,"user_post_saved",$idt,0); $sql3="UPDATE `posts` set saves_count=saves_count+1 where id=".$js->post_id; $res3=mysqli_query($db,$sql3); $dt['success']=true; $dt['message']="Post saved"; } return $dt; } function update_post_cover_photo($js){ global $ar,$db; $dt=array(); $user_id=$js->user_id; $post_id=$js->post_id; $data=$js->cover_photo; if(isset($js->cover_photo) && $js->cover_photo!=''){ $image_info = getimagesize($data); $extension = (isset($image_info["mime"]) ? explode('/', $image_info["mime"] )[1]: ""); //$dt['type']=$extension; $tmp_file=$ar['img_path']."users/tmp/".$user_id.".".$extension; $sub_folder=$ar['img_path']."/users/".$user_id; if(!is_dir($sub_folder)){ mkdir($sub_folder, 0755); } $sub_folder_p=$ar['img_path']."/users/".$user_id."/p"; if(!is_dir($sub_folder_p)){ mkdir($sub_folder_p, 0755); } $new_file=genRandom(10).".".$extension; //$dt['newfile']=$new_file; $data = str_replace('data:image/'.$extension.';base64,', '', $data); $data = str_replace(' ','+',$data); $bin = base64_decode($data); if ($bin === false) { $dt['info']="convert invalid"; } //tmp file file_put_contents($tmp_file, $bin); ini_set('display_errors', '0'); resize_crop_image(1200,760,$tmp_file,$sub_folder_p."/".$new_file); unlink($tmp_file); $sql="SELECT `seq` from `images` where `modul`='post' and `item_id`=".$js->post_id." order by `seq` desc limit 1"; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)==1) { $r = mysqli_fetch_assoc($res); $seq2=$r['seq']+1; } else { $seq2=1; } $sql2="SELECT `id` from `images` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id3=$r2['id']+1; } else { $id3=1; } $idt=array( 'id'=>$id3, 'modul'=>'post', 'item_id'=>$js->post_id, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$user_id."/p/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$user_id."/p/".$new_file, ); Update($db,"posts",$udt,"id=".$js->post_id,0); //$dt['idt']=$idt; //$dt['udt']=$udt; $dt['success']=true; $dt['message']="Cover photo update"; } else { $dt['error']=true; $dt['message']="Error update cover photo"; } //$dt['image_url']=$ar['imgurl']."users/".$user_id."/w/".$new_file; return $dt; } ?>
Save
export const deletePost = async (post_id) => { const user = await getSessionUser() if (!user) return try { const response = await fetch(`${API_URL}/wp-json/app/v1/delete-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, post_id }), }) if (response.status !== 200) { throw new Error("Error deleting post") } return true } catch (error) { return false } } export const updatePost = async (data) => { try { const user = await getSessionUser(); if (!user || !user.id) return null; const response = await fetch(`${API_URL}/wp-json/app/v1/edit-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, ...data }), }); const res = await response.json(); return res; } catch (e) { console.error("Error updating post", e.message); return null; } }; export const getPostById = async (post_id) => { const user = await getSessionUser() if (!user) return try { const response = await fetch(`${API_URL}/wp-json/app/v1/get-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, post_id }), }) const data = await response.json() return data } catch (error) { return null } } export async function fetchPosts(page, following = false) { const controller = new AbortController() const signal = controller.signal try { const user = await getSessionUser() if (!user) return // setTimeout(() => { // controller.abort() // }, 5) const response = await fetch(`${API_URL}/wp-json/app/v1/get-posts?page=${page}&limit=10`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, following_only: following, }), signal // Abort signal }) const data = await response.json() return data } catch (error) { console.log(error); return {} } } export const getPostsForUser = async (profileId, page = 1, tagged = false, limit = 10) => { const response = await fetch(`${API_URL}/wp-json/app/v1/get-user-posts`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: profileId, page, limit, tagged }), }) const data = await response.json() if (response.status !== 200) { return { data: [], total_pages: 0, page: 1, limit } } return data } export const maybeLikePost = async (postId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/wp-json/app/v1/toggle-like-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, post_id: postId }), }) const data = await response.json() return data }
import { API_URL, TIMEOUT_MS_HIGHER } from "./consts.js" import { getSessionUser } from "./auth.js"; export const addPost = async (data) => { try { const user = await getSessionUser(); if (!user || !user.id) return null; const response = await fetch(`${API_URL}/post/add-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, ...data }), }); const res = await response.json(); return res; } catch (e) { console.error("Error updating post", e.message); return null; } }; export const deletePost = async (post_id) => { const user = await getSessionUser() if (!user) return try { const response = await fetch(`${API_URL}/post/delete-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, post_id }), }) if (response.status !== 200) { throw new Error("Error deleting post") } return true } catch (error) { return false } }; export const updatePost = async (postId,data) => { try { const user = await getSessionUser(); if (!user || !user.id) return null; const response = await fetch(`${API_URL}/post/edit-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, post_id: postId, ...data }), }); const res = await response.json(); return res; } catch (e) { console.error("Error updating post", e.message); return null; } }; export const getPostById = async (post_id) => { const user = await getSessionUser() if (!user) return try { const response = await fetch(`${API_URL}/post/get-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, post_id }), }) const data = await response.json() return data } catch (error) { return null } }; export async function getPosts(page = 1, limit = 10) { const controller = new AbortController() const signal = controller.signal try { const user = await getSessionUser() if (!user) return // setTimeout(() => { // controller.abort() // }, 5) const response = await fetch(`${API_URL}/post/get-posts`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, page, limit }), signal // Abort signal }) const data = await response.json() return data } catch (error) { console.log(error); return {} } }; export const getPostsForUser = async (profileId, page = 1, tagged = false, limit = 10) => { const response = await fetch(`${API_URL}/post/get-user-posts`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: profileId, page, limit, tagged }), }) const data = await response.json() if (response.status !== 200) { return { data: [], total_pages: 0, page: 1, limit } } return data }; export const LikePost = async (postId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/post/like-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, post_id: postId }), }) const data = await response.json() return data }; export const SavePost = async (postId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/post/save-post`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, post_id: postId }), }) const data = await response.json() return data }; export const updatePostCoverPhoto = async (eventId, cover_photo) => { try { const user = await getSessionUser(); if (!user) return; setTimeout(() => { controller.abort() }, TIMEOUT_MS_HIGHER) const response = await fetch(`${API_URL}/post/update-post-cover-photo`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, event_id: eventId, cover_photo }) }); const data = await response.json(); return data; } catch (error) { if (error.name === 'AbortError') { throw { message: "Failed to update cover photo, your connection timed out", name: "TimeOutError" }; } else { throw error; // Rethrow any other errors } } };
Save
post
-- delete-post
-- edit-post
-- get-post
-- get-posts
-- get-user-posts
-- toggle-like-post