Implement business plans

This commit is contained in:
2026-03-02 00:00:53 +00:00
parent d22924f6aa
commit b3e183eb0a
26 changed files with 4109 additions and 39 deletions

View File

@@ -144,7 +144,20 @@ async def get_chat_session(user, identifier):
return chat_session
async def store_message(session, sender, text, ts, outgoing=False):
async def store_message(
session,
sender,
text,
ts,
outgoing=False,
source_service="",
source_message_id="",
source_chat_id="",
reply_to=None,
reply_source_service="",
reply_source_message_id="",
message_meta=None,
):
log.debug("Storing message for session=%s outgoing=%s", session.id, outgoing)
msg = await sync_to_async(Message.objects.create)(
user=session.user,
@@ -154,12 +167,32 @@ async def store_message(session, sender, text, ts, outgoing=False):
ts=ts,
delivered_ts=ts,
custom_author="USER" if outgoing else None,
source_service=(source_service or None),
source_message_id=str(source_message_id or "").strip() or None,
source_chat_id=str(source_chat_id or "").strip() or None,
reply_to=reply_to,
reply_source_service=str(reply_source_service or "").strip() or None,
reply_source_message_id=str(reply_source_message_id or "").strip() or None,
message_meta=dict(message_meta or {}),
)
return msg
async def store_own_message(session, text, ts, manip=None, queue=False):
async def store_own_message(
session,
text,
ts,
manip=None,
queue=False,
source_service="",
source_message_id="",
source_chat_id="",
reply_to=None,
reply_source_service="",
reply_source_message_id="",
message_meta=None,
):
log.debug("Storing own message for session=%s queue=%s", session.id, queue)
cast = {
"user": session.user,
@@ -168,6 +201,13 @@ async def store_own_message(session, text, ts, manip=None, queue=False):
"text": text,
"ts": ts,
"delivered_ts": ts,
"source_service": (source_service or None),
"source_message_id": str(source_message_id or "").strip() or None,
"source_chat_id": str(source_chat_id or "").strip() or None,
"reply_to": reply_to,
"reply_source_service": str(reply_source_service or "").strip() or None,
"reply_source_message_id": str(reply_source_message_id or "").strip() or None,
"message_meta": dict(message_meta or {}),
}
if queue:
msg_object = QueuedMessage