package repositories import ( "context" "wm-backend/internal/mapper" "wm-backend/internal/models" db "wm-backend/sqlc_gen" "github.com/google/uuid" ) func CreateRole(ctx context.Context, queries *db.Queries, body models.Role) (models.Role, error) { role, err := queries.CreateRole(ctx, *mapper.ToModelRole(&body)) if err != nil { return models.Role{}, err } return *mapper.ToDomainRole(role), nil } // GetUserRolesByUserID retrieves all roles assigned to a user with role info. func GetUserRolesByUserID(ctx context.Context, queries *db.Queries, userID string) ([]models.Role, error) { uid, err := uuid.Parse(userID) if err != nil { return nil, err } rows, err := queries.GetUserRolesByUserID(ctx, uid) if err != nil { return nil, err } roles := make([]models.Role, 0, len(rows)) for _, row := range rows { roles = append(roles, models.Role{ ID: row.RoleID.String(), Name: row.RoleName, Description: row.RoleDescription.String, }) } return roles, nil }