42 lines
1.5 KiB
Go
42 lines
1.5 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"`
|
|
}
|