[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:
Afonso Franco 2024-05-31 19:23:41 +01:00
parent e2c3d75223
commit 6f8219d991
Signed by: afonso
SSH key fingerprint: SHA256:PQTRDHPH3yALEGtHXnXBp3Orfcn21pK20t0tS1kHg54
12 changed files with 123 additions and 212 deletions

View file

@ -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)