Documentation ¶
Index ¶
- Constants
- func HandleAccessFirestore(dataSubjectId string, currentDbObjLocator pal.Locator, ...) (data map[string]interface{}, err error)
- func HandleAccessMongo(dataSubjectId string, currentDbObjLocator pal.Locator, ...) (data map[string]interface{}, err error)
- func HandleAccessOld(dataSubjectId string, currentDbObjLocator pal.Locator, obj pal.DatabaseObject) map[string]interface{}
- func HandleDeletionFirestore(dataSubjectId string, currentDbObjLocator pal.Locator, ...) (nodesToTraverse []pal.Locator, deleteNode bool, ...)
- func HandleDeletionMongo(dataSubjectId string, currentDbObjLocator pal.Locator, ...) (nodesToTraverse []pal.Locator, deleteNode bool, ...)
- type DirectMessage
- type GroupChat
- type Message
- type User
- func (u *User) CreateDirectMessageFirestore(user2ID string) (chat *DirectMessage, err error)
- func (u *User) CreateDirectMessageMongo(user2ID string) (chat *DirectMessage, err error)
- func (u *User) CreateGroupChatFirestore() (chat *GroupChat, err error)
- func (u *User) CreateGroupChatMongo() (chat *GroupChat, err error)
- func (u *User) HandleAccess(dataSubjectId string, currentDbObjLocator pal.Locator) map[string]interface{}
- func (u *User) JoinOrQuitGroupChatFirestore(chatID string, action joinQuitAction) (err error)
- func (u *User) JoinOrQuitGroupChatMongo(chatID string, action joinQuitAction) (err error)
- func (u *User) SendMessageToDirectMessageFirestore(chatID string, message string) error
- func (u *User) SendMessageToDirectMessageMongo(chatID string, message string) error
- func (u *User) SendMessageToGroupChatFirestore(chatID string, message string) error
- func (u *User) SendMessageToGroupChatMongo(chatID string, message string) error
Constants ¶
View Source
const ( UserDataType = "user" GroupChatDataType = "groupchat" DirectMessageDataType = "directmessage" MessageDataType = "message" )
View Source
const ( FirestoreUsersCollection = "users" FirestoreGroupChatCollection = "gcs" FirestoreDirectMessagesCollection = "dms" FirestoreMessagesCollection = "messages" )
View Source
const ( JoinChat joinQuitAction = "join" QuitChat joinQuitAction = "quit" )
Variables ¶
This section is empty.
Functions ¶
func HandleAccessFirestore ¶ added in v1.2.0
func HandleAccessMongo ¶ added in v1.2.0
func HandleAccessOld ¶
func HandleDeletionFirestore ¶ added in v1.2.0
func HandleDeletionMongo ¶ added in v1.2.0
Types ¶
type DirectMessage ¶
type DirectMessage struct { ID string `firestore:"id,omitempty" bson:"_id,omitempty"` User1 string `firestore:"user1" bson:"user1"` User2 string `firestore:"user2" bson:"user2"` Messages []Message `firestore:"-" bson:"messages"` // subcollection }
func GetDirectMessageFirestore ¶
func GetDirectMessageFirestore(ID string) (chat *DirectMessage, err error)
func GetDirectMessageMongo ¶
func GetDirectMessageMongo(ID string) (chat *DirectMessage, err error)
type GroupChat ¶
type GroupChat struct { ID string `firestore:"id,omitempty" bson:"_id,omitempty"` Owner string `firestore:"owner" bson:"owner"` Users []string `firestore:"users" bson:"users"` Messages []Message `firestore:"-" bson:"messages"` // subcollection }
func GetGroupChatFirestore ¶
func GetGroupChatMongo ¶
type Message ¶
type User ¶
type User struct { ID string `firestore:"id,omitempty" bson:"_id,omitempty"` Name string `firestore:"name" bson:"name"` GCs []string `firestore:"gcs" bson:"gcs"` DMs map[string]string `firestore:"dms" bson:"dms"` // map from other user id to dm id }
func CreateUserFirestore ¶
func CreateUserMongo ¶
func GetUserFirestore ¶
func GetUserMongo ¶
func (*User) CreateDirectMessageFirestore ¶
func (u *User) CreateDirectMessageFirestore(user2ID string) (chat *DirectMessage, err error)
func (*User) CreateDirectMessageMongo ¶
func (u *User) CreateDirectMessageMongo(user2ID string) (chat *DirectMessage, err error)
func (*User) CreateGroupChatFirestore ¶
func (*User) CreateGroupChatMongo ¶
func (*User) HandleAccess ¶
func (u *User) HandleAccess(dataSubjectId string, currentDbObjLocator pal.Locator) map[string]interface{}
TODO: in documentation You can also make your structs implement the handle access function, which allows you to access the data in the object
func (*User) JoinOrQuitGroupChatFirestore ¶
func (*User) JoinOrQuitGroupChatMongo ¶
func (*User) SendMessageToDirectMessageFirestore ¶
func (*User) SendMessageToDirectMessageMongo ¶
func (*User) SendMessageToGroupChatFirestore ¶
Click to show internal directories.
Click to hide internal directories.