mirror of https://github.com/h44z/wg-portal.git
				
				
				
			
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
package models
 | 
						|
 | 
						|
import (
 | 
						|
	"time"
 | 
						|
 | 
						|
	"github.com/fedor-git/wg-portal-2/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,
 | 
						|
	}
 | 
						|
}
 |