mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			104 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
| package models
 | |
| 
 | |
| import (
 | |
| 	"errors"
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| // Typed errors
 | |
| var (
 | |
| 	ErrTempUserNotFound = errors.New("User not found")
 | |
| )
 | |
| 
 | |
| type TempUserStatus string
 | |
| 
 | |
| const (
 | |
| 	TmpUserSignUpStarted TempUserStatus = "SignUpStarted"
 | |
| 	TmpUserInvitePending TempUserStatus = "InvitePending"
 | |
| 	TmpUserCompleted     TempUserStatus = "Completed"
 | |
| 	TmpUserRevoked       TempUserStatus = "Revoked"
 | |
| 	TmpUserExpired       TempUserStatus = "Expired"
 | |
| )
 | |
| 
 | |
| // TempUser holds data for org invites and unconfirmed sign ups
 | |
| type TempUser struct {
 | |
| 	Id              int64
 | |
| 	OrgId           int64
 | |
| 	Version         int
 | |
| 	Email           string
 | |
| 	Name            string
 | |
| 	Role            RoleType
 | |
| 	InvitedByUserId int64
 | |
| 	Status          TempUserStatus
 | |
| 
 | |
| 	EmailSent   bool
 | |
| 	EmailSentOn time.Time
 | |
| 	Code        string
 | |
| 	RemoteAddr  string
 | |
| 
 | |
| 	Created int64
 | |
| 	Updated int64
 | |
| }
 | |
| 
 | |
| // ---------------------
 | |
| // COMMANDS
 | |
| 
 | |
| type CreateTempUserCommand struct {
 | |
| 	Email           string
 | |
| 	Name            string
 | |
| 	OrgId           int64
 | |
| 	InvitedByUserId int64
 | |
| 	Status          TempUserStatus
 | |
| 	Code            string
 | |
| 	Role            RoleType
 | |
| 	RemoteAddr      string
 | |
| 
 | |
| 	Result *TempUser
 | |
| }
 | |
| 
 | |
| type UpdateTempUserStatusCommand struct {
 | |
| 	Code   string
 | |
| 	Status TempUserStatus
 | |
| }
 | |
| 
 | |
| type ExpireTempUsersCommand struct {
 | |
| 	OlderThan time.Time
 | |
| 
 | |
| 	NumExpired int64
 | |
| }
 | |
| 
 | |
| type UpdateTempUserWithEmailSentCommand struct {
 | |
| 	Code string
 | |
| }
 | |
| 
 | |
| type GetTempUsersQuery struct {
 | |
| 	OrgId  int64
 | |
| 	Email  string
 | |
| 	Status TempUserStatus
 | |
| 
 | |
| 	Result []*TempUserDTO
 | |
| }
 | |
| 
 | |
| type GetTempUserByCodeQuery struct {
 | |
| 	Code string
 | |
| 
 | |
| 	Result *TempUserDTO
 | |
| }
 | |
| 
 | |
| type TempUserDTO struct {
 | |
| 	Id             int64          `json:"id"`
 | |
| 	OrgId          int64          `json:"orgId"`
 | |
| 	Name           string         `json:"name"`
 | |
| 	Email          string         `json:"email"`
 | |
| 	Role           RoleType       `json:"role"`
 | |
| 	InvitedByLogin string         `json:"invitedByLogin"`
 | |
| 	InvitedByEmail string         `json:"invitedByEmail"`
 | |
| 	InvitedByName  string         `json:"invitedByName"`
 | |
| 	Code           string         `json:"code"`
 | |
| 	Status         TempUserStatus `json:"status"`
 | |
| 	Url            string         `json:"url"`
 | |
| 	EmailSent      bool           `json:"emailSent"`
 | |
| 	EmailSentOn    time.Time      `json:"emailSentOn"`
 | |
| 	Created        time.Time      `json:"createdOn"`
 | |
| }
 |