feat: add cause of Request error
This commit is contained in:
@@ -9,9 +9,10 @@ const sendMessage = messageCenter.getMessageSender('affine');
|
|||||||
const { messageCode } = MessageCenter;
|
const { messageCode } = MessageCenter;
|
||||||
|
|
||||||
class RequestError extends Error {
|
class RequestError extends Error {
|
||||||
constructor(message: string) {
|
constructor(message: string, cause: unknown | null = null) {
|
||||||
super(message);
|
super(message);
|
||||||
this.name = 'RequestError';
|
this.name = 'RequestError';
|
||||||
|
this.cause = cause;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export interface GetWorkspaceDetailParams {
|
export interface GetWorkspaceDetailParams {
|
||||||
@@ -49,7 +50,7 @@ export async function getWorkspaces(): Promise<Workspace[]> {
|
|||||||
.json();
|
.json();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sendMessage(messageCode.loadListFailed);
|
sendMessage(messageCode.loadListFailed);
|
||||||
throw new RequestError('load list failed');
|
throw new RequestError('load list failed', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,7 +67,7 @@ export async function getWorkspaceDetail(
|
|||||||
return response.json();
|
return response.json();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sendMessage(messageCode.getDetailFailed);
|
sendMessage(messageCode.getDetailFailed);
|
||||||
throw new RequestError('get detail failed');
|
throw new RequestError('get detail failed', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,7 +103,7 @@ export async function getWorkspaceMembers(
|
|||||||
return client.get(`api/workspace/${params.id}/permission`).json();
|
return client.get(`api/workspace/${params.id}/permission`).json();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sendMessage(messageCode.getMembersFailed);
|
sendMessage(messageCode.getMembersFailed);
|
||||||
throw new RequestError('get members failed');
|
throw new RequestError('get members failed', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,7 +118,7 @@ export async function createWorkspace(
|
|||||||
return client.post('api/workspace', { json: params }).json();
|
return client.post('api/workspace', { json: params }).json();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sendMessage(messageCode.createWorkspaceFailed);
|
sendMessage(messageCode.createWorkspaceFailed);
|
||||||
throw new RequestError('create workspace failed');
|
throw new RequestError('create workspace failed', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,7 +140,7 @@ export async function updateWorkspace(
|
|||||||
.json();
|
.json();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sendMessage(messageCode.updateWorkspaceFailed);
|
sendMessage(messageCode.updateWorkspaceFailed);
|
||||||
throw new RequestError('update workspace failed');
|
throw new RequestError('update workspace failed', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,9 +151,9 @@ export interface DeleteWorkspaceParams {
|
|||||||
export async function deleteWorkspace(
|
export async function deleteWorkspace(
|
||||||
params: DeleteWorkspaceParams
|
params: DeleteWorkspaceParams
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
await client.delete(`api/workspace/${params.id}`).catch(() => {
|
await client.delete(`api/workspace/${params.id}`).catch(error => {
|
||||||
sendMessage(messageCode.deleteWorkspaceFailed);
|
sendMessage(messageCode.deleteWorkspaceFailed);
|
||||||
throw new RequestError('delete workspace failed');
|
throw new RequestError('delete workspace failed', error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,7 +176,7 @@ export async function inviteMember(params: InviteMemberParams): Promise<void> {
|
|||||||
.json();
|
.json();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sendMessage(messageCode.inviteMemberFailed);
|
sendMessage(messageCode.inviteMemberFailed);
|
||||||
throw new RequestError('invite member failed');
|
throw new RequestError('invite member failed', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,9 +185,9 @@ export interface RemoveMemberParams {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function removeMember(params: RemoveMemberParams): Promise<void> {
|
export async function removeMember(params: RemoveMemberParams): Promise<void> {
|
||||||
await client.delete(`api/permission/${params.permissionId}`).catch(() => {
|
await client.delete(`api/permission/${params.permissionId}`).catch(error => {
|
||||||
sendMessage(messageCode.removeMemberFailed);
|
sendMessage(messageCode.removeMemberFailed);
|
||||||
throw new RequestError('remove member failed');
|
throw new RequestError('remove member failed', error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,9 +198,11 @@ export interface AcceptInvitingParams {
|
|||||||
export async function acceptInviting(
|
export async function acceptInviting(
|
||||||
params: AcceptInvitingParams
|
params: AcceptInvitingParams
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
await bareClient.post(`api/invitation/${params.invitingCode}`).catch(() => {
|
await bareClient
|
||||||
|
.post(`api/invitation/${params.invitingCode}`)
|
||||||
|
.catch(error => {
|
||||||
sendMessage(messageCode.acceptInvitingFailed);
|
sendMessage(messageCode.acceptInvitingFailed);
|
||||||
throw new RequestError('accept inviting failed');
|
throw new RequestError('accept inviting failed', error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -214,7 +217,7 @@ export async function getBlob(params: {
|
|||||||
return client.get(`api/blob/${params.blobId}`).arrayBuffer();
|
return client.get(`api/blob/${params.blobId}`).arrayBuffer();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sendMessage(messageCode.getBlobFailed);
|
sendMessage(messageCode.getBlobFailed);
|
||||||
throw new RequestError('get blob failed');
|
throw new RequestError('get blob failed', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -226,9 +229,9 @@ export async function leaveWorkspace({ id }: LeaveWorkspaceParams) {
|
|||||||
await client
|
await client
|
||||||
.delete(`api/workspace/${id}/permission`)
|
.delete(`api/workspace/${id}/permission`)
|
||||||
.json()
|
.json()
|
||||||
.catch(() => {
|
.catch(error => {
|
||||||
sendMessage(messageCode.leaveWorkspaceFailed);
|
sendMessage(messageCode.leaveWorkspaceFailed);
|
||||||
throw new RequestError('leave workspace failed');
|
throw new RequestError('leave workspace failed', error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -243,6 +246,6 @@ export async function downloadWorkspace(
|
|||||||
return client.get(`api/workspace/${workspaceId}/doc`).arrayBuffer();
|
return client.get(`api/workspace/${workspaceId}/doc`).arrayBuffer();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sendMessage(messageCode.downloadWorkspaceFailed);
|
sendMessage(messageCode.downloadWorkspaceFailed);
|
||||||
throw new RequestError('download workspace failed');
|
throw new RequestError('download workspace failed', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user