Better error handling
This commit is contained in:
parent
bd207b5012
commit
5d0ded2a69
1 changed files with 32 additions and 21 deletions
|
@ -80,27 +80,38 @@ export async function createPerson(value: any, resolver?: Resolver): Promise<IUs
|
|||
const summaryDOM = JSDOM.fragment(person.summary);
|
||||
|
||||
// Create user
|
||||
const user = await User.insert({
|
||||
avatarId: null,
|
||||
bannerId: null,
|
||||
createdAt: Date.parse(person.published) || null,
|
||||
description: summaryDOM.textContent,
|
||||
followersCount,
|
||||
followingCount,
|
||||
notesCount,
|
||||
name: person.name,
|
||||
driveCapacity: 1024 * 1024 * 8, // 8MiB
|
||||
username: person.preferredUsername,
|
||||
usernameLower: person.preferredUsername.toLowerCase(),
|
||||
host,
|
||||
publicKey: {
|
||||
id: person.publicKey.id,
|
||||
publicKeyPem: person.publicKey.publicKeyPem
|
||||
},
|
||||
inbox: person.inbox,
|
||||
uri: person.id,
|
||||
url: person.url
|
||||
}) as IRemoteUser;
|
||||
let user: IRemoteUser;
|
||||
try {
|
||||
user = await User.insert({
|
||||
avatarId: null,
|
||||
bannerId: null,
|
||||
createdAt: Date.parse(person.published) || null,
|
||||
description: summaryDOM.textContent,
|
||||
followersCount,
|
||||
followingCount,
|
||||
notesCount,
|
||||
name: person.name,
|
||||
driveCapacity: 1024 * 1024 * 8, // 8MiB
|
||||
username: person.preferredUsername,
|
||||
usernameLower: person.preferredUsername.toLowerCase(),
|
||||
host,
|
||||
publicKey: {
|
||||
id: person.publicKey.id,
|
||||
publicKeyPem: person.publicKey.publicKeyPem
|
||||
},
|
||||
inbox: person.inbox,
|
||||
uri: person.id,
|
||||
url: person.url
|
||||
}) as IRemoteUser;
|
||||
} catch (e) {
|
||||
// duplicate key error
|
||||
if (e.code === 11000) {
|
||||
throw new Error('already registered');
|
||||
}
|
||||
|
||||
console.error(e);
|
||||
throw e;
|
||||
}
|
||||
|
||||
//#region アイコンとヘッダー画像をフェッチ
|
||||
const [avatarId, bannerId] = (await Promise.all([
|
||||
|
|
Loading…
Reference in a new issue