router.go 4.0 KB
Newer Older
W
pb api  
wangchuxiao 已提交
1 2 3 4 5 6 7 8 9 10
package cms_api

import (
	"Open_IM/internal/cms_api/admin"
	"Open_IM/internal/cms_api/group"
	"Open_IM/internal/cms_api/message"
	"Open_IM/internal/cms_api/middleware"
	"Open_IM/internal/cms_api/organization"
	"Open_IM/internal/cms_api/statistics"
	"Open_IM/internal/cms_api/user"
W
cms  
wangchuxiao 已提交
11

W
pb api  
wangchuxiao 已提交
12 13 14 15 16 17 18 19 20 21 22
	"github.com/gin-gonic/gin"
)

func NewGinRouter() *gin.Engine {
	gin.SetMode(gin.ReleaseMode)
	baseRouter := gin.Default()
	router := baseRouter.Group("/api")
	router.Use(middleware.JWTAuth())
	router.Use(middleware.CorsHandler())
	adminRouterGroup := router.Group("/admin")
	{
W
add  
wangchuxiao 已提交
23 24 25
		adminRouterGroup.POST("/register", admin.AdminRegister)
		adminRouterGroup.GET("/get_user_settings", admin.GetAdminSettings)
		adminRouterGroup.POST("/alter_user_settings", admin.AlterAdminSettings)
W
pb api  
wangchuxiao 已提交
26 27 28
	}
	statisticsRouterGroup := router.Group("/statistics")
	{
W
add  
wangchuxiao 已提交
29
		statisticsRouterGroup.GET("/get_messages_statistics", statistics.GetMessagesStatistics)
W
wangchuxiao 已提交
30 31
		statisticsRouterGroup.GET("/get_user_statistics", statistics.GetUserStatistics)
		statisticsRouterGroup.GET("/get_group_statistics", statistics.GetGroupStatistics)
W
pb api  
wangchuxiao 已提交
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
		statisticsRouterGroup.GET("/get_active_user", statistics.GetActiveUser)
		statisticsRouterGroup.GET("/get_active_group", statistics.GetActiveGroup)
	}
	organizationRouterGroup := router.Group("/organization")
	{
		organizationRouterGroup.GET("/get_staffs", organization.GetStaffs)
		organizationRouterGroup.GET("/get_organizations", organization.GetOrganizations)
		organizationRouterGroup.GET("/get_squad", organization.GetSquads)
		organizationRouterGroup.POST("/add_organization", organization.AddOrganization)
		organizationRouterGroup.POST("/alter_staff", organization.AlterStaff)
		organizationRouterGroup.GET("/inquire_organization", organization.InquireOrganization)
		organizationRouterGroup.POST("/alter_organization", organization.AlterOrganization)
		organizationRouterGroup.POST("/delete_organization", organization.DeleteOrganization)
		organizationRouterGroup.POST("/get_organization_squad", organization.GetOrganizationSquads)
		organizationRouterGroup.PATCH("/alter_corps_info", organization.AlterStaffsInfo)
		organizationRouterGroup.POST("/add_child_org", organization.AddChildOrganization)
	}
	messageRouterGroup := router.Group("/message")
	{
W
wangchuxiao 已提交
51 52 53
		messageRouterGroup.POST("/broadcast_message", message.BroadcastMessage)
		messageRouterGroup.POST("/mass_send_message", message.MassSendMassage)
		messageRouterGroup.POST("/withdraw_message", message.WithdrawMessage)
W
pb api  
wangchuxiao 已提交
54
	}
W
wangchuxiao 已提交
55
	groupRouterGroup := router.Group("/group")
W
pb api  
wangchuxiao 已提交
56
	{
W
add  
wangchuxiao 已提交
57
		groupRouterGroup.GET("/get_group_by_id", group.GetGroupById)
W
cms  
wangchuxiao 已提交
58
		groupRouterGroup.GET("/get_groups", group.GetGroups)
W
add  
wangchuxiao 已提交
59 60
		groupRouterGroup.GET("/get_group_by_name", group.GetGroupByName)
		groupRouterGroup.GET("/get_group_members", group.GetGroupsMember)
W
pb api  
wangchuxiao 已提交
61 62 63
		groupRouterGroup.POST("/create_group", group.CreateGroup)
		groupRouterGroup.GET("/inquire_group", group.InquireGroup)
		groupRouterGroup.POST("/add_members", group.AddMembers)
W
add  
wangchuxiao 已提交
64 65 66
		groupRouterGroup.POST("/remove_member", group.RemoveUser)
		groupRouterGroup.POST("/ban_group_private_chat", group.BanPrivateChat)
		groupRouterGroup.POST("/open_group_private_chat", group.OpenPrivateChat)
W
pb api  
wangchuxiao 已提交
67 68
		groupRouterGroup.POST("/withdraw_message", group.Withdraw)
		groupRouterGroup.POST("/search_group_message", group.SearchMessage)
W
wangchuxiao 已提交
69
		groupRouterGroup.POST("/ban_group_chat", group.BanGroupChat)
W
add  
wangchuxiao 已提交
70
		groupRouterGroup.POST("/open_group_chat", group.OpenGroupChat)
W
pb api  
wangchuxiao 已提交
71
	}
W
cms  
wangchuxiao 已提交
72
	userRouterGroup := router.Group("/user")
W
pb api  
wangchuxiao 已提交
73 74
	{
		userRouterGroup.POST("/resign", user.ResignUser)
W
wangchuxiao 已提交
75
		userRouterGroup.GET("/get_user_by_id", user.GetUserById)
W
pb api  
wangchuxiao 已提交
76 77 78 79 80
		userRouterGroup.POST("/alter_user", user.AlterUser)
		userRouterGroup.GET("/get_users", user.GetUsers)
		userRouterGroup.POST("/add_user", user.AddUser)
		userRouterGroup.POST("/unblock_user", user.UnblockUser)
		userRouterGroup.POST("/block_user", user.BlockUser)
W
cms  
wangchuxiao 已提交
81
		userRouterGroup.GET("/get_block_users", user.GetBlockUsers)
W
wangchuxiao 已提交
82 83
		userRouterGroup.GET("/get_block_user_by_id", user.GetBlockUserById)
		userRouterGroup.POST("/delete_user", user.DeleteUser)
W
pb api  
wangchuxiao 已提交
84 85 86
	}
	return baseRouter
}