ad-password-self-service/utils/feishu/__init__.py

369 lines
17 KiB
Python

# coding: utf-8
from __future__ import absolute_import, division, print_function, unicode_literals
from utils.feishu.__version__ import __version__ # NOQA
from utils.feishu.api import OpenLark
from utils.feishu.api_app_link import APIAppLink
from utils.feishu.api_approval import ApprovalUploadFileType
from utils.feishu.api_calendar import CalendarRole
from utils.feishu.dt_application import App
from utils.feishu.dt_approval import (ApprovalComment, ApprovalDefinition, ApprovalForm, ApprovalInstance, ApprovalNode,
ApprovalTask)
from utils.feishu.dt_calendar import Calendar, CalendarAttendee, CalendarEvent
from utils.feishu.dt_callback import (EventAppOpen, EventAppOpenUser, EventApproval, EventAppTicket, EventContactDepartment,
EventContactScope, EventContactUser, EventLeaveApproval, EventMessage,
EventMessageMergeForward, EventP2PCreateChat, EventP2PCreateChatUser,
EventRemedyApproval, EventRemoveAddBot, EventRemoveAddBotI18NTitle, EventShiftApproval,
EventTripApproval, EventTripApprovalSchedule, EventUserInAndOutChat, EventWorkApproval)
from utils.feishu.dt_code import Bot, Chat, I18NTitle, MinaCodeToSessionResp, OAuthCodeToSessionResp, SimpleUser, User
from utils.feishu.dt_contact import (ContactAsyncChildTaskInfo, ContactAsyncTaskResult, DepartmentUser, DepartmentUserAvatar,
DepartmentUserCustomAttr, DepartmentUserCustomAttrValue, DepartmentUserOrder,
DepartmentUserPosition, DepartmentUserStatus, EmployeeType, Gender, Role,
SimpleDepartment, SimpleUserWithPosition)
from utils.feishu.dt_drive import (DriveComment, DriveCopyFile, DriveCreateFile, DriveDeleteFile, DriveDeleteFlag,
DriveDocFileMeta, DriveFileMeta, DriveFilePermission, DriveFilePublicLinkSharePermission,
DriveFileToken, DriveFileType, DriveFileUser, DriveFileUserPermission, DriveFolderMeta,
DriveInsertSheet, DriveSheetCellAt, DriveSheetCellURL, DriveSheetMergeType, DriveSheetMeta,
DriveSheetStyle, DriveSheetStyleBorderType, DriveSheetStyleFont,
DriveSheetStyleHorizontalAlign, DriveSheetStyleNumber, DriveSheetStyleTextDecoration,
DriveSheetStyleVerticalAlign, DriveSubSheetMeta, ReadDriveSheetRequest,
WriteDriveSheetRequest)
from utils.feishu.dt_enum import (ApprovalInstanceStatus, ApprovalTaskStatus, ApprovalTaskTypeStatus, ApprovalTimelineType,
CalendarEventVisibility, EventType, I18NType, ImageColor, MeetingReplyStatus, MessageType,
MethodType, PayBuyType, PayPricePlanType, PayStatus, UrgentType)
from utils.feishu.dt_meeting_room import Building, Room, RoomFreeBusy
from utils.feishu.dt_message import (CardAction, CardButton, CardHeader, CardURL, I18nText, MessageAt, MessageImage,
MessageLink, MessageText)
from utils.feishu.dt_pay import PayOrder
from utils.feishu.dt_req import CreateDepartmentRequest, CreateUserRequest, UpdateUserRequest
from utils.feishu.exception import (LarkAllOpenIDInvalidException, LarkAppHasNoBotException,
LarkAppIsNotVisibleToUserException, LarkAppNotExistException,
LarkApprovalApprovalCodeNotFoundException, LarkApprovalDepartmentValidFailedException,
LarkApprovalForbiddenException, LarkApprovalFormValidFailedException,
LarkApprovalInstanceCodeConflictException, LarkApprovalInstanceCodeNotFoundException,
LarkApprovalInvalidRequestParamsException, LarkApprovalNeedPayException,
LarkApprovalNotExistException, LarkApprovalSubscriptionExistException,
LarkApprovalTaskIDNotFoundException, LarkApprovalUserNotFoundException,
LarkAppUnavailableException, LarkAppUsageInfoNotExistException, LarkBanAtALLException,
LarkBotForbiddenToGetImageBelongToThemException, LarkBotInChatFullException,
LarkBotIsNotMessageOwnerException, LarkBotNotGroupAdminException,
LarkBotNotInChatException, LarkChatDisbandedException, LarkCheckOpenChatIDFailException,
LarkConflictAppIDException, LarkDriveDuplicateException, LarkDriveEmptySheetIDException,
LarkDriveEmptySheetTitleException, LarkDriveEmptyValueException,
LarkDriveExistSheetIDException, LarkDriveExistSheetTitleException,
LarkDriveFailedException, LarkDriveFailException, LarkDriveForbiddenException,
LarkDriveInternalErrorException, LarkDriveInvalidOperationException,
LarkDriveInvalidUsersException, LarkDriveLoginRequiredException,
LarkDriveMetaDeletedException, LarkDriveMetaNotExistException,
LarkDriveOutOfLimitException, LarkDriveParamErrorException,
LarkDrivePermissionFailException, LarkDriveProcessingException,
LarkDriveReviewNotPassException, LarkDriveSameSheetIDOrTitleException,
LarkDriveSheetIDNotFoundException, LarkDriveSpreadSheetNotFoundException,
LarkDriveTimeoutException, LarkDriveTooManyRequestException,
LarkDriveUserNoSharePermissionException, LarkDriveWrongRangeException,
LarkDriveWrongRequestBodyException, LarkDriveWrongRequestJsonException,
LarkDriveWrongRowOrColException, LarkDriveWrongSheetIDException,
LarkEmployeeIDNotExistException, LarkEmptyChatIDException,
LarkForbiddenBotBatchSendMessageToDepartmentException,
LarkForbiddenBotBatchSendMessageToUserException, LarkForbiddenBotDisbandChatException,
LarkForbiddenSendMessageException, LarkForbiddenUrgentException,
LarkFrequencyLimitException, LarkGetAppAccessTokenFailException,
LarkGetChatIDFailException, LarkGetCheckSecurityTokenFailException,
LarkGetEmployeeIDFailException, LarkGetMessageIDFailException,
LarkGetOpenChatIDFailException, LarkGetOpenDepartmentIDFailException,
LarkGetOpenIDFailException, LarkGetSSOAccessTokenFailException,
LarkGetTenantAccessTokenFailException, LarkGetUserInfoFailOrUserIDNotExistException,
LarkImageKeyNotExistException, LarkInternalException, LarkInvalidAppAccessTokenException,
LarkInvalidAppIDException, LarkInvalidAppTicketException, LarkInvalidArguments,
LarkInvalidMessageIDException, LarkInvalidOpenChatIDException,
LarkInvalidTenantAccessTokenException, LarkInvalidTenantCodeException,
LarkInviteBotToChatFailException, LarkInviteUserToChatInvalidParamsException,
LarkMeetingRoomInvalidBuildingIDException, LarkMeetingRoomInvalidFieldSelectionException,
LarkMeetingRoomInvalidPageTokenException, LarkMeetingRoomInvalidRoomIDException,
LarkMeetingRoomTimeFormatMustFollowRFC3339StandardException, LarkMessageTooOldException,
LarkNoPermissionToGotException, LarkNotOpenApplicationSendMessagePermissionException,
LarkOnlyChatAdminCanInviteUserException, LarkOpenDepartmentIDNotExistException,
LarkOpenIDNotExistException, LarkOwnerOfBotIsNotInChatException,
LarkRemoveUserFromChatInvalidParamsException, LarkRequestParamsInvalidException,
LarkSendAppTicketFailException, LarkSendMessageFailException,
LarkUnsupportedChatCrossTenantException, LarkUnsupportedCrossTenantException,
LarkUnsupportedUrgentTypeException, LarkUpdateChatInvalidParamsException,
LarkUpdateChatNameFailException, LarkUploadImageInvalidParamsException,
LarkUserCannotGrantToChatAdminException, LarkUserNotActiveException,
LarkWrongAppSecretException, LarkWrongMessageIDException, OpenLarkException)
__author__ = 'chenyunpeng.1024 <chenyunpeng.1024@bytedance.com>'
__all__ = {
'OpenLark',
# datatype
'SimpleUser',
'User',
'Bot',
'Chat',
'MinaCodeToSessionResp',
'OAuthCodeToSessionResp',
'I18NTitle',
'APIAppLink',
# callback datatype
'EventMessageMergeForward',
'EventMessage',
'EventApproval',
'EventLeaveApproval',
'EventWorkApproval',
'EventShiftApproval',
'EventRemedyApproval',
'EventTripApprovalSchedule',
'EventTripApproval',
'EventAppOpenUser',
'EventAppOpen',
'EventContactUser',
'EventContactDepartment',
'EventContactScope',
'EventRemoveAddBot',
'EventRemoveAddBotI18NTitle',
'EventAppTicket',
'EventP2PCreateChat',
'EventP2PCreateChatUser',
'EventUserInAndOutChat',
# message datatype,
'MessageText',
'MessageAt',
'MessageImage',
'MessageLink',
'I18nText',
'CardURL',
'CardHeader',
'CardButton',
'CardAction',
# 审批
'ApprovalNode',
'ApprovalForm',
'ApprovalDefinition',
'ApprovalComment',
'ApprovalInstanceStatus',
'ApprovalTaskStatus',
'ApprovalTaskTypeStatus',
'ApprovalTask',
'ApprovalInstance',
'ApprovalTimelineType',
# calendar datatype
'Calendar',
'CalendarAttendee',
'CalendarEvent',
# drive folder
'DriveFileType',
'DriveFolderMeta',
'DriveCreateFile',
'DriveDeleteFile',
'DriveCopyFile',
'DriveDeleteFlag',
'DriveDocFileMeta',
'DriveComment',
'DriveFileToken',
'DriveFileMeta',
'DriveSubSheetMeta',
'DriveSheetMeta',
'DriveInsertSheet',
'DriveSheetCellURL',
'DriveSheetCellAt',
'DriveSheetStyleTextDecoration',
'DriveSheetStyleNumber',
'DriveSheetStyleHorizontalAlign',
'DriveSheetStyleVerticalAlign',
'DriveSheetStyleBorderType',
'DriveSheetStyleFont',
'DriveSheetStyle',
'DriveSheetMergeType',
'ReadDriveSheetRequest',
'WriteDriveSheetRequest',
'DriveFilePermission',
'DriveFileUserPermission',
'DriveFileUser',
'DriveFilePublicLinkSharePermission',
# 会议室
'Building',
'Room',
'RoomFreeBusy',
# 订单
'PayPricePlanType',
'PayBuyType',
'PayStatus',
'PayOrder',
# 应用
'App',
# 通讯录
'SimpleDepartment',
'DepartmentUserStatus',
'DepartmentUserAvatar',
'EmployeeType',
'Gender',
'SimpleUserWithPosition',
'DepartmentUserPosition',
'DepartmentUserOrder',
'DepartmentUserCustomAttrValue',
'DepartmentUserCustomAttr',
'DepartmentUser',
'ContactAsyncChildTaskInfo',
'ContactAsyncTaskResult',
'Role',
'CreateDepartmentRequest',
'CreateUserRequest',
'UpdateUserRequest',
# enum
'MessageType',
'UrgentType',
'I18NType',
'ImageColor',
'MethodType',
'CalendarRole',
'CalendarEventVisibility',
'ApprovalUploadFileType',
'EventType',
'MeetingReplyStatus',
# exception
'OpenLarkException',
'LarkInvalidArguments',
# 数字特别大
'LarkFrequencyLimitException',
# 审批
'LarkApprovalNotExistException',
'LarkApprovalSubscriptionExistException',
'LarkApprovalInvalidRequestParamsException',
'LarkApprovalApprovalCodeNotFoundException',
'LarkApprovalInstanceCodeNotFoundException',
'LarkApprovalUserNotFoundException',
'LarkApprovalForbiddenException',
'LarkApprovalTaskIDNotFoundException',
'LarkApprovalDepartmentValidFailedException',
'LarkApprovalFormValidFailedException',
'LarkApprovalNeedPayException',
'LarkApprovalInstanceCodeConflictException',
'LarkBotIsNotMessageOwnerException',
'LarkBanAtALLException',
'LarkUserNotActiveException',
'LarkChatDisbandedException',
'LarkMessageTooOldException',
'LarkNoPermissionToGotException',
'LarkInvalidTenantAccessTokenException',
'LarkInvalidAppAccessTokenException',
'LarkInvalidTenantCodeException',
'LarkInvalidAppTicketException',
# 机器人
'LarkSendMessageFailException',
'LarkRequestParamsInvalidException',
'LarkGetUserInfoFailOrUserIDNotExistException',
'LarkConflictAppIDException',
'LarkGetOpenChatIDFailException',
'LarkForbiddenSendMessageException',
'LarkGetAppAccessTokenFailException',
'LarkInvalidOpenChatIDException',
'LarkGetTenantAccessTokenFailException',
'LarkGetTenantAccessTokenFailException',
'LarkWrongAppSecretException',
'LarkSendAppTicketFailException',
'LarkUnsupportedUrgentTypeException',
'LarkWrongMessageIDException',
'LarkForbiddenUrgentException',
'LarkCheckOpenChatIDFailException',
'LarkBotNotInChatException',
'LarkAllOpenIDInvalidException',
'LarkUnsupportedCrossTenantException',
'LarkGetMessageIDFailException',
'LarkGetSSOAccessTokenFailException',
'LarkGetCheckSecurityTokenFailException',
'LarkCheckOpenChatIDFailException',
'LarkOpenIDNotExistException',
'LarkGetOpenIDFailException',
'LarkOpenDepartmentIDNotExistException',
'LarkGetOpenDepartmentIDFailException',
'LarkEmployeeIDNotExistException',
'LarkGetEmployeeIDFailException',
'LarkUpdateChatNameFailException',
'LarkBotNotGroupAdminException',
'LarkBotNotGroupAdminException',
'LarkOnlyChatAdminCanInviteUserException',
'LarkForbiddenBotBatchSendMessageToUserException',
'LarkForbiddenBotBatchSendMessageToDepartmentException',
'LarkAppHasNoBotException',
'LarkUserCannotGrantToChatAdminException',
'LarkAppUnavailableException',
'LarkAppNotExistException',
'LarkAppUsageInfoNotExistException',
'LarkInviteUserToChatInvalidParamsException',
'LarkRemoveUserFromChatInvalidParamsException',
'LarkUpdateChatInvalidParamsException',
'LarkUploadImageInvalidParamsException',
'LarkEmptyChatIDException',
'LarkGetChatIDFailException',
'LarkInviteBotToChatFailException',
'LarkBotInChatFullException',
'LarkUnsupportedChatCrossTenantException',
'LarkForbiddenBotDisbandChatException',
'LarkBotForbiddenToGetImageBelongToThemException',
'LarkOwnerOfBotIsNotInChatException',
'LarkNotOpenApplicationSendMessagePermissionException',
'LarkInvalidMessageIDException',
'LarkAppIsNotVisibleToUserException',
'LarkInvalidAppIDException',
'LarkImageKeyNotExistException',
'LarkInternalException',
# 云空间
'LarkDriveWrongRequestJsonException',
'LarkDriveWrongRangeException',
'LarkDriveFailException',
'LarkDriveWrongRequestBodyException',
'LarkDriveInvalidUsersException',
'LarkDriveEmptySheetIDException',
'LarkDriveEmptySheetTitleException',
'LarkDriveSameSheetIDOrTitleException',
'LarkDriveExistSheetIDException',
'LarkDriveExistSheetTitleException',
'LarkDriveWrongSheetIDException',
'LarkDriveWrongRowOrColException',
'LarkDrivePermissionFailException',
'LarkDriveSpreadSheetNotFoundException',
'LarkDriveSheetIDNotFoundException',
'LarkDriveEmptyValueException',
'LarkDriveTooManyRequestException',
'LarkDriveTimeoutException',
'LarkDriveProcessingException',
'LarkDriveLoginRequiredException',
'LarkDriveFailedException',
'LarkDriveOutOfLimitException',
'LarkDriveDuplicateException',
'LarkDriveForbiddenException',
'LarkDriveInvalidOperationException',
'LarkDriveUserNoSharePermissionException',
'LarkDriveParamErrorException',
'LarkDriveMetaDeletedException',
'LarkDriveMetaNotExistException',
'LarkDriveReviewNotPassException',
'LarkDriveInternalErrorException',
# 会议室
'LarkMeetingRoomInvalidPageTokenException',
'LarkMeetingRoomInvalidFieldSelectionException',
'LarkMeetingRoomTimeFormatMustFollowRFC3339StandardException',
'LarkMeetingRoomInvalidBuildingIDException',
'LarkMeetingRoomInvalidRoomIDException',
}