mirror of https://github.com/h44z/wg-portal.git
				
				
				
			
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
package model
 | 
						|
 | 
						|
import "github.com/h44z/wg-portal/internal/domain"
 | 
						|
 | 
						|
type LoginProviderInfo struct {
 | 
						|
	Identifier  string `json:"Identifier" example:"google"`
 | 
						|
	Name        string `json:"Name" example:"Login with Google"`
 | 
						|
	ProviderUrl string `json:"ProviderUrl" example:"/auth/google/login"`
 | 
						|
	CallbackUrl string `json:"CallbackUrl" example:"/auth/google/callback"`
 | 
						|
}
 | 
						|
 | 
						|
func NewLoginProviderInfo(src *domain.LoginProviderInfo) *LoginProviderInfo {
 | 
						|
	return &LoginProviderInfo{
 | 
						|
		Identifier:  src.Identifier,
 | 
						|
		Name:        src.Name,
 | 
						|
		ProviderUrl: src.ProviderUrl,
 | 
						|
		CallbackUrl: src.CallbackUrl,
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func NewLoginProviderInfos(src []domain.LoginProviderInfo) []LoginProviderInfo {
 | 
						|
	accessories := make([]LoginProviderInfo, len(src))
 | 
						|
	for i := range src {
 | 
						|
		accessories[i] = *NewLoginProviderInfo(&src[i])
 | 
						|
	}
 | 
						|
	return accessories
 | 
						|
}
 | 
						|
 | 
						|
type SessionInfo struct {
 | 
						|
	LoggedIn       bool    `json:"LoggedIn"`
 | 
						|
	IsAdmin        bool    `json:"IsAdmin,omitempty"`
 | 
						|
	UserIdentifier *string `json:"UserIdentifier,omitempty"`
 | 
						|
	UserFirstname  *string `json:"UserFirstname,omitempty"`
 | 
						|
	UserLastname   *string `json:"UserLastname,omitempty"`
 | 
						|
	UserEmail      *string `json:"UserEmail,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
type OauthInitiationResponse struct {
 | 
						|
	RedirectUrl string
 | 
						|
	State       string
 | 
						|
}
 |