mark messages as read in r and rm
This commit is contained in:
parent
98d8941152
commit
737e2fb8df
@ -60,6 +60,12 @@ class Plugin():
|
||||
self.api.write_output(f"Reading {count} messages:")
|
||||
for message in messages:
|
||||
self.api.print_message(message)
|
||||
with self.api.controller.session() as session:
|
||||
user = session.get(User, self.api.user.id)
|
||||
user.messages.append(message[0])
|
||||
session.commit()
|
||||
logging.info(f"User {self.api.user.id} "
|
||||
f"read message {message[0].id }")
|
||||
self.api.read_enter("Enter to continue...")
|
||||
else:
|
||||
self.api.write_output(f"No messages to read.")
|
||||
|
||||
@ -40,9 +40,11 @@ class Plugin():
|
||||
def list_mine(self, args) -> sqlalchemy.ChunkedIteratorResult:
|
||||
with self.api.controller.session() as session:
|
||||
try:
|
||||
callsign = self.api.config.calling_station
|
||||
statement = sqlalchemy.select(Message).where(
|
||||
Message.recipient == self.api.config.calling_station
|
||||
and self.api.user.id not in Message.read_by)
|
||||
Message.recipient == callsign).where(
|
||||
~Message.read_by.any(User.id == self.api.user.id)
|
||||
)
|
||||
result = session.execute(
|
||||
statement,
|
||||
execution_options={"prebuffer_rows": True})
|
||||
@ -61,6 +63,12 @@ class Plugin():
|
||||
self.api.write_output(f"Reading {count} messages:")
|
||||
for message in messages:
|
||||
self.api.print_message(message)
|
||||
with self.api.controller.session() as session:
|
||||
user = session.get(User, self.api.user.id)
|
||||
user.messages.append(message[0])
|
||||
session.commit()
|
||||
logging.info(f"User {self.api.user.id} "
|
||||
f"read message {message[0].id }")
|
||||
self.api.read_enter("Enter to continue...")
|
||||
else:
|
||||
self.api.write_output(f"No messages to read.")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user