-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTodoApi.cs
More file actions
25 lines (20 loc) · 941 Bytes
/
Copy pathTodoApi.cs
File metadata and controls
25 lines (20 loc) · 941 Bytes
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
namespace ErrorOrX.Samples.Api;
public static class TodoApi
{
[Get("/api/todos")]
public static Task<ErrorOr<List<Todo>>> GetAll(ITodoService svc, CancellationToken ct)
=> svc.GetAllAsync(ct);
[Get("/api/todos/{id:guid}")]
public static Task<ErrorOr<Todo>> GetById(Guid id, ITodoService svc, CancellationToken ct)
=> svc.GetByIdAsync(id, ct);
[Post("/api/todos")]
public static Task<ErrorOr<Todo>> Create(CreateTodoRequest request, ITodoService svc, CancellationToken ct)
=> svc.CreateAsync(request, ct);
[Put("/api/todos/{id:guid}")]
public static Task<ErrorOr<Updated>> Update(Guid id, UpdateTodoRequest request, ITodoService svc,
CancellationToken ct)
=> svc.UpdateAsync(id, request, ct);
[Delete("/api/todos/{id:guid}")]
public static Task<ErrorOr<Deleted>> Delete(Guid id, ITodoService svc, CancellationToken ct)
=> svc.DeleteAsync(id, ct);
}