...

Source file src/github.com/Shopify/go-storage/scope.go

Documentation: github.com/Shopify/go-storage

     1  package storage
     2  
     3  import "strings"
     4  
     5  type Scope int
     6  
     7  const (
     8  	ScopeRead Scope = 1 << iota
     9  	ScopeWrite
    10  	ScopeDelete
    11  	ScopeSignURL
    12  
    13  	ScopeRW  = ScopeRead | ScopeWrite
    14  	ScopeRWD = ScopeRW | ScopeDelete
    15  )
    16  
    17  func (s Scope) Has(s2 Scope) bool {
    18  	return s&s2 == s2
    19  }
    20  
    21  func (s Scope) String() string {
    22  	if s == 0 {
    23  		return "none"
    24  	}
    25  
    26  	var scopes []string
    27  	if s.Has(ScopeRead) {
    28  		scopes = append(scopes, "read")
    29  	}
    30  	if s.Has(ScopeWrite) {
    31  		scopes = append(scopes, "write")
    32  	}
    33  	if s.Has(ScopeDelete) {
    34  		scopes = append(scopes, "delete")
    35  	}
    36  	if s.Has(ScopeSignURL) {
    37  		scopes = append(scopes, "sign")
    38  	}
    39  
    40  	return strings.Join(scopes, ",")
    41  }
    42  

View as plain text