gopkg.in/essentialkaos/ek.v3@v3.5.1/system/user_windows.go (about)

     1  // +build windows
     2  
     3  package system
     4  
     5  // ////////////////////////////////////////////////////////////////////////////////// //
     6  //                                                                                    //
     7  //                     Copyright (c) 2009-2016 Essential Kaos                         //
     8  //      Essential Kaos Open Source License <http://essentialkaos.com/ekol?en>         //
     9  //                                                                                    //
    10  // ////////////////////////////////////////////////////////////////////////////////// //
    11  
    12  import (
    13  	"time"
    14  )
    15  
    16  // ////////////////////////////////////////////////////////////////////////////////// //
    17  
    18  // User contains information about user
    19  type User struct {
    20  	UID      int      `json:"uid"`
    21  	GID      int      `json:"gid"`
    22  	Name     string   `json:"name"`
    23  	Groups   []*Group `json:"groups"`
    24  	Comment  string   `json:"comment"`
    25  	Shell    string   `json:"shell"`
    26  	HomeDir  string   `json:"home_dir"`
    27  	RealUID  int      `json:"real_uid"`
    28  	RealGID  int      `json:"real_gid"`
    29  	RealName string   `json:"real_name"`
    30  }
    31  
    32  // Group contains information about group
    33  type Group struct {
    34  	Name string `json:"name"`
    35  	GID  int    `json:"gid"`
    36  }
    37  
    38  // SessionInfo contains information about all sessions
    39  type SessionInfo struct {
    40  	User             *User     `json:"user"`
    41  	LoginTime        time.Time `json:"login_time"`
    42  	LastActivityTime time.Time `json:"last_activity_time"`
    43  }
    44  
    45  // ////////////////////////////////////////////////////////////////////////////////// //
    46  
    47  // Who return info about all active sessions sorted by login time
    48  func Who() ([]*SessionInfo, error) {
    49  	return []*SessionInfo{}, nil
    50  }
    51  
    52  // CurrentUser return struct with info about current user
    53  func CurrentUser(avoidCache ...bool) (*User, error) {
    54  	return &User{}, nil
    55  }
    56  
    57  // LookupUser search user info by given name
    58  func LookupUser(name string) (*User, error) {
    59  	return &User{}, nil
    60  }
    61  
    62  // LookupGroup search group info by given name
    63  func LookupGroup(name string) (*Group, error) {
    64  	return &Group{}, nil
    65  }
    66  
    67  // IsUserExist check if user exist on system or not
    68  func IsUserExist(name string) bool {
    69  	return false
    70  }
    71  
    72  // IsGroupExist check if group exist on system or not
    73  func IsGroupExist(name string) bool {
    74  	return false
    75  }
    76  
    77  // ////////////////////////////////////////////////////////////////////////////////// //
    78  
    79  // IsRoot check if current user is root
    80  func (u *User) IsRoot() bool {
    81  	return false
    82  }
    83  
    84  // IsSudo check if it user over sudo command
    85  func (u *User) IsSudo() bool {
    86  	return false
    87  }
    88  
    89  // GroupList return slice with user groups names
    90  func (u *User) GroupList() []string {
    91  	return []string{}
    92  }
    93  
    94  // ////////////////////////////////////////////////////////////////////////////////// //