INSERT INTO `cp_filejs` (`id`,`app`,`path`,`modul`,`file_name`,`content`) VALUES ('324','2','u6/driver','','js/api/discover.js---','import {\r\n getSessionUser\r\n} from \\\\\\\\\\\\\\\"./auth.js\\\\\\\\\\\\\\\";\r\nimport {\r\n API_URL\r\n} from \\\\\\\\\\\\\\\"./consts.js\\\\\\\\\\\\\\\";\r\n\r\n/**\r\n * Fetches the discover data\r\n * \r\n * @param {string} search\r\n * @param {\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'users\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'venues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'all\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'} type \r\n * @param {number} page default 1\r\n * \r\n */\r\nexport const getDiscoverData = async (search, type, page = 1, signal) => {\r\n const user = await getSessionUser();\r\n\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/discover-search`, {\r\n method: \\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\\",\r\n headers: {\r\n \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\\",\r\n },\r\n body: JSON.stringify({\r\n search,\r\n user_id: user?.id,\r\n page,\r\n type,\r\n per_page: 10\r\n }),\r\n signal\r\n });\r\n\r\n const data = await response.json();\r\n return data;\r\n};\r\n\r\nexport const fetchEvent = async (eventId) => {\r\n let user;\r\n try {\r\n user = await getSessionUser();\r\n } catch (e) {\r\n console.error(\\\\\\\\\\\\\\\"Error fetching user no session\\\\\\\\\\\\\\\");\r\n }\r\n\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/get-event`, {\r\n cache: \\\\\\\\\\\\\\\"no-cache\\\\\\\\\\\\\\\",\r\n method: \\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\\",\r\n headers: {\r\n \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\\",\r\n },\r\n body: JSON.stringify({\r\n event_id: eventId,\r\n user_id: user?.id\r\n }),\r\n });\r\n\r\n const data = await response.json();\r\n if (response.status !== 200) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data;\r\n};\r\n\r\nexport const fetchTrendingEvents = async (page, paginate = false, filters = null) => {\r\n const controller = new AbortController()\r\n const signal = controller.signal\r\n\r\n try {\r\n const user = await getSessionUser();\r\n\r\n if (!user) {\r\n throw new Error(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Session user not found\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n }\r\n\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/get-events-trending`, {\r\n method: \\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\\",\r\n headers: {\r\n \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\\",\r\n },\r\n body: JSON.stringify({\r\n user_id: user.id,\r\n page,\r\n per_page: 10,\r\n paginate,\r\n filters\r\n }),\r\n signal\r\n });\r\n\r\n const data = await response.json();\r\n\r\n if (!data) {\r\n throw new Error(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Failed to fetch trending events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n }\r\n\r\n return data;\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n};\r\n\r\nexport const fetchTrendingVenues = async (page, paginate = false, filters = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'{}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') => {\r\n try {\r\n const user = await getSessionUser();\r\n\r\n if (!user) {\r\n throw new Error(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Session user not found\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n }\r\n\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/get-venues-trending`, {\r\n method: \\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\\",\r\n cache: \\\\\\\\\\\\\\\"force-cache\\\\\\\\\\\\\\\",\r\n headers: {\r\n \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\\",\r\n },\r\n body: JSON.stringify({\r\n user_id: user.id,\r\n page,\r\n per_page: 10,\r\n paginate,\r\n filters\r\n }),\r\n });\r\n\r\n const data = await response.json();\r\n return data;\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n};\r\n\r\nexport const fetchEventCats = async () => {\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/get-event-categories`, {\r\n method: \\\\\\\\\\\\\\\"GET\\\\\\\\\\\\\\\",\r\n cache: \\\\\\\\\\\\\\\"force-cache\\\\\\\\\\\\\\\",\r\n });\r\n\r\n const data = await response.json();\r\n return data;\r\n};\r\n\r\nexport const maybeFavoriteEvent = async (eventId) => {\r\n const user = await getSessionUser();\r\n\r\n if (!user || !user.id) {\r\n return null;\r\n }\r\n\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/favourite-event`, {\r\n cache: \\\\\\\\\\\\\\\"no-cache\\\\\\\\\\\\\\\",\r\n method: \\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\\",\r\n headers: {\r\n \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\\",\r\n },\r\n body: JSON.stringify({\r\n event_id: eventId,\r\n user_id: user.id\r\n }),\r\n });\r\n\r\n const data = await response.json();\r\n return data;\r\n};\r\n\r\nexport const maybeFollowVenue = async (venueId) => {\r\n const user = await getSessionUser();\r\n\r\n if (!user || !user.id) {\r\n return null;\r\n }\r\n\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/follow-venue`, {\r\n cache: \\\\\\\\\\\\\\\"no-cache\\\\\\\\\\\\\\\",\r\n method: \\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\\",\r\n headers: {\r\n \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\\",\r\n },\r\n body: JSON.stringify({\r\n venue_id: venueId,\r\n user_id: user.id\r\n }),\r\n });\r\n\r\n const data = await response.json();\r\n return data;\r\n}\r\n\r\nexport const fetchVenue = async (venueId) => {\r\n const user = await getSessionUser();\r\n\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/get-venue`, {\r\n cache: \\\\\\\\\\\\\\\"no-cache\\\\\\\\\\\\\\\",\r\n method: \\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\\",\r\n headers: {\r\n \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\\",\r\n },\r\n body: JSON.stringify({\r\n venue_id: venueId,\r\n user_id: user?.id\r\n }),\r\n });\r\n\r\n const data = await response.json();\r\n if (response.status !== 200) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data;\r\n}\r\n\r\nexport const fetchTrendingUsers = async (page) => {\r\n try {\r\n const user = await getSessionUser();\r\n\r\n if (!user) {\r\n throw new Error(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Session user not found\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n }\r\n\r\n const response = await fetch(`${API_URL}/wp-json/app/v1/popular-users-cars`, {\r\n method: \\\\\\\\\\\\\\\"POST\\\\\\\\\\\\\\\",\r\n cache: \\\\\\\\\\\\\\\"force-cache\\\\\\\\\\\\\\\",\r\n headers: {\r\n \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\\",\r\n },\r\n body: JSON.stringify({\r\n user_id: user.id,\r\n page,\r\n per_page: 10,\r\n }),\r\n });\r\n\r\n const data = await response.json();\r\n return data;\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n};');