using GB5Shared.DTO.Framework.Login; using OKRDAL.DTOs; namespace OKRBLL.Interfaces; public interface IObjectiveBLL { Task GetObjectiveAsync(int objectiveId, LoginDTO login, CancellationToken ct); Task GetObjectiveListAsync(int okrCycleId, int objectiveType, int ownerId, int forLevel, int forObjectId, int page, int pageSize, LoginDTO login, CancellationToken ct); Task GetObjectiveTreeAsync(int okrCycleId, LoginDTO login, CancellationToken ct); Task GetObjectiveAlignmentAsync(int okrCycleId, LoginDTO login, CancellationToken ct); Task SaveObjectiveAsync(ObjectiveDTO dto, LoginDTO login, CancellationToken ct); Task DeleteObjectiveAsync(int objectiveId, LoginDTO login, CancellationToken ct); Task SaveAlignmentAsync(OKRAlignmentDTO dto, LoginDTO login, CancellationToken ct); Task DeleteAlignmentAsync(int alignmentId, LoginDTO login, CancellationToken ct); // Not exposed as an endpoint — called by GoalBLL after every progress update. Task UpdateObjectiveOverallProgressAsync(int objectiveId, LoginDTO login, CancellationToken ct); }