63 lines
2.1 KiB
Go
63 lines
2.1 KiB
Go
package repository
|
|
|
|
// Tokens represents a user record with info and permissions.
|
|
type Tokens struct {
|
|
ID int64 `json:"id"`
|
|
Name string `json:"name"`
|
|
LastName string `json:"last_name"`
|
|
Login string `json:"login"`
|
|
Token string `json:"token"`
|
|
PermissionView bool `json:"permission_view"`
|
|
PermissionManage bool `json:"permission_manage_agent"`
|
|
PermissionAdmin bool `json:"permission_admin"`
|
|
}
|
|
|
|
// TokenCreate is the request body for creating a new user.
|
|
type TokenCreate struct {
|
|
Name string `json:"name" binding:"required"`
|
|
LastName string `json:"last_name" binding:"required"`
|
|
Login string `json:"login" binding:"required"`
|
|
Password string `json:"password" binding:"required"`
|
|
PermissionView bool `json:"permission_view"`
|
|
PermissionManage bool `json:"permission_manage_agent"`
|
|
PermissionAdmin bool `json:"permission_admin"`
|
|
}
|
|
|
|
// LoginRequest is the request body for login.
|
|
type LoginRequest struct {
|
|
Login string `json:"login" binding:"required"`
|
|
Password string `json:"password" binding:"required"`
|
|
}
|
|
|
|
// LoginResponse is returned after successful login.
|
|
type LoginResponse struct {
|
|
Token string `json:"token"`
|
|
Name string `json:"name"`
|
|
LastName string `json:"last_name"`
|
|
Login string `json:"login"`
|
|
PermissionView bool `json:"permission_view"`
|
|
PermissionManage bool `json:"permission_manage_agent"`
|
|
PermissionAdmin bool `json:"permission_admin"`
|
|
}
|
|
|
|
// RegistrationToken represents a one-time agent registration token.
|
|
type RegistrationToken struct {
|
|
ID int64 `json:"id"`
|
|
Token string `json:"token"`
|
|
Label string `json:"label"`
|
|
Used bool `json:"used"`
|
|
CreatedAt *string `json:"created_at"`
|
|
UsedAt *string `json:"used_at"`
|
|
}
|
|
|
|
// RegistrationRequest is the request body for creating a registration token.
|
|
type RegistrationRequest struct {
|
|
Label string `json:"label" binding:"required"`
|
|
}
|
|
|
|
// RegistrationResponse is returned when an agent registers.
|
|
type RegistrationResponse struct {
|
|
CACert string `json:"ca_cert"`
|
|
ClientCert string `json:"client_cert"`
|
|
}
|