1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Copyright 2019 The Gitea Authors. All rights reserved.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
-
- package structs
-
- // VisibleType defines the visibility (Organization only)
- type VisibleType int
-
- const (
- // VisibleTypePublic Visible for everyone
- VisibleTypePublic VisibleType = iota
-
- // VisibleTypeLimited Visible for every connected user
- VisibleTypeLimited
-
- // VisibleTypePrivate Visible only for organization's members
- VisibleTypePrivate
- )
-
- // VisibilityModes is a map of org Visibility types
- var VisibilityModes = map[string]VisibleType{
- "public": VisibleTypePublic,
- "limited": VisibleTypeLimited,
- "private": VisibleTypePrivate,
- }
-
- // IsPublic returns true if VisibleType is public
- func (vt VisibleType) IsPublic() bool {
- return vt == VisibleTypePublic
- }
-
- // IsLimited returns true if VisibleType is limited
- func (vt VisibleType) IsLimited() bool {
- return vt == VisibleTypeLimited
- }
-
- // IsPrivate returns true if VisibleType is private
- func (vt VisibleType) IsPrivate() bool {
- return vt == VisibleTypePrivate
- }
-
- // VisibilityString provides the mode string of the visibility type (public, limited, private)
- func (vt VisibleType) String() string {
- for k, v := range VisibilityModes {
- if vt == v {
- return k
- }
- }
- return ""
- }
-
- // ExtractKeysFromMapString provides a slice of keys from map
- func ExtractKeysFromMapString(in map[string]VisibleType) (keys []string) {
- for k := range in {
- keys = append(keys, k)
- }
- return
- }
|