github.com/spline-fu/mattermost-server@v4.10.10+incompatible/model/user_access_token.go (about)

     1  // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
     2  // See License.txt for license information.
     3  
     4  package model
     5  
     6  import (
     7  	"encoding/json"
     8  	"io"
     9  	"net/http"
    10  )
    11  
    12  type UserAccessToken struct {
    13  	Id          string `json:"id"`
    14  	Token       string `json:"token,omitempty"`
    15  	UserId      string `json:"user_id"`
    16  	Description string `json:"description"`
    17  	IsActive    bool   `json:"is_active"`
    18  }
    19  
    20  func (t *UserAccessToken) IsValid() *AppError {
    21  	if len(t.Id) != 26 {
    22  		return NewAppError("UserAccessToken.IsValid", "model.user_access_token.is_valid.id.app_error", nil, "", http.StatusBadRequest)
    23  	}
    24  
    25  	if len(t.Token) != 26 {
    26  		return NewAppError("UserAccessToken.IsValid", "model.user_access_token.is_valid.token.app_error", nil, "", http.StatusBadRequest)
    27  	}
    28  
    29  	if len(t.UserId) != 26 {
    30  		return NewAppError("UserAccessToken.IsValid", "model.user_access_token.is_valid.user_id.app_error", nil, "", http.StatusBadRequest)
    31  	}
    32  
    33  	if len(t.Description) > 255 {
    34  		return NewAppError("UserAccessToken.IsValid", "model.user_access_token.is_valid.description.app_error", nil, "", http.StatusBadRequest)
    35  	}
    36  
    37  	return nil
    38  }
    39  
    40  func (t *UserAccessToken) PreSave() {
    41  	t.Id = NewId()
    42  	t.IsActive = true
    43  }
    44  
    45  func (t *UserAccessToken) ToJson() string {
    46  	b, _ := json.Marshal(t)
    47  	return string(b)
    48  }
    49  
    50  func UserAccessTokenFromJson(data io.Reader) *UserAccessToken {
    51  	var t *UserAccessToken
    52  	json.NewDecoder(data).Decode(&t)
    53  	return t
    54  }
    55  
    56  func UserAccessTokenListToJson(t []*UserAccessToken) string {
    57  	b, _ := json.Marshal(t)
    58  	return string(b)
    59  }
    60  
    61  func UserAccessTokenListFromJson(data io.Reader) []*UserAccessToken {
    62  	var t []*UserAccessToken
    63  	json.NewDecoder(data).Decode(&t)
    64  	return t
    65  }