mirror of
https://fast.feibisi.com/https://github.com/parcelvoy/platform.git
synced 2025-08-28 11:46:02 +08:00
Adds phone number metadata before insert (#656)
This commit is contained in:
parent
c528c06d9d
commit
b9c26e3204
2 changed files with 16 additions and 2 deletions
|
@ -5,7 +5,7 @@ import { updateSendState } from '../../campaigns/CampaignService'
|
|||
import { failSend, finalizeSend, loadSendJob, messageLock, prepareSend } from '../MessageTriggerService'
|
||||
import { loadTextChannel } from '.'
|
||||
import App from '../../app'
|
||||
import { UnsubscribeTextError } from './TextError'
|
||||
import { UndeliverableTextError, UnsubscribeTextError } from './TextError'
|
||||
import { releaseLock } from '../../core/Lock'
|
||||
|
||||
export default class TextJob extends Job {
|
||||
|
@ -45,7 +45,7 @@ export default class TextJob extends Job {
|
|||
const result = await channel.send(template, data)
|
||||
await finalizeSend(data, result)
|
||||
} catch (error: any) {
|
||||
await failSend(data, error, (error: any) => !(error instanceof UnsubscribeTextError))
|
||||
await failSend(data, error, (error: any) => !(error instanceof UnsubscribeTextError || error instanceof UndeliverableTextError))
|
||||
} finally {
|
||||
await releaseLock(messageLock(campaign, user))
|
||||
}
|
||||
|
|
|
@ -86,6 +86,20 @@ export class User extends Model {
|
|||
return this.data.last_name ?? this.data.lastName ?? this.data.surname
|
||||
}
|
||||
|
||||
static formatJson(json: Record<string, any>): Record<string, unknown> {
|
||||
if (json.phone) {
|
||||
const parsedNumber = parsePhoneNumber(json.phone)
|
||||
if (parsedNumber) {
|
||||
json.data = {
|
||||
...json.data,
|
||||
phone_country: parsedNumber.country,
|
||||
phone_is_valid: parsedNumber.isValid(),
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.formatJson(json)
|
||||
}
|
||||
|
||||
toJSON() {
|
||||
const json = super.toJSON()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue