serializers

package
v0.0.49 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminRunnersSerializer

type AdminRunnersSerializer struct {
	ID                 uint       `json:"id"`
	Name               string     `json:"name"`
	Type               string     `json:"type"`
	LastContact        *time.Time `json:"last_contact"`
	UsePublicUrl       bool       `json:"use_public_url"`
	PublicUrl          string     `json:"public_url"`
	DeletionInProgress bool       `json:"deletion_in_progress"`
}

AdminRunnersSerializer is used for admin-specific runner information

func LoadAdminRunnerSerializer

func LoadAdminRunnerSerializer(runner *models.Runner) *AdminRunnersSerializer

func LoadMultipleAdminRunnerSerializer

func LoadMultipleAdminRunnerSerializer(runners []models.Runner) []AdminRunnersSerializer

type AdminStatsSerializer

type AdminStatsSerializer struct {
	LoginCountsLast7Days []int64 `json:"login_counts_last_7_days"`
	TotalUsers           int64   `json:"total_users"`
	OnlineRunners        int64   `json:"online_runners"`
	OnlineWorkspaces     int64   `json:"online_workspaces"`
}

func LoadAdminStatsSerializer

func LoadAdminStatsSerializer(
	loginCounts []int64,
	totalUsers,
	onlineRunners,
	onlineWorkspaces int64,
) *AdminStatsSerializer

type AdminUserSerializer

type AdminUserSerializer struct {
	Email              string  `json:"email"`
	FirstName          string  `json:"first_name"`
	LastName           string  `json:"last_name"`
	IsSuperUser        bool    `json:"is_superuser"`
	IsTemplateManager  bool    `json:"is_template_manager"`
	DeletionInProgress bool    `json:"deletion_in_progress"`
	LastLogin          *string `json:"last_login"`
	CreatedAt          string  `json:"created_at"`
}

admin

func LoadAdminUserSerializer

func LoadAdminUserSerializer(user *models.User) *AdminUserSerializer

func LoadMultipleAdminUserSerializer

func LoadMultipleAdminUserSerializer(users []models.User) []AdminUserSerializer

type CurrentUserSerializer

type CurrentUserSerializer struct {
	Email             string  `json:"email"`
	FirstName         string  `json:"first_name"`
	LastName          string  `json:"last_name"`
	IsSuperUser       bool    `json:"is_superuser"`
	IsTemplateManager bool    `json:"is_template_manager"`
	LastLogin         *string `json:"last_login"`
	CreatedAt         string  `json:"created_at"`
	Impersonated      bool    `json:"impersonated"`
}

current user

func LoadCurrentUserSerializer

func LoadCurrentUserSerializer(user *models.User, impersonated bool) *CurrentUserSerializer

type GitWorkspaceSourceSerializer

type GitWorkspaceSourceSerializer struct {
	RepositoryURL  string `json:"repository_url"`
	RefName        string `json:"ref_name"`
	ConfigFilePath string `json:"config_file_relative_path"`
}

func LoadGitWorkspaceSourceSerializer

func LoadGitWorkspaceSourceSerializer(gitSource *models.GitWorkspaceSource) *GitWorkspaceSourceSerializer

func LoadMultipleGitWorkspaceSourceSerializer

func LoadMultipleGitWorkspaceSourceSerializer(gitSources []models.GitWorkspaceSource) []GitWorkspaceSourceSerializer

type ImpersonationLogSerializer

type ImpersonationLogSerializer struct {
	ID                      uint                `json:"id"`
	Impersonator            AdminUserSerializer `json:"impersonator"`
	ImpersonatorIPAddress   string              `json:"impersonator_ip_address"`
	ImpersonationStartedAt  time.Time           `json:"impersonation_started_at"`
	ImpersonationFinishedAt *time.Time          `json:"impersonation_finished_at"`
	SessionExpired          bool                `json:"session_expired"`
}

func LoadImpersonationLogSerializer

func LoadImpersonationLogSerializer(log *models.ImpersonationLog) *ImpersonationLogSerializer

func LoadMultipleImpersonationLogSerializer

func LoadMultipleImpersonationLogSerializer(logs []models.ImpersonationLog) []ImpersonationLogSerializer

type RunnerSerializer

type RunnerSerializer struct {
	ID          uint       `json:"id"`
	Name        string     `json:"name"`
	Type        string     `json:"type"`
	LastContact *time.Time `json:"last_contact"`
}

func LoadMultipleRunnerSerializer

func LoadMultipleRunnerSerializer(runners []models.Runner) []RunnerSerializer

func LoadRunnerSerializer

func LoadRunnerSerializer(runner *models.Runner) *RunnerSerializer

type TokenSerializer

type TokenSerializer struct {
	Token          string    `json:"token"`
	ExpirationDate time.Time `json:"expiration"`
}

