// ================================================================================
// 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"
	"server/internal/model"
)

type (
	ITask interface {
		List(ctx context.Context, in *model.TaskListIn) (out *model.TaskListOut, err error)
		Add(ctx context.Context, in *model.TaskAddIn) (out *model.TaskCRUDOut, err error)
		Edit(ctx context.Context, in *model.TaskEditIn) (out *model.TaskCRUDOut, err error)
		Delete(ctx context.Context, in *model.TaskDelIn) (out *model.TaskCRUDOut, err error)
		// AppList 获取任务列表（只返回任务类型和奖励积分）
		AppList(ctx context.Context, in *model.TaskAppListIn) (out *model.TaskSimpleListOut, err error)
	}
)

var (
	localTask ITask
)

func Task() ITask {
	if localTask == nil {
		panic("implement not found for interface ITask, forgot register?")
	}
	return localTask
}

func RegisterTask(i ITask) {
	localTask = i
}
