FlowAPI / FlowAPI.Application /Interfaces /IGraphService.cs
danylokhodus's picture
Implement custom templates and subscription tiers backend changes
7039b6a
Raw
History Blame Contribute Delete
1.22 kB
using FlowAPI.Application.DTOs.Graph;
namespace FlowAPI.Application.Interfaces
{
public interface IGraphService
{
Task<IEnumerable<GraphResponseDto>> GetAllByUserIdAsync(Guid userId);
Task<GraphResponseDto?> GetByIdAsync(Guid id, Guid currentUserId);
Task<FullGraphResponseDto?> GetFullByIdAsync(Guid id, Guid currentUserId);
Task<GraphResponseDto> CreateAsync(CreateGraphDto dto, Guid currentUserId);
Task<GraphResponseDto?> UpdateAsync(Guid id, UpdateGraphDto dto, Guid currentUserId);
Task<bool> DeleteAsync(Guid id, Guid currentUserId);
Task<bool> SaveFullGraphAsync(Guid id, FullGraphResponseDto dto, Guid currentUserId);
Task<GraphResponseDto?> ShareGraphAsync(Guid graphId, Guid ownerId, ShareGraphRequestDto dto);
Task<IEnumerable<SharedUserResponseDto>> GetSharedUsersAsync(Guid graphId, Guid ownerId);
Task<bool> RevokeShareAsync(Guid graphId, Guid ownerId, Guid shareId);
Task<FlowAPI.Domain.Entities.CustomTemplate> SaveAsTemplateAsync(Guid graphId, Guid userId, string title, string description);
Task<IEnumerable<FlowAPI.Domain.Entities.CustomTemplate>> GetCustomTemplatesAsync(Guid userId);
}
}