@dofe/infra-shared-services 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/email/dto/email.dto.d.ts +70 -0
- package/dist/email/dto/email.dto.d.ts.map +1 -0
- package/dist/email/dto/email.dto.js +58 -0
- package/dist/email/dto/email.dto.js.map +1 -0
- package/dist/email/email.module.d.ts +3 -0
- package/dist/email/email.module.d.ts.map +1 -0
- package/dist/email/email.module.js +38 -0
- package/dist/email/email.module.js.map +1 -0
- package/dist/email/email.service.d.ts +61 -0
- package/dist/email/email.service.d.ts.map +1 -0
- package/dist/email/email.service.js +191 -0
- package/dist/email/email.service.js.map +1 -0
- package/dist/email/index.d.ts +5 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +26 -0
- package/dist/email/index.js.map +1 -0
- package/dist/file-storage/bucket-resolver.d.ts +174 -0
- package/dist/file-storage/bucket-resolver.d.ts.map +1 -0
- package/dist/file-storage/bucket-resolver.js +270 -0
- package/dist/file-storage/bucket-resolver.js.map +1 -0
- package/dist/file-storage/file-storage.factory.d.ts +183 -0
- package/dist/file-storage/file-storage.factory.d.ts.map +1 -0
- package/dist/file-storage/file-storage.factory.js +300 -0
- package/dist/file-storage/file-storage.factory.js.map +1 -0
- package/dist/file-storage/file-storage.module.d.ts +49 -0
- package/dist/file-storage/file-storage.module.d.ts.map +1 -0
- package/dist/file-storage/file-storage.module.js +74 -0
- package/dist/file-storage/file-storage.module.js.map +1 -0
- package/dist/file-storage/file-storage.service.d.ts +381 -0
- package/dist/file-storage/file-storage.service.d.ts.map +1 -0
- package/dist/file-storage/file-storage.service.js +598 -0
- package/dist/file-storage/file-storage.service.js.map +1 -0
- package/dist/file-storage/index.d.ts +43 -0
- package/dist/file-storage/index.d.ts.map +1 -0
- package/dist/file-storage/index.js +65 -0
- package/dist/file-storage/index.js.map +1 -0
- package/dist/file-storage/types.d.ts +187 -0
- package/dist/file-storage/types.d.ts.map +1 -0
- package/dist/file-storage/types.js +21 -0
- package/dist/file-storage/types.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/ip-geo/continent-mapping.d.ts +31 -0
- package/dist/ip-geo/continent-mapping.d.ts.map +1 -0
- package/dist/ip-geo/continent-mapping.js +246 -0
- package/dist/ip-geo/continent-mapping.js.map +1 -0
- package/dist/ip-geo/index.d.ts +33 -0
- package/dist/ip-geo/index.d.ts.map +1 -0
- package/dist/ip-geo/index.js +41 -0
- package/dist/ip-geo/index.js.map +1 -0
- package/dist/ip-geo/ip-geo.module.d.ts +8 -0
- package/dist/ip-geo/ip-geo.module.d.ts.map +1 -0
- package/dist/ip-geo/ip-geo.module.js +34 -0
- package/dist/ip-geo/ip-geo.module.js.map +1 -0
- package/dist/ip-geo/ip-geo.service.d.ts +43 -0
- package/dist/ip-geo/ip-geo.service.d.ts.map +1 -0
- package/dist/ip-geo/ip-geo.service.js +153 -0
- package/dist/ip-geo/ip-geo.service.js.map +1 -0
- package/dist/ip-info/index.d.ts +7 -0
- package/dist/ip-info/index.d.ts.map +1 -0
- package/dist/ip-info/index.js +13 -0
- package/dist/ip-info/index.js.map +1 -0
- package/dist/ip-info/ip-info.client.d.ts +32 -0
- package/dist/ip-info/ip-info.client.d.ts.map +1 -0
- package/dist/ip-info/ip-info.client.js +73 -0
- package/dist/ip-info/ip-info.client.js.map +1 -0
- package/dist/ip-info/ip-info.module.d.ts +3 -0
- package/dist/ip-info/ip-info.module.d.ts.map +1 -0
- package/dist/ip-info/ip-info.module.js +45 -0
- package/dist/ip-info/ip-info.module.js.map +1 -0
- package/dist/ip-info/ip-info.service.d.ts +50 -0
- package/dist/ip-info/ip-info.service.d.ts.map +1 -0
- package/dist/ip-info/ip-info.service.js +177 -0
- package/dist/ip-info/ip-info.service.js.map +1 -0
- package/dist/ocr/index.d.ts +33 -0
- package/dist/ocr/index.d.ts.map +1 -0
- package/dist/ocr/index.js +53 -0
- package/dist/ocr/index.js.map +1 -0
- package/dist/ocr/ocr.module.d.ts +41 -0
- package/dist/ocr/ocr.module.d.ts.map +1 -0
- package/dist/ocr/ocr.module.js +61 -0
- package/dist/ocr/ocr.module.js.map +1 -0
- package/dist/ocr/ocr.service.d.ts +111 -0
- package/dist/ocr/ocr.service.d.ts.map +1 -0
- package/dist/ocr/ocr.service.js +214 -0
- package/dist/ocr/ocr.service.js.map +1 -0
- package/dist/sms/index.d.ts +5 -0
- package/dist/sms/index.d.ts.map +1 -0
- package/dist/sms/index.js +29 -0
- package/dist/sms/index.js.map +1 -0
- package/dist/sms/sms.factory.d.ts +140 -0
- package/dist/sms/sms.factory.d.ts.map +1 -0
- package/dist/sms/sms.factory.js +276 -0
- package/dist/sms/sms.factory.js.map +1 -0
- package/dist/sms/sms.module.d.ts +3 -0
- package/dist/sms/sms.module.d.ts.map +1 -0
- package/dist/sms/sms.module.js +38 -0
- package/dist/sms/sms.module.js.map +1 -0
- package/dist/sms/sms.service.d.ts +139 -0
- package/dist/sms/sms.service.d.ts.map +1 -0
- package/dist/sms/sms.service.js +278 -0
- package/dist/sms/sms.service.js.map +1 -0
- package/dist/sms/types.d.ts +204 -0
- package/dist/sms/types.d.ts.map +1 -0
- package/dist/sms/types.js +44 -0
- package/dist/sms/types.js.map +1 -0
- package/dist/streaming-asr/index.d.ts +45 -0
- package/dist/streaming-asr/index.d.ts.map +1 -0
- package/dist/streaming-asr/index.js +66 -0
- package/dist/streaming-asr/index.js.map +1 -0
- package/dist/streaming-asr/streaming-asr.module.d.ts +37 -0
- package/dist/streaming-asr/streaming-asr.module.d.ts.map +1 -0
- package/dist/streaming-asr/streaming-asr.module.js +59 -0
- package/dist/streaming-asr/streaming-asr.module.js.map +1 -0
- package/dist/streaming-asr/streaming-asr.service.d.ts +276 -0
- package/dist/streaming-asr/streaming-asr.service.d.ts.map +1 -0
- package/dist/streaming-asr/streaming-asr.service.js +1120 -0
- package/dist/streaming-asr/streaming-asr.service.js.map +1 -0
- package/dist/streaming-asr/types.d.ts +194 -0
- package/dist/streaming-asr/types.d.ts.map +1 -0
- package/dist/streaming-asr/types.js +8 -0
- package/dist/streaming-asr/types.js.map +1 -0
- package/dist/system-health/index.d.ts +7 -0
- package/dist/system-health/index.d.ts.map +1 -0
- package/dist/system-health/index.js +25 -0
- package/dist/system-health/index.js.map +1 -0
- package/dist/system-health/system-health.controller.d.ts +43 -0
- package/dist/system-health/system-health.controller.d.ts.map +1 -0
- package/dist/system-health/system-health.controller.js +86 -0
- package/dist/system-health/system-health.controller.js.map +1 -0
- package/dist/system-health/system-health.module.d.ts +3 -0
- package/dist/system-health/system-health.module.d.ts.map +1 -0
- package/dist/system-health/system-health.module.js +29 -0
- package/dist/system-health/system-health.module.js.map +1 -0
- package/dist/system-health/system-health.service.d.ts +14 -0
- package/dist/system-health/system-health.service.d.ts.map +1 -0
- package/dist/system-health/system-health.service.js +87 -0
- package/dist/system-health/system-health.service.js.map +1 -0
- package/dist/uploader/index.d.ts +3 -0
- package/dist/uploader/index.d.ts.map +1 -0
- package/dist/uploader/index.js +8 -0
- package/dist/uploader/index.js.map +1 -0
- package/dist/uploader/uploader.module.d.ts +3 -0
- package/dist/uploader/uploader.module.d.ts.map +1 -0
- package/dist/uploader/uploader.module.js +25 -0
- package/dist/uploader/uploader.module.js.map +1 -0
- package/dist/uploader/uploader.service.d.ts +86 -0
- package/dist/uploader/uploader.service.d.ts.map +1 -0
- package/dist/uploader/uploader.service.js +188 -0
- package/dist/uploader/uploader.service.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview 文件存储服务导出
|
|
4
|
+
*
|
|
5
|
+
* 本模块提供多云存储供应商文件存储能力的统一封装。
|
|
6
|
+
*
|
|
7
|
+
* 支持的存储供应商:
|
|
8
|
+
* - AWS S3 兼容存储
|
|
9
|
+
* - 阿里云 OSS
|
|
10
|
+
* - 火山引擎 TOS
|
|
11
|
+
* - UCloud US3
|
|
12
|
+
* - Google Cloud Storage
|
|
13
|
+
* - 七牛云存储
|
|
14
|
+
*
|
|
15
|
+
* @module file-storage
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // 导入模块
|
|
20
|
+
* import {
|
|
21
|
+
* FileStorageServiceModule,
|
|
22
|
+
* FileStorageService,
|
|
23
|
+
* } from '@dofe/infra-shared-services';
|
|
24
|
+
*
|
|
25
|
+
* // 在 NestJS 模块中使用
|
|
26
|
+
* @Module({
|
|
27
|
+
* imports: [FileStorageServiceModule],
|
|
28
|
+
* })
|
|
29
|
+
* export class MyModule {}
|
|
30
|
+
*
|
|
31
|
+
* // 在服务中注入使用
|
|
32
|
+
* @Injectable()
|
|
33
|
+
* class MyService {
|
|
34
|
+
* constructor(private readonly fileStorage: FileStorageService) {}
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
39
|
+
if (k2 === undefined) k2 = k;
|
|
40
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
41
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
42
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
43
|
+
}
|
|
44
|
+
Object.defineProperty(o, k2, desc);
|
|
45
|
+
}) : (function(o, m, k, k2) {
|
|
46
|
+
if (k2 === undefined) k2 = k;
|
|
47
|
+
o[k2] = m[k];
|
|
48
|
+
}));
|
|
49
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
50
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.FileStorageServiceModule = void 0;
|
|
54
|
+
// 模块导出
|
|
55
|
+
var file_storage_module_1 = require("./file-storage.module");
|
|
56
|
+
Object.defineProperty(exports, "FileStorageServiceModule", { enumerable: true, get: function () { return file_storage_module_1.FileStorageServiceModule; } });
|
|
57
|
+
// 服务导出
|
|
58
|
+
__exportStar(require("./file-storage.service"), exports);
|
|
59
|
+
// 工厂导出
|
|
60
|
+
__exportStar(require("./file-storage.factory"), exports);
|
|
61
|
+
// 存储桶解析器导出
|
|
62
|
+
__exportStar(require("./bucket-resolver"), exports);
|
|
63
|
+
// 类型导出
|
|
64
|
+
__exportStar(require("./types"), exports);
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/file-storage/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;;;;;;;;;;;;;;;AAEH,OAAO;AACP,6DAAiE;AAAxD,+HAAA,wBAAwB,OAAA;AAEjC,OAAO;AACP,yDAAuC;AAEvC,OAAO;AACP,yDAAuC;AAEvC,WAAW;AACX,oDAAkC;AAElC,OAAO;AACP,0CAAwB"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview 文件存储服务类型定义
|
|
3
|
+
*
|
|
4
|
+
* 本文件定义了文件存储服务层的核心类型和接口。
|
|
5
|
+
*
|
|
6
|
+
* @module file-storage/types
|
|
7
|
+
*/
|
|
8
|
+
import { FileBucketVendor } from '@prisma/client';
|
|
9
|
+
import { PardxUploader } from '@dofe/infra-clients';
|
|
10
|
+
/**
|
|
11
|
+
* 文件位置标识
|
|
12
|
+
*
|
|
13
|
+
* @description 唯一标识一个存储桶中的文件
|
|
14
|
+
* @interface FileLocation
|
|
15
|
+
*/
|
|
16
|
+
export interface FileLocation {
|
|
17
|
+
/** 存储供应商 */
|
|
18
|
+
vendor: FileBucketVendor;
|
|
19
|
+
/** 存储桶名称 */
|
|
20
|
+
bucket: string;
|
|
21
|
+
/** 文件键(路径) */
|
|
22
|
+
key: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 存储桶标识
|
|
26
|
+
*
|
|
27
|
+
* @description 唯一标识一个存储桶
|
|
28
|
+
* @interface BucketIdentifier
|
|
29
|
+
*/
|
|
30
|
+
export interface BucketIdentifier {
|
|
31
|
+
/** 存储供应商 */
|
|
32
|
+
vendor: FileBucketVendor;
|
|
33
|
+
/** 存储桶名称 */
|
|
34
|
+
bucket: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 存储桶查询选项
|
|
38
|
+
*
|
|
39
|
+
* @description 用于查找存储桶的选项参数
|
|
40
|
+
* @interface BucketLookupOptions
|
|
41
|
+
*/
|
|
42
|
+
export interface BucketLookupOptions {
|
|
43
|
+
/** 存储桶名称(可选) */
|
|
44
|
+
bucket?: string;
|
|
45
|
+
/** 客户端 IP(用于区域感知) */
|
|
46
|
+
ip?: string;
|
|
47
|
+
/** 是否公开存储桶 */
|
|
48
|
+
isPublic?: boolean;
|
|
49
|
+
/** 区域设置 */
|
|
50
|
+
locale?: string;
|
|
51
|
+
/** 存储供应商 */
|
|
52
|
+
vendor?: FileBucketVendor;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 文件上传选项
|
|
56
|
+
*
|
|
57
|
+
* @interface UploadOptions
|
|
58
|
+
*/
|
|
59
|
+
export interface UploadOptions {
|
|
60
|
+
/** 内容类型 */
|
|
61
|
+
contentType?: string;
|
|
62
|
+
/** 访问控制 */
|
|
63
|
+
acl?: 'public-read' | 'public-read-write' | 'private';
|
|
64
|
+
/** 自定义元数据 */
|
|
65
|
+
metadata?: Record<string, string>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 分片上传部分信息
|
|
69
|
+
*
|
|
70
|
+
* @interface MultipartPart
|
|
71
|
+
*/
|
|
72
|
+
export interface MultipartPart {
|
|
73
|
+
/** ETag 标识 */
|
|
74
|
+
ETag: string;
|
|
75
|
+
/** 分片序号 */
|
|
76
|
+
PartNumber: number;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 预签名 URL 选项
|
|
80
|
+
*
|
|
81
|
+
* @interface PresignedUrlOptions
|
|
82
|
+
*/
|
|
83
|
+
export interface PresignedUrlOptions {
|
|
84
|
+
/** 上传 ID(用于分片上传) */
|
|
85
|
+
uploadId?: string;
|
|
86
|
+
/** 文件键 */
|
|
87
|
+
key?: string;
|
|
88
|
+
/** 分片序号 */
|
|
89
|
+
partNumber?: number;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 文件列表查询选项
|
|
93
|
+
*
|
|
94
|
+
* @interface ListFilesOptions
|
|
95
|
+
*/
|
|
96
|
+
export interface ListFilesOptions {
|
|
97
|
+
/** 前缀过滤 */
|
|
98
|
+
prefix?: string;
|
|
99
|
+
/** 返回数量限制 */
|
|
100
|
+
limit?: number;
|
|
101
|
+
/** 分隔符 */
|
|
102
|
+
delimiter?: string;
|
|
103
|
+
/** 附加选项 */
|
|
104
|
+
extras?: Record<string, any>;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 视频截图选项
|
|
108
|
+
*
|
|
109
|
+
* @interface SnapshotOptions
|
|
110
|
+
*/
|
|
111
|
+
export interface SnapshotOptions {
|
|
112
|
+
/** 截图时间点(秒) */
|
|
113
|
+
time?: number;
|
|
114
|
+
/** 截图宽度 */
|
|
115
|
+
width?: number;
|
|
116
|
+
/** 截图高度 */
|
|
117
|
+
height?: number;
|
|
118
|
+
/** 输出格式 */
|
|
119
|
+
format?: string;
|
|
120
|
+
/** 是否使用内部端点 */
|
|
121
|
+
internal?: boolean;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* 私有下载 URL 选项
|
|
125
|
+
*
|
|
126
|
+
* @interface PrivateDownloadOptions
|
|
127
|
+
*/
|
|
128
|
+
export interface PrivateDownloadOptions {
|
|
129
|
+
/** 过期时间(秒) */
|
|
130
|
+
expire?: number;
|
|
131
|
+
/** 是否使用内部端点 */
|
|
132
|
+
internal?: boolean;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 存储客户端缓存键
|
|
136
|
+
*
|
|
137
|
+
* @description 用于唯一标识一个存储客户端实例
|
|
138
|
+
*/
|
|
139
|
+
export type StorageClientKey = `${FileBucketVendor}:${string}`;
|
|
140
|
+
/**
|
|
141
|
+
* 构建存储客户端缓存键
|
|
142
|
+
*
|
|
143
|
+
* @param vendor - 存储供应商
|
|
144
|
+
* @param bucket - 存储桶名称
|
|
145
|
+
* @returns 缓存键
|
|
146
|
+
*/
|
|
147
|
+
export declare function buildStorageClientKey(vendor: FileBucketVendor, bucket: string): StorageClientKey;
|
|
148
|
+
/**
|
|
149
|
+
* 文件复制参数
|
|
150
|
+
*
|
|
151
|
+
* @interface CopyFileParams
|
|
152
|
+
*/
|
|
153
|
+
export interface CopyFileParams {
|
|
154
|
+
/** 源文件位置 */
|
|
155
|
+
source: FileLocation;
|
|
156
|
+
/** 目标文件位置 */
|
|
157
|
+
destination: FileLocation;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* 回调上传令牌选项
|
|
161
|
+
*
|
|
162
|
+
* @interface CallbackUploadTokenOptions
|
|
163
|
+
*/
|
|
164
|
+
export interface CallbackUploadTokenOptions {
|
|
165
|
+
/** 回调验证密钥 */
|
|
166
|
+
callbackAuthKey: string;
|
|
167
|
+
/** 是否需要分片上传 */
|
|
168
|
+
needSplitPart?: boolean;
|
|
169
|
+
/** 附加选项 */
|
|
170
|
+
extras?: Record<string, any>;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* 存储供应商类型到客户端类的映射
|
|
174
|
+
*/
|
|
175
|
+
export type VendorClientMapping = Record<FileBucketVendor, new (...args: any[]) => any>;
|
|
176
|
+
/**
|
|
177
|
+
* 存储凭证配置映射
|
|
178
|
+
*/
|
|
179
|
+
export interface StorageCredentialsMap {
|
|
180
|
+
gcs?: PardxUploader.FileApiKey;
|
|
181
|
+
us3?: PardxUploader.FileApiKey;
|
|
182
|
+
oss?: PardxUploader.FileApiKey;
|
|
183
|
+
tos?: PardxUploader.FileApiKey;
|
|
184
|
+
qiniu?: PardxUploader.FileApiKey;
|
|
185
|
+
s3?: PardxUploader.FileApiKey;
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/file-storage/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview 文件存储服务类型定义
|
|
4
|
+
*
|
|
5
|
+
* 本文件定义了文件存储服务层的核心类型和接口。
|
|
6
|
+
*
|
|
7
|
+
* @module file-storage/types
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.buildStorageClientKey = buildStorageClientKey;
|
|
11
|
+
/**
|
|
12
|
+
* 构建存储客户端缓存键
|
|
13
|
+
*
|
|
14
|
+
* @param vendor - 存储供应商
|
|
15
|
+
* @param bucket - 存储桶名称
|
|
16
|
+
* @returns 缓存键
|
|
17
|
+
*/
|
|
18
|
+
function buildStorageClientKey(vendor, bucket) {
|
|
19
|
+
return `${vendor}:${bucket}`;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/file-storage/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAwJH,sDAKC;AAZD;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,MAAwB,EACxB,MAAc;IAEd,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from './email/email.module';
|
|
2
|
+
export * from './email/email.service';
|
|
3
|
+
export * from './file-storage/file-storage.module';
|
|
4
|
+
export * from './file-storage/file-storage.service';
|
|
5
|
+
export { PardxUploader } from './file-storage/index';
|
|
6
|
+
export * from './ip-geo/ip-geo.module';
|
|
7
|
+
export * from './ip-geo/ip-geo.service';
|
|
8
|
+
export * from './ip-info/ip-info.module';
|
|
9
|
+
export * from './ip-info/ip-info.service';
|
|
10
|
+
export * from './ocr/ocr.module';
|
|
11
|
+
export * from './ocr/ocr.service';
|
|
12
|
+
export * from './sms/sms.module';
|
|
13
|
+
export * from './sms/sms.service';
|
|
14
|
+
export * from './streaming-asr/streaming-asr.module';
|
|
15
|
+
export * from './streaming-asr/streaming-asr.service';
|
|
16
|
+
export * from './system-health/system-health.module';
|
|
17
|
+
export * from './system-health/system-health.service';
|
|
18
|
+
export * from './uploader/uploader.module';
|
|
19
|
+
export * from './uploader/uploader.service';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./email/email.module"), exports);
|
|
18
|
+
__exportStar(require("./email/email.service"), exports);
|
|
19
|
+
__exportStar(require("./file-storage/file-storage.module"), exports);
|
|
20
|
+
__exportStar(require("./file-storage/file-storage.service"), exports);
|
|
21
|
+
__exportStar(require("./ip-geo/ip-geo.module"), exports);
|
|
22
|
+
__exportStar(require("./ip-geo/ip-geo.service"), exports);
|
|
23
|
+
__exportStar(require("./ip-info/ip-info.module"), exports);
|
|
24
|
+
__exportStar(require("./ip-info/ip-info.service"), exports);
|
|
25
|
+
__exportStar(require("./ocr/ocr.module"), exports);
|
|
26
|
+
__exportStar(require("./ocr/ocr.service"), exports);
|
|
27
|
+
__exportStar(require("./sms/sms.module"), exports);
|
|
28
|
+
__exportStar(require("./sms/sms.service"), exports);
|
|
29
|
+
__exportStar(require("./streaming-asr/streaming-asr.module"), exports);
|
|
30
|
+
__exportStar(require("./streaming-asr/streaming-asr.service"), exports);
|
|
31
|
+
__exportStar(require("./system-health/system-health.module"), exports);
|
|
32
|
+
__exportStar(require("./system-health/system-health.service"), exports);
|
|
33
|
+
__exportStar(require("./uploader/uploader.module"), exports);
|
|
34
|
+
__exportStar(require("./uploader/uploader.service"), exports);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,wDAAsC;AACtC,qEAAmD;AACnD,sEAAoD;AAEpD,yDAAuC;AACvC,0DAAwC;AACxC,2DAAyC;AACzC,4DAA0C;AAC1C,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AACjC,oDAAkC;AAClC,uEAAqD;AACrD,wEAAsD;AACtD,uEAAqD;AACrD,wEAAsD;AACtD,6DAA2C;AAC3C,8DAA4C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview 国家代码到大洲的静态映射
|
|
3
|
+
*
|
|
4
|
+
* 本文件提供纯静态的国家代码到大洲映射,不依赖数据库。
|
|
5
|
+
* 用于 infra 层的 IP 地理位置服务,避免 infra 依赖 domain。
|
|
6
|
+
*
|
|
7
|
+
* @module ip-geo/continent-mapping
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* 大洲类型
|
|
11
|
+
*/
|
|
12
|
+
export type Continent = 'as' | 'eu' | 'na' | 'sa' | 'af' | 'oc' | 'an';
|
|
13
|
+
/**
|
|
14
|
+
* 大洲到国家代码的映射
|
|
15
|
+
*
|
|
16
|
+
* 数据来源:ISO 3166-1 alpha-2 国家代码
|
|
17
|
+
*/
|
|
18
|
+
export declare const CONTINENT_COUNTRIES: Record<Continent, string[]>;
|
|
19
|
+
/**
|
|
20
|
+
* 国家代码到大洲的反向映射(运行时生成)
|
|
21
|
+
*/
|
|
22
|
+
export declare const COUNTRY_TO_CONTINENT: Record<string, Continent>;
|
|
23
|
+
/**
|
|
24
|
+
* 根据国家代码获取大洲
|
|
25
|
+
*
|
|
26
|
+
* @param countryCode - ISO 3166-1 alpha-2 国家代码
|
|
27
|
+
* @param defaultContinent - 默认大洲(找不到时返回)
|
|
28
|
+
* @returns 大洲代码
|
|
29
|
+
*/
|
|
30
|
+
export declare function getContinentByCountry(countryCode: string, defaultContinent?: Continent): Continent;
|
|
31
|
+
//# sourceMappingURL=continent-mapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continent-mapping.d.ts","sourceRoot":"","sources":["../../src/ip-geo/continent-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CA+M3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAM,CAAC;AASlE;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,gBAAgB,GAAE,SAAgB,GACjC,SAAS,CAEX"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview 国家代码到大洲的静态映射
|
|
4
|
+
*
|
|
5
|
+
* 本文件提供纯静态的国家代码到大洲映射,不依赖数据库。
|
|
6
|
+
* 用于 infra 层的 IP 地理位置服务,避免 infra 依赖 domain。
|
|
7
|
+
*
|
|
8
|
+
* @module ip-geo/continent-mapping
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.COUNTRY_TO_CONTINENT = exports.CONTINENT_COUNTRIES = void 0;
|
|
12
|
+
exports.getContinentByCountry = getContinentByCountry;
|
|
13
|
+
/**
|
|
14
|
+
* 大洲到国家代码的映射
|
|
15
|
+
*
|
|
16
|
+
* 数据来源:ISO 3166-1 alpha-2 国家代码
|
|
17
|
+
*/
|
|
18
|
+
exports.CONTINENT_COUNTRIES = {
|
|
19
|
+
// 亚洲 (Asia)
|
|
20
|
+
as: [
|
|
21
|
+
'AF',
|
|
22
|
+
'AM',
|
|
23
|
+
'AZ',
|
|
24
|
+
'BH',
|
|
25
|
+
'BD',
|
|
26
|
+
'BT',
|
|
27
|
+
'BN',
|
|
28
|
+
'KH',
|
|
29
|
+
'CN',
|
|
30
|
+
'CY',
|
|
31
|
+
'GE',
|
|
32
|
+
'HK',
|
|
33
|
+
'IN',
|
|
34
|
+
'ID',
|
|
35
|
+
'IR',
|
|
36
|
+
'IQ',
|
|
37
|
+
'IL',
|
|
38
|
+
'JP',
|
|
39
|
+
'JO',
|
|
40
|
+
'KZ',
|
|
41
|
+
'KW',
|
|
42
|
+
'KG',
|
|
43
|
+
'LA',
|
|
44
|
+
'LB',
|
|
45
|
+
'MO',
|
|
46
|
+
'MY',
|
|
47
|
+
'MV',
|
|
48
|
+
'MN',
|
|
49
|
+
'MM',
|
|
50
|
+
'NP',
|
|
51
|
+
'KP',
|
|
52
|
+
'OM',
|
|
53
|
+
'PK',
|
|
54
|
+
'PS',
|
|
55
|
+
'PH',
|
|
56
|
+
'QA',
|
|
57
|
+
'SA',
|
|
58
|
+
'SG',
|
|
59
|
+
'KR',
|
|
60
|
+
'LK',
|
|
61
|
+
'SY',
|
|
62
|
+
'TW',
|
|
63
|
+
'TJ',
|
|
64
|
+
'TH',
|
|
65
|
+
'TL',
|
|
66
|
+
'TR',
|
|
67
|
+
'TM',
|
|
68
|
+
'AE',
|
|
69
|
+
'UZ',
|
|
70
|
+
'VN',
|
|
71
|
+
'YE',
|
|
72
|
+
],
|
|
73
|
+
// 欧洲 (Europe)
|
|
74
|
+
eu: [
|
|
75
|
+
'AL',
|
|
76
|
+
'AD',
|
|
77
|
+
'AT',
|
|
78
|
+
'BY',
|
|
79
|
+
'BE',
|
|
80
|
+
'BA',
|
|
81
|
+
'BG',
|
|
82
|
+
'HR',
|
|
83
|
+
'CZ',
|
|
84
|
+
'DK',
|
|
85
|
+
'EE',
|
|
86
|
+
'FI',
|
|
87
|
+
'FR',
|
|
88
|
+
'DE',
|
|
89
|
+
'GR',
|
|
90
|
+
'HU',
|
|
91
|
+
'IS',
|
|
92
|
+
'IE',
|
|
93
|
+
'IT',
|
|
94
|
+
'XK',
|
|
95
|
+
'LV',
|
|
96
|
+
'LI',
|
|
97
|
+
'LT',
|
|
98
|
+
'LU',
|
|
99
|
+
'MT',
|
|
100
|
+
'MD',
|
|
101
|
+
'MC',
|
|
102
|
+
'ME',
|
|
103
|
+
'NL',
|
|
104
|
+
'MK',
|
|
105
|
+
'NO',
|
|
106
|
+
'PL',
|
|
107
|
+
'PT',
|
|
108
|
+
'RO',
|
|
109
|
+
'RU',
|
|
110
|
+
'SM',
|
|
111
|
+
'RS',
|
|
112
|
+
'SK',
|
|
113
|
+
'SI',
|
|
114
|
+
'ES',
|
|
115
|
+
'SE',
|
|
116
|
+
'CH',
|
|
117
|
+
'UA',
|
|
118
|
+
'GB',
|
|
119
|
+
'VA',
|
|
120
|
+
],
|
|
121
|
+
// 北美洲 (North America)
|
|
122
|
+
na: [
|
|
123
|
+
'AG',
|
|
124
|
+
'BS',
|
|
125
|
+
'BB',
|
|
126
|
+
'BZ',
|
|
127
|
+
'CA',
|
|
128
|
+
'CR',
|
|
129
|
+
'CU',
|
|
130
|
+
'DM',
|
|
131
|
+
'DO',
|
|
132
|
+
'SV',
|
|
133
|
+
'GD',
|
|
134
|
+
'GT',
|
|
135
|
+
'HT',
|
|
136
|
+
'HN',
|
|
137
|
+
'JM',
|
|
138
|
+
'MX',
|
|
139
|
+
'NI',
|
|
140
|
+
'PA',
|
|
141
|
+
'KN',
|
|
142
|
+
'LC',
|
|
143
|
+
'VC',
|
|
144
|
+
'TT',
|
|
145
|
+
'US',
|
|
146
|
+
],
|
|
147
|
+
// 南美洲 (South America)
|
|
148
|
+
sa: ['AR', 'BO', 'BR', 'CL', 'CO', 'EC', 'GY', 'PY', 'PE', 'SR', 'UY', 'VE'],
|
|
149
|
+
// 非洲 (Africa)
|
|
150
|
+
af: [
|
|
151
|
+
'DZ',
|
|
152
|
+
'AO',
|
|
153
|
+
'BJ',
|
|
154
|
+
'BW',
|
|
155
|
+
'BF',
|
|
156
|
+
'BI',
|
|
157
|
+
'CV',
|
|
158
|
+
'CM',
|
|
159
|
+
'CF',
|
|
160
|
+
'TD',
|
|
161
|
+
'KM',
|
|
162
|
+
'CG',
|
|
163
|
+
'CD',
|
|
164
|
+
'DJ',
|
|
165
|
+
'EG',
|
|
166
|
+
'GQ',
|
|
167
|
+
'ER',
|
|
168
|
+
'SZ',
|
|
169
|
+
'ET',
|
|
170
|
+
'GA',
|
|
171
|
+
'GM',
|
|
172
|
+
'GH',
|
|
173
|
+
'GN',
|
|
174
|
+
'GW',
|
|
175
|
+
'CI',
|
|
176
|
+
'KE',
|
|
177
|
+
'LS',
|
|
178
|
+
'LR',
|
|
179
|
+
'LY',
|
|
180
|
+
'MG',
|
|
181
|
+
'MW',
|
|
182
|
+
'ML',
|
|
183
|
+
'MR',
|
|
184
|
+
'MU',
|
|
185
|
+
'MA',
|
|
186
|
+
'MZ',
|
|
187
|
+
'NA',
|
|
188
|
+
'NE',
|
|
189
|
+
'NG',
|
|
190
|
+
'RW',
|
|
191
|
+
'ST',
|
|
192
|
+
'SN',
|
|
193
|
+
'SC',
|
|
194
|
+
'SL',
|
|
195
|
+
'SO',
|
|
196
|
+
'ZA',
|
|
197
|
+
'SS',
|
|
198
|
+
'SD',
|
|
199
|
+
'TZ',
|
|
200
|
+
'TG',
|
|
201
|
+
'TN',
|
|
202
|
+
'UG',
|
|
203
|
+
'ZM',
|
|
204
|
+
'ZW',
|
|
205
|
+
],
|
|
206
|
+
// 大洋洲 (Oceania)
|
|
207
|
+
oc: [
|
|
208
|
+
'AU',
|
|
209
|
+
'FJ',
|
|
210
|
+
'KI',
|
|
211
|
+
'MH',
|
|
212
|
+
'FM',
|
|
213
|
+
'NR',
|
|
214
|
+
'NZ',
|
|
215
|
+
'PW',
|
|
216
|
+
'PG',
|
|
217
|
+
'WS',
|
|
218
|
+
'SB',
|
|
219
|
+
'TO',
|
|
220
|
+
'TV',
|
|
221
|
+
'VU',
|
|
222
|
+
],
|
|
223
|
+
// 南极洲 (Antarctica) - 通常无常住人口
|
|
224
|
+
an: ['AQ'],
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* 国家代码到大洲的反向映射(运行时生成)
|
|
228
|
+
*/
|
|
229
|
+
exports.COUNTRY_TO_CONTINENT = {};
|
|
230
|
+
// 构建反向映射
|
|
231
|
+
for (const [continent, countries] of Object.entries(exports.CONTINENT_COUNTRIES)) {
|
|
232
|
+
for (const country of countries) {
|
|
233
|
+
exports.COUNTRY_TO_CONTINENT[country] = continent;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* 根据国家代码获取大洲
|
|
238
|
+
*
|
|
239
|
+
* @param countryCode - ISO 3166-1 alpha-2 国家代码
|
|
240
|
+
* @param defaultContinent - 默认大洲(找不到时返回)
|
|
241
|
+
* @returns 大洲代码
|
|
242
|
+
*/
|
|
243
|
+
function getContinentByCountry(countryCode, defaultContinent = 'as') {
|
|
244
|
+
return exports.COUNTRY_TO_CONTINENT[countryCode?.toUpperCase()] ?? defaultContinent;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=continent-mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continent-mapping.js","sourceRoot":"","sources":["../../src/ip-geo/continent-mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview IP 地理位置服务导出入口(Infra 层)
|
|
3
|
+
*
|
|
4
|
+
* 本模块提供纯 infra 层的 IP 地理位置服务:
|
|
5
|
+
* - IpGeoService: IP 地理位置查询服务
|
|
6
|
+
* - IpGeoModule: NestJS 模块
|
|
7
|
+
* - getContinentByCountry: 静态大洲映射函数
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { IpGeoModule, IpGeoService } from '@dofe/infra-shared-services';
|
|
12
|
+
*
|
|
13
|
+
* @Module({
|
|
14
|
+
* imports: [IpGeoModule],
|
|
15
|
+
* })
|
|
16
|
+
* export class MyModule {}
|
|
17
|
+
*
|
|
18
|
+
* @Injectable()
|
|
19
|
+
* class MyService {
|
|
20
|
+
* constructor(private readonly ipGeo: IpGeoService) {}
|
|
21
|
+
*
|
|
22
|
+
* async getRegion(ip: string) {
|
|
23
|
+
* return await this.ipGeo.getContinent(ip);
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @module ip-geo
|
|
29
|
+
*/
|
|
30
|
+
export { IpGeoModule } from './ip-geo.module';
|
|
31
|
+
export { IpGeoService } from './ip-geo.service';
|
|
32
|
+
export { getContinentByCountry, Continent, CONTINENT_COUNTRIES, COUNTRY_TO_CONTINENT, } from './continent-mapping';
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ip-geo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
|