Skip to content

Commit 7ad3059

Browse files
committed
feat: error handler
1 parent fb51f9b commit 7ad3059

15 files changed

+1155
-542
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
using System;
2+
3+
namespace SimpleList.Models;
4+
5+
public class OneDriveResult<T>
6+
{
7+
public bool IsSuccess { get; set; }
8+
public T Data { get; set; }
9+
public string ErrorMessage { get; set; }
10+
public OneDriveErrorType ErrorType { get; set; }
11+
public Exception Exception { get; set; }
12+
13+
public static OneDriveResult<T> Success(T data)
14+
{
15+
return new OneDriveResult<T>
16+
{
17+
IsSuccess = true,
18+
Data = data,
19+
ErrorMessage = null,
20+
ErrorType = OneDriveErrorType.None
21+
};
22+
}
23+
24+
public static OneDriveResult<T> Failure(string errorMessage, OneDriveErrorType errorType, Exception exception = null)
25+
{
26+
return new OneDriveResult<T>
27+
{
28+
IsSuccess = false,
29+
Data = default(T),
30+
ErrorMessage = errorMessage,
31+
ErrorType = errorType,
32+
Exception = exception
33+
};
34+
}
35+
}
36+
37+
public enum OneDriveErrorType
38+
{
39+
None,
40+
Authentication,
41+
Network,
42+
NotFound,
43+
Forbidden,
44+
QuotaExceeded,
45+
InvalidRequest,
46+
Conflict,
47+
ServiceUnavailable,
48+
Unknown
49+
}

0 commit comments

Comments
 (0)