diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml
index 0d86d27644..b3d7804168 100644
--- a/common/config/rush/pnpm-lock.yaml
+++ b/common/config/rush/pnpm-lock.yaml
@@ -12004,7 +12004,7 @@ packages:
dev: false
file:projects/pod-account.tgz:
- resolution: {integrity: sha512-1KP9YR2TMC9Zksf2G15aecCY4pIDpGaddPQ2BGtfkE2P/4XG6gYl2Mnf8GRr1c3r2IWJozLYw39MhpkXI9zCHQ==, tarball: file:projects/pod-account.tgz}
+ resolution: {integrity: sha512-LqJ4mBkjSWhBA9OiiMUgLeoUF9IniLh1xr/G3iXRHSm8Li6OssMSTZ733CAoWVNPchAMn5xBibLV5Mi6syer9w==, tarball: file:projects/pod-account.tgz}
name: '@rush-temp/pod-account'
version: 0.0.0
dependencies:
@@ -12029,8 +12029,11 @@ packages:
koa-router: 10.1.1
mongodb: 4.2.2
prettier: 2.5.1
+ ts-node: 10.4.0_5d12c2add188ff0e728b4ade3dacd39b
typescript: 4.5.4
transitivePeerDependencies:
+ - '@swc/core'
+ - '@swc/wasm'
- supports-color
dev: false
diff --git a/packages/platform/src/lang/en.json b/packages/platform/src/lang/en.json
index ce7cf8ff86..87b47651d6 100644
--- a/packages/platform/src/lang/en.json
+++ b/packages/platform/src/lang/en.json
@@ -2,6 +2,11 @@
"status": {
"LoadingPlugin": "Loading plugin ''{plugin}''...",
"UnknownError": "Unknown error: {message}",
- "InvalidId": "Invalid Id: {id}"
+ "InvalidId": "Invalid Id: {id}",
+ "BadRequest": "Bad request",
+ "Forbidden": "Forbidden",
+ "Unauthorized": "Unauthorized",
+ "UnknownMethod": "Unknown method: {method}",
+ "InternalServerError": "Internal server error"
}
}
diff --git a/packages/platform/src/platform.ts b/packages/platform/src/platform.ts
index d31c5e0d04..7806f243e9 100644
--- a/packages/platform/src/platform.ts
+++ b/packages/platform/src/platform.ts
@@ -138,6 +138,7 @@ export default plugin(platformId, {
BadRequest: '' as StatusCode,
Forbidden: '' as StatusCode,
Unauthorized: '' as StatusCode,
- UnknownMethod: '' as StatusCode<{ method: string }>
+ UnknownMethod: '' as StatusCode<{ method: string }>,
+ InternalServerError: '' as StatusCode
}
})
diff --git a/server/account/src/index.ts b/server/account/src/index.ts
index a03ff07ca7..ed1896253b 100644
--- a/server/account/src/index.ts
+++ b/server/account/src/index.ts
@@ -14,7 +14,7 @@
// limitations under the License.
//
-import { getMetadata, Metadata, Plugin, Request, Response, StatusCode, PlatformError, plugin, Severity, Status, unknownStatus } from '@anticrm/platform'
+import platform, { getMetadata, Metadata, Plugin, Request, Response, PlatformError, plugin, Severity, Status, StatusCode } from '@anticrm/platform'
import { pbkdf2Sync, randomBytes } from 'crypto'
import { encode } from 'jwt-simple'
import { Binary, Db, ObjectId } from 'mongodb'
@@ -45,8 +45,7 @@ const accountPlugin = plugin(accountId, {
WorkspaceNotFound: '' as StatusCode<{workspace: string}>,
InvalidPassword: '' as StatusCode<{account: string}>,
AccountAlreadyExists: '' as StatusCode<{account: string}>,
- WorkspaceAlreadyExists: '' as StatusCode<{workspace: string}>,
- Forbidden: '' as StatusCode
+ WorkspaceAlreadyExists: '' as StatusCode<{workspace: string}>
}
})
@@ -170,7 +169,7 @@ export async function login (db: Db, email: string, password: string, workspace:
}
}
- throw new PlatformError(new Status(Severity.ERROR, accountPlugin.status.Forbidden, {}))
+ throw new PlatformError(new Status(Severity.ERROR, platform.status.Forbidden, {}))
}
/**
@@ -304,7 +303,7 @@ function wrap (f: (db: Db, ...args: any[]) => Promise) {
return async function (db: Db, request: Request): Promise> {
return await f(db, ...request.params)
.then((result) => ({ id: request.id, result }))
- .catch((err) => ({ error: unknownStatus(err) }))
+ .catch((err) => ({ error: err instanceof PlatformError ? new Status(Severity.ERROR, platform.status.Forbidden, {}) : new Status(Severity.ERROR, platform.status.InternalServerError, {}) }))
}
}