//
// Copyright (C) 2024 veypi <i@veypi.com>
// 2025-03-04 16:08:06
// Distributed under terms of the MIT license.
//
// Auto generated by OneBD. DO NOT EDIT

package api

import (
	apiAuth "github.com/veypi/vbase/api/auth"
	"github.com/veypi/vbase/api/oauth"
	"github.com/veypi/vbase/api/org"
	"github.com/veypi/vbase/api/user"
	"github.com/veypi/vbase/auth"
	"github.com/veypi/vigo"
	"github.com/veypi/vigo/contrib/common"
)

var Router = vigo.NewRouter()

func init() {
	// 注册全局中间件
	Router.Use(auth.AuthMiddleware())
	Router.After(common.JsonResponse, common.JsonErrorResponse)

	// 子路由挂载
	Router.Extend("/auth", apiAuth.Router)
	Router.Extend("/users", user.Router)
	Router.Extend("/orgs", org.Router)
	Router.Extend("/oauth", oauth.Router)

	// 404 处理
	Router.Any("/**", vigo.SkipBefore, "拦截未注册的api请求，返回404", func(x *vigo.X) error {
		return vigo.ErrNotFound
	})
}
