API Access
This package centralises the access points to all the different APIs that are currently in use in this organisation.
Should the APIs change at some point (and they will), it should be possible to change this package and have all other packages that depend on API calls be updated automatically.
Usage
This package exports functions that return promises for the requested property.
Example: Share Counts for an article
import React, { useState, useEffect } from 'react'
import { getTotalShareCount } from '@ta-interaktiv/api-access'
import { parseHostname } from '@ta-interaktiv/parse-hostname'
export function YourComponent({ articleId }: { articleId: string }) {
const [shareCount, setShareCount] = useState(0)
useEffect(() => {
getTotalShareCount(parseHostname().publicationName, articleId)
.then(count => setShareCount(count))
}, [articleId])
return <div>{shareCount}</div>
}
This package caches the requests to the API for each domain and article ID, so you can call these functions without having to fear that you flood the API endpoints with requests.