import { Photon } from '@prisma/photon' ; import algoliasearch , { Index } from 'algoliasearch' ; export interface Sources { algolia : { indices : { starters : Index ; } ; } ; prisma : { photon : Photon ; url : string ; } ; constants : { configurationFilePath : string ; configurationBranch : string ; } ; } export interface SourcesConfig { algolia : { appId : string ; apiKey : string ; indices : { starters : string ; } ; } ; prisma : { url : string ; } ; } param config export function getSources ( config ) { const photon = new Photon ( { } ) ; const algolia = algoliasearch ( config . algolia . appId , config . algolia . apiKey ) ; return { algolia : { indices : { starters : algolia . initIndex ( config . algolia . indices . starters ) , } , } , prisma : { photon , url : config . prisma . url , } , constants : { configurationFilePath : 'emma.yml' , configurationBranch : 'emma/configuration' , } , } ; }