package usecase import "context" type PublishAnalyticsSummary struct { ID string MediaID string Permalink string PublishedAt int64 Checkpoint string LikeCount int ReplyCount int RepostCount int QuoteCount int ViewCount int ShareCount int ImpressionCount int ReachCount int CheckedAt int64 CreateAt int64 } type ScheduleCheckpointsRequest struct { TenantID string OwnerUID string AccountID string MediaID string Permalink string PublishedAt int64 } type UseCase interface { RecordCheckpoint(ctx context.Context, tenantID, ownerUID string, summary PublishAnalyticsSummary) (*PublishAnalyticsSummary, error) ListByMedia(ctx context.Context, tenantID, ownerUID, mediaID string) ([]PublishAnalyticsSummary, error) ScheduleCheckpoints(ctx context.Context, req ScheduleCheckpointsRequest) error }