package router import ( "github.com/labstack/echo/v5" "github.com/pocketbase/pocketbase/apis" "github.com/pocketbase/pocketbase/core" ) func (r *RouterContainer) AuthRoute() { r.PB.OnBeforeServe().Add(func(e *core.ServeEvent) error { e.Router.GET("/login", func(c echo.Context) error { data := struct { Phone string `json:"phone" form:"phone"` }{} if err := c.Bind(&data); err != nil { return apis.NewBadRequestError("Failed to read request data", err) } record, err := r.PB.Dao().FindFirstRecordByData("users", "phone", data.Phone) if err != nil { return apis.NewBadRequestError("Invalid credentials", err) } return apis.RecordAuthResponse(r.PB, c, record, nil) }) return nil }) }