{"version":3,"sources":["../../../src/api/routes.ts","../../../src/modules/groups/index.ts"],"sourcesContent":["export const Routes = {\n  Message: {\n    SendText: \"message/sendText\",\n    SendMedia: \"message/sendMedia\",\n    SendVoice: \"message/sendWhatsAppAudio\",\n    SendSticker: \"message/sendSticker\",\n    SendLocation: \"message/sendLocation\",\n    SendContact: \"message/sendContact\",\n    SendPoll: \"message/sendPoll\",\n    SendReaction: \"message/sendReaction\",\n    SendTemplate: \"message/sendTemplate\",\n    SendStatus: \"message/sendStatus\",\n    SendList: \"message/sendList\",\n  },\n  Chats: {\n    Check: \"chat/whatsappNumbers\",\n    FindAll: \"chat/findChats\",\n    SendPresence: \"chat/sendPresence\",\n    MarkAsRead: \"chat/markMessageAsRead\",\n    MarkAsUnread: \"chat/markChatUnread\",\n    Archive: \"chat/archive\",\n    DeleteMessage: \"chat/deleteMessageForEveryone\",\n    FetchProfilePicture: \"chat/fetchProfilePictureUrl\",\n    FindContacts: \"chat/findContacts\",\n    FindMessages: \"chat/findMessages\",\n    FindStatusMessage: \"chat/findStatusMessage\",\n    UpdateMessage: \"chat/updateMessage\",\n    GetBase64FromMediaMessage: \"chat/getBase64FromMediaMessage\",\n  },\n  Groups: {\n    FindAll: \"group/fetchAllGroups\",\n    FindByJid: \"group/findGroupInfos\",\n    FindByInviteCode: \"group/inviteInfo\",\n    Create: \"group/create\",\n    UpdatePicture: \"group/updateGroupPicture\",\n    UpdateSubject: \"group/updateGroupSubject\",\n    UpdateDescription: \"group/updateGroupDescription\",\n    FetchInviteCode: \"group/fetchInviteCode\",\n    AcceptInviteCode: \"group/acceptInviteCode\",\n    RevokeInviteCode: \"group/revokeInviteCode\",\n    SendGroupInvite: \"group/sendGroupInvite\",\n    FindMembers: \"group/findGroupMembers\",\n    UpdateMembers: \"group/updateGroupMembers\",\n    UpdateSetting: \"group/updateGroupSetting\",\n    ToggleEphemeral: \"group/toggleEphemeral\",\n    Leave: \"group/leaveGroup\",\n  },\n  Profile: {\n    FetchBusinessProfile: \"chat/fetchBusinessProfile\",\n    FetchProfile: \"chat/fetchProfile\",\n    UpdateName: \"chat/updateProfileName\",\n    UpdateStatus: \"chat/updateProfileStatus\",\n    UpdatePicture: \"chat/updateProfilePicture\",\n    RemovePicture: \"chat/removeProfilePicture\",\n    FetchPrivacySettings: \"chat/fetchPrivacySettings\",\n    UpdatePrivacySettings: \"chat/updatePrivacySettings\",\n  },\n  Webhook: {\n    Set: \"webhook/set\",\n    Find: \"webhook/find\",\n  },\n  Settings: {\n    Set: \"settings/set\",\n    Find: \"settings/find\",\n  },\n  Instance: {\n    Create: \"instance/create\",\n    FetchAll: \"instance/fetchInstances\",\n    Connect: \"instance/connect\",\n    Restart: \"instance/restart\",\n    ConnectionState: \"instance/connectionState\",\n    Logout: \"instance/logout\",\n    Delete: \"instance/delete\",\n    SetPresence: \"instance/setPresence\",\n  },\n};\n","import { Routes } from \"@/api/routes\";\nimport type { ApiService } from \"@/api/service\";\nimport type { MethodOptions } from \"@/types/api\";\nimport type { GroupInviteCode, GroupJid } from \"@/types/tags\";\n\nimport type * as AcceptInviteCode from \"./schemas/accept-invite-code\";\nimport type * as Create from \"./schemas/create\";\nimport type * as FetchInviteCode from \"./schemas/fetch-invite-code\";\nimport type * as FindAll from \"./schemas/find-all\";\nimport type * as FindByInviteCode from \"./schemas/find-by-invite-code\";\nimport type * as FindByJid from \"./schemas/find-by-jid\";\nimport type * as FindMembers from \"./schemas/find-members\";\nimport type * as Leave from \"./schemas/leave\";\nimport type * as RevokeInviteCode from \"./schemas/revoke-invite-code\";\nimport type * as SendGroupInvite from \"./schemas/send-group-invite\";\nimport type * as ToggleEphemeral from \"./schemas/toggle-ephemeral\";\nimport type * as UpdateDescription from \"./schemas/update-description\";\nimport type * as UpdateMembers from \"./schemas/update-members\";\nimport type * as UpdatePicture from \"./schemas/update-picture\";\nimport type * as UpdateSetting from \"./schemas/update-setting\";\nimport type * as UpdateSubject from \"./schemas/update-subject\";\n\nexport class GroupsModule {\n  constructor(private readonly api: ApiService) {}\n\n  /**\n   * Gets all groups\n   * @param getParticipants - Whether to get participants\n   * @param methodOptions - Method-specific options (instance override)\n   */\n  async findAll(\n    getParticipants: false,\n    methodOptions?: MethodOptions\n  ): Promise<FindAll.FindAllGroupsResponse>;\n  async findAll(\n    getParticipants: true,\n    methodOptions?: MethodOptions\n  ): Promise<FindAll.FindAllGroupsWithParticipantsResponse>;\n  async findAll(\n    getParticipants = false,\n    methodOptions?: MethodOptions\n  ): Promise<\n    | FindAll.FindAllGroupsResponse\n    | FindAll.FindAllGroupsWithParticipantsResponse\n  > {\n    const response = await this.api.get(Routes.Groups.FindAll, {\n      params: { getParticipants },\n      ...methodOptions,\n    });\n\n    if (getParticipants) {\n      return response as FindAll.FindAllGroupsWithParticipantsResponse;\n    }\n    return response as FindAll.FindAllGroupsResponse;\n  }\n\n  /**\n   * Gets a group by invite code\n   * @param inviteCode - The group invite code (not the URL)\n   * @param methodOptions - Method-specific options (instance override)\n   */\n  async findByInviteCode(\n    inviteCode: string | GroupInviteCode,\n    methodOptions?: MethodOptions\n  ): Promise<FindByInviteCode.FindGroupByInviteCodeResponse> {\n    const response = await this.api.get(Routes.Groups.FindByInviteCode, {\n      params: { inviteCode: inviteCode as GroupInviteCode },\n      ...methodOptions,\n    });\n\n    return response as FindByInviteCode.FindGroupByInviteCodeResponse;\n  }\n\n  /**\n   * Gets a group by JID\n   * @param groupJid - The group JID terminated with \\@g.us\n   * @param methodOptions - Method-specific options (instance override)\n   */\n  async findByJid(\n    groupJid: string | GroupJid,\n    methodOptions?: MethodOptions\n  ): Promise<FindByJid.FindGroupByJidResponse> {\n    const response = await this.api.get(Routes.Groups.FindByJid, {\n      params: { groupJid: groupJid as GroupJid },\n      ...methodOptions,\n    });\n\n    return response as FindByJid.FindGroupByJidResponse;\n  }\n\n  async create(\n    options: Create.CreateGroupRequest,\n    methodOptions?: MethodOptions\n  ): Promise<Create.CreateGroupResponse> {\n    const response = await this.api.post(Routes.Groups.Create, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as Create.CreateGroupResponse;\n  }\n\n  async updatePicture(\n    options: UpdatePicture.UpdatePictureRequest,\n    methodOptions?: MethodOptions\n  ): Promise<UpdatePicture.UpdatePictureResponse> {\n    const response = await this.api.post(Routes.Groups.UpdatePicture, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as UpdatePicture.UpdatePictureResponse;\n  }\n\n  async updateSubject(\n    options: UpdateSubject.UpdateSubjectRequest,\n    methodOptions?: MethodOptions\n  ): Promise<UpdateSubject.UpdateSubjectResponse> {\n    const response = await this.api.post(Routes.Groups.UpdateSubject, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as UpdateSubject.UpdateSubjectResponse;\n  }\n\n  async updateDescription(\n    options: UpdateDescription.UpdateDescriptionRequest,\n    methodOptions?: MethodOptions\n  ): Promise<UpdateDescription.UpdateDescriptionResponse> {\n    const response = await this.api.post(Routes.Groups.UpdateDescription, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as UpdateDescription.UpdateDescriptionResponse;\n  }\n\n  async fetchInviteCode(\n    options: FetchInviteCode.FetchInviteCodeRequest,\n    methodOptions?: MethodOptions\n  ): Promise<FetchInviteCode.FetchInviteCodeResponse> {\n    const response = await this.api.get(Routes.Groups.FetchInviteCode, {\n      params: options,\n      ...methodOptions,\n    });\n\n    return response as FetchInviteCode.FetchInviteCodeResponse;\n  }\n\n  async acceptInviteCode(\n    options: AcceptInviteCode.AcceptInviteCodeRequest,\n    methodOptions?: MethodOptions\n  ): Promise<AcceptInviteCode.AcceptInviteCodeResponse> {\n    const response = await this.api.post(Routes.Groups.AcceptInviteCode, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as AcceptInviteCode.AcceptInviteCodeResponse;\n  }\n\n  async revokeInviteCode(\n    options: RevokeInviteCode.RevokeInviteCodeRequest,\n    methodOptions?: MethodOptions\n  ): Promise<RevokeInviteCode.RevokeInviteCodeResponse> {\n    const response = await this.api.post(Routes.Groups.RevokeInviteCode, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as RevokeInviteCode.RevokeInviteCodeResponse;\n  }\n\n  async sendGroupInvite(\n    options: SendGroupInvite.SendGroupInviteRequest,\n    methodOptions?: MethodOptions\n  ): Promise<SendGroupInvite.SendGroupInviteResponse> {\n    const response = await this.api.post(Routes.Groups.SendGroupInvite, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as SendGroupInvite.SendGroupInviteResponse;\n  }\n\n  async findMembers(\n    options: FindMembers.FindMembersRequest,\n    methodOptions?: MethodOptions\n  ): Promise<FindMembers.FindMembersResponse> {\n    const response = await this.api.get(Routes.Groups.FindMembers, {\n      params: options,\n      ...methodOptions,\n    });\n\n    return response as FindMembers.FindMembersResponse;\n  }\n\n  async updateMembers(\n    options: UpdateMembers.UpdateMembersRequest,\n    methodOptions?: MethodOptions\n  ): Promise<UpdateMembers.UpdateMembersResponse> {\n    const response = await this.api.post(Routes.Groups.UpdateMembers, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as UpdateMembers.UpdateMembersResponse;\n  }\n\n  async updateSetting(\n    options: UpdateSetting.UpdateSettingRequest,\n    methodOptions?: MethodOptions\n  ): Promise<UpdateSetting.UpdateSettingResponse> {\n    const response = await this.api.post(Routes.Groups.UpdateSetting, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as UpdateSetting.UpdateSettingResponse;\n  }\n\n  async toggleEphemeral(\n    options: ToggleEphemeral.ToggleEphemeralRequest,\n    methodOptions?: MethodOptions\n  ): Promise<ToggleEphemeral.ToggleEphemeralResponse> {\n    const response = await this.api.post(Routes.Groups.ToggleEphemeral, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as ToggleEphemeral.ToggleEphemeralResponse;\n  }\n\n  async leave(\n    options: Leave.LeaveRequest,\n    methodOptions?: MethodOptions\n  ): Promise<Leave.LeaveResponse> {\n    const response = await this.api.post(Routes.Groups.Leave, {\n      body: options,\n      ...methodOptions,\n    });\n\n    return response as Leave.LeaveResponse;\n  }\n}\n"],"mappings":";AAAO,IAAM,SAAS;AAAA,EACpB,SAAS;AAAA,IACP,UAAU;AAAA,IACV,WAAW;AAAA,IACX,WAAW;AAAA,IACX,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,UAAU;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,SAAS;AAAA,IACT,eAAe;AAAA,IACf,qBAAqB;AAAA,IACrB,cAAc;AAAA,IACd,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,2BAA2B;AAAA,EAC7B;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,kBAAkB;AAAA,IAClB,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,OAAO;AAAA,EACT;AAAA,EACA,SAAS;AAAA,IACP,sBAAsB;AAAA,IACtB,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,eAAe;AAAA,IACf,eAAe;AAAA,IACf,sBAAsB;AAAA,IACtB,uBAAuB;AAAA,EACzB;AAAA,EACA,SAAS;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,SAAS;AAAA,IACT,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,aAAa;AAAA,EACf;AACF;;;ACrDO,IAAM,eAAN,MAAmB;AAAA,EACxB,YAA6B,KAAiB;AAAjB;AAAA,EAAkB;AAAA,EAe/C,MAAM,QACJ,kBAAkB,OAClB,eAIA;AACA,UAAM,WAAW,MAAM,KAAK,IAAI,IAAI,OAAO,OAAO,SAAS;AAAA,MACzD,QAAQ,EAAE,gBAAgB;AAAA,MAC1B,GAAG;AAAA,IACL,CAAC;AAED,QAAI,iBAAiB;AACnB,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,iBACJ,YACA,eACyD;AACzD,UAAM,WAAW,MAAM,KAAK,IAAI,IAAI,OAAO,OAAO,kBAAkB;AAAA,MAClE,QAAQ,EAAE,WAA0C;AAAA,MACpD,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,UACJ,UACA,eAC2C;AAC3C,UAAM,WAAW,MAAM,KAAK,IAAI,IAAI,OAAO,OAAO,WAAW;AAAA,MAC3D,QAAQ,EAAE,SAA+B;AAAA,MACzC,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OACJ,SACA,eACqC;AACrC,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,QAAQ;AAAA,MACzD,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,cACJ,SACA,eAC8C;AAC9C,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,eAAe;AAAA,MAChE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,cACJ,SACA,eAC8C;AAC9C,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,eAAe;AAAA,MAChE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,kBACJ,SACA,eACsD;AACtD,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,mBAAmB;AAAA,MACpE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBACJ,SACA,eACkD;AAClD,UAAM,WAAW,MAAM,KAAK,IAAI,IAAI,OAAO,OAAO,iBAAiB;AAAA,MACjE,QAAQ;AAAA,MACR,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,iBACJ,SACA,eACoD;AACpD,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,kBAAkB;AAAA,MACnE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,iBACJ,SACA,eACoD;AACpD,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,kBAAkB;AAAA,MACnE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBACJ,SACA,eACkD;AAClD,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,iBAAiB;AAAA,MAClE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YACJ,SACA,eAC0C;AAC1C,UAAM,WAAW,MAAM,KAAK,IAAI,IAAI,OAAO,OAAO,aAAa;AAAA,MAC7D,QAAQ;AAAA,MACR,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,cACJ,SACA,eAC8C;AAC9C,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,eAAe;AAAA,MAChE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,cACJ,SACA,eAC8C;AAC9C,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,eAAe;AAAA,MAChE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBACJ,SACA,eACkD;AAClD,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,iBAAiB;AAAA,MAClE,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,MACJ,SACA,eAC8B;AAC9B,UAAM,WAAW,MAAM,KAAK,IAAI,KAAK,OAAO,OAAO,OAAO;AAAA,MACxD,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC;AAED,WAAO;AAAA,EACT;AACF;","names":[]}