Link SMS to Sensor and Client

Route: PATCH /api/sms/:id/link

  • Functionality:

    • Ensures SMS messages are correctly linked.

  • Service Layer (services/smsService.js):

// javascript
export async function linkSMSToEntities(smsId) {
    const sms = await db.smsMessage.findUnique({ where: { id: smsId } });

    if (!sms) return { error: 'SMS not found' };

    const sensor = await db.sensor.findFirst({
        where: { phone_number: sms.from_number },
    });

    const client = await db.client.findFirst({
        where: { sensor_phone_number: sms.from_number },
    });

    return await db.smsMessage.update({
        where: { id: smsId },
        data: {
            sensor_id: sensor?.id || null,
            client_id: client?.id || null,
            is_linked: sensor && client ? true : false,
        },
    });
}

Last updated