github.com/haalcala/mattermost-server-change-repo/v5@v5.33.2/model/team_member.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See LICENSE.txt for license information.
     3  
     4  package model
     5  
     6  import (
     7  	"encoding/json"
     8  	"fmt"
     9  	"io"
    10  	"net/http"
    11  	"strings"
    12  )
    13  
    14  const (
    15  	USERNAME = "Username"
    16  )
    17  
    18  //msgp:tuple TeamMember
    19  // This struct's serializer methods are auto-generated. If a new field is added/removed,
    20  // please run make gen-serialized.
    21  type TeamMember struct {
    22  	TeamId        string `json:"team_id"`
    23  	UserId        string `json:"user_id"`
    24  	Roles         string `json:"roles"`
    25  	DeleteAt      int64  `json:"delete_at"`
    26  	SchemeGuest   bool   `json:"scheme_guest"`
    27  	SchemeUser    bool   `json:"scheme_user"`
    28  	SchemeAdmin   bool   `json:"scheme_admin"`
    29  	ExplicitRoles string `json:"explicit_roles"`
    30  }
    31  
    32  //msgp:ignore TeamUnread
    33  type TeamUnread struct {
    34  	TeamId       string `json:"team_id"`
    35  	MsgCount     int64  `json:"msg_count"`
    36  	MentionCount int64  `json:"mention_count"`
    37  }
    38  
    39  //msgp:ignore TeamMemberForExport
    40  type TeamMemberForExport struct {
    41  	TeamMember
    42  	TeamName string
    43  }
    44  
    45  //msgp:ignore TeamMemberWithError
    46  type TeamMemberWithError struct {
    47  	UserId string      `json:"user_id"`
    48  	Member *TeamMember `json:"member"`
    49  	Error  *AppError   `json:"error"`
    50  }
    51  
    52  //msgp:ignore EmailInviteWithError
    53  type EmailInviteWithError struct {
    54  	Email string    `json:"email"`
    55  	Error *AppError `json:"error"`
    56  }
    57  
    58  //msgp:ignore TeamMembersGetOptions
    59  type TeamMembersGetOptions struct {
    60  	// Sort the team members. Accepts "Username", but defaults to "Id".
    61  	Sort string
    62  
    63  	// If true, exclude team members whose corresponding user is deleted.
    64  	ExcludeDeletedUsers bool
    65  
    66  	// Restrict to search in a list of teams and channels
    67  	ViewRestrictions *ViewUsersRestrictions
    68  }
    69  
    70  func (o *TeamMember) ToJson() string {
    71  	b, _ := json.Marshal(o)
    72  	return string(b)
    73  }
    74  
    75  func (o *TeamUnread) ToJson() string {
    76  	b, _ := json.Marshal(o)
    77  	return string(b)
    78  }
    79  
    80  func TeamMemberFromJson(data io.Reader) *TeamMember {
    81  	var o *TeamMember
    82  	json.NewDecoder(data).Decode(&o)
    83  	return o
    84  }
    85  
    86  func TeamUnreadFromJson(data io.Reader) *TeamUnread {
    87  	var o *TeamUnread
    88  	json.NewDecoder(data).Decode(&o)
    89  	return o
    90  }
    91  
    92  func EmailInviteWithErrorFromJson(data io.Reader) []*EmailInviteWithError {
    93  	var o []*EmailInviteWithError
    94  	json.NewDecoder(data).Decode(&o)
    95  	return o
    96  }
    97  
    98  func EmailInviteWithErrorToEmails(o []*EmailInviteWithError) []string {
    99  	var ret []string
   100  	for _, o := range o {
   101  		if o.Error == nil {
   102  			ret = append(ret, o.Email)
   103  		}
   104  	}
   105  	return ret
   106  }
   107  
   108  func EmailInviteWithErrorToJson(o []*EmailInviteWithError) string {
   109  	b, err := json.Marshal(o)
   110  	if err != nil {
   111  		return "[]"
   112  	}
   113  	return string(b)
   114  }
   115  
   116  func EmailInviteWithErrorToString(o *EmailInviteWithError) string {
   117  	return fmt.Sprintf("%s:%s", o.Email, o.Error.Error())
   118  }
   119  
   120  func TeamMembersWithErrorToTeamMembers(o []*TeamMemberWithError) []*TeamMember {
   121  	var ret []*TeamMember
   122  	for _, o := range o {
   123  		if o.Error == nil {
   124  			ret = append(ret, o.Member)
   125  		}
   126  	}
   127  	return ret
   128  }
   129  
   130  func TeamMembersWithErrorToJson(o []*TeamMemberWithError) string {
   131  	b, err := json.Marshal(o)
   132  	if err != nil {
   133  		return "[]"
   134  	}
   135  	return string(b)
   136  }
   137  
   138  func TeamMemberWithErrorToString(o *TeamMemberWithError) string {
   139  	return fmt.Sprintf("%s:%s", o.UserId, o.Error.Error())
   140  }
   141  
   142  func TeamMembersWithErrorFromJson(data io.Reader) []*TeamMemberWithError {
   143  	var o []*TeamMemberWithError
   144  	json.NewDecoder(data).Decode(&o)
   145  	return o
   146  }
   147  
   148  func TeamMembersToJson(o []*TeamMember) string {
   149  	b, err := json.Marshal(o)
   150  	if err != nil {
   151  		return "[]"
   152  	}
   153  	return string(b)
   154  }
   155  
   156  func TeamMembersFromJson(data io.Reader) []*TeamMember {
   157  	var o []*TeamMember
   158  	json.NewDecoder(data).Decode(&o)
   159  	return o
   160  }
   161  
   162  func TeamsUnreadToJson(o []*TeamUnread) string {
   163  	b, err := json.Marshal(o)
   164  	if err != nil {
   165  		return "[]"
   166  	}
   167  	return string(b)
   168  }
   169  
   170  func TeamsUnreadFromJson(data io.Reader) []*TeamUnread {
   171  	var o []*TeamUnread
   172  	json.NewDecoder(data).Decode(&o)
   173  	return o
   174  }
   175  
   176  func (o *TeamMember) IsValid() *AppError {
   177  
   178  	if !IsValidId(o.TeamId) {
   179  		return NewAppError("TeamMember.IsValid", "model.team_member.is_valid.team_id.app_error", nil, "", http.StatusBadRequest)
   180  	}
   181  
   182  	if !IsValidId(o.UserId) {
   183  		return NewAppError("TeamMember.IsValid", "model.team_member.is_valid.user_id.app_error", nil, "", http.StatusBadRequest)
   184  	}
   185  
   186  	return nil
   187  }
   188  
   189  func (o *TeamMember) PreUpdate() {
   190  }
   191  
   192  func (o *TeamMember) GetRoles() []string {
   193  	return strings.Fields(o.Roles)
   194  }