model

package
v1.4.0-alpha2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

* @Author: LinkLeong link@icewhale.com * @Date: 2022-05-13 18:15:46 * @LastEditors: LinkLeong * @LastEditTime: 2022-07-11 17:57:00 * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcmeAccount

type AcmeAccount struct {
	ID         int       `json:"id"`
	CreatedAt  time.Time `json:"createdAt"`
	UpdatedAt  time.Time `json:"updatedAt"`
	Email      string    `json:"email"`
	URL        string    `json:"url"`
	Type       string    `json:"type"`
	EabKid     string    `json:"eabKid"`
	EabHmacKey string    `json:"eabHmacKey"`
	KeyType    string    `json:"keyType"`
}

type AcmeSearchRequest

type AcmeSearchRequest struct {
	Page     int `json:"page"`
	PageSize int `json:"pageSize"`
}

type AcmeSearchResponse

type AcmeSearchResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		Total int           `json:"total"`
		Items []AcmeAccount `json:"items"`
	} `json:"data"`
}

type AuthentikApplication

type AuthentikApplication struct {
	Pagination struct {
		Count      int64 `json:"count"`
		Current    int64 `json:"current"`
		EndIndex   int64 `json:"end_index"`
		Next       int64 `json:"next"`
		Previous   int64 `json:"previous"`
		StartIndex int64 `json:"start_index"`
		TotalPages int64 `json:"total_pages"`
	} `json:"pagination"`
	Results []struct {
		BackchannelProviders    []interface{} `json:"backchannel_providers"`
		BackchannelProvidersObj []interface{} `json:"backchannel_providers_obj"`
		Group                   string        `json:"group"`
		LaunchURL               string        `json:"launch_url"`
		MetaDescription         string        `json:"meta_description"`
		MetaIcon                string        `json:"meta_icon"`
		MetaLaunchURL           string        `json:"meta_launch_url"`
		MetaPublisher           string        `json:"meta_publisher"`
		Name                    string        `json:"name"`
		OpenInNewTab            bool          `json:"open_in_new_tab"`
		Pk                      string        `json:"pk"`
		PolicyEngineMode        string        `json:"policy_engine_mode"`
		Provider                int64         `json:"provider"`
		ProviderObj             struct {
			AssignedApplicationName string   `json:"assigned_application_name"`
			AssignedApplicationSlug string   `json:"assigned_application_slug"`
			AuthenticationFlow      string   `json:"authentication_flow"`
			AuthorizationFlow       string   `json:"authorization_flow"`
			Component               string   `json:"component"`
			MetaModelName           string   `json:"meta_model_name"`
			Name                    string   `json:"name"`
			Pk                      int64    `json:"pk"`
			PropertyMappings        []string `json:"property_mappings"`
			VerboseName             string   `json:"verbose_name"`
			VerboseNamePlural       string   `json:"verbose_name_plural"`
		} `json:"provider_obj"`
		Slug string `json:"slug"`
	} `json:"results"`
}

type AuthentikCredentialsDBModel

type AuthentikCredentialsDBModel struct {
	Id           int       `gorm:"column:id;primary_key" json:"id"`
	ClientID     string    `json:"clientId"`
	ClientSecret string    `json:"clientSecret"`
	Issuer       string    `json:"issuer"`
	AuthUrl      string    `json:"authUrl"`
	CallbackUrl  string    `json:"callbackUrl"`
	CreatedAt    time.Time `gorm:"<-:create;autoCreateTime" json:"created_at,omitempty"`
	UpdatedAt    time.Time `gorm:"<-:create;<-:update;autoUpdateTime" json:"updated_at,omitempty"`
}

TODO Refreshtoken

func (*AuthentikCredentialsDBModel) TableName

func (p *AuthentikCredentialsDBModel) TableName() string

type AuthentikToken

type AuthentikToken struct {
	Acr               string   `json:"acr"`
	Active            bool     `json:"active"`
	Aud               string   `json:"aud"`
	AuthTime          int64    `json:"auth_time"`
	ClientID          string   `json:"client_id"`
	Email             string   `json:"email"`
	EmailVerified     bool     `json:"email_verified"`
	Exp               int64    `json:"exp"`
	GivenName         string   `json:"given_name"`
	Groups            []string `json:"groups"`
	Iat               int64    `json:"iat"`
	Iss               string   `json:"iss"`
	Name              string   `json:"name"`
	Nickname          string   `json:"nickname"`
	PreferredUsername string   `json:"preferred_username"`
	Scope             string   `json:"scope"`
	Sub               string   `json:"sub"`
}

