mirror of
https://github.com/grafana/grafana.git
synced 2024-11-26 02:40:26 -06:00
6afad51761
* Move SignedInUser to user service and RoleType and Roles to org * Use go naming convention for roles * Fix some imports and leftovers * Fix ldap debug test * Fix lint * Fix lint 2 * Fix lint 3 * Fix type and not needed conversion * Clean up messages in api tests * Clean up api tests 2
106 lines
2.2 KiB
Go
106 lines
2.2 KiB
Go
package models
|
|
|
|
import (
|
|
"errors"
|
|
"time"
|
|
|
|
"github.com/grafana/grafana/pkg/services/org"
|
|
)
|
|
|
|
// 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 org.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 org.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 org.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"`
|
|
}
|