✨ Report status update with a message
This commit is contained in:
		| @@ -38,6 +38,7 @@ func updateAbuseReportStatus(c *fiber.Ctx) error { | |||||||
|  |  | ||||||
| 	var data struct { | 	var data struct { | ||||||
| 		Status  string `json:"status" validate:"required"` | 		Status  string `json:"status" validate:"required"` | ||||||
|  | 		Message string `json:"message" validate:"required,max=4096"` | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if err := exts.BindAndValidate(c, &data); err != nil { | 	if err := exts.BindAndValidate(c, &data); err != nil { | ||||||
| @@ -46,7 +47,7 @@ func updateAbuseReportStatus(c *fiber.Ctx) error { | |||||||
|  |  | ||||||
| 	id, _ := c.ParamsInt("id") | 	id, _ := c.ParamsInt("id") | ||||||
|  |  | ||||||
| 	if err := services.UpdateAbuseReportStatus(uint(id), data.Status); err != nil { | 	if err := services.UpdateAbuseReportStatus(uint(id), data.Status, data.Message); err != nil { | ||||||
| 		return fiber.NewError(fiber.StatusBadRequest, err.Error()) | 		return fiber.NewError(fiber.StatusBadRequest, err.Error()) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,6 +5,7 @@ import ( | |||||||
|  |  | ||||||
| 	"git.solsynth.dev/hydrogen/passport/pkg/internal/database" | 	"git.solsynth.dev/hydrogen/passport/pkg/internal/database" | ||||||
| 	"git.solsynth.dev/hydrogen/passport/pkg/internal/models" | 	"git.solsynth.dev/hydrogen/passport/pkg/internal/models" | ||||||
|  | 	"github.com/samber/lo" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func ListAbuseReport(account models.Account) ([]models.AbuseReport, error) { | func ListAbuseReport(account models.Account) ([]models.AbuseReport, error) { | ||||||
| @@ -23,7 +24,7 @@ func GetAbuseReport(id uint) (models.AbuseReport, error) { | |||||||
| 	return report, err | 	return report, err | ||||||
| } | } | ||||||
|  |  | ||||||
| func UpdateAbuseReportStatus(id uint, status string) error { | func UpdateAbuseReportStatus(id uint, status, message string) error { | ||||||
| 	var report models.AbuseReport | 	var report models.AbuseReport | ||||||
| 	err := database.C. | 	err := database.C. | ||||||
| 		Where("id = ?", id). | 		Where("id = ?", id). | ||||||
| @@ -44,7 +45,8 @@ func UpdateAbuseReportStatus(id uint, status string) error { | |||||||
| 	NewNotification(models.Notification{ | 	NewNotification(models.Notification{ | ||||||
| 		Topic:     "reports.feedback", | 		Topic:     "reports.feedback", | ||||||
| 		Title:     "Abuse report status has been changed.", | 		Title:     "Abuse report status has been changed.", | ||||||
| 		Body:      fmt.Sprintf("The report created by you with ID #%d's status has been changed to %s", id, status), | 		Subtitle:  lo.ToPtr(fmt.Sprintf("The report #%d's status updated", id)), | ||||||
|  | 		Body:      fmt.Sprintf("The report created by you with ID #%d's status has been changed to %s. Moderator message: %s", id, status, message), | ||||||
| 		Account:   account, | 		Account:   account, | ||||||
| 		AccountID: account.ID, | 		AccountID: account.ID, | ||||||
| 	}) | 	}) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user