123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- package system
- import (
- "github.com/sirupsen/logrus"
- "lcfns/model/common/request"
- "lcfns/model/common/response"
- "lcfns/model/system"
- systemReq "lcfns/model/system/request"
- systemRes "lcfns/model/system/response"
- "lcfns/utils"
- "github.com/gin-gonic/gin"
- "go.uber.org/zap"
- )
- type SystemApiApi struct{}
- // CreateApi
- // @Tags SysApi
- // @Summary 创建基础api
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body system.SysApi true "api路径, api中文描述, api组, 方法"
- // @Success 200 {object} response.Response{msg=string} "创建基础api"
- // @Router /api/createApi [post]
- func (s *SystemApiApi) CreateApi(c *gin.Context) {
- var api system.SysApi
- err := c.ShouldBindJSON(&api)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = utils.Verify(api, utils.ApiVerify)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = apiService.CreateApi(api)
- if err != nil {
- logrus.Error("创建失败!", zap.Error(err))
- response.FailWithMessage("创建失败", c)
- return
- }
- response.OkWithMessage("创建成功", c)
- }
- // DeleteApi
- // @Tags SysApi
- // @Summary 删除api
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body system.SysApi true "ID"
- // @Success 200 {object} response.Response{msg=string} "删除api"
- // @Router /api/deleteApi [post]
- func (s *SystemApiApi) DeleteApi(c *gin.Context) {
- var api system.SysApi
- err := c.ShouldBindJSON(&api)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = utils.Verify(api.GVA_MODEL, utils.IdVerify)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = apiService.DeleteApi(api)
- if err != nil {
- logrus.Error("删除失败!", zap.Error(err))
- response.FailWithMessage("删除失败", c)
- return
- }
- response.OkWithMessage("删除成功", c)
- }
- // GetApiList
- // @Tags SysApi
- // @Summary 分页获取API列表
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body systemReq.SearchApiParams true "分页获取API列表"
- // @Success 200 {object} response.Response{data=response.PageResult,msg=string} "分页获取API列表,返回包括列表,总数,页码,每页数量"
- // @Router /api/getApiList [post]
- func (s *SystemApiApi) GetApiList(c *gin.Context) {
- var pageInfo systemReq.SearchApiParams
- err := c.ShouldBindJSON(&pageInfo)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = utils.Verify(pageInfo.PageInfo, utils.PageInfoVerify)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- list, total, err := apiService.GetAPIInfoList(pageInfo.SysApi, pageInfo.PageInfo, pageInfo.OrderKey, pageInfo.Desc)
- if err != nil {
- logrus.Error("获取失败!", zap.Error(err))
- response.FailWithMessage("获取失败", c)
- return
- }
- response.OkWithDetailed(response.PageResult{
- List: list,
- Total: total,
- Page: pageInfo.Page,
- PageSize: pageInfo.PageSize,
- }, "获取成功", c)
- }
- // GetApiById
- // @Tags SysApi
- // @Summary 根据id获取api
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body request.GetById true "根据id获取api"
- // @Success 200 {object} response.Response{data=systemRes.SysAPIResponse} "根据id获取api,返回包括api详情"
- // @Router /api/getApiById [post]
- func (s *SystemApiApi) GetApiById(c *gin.Context) {
- var idInfo request.GetById
- err := c.ShouldBindJSON(&idInfo)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = utils.Verify(idInfo, utils.IdVerify)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- api, err := apiService.GetApiById(idInfo.ID)
- if err != nil {
- logrus.Error("获取失败!", zap.Error(err))
- response.FailWithMessage("获取失败", c)
- return
- }
- response.OkWithDetailed(systemRes.SysAPIResponse{Api: api}, "获取成功", c)
- }
- // UpdateApi
- // @Tags SysApi
- // @Summary 修改基础api
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body system.SysApi true "api路径, api中文描述, api组, 方法"
- // @Success 200 {object} response.Response{msg=string} "修改基础api"
- // @Router /api/updateApi [post]
- func (s *SystemApiApi) UpdateApi(c *gin.Context) {
- var api system.SysApi
- err := c.ShouldBindJSON(&api)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = utils.Verify(api, utils.ApiVerify)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = apiService.UpdateApi(api)
- if err != nil {
- logrus.Error("修改失败!", zap.Error(err))
- response.FailWithMessage("修改失败", c)
- return
- }
- response.OkWithMessage("修改成功", c)
- }
- // GetAllApis
- // @Tags SysApi
- // @Summary 获取所有的Api 不分页
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Success 200 {object} response.Response{data=systemRes.SysAPIListResponse,msg=string} "获取所有的Api 不分页,返回包括api列表"
- // @Router /api/getAllApis [post]
- func (s *SystemApiApi) GetAllApis(c *gin.Context) {
- apis, err := apiService.GetAllApis()
- if err != nil {
- logrus.Error("获取失败!", zap.Error(err))
- response.FailWithMessage("获取失败", c)
- return
- }
- response.OkWithDetailed(systemRes.SysAPIListResponse{Apis: apis}, "获取成功", c)
- }
- // DeleteApisByIds
- // @Tags SysApi
- // @Summary 删除选中Api
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Param data body request.IdsReq true "ID"
- // @Success 200 {object} response.Response{msg=string} "删除选中Api"
- // @Router /api/deleteApisByIds [delete]
- func (s *SystemApiApi) DeleteApisByIds(c *gin.Context) {
- var ids request.IdsReq
- err := c.ShouldBindJSON(&ids)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = apiService.DeleteApisByIds(ids)
- if err != nil {
- logrus.Error("删除失败!", zap.Error(err))
- response.FailWithMessage("删除失败", c)
- return
- }
- response.OkWithMessage("删除成功", c)
- }
- // FreshCasbin
- // @Tags SysApi
- // @Summary 刷新casbin缓存
- // @accept application/json
- // @Produce application/json
- // @Success 200 {object} response.Response{msg=string} "刷新成功"
- // @Router /api/freshCasbin [get]
- func (s *SystemApiApi) FreshCasbin(c *gin.Context) {
- err := apiService.FreshCasbin()
- if err != nil {
- logrus.Error("刷新失败!", err)
- response.FailWithMessage("刷新失败", c)
- return
- }
- response.OkWithMessage("刷新成功", c)
- }
|