type AuthentikUser

type AuthentikUser struct {
	User struct {
		Avatar string `json:"avatar"`
		Email  string `json:"email"`
		Groups []struct {
			Name string `json:"name"`
			Pk   string `json:"pk"`
		} `json:"groups"`
		IsActive    bool   `json:"is_active"`
		IsSuperuser bool   `json:"is_superuser"`
		Name        string `json:"name"`
		Pk          int64  `json:"pk"`
		Settings    struct {
			Theme struct {
				Base string `json:"base"`
			} `json:"theme"`
		} `json:"settings"`
		SystemPermissions []string `json:"system_permissions"`
		Type              string   `json:"type"`
		UID               string   `json:"uid"`
		Username          string   `json:"username"`
	} `json:"user"`
}

type CreateSSLRequest

type CreateSSLRequest struct {
	ID            int    `json:"id"`
	PrimaryDomain string `json:"primaryDomain"`
	OtherDomains  string `json:"otherDomains"`
	Provider      string `json:"provider"`
	WebsiteID     int    `json:"websiteId"`
	AcmeAccountID int    `json:"acmeAccountId"`
	AutoRenew     bool   `json:"autoRenew"`
	KeyType       string `json:"keyType"`
	PushDir       bool   `json:"pushDir"`
	Dir           string `json:"dir"`
	Description   string `json:"description"`
	DisableCNAME  bool   `json:"disableCNAME"`
	SkipDNS       bool   `json:"skipDNS"`
	Nameserver1   string `json:"nameserver1"`
	Nameserver2   string `json:"nameserver2"`
	ExecShell     bool   `json:"execShell"`
	Shell         string `json:"shell"`
}

type CreateSSLResponse

type CreateSSLResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		PrimaryDomain string `json:"primaryDomain"`
		OtherDomains  string `json:"otherDomains"`
		Provider      string `json:"provider"`
		AcmeAccountID int    `json:"acmeAccountId"`
		DNSAccountID  int    `json:"dnsAccountId"`
		AutoRenew     bool   `json:"autoRenew"`
		KeyType       string `json:"keyType"`
		Apply         bool   `json:"apply"`
		PushDir       bool   `json:"pushDir"`
		Dir           string `json:"dir"`
		ID            int    `json:"id"`
		Description   string `json:"description"`
		DisableCNAME  bool   `json:"disableCNAME"`
		SkipDNS       bool   `json:"skipDNS"`
		Nameserver1   string `json:"nameserver1"`
		Nameserver2   string `json:"nameserver2"`
		ExecShell     bool   `json:"execShell"`
		Shell         string `json:"shell"`
	} `json:"data"`
}

type CreateWebsiteRequest

type CreateWebsiteRequest struct {
	PrimaryDomain  string `json:"primaryDomain"`
	Type           string `json:"type,omitempty"`
	Alias          string `json:"alias,omitempty"`
	Remark         string `json:"remark,omitempty"`
	AppType        string `json:"appType,omitempty"`
	WebSiteGroupID int64  `json:"webSiteGroupId,omitempty"`
	OtherDomains   string `json:"otherDomains,omitempty"`
	Proxy          string `json:"proxy,omitempty"`
	Appinstall     struct {
		AppID         int64    `json:"appId,omitempty"`
		Name          string   `json:"name,omitempty"`
		AppDetailID   int64    `json:"appDetailId,omitempty"`
		Params        struct{} `json:"params,omitempty"`
		Version       string   `json:"version,omitempty"`
		Appkey        string   `json:"appkey,omitempty"`
		Advanced      bool     `json:"advanced,omitempty"`
		CPUQuota      int64    `json:"cpuQuota,omitempty"`
		MemoryLimit   int64    `json:"memoryLimit,omitempty"`
		MemoryUnit    string   `json:"memoryUnit,omitempty"`
		ContainerName string   `json:"containerName,omitempty"`
		AllowPort     bool     `json:"allowPort,omitempty"`
	} `json:"appinstall,omitempty"`
	IPV6          bool   `json:"IPV6,omitempty"`
	EnableFtp     bool   `json:"enableFtp,omitempty"`
	FtpUser       string `json:"ftpUser,omitempty"`
	FtpPassword   string `json:"ftpPassword,omitempty"`
	ProxyType     string `json:"proxyType,omitempty"`
	Port          int64  `json:"port,omitempty"`
	ProxyProtocol string `json:"proxyProtocol,omitempty"`
	ProxyAddress  string `json:"proxyAddress,omitempty"`
	RuntimeType   string `json:"runtimeType,omitempty"`
}

