81 lines
1.7 KiB
Go
81 lines
1.7 KiB
Go
|
|
// myLocalDesires provides functions to manage a user's mate desires
|
|
|
|
package myLocalDesires
|
|
|
|
import "seekia/internal/myDatastores/myMap"
|
|
import "seekia/internal/mySettings"
|
|
|
|
import "errors"
|
|
|
|
var myDesiresMapDatastore *myMap.MyMap
|
|
|
|
// This function must be called whenever we sign in to an app user
|
|
func InitializeMyDesiresDatastore()error{
|
|
|
|
newMyDesiresMapDatastore, err := myMap.CreateNewMap("MyDesires")
|
|
if (err != nil) { return err }
|
|
|
|
myDesiresMapDatastore = newMyDesiresMapDatastore
|
|
|
|
return nil
|
|
}
|
|
|
|
//Outputs:
|
|
// -bool: Desire exists
|
|
// -string: Desire data
|
|
// -error
|
|
func GetDesire(desireName string)(bool, string, error){
|
|
|
|
if (desireName == ""){
|
|
return false, "", errors.New("GetDesire called with empty desireName.")
|
|
}
|
|
|
|
exists, desireValue, err := myDesiresMapDatastore.GetMapEntry(desireName)
|
|
if (err != nil) { return false, "", err }
|
|
if (exists == false){
|
|
|
|
return false, "", nil
|
|
}
|
|
|
|
return true, desireValue, nil
|
|
}
|
|
|
|
|
|
func SetDesire(desireName string, content string)error{
|
|
|
|
if (desireName == ""){
|
|
return errors.New("SetDesire called with empty desireName.")
|
|
}
|
|
if (content == ""){
|
|
return errors.New("SetDesire called with empty content.")
|
|
}
|
|
|
|
err := myDesiresMapDatastore.SetMapEntry(desireName, content)
|
|
if (err != nil) { return err }
|
|
|
|
// Matches must be regenerated
|
|
err = mySettings.SetSetting("MatchesGeneratedStatus", "No")
|
|
if (err != nil) { return err }
|
|
|
|
return nil
|
|
}
|
|
|
|
func DeleteDesire(desireName string)error{
|
|
|
|
if (desireName == ""){
|
|
return errors.New("DeleteDesire called with empty desireName.")
|
|
}
|
|
|
|
err := myDesiresMapDatastore.DeleteMapEntry(desireName)
|
|
if (err != nil) { return err }
|
|
|
|
// Matches must be regenerated
|
|
err = mySettings.SetSetting("MatchesGeneratedStatus", "No")
|
|
if (err != nil) { return err }
|
|
|
|
return nil
|
|
}
|
|
|
|
|
|
|