[PD2] Code almost all done. Need to add logout and change help message
Co-authored-by: tsousa111 <tiagao2001@hotmail.com>
This commit is contained in:
parent
e2c3d75223
commit
6f8219d991
12 changed files with 123 additions and 212 deletions
|
@ -80,7 +80,7 @@ func (ds DataStore) CreateTables() error {
|
|||
|
||||
func (ds DataStore) GetMessage(toUID string, position int) (*protocol.AnswerGetMsg, error) {
|
||||
|
||||
var serverMessage protocol.AnswerGetMsg
|
||||
serverMessage := new(protocol.AnswerGetMsg)
|
||||
query := `
|
||||
SELECT fromUID, toUID, subject, body, timestamp
|
||||
FROM messages
|
||||
|
@ -189,7 +189,7 @@ func (ds DataStore) AddMessageToQueue(fromUID string, message protocol.SendMsg)
|
|||
return nil
|
||||
}
|
||||
|
||||
func (ds DataStore) GetUserCertificate(uid string) (protocol.AnswerGetUserCert,error) {
|
||||
func (ds DataStore) GetUserCertificate(uid string) (protocol.AnswerGetUserCert, error) {
|
||||
query := `
|
||||
SELECT userCert
|
||||
FROM users
|
||||
|
@ -202,9 +202,9 @@ func (ds DataStore) GetUserCertificate(uid string) (protocol.AnswerGetUserCert,e
|
|||
if err == sql.ErrNoRows {
|
||||
errorMessage := fmt.Sprintf("No certificate for UID %v found in the database", uid)
|
||||
log.Println(errorMessage)
|
||||
return protocol.AnswerGetUserCert{},errors.New(errorMessage)
|
||||
return protocol.AnswerGetUserCert{}, errors.New(errorMessage)
|
||||
}
|
||||
return protocol.NewAnswerGetUserCert(uid, userCertBytes),nil
|
||||
return protocol.NewAnswerGetUserCert(uid, userCertBytes), nil
|
||||
}
|
||||
|
||||
func (ds DataStore) userExists(uid string) bool {
|
||||
|
|
|
@ -23,8 +23,8 @@ func HandleGetUserCert(c *gin.Context, dataStore DataStore) {
|
|||
|
||||
func HandleStoreUserCert(c *gin.Context, dataStore DataStore) {
|
||||
user := c.Param("user")
|
||||
var storeUserCert protocol.StoreUserCert
|
||||
if err := c.Bind(storeUserCert); err != nil {
|
||||
storeUserCert := new(protocol.StoreUserCert)
|
||||
if err := c.BindJSON(storeUserCert); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
@ -54,6 +54,7 @@ func HandleGetUnreadMsgsInfo(c *gin.Context, dataStore DataStore) {
|
|||
page, err = strconv.Atoi(pageStr)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Page is not a number"})
|
||||
return
|
||||
}
|
||||
} else {
|
||||
page = 1
|
||||
|
@ -63,6 +64,7 @@ func HandleGetUnreadMsgsInfo(c *gin.Context, dataStore DataStore) {
|
|||
pagesize, err = strconv.Atoi(pagesizeStr)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Pagesize is not a number"})
|
||||
return
|
||||
}
|
||||
} else {
|
||||
pagesize = 5
|
||||
|
@ -83,7 +85,7 @@ func HandleGetUnreadMsgsInfo(c *gin.Context, dataStore DataStore) {
|
|||
func HandleSendMessage(c *gin.Context, dataStore DataStore) {
|
||||
sender := c.Param("user")
|
||||
|
||||
var message protocol.SendMsg
|
||||
message := new(protocol.SendMsg)
|
||||
if err := c.BindJSON(message); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
|
@ -97,7 +99,7 @@ func HandleSendMessage(c *gin.Context, dataStore DataStore) {
|
|||
c.JSON(http.StatusBadRequest, gin.H{"error": "Message receiver does not exist"})
|
||||
return
|
||||
}
|
||||
err := dataStore.AddMessageToQueue(sender, message)
|
||||
err := dataStore.AddMessageToQueue(sender, *message)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
|
@ -111,11 +113,13 @@ func HandleGetMessage(c *gin.Context, dataStore DataStore) {
|
|||
num, err := strconv.Atoi(numStr)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
message, reportError := dataStore.GetMessage(user, num)
|
||||
if reportError != nil {
|
||||
message, err := dataStore.GetMessage(user, num)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusNotFound, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
dataStore.MarkMessageInQueueAsRead(user, num)
|
||||
c.JSON(http.StatusOK, message)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue