48 lines
933 B
Go
48 lines
933 B
Go
package api
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"gitea.konchin.com/go2025/backend/middlewares"
|
|
"github.com/uptrace/bunrouter"
|
|
)
|
|
|
|
type GetAliasesOutputAlias struct {
|
|
Id int64 `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// GetAliases
|
|
//
|
|
// @summary Get aliases
|
|
// @description get alias ids and names
|
|
// @success 200 {object} []GetAliasesOutputAlias
|
|
// @failure 400
|
|
// @failure 401
|
|
// @router /api/aliases [get]
|
|
func (self *Handlers) GetAliases(
|
|
w http.ResponseWriter, req bunrouter.Request,
|
|
) error {
|
|
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)
|
|
}
|