package auth

import (
	"github.com/fonchain_enterprise/fonchain-main/api/position"
	"github.com/fonchain_enterprise/fonchain-main/pkg/service"
	"github.com/gin-gonic/gin"
)

func HasAuth(c *gin.Context, ID uint64, url string) bool {
	isLeader := false

	req := position.DoIHavaAuthRequest{
		UserId: ID,
		Url:    url,
	}

	res, err := service.PositionProvider.DoIHavaAuth(c, &req)

	if err == nil && res.Hava == true {
		isLeader = true
	}

	return isLeader
}

func HasAuthBoth(c *gin.Context, IDs []uint32, url string) (pass bool, pathPass bool, err error) {

	req := position.DoHavaAuthBatchRequest{
		UserIds: IDs,
		Url:     url,
	}

	res, err := service.PositionProvider.DoHavaAuthBatch(c, &req) //是否同时拥有相同权限

	if err != nil {
		return false, false, err
	}

	return res.Hava, res.AllNotHave, err
}