api

package
v0.0.6-0...-417b642 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GetApi = goutils.EchoRoute[service.Service]{
	Method: goutils.GET,
	Path:   "/ta",
	F: func(service *service.Service) goutils.EchoRouteFunc {
		return func(c echo.Context) error {
			encodedPublicKey := c.QueryParam("public_key")
			publicKey, err := base64.URLEncoding.DecodeString(encodedPublicKey)

			if err != nil {
				return c.String(http.StatusBadRequest, "invalid base64")
			}

			ta, err := service.DB.Client.TA.Query().
				Where(ta.PublicKeyEQ(publicKey)).
				Only(*service.DB.Ctx)

			if err != nil {
				return c.String(http.StatusBadRequest, "invalid request")
			}

			return c.JSON(http.StatusOK, ta)
		}
	},
}
View Source
var PostApi = goutils.EchoRoute[service.Service]{
	Method: goutils.POST,
	Path:   "/ta",
	F: func(service *service.Service) goutils.EchoRouteFunc {
		return func(c echo.Context) error {
			var req io.PostRequest

			err := auth.Authenticate(service, c)
			if err != nil {
				return c.String(http.StatusUnauthorized, "unauthorized")
			}

			err = c.Bind(&req)
			if err != nil {
				return c.String(http.StatusBadRequest, "invalid json body")
			}

			ta, err := service.DB.Client.TA.Create().
				SetRepository(req.Repository).
				SetPublicKey(req.PublicKey).
				SetCommitID(req.CommitId).
				SetEvidence(req.Evidence).
				Save(*service.DB.Ctx)

			if err != nil {
				return c.String(http.StatusBadRequest, "failed to store the log")
			}

			return c.String(http.StatusOK, fmt.Sprintf("%d", ta.ID))
		}
	},
}

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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