diff --git a/sdk/msgsender-sdk/README.md b/sdk/msgsender-sdk/README.md new file mode 100644 index 0000000..0c82819 --- /dev/null +++ b/sdk/msgsender-sdk/README.md @@ -0,0 +1,18 @@ +# @next-api-sdk/msgsender-sdk + +**DO NOT MODIFY THIS PACKAGE MANUALLY.** +**IT IS AUTO GENERATED BY [@next-core/create-api-sdk] v1.0.33** + +Msgsender SDK. + +## Usage + +```bash +yarn add @next-api-sdk/msgsender-sdk +``` + +```ts +import * as MsgsenderSdk from "@next-api-sdk/msgsender-sdk"; +``` + +[@next-core/create-api-sdk]: https://github.com/easyops-cn/next-core/tree/master/packages/create-api-sdk diff --git a/sdk/msgsender-sdk/contracts.json b/sdk/msgsender-sdk/contracts.json new file mode 100644 index 0000000..99ef7e0 --- /dev/null +++ b/sdk/msgsender-sdk/contracts.json @@ -0,0 +1,718 @@ +{ + "name": "msgsender", + "contracts": [ + { + "contract": "msgsender.config.CreateConfig", + "name": "CreateConfig", + "version": "1.0.0", + "description": "创建通知配置", + "endpoint": { + "method": "POST", + "uri": "/api/v1/message_sender/configs" + }, + "import": [ + "easyops/model/monitor/easy_tornado_response", + "easyops/model/msgsender/message_config" + ], + "request": { + "type": "MessageConfig", + "required": [ + "MessageConfig.name", + "MessageConfig.cmdbUserObjectColName", + "MessageConfig.pluginName" + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "MessageConfig", + "description": "通知配置" + } + ] + } + }, + { + "contract": "msgsender.config.CreateConfigV2", + "name": "CreateConfigV2", + "version": "1.0.0", + "description": "创建通知配置", + "endpoint": { + "method": "POST", + "uri": "/api/v2/message_sender/configs" + }, + "import": [ + "easyops/model/monitor/easy_tornado_response", + "easyops/model/msgsender/message_config" + ], + "request": { + "type": "MessageConfig", + "required": [ + "MessageConfig.name", + "MessageConfig.cmdbUserObjectColName", + "MessageConfig.pluginName" + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "MessageConfig", + "description": "通知配置" + } + ] + }, + "examples": [ + { + "description": { + "en": "create configV2", + "zh": "创建" + }, + "request": { + "method": "POST", + "uri": "http://localhost:8095/api/v2/message_sender/configs", + "headers": { + "Content-Type": "application/json" + }, + "body": "{\n}" + }, + "response": { + "headers": { + "Content-Type": "application/json; charset=utf-8" + }, + "status_code": 200, + "body": "{\n \"code\": 0,\n \"error\": \"\",\n \"message\": \"\",\n \"data\": \"\"\n}" + } + } + ] + }, + { + "contract": "msgsender.config.DeleteConfig", + "name": "DeleteConfig", + "version": "1.0.0", + "description": "删除通知配置", + "endpoint": { + "method": "DELETE", + "uri": "/api/v1/message_sender/configs/:instanceId" + }, + "import": [ + "easyops/model/monitor/easy_tornado_response", + "easyops/model/msgsender/message_config" + ], + "request": { + "type": "object", + "fields": [ + { + "ref": "MessageConfig.instanceId" + } + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "map", + "description": "data" + } + ] + } + }, + { + "contract": "msgsender.config.GetConfig", + "name": "GetConfig", + "version": "1.0.0", + "description": "获取通知配置", + "endpoint": { + "method": "GET", + "uri": "/api/v1/message_sender/configs/:instanceId" + }, + "import": [ + "easyops/model/monitor/easy_tornado_response", + "easyops/model/msgsender/message_config" + ], + "request": { + "type": "object", + "fields": [ + { + "ref": "MessageConfig.instanceId" + } + ], + "required": [ + "instanceId" + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "MessageConfig", + "description": "通知配置" + } + ] + } + }, + { + "contract": "msgsender.config.ListConfig", + "name": "ListConfig", + "version": "1.0.0", + "description": "获取通知配置列表", + "endpoint": { + "method": "GET", + "uri": "/api/v1/message_sender/configs" + }, + "import": [ + "easyops/model/monitor/easy_tornado_response", + "easyops/model/msgsender/message_config" + ], + "request": { + "type": "object", + "fields": [ + { + "name": "page", + "type": "page", + "description": "页码" + }, + { + "name": "page_size", + "type": "page_size", + "description": "每页大小" + } + ], + "required": [ + "page", + "page_size" + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "object", + "description": "通知配置", + "fields": [ + { + "name": "list", + "type": "MessageConfig[]", + "description": "配置列表" + }, + { + "name": "total", + "type": "int", + "description": "总数" + }, + { + "name": "page", + "type": "page", + "description": "页码" + }, + { + "name": "pageSize", + "type": "page_size", + "description": "页大小" + } + ] + } + ] + } + }, + { + "contract": "msgsender.config.ListConfigV2", + "name": "ListConfigV2", + "version": "1.0.0", + "description": "获取通知配置列表", + "endpoint": { + "method": "GET", + "uri": "/api/v2/message_sender/configs" + }, + "import": [ + "easyops/model/monitor/easy_tornado_response", + "easyops/model/msgsender/message_config" + ], + "request": { + "type": "object", + "fields": [ + { + "name": "page", + "type": "page", + "description": "页码" + }, + { + "name": "page_size", + "type": "page_size", + "description": "每页大小" + } + ], + "required": [ + "page", + "page_size" + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "object", + "description": "通知配置", + "fields": [ + { + "name": "list", + "type": "MessageConfig[]", + "description": "配置列表" + }, + { + "name": "total", + "type": "int", + "description": "总数" + }, + { + "name": "page", + "type": "page", + "description": "页码" + }, + { + "name": "pageSize", + "type": "page_size", + "description": "页大小" + } + ] + } + ] + }, + "examples": [ + { + "description": { + "en": "list config V2", + "zh": "获取列表" + }, + "request": { + "method": "GET", + "uri": "http://localhost:8095/api/v2/message_sender/configs", + "headers": { + "Content-Type": "application/json" + }, + "body": "{\n}" + }, + "response": { + "headers": { + "Content-Type": "application/json; charset=utf-8" + }, + "status_code": 200, + "body": "{\n \"code\": 0,\n \"error\": \"\",\n \"message\": \"\",\n \"data\": \"\"\n}" + } + } + ] + }, + { + "contract": "msgsender.config.UpdateConfig", + "name": "UpdateConfig", + "version": "1.0.0", + "description": "更新通知配置", + "endpoint": { + "method": "PUT", + "uri": "/api/v1/message_sender/configs/:instanceId", + "ext_fields": [ + { + "name": "instance", + "source": "body" + } + ] + }, + "import": [ + "easyops/model/monitor/easy_tornado_response", + "easyops/model/msgsender/message_config" + ], + "request": { + "type": "object", + "fields": [ + { + "ref": "MessageConfig.instanceId" + }, + { + "name": "instance", + "type": "MessageConfig", + "description": "要更新的实例" + } + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "MessageConfig", + "description": "通知配置" + } + ] + } + }, + { + "contract": "msgsender.config.UpdateConfigV2", + "name": "UpdateConfigV2", + "version": "1.0.0", + "description": "更新通知配置", + "endpoint": { + "method": "PUT", + "uri": "/api/v2/message_sender/configs/:instanceId", + "ext_fields": [ + { + "name": "instance", + "source": "body" + } + ] + }, + "import": [ + "easyops/model/monitor/easy_tornado_response", + "easyops/model/msgsender/message_config" + ], + "request": { + "type": "object", + "fields": [ + { + "ref": "MessageConfig.instanceId" + }, + { + "name": "instance", + "type": "MessageConfig", + "description": "要更新的实例" + } + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "MessageConfig", + "description": "通知配置" + } + ] + }, + "examples": [ + { + "description": { + "en": "update config V2", + "zh": "更新" + }, + "request": { + "method": "PUT", + "uri": "http://localhost:8095/api/v2/message_sender/configs/:instanceId", + "headers": { + "Content-Type": "application/json" + }, + "body": "{\n}" + }, + "response": { + "headers": { + "Content-Type": "application/json; charset=utf-8" + }, + "status_code": 200, + "body": "{\n \"code\": 0,\n \"error\": \"\",\n \"message\": \"\",\n \"data\": \"\"\n}" + } + } + ] + }, + { + "contract": "msgsender.custom_sender.ListSupportInform", + "name": "ListSupportInform", + "version": "1.0.0", + "description": "获取消息通道目前支持的通知方式", + "endpoint": { + "method": "get", + "uri": "/api/v1/message_sender/method" + }, + "import": [ + "easyops/model/monitor/easy_tornado_page_response" + ], + "request": null, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonPageResponse.*" + }, + { + "name": "data", + "description": "数据内容", + "type": "object[]", + "fields": [ + { + "name": "col_of_cmdb_user_object", + "type": "string", + "description": "关联的cmdb用户对象字段" + }, + { + "name": "enable", + "type": "bool", + "description": "是否启用" + }, + { + "name": "plugin_name", + "type": "string", + "description": "通知插件名称" + }, + { + "name": "description", + "type": "string", + "description": "通知方式描述" + }, + { + "name": "inform_type", + "type": "string", + "description": "通知方式名称" + } + ] + } + ] + } + }, + { + "contract": "msgsender.custom_sender.SendMessage", + "name": "SendMessage", + "version": "1.0.0", + "description": "发送通知消息", + "endpoint": { + "method": "post", + "uri": "/api/v1/message_sender/send_message" + }, + "import": [ + "easyops/model/msgsender/send_message_request", + "easyops/model/monitor/easy_tornado_response" + ], + "request": { + "type": "SendMessageRequest" + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "map", + "description": "请求结果数据 e.g.: {\"email\": [\"test@qq.com\"], \"phone\": [\"test@qq.com\"]}" + } + ] + } + }, + { + "contract": "msgsender.custom_sender.SendMessageDebug", + "name": "SendMessageDebug", + "version": "1.0.0", + "description": "发送通知消息调试", + "endpoint": { + "method": "post", + "uri": "/api/v1/message_sender/send_message_debug" + }, + "import": [ + "easyops/model/msgsender/message_config", + "easyops/model/msgsender/message_receiver" + ], + "request": { + "type": "object", + "fields": [ + { + "name": "receivers", + "type": "MessageReceiver[]", + "description": "消息接收者" + }, + { + "ref": "MessageConfig.*" + } + ], + "required": [ + "receivers", + "MessageConfig.msgType" + ] + }, + "response": null, + "examples": [ + { + "description": { + "en": "send message debug", + "zh": "调试发送通知消息" + }, + "request": { + "method": "POST", + "uri": "http://localhost:8095/api/v1/message_sender/send_message_debug", + "headers": { + "Content-Type": "application/json" + }, + "body": "{\n \"scriptContent\": \"script send msg \",\n \"msgType\": \"custom\",\n \"receivers\": [\n {\n \"user\": \"willniu\"\n }\n ]\n}" + }, + "response": { + "headers": { + "Content-Type": "application/json; charset=utf-8" + }, + "status_code": 200, + "body": "{\n \"code\": 0,\n \"error\": \"\",\n \"message\": \"\",\n \"data\": \"\"\n}" + } + } + ] + }, + { + "contract": "msgsender.custom_sender.SendMessageDebugV2", + "name": "SendMessageDebugV2", + "version": "1.0.0", + "description": "发送通知消息调试", + "endpoint": { + "method": "post", + "uri": "/api/v2/message_sender/send_message_debug" + }, + "import": [ + "easyops/model/msgsender/message_config", + "easyops/model/msgsender/message_receiver" + ], + "request": { + "type": "object", + "fields": [ + { + "name": "receivers", + "type": "MessageReceiver[]", + "description": "消息接收者" + }, + { + "ref": "MessageConfig.*" + } + ], + "required": [ + "receivers", + "MessageConfig.msgType" + ] + }, + "response": null, + "examples": [ + { + "description": { + "en": "send message debug", + "zh": "调试发送通知消息" + }, + "request": { + "method": "POST", + "uri": "http://localhost:8095/api/v2/message_sender/send_message_debug", + "headers": { + "Content-Type": "application/json" + }, + "body": "{\n \"scriptContent\": \"script send msg \",\n \"msgType\": \"custom\",\n \"receivers\": [\n {\n \"user\": \"willniu\"\n }\n ]\n}" + }, + "response": { + "headers": { + "Content-Type": "application/json; charset=utf-8" + }, + "status_code": 200, + "body": "{\n \"code\": 0,\n \"error\": \"\",\n \"message\": \"\",\n \"data\": \"\"\n}" + } + } + ] + }, + { + "contract": "msgsender.custom_sender.SendMessageForAlert", + "name": "SendMessageForAlert", + "version": "1.0.0", + "description": "处理告警通知消息", + "endpoint": { + "method": "post", + "uri": "/api/v1/alert_adapter/receive" + }, + "import": [ + "easyops/model/msgsender/send_message_for_alert_request", + "easyops/model/monitor/easy_tornado_response" + ], + "request": { + "type": "SendMessageForAlertRequest", + "required": [ + "SendMessageForAlertRequest.data" + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "map", + "description": "请求结果数据 e.g.: {\"email\": [\"test@qq.com\"], \"phone\": [\"test@qq.com\"]}" + } + ] + } + }, + { + "contract": "msgsender.custom_sender.SendMessageWithAppendix", + "name": "SendMessageWithAppendix", + "version": "1.0.0", + "description": "处理带附件的通知消息", + "endpoint": { + "method": "post", + "uri": "/api/v1/message_sender/mail_with_appendix" + }, + "import": [ + "easyops/model/msgsender/send_message_with_appendix_request", + "easyops/model/monitor/easy_tornado_response" + ], + "request": { + "type": "SendMessageWithAppendixRequest", + "required": [ + "SendMessageWithAppendixRequest.data", + "SendMessageWithAppendixRequest.files" + ] + }, + "response": { + "wrapper": false, + "type": "object", + "fields": [ + { + "ref": "EasyTornadoCommonResponse.*" + }, + { + "name": "data", + "type": "map", + "description": "请求结果数据 e.g.: {\"email\": [\"test@qq.com\"], \"phone\": [\"test@qq.com\"]}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/sdk/msgsender-sdk/package.json b/sdk/msgsender-sdk/package.json new file mode 100644 index 0000000..ebf6489 --- /dev/null +++ b/sdk/msgsender-sdk/package.json @@ -0,0 +1,46 @@ +{ + "name": "@next-api-sdk/msgsender-sdk", + "version": "1.0.0", + "description": "API SDK for Msgsender", + "homepage": "https://github.com/easyops-cn/next-api-sdk/tree/master/sdk/msgsender-sdk", + "repository": { + "type": "git", + "url": "git@github.com:easyops-cn/next-api-sdk.git", + "directory": "sdk/msgsender-sdk" + }, + "license": "GPL-3.0", + "type": "module", + "main": "dist/cjs/index.js", + "module": "dist/esm/index.js", + "typings": "dist/types/index.d.ts", + "files": [ + "dist", + "contracts.json" + ], + "exports": { + ".": { + "types": "./dist/types/index.d.ts", + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js" + }, + "./package.json": "./package.json" + }, + "scripts": { + "clean": "rimraf dist", + "prestart": "npm run clean", + "start": "concurrently -k -n types,main \"npm run start:types\" \"npm run start:main\"", + "start:main": "cross-env NODE_ENV=development build-next-libs --watch", + "start:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types --watch", + "prebuild": "npm run clean", + "build": "npm run build:types && npm run build:main", + "build:main": "cross-env NODE_ENV=production build-next-libs", + "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types" + }, + "sideEffects": false, + "dependencies": { + "@next-core/http": "^1.0.0" + }, + "devDependencies": { + "@next-core/build-next-libs": "^1.0.0" + } +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/createConfig.ts b/sdk/msgsender-sdk/src/api/msgsender/config/createConfig.ts new file mode 100644 index 0000000..45f2825 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/createConfig.ts @@ -0,0 +1,40 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelMessageConfig } from "../../../model/msgsender/index.js"; + +export type ConfigApi_CreateConfigRequestBody = Partial & + ModelMessageConfig_partial; + +export type ConfigApi_CreateConfigResponseBody = + Partial & + ConfigApi_CreateConfigResponseBody_2; + +/** + * @description 创建通知配置 + * @endpoint POST /api/v1/message_sender/configs + */ +export const ConfigApi_createConfig = ( + data: ConfigApi_CreateConfigRequestBody, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.config.CreateConfig@1.0.0 */ http.post( + "api/gateway/logic.msgsender/api/v1/message_sender/configs", + data, + options + ); + +export interface ModelMessageConfig_partial { + /** 名称 */ + name: string; + + /** 插件对应cmdb用户的字段名称 */ + cmdbUserObjectColName: string; + + /** 插件脚本的实际名称 */ + pluginName: string; +} + +export interface ConfigApi_CreateConfigResponseBody_2 { + /** 通知配置 */ + data?: Partial; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/createConfigV2.ts b/sdk/msgsender-sdk/src/api/msgsender/config/createConfigV2.ts new file mode 100644 index 0000000..e1eeef8 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/createConfigV2.ts @@ -0,0 +1,40 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelMessageConfig } from "../../../model/msgsender/index.js"; + +export type ConfigApi_CreateConfigV2RequestBody = Partial & + ModelMessageConfig_partial_2; + +export type ConfigApi_CreateConfigV2ResponseBody = + Partial & + ConfigApi_CreateConfigV2ResponseBody_2; + +/** + * @description 创建通知配置 + * @endpoint POST /api/v2/message_sender/configs + */ +export const ConfigApi_createConfigV2 = ( + data: ConfigApi_CreateConfigV2RequestBody, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.config.CreateConfigV2@1.0.0 */ http.post( + "api/gateway/logic.msgsender/api/v2/message_sender/configs", + data, + options + ); + +export interface ModelMessageConfig_partial_2 { + /** 名称 */ + name: string; + + /** 插件对应cmdb用户的字段名称 */ + cmdbUserObjectColName: string; + + /** 插件脚本的实际名称 */ + pluginName: string; +} + +export interface ConfigApi_CreateConfigV2ResponseBody_2 { + /** 通知配置 */ + data?: Partial; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/deleteConfig.ts b/sdk/msgsender-sdk/src/api/msgsender/config/deleteConfig.ts new file mode 100644 index 0000000..bdf9942 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/deleteConfig.ts @@ -0,0 +1,24 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; + +export type ConfigApi_DeleteConfigResponseBody = + Partial & + ConfigApi_DeleteConfigResponseBody_2; + +/** + * @description 删除通知配置 + * @endpoint DELETE /api/v1/message_sender/configs/:instanceId + */ +export const ConfigApi_deleteConfig = ( + instanceId: string | number, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.config.DeleteConfig@1.0.0 */ http.delete( + `api/gateway/logic.msgsender/api/v1/message_sender/configs/${instanceId}`, + options + ); + +export interface ConfigApi_DeleteConfigResponseBody_2 { + /** data */ + data?: Record; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/getConfig.ts b/sdk/msgsender-sdk/src/api/msgsender/config/getConfig.ts new file mode 100644 index 0000000..17dae06 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/getConfig.ts @@ -0,0 +1,24 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelMessageConfig } from "../../../model/msgsender/index.js"; + +export type ConfigApi_GetConfigResponseBody = + Partial & ConfigApi_GetConfigResponseBody_2; + +/** + * @description 获取通知配置 + * @endpoint GET /api/v1/message_sender/configs/:instanceId + */ +export const ConfigApi_getConfig = ( + instanceId: string | number, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.config.GetConfig@1.0.0 */ http.get( + `api/gateway/logic.msgsender/api/v1/message_sender/configs/${instanceId}`, + options + ); + +export interface ConfigApi_GetConfigResponseBody_2 { + /** 通知配置 */ + data?: Partial; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/index.ts b/sdk/msgsender-sdk/src/api/msgsender/config/index.ts new file mode 100644 index 0000000..7115686 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/index.ts @@ -0,0 +1,8 @@ +export * from "./createConfig.js"; +export * from "./createConfigV2.js"; +export * from "./deleteConfig.js"; +export * from "./getConfig.js"; +export * from "./listConfig.js"; +export * from "./listConfigV2.js"; +export * from "./updateConfig.js"; +export * from "./updateConfigV2.js"; diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/listConfig.ts b/sdk/msgsender-sdk/src/api/msgsender/config/listConfig.ts new file mode 100644 index 0000000..9268aa9 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/listConfig.ts @@ -0,0 +1,46 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelMessageConfig } from "../../../model/msgsender/index.js"; + +export interface ConfigApi_ListConfigRequestParams { + /** 页码 */ + page: number; + + /** 每页大小 */ + page_size: number; +} + +export type ConfigApi_ListConfigResponseBody = + Partial & ConfigApi_ListConfigResponseBody_2; + +/** + * @description 获取通知配置列表 + * @endpoint GET /api/v1/message_sender/configs + */ +export const ConfigApi_listConfig = ( + params: ConfigApi_ListConfigRequestParams, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.config.ListConfig@1.0.0 */ http.get( + "api/gateway/logic.msgsender/api/v1/message_sender/configs", + { ...options, params } + ); + +export interface ConfigApi_ListConfigResponseBody_2 { + /** 通知配置 */ + data?: ConfigApi_ListConfigResponseBody_data; +} + +export interface ConfigApi_ListConfigResponseBody_data { + /** 配置列表 */ + list?: Partial[]; + + /** 总数 */ + total?: number; + + /** 页码 */ + page?: number; + + /** 页大小 */ + pageSize?: number; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/listConfigV2.ts b/sdk/msgsender-sdk/src/api/msgsender/config/listConfigV2.ts new file mode 100644 index 0000000..65468dc --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/listConfigV2.ts @@ -0,0 +1,47 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelMessageConfig } from "../../../model/msgsender/index.js"; + +export interface ConfigApi_ListConfigV2RequestParams { + /** 页码 */ + page: number; + + /** 每页大小 */ + page_size: number; +} + +export type ConfigApi_ListConfigV2ResponseBody = + Partial & + ConfigApi_ListConfigV2ResponseBody_2; + +/** + * @description 获取通知配置列表 + * @endpoint GET /api/v2/message_sender/configs + */ +export const ConfigApi_listConfigV2 = ( + params: ConfigApi_ListConfigV2RequestParams, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.config.ListConfigV2@1.0.0 */ http.get( + "api/gateway/logic.msgsender/api/v2/message_sender/configs", + { ...options, params } + ); + +export interface ConfigApi_ListConfigV2ResponseBody_2 { + /** 通知配置 */ + data?: ConfigApi_ListConfigV2ResponseBody_data; +} + +export interface ConfigApi_ListConfigV2ResponseBody_data { + /** 配置列表 */ + list?: Partial[]; + + /** 总数 */ + total?: number; + + /** 页码 */ + page?: number; + + /** 页大小 */ + pageSize?: number; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/updateConfig.ts b/sdk/msgsender-sdk/src/api/msgsender/config/updateConfig.ts new file mode 100644 index 0000000..9674a27 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/updateConfig.ts @@ -0,0 +1,30 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelMessageConfig } from "../../../model/msgsender/index.js"; + +/** 要更新的实例 */ +export type ConfigApi_UpdateConfigRequestBody = Partial; + +export type ConfigApi_UpdateConfigResponseBody = + Partial & + ConfigApi_UpdateConfigResponseBody_2; + +/** + * @description 更新通知配置 + * @endpoint PUT /api/v1/message_sender/configs/:instanceId + */ +export const ConfigApi_updateConfig = ( + instanceId: string | number, + data: ConfigApi_UpdateConfigRequestBody, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.config.UpdateConfig@1.0.0 */ http.put( + `api/gateway/logic.msgsender/api/v1/message_sender/configs/${instanceId}`, + data, + options + ); + +export interface ConfigApi_UpdateConfigResponseBody_2 { + /** 通知配置 */ + data?: Partial; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/config/updateConfigV2.ts b/sdk/msgsender-sdk/src/api/msgsender/config/updateConfigV2.ts new file mode 100644 index 0000000..3d888b7 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/config/updateConfigV2.ts @@ -0,0 +1,30 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelMessageConfig } from "../../../model/msgsender/index.js"; + +/** 要更新的实例 */ +export type ConfigApi_UpdateConfigV2RequestBody = Partial; + +export type ConfigApi_UpdateConfigV2ResponseBody = + Partial & + ConfigApi_UpdateConfigV2ResponseBody_2; + +/** + * @description 更新通知配置 + * @endpoint PUT /api/v2/message_sender/configs/:instanceId + */ +export const ConfigApi_updateConfigV2 = ( + instanceId: string | number, + data: ConfigApi_UpdateConfigV2RequestBody, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.config.UpdateConfigV2@1.0.0 */ http.put( + `api/gateway/logic.msgsender/api/v2/message_sender/configs/${instanceId}`, + data, + options + ); + +export interface ConfigApi_UpdateConfigV2ResponseBody_2 { + /** 通知配置 */ + data?: Partial; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/custom_sender/index.ts b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/index.ts new file mode 100644 index 0000000..f67a987 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/index.ts @@ -0,0 +1,6 @@ +export * from "./listSupportInform.js"; +export * from "./sendMessage.js"; +export * from "./sendMessageDebug.js"; +export * from "./sendMessageDebugV2.js"; +export * from "./sendMessageForAlert.js"; +export * from "./sendMessageWithAppendix.js"; diff --git a/sdk/msgsender-sdk/src/api/msgsender/custom_sender/listSupportInform.ts b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/listSupportInform.ts new file mode 100644 index 0000000..4ff4b7f --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/listSupportInform.ts @@ -0,0 +1,40 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonPageResponse } from "../../../model/monitor/index.js"; + +export type CustomSenderApi_ListSupportInformResponseBody = + Partial & + CustomSenderApi_ListSupportInformResponseBody_2; + +/** + * @description 获取消息通道目前支持的通知方式 + * @endpoint get /api/v1/message_sender/method + */ +export const CustomSenderApi_listSupportInform = ( + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.custom_sender.ListSupportInform@1.0.0 */ http.get( + "api/gateway/logic.msgsender/api/v1/message_sender/method", + options + ); + +export interface CustomSenderApi_ListSupportInformResponseBody_2 { + /** 数据内容 */ + data?: CustomSenderApi_ListSupportInformResponseBody_data_item[]; +} + +export interface CustomSenderApi_ListSupportInformResponseBody_data_item { + /** 关联的cmdb用户对象字段 */ + col_of_cmdb_user_object?: string; + + /** 是否启用 */ + enable?: boolean; + + /** 通知插件名称 */ + plugin_name?: string; + + /** 通知方式描述 */ + description?: string; + + /** 通知方式名称 */ + inform_type?: string; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessage.ts b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessage.ts new file mode 100644 index 0000000..34aa9d4 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessage.ts @@ -0,0 +1,29 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelSendMessageRequest } from "../../../model/msgsender/index.js"; + +export type CustomSenderApi_SendMessageRequestBody = + Partial; + +export type CustomSenderApi_SendMessageResponseBody = + Partial & + CustomSenderApi_SendMessageResponseBody_2; + +/** + * @description 发送通知消息 + * @endpoint post /api/v1/message_sender/send_message + */ +export const CustomSenderApi_sendMessage = ( + data: CustomSenderApi_SendMessageRequestBody, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.custom_sender.SendMessage@1.0.0 */ http.post( + "api/gateway/logic.msgsender/api/v1/message_sender/send_message", + data, + options + ); + +export interface CustomSenderApi_SendMessageResponseBody_2 { + /** 请求结果数据 e.g.: {"email": ["test@qq.com"], "phone": ["test@qq.com"]} */ + data?: Record; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageDebug.ts b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageDebug.ts new file mode 100644 index 0000000..7d4e54a --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageDebug.ts @@ -0,0 +1,34 @@ +import { http, HttpOptions } from "@next-core/http"; +import { + ModelMessageConfig, + ModelMessageReceiver, +} from "../../../model/msgsender/index.js"; + +export type CustomSenderApi_SendMessageDebugRequestBody = + Partial & + ModelMessageConfig_partial_3 & + CustomSenderApi_SendMessageDebugRequestBody_2; + +/** + * @description 发送通知消息调试 + * @endpoint post /api/v1/message_sender/send_message_debug + */ +export const CustomSenderApi_sendMessageDebug = ( + data: CustomSenderApi_SendMessageDebugRequestBody, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.custom_sender.SendMessageDebug@1.0.0 */ http.post( + "api/gateway/logic.msgsender/api/v1/message_sender/send_message_debug", + data, + options + ); + +export interface ModelMessageConfig_partial_3 { + /** 通知类型, 分别对应邮箱,企业微信,钉钉,钉钉机器人,自定义类型 */ + msgType: "email" | "wework" | "dingding" | "dingding_robot" | "custom"; +} + +export interface CustomSenderApi_SendMessageDebugRequestBody_2 { + /** 消息接收者 */ + receivers: Partial[]; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageDebugV2.ts b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageDebugV2.ts new file mode 100644 index 0000000..014e998 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageDebugV2.ts @@ -0,0 +1,34 @@ +import { http, HttpOptions } from "@next-core/http"; +import { + ModelMessageConfig, + ModelMessageReceiver, +} from "../../../model/msgsender/index.js"; + +export type CustomSenderApi_SendMessageDebugV2RequestBody = + Partial & + ModelMessageConfig_partial_4 & + CustomSenderApi_SendMessageDebugV2RequestBody_2; + +/** + * @description 发送通知消息调试 + * @endpoint post /api/v2/message_sender/send_message_debug + */ +export const CustomSenderApi_sendMessageDebugV2 = ( + data: CustomSenderApi_SendMessageDebugV2RequestBody, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.custom_sender.SendMessageDebugV2@1.0.0 */ http.post( + "api/gateway/logic.msgsender/api/v2/message_sender/send_message_debug", + data, + options + ); + +export interface ModelMessageConfig_partial_4 { + /** 通知类型, 分别对应邮箱,企业微信,钉钉,钉钉机器人,自定义类型 */ + msgType: "email" | "wework" | "dingding" | "dingding_robot" | "custom"; +} + +export interface CustomSenderApi_SendMessageDebugV2RequestBody_2 { + /** 消息接收者 */ + receivers: Partial[]; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageForAlert.ts b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageForAlert.ts new file mode 100644 index 0000000..f4aaba1 --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageForAlert.ts @@ -0,0 +1,35 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelSendMessageForAlertRequest } from "../../../model/msgsender/index.js"; + +export type CustomSenderApi_SendMessageForAlertRequestBody = + Partial & + ModelSendMessageForAlertRequest_partial; + +export type CustomSenderApi_SendMessageForAlertResponseBody = + Partial & + CustomSenderApi_SendMessageForAlertResponseBody_2; + +/** + * @description 处理告警通知消息 + * @endpoint post /api/v1/alert_adapter/receive + */ +export const CustomSenderApi_sendMessageForAlert = ( + data: CustomSenderApi_SendMessageForAlertRequestBody, + options?: HttpOptions +): Promise => + /**! @contract easyops.api.msgsender.custom_sender.SendMessageForAlert@1.0.0 */ http.post( + "api/gateway/logic.msgsender/api/v1/alert_adapter/receive", + data, + options + ); + +export interface ModelSendMessageForAlertRequest_partial { + /** 告警数据 */ + data: Record; +} + +export interface CustomSenderApi_SendMessageForAlertResponseBody_2 { + /** 请求结果数据 e.g.: {"email": ["test@qq.com"], "phone": ["test@qq.com"]} */ + data?: Record; +} diff --git a/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageWithAppendix.ts b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageWithAppendix.ts new file mode 100644 index 0000000..b980c6b --- /dev/null +++ b/sdk/msgsender-sdk/src/api/msgsender/custom_sender/sendMessageWithAppendix.ts @@ -0,0 +1,51 @@ +import { http, HttpOptions } from "@next-core/http"; +import { ModelEasyTornadoCommonResponse } from "../../../model/monitor/index.js"; +import { ModelSendMessageWithAppendixRequest } from "../../../model/msgsender/index.js"; + +export type CustomSenderApi_SendMessageWithAppendixRequestBody = + Partial & + ModelSendMessageWithAppendixRequest_partial; + +export type CustomSenderApi_SendMessageWithAppendixResponseBody = + Partial & + CustomSenderApi_SendMessageWithAppendixResponseBody_2; + +/** + * @description 处理带附件的通知消息 + * @endpoint post /api/v1/message_sender/mail_with_appendix + */ +export const CustomSenderApi_sendMessageWithAppendix = ( + data: CustomSenderApi_SendMessageWithAppendixRequestBody, + options?: HttpOptions +): Promise => { + /**! @contract easyops.api.msgsender.custom_sender.SendMessageWithAppendix@1.0.0 */ const _formData = + new FormData(); + for (const [key, value] of Object.entries(data)) { + if (Array.isArray(value)) { + const k = `${key}[]`; + value.forEach((v) => { + _formData.append(k, v); + }); + } else { + _formData.append(key, value); + } + } + return http.post( + "api/gateway/logic.msgsender/api/v1/message_sender/mail_with_appendix", + _formData, + options + ); +}; + +export interface ModelSendMessageWithAppendixRequest_partial { + /** 发送通知的请求数据 */ + data: ModelSendMessageWithAppendixRequest["data"]; + + /** 附件的二进制数据 */ + files: File; +} + +export interface CustomSenderApi_SendMessageWithAppendixResponseBody_2 { + /** 请求结果数据 e.g.: {"email": ["test@qq.com"], "phone": ["test@qq.com"]} */ + data?: Record; +} diff --git a/sdk/msgsender-sdk/src/index.ts b/sdk/msgsender-sdk/src/index.ts new file mode 100644 index 0000000..db19fdb --- /dev/null +++ b/sdk/msgsender-sdk/src/index.ts @@ -0,0 +1,4 @@ +export * from "./api/msgsender/config/index.js"; +export * from "./api/msgsender/custom_sender/index.js"; +export * as MonitorModels from "./model/monitor/index.js"; +export * as MsgsenderModels from "./model/msgsender/index.js"; diff --git a/sdk/msgsender-sdk/src/model/monitor/ModelEasyTornadoCommonPageResponse.ts b/sdk/msgsender-sdk/src/model/monitor/ModelEasyTornadoCommonPageResponse.ts new file mode 100644 index 0000000..87fa86e --- /dev/null +++ b/sdk/msgsender-sdk/src/model/monitor/ModelEasyTornadoCommonPageResponse.ts @@ -0,0 +1,16 @@ +import { ModelEasyTornadoCommonResponse } from "./index.js"; + +/** easy_tornado 返回通用页码字段 */ +export type ModelEasyTornadoCommonPageResponse = + ModelEasyTornadoCommonResponse & ModelEasyTornadoCommonPageResponse_2; + +export interface ModelEasyTornadoCommonPageResponse_2 { + /** 页码 */ + page: number; + + /** 每页记录数 */ + page_size: number; + + /** 记录总数 */ + tatal: number; +} diff --git a/sdk/msgsender-sdk/src/model/monitor/ModelEasyTornadoCommonResponse.ts b/sdk/msgsender-sdk/src/model/monitor/ModelEasyTornadoCommonResponse.ts new file mode 100644 index 0000000..2a62330 --- /dev/null +++ b/sdk/msgsender-sdk/src/model/monitor/ModelEasyTornadoCommonResponse.ts @@ -0,0 +1,8 @@ +/** easy_tornado 请求返回状态字段 */ +export interface ModelEasyTornadoCommonResponse { + /** 请求错误信息 */ + msg: string; + + /** 请求返回码 */ + code: number; +} diff --git a/sdk/msgsender-sdk/src/model/monitor/index.ts b/sdk/msgsender-sdk/src/model/monitor/index.ts new file mode 100644 index 0000000..c7d6a73 --- /dev/null +++ b/sdk/msgsender-sdk/src/model/monitor/index.ts @@ -0,0 +1,2 @@ +export * from "./ModelEasyTornadoCommonResponse.js"; +export * from "./ModelEasyTornadoCommonPageResponse.js"; diff --git a/sdk/msgsender-sdk/src/model/msgsender/ModelMessageConfig.ts b/sdk/msgsender-sdk/src/model/msgsender/ModelMessageConfig.ts new file mode 100644 index 0000000..9caf1ee --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/ModelMessageConfig.ts @@ -0,0 +1,34 @@ +import { ModelMessageServerConfigField } from "./index.js"; + +/** 通知配置 */ +export interface ModelMessageConfig { + /** 实例id */ + instanceId: string; + + /** 通知类型, 分别对应邮箱,企业微信,钉钉,钉钉机器人,自定义类型 */ + msgType: "email" | "wework" | "dingding" | "dingding_robot" | "custom"; + + /** 名称 */ + name: string; + + /** 插件对应cmdb用户的字段名称 */ + cmdbUserObjectColName: string; + + /** 插件脚本的实际名称 */ + pluginName: string; + + /** 启用 */ + enable: string; + + /** 通知方式描述 */ + description: string; + + /** 插件服务端相关配置 */ + serverConfig: Record; + + /** 自定义类型脚本内容 */ + scriptContent: string; + + /** 服务器配置字段定义 */ + configFields: Partial[]; +} diff --git a/sdk/msgsender-sdk/src/model/msgsender/ModelMessageData.ts b/sdk/msgsender-sdk/src/model/msgsender/ModelMessageData.ts new file mode 100644 index 0000000..1aee328 --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/ModelMessageData.ts @@ -0,0 +1,29 @@ +/** 消息的内容 */ +export interface ModelMessageData { + /** 通知的内容(正文) */ + content: string; + + /** 通知标题(邮件通知方式用) */ + subject: string; + + /** 抄送的邮箱地址 */ + cc_addr: string[]; + + /** 抄送的用户列表(带:前缀则按实例ID处理) */ + cc_user: string[]; + + /** 抄送的用户组列表(带:前缀则按实例ID处理) */ + cc_group: string[]; + + /** 邮件发送者的名称 */ + from_name: string; + + /** 邮件发送者的邮箱地址 */ + from_addr: string; + + /** 邮件内容类型 */ + msg_type: "plain" | "html"; + + /** 扩展字段 */ + extraData: Record; +} diff --git a/sdk/msgsender-sdk/src/model/msgsender/ModelMessageReceiver.ts b/sdk/msgsender-sdk/src/model/msgsender/ModelMessageReceiver.ts new file mode 100644 index 0000000..4d7b186 --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/ModelMessageReceiver.ts @@ -0,0 +1,14 @@ +/** 通知的接收者 */ +export interface ModelMessageReceiver { + /** 用户名(带:前缀则按实例ID处理) */ + user: string; + + /** 用户组名(带:前缀则按实例ID处理) */ + user_group: string; + + /** 邮箱地址 */ + email_addr: string; + + /** 通知方式 */ + method: string; +} diff --git a/sdk/msgsender-sdk/src/model/msgsender/ModelMessageServerConfigField.ts b/sdk/msgsender-sdk/src/model/msgsender/ModelMessageServerConfigField.ts new file mode 100644 index 0000000..82474a9 --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/ModelMessageServerConfigField.ts @@ -0,0 +1,8 @@ +/** 通知配置的服务器配置字段定义 */ +export interface ModelMessageServerConfigField { + /** 配置字段名称 */ + name: string; + + /** 配置字段展示类型。如果是password类型,需要加密展示 */ + type: string; +} diff --git a/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageForAlertRequest.ts b/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageForAlertRequest.ts new file mode 100644 index 0000000..16f22ad --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageForAlertRequest.ts @@ -0,0 +1,8 @@ +/** 告警发送通知的请求body */ +export interface ModelSendMessageForAlertRequest { + /** 告警数据 */ + data: Record; + + /** 数据源 */ + system: string; +} diff --git a/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageRequest.ts b/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageRequest.ts new file mode 100644 index 0000000..c007712 --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageRequest.ts @@ -0,0 +1,7 @@ +import { ModelSendMessageRequestData } from "./index.js"; + +/** 发送通知的请求body */ +export interface ModelSendMessageRequest { + /** 发送通知的请求数据 */ + data: Partial; +} diff --git a/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageRequestData.ts b/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageRequestData.ts new file mode 100644 index 0000000..e198c27 --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageRequestData.ts @@ -0,0 +1,10 @@ +import { ModelMessageReceiver, ModelMessageData } from "./index.js"; + +/** 发送通知的请求body数据 */ +export interface ModelSendMessageRequestData { + /** 消息接受者 */ + receivers: Partial[]; + + /** 发送消息的内容 */ + msg_data: Partial; +} diff --git a/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageWithAppendixRequest.ts b/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageWithAppendixRequest.ts new file mode 100644 index 0000000..8ad5204 --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/ModelSendMessageWithAppendixRequest.ts @@ -0,0 +1,10 @@ +import { ModelSendMessageRequestData } from "./index.js"; + +/** 发送带附件的通知的请求body */ +export interface ModelSendMessageWithAppendixRequest { + /** 发送通知的请求数据 */ + data: Partial; + + /** 附件的二进制数据 */ + files: File; +} diff --git a/sdk/msgsender-sdk/src/model/msgsender/index.ts b/sdk/msgsender-sdk/src/model/msgsender/index.ts new file mode 100644 index 0000000..e01d99a --- /dev/null +++ b/sdk/msgsender-sdk/src/model/msgsender/index.ts @@ -0,0 +1,8 @@ +export * from "./ModelMessageServerConfigField.js"; +export * from "./ModelMessageConfig.js"; +export * from "./ModelMessageReceiver.js"; +export * from "./ModelMessageData.js"; +export * from "./ModelSendMessageRequestData.js"; +export * from "./ModelSendMessageRequest.js"; +export * from "./ModelSendMessageForAlertRequest.js"; +export * from "./ModelSendMessageWithAppendixRequest.js"; diff --git a/sdk/msgsender-sdk/src/wrapper.ts b/sdk/msgsender-sdk/src/wrapper.ts new file mode 100644 index 0000000..689660f --- /dev/null +++ b/sdk/msgsender-sdk/src/wrapper.ts @@ -0,0 +1,13 @@ +export interface ResponseBodyWrapper { + code: number; + data: T; + error?: string; + message?: string; +} + +export interface ResponseListWrapper { + list: T[]; + page: number; + page_size: number; + total: number; +} diff --git a/sdk/msgsender-sdk/tsconfig.json b/sdk/msgsender-sdk/tsconfig.json new file mode 100644 index 0000000..89d0eb3 --- /dev/null +++ b/sdk/msgsender-sdk/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.module.json", + "include": ["./src"] +}