import getConfig from 'next/config' export const getAllPosts = async (filter, page, limit) => { const { serverRuntimeConfig, publicRuntimeConfig } = getConfig() const qs = require('qs') const qVal = [] if (page == null) { page = 0 } if (limit == null) { limit = 50; } var filters = {} if (filter) { filters = { project: { Slug: { $in: filter } } } } const qArray = { sort: ['publishedAt:desc'], pagination: { page: page, pageSize: limit }, populate: '*', filters } const query = qs.stringify( qArray, { encodeValuesOnly: true, }) const res = await fetch(serverRuntimeConfig.base_path + `articles?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await res.json() } export const getSinglePost = async (postId) => { const { serverRuntimeConfig} = getConfig() const url = serverRuntimeConfig.base_path + 'articles?filters[Slug][$eq]=' + postId + '&populate=*' const res = await fetch(url, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) const artdata = await res.json() return artdata.data[0].attributes } export const getAllPodcastSeries = async () => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') const query = qs.stringify({ populate: { podcast_episodes: { populate:['Audio_MP3'] } } }, { encodeValuesOnly: true, }) const res = await fetch(serverRuntimeConfig.base_path + `podcast-series?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await res.json() } export const getAllPodcastEpisodes = async () => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') const query = qs.stringify({ populate: {} }, { encodeValuesOnly: true }) const res = await fetch(serverRuntimeConfig.base_path + `podcast-episodes?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await res.json() } export const getProjectDetails = async (projectId) => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') const query = qs.stringify({ filters: { Slug: { $eq: projectId } }, populate: '*' }, { encodeValuesOnly: true, }) const res = await fetch(serverRuntimeConfig.base_path + `projects?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await res.json() } export const getPodcastEpisode = async (episodeId) => { const { serverRuntimeConfig} = getConfig() const qs = require('qs') const query = qs.stringify({ filters: { Slug: { $eq: episodeId } }, populate: '*' }, { encodeValuesOnly: true, }) const epres = await fetch(serverRuntimeConfig.base_path + `podcast-episodes?${query}`, { headers: new Headers({ 'Authorization':serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await epres.json() } export const getPodcastSeries = async (podcastId) => { const { serverRuntimeConfig} = getConfig() const qs = require('qs') const query = qs.stringify({ filters: { Slug: { $eq: podcastId } }, populate: '*' }, { encodeValuesOnly: true, }) const url = serverRuntimeConfig.base_path + `podcast-series?${query}`; const showres = await fetch(url, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await showres.json() } export const getPodcastSeriesEpisodes = async (podcastId, limit, page) => { const { serverRuntimeConfig} = getConfig() const qs = require('qs') const query = qs.stringify({ filters: { podcast_sery: { Slug: { $eq: podcastId } } }, pagination: { page: page, pageSize: limit }, sort: ['publishedAt:desc'], populate: '*' }, { encodeValuesOnly: true, }) const epres = await fetch(serverRuntimeConfig.base_path + `podcast-episodes?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await epres.json(); } export const getLatestPodcastEpisode = async () => { const { serverRuntimeConfig} = getConfig() const qs = require('qs') var query = qs.stringify({ sort: ['publishedAt:desc'], pagination: { page: 1, pageSize: 1, }, populate: '*' }) const epres = await fetch(serverRuntimeConfig.base_path + `podcast-episodes?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) const episode = await epres.json() const seriesres = await getPodcastSeries(episode.data[0].attributes.podcast_sery.data.attributes.Slug) const res = { ...episode, ...seriesres.data[0].attributes } return res } export const getAllGalleries = async(page, limit) => { const { serverRuntimeConfig, publicRuntimeConfig } = getConfig() const qs = require('qs') var query = qs.stringify({ sort: ['publishedAt:desc'], pagination: { page: page, pageSize: limit }, populate: { gallery_images: { populate: '*' } } }) const galres = await fetch(process.env.API + `galleries?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await galres.json() } export const getGalleries = async () => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') var query = qs.stringify({ sort: ['publishedAt:desc'], pagination: { page: 1, pageSize: 5, }, populate: '*' }) const galres = await fetch(process.env.API + `galleries?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await galres.json() } export const getGallery = async (gallerySlug) => { const { serverRuntimeConfig, publicRuntimeConfig } = getConfig() const qs = require('qs') var query = qs.stringify({ filters: { Slug: { $eq: gallerySlug } }, populate: '*' }) const galres = await fetch(process.env.API + `galleries?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await galres.json() } export const getAllGalleryImages = async () => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') var query = qs.stringify({ populate: '*' }) const imageres = await fetch(process.env.API + `gallery-images?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return imageres.json() } export const getLatestGalleryImage = async () => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') var query = qs.stringify({ pagination: { page: 1, pageSize: 1 }, populate: '*' }) const imageres = await fetch(process.env.API + `gallery-images?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return imageres.json() } export const getGalleryImage = async (imageSlug) => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') var query = qs.stringify({ filters: { Slug: { $eq: imageSlug } }, populate: '*' }) const imageres = await fetch(process.env.API + `gallery-images?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await imageres.json() } export const getGalleryImages = async (galleryId, page, limit) => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') if (page == null) { page = 0 } var query = qs.stringify({ filters: { galleries: { Slug: { $eq: galleryId } } }, populate: '*', pagination: { page: page, pageSize: limit } }) const galres = await fetch(process.env.API + `gallery-images?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await galres.json() } export const getPodcastList = async (podcastStatus) => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') const query = qs.stringify({ filters: { status: { $eq: true } }, populate: '*' }, { encodeValuesOnly: true, }) const currpodcastres = await fetch(serverRuntimeConfig.base_path + `podcast-series?${query}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) return await currpodcastres.json() } export const getLatestContent = async () => { const { serverRuntimeConfig } = getConfig() const qs = require('qs') const newsQuery = qs.stringify({ filters: { status: { $eq: true }, pagination: { page: 1, pageSize: 1 } }, populate: '*' }, { encodeValuesOnly: true, }) const latestNews = await fetch(serverRuntimeConfig.base_path + `articles?${newsQuery}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) const galleryImageQuery = qs.stringify({ filters: { status: { $eq: true }, pagination: { page: 1, pageSize: 1 } }, populate: '*' }, { encodeValuesOnly: true, }) const latestGalleryImages = await fetch(serverRuntimeConfig.base_path + `gallery_images?${galleryImageQuery}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) const podcastEpisodeQuery = qs.stringify({ filters: { status: { $eq: true }, pagination: { page: 1, pageSize: 1 } }, populate: '*' }, { encodeValuesOnly: true, }) const latestPodcastEpisodes = await fetch(serverRuntimeConfig.base_path + `podcast_episode?${podcastEpisodeQuery}`, { headers: new Headers({ 'Authorization': serverRuntimeConfig.strapi_token, 'Content-Type': 'application/x-www-form-urlencoded' }) }) const combined = latestNews return combined }