import { cookies } from "next/headers"; import { getAppcondaClient } from "./getAppcondaClient"; import { Community } from "./services/community"; import { Configuration } from "./services/configuration"; import { Databases } from "./services/databases"; import { Pricing } from "./services/pricing"; import { Projects } from "./services/projects"; import { Roles } from "./services/roles"; import { Schemas } from "./services/schema"; import { Subscription } from "./services/subscription"; import { Teams } from "./services/teams"; import { TenantSubscription } from "./services/tenant-subscription"; import { Users } from "./services/users"; import { Permissions } from "./services/permissions"; import { WaitlistService } from "./modules/waitlist/service"; import { Account } from "./modules/account/service"; import { Node } from "./modules/ai/node/service"; import { AgentService } from "./modules/agent/service"; import { ChatFlow } from "./services/chat-flow"; import { BuilderService, TenantService } from "./modules"; import { Acl } from "./modules/acl/service"; import { TaskService } from "./modules/task/service"; import { ScheduledJobService } from "./modules/scheduled-job"; import { DataSourceService } from "./modules/datasource/service"; import { GoogleService } from "./modules/google"; import { NotionService } from "./modules/notion"; import { EmploidService } from "./modules/emploid"; import { BpmService } from "./modules/bpm"; import { MailService } from "./modules/mail"; export type TSDKServices = { currentUser: any; accounts: Account; databases: Databases; projects: Projects; users: Users; teams: Teams; tenants: TenantService; roles: Roles; permissions: Permissions; schemas: Schemas; community: Community; tenantSubscriptions: TenantSubscription; subscription: Subscription; pricing: Pricing; configuration: Configuration; acl: Acl; node: Node; waitlist: WaitlistService; agent: AgentService; chatFlow: ChatFlow; task: TaskService; scheduledJob: ScheduledJobService; builder: BuilderService; datasource: DataSourceService; google: GoogleService; notion: NotionService; emploid: EmploidService; bpm: BpmService; mail: MailService; } export async function getSDKForCurrentUser(): Promise { const adminClient = await getAppcondaClient(); const c = await cookies() /* const s = c.get('a_session') || c.get('a_session_console_legacy'); if (!s || !s.value) { throw new Error("No session"); } */ // adminClient.setSession(s.value); const accounts = new Account(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 tenants = new TenantService(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 configuration = new Configuration(adminClient); const acl = new Acl(adminClient); const node = new Node(adminClient); const waitlist = new WaitlistService(adminClient); const agent = new AgentService(adminClient); const chatFlow = new ChatFlow(adminClient); const task = new TaskService(adminClient); const scheduledJob = new ScheduledJobService(adminClient); const builder = new BuilderService(adminClient); const datasource = new DataSourceService(adminClient); const google = new GoogleService(adminClient); const notion = new NotionService(adminClient); const emploid = new EmploidService(adminClient); const bpm = new BpmService(adminClient); const mail = new MailService(adminClient); return { currentUser, accounts, databases, projects, users, teams, tenants, roles, permissions, schemas, community, tenantSubscriptions, subscription, pricing, configuration, acl, node, waitlist, agent, chatFlow, task, scheduledJob, builder, datasource, google, notion, emploid, bpm, mail } }