mirror of
https://github.com/h44z/wg-portal.git
synced 2025-07-03 19:57:00 +00:00
57 lines
1.7 KiB
Go
57 lines
1.7 KiB
Go
|
package models
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"github.com/h44z/wg-portal/internal/domain"
|
||
|
)
|
||
|
|
||
|
// User represents a user model for webhooks. For details about the fields, see the domain.User struct.
|
||
|
type User struct {
|
||
|
CreatedBy string `json:"CreatedBy"`
|
||
|
UpdatedBy string `json:"UpdatedBy"`
|
||
|
CreatedAt time.Time `json:"CreatedAt"`
|
||
|
UpdatedAt time.Time `json:"UpdatedAt"`
|
||
|
|
||
|
Identifier string `json:"Identifier"`
|
||
|
Email string `json:"Email"`
|
||
|
Source string `json:"Source"`
|
||
|
ProviderName string `json:"ProviderName"`
|
||
|
IsAdmin bool `json:"IsAdmin"`
|
||
|
|
||
|
Firstname string `json:"Firstname,omitempty"`
|
||
|
Lastname string `json:"Lastname,omitempty"`
|
||
|
Phone string `json:"Phone,omitempty"`
|
||
|
Department string `json:"Department,omitempty"`
|
||
|
Notes string `json:"Notes,omitempty"`
|
||
|
|
||
|
Disabled *time.Time `json:"Disabled,omitempty"`
|
||
|
DisabledReason string `json:"DisabledReason,omitempty"`
|
||
|
Locked *time.Time `json:"Locked,omitempty"`
|
||
|
LockedReason string `json:"LockedReason,omitempty"`
|
||
|
}
|
||
|
|
||
|
// NewUser creates a new User model from a domain.User
|
||
|
func NewUser(src domain.User) User {
|
||
|
return User{
|
||
|
CreatedBy: src.CreatedBy,
|
||
|
UpdatedBy: src.UpdatedBy,
|
||
|
CreatedAt: src.CreatedAt,
|
||
|
UpdatedAt: src.UpdatedAt,
|
||
|
Identifier: string(src.Identifier),
|
||
|
Email: src.Email,
|
||
|
Source: string(src.Source),
|
||
|
ProviderName: src.ProviderName,
|
||
|
IsAdmin: src.IsAdmin,
|
||
|
Firstname: src.Firstname,
|
||
|
Lastname: src.Lastname,
|
||
|
Phone: src.Phone,
|
||
|
Department: src.Department,
|
||
|
Notes: src.Notes,
|
||
|
Disabled: src.Disabled,
|
||
|
DisabledReason: src.DisabledReason,
|
||
|
Locked: src.Locked,
|
||
|
LockedReason: src.LockedReason,
|
||
|
}
|
||
|
}
|