import {
PRODUCTHUNT_ACCESS_TOKEN_SECRET,
PRODUCTHUNT_CLIENT_SECRET_SECRET,
PRODUCTHUNT_GRAPHQL_URL,
PRODUCTHUNT_INTEGRATION,
} from './request.ts'
import { getConnectUrl, getSetupGuide } from './guide.ts'
/**
* Return helper discovery metadata for kody:@kentcdodds/producthunt.
*/
export default async function productHuntToolkitOverview() {
return {
package: '@kentcdodds/producthunt',
kodyId: 'producthunt',
integration: PRODUCTHUNT_INTEGRATION,
apiBaseUrl: PRODUCTHUNT_GRAPHQL_URL,
auth: {
accessTokenSecret: PRODUCTHUNT_ACCESS_TOKEN_SECRET,
clientSecretSecret: PRODUCTHUNT_CLIENT_SECRET_SECRET,
flow: 'confidential',
scopes: ['public', 'private'],
},
connectUrl: getConnectUrl(),
setup: getSetupGuide(),
exports: [
'types',
'request',
'smoke-test',
'guide',
'get-viewer',
'get-user',
'get-post',
'list-posts',
'list-comments',
'get-collection',
'list-collections',
'get-topic',
'list-topics',
],
}
}
export {
PRODUCTHUNT_ACCESS_TOKEN_SECRET,
PRODUCTHUNT_APPLICATIONS_URL,
PRODUCTHUNT_AUTHORIZE_URL,
PRODUCTHUNT_CLIENT_SECRET_SECRET,
PRODUCTHUNT_GRAPHQL_URL,
PRODUCTHUNT_INTEGRATION,
PRODUCTHUNT_TOKEN_URL,
ProductHuntRequestError,
getProductHuntAuthenticatedFetch,
request,
} from './request.ts'
export {
clampPageSize,
getCollection,
getPost,
getTopic,
getUser,
getViewer,
listCollections,
listComments,
listPosts,
listTopics,
runSmokeTest,
unwrapConnection,
} from './domain.ts'
export { DEFAULT_KODY_ORIGIN, getConnectUrl, getSetupGuide } from './guide.ts'