package authorization import "somehole.com/common/security/identity" type Verb int const ( _ Verb = iota Create Read Watch Update Patch Delete ) type Noun int const ( _ Noun = iota Identity Command Log ) type AuthorizationService struct { *AuditService } func NewAuthorizationService(auditService *AuditService) (srv *AuthorizationService) { if auditService == nil { auditService = NewAuditService() } srv = &AuthorizationService{ AuditService: auditService, } return } func (srv *AuthorizationService) Authorized(identity identity.Identity, verb Verb, noun Noun) (authorized bool, err error) { authorized = true return }