Options
All
  • Public
  • Public/Protected
  • All
Menu

Module lib/services/abilities

Index

Type aliases

Abilities

Abilities: ReturnType<typeof abilities>

CollectionArgs

CollectionArgs: Partial<Pagination>

ConversationArgs

ConversationArgs: CollectionArgs & { customerId?: number; id?: number; type?: ConversationType }

MessageArgs

MessageArgs: CollectionArgs & { conversationId?: number; id?: number }

Pagination

Pagination: { limit: number; offset: number }

Type declaration

  • limit: number
  • offset: number

WhereClause

WhereClause: Record<string, any>

Functions

abilities

  • abilities(staff: Staff, config?: GoodChatConfig): { addToConversation: (id: number, user: Staff) => Promise<StaffConversations>; getConversationById: (id: number) => Promise<Conversation>; getConversations: (args: ConversationArgs) => Promise<Conversation[]>; getMessageById: (id: number) => Promise<Message>; getMessages: (args: MessageArgs) => Promise<Message[]>; joinConversation: (id: number) => Promise<StaffConversations>; sendMessage: (conversationId: number, content: SunshineContent) => Promise<Message>; sendTextMessage: (conversationId: number, text: string) => Promise<Message> }
  • Creates a set of secure methods for a certain staff member, which automatically applies any security rules to the db request

    export

    Parameters

    Returns { addToConversation: (id: number, user: Staff) => Promise<StaffConversations>; getConversationById: (id: number) => Promise<Conversation>; getConversations: (args: ConversationArgs) => Promise<Conversation[]>; getMessageById: (id: number) => Promise<Message>; getMessages: (args: MessageArgs) => Promise<Message[]>; joinConversation: (id: number) => Promise<StaffConversations>; sendMessage: (conversationId: number, content: SunshineContent) => Promise<Message>; sendTextMessage: (conversationId: number, text: string) => Promise<Message> }

    • addToConversation: (id: number, user: Staff) => Promise<StaffConversations>
        • (id: number, user: Staff): Promise<StaffConversations>
        • Parameters

          • id: number
          • user: Staff

          Returns Promise<StaffConversations>

    • getConversationById: (id: number) => Promise<Conversation>
        • (id: number): Promise<Conversation>
        • Parameters

          • id: number

          Returns Promise<Conversation>

    • getConversations: (args: ConversationArgs) => Promise<Conversation[]>
    • getMessageById: (id: number) => Promise<Message>
        • (id: number): Promise<Message>
        • Parameters

          • id: number

          Returns Promise<Message>

    • getMessages: (args: MessageArgs) => Promise<Message[]>
    • joinConversation: (id: number) => Promise<StaffConversations>
        • (id: number): Promise<StaffConversations>
        • Parameters

          • id: number

          Returns Promise<StaffConversations>

    • sendMessage: (conversationId: number, content: SunshineContent) => Promise<Message>
        • Parameters

          Returns Promise<Message>

    • sendTextMessage: (conversationId: number, text: string) => Promise<Message>
        • (conversationId: number, text: string): Promise<Message>
        • Parameters

          • conversationId: number
          • text: string

          Returns Promise<Message>

Generated using TypeDoc