package repository

import (
	"context"

	"backend/pkg/member/domain/member"

	"backend/pkg/member/domain/entity"

	"go.mongodb.org/mongo-driver/v2/mongo"
)

type AccountRepository interface {
	Insert(ctx context.Context, data *entity.Account) error
	FindOne(ctx context.Context, id string) (*entity.Account, error)
	Update(ctx context.Context, data *entity.Account) (*mongo.UpdateResult, error)
	Delete(ctx context.Context, id string) (int64, error)
	FindOneByAccount(ctx context.Context, loginID string) (*entity.Account, error)
	UpdateTokenByLoginID(ctx context.Context, account string, token string, platform member.Platform) error
	AccountIndexUP
}

type AccountIndexUP interface {
	Index20241226001UP(ctx context.Context) (*mongo.Cursor, error)
}

// type AccountIndexDown interface {
//	 Index20241226001Down(ctx context.Context)
// }
