mirror of
https://github.com/usual2970/certimate.git
synced 2025-08-11 20:01:45 +00:00
.github
.vscode
docker
internal
app
applicant
certificate
deployer
domain
notify
pkg
repository
rest
handlers
resp
routes
routes.go
scheduler
statistics
workflow
migrations
ui
.dockerignore
.editorconfig
.gitignore
.goreleaser.yml
CHANGELOG.md
CONTRIBUTING.md
CONTRIBUTING_EN.md
Dockerfile
LICENSE.md
Makefile
README.md
README_EN.md
go.mod
go.sum
main.go
nixpacks.toml
usage.gif
52 lines
1.6 KiB
Go
52 lines
1.6 KiB
Go
package routes
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/pocketbase/pocketbase/apis"
|
|
"github.com/pocketbase/pocketbase/core"
|
|
"github.com/pocketbase/pocketbase/tools/router"
|
|
|
|
"github.com/usual2970/certimate/internal/certificate"
|
|
"github.com/usual2970/certimate/internal/notify"
|
|
"github.com/usual2970/certimate/internal/repository"
|
|
"github.com/usual2970/certimate/internal/rest/handlers"
|
|
"github.com/usual2970/certimate/internal/statistics"
|
|
"github.com/usual2970/certimate/internal/workflow"
|
|
)
|
|
|
|
var (
|
|
certificateSvc *certificate.CertificateService
|
|
workflowSvc *workflow.WorkflowService
|
|
statisticsSvc *statistics.StatisticsService
|
|
notifySvc *notify.NotifyService
|
|
)
|
|
|
|
func Register(router *router.Router[*core.RequestEvent]) {
|
|
certificateRepo := repository.NewCertificateRepository()
|
|
certificateSvc = certificate.NewCertificateService(certificateRepo)
|
|
|
|
workflowRepo := repository.NewWorkflowRepository()
|
|
workflowRunRepo := repository.NewWorkflowRunRepository()
|
|
workflowSvc = workflow.NewWorkflowService(workflowRepo, workflowRunRepo)
|
|
|
|
statisticsRepo := repository.NewStatisticsRepository()
|
|
statisticsSvc = statistics.NewStatisticsService(statisticsRepo)
|
|
|
|
settingsRepo := repository.NewSettingsRepository()
|
|
notifySvc = notify.NewNotifyService(settingsRepo)
|
|
|
|
group := router.Group("/api")
|
|
group.Bind(apis.RequireSuperuserAuth())
|
|
handlers.NewCertificateHandler(group, certificateSvc)
|
|
handlers.NewWorkflowHandler(group, workflowSvc)
|
|
handlers.NewStatisticsHandler(group, statisticsSvc)
|
|
handlers.NewNotifyHandler(group, notifySvc)
|
|
}
|
|
|
|
func Unregister() {
|
|
if workflowSvc != nil {
|
|
workflowSvc.Shutdown(context.Background())
|
|
}
|
|
}
|