```
feat: 添加飞书用户模块和订阅功能支持 - 新增feishu_users模块用于处理飞书用户身份验证和权限管理 - 新增subscriptions模块用于处理订阅相关功能 - 新增personalization模块用于个性化服务 - 在alembic迁移配置中注册新的模型模块 - 在API路由器中添加feishu_users和subscriptions路由 - 实现事件调度服务的改进,包括错误处理和状态更新优化 - 添加飞书命令处理的权限检查机制 - 实现飞书应用票据事件处理 - 改进审计日志记录功能 ```
This commit is contained in:
@@ -3,6 +3,12 @@ from enum import StrEnum
|
||||
|
||||
class FeishuReceiveIdType(StrEnum):
|
||||
CHAT_ID = "chat_id"
|
||||
OPEN_ID = "open_id"
|
||||
|
||||
|
||||
class FeishuAppType(StrEnum):
|
||||
SELF = "self"
|
||||
STORE = "store"
|
||||
|
||||
|
||||
class FeishuMessageType(StrEnum):
|
||||
@@ -16,24 +22,30 @@ class FeishuEventSource(StrEnum):
|
||||
|
||||
|
||||
class FeishuPayloadKey(StrEnum):
|
||||
APP_ACCESS_TOKEN = "app_access_token"
|
||||
APP_ID = "app_id"
|
||||
APP_SECRET = "app_secret"
|
||||
APP_TICKET = "app_ticket"
|
||||
CARD = "card"
|
||||
CHALLENGE = "challenge"
|
||||
CHAT_TYPE = "chat_type"
|
||||
CODE = "code"
|
||||
CONFIG = "config"
|
||||
CONTENT = "content"
|
||||
DIV = "div"
|
||||
DATA = "data"
|
||||
ELEMENTS = "elements"
|
||||
ENCRYPT = "encrypt"
|
||||
EXPIRE = "expire"
|
||||
FEISHU_ERROR = "feishu_error"
|
||||
HEADER = "header"
|
||||
IMAGE = "image"
|
||||
IMAGE_KEY = "image_key"
|
||||
IMAGE_TYPE = "image_type"
|
||||
ID = "id"
|
||||
IMG = "img"
|
||||
IMG_KEY = "img_key"
|
||||
KEY = "key"
|
||||
ALT = "alt"
|
||||
EVENT = "event"
|
||||
EVENT_ID = "event_id"
|
||||
@@ -42,6 +54,8 @@ class FeishuPayloadKey(StrEnum):
|
||||
MESSAGE = "message"
|
||||
MESSAGE_ID = "message_id"
|
||||
MESSAGE_TYPE = "msg_type"
|
||||
MENTIONS = "mentions"
|
||||
NAME = "name"
|
||||
OPEN_ID = "open_id"
|
||||
PLAIN_TEXT = "plain_text"
|
||||
RECEIVE_ID = "receive_id"
|
||||
@@ -50,17 +64,23 @@ class FeishuPayloadKey(StrEnum):
|
||||
SENDER_ID = "sender_id"
|
||||
TAG = "tag"
|
||||
TENANT_ACCESS_TOKEN = "tenant_access_token"
|
||||
TENANT_KEY = "tenant_key"
|
||||
TEXT = "text"
|
||||
TITLE = "title"
|
||||
TOKEN = "token"
|
||||
UNION_ID = "union_id"
|
||||
USER_ID = "user_id"
|
||||
UUID = "uuid"
|
||||
WIDE_SCREEN_MODE = "wide_screen_mode"
|
||||
|
||||
|
||||
class FeishuCommandKey(StrEnum):
|
||||
TEXT = "text"
|
||||
CHAT_ID = "chat_id"
|
||||
CHAT_TYPE = "chat_type"
|
||||
ACTOR = "actor"
|
||||
MENTIONS = "mentions"
|
||||
PRINCIPAL = "principal"
|
||||
|
||||
|
||||
class FeishuResponseKey(StrEnum):
|
||||
@@ -85,10 +105,32 @@ class FeishuCommandResultKey(StrEnum):
|
||||
|
||||
|
||||
class FeishuCommandName(StrEnum):
|
||||
PERMISSION_DENIED = "permission_denied"
|
||||
HELP = "help"
|
||||
USER_SET_ADMIN = "user_set_admin"
|
||||
USER_SET_USER = "user_set_user"
|
||||
USER_DISABLE = "user_disable"
|
||||
USER_ENABLE = "user_enable"
|
||||
PREFERENCE_SET = "preference_set"
|
||||
PREFERENCE_LIST = "preference_list"
|
||||
PREFERENCE_DELETE = "preference_delete"
|
||||
CONVERSATION_RESET = "conversation_reset"
|
||||
PERSONAL_DATA_SUMMARY = "personal_data_summary"
|
||||
PERSONAL_DATA_ERASURE_REQUEST = "personal_data_erasure_request"
|
||||
PERSONAL_DATA_ERASURE_CONFIRM = "personal_data_erasure_confirm"
|
||||
SUBSCRIPTION_CREATE = "subscription_create"
|
||||
SUBSCRIPTION_LIST = "subscription_list"
|
||||
SUBSCRIPTION_PAUSE = "subscription_pause"
|
||||
SUBSCRIPTION_RESUME = "subscription_resume"
|
||||
SUBSCRIPTION_CANCEL = "subscription_cancel"
|
||||
SUBSCRIPTION_TIMEZONE = "subscription_timezone"
|
||||
SUBSCRIPTION_QUIET_HOURS = "subscription_quiet_hours"
|
||||
RULE_CREATE = "rule_create"
|
||||
RULE_LIST = "rule_list"
|
||||
RULE_DISABLE = "rule_disable"
|
||||
RULE_ENABLE = "rule_enable"
|
||||
RULE_UPDATE = "rule_update"
|
||||
RULE_DELETE = "rule_delete"
|
||||
FINANCE_NEEDS = "finance_needs"
|
||||
PROJECT_FINANCE = "project_finance"
|
||||
MARKET_OVERVIEW = "market_overview"
|
||||
@@ -123,11 +165,15 @@ class FeishuCardKey(StrEnum):
|
||||
VALUE = "value"
|
||||
|
||||
|
||||
FEISHU_APP_TOKEN_PATH = "/auth/v3/app_access_token"
|
||||
FEISHU_STORE_TENANT_TOKEN_PATH = "/auth/v3/tenant_access_token"
|
||||
FEISHU_TENANT_TOKEN_PATH = "/auth/v3/tenant_access_token/internal"
|
||||
FEISHU_MESSAGE_PATH = "/im/v1/messages"
|
||||
FEISHU_IMAGE_PATH = "/im/v1/images"
|
||||
FEISHU_DEFAULT_OPEN_API_DOMAIN = "https://open.feishu.cn"
|
||||
FEISHU_AUTH_MISSING = "Feishu app credentials are not configured"
|
||||
FEISHU_APP_TICKET_MISSING = "Feishu store app ticket is not available"
|
||||
FEISHU_TENANT_KEY_MISSING = "tenant_key is required for Feishu store apps"
|
||||
FEISHU_VERIFICATION_TOKEN_REQUIRED = "FEISHU_VERIFICATION_TOKEN is required"
|
||||
FEISHU_INVALID_TOKEN = "Invalid Feishu token"
|
||||
FEISHU_RECEIVE_ID_MISSING = "receive_id or FEISHU_DEFAULT_CHAT_ID is required"
|
||||
|
||||
Reference in New Issue
Block a user