mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-09 19:29:48 +00:00
feat: 站内信 (#6183)
* 添加站内信 * s * s * 添加接口 * fix * fix * 重构了一些 * 完成 * 完善 * s * s * s * s * s * s * 测试ok * 替换业务中发送消息的方式 * 修改 * s * 去掉 update 兼容 create * 添加 unread total 接口 * 调整json字段 Co-authored-by: xinwen <coderWen@126.com>
This commit is contained in:
32
apps/notifications/backends/base.py
Normal file
32
apps/notifications/backends/base.py
Normal file
@@ -0,0 +1,32 @@
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class BackendBase:
|
||||
# User 表中的字段
|
||||
account_field = None
|
||||
|
||||
# Django setting 中的字段名
|
||||
is_enable_field_in_settings = None
|
||||
|
||||
def get_accounts(self, users):
|
||||
accounts = []
|
||||
unbound_users = []
|
||||
account_user_mapper = {}
|
||||
|
||||
for user in users:
|
||||
account = getattr(user, self.account_field, None)
|
||||
if account:
|
||||
account_user_mapper[account] = user
|
||||
accounts.append(account)
|
||||
else:
|
||||
unbound_users.append(user)
|
||||
return accounts, unbound_users, account_user_mapper
|
||||
|
||||
@classmethod
|
||||
def get_account(cls, user):
|
||||
return getattr(user, cls.account_field)
|
||||
|
||||
@classmethod
|
||||
def is_enable(cls):
|
||||
enable = getattr(settings, cls.is_enable_field_in_settings)
|
||||
return bool(enable)
|
Reference in New Issue
Block a user