Fix: login flow

This commit is contained in:
2025-12-07 18:56:31 +08:00
parent 3970dd5ebd
commit f4c92504e8
9 changed files with 72 additions and 11 deletions

View File

@@ -1,9 +1,9 @@
package api
import (
"fmt"
"net/http"
"gitea.konchin.com/go2025/backend/middlewares"
"github.com/uptrace/bunrouter"
)
@@ -24,7 +24,25 @@ func (self *Handlers) GetAliases(
w http.ResponseWriter, req bunrouter.Request,
) error {
// mock output
fmt.Fprintf(w, "%s", `[{"id": 1, "name": "yajiu"}]`)
return nil
// return utils.Success(w)
ctx := req.Context()
aliases, err := self.db.GetAliases(ctx)
if err != nil {
return middlewares.HTTPError{
StatusCode: http.StatusInternalServerError,
Message: "failed to get aliases",
OriginError: err,
}
}
var output []getAliasesOutputAlias
for _, alias := range aliases {
output = append(output, getAliasesOutputAlias{
Id: alias.Id,
Name: alias.Name,
})
}
return bunrouter.JSON(w, output)
}

View File

@@ -2,7 +2,9 @@ package api
import (
"net/http"
"strings"
"gitea.konchin.com/go2025/backend/middlewares"
"gitea.konchin.com/go2025/backend/utils"
"github.com/uptrace/bunrouter"
)
@@ -25,5 +27,18 @@ type getImagesOutputImage struct {
func (self *Handlers) GetImages(
w http.ResponseWriter, req bunrouter.Request,
) error {
// ctx := req.Context()
images := strings.Split(req.Param("images"), ",")
aliases := strings.Split(req.Param("aliases"), ",")
if (len(images) == 0 && len(aliases) == 0) ||
(len(images) > 0 && len(aliases) > 0) {
return middlewares.HTTPError{
StatusCode: http.StatusBadRequest,
Message: "images and aliases should exist exactly one",
}
}
return utils.Success(w)
}

View File

@@ -1,8 +1,11 @@
package api
import "gitea.konchin.com/go2025/backend/interfaces"
type Handlers struct {
db interfaces.Database
}
func NewHandlers() *Handlers {
return &Handlers{}
func NewHandlers(db interfaces.Database) *Handlers {
return &Handlers{db: db}
}

View File

@@ -58,7 +58,7 @@ func (self *Handlers) PostGenLoginUrl(
return bunrouter.JSON(w, postGenLoginUrlOutput{
LoginUrl: viper.GetString("external-url") +
"/auth/login?" +
"/login?" +
"token=" + token,
})
}