create fake database until real DB is implemented
This commit is contained in:
62
api/db.go
62
api/db.go
@@ -1,21 +1,71 @@
|
||||
package api
|
||||
|
||||
import "errors"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"git.dubyatp.xyz/chat-api-server/db"
|
||||
)
|
||||
|
||||
func dbGetUser(id int64) (*User, error) {
|
||||
data := db.ExecDB("users")
|
||||
if data == nil {
|
||||
return nil, errors.New("failed to load users database")
|
||||
}
|
||||
|
||||
users := data["users"].([]interface{})
|
||||
for _, u := range users {
|
||||
if u.ID == id {
|
||||
return u, nil
|
||||
user := u.(map[string]interface{})
|
||||
if int64(user["ID"].(float64)) == id {
|
||||
return &User{
|
||||
ID: int64(user["ID"].(float64)),
|
||||
Name: user["Name"].(string),
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
return nil, errors.New("User not found")
|
||||
}
|
||||
|
||||
func dbGetMessage(id string) (*Message, error) {
|
||||
for _, a := range messages {
|
||||
if a.ID == id {
|
||||
return a, nil
|
||||
data := db.ExecDB("messages")
|
||||
if data == nil {
|
||||
return nil, errors.New("failed to load messages database")
|
||||
}
|
||||
|
||||
messages := data["messages"].([]interface{})
|
||||
for _, m := range messages {
|
||||
message := m.(map[string]interface{})
|
||||
if message["ID"].(string) == id {
|
||||
return &Message{
|
||||
ID: message["ID"].(string),
|
||||
UserID: int64(message["UserID"].(float64)),
|
||||
Body: message["Body"].(string),
|
||||
Timestamp: int64(message["Timestamp"].(float64)),
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
return nil, errors.New("Message not found")
|
||||
}
|
||||
|
||||
func dbGetAllMessages() ([]*Message, error) {
|
||||
data := db.ExecDB("messages")
|
||||
//println(data)
|
||||
if data == nil {
|
||||
return nil, errors.New("failed to load messages database")
|
||||
}
|
||||
|
||||
messages := data["messages"].([]interface{})
|
||||
var result []*Message
|
||||
for _, m := range messages {
|
||||
message := m.(map[string]interface{})
|
||||
result = append(result, &Message{
|
||||
ID: message["ID"].(string),
|
||||
UserID: int64(message["UserID"].(float64)),
|
||||
Body: message["Body"].(string),
|
||||
Timestamp: int64(message["Timestamp"].(float64)),
|
||||
})
|
||||
}
|
||||
if len(result) == 0 {
|
||||
return nil, errors.New("no messages found")
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user