aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Services/Interfaces/IPostService.cs
blob: 71b558cb712db8277695e8f3346abc16374dbf99 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Threading.Tasks;
using DevHive.Services.Models.Post.Comment;
using DevHive.Services.Models.Post.Post;

namespace DevHive.Services.Interfaces
{
	public interface IPostService
	{
		Task<Guid> CreatePost(CreatePostServiceModel createPostServiceModel);
		Task<Guid> AddComment(CreateCommentServiceModel createPostServiceModel);

		Task<ReadPostServiceModel> GetPostById(Guid id);
		Task<ReadCommentServiceModel> GetCommentById(Guid id);

		Task<Guid> UpdatePost(UpdatePostServiceModel updatePostServiceModel);
		Task<Guid> UpdateComment(UpdateCommentServiceModel updateCommentServiceModel);

		Task<bool> DeletePost(Guid id);
		Task<bool> DeleteComment(Guid id);

		Task<bool> ValidateJwtForCreating(Guid userId, string rawTokenData);
		Task<bool> ValidateJwtForPost(Guid postId, string rawTokenData);
		Task<bool> ValidateJwtForComment(Guid commentId, string rawTokenData);
	}
}