func LoadMultipleTokenSerializer

func LoadMultipleTokenSerializer(tokens []models.Token) []TokenSerializer

func LoadTokenSerializer

func LoadTokenSerializer(token *models.Token) *TokenSerializer

type UserSerializer

type UserSerializer struct {
	FirstName string  `json:"first_name"`
	LastName  string  `json:"last_name"`
	LastLogin *string `json:"last_login"`
}

common

func LoadMultipleUserSerializer

func LoadMultipleUserSerializer(users []models.User) []UserSerializer

func LoadUserSerializer

func LoadUserSerializer(user *models.User) *UserSerializer

type WorkspaceContainerPort

type WorkspaceContainerPort struct {
	ServiceName string    `json:"service_name"`
	PortNumber  uint      `json:"port_number"`
	Public      bool      `json:"public"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}

func LoadMultipleWorkspaceContainerPorts

func LoadMultipleWorkspaceContainerPorts(ports []models.WorkspaceContainerPort) []WorkspaceContainerPort

type WorkspaceContainerSerializer

type WorkspaceContainerSerializer struct {
	ContainerID       string     `json:"container_id"`
	ContainerName     string     `json:"container_name"`
	ContainerImage    string     `json:"container_image"`
	ContainerUserID   uint       `json:"container_user_id"`
	ContainerUserName string     `json:"container_user_name"`
	AgentLastContact  *time.Time `json:"agent_last_contact"`
	WorkspacePath     string     `json:"workspace_path"`
	CreatedAt         time.Time  `json:"created_at"`
	UpdatedAt         time.Time  `json:"updated_at"`
}

func LoadMultipleWorkspaceContainerSerializers

func LoadMultipleWorkspaceContainerSerializers(containers []models.WorkspaceContainer) []WorkspaceContainerSerializer

func LoadWorkspaceContainerSerializer

func LoadWorkspaceContainerSerializer(container *models.WorkspaceContainer) *WorkspaceContainerSerializer

type WorkspaceSerializer

type WorkspaceSerializer struct {
	ID                   uint                                `json:"id"`
	Name                 string                              `json:"name"`
	User                 *UserSerializer                     `json:"user"`
	Status               string                              `json:"status"`
	Type                 string                              `json:"type"`
	Runner               *RunnerSerializer                   `json:"runner"`
	ConfigSource         string                              `json:"config_source"`
	TemplateVersion      *WorkspaceTemplateVersionSerializer `json:"template_version"`
	GitSource            *GitWorkspaceSourceSerializer       `json:"git_source"`
	EnvironmentVariables []string                            `json:"environment_variables"`
	CreatedAt            time.Time                           `json:"created_at"`
	UpdatedAt            time.Time                           `json:"updated_at"`
}

func LoadMultipleWorkspaceSerializer

func LoadMultipleWorkspaceSerializer(workspaces []models.Workspace) []WorkspaceSerializer

func LoadWorkspaceSerializer

func LoadWorkspaceSerializer(workspace *models.Workspace) *WorkspaceSerializer

func MultipleWorkspaceSerializersFromJSON

func MultipleWorkspaceSerializersFromJSON(data string) ([]WorkspaceSerializer, error)

func WorkspaceSerializerFromJSON

func WorkspaceSerializerFromJSON(data string) (WorkspaceSerializer, error)

type WorkspaceTemplateVersionSerializer

type WorkspaceTemplateVersionSerializer struct {
	ID         uint   `json:"id"`
	TemplateID uint   `json:"template_id"`
	Name       string `json:"name"`
	Published  bool   `json:"published"`
}

func LoadMultipleWorkspaceTemplateVersionSerializer

func LoadMultipleWorkspaceTemplateVersionSerializer(templateVersions []models.WorkspaceTemplateVersion) []WorkspaceTemplateVersionSerializer

func LoadWorkspaceTemplateVersionSerializer

func LoadWorkspaceTemplateVersionSerializer(templateVersion *models.WorkspaceTemplateVersion) *WorkspaceTemplateVersionSerializer

type WorkspaceTypeSerializer

type WorkspaceTypeSerializer struct {
	ID                     string   `json:"id"`
	Name                   string   `json:"name"`
	SupportedConfigSources []string `json:"supported_config_sources"`
	ConfigFilesDefaultPath string   `json:"config_files_default_path"`
}

func LoadMultipleWorkspaceTypeSerializer

func LoadMultipleWorkspaceTypeSerializer(workspaceTypes []config.WorkspaceType) []WorkspaceTypeSerializer

func LoadWorkspaceTypeSerializer

func LoadWorkspaceTypeSerializer(workspaceType *config.WorkspaceType) *WorkspaceTypeSerializer

Jump to

Keyboard shortcuts

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