package social import ( "context" "shared-album/internal/models" ) // Repository is the persistence contract for the social domain. type Repository interface { Like(ctx context.Context, photoID, userID string) error Unlike(ctx context.Context, photoID, userID string) error CreateComment(ctx context.Context, c *models.Comment) error ListComments(ctx context.Context, photoID string) ([]models.Comment, error) GetComment(ctx context.Context, id string) (*models.Comment, error) DeleteComment(ctx context.Context, id string) error }