// ================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// You can delete these comments if you wish manually maintain this interface file.
// ================================================================================

package service

import (
	"context"
	"kami/internal/model"
	"kami/internal/systemV2/model/entity"
)

type (
	IEntrance interface {
		Add(ctx context.Context, entrance model.EntranceInput) error
		Update(ctx context.Context, entrance model.EntranceInputWithID) error
		Delete(ctx context.Context, ID string) error
		List(ctx context.Context, req model.EntranceParamsInput) (total int, data []entity.V2RoadInfo, err error)
		AddUserEntrance(ctx context.Context, data model.EntranceUserRoadInput) error
		UpdateUserEntrance(ctx context.Context, data model.EntranceUserRoadWithIDInput) error
		DeleteUserEntrance(ctx context.Context, id int) error
	}
)

var (
	localEntrance IEntrance
)

func Entrance() IEntrance {
	if localEntrance == nil {
		panic("implement not found for interface IEntrance, forgot register?")
	}
	return localEntrance
}

func RegisterEntrance(i IEntrance) {
	localEntrance = i
}
