Documentation
¶
Index ¶
- func LoginHandler(repositoryManagers []RepositoryManager, next http.Handler) http.Handler
- func LogoutHandler(repositoryManagers []RepositoryManager, next http.Handler) http.Handler
- func WithMoraSession(ctx context.Context, sess *MoraSession) context.Context
- type BaseRepositoryManager
- func (s *BaseRepositoryManager) Client() *scm.Client
- func (s *BaseRepositoryManager) ID() int64
- func (s *BaseRepositoryManager) Init(id int64, url *url.URL, client *scm.Client, loginMiddleware login.Middleware)
- func (s *BaseRepositoryManager) LoginHandler(next http.Handler) http.Handler
- func (s *BaseRepositoryManager) URL() *url.URL
- type Gitea
- type Github
- type MoraConfig
- type MoraServer
- type MoraSession
- type MoraSessionManager
- type Repository
- type RepositoryManager
- type RepositoryManagerConfig
- type RepositoryManagerResponse
- type RepositoryManagerStore
- type RepositoryStore
- type ServerConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoginHandler ¶
func LoginHandler(repositoryManagers []RepositoryManager, next http.Handler) http.Handler
func LogoutHandler ¶
func LogoutHandler(repositoryManagers []RepositoryManager, next http.Handler) http.Handler
func WithMoraSession ¶
func WithMoraSession(ctx context.Context, sess *MoraSession) context.Context
Types ¶
type BaseRepositoryManager ¶
type BaseRepositoryManager struct {
// contains filtered or unexported fields
}
func (*BaseRepositoryManager) Client ¶
func (s *BaseRepositoryManager) Client() *scm.Client
func (*BaseRepositoryManager) ID ¶
func (s *BaseRepositoryManager) ID() int64
func (*BaseRepositoryManager) Init ¶
func (s *BaseRepositoryManager) Init(id int64, url *url.URL, client *scm.Client, loginMiddleware login.Middleware)
func (*BaseRepositoryManager) LoginHandler ¶
func (s *BaseRepositoryManager) LoginHandler(next http.Handler) http.Handler
func (*BaseRepositoryManager) URL ¶
func (s *BaseRepositoryManager) URL() *url.URL
type Github ¶
type Github struct {
BaseRepositoryManager
}
type MoraConfig ¶
type MoraConfig struct { Server ServerConfig RepositoryManagers []RepositoryManagerConfig `toml:"scm"` Debug bool DatabaseFilename string }
func ReadMoraConfig ¶
func ReadMoraConfig(filename string) (MoraConfig, error)
type MoraServer ¶
type MoraServer struct {
// contains filtered or unexported fields
}
func NewMoraServerFromConfig ¶
func NewMoraServerFromConfig(config MoraConfig) (*MoraServer, error)
func (*MoraServer) Handler ¶
func (s *MoraServer) Handler() http.Handler
type MoraSession ¶
type MoraSession struct {
// contains filtered or unexported fields
}
func MoraSessionFrom ¶
func MoraSessionFrom(ctx context.Context) (*MoraSession, bool)
func NewMoraSession ¶
func NewMoraSession() *MoraSession
func (*MoraSession) Remove ¶
func (s *MoraSession) Remove(rmID int64)
type MoraSessionManager ¶
type MoraSessionManager struct {
// contains filtered or unexported fields
}
func NewMoraSessionManager ¶
func NewMoraSessionManager() *MoraSessionManager
func (*MoraSessionManager) GC ¶
func (m *MoraSessionManager) GC()
func (*MoraSessionManager) SessionMiddleware ¶
func (m *MoraSessionManager) SessionMiddleware(next http.Handler) http.Handler
type Repository ¶
type Repository = base.Repository
type RepositoryManager ¶
type RepositoryManager interface { ID() int64 URL() *url.URL Client() *scm.Client RevisionURL(baseURL string, revision string) string LoginHandler(next http.Handler) http.Handler }
Source Code Management System
type RepositoryManagerConfig ¶
type RepositoryManagerStore ¶
type RepositoryManagerStore interface { Init() error FindURL(string) (int64, string, error) Insert(driver string, url string) (int64, error) }
func NewRepositoryManagerStore ¶
func NewRepositoryManagerStore(db *sqlx.DB) RepositoryManagerStore
type RepositoryStore ¶
type RepositoryStore interface { Init() error Find(id int64) (base.Repository, error) FindURL(url string) (Repository, error) ListAll() ([]Repository, error) Put(repo *Repository) error }
func NewRepositoryStore ¶
func NewRepositoryStore(db *sqlx.DB) RepositoryStore
type ServerConfig ¶
Click to show internal directories.
Click to hide internal directories.