import { getAppcondaClient } from './getAppcondaClient'; import type { AppcondaClientOptions } from './getAppcondaClient'; import { Account, BuilderService, DataSourceService, ScrapflowService, WaitlistService } from "./modules"; import { AccountService } from "./modules/accounv1"; import { TenantService } from "./modules/tenant/service"; import { Configuration } from "./services/configuration"; import { OrganizationService } from "./modules/organization/service"; import { EmploidService } from "./modules/emploid/service"; import { BpmService } from "./modules/bpm/service"; export type AppcondaSDK = { accounts: AccountService, tenants: TenantService, organization: OrganizationService, emploid: EmploidService, bpm: BpmService, datasource: DataSourceService, builder: BuilderService, scrapflow: ScrapflowService, /* currentUser, accounts, databases, projects, users, teams, tenants, roles, permissions, schemas, community, tenantSubscriptions, subscription, pricing, */ waitlist: WaitlistService, configuration: Configuration } export type AppcondaSDKOptions = AppcondaClientOptions; export function getSDKForService(token?: string, options: AppcondaSDKOptions = {}): AppcondaSDK { const adminClient = getAppcondaClient(options); adminClient.addHeader('x-service-token', ''); if (token) { adminClient.addHeader('Authorization', `Bearer ${token}`); } const accounts = new AccountService(adminClient); const tenants = new TenantService(adminClient); const organization = new OrganizationService(adminClient); const emploid = new EmploidService(adminClient); const bpm = new BpmService(adminClient); const datasource = new DataSourceService(adminClient); const builder = new BuilderService(adminClient); const scrapflow = new ScrapflowService(adminClient); /* const databases = new Databases(adminClient); const projects = new Projects(adminClient); const currentUser = await accounts.get(); const users = new Users(adminClient); const teams = new Teams(adminClient); const roles = new Roles(adminClient); const permissions = new Permissions(adminClient); const schemas = new Schemas(adminClient); const community = new Community(adminClient); const tenantSubscriptions = new TenantSubscription(adminClient); const subscription = new Subscription(adminClient); const pricing = new Pricing(adminClient); */ const waitlist = new WaitlistService(adminClient); const configuration = new Configuration(adminClient); return { accounts, tenants, organization, emploid, bpm, datasource, builder, scrapflow, /* currentUser, accounts, databases, projects, users, teams, tenants, roles, permissions, schemas, community, tenantSubscriptions, subscription, pricing, */ waitlist, configuration } }