dto

package
v0.0.13 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Base

type Base struct {
	UUID      dxo.UUID  `json:"uuid"`
	CreatedAt util.Time `json:"created_at"`
	UpdatedAt util.Time `json:"updated_at"`
}

Base 所有DTO 的基本结构

type Example

type Example struct {
	ID dxo.ExampleID `json:"id"`
	Base
}

Example 表示一个命令模板

type Executable

type Executable struct {
	ID dxo.ExecutableID `json:"id"`
	Base

	Name             string                  `json:"name"`
	Title            string                  `json:"title"`
	Description      string                  `json:"description"`
	Path             string                  `json:"path"`
	IconURL          string                  `json:"icon"`
	SHA256SUM        util.Hex                `json:"sha256sum"`
	Remark           string                  `json:"remark"`
	Size             int64                   `json:"size"`
	Ready            bool                    `json:"ready"`
	Group            dxo.ExecutableGroupName `json:"group"`
	State            dxo.FileState           `json:"state"`
	Tags             dxo.StringList          `json:"tags"`
	OpenWithPriority int                     `json:"open_with_priority"` // 如果 value<=0, 表示 disable
}

Executable ...

type File added in v0.0.7

type File struct {
	Name string `json:"name"`
	Path string `json:"path"`

	Base

	Exists bool `json:"exists"`
	IsFile bool `json:"is_file"`
	IsDir  bool `json:"is_dir"`

	Size int64  `json:"size"`
	Type string `json:"content_type"`
}

File 表示一个文件或者文件夹的信息

type Intent

type Intent struct {
	ID dxo.IntentID `json:"id"`
	Base

	Options []string `json:"options"` // used for filters

	// as exe
	Executable *Executable      `json:"executable"`
	Repository *LocalRepository `json:"repository"`

	// as web
	Method string `json:"method"`
	URL    string `json:"url"`

	// as cli
	Command   string            `json:"command"`
	Arguments []string          `json:"args"`
	Env       map[string]string `json:"env"`
	WD        string            `json:"wd"`
}

Intent 表示一个命令实例

type IntentTemplate

type IntentTemplate struct {
	ID dxo.IntentTemplateID `json:"id"`
	Base
}

IntentTemplate 表示一个命令模板

type LocalRepository

type LocalRepository struct {
	ID dxo.LocalRepositoryID `json:"id"`

	RepositoryBase

	Path           string `json:"path"`
	DotGitPath     string `json:"dot_git_path"`
	RepositoryPath string `json:"repository_path"`
	WorkingPath    string `json:"workspace_path"`

	Projects []*Project `json:"projects"`
}

LocalRepository ...

type MainRepository

type MainRepository struct {
	RepositoryBase

	ID dxo.MainRepositoryID `json:"id"`

	Path string `json:"path"`
}

MainRepository ...

type Media

type Media struct {
	ID dxo.MediaID `json:"id"`
	Base

	FileSize      int64    `json:"size"`
	ContentType   string   `json:"content_type"`
	SHA256SUM     util.Hex `json:"sha256sum"`
	Path          string   `json:"path"`
	WebPath       string   `json:"web_path"`
	LocalFilePath string   `json:"local_file_path"`
}

Media 表示一个命令模板

type Platform

type Platform struct {
	ID dxo.PlatformID `json:"id"`
	Base

	OS   string `json:"os"`
	Arch string `json:"arch"`
}

Platform 表示平台信息

type Profile

type Profile struct {
	ID dxo.ProfileID
	Base

	User string `json:"user"`
	Home string `json:"home"`
}

Profile ...

type Project

type Project struct {
	ID dxo.ProjectID `json:"id"`
	Base

	Name            string                `json:"name"`
	Description     string                `json:"description"`
	ProjectType     string                `json:"project_type"`
	Path            string                `json:"path"`
	OwnerRepository dxo.LocalRepositoryID `json:"owner_repository"`
	Group           dxo.ProjectGroupName  `json:"group"`
	State           dxo.FileState         `json:"state"`
	Tags            dxo.StringList        `json:"tags"`
}

Project ...

type ProjectLessFunc added in v0.0.12

type ProjectLessFunc func(o1, o2 *Project) bool

type ProjectSorter added in v0.0.12

type ProjectSorter struct {
	// contains filtered or unexported fields
}

func (*ProjectSorter) Len added in v0.0.12

func (inst *ProjectSorter) Len() int

func (*ProjectSorter) Less added in v0.0.12

func (inst *ProjectSorter) Less(i1, i2 int) bool

func (*ProjectSorter) Sort added in v0.0.12

func (inst *ProjectSorter) Sort(items []*Project, fn ProjectLessFunc)

func (*ProjectSorter) Swap added in v0.0.12

func (inst *ProjectSorter) Swap(i1, i2 int)

type RemoteRepository

type RemoteRepository struct {
	RepositoryBase

	ID dxo.RemoteRepositoryID `json:"id"`

	URL string `json:"url"`
}

RemoteRepository ...

type RepositoryBase

type RepositoryBase struct {
	Base

	Name        string                  `json:"name"`
	DisplayName string                  `json:"label"`
	Description string                  `json:"description"`
	IconURL     string                  `json:"icon"`
	Ready       bool                    `json:"ready"`
	Group       dxo.RepositoryGroupName `json:"group"`
	State       dxo.FileState           `json:"state"`
	Tags        dxo.StringList          `json:"tags"`
}

RepositoryBase 仓库DTO

type RepositoryGroup

type RepositoryGroup struct {
	ID dxo.RepositoryGroupID `json:"id"`
	Base

	Name string `json:"name"`
}

RepositoryGroup 是 Repository 的分组

type User

type User struct {
	ID dxo.UserID `json:"id"`
	Base

	Name dxo.UserName `json:"name"`
	Home string       `json:"home"` // the home dir path for this user
}

User 表示一个用户

Jump to

Keyboard shortcuts

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