import { Global, Module } from '@nestjs/common';
import { ModelService } from './model.service';
import { MongooseModule } from '@nestjs/mongoose';
import * as Schema from './schema/index'

@Global()
@Module({
  imports: [MongooseModule.forFeature([

    { name: Schema.User.Users.name, schema: Schema.User.UserSchema },
    { name: Schema.Session.Sessions.name, schema: Schema.Session.SessionSchema },
    { name: Schema.Call.Calls.name, schema: Schema.Call.CallSchema },
    { name: Schema.CallTranscript.CallTranscript.name, schema: Schema.CallTranscript.callTranscriptSchema },
    { name: Schema.Workspace.Workspace.name, schema: Schema.Workspace.workspaceSchema },
    { name: Schema.UserWorkspace.UserWorkspaces.name, schema: Schema.UserWorkspace.userWorkspacesSchema },
    { name: Schema.plan.Plan.name, schema: Schema.plan.PlanSchema },
    { name: Schema.Subscription.Subscription.name, schema: Schema.Subscription.SubscriptionSchema },
    { name: Schema.AllUserWorkspaces.AllUserWorkspaces.name, schema: Schema.AllUserWorkspaces.allUserWorkspacesSchema },
    { name: Schema.ContactUs.ContactUss.name, schema: Schema.ContactUs.ContactSchema },
    { name: Schema.CallMessage.Message.name, schema: Schema.CallMessage.MessageSchema },
    { name: Schema.Agent.Agents.name, schema: Schema.Agent.agentSchema },
    { name: Schema.Document.Documents.name, schema: Schema.Document.documentSchema },
    { name: Schema.KnowledgeBase.KnowledgeBase.name, schema: Schema.KnowledgeBase.knowledgeBaseSchema },
    { name: Schema.DefaultAgents.DefaultAgents.name, schema: Schema.DefaultAgents.defaultAgentsSchema },
    { name: Schema.WorkspaceKeys.WorkspacesKeys.name, schema: Schema.WorkspaceKeys.WorkspacesKeysSchema },
    { name: Schema.Script.Script.name, schema: Schema.Script.ScriptSchema },
    { name: Schema.LandingPageChat.landing_page_chat.name, schema: Schema.LandingPageChat.LandingPageChatSchema },
    { name: Schema.LandingPageChatHistory.landing_page_chat_history.name, schema: Schema.LandingPageChatHistory.landingPageChatHistorySchema },
    { name: Schema.WhiteLabel.whiteLabels.name, schema: Schema.WhiteLabel.whiteLabelsSchema },
    { name: Schema.Payment.payment.name, schema: Schema.Payment.paymentSchema },
    { name: Schema.Content.Contents.name, schema: Schema.Content.ContentsSchema },
    { name: Schema.DefaultCall.defaultCall.name, schema: Schema.DefaultCall.defaultCallSchema},
    { name: Schema.SubscriptionPlan.SubscriptionPlan.name, schema: Schema.SubscriptionPlan.SubscriptionPlanSchema},
    { name: Schema.TwilioConfig.TwilioConfig.name, schema: Schema.TwilioConfig.TwilioConfigSchema},
    { name: Schema.VectorFAQ.VendorFAQ.name, schema: Schema.VectorFAQ.VendorFaqSchema},


  ])],
  providers: [ModelService],
  exports: [ModelService]
})
export class ModelModule { }