type DNSAccount

type DNSAccount struct {
	ID        int       `json:"id"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
	Name      string    `json:"name"`
	Type      string    `json:"type"`
}

type DeleteWebsiteRequest

type DeleteWebsiteRequest struct {
	ID           int  `json:"id"`
	DeleteApp    bool `json:"deleteApp"`
	DeleteBackup bool `json:"deleteBackup"`
	ForceDelete  bool `json:"forceDelete"`
}

type GenericResponse

type GenericResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
	} `json:"data"`
}

type InstalledAppRequest

type InstalledAppRequest struct {
	Page     int           `json:"page"`
	PageSize int           `json:"pageSize"`
	Name     string        `json:"name"`
	Tags     []interface{} `json:"tags"`
	Update   bool          `json:"update"`
	Sync     bool          `json:"sync"`
}

type InstalledAppResponse

type InstalledAppResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		Total int `json:"total"`
		Items []struct {
			ID            int       `json:"id"`
			Name          string    `json:"name"`
			AppID         int       `json:"appID"`
			AppDetailID   int       `json:"appDetailID"`
			Version       string    `json:"version"`
			Status        string    `json:"status"`
			Message       string    `json:"message"`
			HTTPPort      int       `json:"httpPort"`
			HTTPSPort     int       `json:"httpsPort"`
			Path          string    `json:"path"`
			CanUpdate     bool      `json:"canUpdate"`
			Icon          string    `json:"icon"`
			AppName       string    `json:"appName"`
			Ready         int       `json:"ready"`
			Total         int       `json:"total"`
			AppKey        string    `json:"appKey"`
			AppType       string    `json:"appType"`
			AppStatus     string    `json:"appStatus"`
			DockerCompose string    `json:"dockerCompose"`
			CreatedAt     time.Time `json:"createdAt"`
			App           struct {
				Website  string `json:"website"`
				Document string `json:"document"`
				Github   string `json:"github"`
			} `json:"app"`
		} `json:"items"`
	} `json:"data"`
}

type LoginResponse

type LoginResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		Name      string `json:"name"`
		Token     string `json:"token"`
		MfaStatus string `json:"mfaStatus"`
	} `json:"data"`
}

type LogoutResponse

type LogoutResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
	} `json:"data"`
}

type OMVLogin

type OMVLogin struct {
	Response struct {
		Authenticated bool   `json:"authenticated"`
		Username      string `json:"username"`
		Permissions   struct {
			Role string `json:"role"`
		} `json:"permissions"`
		SessionID string `json:"sessionid"`
	} `json:"response"`
	Error interface{} `json:"error"`
}

type OMVUser

type OMVUser struct {
	Response struct {
		Authenticated bool   `json:"authenticated"`
		Username      string `json:"username"`
		Permissions   struct {
			Role string `json:"role"`
		} `json:"permissions"`
	} `json:"response"`
	Error interface{} `json:"error"`
}

type OnePanelCredentials

type OnePanelCredentials struct {
	Name          string `json:"name"`
	Password      string `json:"password"`
	IgnoreCaptcha bool   `json:"ignoreCaptcha"`
	Captcha       string `json:"captcha"`
	CaptchaID     string `json:"captchaID"`
	AuthMethod    string `json:"authMethod"`
	Language      string `json:"language"`
}

type ProxyDetail

type ProxyDetail struct {
	ID        int    `json:"id"`
	Operate   string `json:"operate"`
	Enable    bool   `json:"enable"`
	Cache     bool   `json:"cache"`
	CacheTime int    `json:"cacheTime"`
	CacheUnit string `json:"cacheUnit"`
	Name      string `json:"name"`
	Modifier  string `json:"modifier"`
	Match     string `json:"match"`
	ProxyPass string `json:"proxyPass"`
	ProxyHost string `json:"proxyHost"`
	Content   string `json:"content"`
	FilePath  string `json:"filePath"`
	Replaces  struct {
	} `json:"replaces"`
	Sni           bool   `json:"sni"`
	ProxyProtocol string `json:"proxyProtocol"`
	ProxyAddress  string `json:"proxyAddress"`
}

type ProxyWebsiteRequest

type ProxyWebsiteRequest struct {
	ID int `json:"id"`
}

type ProxyWebsiteResponse

type ProxyWebsiteResponse struct {
	Code    int           `json:"code"`
	Message string        `json:"message"`
	Data    []ProxyDetail `json:"data"`
}

type SearchSSLRequest

type SearchSSLRequest struct {
	Page     int `json:"page"`
	PageSize int `json:"pageSize"`
}

type SearchSSLResponse

type SearchSSLResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		Total int `json:"total"`
		Items []struct {
			ID            int           `json:"id"`
			CreatedAt     time.Time     `json:"createdAt"`
			UpdatedAt     time.Time     `json:"updatedAt"`
			PrimaryDomain string        `json:"primaryDomain"`
			PrivateKey    string        `json:"privateKey"`
			Pem           string        `json:"pem"`
			Domains       string        `json:"domains"`
			CertURL       string        `json:"certURL"`
			Type          string        `json:"type"`
			Provider      string        `json:"provider"`
			Organization  string        `json:"organization"`
			DNSAccountID  int           `json:"dnsAccountId"`
			AcmeAccountID int           `json:"acmeAccountId"`
			CaID          int           `json:"caId"`
			AutoRenew     bool          `json:"autoRenew"`
			ExpireDate    time.Time     `json:"expireDate"`
			StartDate     time.Time     `json:"startDate"`
			Status        string        `json:"status"`
			Message       string        `json:"message"`
			KeyType       string        `json:"keyType"`
			PushDir       bool          `json:"pushDir"`
			Dir           string        `json:"dir"`
			Description   string        `json:"description"`
			SkipDNS       bool          `json:"skipDNS"`
			Nameserver1   string        `json:"nameserver1"`
			Nameserver2   string        `json:"nameserver2"`
			DisableCNAME  bool          `json:"disableCNAME"`
			ExecShell     bool          `json:"execShell"`
			Shell         string        `json:"shell"`
			AcmeAccount   AcmeAccount   `json:"acmeAccount"`
			DNSAccount    DNSAccount    `json:"dnsAccount"`
			Websites      []interface{} `json:"websites"`
			LogPath       string        `json:"logPath"`
		} `json:"items"`
	} `json:"data"`
}

type SearchWebsiteRequest

type SearchWebsiteRequest struct {
	Name           string `json:"name"`
	Page           int    `json:"page"`
	PageSize       int    `json:"pageSize"`
	OrderBy        string `json:"orderBy"`
	Order          string `json:"order"`
	WebsiteGroupID int    `json:"websiteGroupId"`
}

type SearchWebsiteResponse

type SearchWebsiteResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		Total int `json:"total"`
		Items []struct {
			ID            int       `json:"id"`
			CreatedAt     time.Time `json:"createdAt"`
			Protocol      string    `json:"protocol"`
			PrimaryDomain string    `json:"primaryDomain"`
			Type          string    `json:"type"`
			Alias         string    `json:"alias"`
			Remark        string    `json:"remark"`
			Status        string    `json:"status"`
			ExpireDate    time.Time `json:"expireDate"`
			SitePath      string    `json:"sitePath"`
			AppName       string    `json:"appName"`
			RuntimeName   string    `json:"runtimeName"`
			SslExpireDate time.Time `json:"sslExpireDate"`
			SslStatus     string    `json:"sslStatus"`
			AppInstallID  int       `json:"appInstallId"`
			RuntimeType   string    `json:"runtimeType"`
		} `json:"items"`
	} `json:"data"`
}

type UserDBModel

type UserDBModel struct {
	Id          int       `gorm:"column:id;primary_key" json:"id"`
	Username    string    `json:"username"`
	Password    string    `json:"password,omitempty"`
	Role        string    `json:"role"`
	Email       string    `json:"email"`
	Nickname    string    `json:"nickname"`
	Avatar      string    `json:"avatar"`
	Description string    `json:"description"`
	CreatedAt   time.Time `gorm:"<-:create;autoCreateTime" json:"created_at,omitempty"`
	UpdatedAt   time.Time `gorm:"<-:create;<-:update;autoUpdateTime" json:"updated_at,omitempty"`
}

Soon to be removed

func (*UserDBModel) TableName

func (p *UserDBModel) TableName() string

type WebsiteHttpsRequest

type WebsiteHttpsRequest struct {
	AcmeAccountID   int      `json:"acmeAccountID"`
	Enable          bool     `json:"enable"`
	WebsiteID       int      `json:"websiteId"`
	WebsiteSSLID    int      `json:"websiteSSLId"`
	Type            string   `json:"type"`
	ImportType      string   `json:"importType"`
	PrivateKey      string   `json:"privateKey"`
	Certificate     string   `json:"certificate"`
	PrivateKeyPath  string   `json:"privateKeyPath"`
	CertificatePath string   `json:"certificatePath"`
	HTTPConfig      string   `json:"httpConfig"`
	Hsts            bool     `json:"hsts"`
	Algorithm       string   `json:"algorithm"`
	SSLProtocol     []string `json:"SSLProtocol"`
}

type WebsiteHttpsResponse

type WebsiteHttpsResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		Enable     bool   `json:"enable"`
		HTTPConfig string `json:"httpConfig"`
		SSL        struct {
			ID            int       `json:"id"`
			CreatedAt     time.Time `json:"createdAt"`
			UpdatedAt     time.Time `json:"updatedAt"`
			PrimaryDomain string    `json:"primaryDomain"`
			PrivateKey    string    `json:"privateKey"`
			Pem           string    `json:"pem"`
			Domains       string    `json:"domains"`
			CertURL       string    `json:"certURL"`
			Type          string    `json:"type"`
			Provider      string    `json:"provider"`
			Organization  string    `json:"organization"`
			DNSAccountID  int       `json:"dnsAccountId"`
			AcmeAccountID int       `json:"acmeAccountId"`
			CaID          int       `json:"caId"`
			AutoRenew     bool      `json:"autoRenew"`
			ExpireDate    time.Time `json:"expireDate"`
			StartDate     time.Time `json:"startDate"`
			Status        string    `json:"status"`
			Message       string    `json:"message"`
			KeyType       string    `json:"keyType"`
			PushDir       bool      `json:"pushDir"`
			Dir           string    `json:"dir"`
			Description   string    `json:"description"`
			SkipDNS       bool      `json:"skipDNS"`
			Nameserver1   string    `json:"nameserver1"`
			Nameserver2   string    `json:"nameserver2"`
			DisableCNAME  bool      `json:"disableCNAME"`
			ExecShell     bool      `json:"execShell"`
			Shell         string    `json:"shell"`
			AcmeAccount   struct {
				ID         int       `json:"id"`
				CreatedAt  time.Time `json:"createdAt"`
				UpdatedAt  time.Time `json:"updatedAt"`
				Email      string    `json:"email"`
				URL        string    `json:"url"`
				Type       string    `json:"type"`
				EabKid     string    `json:"eabKid"`
				EabHmacKey string    `json:"eabHmacKey"`
				KeyType    string    `json:"keyType"`
			} `json:"acmeAccount"`
			DNSAccount struct {
				ID        int       `json:"id"`
				CreatedAt time.Time `json:"createdAt"`
				UpdatedAt time.Time `json:"updatedAt"`
				Name      string    `json:"name"`
				Type      string    `json:"type"`
			} `json:"dnsAccount"`
			Websites interface{} `json:"websites"`
		} `json:"SSL"`
		SSLProtocol []string `json:"SSLProtocol"`
		Algorithm   string   `json:"algorithm"`
		Hsts        bool     `json:"hsts"`
	} `json:"data"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL