Skip to content

Instantly share code, notes, and snippets.

@karlguillotte
Last active January 27, 2021 23:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save karlguillotte/b947fd0fdef82cd0f2dcc2204314370d to your computer and use it in GitHub Desktop.
Save karlguillotte/b947fd0fdef82cd0f2dcc2204314370d to your computer and use it in GitHub Desktop.
async function main(lang) {
const name = await getSponsorName()
return await getSponsorData(name, lang)
}
async function getSponsorName() {
const date = new Date()
const url = API + '/static/sponsors/' + date.toISOString().substr(0, 10)
const sponsors = await get(url)
return sponsors.AvQForecast
}
async function getSponsorData(sponsorName = 'avalanche-quebec', lang = '*') {
const { refs } = await get(PRISMIC)
const { ref } = refs.find(ref => ref.isMasterRef)
const url = `${PRISMIC}/documents/search?page=1&${lang}&q=%5B%5B%3Ad+%3D+at%28my.sponsor.uid%2C+%22${sponsorName}%22%29%5D%5D&ref=${ref}`
const { results } = await get(url)
const [{ data }] = results
return {
name: data.name,
url: data.url,
description: data.description,
image: data['image-229'],
}
}
// Utils
async function get(url) {
const response = await fetch(url)
return await response.json()
}
// Constants
const API = 'https://avalanche.ca/api'
const PRISMIC = 'https://avalancheca.cdn.prismic.io/api/v2'
@karlguillotte
Copy link
Author

karlguillotte commented Jan 14, 2021

main est la principale fonction à utiliser. Elle retournera des données lorsque qu'Avalanche Québec aura ajouté les commanditaires dans notre CMS et dans notre calendrier.

getSponsorName retourne le nom du commanditaire pour aujourd'hui. Cette fonction retournera le nom lorsque le calendrier des commanditaires nous aura été transmis.

getSponsorData pour l'instant est la seule fonction qui retourne des données puisque le nom du commanditaire est "avalanche-quebec" par défaut.

Le paramètre lang est le langage des données retournées :

  • * tous les languages, donc plus d'un document si le document est traduit
  • en-US pour les données en anglais. Yep, je sais US et non CA 👎
  • fr-CA pour les données en français

@karlguillotte
Copy link
Author

Désolé, il y a 8 caractères par tab. Il doit y avoir un bogue dans gist qui m'empêche de le changer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment