client

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParsePackageRef

func ParsePackageRef(ref string) (pkg, version string, err error)

Types

type Client

type Client interface {
	Login(username, password string) (*LoginResponse, error)
	Register(username, password string) (*RegisterResponse, error)
	GetCurrentUser() (*User, error)
	Logout() error

	ListPackages() ([]*Package, error)
	GetPackage(name string) (*Package, error)
	CreatePackage(name, description string, tags []string) (*Package, error)
	SearchPackages(query string, tags []string) ([]*Package, error)

	PushVersion(packageName, version string, zipData []byte) (*Version, error)
	PullVersion(packageName, version, outputDir string) error
	ListVersions(packageName string) ([]*Version, error)
	ViewSchema(packageName, version string) (*SchemaView, error)

	GenerateCode(packageName, version, language, outputDir string, options GenerateOptions) (*GenerateResult, error)
}

func New

func New() (Client, error)

func NewWithToken

func NewWithToken(token string) (Client, error)

type FileContent

type FileContent struct {
	Name    string `json:"name"`
	Content string `json:"content"`
	Size    int64  `json:"size"`
}

type GenerateOptions

type GenerateOptions struct {
	PackageName string `json:"package_name,omitempty"`
	ModulePath  string `json:"module_path,omitempty"`
}

type GenerateResult

type GenerateResult struct {
	OutputDir      string   `json:"output_dir"`
	GeneratedFiles []string `json:"generated_files"`
}

type HTTPClient

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

func (*HTTPClient) CreatePackage

func (c *HTTPClient) CreatePackage(name, description string, tags []string) (*Package, error)

func (*HTTPClient) GenerateCode

func (c *HTTPClient) GenerateCode(packageName, version, language, outputDir string, options GenerateOptions) (*GenerateResult, error)

func (*HTTPClient) GetCurrentUser

func (c *HTTPClient) GetCurrentUser() (*User, error)

func (*HTTPClient) GetPackage

func (c *HTTPClient) GetPackage(name string) (*Package, error)

func (*HTTPClient) ListPackages

func (c *HTTPClient) ListPackages() ([]*Package, error)

func (*HTTPClient) ListVersions

func (c *HTTPClient) ListVersions(packageName string) ([]*Version, error)

func (*HTTPClient) Login

func (c *HTTPClient) Login(username, password string) (*LoginResponse, error)

func (*HTTPClient) Logout

func (c *HTTPClient) Logout() error

func (*HTTPClient) PullVersion

func (c *HTTPClient) PullVersion(packageName, version, outputDir string) error

func (*HTTPClient) PushVersion

func (c *HTTPClient) PushVersion(packageName, version string, zipData []byte) (*Version, error)

func (*HTTPClient) Register

func (c *HTTPClient) Register(username, password string) (*RegisterResponse, error)

func (*HTTPClient) SearchPackages

func (c *HTTPClient) SearchPackages(query string, tags []string) ([]*Package, error)

func (*HTTPClient) ViewSchema

func (c *HTTPClient) ViewSchema(packageName, version string) (*SchemaView, error)

type LoginRequest

type LoginRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

type LoginResponse

type LoginResponse struct {
	Token string `json:"token"`
	User  User   `json:"user"`
}

type Package

type Package struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Description string    `json:"description"`
	Tags        []string  `json:"tags"`
	CreatedAt   time.Time `json:"created_at"`
	OwnerID     string    `json:"owner_id"`
}

type RegisterRequest

type RegisterRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

type RegisterResponse

type RegisterResponse struct {
	Token string `json:"token"`
	User  User   `json:"user"`
}

type SchemaView

type SchemaView struct {
	Package     string        `json:"package"`
	Version     string        `json:"version"`
	Description string        `json:"description"`
	Checksum    string        `json:"checksum"`
	CreatedAt   string        `json:"created_at"`
	CreatedBy   string        `json:"created_by"`
	Files       []FileContent `json:"files"`
}

type User

type User struct {
	ID       string `json:"id"`
	Username string `json:"username"`
}

type Version

type Version struct {
	ID        string    `json:"id"`
	Version   string    `json:"version"`
	CreatedAt time.Time `json:"created_at"`
	CreatedBy string    `json:"created_by"`
	Metadata  string    `json:"metadata,omitempty"`
	Checksum  string    `json:"checksum,omitempty"`
}

Jump to

Keyboard shortcuts

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