Implement phase 1 completion and phase 2 dynamic QR
This commit is contained in:
20
dist/shared/services/mqttPublisher.js
vendored
20
dist/shared/services/mqttPublisher.js
vendored
@ -27,10 +27,15 @@ export function buildPaymentSuccessPayload(input) {
|
||||
export function makePaymentSuccessTopic(deviceId) {
|
||||
return `devices/${deviceId}/downlink/payment/success`;
|
||||
}
|
||||
export async function publishPaymentSuccess(payload) {
|
||||
export function makeDynamicQrResponseTopic(deviceId) {
|
||||
return `devices/${deviceId}/downlink/dynamic-qr/response`;
|
||||
}
|
||||
export function makeConfigPushTopic(deviceId) {
|
||||
return `devices/${deviceId}/downlink/config/push`;
|
||||
}
|
||||
async function publishMqttPayload(deviceId, topic, payload) {
|
||||
const publishedAt = new Date().toISOString();
|
||||
const topic = makePaymentSuccessTopic(payload.device_id);
|
||||
if (shouldForceFail(payload.device_id)) {
|
||||
if (shouldForceFail(deviceId)) {
|
||||
return {
|
||||
ok: false,
|
||||
topic,
|
||||
@ -50,3 +55,12 @@ export async function publishPaymentSuccess(payload) {
|
||||
payload
|
||||
};
|
||||
}
|
||||
export async function publishPaymentSuccess(payload) {
|
||||
return publishMqttPayload(payload.device_id, makePaymentSuccessTopic(payload.device_id), payload);
|
||||
}
|
||||
export async function publishDynamicQrResponse(deviceId, payload) {
|
||||
return publishMqttPayload(deviceId, makeDynamicQrResponseTopic(deviceId), payload);
|
||||
}
|
||||
export async function publishConfigPush(deviceId, payload) {
|
||||
return publishMqttPayload(deviceId, makeConfigPushTopic(deviceId), payload);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user