diff --git a/users/users.go b/users/users.go index 4e2a0b8..7356d65 100644 --- a/users/users.go +++ b/users/users.go @@ -76,9 +76,28 @@ func (con Connection) InviteUser(c *gin.Context) { c.JSON(200, "OK") } +type SetUserPermissionsRequest struct { + Permissions models.Permission +} + +func (con Connection) SetUserPermissions(c *gin.Context) { + var request InviteUser + json.NewDecoder(c.Request.Body).Decode(&request) + token := uuid.NewString() + + err := mail.SendMail(request.Email, "You've been invited to join", "please open this link https://games.acooldomain.co/signup?token="+token) + if err != nil { + c.AbortWithError(500, err) + return + } + con.connection.Database("Backend").Collection("Users").UpdateOne(context.TODO(), , bson.D{{Key}}) + c.JSON(200, "OK") +} + func LoadGroup(group *gin.RouterGroup, client *mongo.Client, config models.GlobalConfig) { connection := Connection{connection: client} group.GET("/", auth.AuthorizedTo(0), connection.GetUsers) group.GET("/@me", auth.AuthorizedTo(0), connection.GetUser) group.POST("/", auth.AuthorizedTo(models.Admin), connection.InviteUser) + group.PATCH("/:user_id/permissions", auth.AuthorizedTo(models.Admin), connection.SetUserPermissions) }