package driven

import (
	"context"
	"edp.buildth.ing/DevFW-CICD/edge-connect-client/internal/core/domain"
)

type AppInstanceRepository interface {
	CreateAppInstance(ctx context.Context, region string, appInst *domain.AppInstance) error
	ShowAppInstance(ctx context.Context, region string, appInstKey domain.AppInstanceKey) (*domain.AppInstance, error)
	ShowAppInstances(ctx context.Context, region string, appInstKey domain.AppInstanceKey) ([]domain.AppInstance, error)
	DeleteAppInstance(ctx context.Context, region string, appInstKey domain.AppInstanceKey) error
	UpdateAppInstance(ctx context.Context, region string, appInst *domain.AppInstance) error
	RefreshAppInstance(ctx context.Context, region string, appInstKey domain.AppInstanceKey) error
}
