implement POST message creation
This commit is contained in:
@@ -45,3 +45,51 @@ func ExecDB(db_name string) map[string]interface{} {
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
func WriteDB(db_name string, data interface{}) error {
|
||||
var filePath string
|
||||
|
||||
switch db_name {
|
||||
case "users":
|
||||
filePath = "./test_data/users.json"
|
||||
case "messages":
|
||||
filePath = "./test_data/messages.json"
|
||||
default:
|
||||
return fmt.Errorf("invalid database name: %s", db_name)
|
||||
}
|
||||
|
||||
jsonData, err := json.MarshalIndent(data, "", " ")
|
||||
if err != nil {
|
||||
return fmt.Errorf("error marshaling data to JSON: %v", err)
|
||||
}
|
||||
|
||||
err = os.WriteFile(filePath, jsonData, 0644)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error writing to file: %v", err)
|
||||
}
|
||||
|
||||
fmt.Printf("Successfully wrote to %s DB\n", db_name)
|
||||
return nil
|
||||
}
|
||||
|
||||
func AddUser(user map[string]interface{}) error {
|
||||
currentData := ExecDB("users")
|
||||
if currentData == nil {
|
||||
return fmt.Errorf("error reading users database")
|
||||
}
|
||||
|
||||
users := currentData["users"].([]interface{})
|
||||
users = append(users, user)
|
||||
return WriteDB("users", users)
|
||||
}
|
||||
|
||||
func AddMessage(message map[string]interface{}) error {
|
||||
currentData := ExecDB("messages")
|
||||
if currentData == nil {
|
||||
return fmt.Errorf("error reading messages database")
|
||||
}
|
||||
|
||||
messages := currentData["messages"].([]interface{})
|
||||
messages = append(messages, message)
|
||||
return WriteDB("messages", messages)
|
||||
}
|
||||
|
Reference in New Issue
Block a user