package middleware

import (
	"ulink-admin/frame"
	"ulink-admin/pkg/base"
	"ulink-admin/pkg/jwt/admin"
	"ulink-admin/pkg/jwt/client"
)

// 垃圾回收
func Routine() func(c *frame.Context) {
	return func(c *frame.Context) {
		user := admin.GetUserInfo(c)
		member := client.GetUserInfo(c)
		if user != nil {
			base.SetCurUser(&base.UserInfo{
				Id:        user.Id,
				Name:      user.UserName,
				IsAdmin:   user.IsAdmin(user.Id),
				ComponyId: user.CompanyId,
				UserType:  base.ADMIN,
			})
		}
		if member != nil {
			base.SetCurUser(&base.UserInfo{
				Id:        user.Id,
				Name:      user.UserName,
				IsAdmin:   user.IsAdmin(user.Id),
				ComponyId: user.CompanyId,
				UserType:  base.MEMBER,
			})
		}
		// 处理请求
		c.Next()
		base.Clean()
	}
}