This commit is contained in:
lbenedar
2026-03-20 19:11:15 +03:00
parent a441b32900
commit 4ff2f16110
2 changed files with 20 additions and 0 deletions

View File

@@ -53,6 +53,12 @@ func (app *application) registerUserHandler(w http.ResponseWriter, r *http.Reque
return
}
err = app.models.Permissions.AddForUser(user.ID, "movies:read")
if err != nil {
app.serverErrorResponse(w, r, err)
return
}
token, err := app.models.Tokens.New(user.ID, 3*24*time.Hour, data.ScopeActivation)
if err != nil {
app.serverErrorResponse(w, r, err)

View File

@@ -4,6 +4,8 @@ import (
"context"
"database/sql"
"time"
"github.com/lib/pq"
)
type Permissions []string
@@ -55,3 +57,15 @@ func (m PermissionModel) GetAllForUser(userID int64) (Permissions, error) {
return permissions, nil
}
func (m PermissionModel) AddForUser(userID int64, codes ...string) error {
query := `
INSERT INTO users_permissions
SELECT $1, permissions.id FROM permissions WHERE permissions.code = ANY($2)`
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
_, err := m.DB.ExecContext(ctx, query, userID, pq.Array(codes))
return err
}