@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.
Files changed (153) hide show
  1. package/dist/email/dto/email.dto.d.ts +70 -0
  2. package/dist/email/dto/email.dto.d.ts.map +1 -0
  3. package/dist/email/dto/email.dto.js +58 -0
  4. package/dist/email/dto/email.dto.js.map +1 -0
  5. package/dist/email/email.module.d.ts +3 -0
  6. package/dist/email/email.module.d.ts.map +1 -0
  7. package/dist/email/email.module.js +38 -0
  8. package/dist/email/email.module.js.map +1 -0
  9. package/dist/email/email.service.d.ts +61 -0
  10. package/dist/email/email.service.d.ts.map +1 -0
  11. package/dist/email/email.service.js +191 -0
  12. package/dist/email/email.service.js.map +1 -0
  13. package/dist/email/index.d.ts +5 -0
  14. package/dist/email/index.d.ts.map +1 -0
  15. package/dist/email/index.js +26 -0
  16. package/dist/email/index.js.map +1 -0
  17. package/dist/file-storage/bucket-resolver.d.ts +174 -0
  18. package/dist/file-storage/bucket-resolver.d.ts.map +1 -0
  19. package/dist/file-storage/bucket-resolver.js +270 -0
  20. package/dist/file-storage/bucket-resolver.js.map +1 -0
  21. package/dist/file-storage/file-storage.factory.d.ts +183 -0
  22. package/dist/file-storage/file-storage.factory.d.ts.map +1 -0
  23. package/dist/file-storage/file-storage.factory.js +300 -0
  24. package/dist/file-storage/file-storage.factory.js.map +1 -0
  25. package/dist/file-storage/file-storage.module.d.ts +49 -0
  26. package/dist/file-storage/file-storage.module.d.ts.map +1 -0
  27. package/dist/file-storage/file-storage.module.js +74 -0
  28. package/dist/file-storage/file-storage.module.js.map +1 -0
  29. package/dist/file-storage/file-storage.service.d.ts +381 -0
  30. package/dist/file-storage/file-storage.service.d.ts.map +1 -0
  31. package/dist/file-storage/file-storage.service.js +598 -0
  32. package/dist/file-storage/file-storage.service.js.map +1 -0
  33. package/dist/file-storage/index.d.ts +43 -0
  34. package/dist/file-storage/index.d.ts.map +1 -0
  35. package/dist/file-storage/index.js +65 -0
  36. package/dist/file-storage/index.js.map +1 -0
  37. package/dist/file-storage/types.d.ts +187 -0
  38. package/dist/file-storage/types.d.ts.map +1 -0
  39. package/dist/file-storage/types.js +21 -0
  40. package/dist/file-storage/types.js.map +1 -0
  41. package/dist/index.d.ts +20 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +35 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/ip-geo/continent-mapping.d.ts +31 -0
  46. package/dist/ip-geo/continent-mapping.d.ts.map +1 -0
  47. package/dist/ip-geo/continent-mapping.js +246 -0
  48. package/dist/ip-geo/continent-mapping.js.map +1 -0
  49. package/dist/ip-geo/index.d.ts +33 -0
  50. package/dist/ip-geo/index.d.ts.map +1 -0
  51. package/dist/ip-geo/index.js +41 -0
  52. package/dist/ip-geo/index.js.map +1 -0
  53. package/dist/ip-geo/ip-geo.module.d.ts +8 -0
  54. package/dist/ip-geo/ip-geo.module.d.ts.map +1 -0
  55. package/dist/ip-geo/ip-geo.module.js +34 -0
  56. package/dist/ip-geo/ip-geo.module.js.map +1 -0
  57. package/dist/ip-geo/ip-geo.service.d.ts +43 -0
  58. package/dist/ip-geo/ip-geo.service.d.ts.map +1 -0
  59. package/dist/ip-geo/ip-geo.service.js +153 -0
  60. package/dist/ip-geo/ip-geo.service.js.map +1 -0
  61. package/dist/ip-info/index.d.ts +7 -0
  62. package/dist/ip-info/index.d.ts.map +1 -0
  63. package/dist/ip-info/index.js +13 -0
  64. package/dist/ip-info/index.js.map +1 -0
  65. package/dist/ip-info/ip-info.client.d.ts +32 -0
  66. package/dist/ip-info/ip-info.client.d.ts.map +1 -0
  67. package/dist/ip-info/ip-info.client.js +73 -0
  68. package/dist/ip-info/ip-info.client.js.map +1 -0
  69. package/dist/ip-info/ip-info.module.d.ts +3 -0
  70. package/dist/ip-info/ip-info.module.d.ts.map +1 -0
  71. package/dist/ip-info/ip-info.module.js +45 -0
  72. package/dist/ip-info/ip-info.module.js.map +1 -0
  73. package/dist/ip-info/ip-info.service.d.ts +50 -0
  74. package/dist/ip-info/ip-info.service.d.ts.map +1 -0
  75. package/dist/ip-info/ip-info.service.js +177 -0
  76. package/dist/ip-info/ip-info.service.js.map +1 -0
  77. package/dist/ocr/index.d.ts +33 -0
  78. package/dist/ocr/index.d.ts.map +1 -0
  79. package/dist/ocr/index.js +53 -0
  80. package/dist/ocr/index.js.map +1 -0
  81. package/dist/ocr/ocr.module.d.ts +41 -0
  82. package/dist/ocr/ocr.module.d.ts.map +1 -0
  83. package/dist/ocr/ocr.module.js +61 -0
  84. package/dist/ocr/ocr.module.js.map +1 -0
  85. package/dist/ocr/ocr.service.d.ts +111 -0
  86. package/dist/ocr/ocr.service.d.ts.map +1 -0
  87. package/dist/ocr/ocr.service.js +214 -0
  88. package/dist/ocr/ocr.service.js.map +1 -0
  89. package/dist/sms/index.d.ts +5 -0
  90. package/dist/sms/index.d.ts.map +1 -0
  91. package/dist/sms/index.js +29 -0
  92. package/dist/sms/index.js.map +1 -0
  93. package/dist/sms/sms.factory.d.ts +140 -0
  94. package/dist/sms/sms.factory.d.ts.map +1 -0
  95. package/dist/sms/sms.factory.js +276 -0
  96. package/dist/sms/sms.factory.js.map +1 -0
  97. package/dist/sms/sms.module.d.ts +3 -0
  98. package/dist/sms/sms.module.d.ts.map +1 -0
  99. package/dist/sms/sms.module.js +38 -0
  100. package/dist/sms/sms.module.js.map +1 -0
  101. package/dist/sms/sms.service.d.ts +139 -0
  102. package/dist/sms/sms.service.d.ts.map +1 -0
  103. package/dist/sms/sms.service.js +278 -0
  104. package/dist/sms/sms.service.js.map +1 -0
  105. package/dist/sms/types.d.ts +204 -0
  106. package/dist/sms/types.d.ts.map +1 -0
  107. package/dist/sms/types.js +44 -0
  108. package/dist/sms/types.js.map +1 -0
  109. package/dist/streaming-asr/index.d.ts +45 -0
  110. package/dist/streaming-asr/index.d.ts.map +1 -0
  111. package/dist/streaming-asr/index.js +66 -0
  112. package/dist/streaming-asr/index.js.map +1 -0
  113. package/dist/streaming-asr/streaming-asr.module.d.ts +37 -0
  114. package/dist/streaming-asr/streaming-asr.module.d.ts.map +1 -0
  115. package/dist/streaming-asr/streaming-asr.module.js +59 -0
  116. package/dist/streaming-asr/streaming-asr.module.js.map +1 -0
  117. package/dist/streaming-asr/streaming-asr.service.d.ts +276 -0
  118. package/dist/streaming-asr/streaming-asr.service.d.ts.map +1 -0
  119. package/dist/streaming-asr/streaming-asr.service.js +1120 -0
  120. package/dist/streaming-asr/streaming-asr.service.js.map +1 -0
  121. package/dist/streaming-asr/types.d.ts +194 -0
  122. package/dist/streaming-asr/types.d.ts.map +1 -0
  123. package/dist/streaming-asr/types.js +8 -0
  124. package/dist/streaming-asr/types.js.map +1 -0
  125. package/dist/system-health/index.d.ts +7 -0
  126. package/dist/system-health/index.d.ts.map +1 -0
  127. package/dist/system-health/index.js +25 -0
  128. package/dist/system-health/index.js.map +1 -0
  129. package/dist/system-health/system-health.controller.d.ts +43 -0
  130. package/dist/system-health/system-health.controller.d.ts.map +1 -0
  131. package/dist/system-health/system-health.controller.js +86 -0
  132. package/dist/system-health/system-health.controller.js.map +1 -0
  133. package/dist/system-health/system-health.module.d.ts +3 -0
  134. package/dist/system-health/system-health.module.d.ts.map +1 -0
  135. package/dist/system-health/system-health.module.js +29 -0
  136. package/dist/system-health/system-health.module.js.map +1 -0
  137. package/dist/system-health/system-health.service.d.ts +14 -0
  138. package/dist/system-health/system-health.service.d.ts.map +1 -0
  139. package/dist/system-health/system-health.service.js +87 -0
  140. package/dist/system-health/system-health.service.js.map +1 -0
  141. package/dist/uploader/index.d.ts +3 -0
  142. package/dist/uploader/index.d.ts.map +1 -0
  143. package/dist/uploader/index.js +8 -0
  144. package/dist/uploader/index.js.map +1 -0
  145. package/dist/uploader/uploader.module.d.ts +3 -0
  146. package/dist/uploader/uploader.module.d.ts.map +1 -0
  147. package/dist/uploader/uploader.module.js +25 -0
  148. package/dist/uploader/uploader.module.js.map +1 -0
  149. package/dist/uploader/uploader.service.d.ts +86 -0
  150. package/dist/uploader/uploader.service.d.ts.map +1 -0
  151. package/dist/uploader/uploader.service.js +188 -0
  152. package/dist/uploader/uploader.service.js.map +1 -0
  153. 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"}
@@ -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"}