feat: add endpoints for sending and polling messages

This commit is contained in:
2026-05-02 23:54:01 +02:00
parent 72edb440b7
commit 0414ee9e4e
4 changed files with 85 additions and 1 deletions
+26 -1
View File
@@ -1,4 +1,4 @@
from dto import Device, SimCard, SmsMessage
from dto import Device, SimCard, SmsMessage, QueuedSmsMessage
def get_all_devices(cur) -> list[Device]:
@@ -31,3 +31,28 @@ def get_sms_messages_by_local_phone_number(cur, local_phone_number: str) -> list
for item in msgs_from_db:
msgs.append(SmsMessage.convert(item))
return msgs
def send_sms_message(cur, content: str, sender_access_key: str, local_phone_number: str, remote_phone_number: str) -> bool:
if content is None or not content \
or sender_access_key is None or not sender_access_key \
or local_phone_number is None or not local_phone_number \
or remote_phone_number is None or not remote_phone_number:
return False
cur.execute("INSERT INTO message_queue VALUES (?, ?, ?, ?)", \
(content, sender_access_key, local_phone_number, remote_phone_number))
cur.commit()
return True
def get_queued_sms_messages(cur, local_phone_number) -> list[QueuedSmsMessage]:
if local_phone_number is None or not local_phone_number:
return []
msgs_from_db = cur.execute("DELETE FROM message_queue WHERE local_phone_number = ? RETURNING *", (local_phone_number,)).fetchall()
cur.commit()
msgs = []
for item in msgs_from_db:
msgs.append(QueuedSmsMessage.convert(item))
return msgs