fix: rebase

This commit is contained in:
alikafy 2024-06-14 12:11:36 +03:30 committed by hossein
parent 620db23582
commit 4185ef594b
118 changed files with 654 additions and 624 deletions

View File

@ -16,7 +16,7 @@ import (
// @Param Request body adminserviceparam.LoginWithPhoneNumberRequest true "Admin login request body" // @Param Request body adminserviceparam.LoginWithPhoneNumberRequest true "Admin login request body"
// @Success 200 {object} adminserviceparam.LoginWithPhoneNumberResponse // @Success 200 {object} adminserviceparam.LoginWithPhoneNumberResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Router /admins/login-by-phone [post] // @Router /admins/login-by-phone [post].
func (h Handler) LoginByPhoneNumber(c echo.Context) error { func (h Handler) LoginByPhoneNumber(c echo.Context) error {
var req adminserviceparam.LoginWithPhoneNumberRequest var req adminserviceparam.LoginWithPhoneNumberRequest

View File

@ -17,7 +17,7 @@ import (
// @Success 200 {object} adminserviceparam.RegisterResponse // @Success 200 {object} adminserviceparam.RegisterResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerAdmin // @Security AuthBearerAdmin
// @Router /admins/register [post] // @Router /admins/register [post].
func (h Handler) Register(c echo.Context) error { func (h Handler) Register(c echo.Context) error {
var req adminserviceparam.RegisterRequest var req adminserviceparam.RegisterRequest

View File

@ -20,7 +20,7 @@ import (
// @Success 200 {object} param.KindBoxReqAcceptResponse // @Success 200 {object} param.KindBoxReqAcceptResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerAdmin // @Security AuthBearerAdmin
// @Router /admin/kindboxreqs/accept-kind-box-req/{id} [patch] // @Router /admin/kindboxreqs/accept-kind-box-req/{id} [patch].
func (h Handler) Accept(c echo.Context) error { func (h Handler) Accept(c echo.Context) error {
var req param.KindBoxReqAcceptRequest var req param.KindBoxReqAcceptRequest
if bErr := c.Bind(&req); bErr != nil { if bErr := c.Bind(&req); bErr != nil {

View File

@ -20,7 +20,7 @@ import (
// @Success 200 {object} param.AssignSenderResponse // @Success 200 {object} param.AssignSenderResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerAdmin // @Security AuthBearerAdmin
// @Router /admin/kindboxreqs/assign-sender-agent/{id} [patch] // @Router /admin/kindboxreqs/assign-sender-agent/{id} [patch].
func (h Handler) AssignSenderAgent(c echo.Context) error { func (h Handler) AssignSenderAgent(c echo.Context) error {
var req param.AssignSenderRequest var req param.AssignSenderRequest

View File

@ -19,7 +19,7 @@ import (
// @Success 200 {object} param.DeliverKindBoxReqResponse // @Success 200 {object} param.DeliverKindBoxReqResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerAdmin // @Security AuthBearerAdmin
// @Router /admin/kindboxreqs/deliver-kind-box-req/{id} [patch] // @Router /admin/kindboxreqs/deliver-kind-box-req/{id} [patch].
func (h Handler) Deliver(c echo.Context) error { func (h Handler) Deliver(c echo.Context) error {
var req param.DeliverKindBoxReqRequest var req param.DeliverKindBoxReqRequest

View File

@ -17,7 +17,7 @@ import (
// @Success 200 {object} param.KindBoxReqGetAllResponse // @Success 200 {object} param.KindBoxReqGetAllResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerAdmin // @Security AuthBearerAdmin
// @Router /admin/kindboxreqs [get] // @Router /admin/kindboxreqs [get].
func (h Handler) GetAll(c echo.Context) error { func (h Handler) GetAll(c echo.Context) error {
var req param.KindBoxReqGetAllRequest var req param.KindBoxReqGetAllRequest
if bErr := c.Bind(&req); bErr != nil { if bErr := c.Bind(&req); bErr != nil {

View File

@ -20,7 +20,7 @@ import (
// @Success 200 {object} param.KindBoxReqRejectResponse // @Success 200 {object} param.KindBoxReqRejectResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerAdmin // @Security AuthBearerAdmin
// @Router /admin/kindboxreqs/reject-kind-box-req/{id} [patch] // @Router /admin/kindboxreqs/reject-kind-box-req/{id} [patch].
func (h Handler) Reject(c echo.Context) error { func (h Handler) Reject(c echo.Context) error {
var req param.KindBoxReqRejectRequest var req param.KindBoxReqRejectRequest
if bErr := c.Bind(&req); bErr != nil { if bErr := c.Bind(&req); bErr != nil {

View File

@ -10,6 +10,7 @@ func (h Handler) SetRoutes(e *echo.Echo) {
r := e.Group("/admin/kindboxreqs") r := e.Group("/admin/kindboxreqs")
r.Use(middleware.Auth(h.authSvc, h.authConfig)) r.Use(middleware.Auth(h.authSvc, h.authConfig))
r.POST("", h.AddKindBoxReq, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqAddPermission))
r.PATCH("/accept-kind-box-req/:id", h.Accept, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqAcceptPermission)) r.PATCH("/accept-kind-box-req/:id", h.Accept, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqAcceptPermission))
r.PATCH("/reject-kind-box-req/:id", h.Reject, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqRejectPermission)) r.PATCH("/reject-kind-box-req/:id", h.Reject, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqRejectPermission))
r.PATCH("/deliver-kind-box-req/:id", h.Deliver, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqDeliverPermission)) r.PATCH("/deliver-kind-box-req/:id", h.Deliver, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqDeliverPermission))

View File

@ -19,7 +19,7 @@ import (
// @Success 201 {object} param.BenefactorAddAddressResponse // @Success 201 {object} param.BenefactorAddAddressResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerBenefactor // @Security AuthBearerBenefactor
// @Router /address/ [post] // @Router /address/ [post].
func (h Handler) AddAddress(c echo.Context) error { func (h Handler) AddAddress(c echo.Context) error {
req := param.BenefactorAddAddressRequest{} req := param.BenefactorAddAddressRequest{}
if bErr := c.Bind(&req); bErr != nil { if bErr := c.Bind(&req); bErr != nil {

View File

@ -18,7 +18,7 @@ import (
// @Success 200 {object} param.GetAddressResponse // @Success 200 {object} param.GetAddressResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerBenefactor // @Security AuthBearerBenefactor
// @Router /address/{id} [get] // @Router /address/{id} [get].
func (h Handler) GetAddress(c echo.Context) error { func (h Handler) GetAddress(c echo.Context) error {
var req param.GetAddressRequest var req param.GetAddressRequest
if bErr := echo.PathParamsBinder(c).Uint("id", &req.AddressID).BindError(); bErr != nil { if bErr := echo.PathParamsBinder(c).Uint("id", &req.AddressID).BindError(); bErr != nil {

View File

@ -17,7 +17,7 @@ import (
// @Success 200 {object} param.GetAllAddressesResponse // @Success 200 {object} param.GetAllAddressesResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerBenefactor // @Security AuthBearerBenefactor
// @Router /address/ [get] // @Router /address/ [get].
func (h Handler) GetAddresses(c echo.Context) error { func (h Handler) GetAddresses(c echo.Context) error {
var req param.GetAllAddressesRequest var req param.GetAllAddressesRequest

View File

@ -15,7 +15,7 @@ import (
// @Produce json // @Produce json
// @Success 200 {object} addressparam.GetAllCitiesResponse // @Success 200 {object} addressparam.GetAllCitiesResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Router /address/cities [get] // @Router /address/cities [get].
func (h Handler) GetAllCities(c echo.Context) error { func (h Handler) GetAllCities(c echo.Context) error {
var req addressparam.GetAllCitiesRequest var req addressparam.GetAllCitiesRequest

View File

@ -15,7 +15,7 @@ import (
// @Produce json // @Produce json
// @Success 200 {object} addressparam.GetAllProvincesResponse // @Success 200 {object} addressparam.GetAllProvincesResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Router /address/provinces [get] // @Router /address/provinces [get].
func (h Handler) GetAllProvinces(c echo.Context) error { func (h Handler) GetAllProvinces(c echo.Context) error {
var req addressparam.GetAllProvincesRequest var req addressparam.GetAllProvincesRequest

View File

@ -17,7 +17,7 @@ import (
// @Param Request body benefactoreparam.LoginOrRegisterRequest true "Login or register request details" // @Param Request body benefactoreparam.LoginOrRegisterRequest true "Login or register request details"
// @Success 200 {object} benefactoreparam.LoginOrRegisterResponse // @Success 200 {object} benefactoreparam.LoginOrRegisterResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Router /benefactor/login-register [post] // @Router /benefactor/login-register [post].
func (h Handler) loginOrRegister(c echo.Context) error { func (h Handler) loginOrRegister(c echo.Context) error {
var req benefactoreparam.LoginOrRegisterRequest var req benefactoreparam.LoginOrRegisterRequest

View File

@ -17,7 +17,7 @@ import (
// @Param Request body benefactoreparam.SendOtpRequest true "Send OTP request details" // @Param Request body benefactoreparam.SendOtpRequest true "Send OTP request details"
// @Success 200 {object} benefactoreparam.SendOtpResponse // @Success 200 {object} benefactoreparam.SendOtpResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Router /benefactor/send-otp [post] // @Router /benefactor/send-otp [post].
func (h Handler) SendOtp(c echo.Context) error { func (h Handler) SendOtp(c echo.Context) error {
var req benefactoreparam.SendOtpRequest var req benefactoreparam.SendOtpRequest

View File

@ -18,7 +18,7 @@ import (
// @Success 200 {object} param.KindBoxGetResponse // @Success 200 {object} param.KindBoxGetResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerBenefactor // @Security AuthBearerBenefactor
// @Router /benefactor/kindboxes/{id} [get] // @Router /benefactor/kindboxes/{id} [get].
func (h Handler) Get(c echo.Context) error { func (h Handler) Get(c echo.Context) error {
var req param.KindBoxGetRequest var req param.KindBoxGetRequest
if bErr := c.Bind(&req); bErr != nil { if bErr := c.Bind(&req); bErr != nil {

View File

@ -18,11 +18,10 @@ import (
// @Success 200 {object} param.KindBoxReqAddResponse // @Success 200 {object} param.KindBoxReqAddResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerBenefactor // @Security AuthBearerBenefactor
// @Router /benefactor/kindboxreqs/ [post] // @Router /benefactor/kindboxreqs/ [post].
func (h Handler) Add(c echo.Context) error { func (h Handler) Add(c echo.Context) error {
req := param.KindBoxReqAddRequest{} req := param.KindBoxReqAddRequest{}
if err := c.Bind(&req); err != nil { if err := c.Bind(&req); err != nil {
return c.JSON(http.StatusBadRequest, echo.Map{ return c.JSON(http.StatusBadRequest, echo.Map{
"message": errmsg.ErrBadRequest, "message": errmsg.ErrBadRequest,
}) })

View File

@ -1,11 +1,12 @@
package benefactorkindboxreqhandler package benefactorkindboxreqhandler
import ( import (
"net/http"
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req" param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
"git.gocasts.ir/ebhomengo/niki/pkg/claim" "git.gocasts.ir/ebhomengo/niki/pkg/claim"
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg" httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
"github.com/labstack/echo/v4" "github.com/labstack/echo/v4"
"net/http"
) )
// delete godoc // delete godoc
@ -18,11 +19,10 @@ import (
// @Success 200 {object} param.KindBoxReqDeleteResponse // @Success 200 {object} param.KindBoxReqDeleteResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerBenefactor // @Security AuthBearerBenefactor
// @Router /benefactor/kindboxreqs/{id} [delete] // @Router /benefactor/kindboxreqs/{id} [delete].
func (h Handler) Delete(c echo.Context) error { func (h Handler) Delete(c echo.Context) error {
req := param.KindBoxReqDeleteRequest{} req := param.KindBoxReqDeleteRequest{}
if bErr := echo.PathParamsBinder(c).Uint("id", &req.KindBoxReqID).BindError(); bErr != nil { if bErr := echo.PathParamsBinder(c).Uint("id", &req.KindBoxReqID).BindError(); bErr != nil {
return echo.NewHTTPError(http.StatusBadRequest) return echo.NewHTTPError(http.StatusBadRequest)
} }
claims := claim.GetClaimsFromEchoContext(c) claims := claim.GetClaimsFromEchoContext(c)

View File

@ -18,7 +18,7 @@ import (
// @Success 200 {object} param.KindBoxReqGetResponse // @Success 200 {object} param.KindBoxReqGetResponse
// @Failure 400 {string} "Bad request" // @Failure 400 {string} "Bad request"
// @Security AuthBearerBenefactor // @Security AuthBearerBenefactor
// @Router /benefactor/kindboxreqs/{id} [get] // @Router /benefactor/kindboxreqs/{id} [get].
func (h Handler) Get(c echo.Context) error { func (h Handler) Get(c echo.Context) error {
var req param.KindBoxReqGetRequest var req param.KindBoxReqGetRequest
if bErr := echo.PathParamsBinder(c).Uint("id", &req.KindBoxReqID).BindError(); bErr != nil { if bErr := echo.PathParamsBinder(c).Uint("id", &req.KindBoxReqID).BindError(); bErr != nil {

View File

@ -2,6 +2,7 @@ package httpserver
import ( import (
"fmt" "fmt"
config "git.gocasts.ir/ebhomengo/niki/config" config "git.gocasts.ir/ebhomengo/niki/config"
adminhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/admin" adminhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/admin"
adminkindboxreqhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/kind_box_req" adminkindboxreqhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/kind_box_req"
@ -92,11 +93,11 @@ func (s Server) Serve() {
} }
func RegisterSwagger(s *echo.Echo, config config.Config) { func RegisterSwagger(s *echo.Echo, config config.Config) {
//TODO: move this to a better place and make it more dynamic and configurable // TODO: move this to a better place and make it more dynamic and configurable
docs.SwaggerInfo.Title = "NIKI API" docs.SwaggerInfo.Title = "NIKI API"
docs.SwaggerInfo.Description = "This is the API documentation for the NIKI project" docs.SwaggerInfo.Description = "This is the API documentation for the NIKI project"
docs.SwaggerInfo.Version = "1.0.0" docs.SwaggerInfo.Version = "1.0.0"
//docs.SwaggerInfo.BasePath = "/api/v1" // docs.SwaggerInfo.BasePath = "/api/v1"
docs.SwaggerInfo.Host = fmt.Sprintf("localhost:%d", config.HTTPServer.Port) docs.SwaggerInfo.Host = fmt.Sprintf("localhost:%d", config.HTTPServer.Port)
s.GET("/swagger/*any", echoSwagger.WrapHandler) s.GET("/swagger/*any", echoSwagger.WrapHandler)

View File

@ -5,6 +5,7 @@ type AdminPermission string
const ( const (
AdminAdminRegisterPermission = AdminPermission("admin-register") AdminAdminRegisterPermission = AdminPermission("admin-register")
AdminKindBoxReqAcceptPermission = AdminPermission("kindboxreq-accept") AdminKindBoxReqAcceptPermission = AdminPermission("kindboxreq-accept")
AdminKindBoxReqAddPermission = AdminPermission("kindboxreq-add")
AdminKindBoxReqRejectPermission = AdminPermission("kindboxreq-reject") AdminKindBoxReqRejectPermission = AdminPermission("kindboxreq-reject")
AdminKindBoxReqGetAllPermission = AdminPermission("kindboxreq-getall") AdminKindBoxReqGetAllPermission = AdminPermission("kindboxreq-getall")
AdminKindBoxReqDeliverPermission = AdminPermission("kindboxreq-deliver") AdminKindBoxReqDeliverPermission = AdminPermission("kindboxreq-deliver")

2
go.mod
View File

@ -16,6 +16,7 @@ require (
github.com/rubenv/sql-migrate v1.6.0 github.com/rubenv/sql-migrate v1.6.0
github.com/stretchr/testify v1.9.0 github.com/stretchr/testify v1.9.0
github.com/swaggo/echo-swagger v1.4.1 github.com/swaggo/echo-swagger v1.4.1
github.com/swaggo/swag v1.16.3
golang.org/x/crypto v0.23.0 golang.org/x/crypto v0.23.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/natefinch/lumberjack.v2 v2.2.1
) )
@ -46,7 +47,6 @@ require (
github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/swaggo/files/v2 v2.0.0 // indirect github.com/swaggo/files/v2 v2.0.0 // indirect
github.com/swaggo/swag v1.16.3 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.2 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect
golang.org/x/net v0.25.0 // indirect golang.org/x/net v0.25.0 // indirect

View File

@ -1,8 +1,9 @@
package adminkindboxparam package adminkindboxparam
import ( import (
entity "git.gocasts.ir/ebhomengo/niki/entity"
"time" "time"
entity "git.gocasts.ir/ebhomengo/niki/entity"
) )
type AddKindBoxRequest struct { type AddKindBoxRequest struct {

View File

@ -3,9 +3,11 @@ package adminkindboxreqparam
import entity "git.gocasts.ir/ebhomengo/niki/entity" import entity "git.gocasts.ir/ebhomengo/niki/entity"
type KindBoxReqAddRequest struct { type KindBoxReqAddRequest struct {
BenefactorID uint BenefactorID uint `json:"benefactor_id" example:"1"`
TypeID uint TypeID entity.KindBoxType `json:"type_id" example:"1"`
CountRequested uint DeliverAddressID uint `json:"deliver_address_id" example:"1"`
DeliverReferDate string `json:"deliver_refer_date" example:"2025-01-02 15:04:05"`
CountRequested uint `json:"count_requested" example:"2"`
} }
type KindBoxReqAddResponse struct { type KindBoxReqAddResponse struct {

View File

@ -2,6 +2,7 @@ package mysqladmin
import ( import (
"context" "context"
"git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/entity"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"

View File

@ -4,11 +4,12 @@ import (
"context" "context"
"database/sql" "database/sql"
"errors" "errors"
"time"
"git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/entity"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
"git.gocasts.ir/ebhomengo/niki/repository/mysql" "git.gocasts.ir/ebhomengo/niki/repository/mysql"
"time"
) )
func (d DB) IsExistBenefactorByPhoneNumber(ctx context.Context, phoneNumber string) (bool, entity.Benefactor, error) { func (d DB) IsExistBenefactorByPhoneNumber(ctx context.Context, phoneNumber string) (bool, entity.Benefactor, error) {
@ -56,7 +57,6 @@ func (d *DB) IsExistBenefactorByID(ctx context.Context, id uint) (bool, error) {
} }
func scanBenefactor(scanner mysql.Scanner) (entity.Benefactor, error) { func scanBenefactor(scanner mysql.Scanner) (entity.Benefactor, error) {
var createdAt, updatedAt time.Time var createdAt, updatedAt time.Time
var benefactor entity.Benefactor var benefactor entity.Benefactor
// TODO - use db model and mapper between entity and db model OR use this approach // TODO - use db model and mapper between entity and db model OR use this approach

View File

@ -2,6 +2,7 @@ package mysqlkindboxreq
import ( import (
"context" "context"
"git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/entity"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"

View File

@ -2,6 +2,7 @@ package mysqlkindboxreq
import ( import (
"context" "context"
"git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/entity"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"

View File

@ -2,6 +2,7 @@ package mysqlkindboxreq
import ( import (
"context" "context"
entity "git.gocasts.ir/ebhomengo/niki/entity" entity "git.gocasts.ir/ebhomengo/niki/entity"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"

View File

@ -2,9 +2,10 @@ package mysqlkindboxreq
import ( import (
"context" "context"
"time"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
"time"
) )
func (d DB) DeleteKindBoxReqByID(ctx context.Context, kindBoxReqID uint) error { func (d DB) DeleteKindBoxReqByID(ctx context.Context, kindBoxReqID uint) error {

View File

@ -3,6 +3,7 @@ package mysqlkindboxreq
import ( import (
"context" "context"
"database/sql" "database/sql"
"git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/entity"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"

View File

@ -4,6 +4,7 @@ import (
"context" "context"
"database/sql" "database/sql"
"errors" "errors"
"git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/entity"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"

View File

@ -2,6 +2,7 @@ package mysqlkindboxreq
import ( import (
"context" "context"
"git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/entity"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"

View File

@ -19,6 +19,8 @@ type Repository interface {
GetAdminByPhoneNumber(ctx context.Context, phoneNumber string) (entity.Admin, error) GetAdminByPhoneNumber(ctx context.Context, phoneNumber string) (entity.Admin, error)
GetAdminByID(ctx context.Context, adminID uint) (entity.Admin, error) GetAdminByID(ctx context.Context, adminID uint) (entity.Admin, error)
GetAllAgent(ctx context.Context) ([]entity.Admin, error) GetAllAgent(ctx context.Context) ([]entity.Admin, error)
IsExistBenefactorByID(ctx context.Context, id uint) (bool, error)
GetAddressByID(ctx context.Context, id uint) (*entity.Address, error)
} }
type Service struct { type Service struct {

View File

@ -17,6 +17,7 @@ type Repository interface {
DeliverKindBoxReq(ctx context.Context, kindBoxReqID uint) error DeliverKindBoxReq(ctx context.Context, kindBoxReqID uint) error
GetAllKindBoxReq(ctx context.Context, filter params.FilterRequest, pagination params.PaginationRequest, sort params.SortRequest) ([]entity.KindBoxReq, uint, error) GetAllKindBoxReq(ctx context.Context, filter params.FilterRequest, pagination params.PaginationRequest, sort params.SortRequest) ([]entity.KindBoxReq, uint, error)
GetAwaitingDeliveryByAgent(ctx context.Context, kindBoxReqID uint, agentID uint) (entity.KindBoxReq, error) GetAwaitingDeliveryByAgent(ctx context.Context, kindBoxReqID uint, agentID uint) (entity.KindBoxReq, error)
AddKindBoxReq(ctx context.Context, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error)
} }
type KindBoxSvc interface { type KindBoxSvc interface {

View File

@ -2,6 +2,7 @@ package benefactoraddressservice
import ( import (
"context" "context"
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/address" param "git.gocasts.ir/ebhomengo/niki/param/benefactor/address"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
) )

View File

@ -2,6 +2,7 @@ package benefactorkindboxreqservice
import ( import (
"context" "context"
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req" param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
) )

View File

@ -6,7 +6,6 @@ import (
"git.gocasts.ir/ebhomengo/niki/repository/migrator" "git.gocasts.ir/ebhomengo/niki/repository/migrator"
"git.gocasts.ir/ebhomengo/niki/repository/mysql" "git.gocasts.ir/ebhomengo/niki/repository/mysql"
//nolint //nolint
_ "github.com/go-sql-driver/mysql" _ "github.com/go-sql-driver/mysql"
) )

View File

@ -72,7 +72,7 @@ func SendOTP(t *testing.T) benefactoreparam.SendOtpResponse {
return resp return resp
} }
//nolint // nolint
func CreateBenefactorWithSvc(t *testing.T, req benefactoreparam.LoginOrRegisterRequest) (benefactoreparam.LoginOrRegisterResponse, func()) { func CreateBenefactorWithSvc(t *testing.T, req benefactoreparam.LoginOrRegisterRequest) (benefactoreparam.LoginOrRegisterResponse, func()) {
t.Helper() t.Helper()
ctx := context.Background() ctx := context.Background()
@ -88,7 +88,7 @@ func CreateBenefactorWithSvc(t *testing.T, req benefactoreparam.LoginOrRegisterR
} }
} }
//nolint // nolint
func CreateAddressWithSvc(t *testing.T, req addressparam.BenefactorAddAddressRequest) (addressparam.BenefactorAddAddressResponse, func()) { func CreateAddressWithSvc(t *testing.T, req addressparam.BenefactorAddAddressRequest) (addressparam.BenefactorAddAddressResponse, func()) {
t.Helper() t.Helper()
ctx := context.Background() ctx := context.Background()

View File

@ -52,7 +52,7 @@ func NewMockRepository(hasErr bool) *MockRepository {
} }
} }
//nolint // nolint
func (m *MockRepository) AddKindBoxReq(ctx context.Context, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error) { func (m *MockRepository) AddKindBoxReq(ctx context.Context, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error) {
if m.hasErr { if m.hasErr {
return entity.KindBoxReq{}, fmt.Errorf(RepoErr) return entity.KindBoxReq{}, fmt.Errorf(RepoErr)

View File

@ -11,7 +11,7 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
//nolint // nolint
func CreateBenefactor(t *testing.T, db *mysql.DB) (*entity.Benefactor, func()) { func CreateBenefactor(t *testing.T, db *mysql.DB) (*entity.Benefactor, func()) {
t.Helper() t.Helper()
benefactor := &entity.Benefactor{ benefactor := &entity.Benefactor{
@ -42,7 +42,7 @@ func CreateBenefactor(t *testing.T, db *mysql.DB) (*entity.Benefactor, func()) {
} }
} }
//nolint // nolint
func CreateAddress(t *testing.T, db *mysql.DB, benfactorID uint) (*entity.Address, func()) { func CreateAddress(t *testing.T, db *mysql.DB, benfactorID uint) (*entity.Address, func()) {
t.Helper() t.Helper()
address := &entity.Address{ address := &entity.Address{

View File

@ -25,11 +25,17 @@ type Repository interface {
type AdminSvc interface { type AdminSvc interface {
AdminExistByID(ctx context.Context, req param.AdminExistByIDRequest) (param.AdminExistByIDResponse, error) AdminExistByID(ctx context.Context, req param.AdminExistByIDRequest) (param.AdminExistByIDResponse, error)
BenefactorExistByID(ctx context.Context, request param.BenefactorExistByIDRequest) (param.BenefactorExistByIDResponse, error)
}
type AddressSvc interface {
AddressExistByID(ctx context.Context, request param.GetAddressByIDRequest) (param.GetAddressByIDResponse, error)
} }
type Validator struct { type Validator struct {
repo Repository repo Repository
adminSvc AdminSvc adminSvc AdminSvc
addressSvc AddressSvc
} }
func New(repo Repository, adminSvc AdminSvc) Validator { func New(repo Repository, adminSvc AdminSvc) Validator {

View File

@ -2,6 +2,7 @@ package benefactorkindboxreqvalidator
import ( import (
"errors" "errors"
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req" param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"

View File

@ -3,13 +3,14 @@ package benefactorkindboxreqvalidator
import ( import (
"context" "context"
"fmt" "fmt"
"time"
"git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/entity"
refertimeparam "git.gocasts.ir/ebhomengo/niki/param/admin/refer_time" refertimeparam "git.gocasts.ir/ebhomengo/niki/param/admin/refer_time"
addressparam "git.gocasts.ir/ebhomengo/niki/param/benefactor/address" addressparam "git.gocasts.ir/ebhomengo/niki/param/benefactor/address"
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/benefactore" param "git.gocasts.ir/ebhomengo/niki/param/benefactor/benefactore"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
validation "github.com/go-ozzo/ozzo-validation/v4" validation "github.com/go-ozzo/ozzo-validation/v4"
"time"
) )
const ( const (

View File

@ -173,7 +173,7 @@ type ISO3166Entry struct {
Numeric string Numeric string
} }
//ISO3166List based on https://www.iso.org/obp/ui/#search/code/ Code Type "Officially Assigned Codes" // ISO3166List based on https://www.iso.org/obp/ui/#search/code/ Code Type "Officially Assigned Codes"
var ISO3166List = []ISO3166Entry{ var ISO3166List = []ISO3166Entry{
{"Afghanistan", "Afghanistan (l')", "AF", "AFG", "004"}, {"Afghanistan", "Afghanistan (l')", "AF", "AFG", "004"},
{"Albania", "Albanie (l')", "AL", "ALB", "008"}, {"Albania", "Albanie (l')", "AL", "ALB", "008"},
@ -463,7 +463,7 @@ type ISO693Entry struct {
English string English string
} }
//ISO693List based on http://data.okfn.org/data/core/language-codes/r/language-codes-3b2.json // ISO693List based on http://data.okfn.org/data/core/language-codes/r/language-codes-3b2.json
var ISO693List = []ISO693Entry{ var ISO693List = []ISO693Entry{
{Alpha3bCode: "aar", Alpha2Code: "aa", English: "Afar"}, {Alpha3bCode: "aar", Alpha2Code: "aa", English: "Afar"},
{Alpha3bCode: "abk", Alpha2Code: "ab", English: "Abkhazian"}, {Alpha3bCode: "abk", Alpha2Code: "ab", English: "Abkhazian"},

View File

@ -37,14 +37,19 @@ const RF3339WithoutZone = "2006-01-02T15:04:05"
// SetFieldsRequiredByDefault causes validation to fail when struct fields // SetFieldsRequiredByDefault causes validation to fail when struct fields
// do not include validations or are not explicitly marked as exempt (using `valid:"-"` or `valid:"email,optional"`). // do not include validations or are not explicitly marked as exempt (using `valid:"-"` or `valid:"email,optional"`).
// This struct definition will fail govalidator.ValidateStruct() (and the field values do not matter): // This struct definition will fail govalidator.ValidateStruct() (and the field values do not matter):
//
// type exampleStruct struct { // type exampleStruct struct {
// Name string `` // Name string ``
// Email string `valid:"email"` // Email string `valid:"email"`
//
// This, however, will only fail when Email is empty or an invalid email address: // This, however, will only fail when Email is empty or an invalid email address:
//
// type exampleStruct2 struct { // type exampleStruct2 struct {
// Name string `valid:"-"` // Name string `valid:"-"`
// Email string `valid:"email"` // Email string `valid:"email"`
//
// Lastly, this will only fail when Email is an invalid email address but not when it's empty: // Lastly, this will only fail when Email is an invalid email address but not when it's empty:
//
// type exampleStruct2 struct { // type exampleStruct2 struct {
// Name string `valid:"-"` // Name string `valid:"-"`
// Email string `valid:"email,optional"` // Email string `valid:"email,optional"`
@ -54,8 +59,10 @@ func SetFieldsRequiredByDefault(value bool) {
// SetNilPtrAllowedByRequired causes validation to pass for nil ptrs when a field is set to required. // SetNilPtrAllowedByRequired causes validation to pass for nil ptrs when a field is set to required.
// The validation will still reject ptr fields in their zero value state. Example with this enabled: // The validation will still reject ptr fields in their zero value state. Example with this enabled:
//
// type exampleStruct struct { // type exampleStruct struct {
// Name *string `valid:"required"` // Name *string `valid:"required"`
//
// With `Name` set to "", this will be considered invalid input and will cause a validation error. // With `Name` set to "", this will be considered invalid input and will cause a validation error.
// With `Name` set to nil, this will be considered valid by validation. // With `Name` set to nil, this will be considered valid by validation.
// By default this is disabled. // By default this is disabled.
@ -154,8 +161,8 @@ func IsAlpha(str string) bool {
return rxAlpha.MatchString(str) return rxAlpha.MatchString(str)
} }
//IsUTFLetter check if the string contains only unicode letter characters. // IsUTFLetter check if the string contains only unicode letter characters.
//Similar to IsAlpha but for all languages. Empty string is valid. // Similar to IsAlpha but for all languages. Empty string is valid.
func IsUTFLetter(str string) bool { func IsUTFLetter(str string) bool {
if IsNull(str) { if IsNull(str) {
return true return true

View File

@ -3,13 +3,12 @@ package gofakeit
import ( import (
"bytes" "bytes"
"fmt" "fmt"
"strconv"
"time"
"math/rand" "math/rand"
"reflect" "reflect"
"strconv"
"strings" "strings"
"text/template" "text/template"
"time"
) )
// TemplateOptions defines values needed for template document generation // TemplateOptions defines values needed for template document generation

View File

@ -18,6 +18,7 @@
// tag is deprecated and thus should not be used. // tag is deprecated and thus should not be used.
// Go versions prior to 1.4 are disabled because they use a different layout // Go versions prior to 1.4 are disabled because they use a different layout
// for interfaces which make the implementation of unsafeReflectValue more complex. // for interfaces which make the implementation of unsafeReflectValue more complex.
//go:build !js && !appengine && !safe && !disableunsafe && go1.4
// +build !js,!appengine,!safe,!disableunsafe,go1.4 // +build !js,!appengine,!safe,!disableunsafe,go1.4
package spew package spew

View File

@ -254,14 +254,14 @@ pointer addresses used to indirect to the final value. It provides the
following features over the built-in printing facilities provided by the fmt following features over the built-in printing facilities provided by the fmt
package: package:
* Pointers are dereferenced and followed - Pointers are dereferenced and followed
* Circular data structures are detected and handled properly - Circular data structures are detected and handled properly
* Custom Stringer/error interfaces are optionally invoked, including - Custom Stringer/error interfaces are optionally invoked, including
on unexported types on unexported types
* Custom types which only implement the Stringer/error interfaces via - Custom types which only implement the Stringer/error interfaces via
a pointer receiver are optionally invoked when passing non-pointer a pointer receiver are optionally invoked when passing non-pointer
variables variables
* Byte arrays and slices are dumped like the hexdump -C command which - Byte arrays and slices are dumped like the hexdump -C command which
includes offsets, byte values in hex, and ASCII output includes offsets, byte values in hex, and ASCII output
The configuration options are controlled by modifying the public members The configuration options are controlled by modifying the public members

View File

@ -488,14 +488,14 @@ pointer addresses used to indirect to the final value. It provides the
following features over the built-in printing facilities provided by the fmt following features over the built-in printing facilities provided by the fmt
package: package:
* Pointers are dereferenced and followed - Pointers are dereferenced and followed
* Circular data structures are detected and handled properly - Circular data structures are detected and handled properly
* Custom Stringer/error interfaces are optionally invoked, including - Custom Stringer/error interfaces are optionally invoked, including
on unexported types on unexported types
* Custom types which only implement the Stringer/error interfaces via - Custom types which only implement the Stringer/error interfaces via
a pointer receiver are optionally invoked when passing non-pointer a pointer receiver are optionally invoked when passing non-pointer
variables variables
* Byte arrays and slices are dumped like the hexdump -C command which - Byte arrays and slices are dumped like the hexdump -C command which
includes offsets, byte values in hex, and ASCII output includes offsets, byte values in hex, and ASCII output
The configuration options are controlled by an exported package global, The configuration options are controlled by an exported package global,

View File

@ -3,7 +3,6 @@ package structs
import ( import (
"fmt" "fmt"
"reflect" "reflect"
) )

View File

@ -347,8 +347,9 @@ const (
// 4) simpleLetterEqualFold, no specials, no non-letters. // 4) simpleLetterEqualFold, no specials, no non-letters.
// //
// The letters S and K are special because they map to 3 runes, not just 2: // The letters S and K are special because they map to 3 runes, not just 2:
// * S maps to s and to U+017F 'ſ' Latin small letter long s // - S maps to s and to U+017F 'ſ' Latin small letter long s
// * k maps to K and to U+212A '' Kelvin sign // - k maps to K and to U+212A '' Kelvin sign
//
// See http://play.golang.org/p/tTxjOc0OGo // See http://play.golang.org/p/tTxjOc0OGo
// //
// The returned function is specialized for matching against s and // The returned function is specialized for matching against s and

View File

@ -64,9 +64,9 @@ func JSONToYAML(j []byte) ([]byte, error) {
// this method should be a no-op. // this method should be a no-op.
// //
// Things YAML can do that are not supported by JSON: // Things YAML can do that are not supported by JSON:
// * In YAML you can have binary and null keys in your maps. These are invalid // - In YAML you can have binary and null keys in your maps. These are invalid
// in JSON. (int and float keys are converted to strings.) // in JSON. (int and float keys are converted to strings.)
// * Binary data in YAML with the !!binary tag is not supported. If you want to // - Binary data in YAML with the !!binary tag is not supported. If you want to
// use binary data with this library, encode the data as base64 as usual but do // use binary data with this library, encode the data as base64 as usual but do
// not use the !!binary tag in your YAML. This will ensure the original base64 // not use the !!binary tag in your YAML. This will ensure the original base64
// encoded data makes it all the way through to the JSON. // encoded data makes it all the way through to the JSON.

View File

@ -26,7 +26,6 @@ import (
// //
// dialect := gorp.MySQLDialect{"InnoDB", "UTF8"} // dialect := gorp.MySQLDialect{"InnoDB", "UTF8"}
// dbmap := &gorp.DbMap{Db: db, Dialect: dialect} // dbmap := &gorp.DbMap{Db: db, Dialect: dialect}
//
type DbMap struct { type DbMap struct {
ctx context.Context ctx context.Context

View File

@ -86,10 +86,9 @@ func SelectNullStr(e SqlExecutor, query string, args ...interface{}) (sql.NullSt
// SelectOne executes the given query (which should be a SELECT statement) // SelectOne executes the given query (which should be a SELECT statement)
// and binds the result to holder, which must be a pointer. // and binds the result to holder, which must be a pointer.
// //
// If no row is found, an error (sql.ErrNoRows specifically) will be returned // # If no row is found, an error (sql.ErrNoRows specifically) will be returned
// //
// If more than one row is found, an error will be returned. // If more than one row is found, an error will be returned.
//
func SelectOne(m *DbMap, e SqlExecutor, holder interface{}, query string, args ...interface{}) error { func SelectOne(m *DbMap, e SqlExecutor, holder interface{}, query string, args ...interface{}) error {
t := reflect.TypeOf(holder) t := reflect.TypeOf(holder)
if t.Kind() == reflect.Ptr { if t.Kind() == reflect.Ptr {

View File

@ -47,7 +47,6 @@ func (t *TableMap) ResetSql() {
// Automatically calls ResetSql() to ensure SQL statements are regenerated. // Automatically calls ResetSql() to ensure SQL statements are regenerated.
// //
// Panics if isAutoIncr is true, and fieldNames length != 1 // Panics if isAutoIncr is true, and fieldNames length != 1
//
func (t *TableMap) SetKeys(isAutoIncr bool, fieldNames ...string) *TableMap { func (t *TableMap) SetKeys(isAutoIncr bool, fieldNames ...string) *TableMap {
if isAutoIncr && len(fieldNames) != 1 { if isAutoIncr && len(fieldNames) != 1 {
panic(fmt.Sprintf( panic(fmt.Sprintf(
@ -73,7 +72,6 @@ func (t *TableMap) SetKeys(isAutoIncr bool, fieldNames ...string) *TableMap {
// Automatically calls ResetSql() to ensure SQL statements are regenerated. // Automatically calls ResetSql() to ensure SQL statements are regenerated.
// //
// Panics if fieldNames length < 2. // Panics if fieldNames length < 2.
//
func (t *TableMap) SetUniqueTogether(fieldNames ...string) *TableMap { func (t *TableMap) SetUniqueTogether(fieldNames ...string) *TableMap {
if len(fieldNames) < 2 { if len(fieldNames) < 2 {
panic(fmt.Sprintf( panic(fmt.Sprintf(
@ -135,7 +133,6 @@ func (t *TableMap) IdxMap(field string) *IndexMap {
// Function will panic if one of the given for index columns does not exists // Function will panic if one of the given for index columns does not exists
// //
// Automatically calls ResetSql() to ensure SQL statements are regenerated. // Automatically calls ResetSql() to ensure SQL statements are regenerated.
//
func (t *TableMap) AddIndex(name string, idxtype string, columns []string) *IndexMap { func (t *TableMap) AddIndex(name string, idxtype string, columns []string) *IndexMap {
// check if we have a index with this name already // check if we have a index with this name already
for _, idx := range t.indexes { for _, idx := range t.indexes {

View File

@ -19,6 +19,7 @@ type DateRule struct {
// Date returns a validation rule that checks if a string value is in a format that can be parsed into a date. // Date returns a validation rule that checks if a string value is in a format that can be parsed into a date.
// The format of the date should be specified as the layout parameter which accepts the same value as that for time.Parse. // The format of the date should be specified as the layout parameter which accepts the same value as that for time.Parse.
// For example, // For example,
//
// validation.Date(time.ANSIC) // validation.Date(time.ANSIC)
// validation.Date("02 Jan 06 15:04 MST") // validation.Date("02 Jan 06 15:04 MST")
// validation.Date("2006-01-02") // validation.Date("2006-01-02")

View File

@ -24,7 +24,6 @@ func (r *multipleOfRule) Error(message string) *multipleOfRule {
return r return r
} }
func (r *multipleOfRule) Validate(value interface{}) error { func (r *multipleOfRule) Validate(value interface{}) error {
rv := reflect.ValueOf(r.threshold) rv := reflect.ValueOf(r.threshold)

View File

@ -41,6 +41,7 @@ type (
// Use Key() to specify map keys that need to be validated. Each Key() call specifies a single key which can // Use Key() to specify map keys that need to be validated. Each Key() call specifies a single key which can
// be associated with multiple rules. // be associated with multiple rules.
// For example, // For example,
//
// validation.Map( // validation.Map(
// validation.Key("Name", validation.Required), // validation.Key("Name", validation.Required),
// validation.Key("Value", validation.Required, validation.Length(5, 10)), // validation.Key("Value", validation.Required, validation.Length(5, 10)),

View File

@ -53,7 +53,6 @@ var (
// } else { // } else {
// log.Fatal("not a RSA public key") // log.Fatal("not a RSA public key")
// } // }
//
func RegisterServerPubKey(name string, pubKey *rsa.PublicKey) { func RegisterServerPubKey(name string, pubKey *rsa.PublicKey) {
serverPubKeyLock.Lock() serverPubKeyLock.Lock()
if serverPubKeyRegistry == nil { if serverPubKeyRegistry == nil {

View File

@ -6,6 +6,7 @@
// License, v. 2.0. If a copy of the MPL was not distributed with this file, // License, v. 2.0. If a copy of the MPL was not distributed with this file,
// You can obtain one at http://mozilla.org/MPL/2.0/. // You can obtain one at http://mozilla.org/MPL/2.0/.
//go:build linux || darwin || dragonfly || freebsd || netbsd || openbsd || solaris || illumos
// +build linux darwin dragonfly freebsd netbsd openbsd solaris illumos // +build linux darwin dragonfly freebsd netbsd openbsd solaris illumos
package mysql package mysql

View File

@ -33,7 +33,6 @@ var (
// err := db.Exec("LOAD DATA LOCAL INFILE '" + filePath + "' INTO TABLE foo") // err := db.Exec("LOAD DATA LOCAL INFILE '" + filePath + "' INTO TABLE foo")
// if err != nil { // if err != nil {
// ... // ...
//
func RegisterLocalFile(filePath string) { func RegisterLocalFile(filePath string) {
fileRegisterLock.Lock() fileRegisterLock.Lock()
// lazy map init // lazy map init
@ -66,7 +65,6 @@ func DeregisterLocalFile(filePath string) {
// err := db.Exec("LOAD DATA LOCAL INFILE 'Reader::data' INTO TABLE foo") // err := db.Exec("LOAD DATA LOCAL INFILE 'Reader::data' INTO TABLE foo")
// if err != nil { // if err != nil {
// ... // ...
//
func RegisterReaderHandler(name string, handler func() io.Reader) { func RegisterReaderHandler(name string, handler func() io.Reader) {
readerRegisterLock.Lock() readerRegisterLock.Lock()
// lazy map init // lazy map init

View File

@ -54,7 +54,6 @@ var (
// Certificates: clientCert, // Certificates: clientCert,
// }) // })
// db, err := sql.Open("mysql", "user@tcp(localhost:3306)/test?tls=custom") // db, err := sql.Open("mysql", "user@tcp(localhost:3306)/test?tls=custom")
//
func RegisterTLSConfig(key string, config *tls.Config) error { func RegisterTLSConfig(key string, config *tls.Config) error {
if _, isBool := readBool(key); isBool || strings.ToLower(key) == "skip-verify" || strings.ToLower(key) == "preferred" { if _, isBool := readBool(key); isBool || strings.ToLower(key) == "skip-verify" || strings.ToLower(key) == "preferred" {
return fmt.Errorf("key '%s' is reserved", key) return fmt.Errorf("key '%s' is reserved", key)

View File

@ -1,9 +1,8 @@
package jwt package jwt
import ( import (
"errors"
"crypto/ed25519" "crypto/ed25519"
"errors"
) )
var ( var (

View File

@ -3,7 +3,6 @@ package jwt
import ( import (
"encoding/json" "encoding/json"
"errors" "errors"
// "fmt"
) )
// Claims type that uses the map[string]interface{} for JSON decoding // Claims type that uses the map[string]interface{} for JSON decoding

View File

@ -1,3 +1,4 @@
//go:build go1.4
// +build go1.4 // +build go1.4
package jwt package jwt

View File

@ -1,11 +1,10 @@
package jwt package jwt
import ( import (
"errors"
"crypto" "crypto"
"crypto/ed25519" "crypto/ed25519"
"crypto/rand" "crypto/rand"
"errors"
) )
var ( var (

View File

@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"time" "time"
// "fmt"
) )
// MapClaims is a claims type that uses the map[string]interface{} for JSON decoding. // MapClaims is a claims type that uses the map[string]interface{} for JSON decoding.

View File

@ -1,11 +1,10 @@
package jwt package jwt
import ( import (
"errors"
"crypto" "crypto"
"crypto/ed25519" "crypto/ed25519"
"crypto/rand" "crypto/rand"
"errors"
) )
var ( var (

View File

@ -5,20 +5,20 @@ import (
"time" "time"
) )
//MessageCountInbox ... // MessageCountInbox ...
type MessageCountInbox struct { type MessageCountInbox struct {
Startdate int `json:"startdate"` Startdate int `json:"startdate"`
Enddate int `json:"enddate"` Enddate int `json:"enddate"`
Sumcount int `json:"sumcount"` Sumcount int `json:"sumcount"`
} }
//MessageCountInboxResult ... // MessageCountInboxResult ...
type MessageCountInboxResult struct { type MessageCountInboxResult struct {
*Return `json:"return"` *Return `json:"return"`
Entries []MessageCountInbox `json:"entries"` Entries []MessageCountInbox `json:"entries"`
} }
//CountInbox ... // CountInbox ...
func (message *MessageService) CountInbox(linenumber string, startdate time.Time, endate time.Time, isread bool) (MessageCountInbox, error) { func (message *MessageService) CountInbox(linenumber string, startdate time.Time, endate time.Time, isread bool) (MessageCountInbox, error) {
v := url.Values{} v := url.Values{}
@ -33,13 +33,13 @@ func (message *MessageService) CountInbox(linenumber string, startdate time.Time
return message.CreateCountInbox(v) return message.CreateCountInbox(v)
} }
//CreateCountInbox ... // CreateCountInbox ...
func (message *MessageService) CreateCountInbox(v url.Values) (MessageCountInbox, error) { func (message *MessageService) CreateCountInbox(v url.Values) (MessageCountInbox, error) {
u := message.client.EndPoint("sms", "countinbox") u := message.client.EndPoint("sms", "countinbox")
m := new(MessageCountInboxResult) m := new(MessageCountInboxResult)
err := message.client.Execute(u.String(), v, m) err := message.client.Execute(u.String(), v, m)
if m.Entries==nil{ if m.Entries == nil {
return MessageCountInbox{},err return MessageCountInbox{}, err
} }
return m.Entries[0], err return m.Entries[0], err
} }

View File

@ -5,19 +5,19 @@ import (
"strconv" "strconv"
) )
//MessageCountPostalCode ... // MessageCountPostalCode ...
type MessageCountPostalCode struct { type MessageCountPostalCode struct {
Section string `json:"section"` Section string `json:"section"`
Value int `json:"value"` Value int `json:"value"`
} }
//MessageCountPostalCodeResult ... // MessageCountPostalCodeResult ...
type MessageCountPostalCodeResult struct { type MessageCountPostalCodeResult struct {
*Return `json:"return"` *Return `json:"return"`
Entries []MessageCountPostalCode `json:"entries"` Entries []MessageCountPostalCode `json:"entries"`
} }
//CountPostalCode ... // CountPostalCode ...
func (message *MessageService) CountPostalCode(postalcode int64) ([]MessageCountPostalCode, error) { func (message *MessageService) CountPostalCode(postalcode int64) ([]MessageCountPostalCode, error) {
u := message.client.EndPoint("sms", "countpostalcode") u := message.client.EndPoint("sms", "countpostalcode")
m := new(MessageCountPostalCodeResult) m := new(MessageCountPostalCodeResult)

View File

@ -5,20 +5,20 @@ import (
"time" "time"
) )
//MessageCountOutbox ... // MessageCountOutbox ...
type MessageCountOutbox struct { type MessageCountOutbox struct {
*MessageCountInbox *MessageCountInbox
Sumpart int `json:"sumpart"` Sumpart int `json:"sumpart"`
Cost int `json:"cost"` Cost int `json:"cost"`
} }
//MessageCountOutboxResult ... // MessageCountOutboxResult ...
type MessageCountOutboxResult struct { type MessageCountOutboxResult struct {
*Return `json:"return"` *Return `json:"return"`
Entries []MessageCountOutbox `json:"entries"` Entries []MessageCountOutbox `json:"entries"`
} }
//CountOutbox ... // CountOutbox ...
func (message *MessageService) CountOutbox(startdate time.Time, endate time.Time, status MessageStatusType) (MessageCountOutbox, error) { func (message *MessageService) CountOutbox(startdate time.Time, endate time.Time, status MessageStatusType) (MessageCountOutbox, error) {
v := url.Values{} v := url.Values{}
v.Set("startdate", ToUnix(startdate)) v.Set("startdate", ToUnix(startdate))
@ -29,13 +29,13 @@ func (message *MessageService) CountOutbox(startdate time.Time, endate time.Time
return message.CreateCountOutbox(v) return message.CreateCountOutbox(v)
} }
//CreateCountOutbox ... // CreateCountOutbox ...
func (message *MessageService) CreateCountOutbox(v url.Values) (MessageCountOutbox, error) { func (message *MessageService) CreateCountOutbox(v url.Values) (MessageCountOutbox, error) {
u := message.client.EndPoint("sms", "countoutbox") u := message.client.EndPoint("sms", "countoutbox")
m := new(MessageCountOutboxResult) m := new(MessageCountOutboxResult)
err := message.client.Execute(u.String(), v, m) err := message.client.Execute(u.String(), v, m)
if m.Entries==nil{ if m.Entries == nil {
return MessageCountOutbox{},err return MessageCountOutbox{}, err
} }
return m.Entries[0], err return m.Entries[0], err
} }

View File

@ -5,7 +5,7 @@ import (
"strconv" "strconv"
) )
//LatestOutbox ... // LatestOutbox ...
func (message *MessageService) LatestOutbox(sender string, pagesize int) ([]Message, error) { func (message *MessageService) LatestOutbox(sender string, pagesize int) ([]Message, error) {
v := url.Values{} v := url.Values{}
v.Set("sender", sender) v.Set("sender", sender)
@ -13,7 +13,7 @@ func (message *MessageService) LatestOutbox(sender string, pagesize int) ([]Mess
return message.CreateLatestOutbox(v) return message.CreateLatestOutbox(v)
} }
//CreateLatestOutbox ... // CreateLatestOutbox ...
func (message *MessageService) CreateLatestOutbox(v url.Values) ([]Message, error) { func (message *MessageService) CreateLatestOutbox(v url.Values) ([]Message, error) {
u := message.client.EndPoint("sms", "latestoutbox") u := message.client.EndPoint("sms", "latestoutbox")
vc := url.Values{} vc := url.Values{}

View File

@ -5,7 +5,7 @@ import (
"time" "time"
) )
//SelectOutbox ... // SelectOutbox ...
func (message *MessageService) SelectOutbox(startdate time.Time, endate time.Time, sender string) ([]Message, error) { func (message *MessageService) SelectOutbox(startdate time.Time, endate time.Time, sender string) ([]Message, error) {
v := url.Values{} v := url.Values{}
@ -23,7 +23,7 @@ func (message *MessageService) SelectOutbox(startdate time.Time, endate time.Tim
return message.CreateSelectOutbox(v) return message.CreateSelectOutbox(v)
} }
//CreateSelectOutbox ... // CreateSelectOutbox ...
func (message *MessageService) CreateSelectOutbox(v url.Values) ([]Message, error) { func (message *MessageService) CreateSelectOutbox(v url.Values) ([]Message, error) {
u := message.client.EndPoint("sms", "selectoutbox") u := message.client.EndPoint("sms", "selectoutbox")
m := new(MessageResult) m := new(MessageResult)

View File

@ -6,7 +6,7 @@ import (
"time" "time"
) )
//SendPostalCode ... // SendPostalCode ...
func (m *MessageService) SendPostalCode(postalcode int64, sender string, message string, mcistartindex int, mcicount int, mtnstartindex int, mtncount int, date time.Time) ([]Message, error) { func (m *MessageService) SendPostalCode(postalcode int64, sender string, message string, mcistartindex int, mcicount int, mtnstartindex int, mtncount int, date time.Time) ([]Message, error) {
v := url.Values{} v := url.Values{}
v.Set("postalcode", strconv.FormatInt(postalcode, 10)) v.Set("postalcode", strconv.FormatInt(postalcode, 10))
@ -20,7 +20,7 @@ func (m *MessageService) SendPostalCode(postalcode int64, sender string, message
return m.CreateSendPostalCode(v) return m.CreateSendPostalCode(v)
} }
//CreateSendPostalCode ... // CreateSendPostalCode ...
func (m *MessageService) CreateSendPostalCode(v url.Values) ([]Message, error) { func (m *MessageService) CreateSendPostalCode(v url.Values) ([]Message, error) {
u := m.client.EndPoint("sms", "sendbypostalcode") u := m.client.EndPoint("sms", "sendbypostalcode")
res := new(MessageResult) res := new(MessageResult)

View File

@ -5,26 +5,26 @@ import (
"strconv" "strconv"
) )
//MessageStatusLocal ... // MessageStatusLocal ...
type MessageStatusLocal struct { type MessageStatusLocal struct {
*MessageStatus *MessageStatus
LocalID string `json:"localid"` LocalID string `json:"localid"`
} }
//MessageStatusLocalResult ... // MessageStatusLocalResult ...
type MessageStatusLocalResult struct { type MessageStatusLocalResult struct {
*Return `json:"return"` *Return `json:"return"`
Entries []MessageStatusLocal `json:"entries"` Entries []MessageStatusLocal `json:"entries"`
} }
//StatusLocal ... // StatusLocal ...
func (message *MessageService) StatusLocal(localid int64) (MessageStatusLocal, error) { func (message *MessageService) StatusLocal(localid int64) (MessageStatusLocal, error) {
u := message.client.EndPoint("sms", "statuslocalmessageid") u := message.client.EndPoint("sms", "statuslocalmessageid")
m := new(MessageStatusLocalResult) m := new(MessageStatusLocalResult)
v := url.Values{} v := url.Values{}
v.Set("localid", strconv.FormatInt(localid, 10)) v.Set("localid", strconv.FormatInt(localid, 10))
err := message.client.Execute(u.String(), v, m) err := message.client.Execute(u.String(), v, m)
if err!=nil{ if err != nil {
return MessageStatusLocal{}, err return MessageStatusLocal{}, err
} }
return m.Entries[0], err return m.Entries[0], err

View File

@ -10,23 +10,23 @@ import (
"time" "time"
) )
//ToString ... // ToString ...
func ToString(i interface{}) string { func ToString(i interface{}) string {
return strings.Trim(strings.Replace(fmt.Sprint(i), " ", ",", -1), "[]") return strings.Trim(strings.Replace(fmt.Sprint(i), " ", ",", -1), "[]")
} }
//ToJson ... // ToJson ...
func ToJson(i interface{}) string { func ToJson(i interface{}) string {
_json, _ := json.Marshal(i) _json, _ := json.Marshal(i)
return string(_json) return string(_json)
} }
//ToUnix ... // ToUnix ...
func ToUnix(t time.Time) string { func ToUnix(t time.Time) string {
return strconv.FormatInt(t.Unix(), 10) return strconv.FormatInt(t.Unix(), 10)
} }
//structToUrlValues ... // structToUrlValues ...
func structToURLValues(i interface{}) url.Values { func structToURLValues(i interface{}) url.Values {
v := url.Values{} v := url.Values{}
if reflect.ValueOf(i).IsNil() { if reflect.ValueOf(i).IsNil() {

View File

@ -5,9 +5,10 @@ package maps
import ( import (
"fmt" "fmt"
"github.com/mitchellh/copystructure"
"reflect" "reflect"
"strings" "strings"
"github.com/mitchellh/copystructure"
) )
// Flatten takes a map[string]interface{} and traverses it and flattens // Flatten takes a map[string]interface{} and traverses it and flattens

View File

@ -6,7 +6,6 @@ import (
"errors" "errors"
"github.com/fatih/structs" "github.com/fatih/structs"
"github.com/knadh/koanf/maps" "github.com/knadh/koanf/maps"
) )

View File

@ -6,10 +6,11 @@ package echojwt
import ( import (
"errors" "errors"
"fmt" "fmt"
"github.com/labstack/echo/v4"
"github.com/labstack/echo/v4/middleware"
"net/textproto" "net/textproto"
"strings" "strings"
"github.com/labstack/echo/v4"
"github.com/labstack/echo/v4/middleware"
) )
const ( const (

View File

@ -4,8 +4,9 @@
package echo package echo
import ( import (
"github.com/labstack/gommon/log"
"io" "io"
"github.com/labstack/gommon/log"
) )
// Logger defines the logging interface. // Logger defines the logging interface.

View File

@ -6,9 +6,10 @@ package middleware
import ( import (
"errors" "errors"
"fmt" "fmt"
"github.com/labstack/echo/v4"
"net/textproto" "net/textproto"
"strings" "strings"
"github.com/labstack/echo/v4"
) )
const ( const (

View File

@ -9,10 +9,11 @@ package middleware
import ( import (
"errors" "errors"
"fmt" "fmt"
"github.com/golang-jwt/jwt"
"github.com/labstack/echo/v4"
"net/http" "net/http"
"reflect" "reflect"
"github.com/golang-jwt/jwt"
"github.com/labstack/echo/v4"
) )
// JWTConfig defines the config for JWT middleware. // JWTConfig defines the config for JWT middleware.

View File

@ -5,8 +5,9 @@ package middleware
import ( import (
"errors" "errors"
"github.com/labstack/echo/v4"
"net/http" "net/http"
"github.com/labstack/echo/v4"
) )
// KeyAuthConfig defines the config for KeyAuth middleware. // KeyAuthConfig defines the config for KeyAuth middleware.

View File

@ -5,10 +5,11 @@ package middleware
import ( import (
"context" "context"
"github.com/labstack/echo/v4"
"net/http" "net/http"
"sync" "sync"
"time" "time"
"github.com/labstack/echo/v4"
) )
// --------------------------------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------------------------------

View File

@ -1,3 +1,4 @@
//go:build !appengine
// +build !appengine // +build !appengine
package log package log

View File

@ -13,10 +13,9 @@ import (
"sync/atomic" "sync/atomic"
"time" "time"
"github.com/labstack/gommon/color"
"github.com/mattn/go-isatty" "github.com/mattn/go-isatty"
"github.com/valyala/fasttemplate" "github.com/valyala/fasttemplate"
"github.com/labstack/gommon/color"
) )
type ( type (

View File

@ -1,3 +1,4 @@
//go:build appengine
// +build appengine // +build appengine
package log package log

View File

@ -2,8 +2,8 @@
// easyjson_nounsafe nor appengine build tag is set. See README notes // easyjson_nounsafe nor appengine build tag is set. See README notes
// for more details. // for more details.
//+build !easyjson_nounsafe //go:build !easyjson_nounsafe && !appengine
//+build !appengine // +build !easyjson_nounsafe,!appengine
package jlexer package jlexer

View File

@ -42,6 +42,7 @@ func IsTerminal(fd uintptr) bool {
// Check pipe name is used for cygwin/msys2 pty. // Check pipe name is used for cygwin/msys2 pty.
// Cygwin/MSYS2 PTY has a name like: // Cygwin/MSYS2 PTY has a name like:
//
// \{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master // \{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master
func isCygwinPipeName(name string) bool { func isCygwinPipeName(name string) bool {
token := strings.Split(name, "-") token := strings.Split(name, "-")

View File

@ -25,13 +25,12 @@ const tagKey = "copy"
// //
// The available tag values are: // The available tag values are:
// //
// * "ignore" - The field will be ignored, effectively resulting in it being // - "ignore" - The field will be ignored, effectively resulting in it being
// assigned the zero value in the copy. // assigned the zero value in the copy.
// //
// * "shallow" - The field will be be shallow copied. This means that references // - "shallow" - The field will be be shallow copied. This means that references
// values such as pointers, maps, slices, etc. will be directly assigned // values such as pointers, maps, slices, etc. will be directly assigned
// versus deep copied. // versus deep copied.
//
func Copy(v interface{}) (interface{}, error) { func Copy(v interface{}) (interface{}, error) {
return Config{}.Copy(v) return Config{}.Copy(v)
} }

View File

@ -9,7 +9,7 @@
// //
// The simplest function to start with is Decode. // The simplest function to start with is Decode.
// //
// Field Tags // # Field Tags
// //
// When decoding to a struct, mapstructure will use the field name by // When decoding to a struct, mapstructure will use the field name by
// default to perform the mapping. For example, if a struct has a field // default to perform the mapping. For example, if a struct has a field
@ -24,7 +24,7 @@
// The default struct tag that mapstructure looks for is "mapstructure" // The default struct tag that mapstructure looks for is "mapstructure"
// but you can customize it using DecoderConfig. // but you can customize it using DecoderConfig.
// //
// Renaming Fields // # Renaming Fields
// //
// To rename the key that mapstructure looks for, use the "mapstructure" // To rename the key that mapstructure looks for, use the "mapstructure"
// tag and set a value directly. For example, to change the "username" example // tag and set a value directly. For example, to change the "username" example
@ -34,7 +34,7 @@
// Username string `mapstructure:"user"` // Username string `mapstructure:"user"`
// } // }
// //
// Embedded Structs and Squashing // # Embedded Structs and Squashing
// //
// Embedded structs are treated as if they're another field with that name. // Embedded structs are treated as if they're another field with that name.
// By default, the two structs below are equivalent when decoding with // By default, the two structs below are equivalent when decoding with
@ -86,7 +86,7 @@
// DecoderConfig has a field that changes the behavior of mapstructure // DecoderConfig has a field that changes the behavior of mapstructure
// to always squash embedded structs. // to always squash embedded structs.
// //
// Remainder Values // # Remainder Values
// //
// If there are any unmapped keys in the source value, mapstructure by // If there are any unmapped keys in the source value, mapstructure by
// default will silently ignore them. You can error by setting ErrorUnused // default will silently ignore them. You can error by setting ErrorUnused
@ -111,7 +111,7 @@
// "address": "123 Maple St.", // "address": "123 Maple St.",
// } // }
// //
// Omit Empty Values // # Omit Empty Values
// //
// When decoding from a struct to any other value, you may use the // When decoding from a struct to any other value, you may use the
// ",omitempty" suffix on your tag to omit that value if it equates to // ",omitempty" suffix on your tag to omit that value if it equates to
@ -126,7 +126,7 @@
// Age int `mapstructure:",omitempty"` // Age int `mapstructure:",omitempty"`
// } // }
// //
// Unexported fields // # Unexported fields
// //
// Since unexported (private) struct fields cannot be set outside the package // Since unexported (private) struct fields cannot be set outside the package
// where they are defined, the decoder will simply skip them. // where they are defined, the decoder will simply skip them.
@ -152,7 +152,7 @@
// Public: "I made it through!" // Public: "I made it through!"
// } // }
// //
// Other Configuration // # Other Configuration
// //
// mapstructure is highly configurable. See the DecoderConfig struct // mapstructure is highly configurable. See the DecoderConfig struct
// for other features and options that are supported. // for other features and options that are supported.

View File

@ -81,7 +81,6 @@ type PointerValueWalker interface {
// //
// - Struct: skips all fields from being walked // - Struct: skips all fields from being walked
// - StructField: skips walking the struct value // - StructField: skips walking the struct value
//
var SkipEntry = errors.New("skip this entry") var SkipEntry = errors.New("skip this entry")
// Walk takes an arbitrary value and an interface and traverses the // Walk takes an arbitrary value and an interface and traverses the

View File

@ -199,9 +199,12 @@ func (m *SequenceMatcher) isBJunk(s string) bool {
// If IsJunk is not defined: // If IsJunk is not defined:
// //
// Return (i,j,k) such that a[i:i+k] is equal to b[j:j+k], where // Return (i,j,k) such that a[i:i+k] is equal to b[j:j+k], where
//
// alo <= i <= i+k <= ahi // alo <= i <= i+k <= ahi
// blo <= j <= j+k <= bhi // blo <= j <= j+k <= bhi
//
// and for all (i',j',k') meeting those conditions, // and for all (i',j',k') meeting those conditions,
//
// k >= k' // k >= k'
// i <= i' // i <= i'
// and if i == i', j <= j' // and if i == i', j <= j'

View File

@ -13,7 +13,6 @@ import (
"github.com/cespare/xxhash/v2" "github.com/cespare/xxhash/v2"
"github.com/dgryski/go-rendezvous" //nolint "github.com/dgryski/go-rendezvous" //nolint
"github.com/redis/go-redis/v9/internal" "github.com/redis/go-redis/v9/internal"
"github.com/redis/go-redis/v9/internal/hashtag" "github.com/redis/go-redis/v9/internal/hashtag"
"github.com/redis/go-redis/v9/internal/pool" "github.com/redis/go-redis/v9/internal/pool"

View File

@ -18,7 +18,6 @@ import (
"time" "time"
"github.com/go-gorp/gorp/v3" "github.com/go-gorp/gorp/v3"
"github.com/rubenv/sql-migrate/sqlparse" "github.com/rubenv/sql-migrate/sqlparse"
) )

View File

@ -3,6 +3,7 @@ package swag
import ( import (
"errors" "errors"
"fmt" "fmt"
"github.com/go-openapi/spec" "github.com/go-openapi/spec"
) )

View File

@ -65,9 +65,9 @@ func ExecuteFunc(template, startTag, endTag string, w io.Writer, f TagFunc) (int
// values from the map m and writes the result to the given writer w. // values from the map m and writes the result to the given writer w.
// //
// Substitution map m may contain values with the following types: // Substitution map m may contain values with the following types:
// * []byte - the fastest value type // - []byte - the fastest value type
// * string - convenient value type // - string - convenient value type
// * TagFunc - flexible value type // - TagFunc - flexible value type
// //
// Returns the number of bytes written to w. // Returns the number of bytes written to w.
// //
@ -81,9 +81,9 @@ func Execute(template, startTag, endTag string, w io.Writer, m map[string]interf
// This can be used as a drop-in replacement for strings.Replacer // This can be used as a drop-in replacement for strings.Replacer
// //
// Substitution map m may contain values with the following types: // Substitution map m may contain values with the following types:
// * []byte - the fastest value type // - []byte - the fastest value type
// * string - convenient value type // - string - convenient value type
// * TagFunc - flexible value type // - TagFunc - flexible value type
// //
// Returns the number of bytes written to w. // Returns the number of bytes written to w.
// //
@ -134,9 +134,9 @@ var byteBufferPool bytebufferpool.Pool
// values from the map m and returns the result. // values from the map m and returns the result.
// //
// Substitution map m may contain values with the following types: // Substitution map m may contain values with the following types:
// * []byte - the fastest value type // - []byte - the fastest value type
// * string - convenient value type // - string - convenient value type
// * TagFunc - flexible value type // - TagFunc - flexible value type
// //
// This function is optimized for constantly changing templates. // This function is optimized for constantly changing templates.
// Use Template.ExecuteString for frozen templates. // Use Template.ExecuteString for frozen templates.
@ -148,9 +148,9 @@ func ExecuteString(template, startTag, endTag string, m map[string]interface{})
// This can be used as a drop-in replacement for strings.Replacer // This can be used as a drop-in replacement for strings.Replacer
// //
// Substitution map m may contain values with the following types: // Substitution map m may contain values with the following types:
// * []byte - the fastest value type // - []byte - the fastest value type
// * string - convenient value type // - string - convenient value type
// * TagFunc - flexible value type // - TagFunc - flexible value type
// //
// This function is optimized for constantly changing templates. // This function is optimized for constantly changing templates.
// Use Template.ExecuteStringStd for frozen templates. // Use Template.ExecuteStringStd for frozen templates.
@ -304,9 +304,9 @@ func (t *Template) ExecuteFunc(w io.Writer, f TagFunc) (int64, error) {
// values from the map m and writes the result to the given writer w. // values from the map m and writes the result to the given writer w.
// //
// Substitution map m may contain values with the following types: // Substitution map m may contain values with the following types:
// * []byte - the fastest value type // - []byte - the fastest value type
// * string - convenient value type // - string - convenient value type
// * TagFunc - flexible value type // - TagFunc - flexible value type
// //
// Returns the number of bytes written to w. // Returns the number of bytes written to w.
func (t *Template) Execute(w io.Writer, m map[string]interface{}) (int64, error) { func (t *Template) Execute(w io.Writer, m map[string]interface{}) (int64, error) {
@ -317,9 +317,9 @@ func (t *Template) Execute(w io.Writer, m map[string]interface{}) (int64, error)
// This can be used as a drop-in replacement for strings.Replacer // This can be used as a drop-in replacement for strings.Replacer
// //
// Substitution map m may contain values with the following types: // Substitution map m may contain values with the following types:
// * []byte - the fastest value type // - []byte - the fastest value type
// * string - convenient value type // - string - convenient value type
// * TagFunc - flexible value type // - TagFunc - flexible value type
// //
// Returns the number of bytes written to w. // Returns the number of bytes written to w.
func (t *Template) ExecuteStd(w io.Writer, m map[string]interface{}) (int64, error) { func (t *Template) ExecuteStd(w io.Writer, m map[string]interface{}) (int64, error) {
@ -365,9 +365,9 @@ func (t *Template) ExecuteFuncStringWithErr(f TagFunc) (string, error) {
// values from the map m and returns the result. // values from the map m and returns the result.
// //
// Substitution map m may contain values with the following types: // Substitution map m may contain values with the following types:
// * []byte - the fastest value type // - []byte - the fastest value type
// * string - convenient value type // - string - convenient value type
// * TagFunc - flexible value type // - TagFunc - flexible value type
// //
// This function is optimized for frozen templates. // This function is optimized for frozen templates.
// Use ExecuteString for constantly changing templates. // Use ExecuteString for constantly changing templates.
@ -379,9 +379,9 @@ func (t *Template) ExecuteString(m map[string]interface{}) string {
// This can be used as a drop-in replacement for strings.Replacer // This can be used as a drop-in replacement for strings.Replacer
// //
// Substitution map m may contain values with the following types: // Substitution map m may contain values with the following types:
// * []byte - the fastest value type // - []byte - the fastest value type
// * string - convenient value type // - string - convenient value type
// * TagFunc - flexible value type // - TagFunc - flexible value type
// //
// This function is optimized for frozen templates. // This function is optimized for frozen templates.
// Use ExecuteStringStd for constantly changing templates. // Use ExecuteStringStd for constantly changing templates.

View File

@ -1,3 +1,4 @@
//go:build !appengine
// +build !appengine // +build !appengine
package fasttemplate package fasttemplate

View File

@ -127,6 +127,7 @@ uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long);
*/ */
import "C" import "C"
import ( import (
"syscall" "syscall"
"unsafe" "unsafe"

Some files were not shown because too many files have changed in this diff Show More