diff --git a/src/Types/LabelAssociation.ts b/src/Types/LabelAssociation.ts new file mode 100644 index 0000000..38c1c6d --- /dev/null +++ b/src/Types/LabelAssociation.ts @@ -0,0 +1,35 @@ +/** Association type */ +export enum LabelAssociationType { + Chat = 'label_jid', + Message = 'label_message' + } + + export type LabelAssociationTypes = `${LabelAssociationType}` + + /** Association for chat */ + export interface ChatLabelAssociation { + type: LabelAssociationType.Chat + chatId: string + labelId: string + } + + /** Association for message */ + export interface MessageLabelAssociation { + type: LabelAssociationType.Message + chatId: string + messageId: string + labelId: string + } + + export type LabelAssociation = ChatLabelAssociation | MessageLabelAssociation + + /** Body for add/remove chat label association action */ + export interface ChatLabelAssociationActionBody { + labelId: string + } + + /** body for add/remove message label association action */ + export interface MessageLabelAssociationActionBody { + labelId: string + messageId: string + } \ No newline at end of file