package repositories_astrologer

import (
	models "astrology-api/models/astrologermodel"
)

type StatusRepository interface {
	GetStatus(astrologerID uint) (*models.AstrologerStatus, error)

	CreateStatus(status *models.AstrologerStatus) error

	UpdateStatus(status *models.AstrologerStatus) error

	DeleteStatus(astrologerID uint) error

	UpdateOnlineStatus(astrologerID uint, isOnline bool) error

	UpdateChatStatus(astrologerID uint, isOnline bool) error

	UpdateCallStatus(astrologerID uint, isOnline bool) error

	UpdateBusyStatus(astrologerID uint, isBusy bool) error

	UpdateQuickDND(astrologerID uint, enabled bool) error

	UpdateCurrentStatus(astrologerID uint, status string) error

	UpdateLastActiveTime(astrologerID uint) error

	MarkLogin(astrologerID uint) error

	MarkLogout(astrologerID uint) error

	CreateStatusLog(log *models.AstrologerStatusLog) error

	GetStatusLogs(astrologerID uint, limit int) ([]models.AstrologerStatusLog, error)
}
