Documentation
¶
Overview ¶
Package api4datatug is the DataTug module's HTTP API layer. It translates HTTP into domain commands and back; the business logic lives in facade4datatug and the storage access in dal-go.
Index ¶
- func RegisterHttpRoutes(handle extension.HTTPHandleFunc, ids facade4datatug.IDGenerator)
- func RegisterHttpRoutesWithPlan(handle extension.HTTPHandleFunc, ids facade4datatug.IDGenerator, ...)
- type CreateProjectRequest
- type CreateProjectResponse
- type PlanRouteOptions
- type RegisterGithubProjectRequest
- type RegisterGithubProjectResponse
- type VerifiedPlanCaller
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterHttpRoutes ¶
func RegisterHttpRoutes(handle extension.HTTPHandleFunc, ids facade4datatug.IDGenerator)
RegisterHttpRoutes registers the DataTug module's HTTP routes.
ids is the host's adapter for the domain's IDGenerator port; the host supplies it at composition time (sneat-go/pkg/modules/datatug).
Route paths are literal: the host mounts them verbatim, with no module-id or /v0/ prefix added. These are the paths the datatug-apps client already calls.
func RegisterHttpRoutesWithPlan ¶ added in v0.4.0
func RegisterHttpRoutesWithPlan(handle extension.HTTPHandleFunc, ids facade4datatug.IDGenerator, plan PlanRouteOptions)
RegisterHttpRoutesWithPlan adds the personal plan route with host-injected verification and reads. An unbound route fails closed with 503.
Types ¶
type CreateProjectRequest ¶
CreateProjectRequest is the body of a create-project request. The store is taken from the `?store=` query parameter (the same shape the datatug CLI agent's create_project endpoint uses), so it is not part of the JSON body.
func (CreateProjectRequest) Validate ¶
func (v CreateProjectRequest) Validate() error
Validate validates the request.
type CreateProjectResponse ¶
type CreateProjectResponse struct {
ID string `json:"id"`
}
CreateProjectResponse is the response of a successful create-project call.
type PlanRouteOptions ¶ added in v0.4.0
type PlanRouteOptions struct {
Verifier VerifiedPlanCaller
Service facade4datatug.PersonalPlanService
}
type RegisterGithubProjectRequest ¶ added in v0.2.0
type RegisterGithubProjectRequest struct {
Org string `json:"org"`
Repo string `json:"repo"`
Folder string `json:"folder"`
Title string `json:"title"`
}
RegisterGithubProjectRequest is the body of a register-github-project request: a project whose files the client has already committed to a GitHub repository, which the cloud only needs to record in the user's index.
func (RegisterGithubProjectRequest) Validate ¶ added in v0.2.0
func (v RegisterGithubProjectRequest) Validate() error
Validate validates the request.
type RegisterGithubProjectResponse ¶ added in v0.2.0
type RegisterGithubProjectResponse struct {
ID string `json:"id"`
}
RegisterGithubProjectResponse is the response of a successful call.
type VerifiedPlanCaller ¶ added in v0.4.0
type VerifiedPlanCaller interface {
VerifyPlanCaller(context.Context, *http.Request) (string, error)
}
VerifiedPlanCaller is implemented by the host's credential verifier. It must check token signature, audience, scope and active grant as applicable; this route never regards the Authorization header itself as proof.