gogjango/gjango

View on GitHub
repository/platform/query/query.go

Summary

Maintainability
A
0 mins
Test Coverage
package query

import (
    "github.com/gogjango/gjango/apperr"
    "github.com/gogjango/gjango/model"
)

// List prepares data for list queries
func List(u *model.AuthUser) (*model.ListQuery, error) {
    switch true {
    case int(u.Role) <= 2: // user is SuperAdmin or Admin
        return nil, nil
    case u.Role == model.CompanyAdminRole:
        return &model.ListQuery{Query: "company_id = ?", ID: u.CompanyID}, nil
    case u.Role == model.LocationAdminRole:
        return &model.ListQuery{Query: "location_id = ?", ID: u.LocationID}, nil
    default:
        return nil, apperr.Forbidden
    }
}