type CheckPermission interface{
CheckMatchEditable(ctx context.Context, match *entity.Match) (bool, error)
}
type checkPermission struct{}
func (cp *checkPermission) CheckMatchEditable() (bool,error) {
op, err := g5ctx.GetOperation(ctx)
if err != nil {
return false, err
}
switch op {
case g5ctx.OperationTypeSystem:
return true
case g5ctx.OperationTypeUser:
token, err := g5ctx.GetUserToken(ctx)
if err != nil {
return nil, err
}
if token.Admin {
return true
}
if token.UserID == match.UserID {
return true
}
}
return false
}