Versions in this module Expand all Collapse all v0 v0.3.6 Oct 13, 2023 Changes in this version + const FirestoreDirectMessagesCollection + const FirestoreGroupChatCollection + const FirestoreMessagesCollection + const FirestoreUsersCollection + const JoinChat + const QuitChat + var App *firebaseSDK.App + var Context context.Context + type DirectMessage struct + ID string + Messages []Message + User1 string + User2 string + func GetDirectMessage(ID string) (chat *DirectMessage, err error) + type GroupChat struct + ID string + Messages []Message + Owner string + Users []string + func GetGroupChat(ID string) (chat *GroupChat, err error) + func (gc *GroupChat) HandleAccess(dataSubjectId string, currentDocumentID string) map[string]interface{} + func (m *GroupChat) HandleDeletion(dataSubjectId string) (nodesToTraverse []pal.Locator, deleteNode bool, ...) + type Message struct + Content string + ID string + Timestamp time.Time + UserID string + func (m *Message) HandleAccess(dataSubjectId string, currentDocumentID string) map[string]interface{} + func (m *Message) HandleDeletion(dataSubjectId string) (nodesToTraverse []pal.Locator, deleteNode bool, ...) + type User struct + DMs map[string]string + GCs []string + ID string + Name string + func CreateUser(name string) (user *User, err error) + func GetUser(ID string) (user *User, err error) + func (u *User) CreateDirectMessage(user2ID string) (chat *DirectMessage, err error) + func (u *User) CreateGroupChat() (chat *GroupChat, err error) + func (u *User) HandleAccess(dataSubjectId string, currentDocumentID string) map[string]interface{} + func (u *User) HandleDeletion(dataSubjectId string) (nodesToTraverse []pal.Locator, deleteNode bool, ...) + func (u *User) JoinOrQuitGroupChat(chatID string, action joinQuitAction) (err error) + func (u *User) SendMessageToDirectMessage(chatID string, message string) error + func (u *User) SendMessageToGroupChat(chatID string, message string) error