@mathrunet/masamune 3.6.0 → 3.8.0

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 (255) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +1 -1
  3. package/dist/functions/test.js +2 -2
  4. package/dist/functions/test.js.map +1 -1
  5. package/dist/functions.d.ts +2 -231
  6. package/dist/functions.js +2 -231
  7. package/dist/functions.js.map +1 -1
  8. package/dist/index.d.ts +4 -17
  9. package/dist/index.js +13 -15
  10. package/dist/index.js.map +1 -1
  11. package/package.json +10 -21
  12. package/.claude/settings.local.json +0 -12
  13. package/dist/functions/aggregate_model_firestore.d.ts +0 -1
  14. package/dist/functions/aggregate_model_firestore.js +0 -225
  15. package/dist/functions/aggregate_model_firestore.js.map +0 -1
  16. package/dist/functions/aggregation_model_firestore.d.ts +0 -1
  17. package/dist/functions/aggregation_model_firestore.js +0 -220
  18. package/dist/functions/aggregation_model_firestore.js.map +0 -1
  19. package/dist/functions/agora_cloud_recording.d.ts +0 -1
  20. package/dist/functions/agora_cloud_recording.js +0 -125
  21. package/dist/functions/agora_cloud_recording.js.map +0 -1
  22. package/dist/functions/agora_token.d.ts +0 -1
  23. package/dist/functions/agora_token.js +0 -144
  24. package/dist/functions/agora_token.js.map +0 -1
  25. package/dist/functions/algolia.d.ts +0 -1
  26. package/dist/functions/algolia.js +0 -145
  27. package/dist/functions/algolia.js.map +0 -1
  28. package/dist/functions/android_auth_code.d.ts +0 -1
  29. package/dist/functions/android_auth_code.js +0 -97
  30. package/dist/functions/android_auth_code.js.map +0 -1
  31. package/dist/functions/android_token.d.ts +0 -1
  32. package/dist/functions/android_token.js +0 -132
  33. package/dist/functions/android_token.js.map +0 -1
  34. package/dist/functions/collection_model_firestore.d.ts +0 -1
  35. package/dist/functions/collection_model_firestore.js +0 -222
  36. package/dist/functions/collection_model_firestore.js.map +0 -1
  37. package/dist/functions/consumable_verify_android.d.ts +0 -1
  38. package/dist/functions/consumable_verify_android.js +0 -172
  39. package/dist/functions/consumable_verify_android.js.map +0 -1
  40. package/dist/functions/consumable_verify_ios.d.ts +0 -1
  41. package/dist/functions/consumable_verify_ios.js +0 -136
  42. package/dist/functions/consumable_verify_ios.js.map +0 -1
  43. package/dist/functions/delete_documents.d.ts +0 -1
  44. package/dist/functions/delete_documents.js +0 -91
  45. package/dist/functions/delete_documents.js.map +0 -1
  46. package/dist/functions/delete_user.d.ts +0 -1
  47. package/dist/functions/delete_user.js +0 -87
  48. package/dist/functions/delete_user.js.map +0 -1
  49. package/dist/functions/document_model_firestore.d.ts +0 -1
  50. package/dist/functions/document_model_firestore.js +0 -218
  51. package/dist/functions/document_model_firestore.js.map +0 -1
  52. package/dist/functions/geocoding.d.ts +0 -1
  53. package/dist/functions/geocoding.js +0 -93
  54. package/dist/functions/geocoding.js.map +0 -1
  55. package/dist/functions/gmail.d.ts +0 -1
  56. package/dist/functions/gmail.js +0 -117
  57. package/dist/functions/gmail.js.map +0 -1
  58. package/dist/functions/google_token.d.ts +0 -1
  59. package/dist/functions/google_token.js +0 -100
  60. package/dist/functions/google_token.js.map +0 -1
  61. package/dist/functions/hls.d.ts +0 -1
  62. package/dist/functions/hls.js +0 -169
  63. package/dist/functions/hls.js.map +0 -1
  64. package/dist/functions/nonconsumable_verify_android.d.ts +0 -1
  65. package/dist/functions/nonconsumable_verify_android.js +0 -166
  66. package/dist/functions/nonconsumable_verify_android.js.map +0 -1
  67. package/dist/functions/nonconsumable_verify_ios.d.ts +0 -1
  68. package/dist/functions/nonconsumable_verify_ios.js +0 -130
  69. package/dist/functions/nonconsumable_verify_ios.js.map +0 -1
  70. package/dist/functions/openai_chat_gpt.d.ts +0 -1
  71. package/dist/functions/openai_chat_gpt.js +0 -117
  72. package/dist/functions/openai_chat_gpt.js.map +0 -1
  73. package/dist/functions/purchase_webhook_android.d.ts +0 -1
  74. package/dist/functions/purchase_webhook_android.js +0 -306
  75. package/dist/functions/purchase_webhook_android.js.map +0 -1
  76. package/dist/functions/purchase_webhook_ios.d.ts +0 -1
  77. package/dist/functions/purchase_webhook_ios.js +0 -182
  78. package/dist/functions/purchase_webhook_ios.js.map +0 -1
  79. package/dist/functions/scheduler.d.ts +0 -1
  80. package/dist/functions/scheduler.js +0 -144
  81. package/dist/functions/scheduler.js.map +0 -1
  82. package/dist/functions/send_grid.d.ts +0 -1
  83. package/dist/functions/send_grid.js +0 -111
  84. package/dist/functions/send_grid.js.map +0 -1
  85. package/dist/functions/send_notification.d.ts +0 -1
  86. package/dist/functions/send_notification.js +0 -207
  87. package/dist/functions/send_notification.js.map +0 -1
  88. package/dist/functions/storage_firebase.d.ts +0 -1
  89. package/dist/functions/storage_firebase.js +0 -286
  90. package/dist/functions/storage_firebase.js.map +0 -1
  91. package/dist/functions/stripe.d.ts +0 -1
  92. package/dist/functions/stripe.js +0 -1243
  93. package/dist/functions/stripe.js.map +0 -1
  94. package/dist/functions/stripe_webhook.d.ts +0 -1
  95. package/dist/functions/stripe_webhook.js +0 -605
  96. package/dist/functions/stripe_webhook.js.map +0 -1
  97. package/dist/functions/stripe_webhook_connect.d.ts +0 -1
  98. package/dist/functions/stripe_webhook_connect.js +0 -173
  99. package/dist/functions/stripe_webhook_connect.js.map +0 -1
  100. package/dist/functions/stripe_webhook_secure.d.ts +0 -1
  101. package/dist/functions/stripe_webhook_secure.js +0 -182
  102. package/dist/functions/stripe_webhook_secure.js.map +0 -1
  103. package/dist/functions/subscription_verify_android.d.ts +0 -1
  104. package/dist/functions/subscription_verify_android.js +0 -195
  105. package/dist/functions/subscription_verify_android.js.map +0 -1
  106. package/dist/functions/subscription_verify_ios.d.ts +0 -1
  107. package/dist/functions/subscription_verify_ios.js +0 -170
  108. package/dist/functions/subscription_verify_ios.js.map +0 -1
  109. package/dist/lib/api.d.ts +0 -185
  110. package/dist/lib/api.js +0 -172
  111. package/dist/lib/api.js.map +0 -1
  112. package/dist/lib/exntensions/string.extension.d.ts +0 -214
  113. package/dist/lib/exntensions/string.extension.js +0 -226
  114. package/dist/lib/exntensions/string.extension.js.map +0 -1
  115. package/dist/lib/functions/delete_documents.d.ts +0 -32
  116. package/dist/lib/functions/delete_documents.js +0 -111
  117. package/dist/lib/functions/delete_documents.js.map +0 -1
  118. package/dist/lib/functions/firestore.d.ts +0 -114
  119. package/dist/lib/functions/firestore.js +0 -347
  120. package/dist/lib/functions/firestore.js.map +0 -1
  121. package/dist/lib/functions/gmail.d.ts +0 -39
  122. package/dist/lib/functions/gmail.js +0 -64
  123. package/dist/lib/functions/gmail.js.map +0 -1
  124. package/dist/lib/functions/send_grid.d.ts +0 -33
  125. package/dist/lib/functions/send_grid.js +0 -57
  126. package/dist/lib/functions/send_grid.js.map +0 -1
  127. package/dist/lib/functions/send_notification.d.ts +0 -109
  128. package/dist/lib/functions/send_notification.js +0 -386
  129. package/dist/lib/functions/send_notification.js.map +0 -1
  130. package/dist/lib/functions/update_subscription.d.ts +0 -84
  131. package/dist/lib/functions/update_subscription.js +0 -150
  132. package/dist/lib/functions/update_subscription.js.map +0 -1
  133. package/dist/lib/functions/update_unlock.d.ts +0 -28
  134. package/dist/lib/functions/update_unlock.js +0 -84
  135. package/dist/lib/functions/update_unlock.js.map +0 -1
  136. package/dist/lib/functions/update_wallet.d.ts +0 -34
  137. package/dist/lib/functions/update_wallet.js +0 -91
  138. package/dist/lib/functions/update_wallet.js.map +0 -1
  139. package/dist/lib/functions/verify_android.d.ts +0 -50
  140. package/dist/lib/functions/verify_android.js +0 -130
  141. package/dist/lib/functions/verify_android.js.map +0 -1
  142. package/dist/lib/functions/verify_ios.d.ts +0 -73
  143. package/dist/lib/functions/verify_ios.js +0 -227
  144. package/dist/lib/functions/verify_ios.js.map +0 -1
  145. package/dist/lib/model_field_value/converters/firestore_basic_converter.d.ts +0 -25
  146. package/dist/lib/model_field_value/converters/firestore_basic_converter.js +0 -28
  147. package/dist/lib/model_field_value/converters/firestore_basic_converter.js.map +0 -1
  148. package/dist/lib/model_field_value/converters/firestore_enum_converter.d.ts +0 -25
  149. package/dist/lib/model_field_value/converters/firestore_enum_converter.js +0 -28
  150. package/dist/lib/model_field_value/converters/firestore_enum_converter.js.map +0 -1
  151. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.d.ts +0 -25
  152. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js +0 -58
  153. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js.map +0 -1
  154. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.d.ts +0 -25
  155. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js +0 -177
  156. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js.map +0 -1
  157. package/dist/lib/model_field_value/converters/firestore_model_date_converter.d.ts +0 -26
  158. package/dist/lib/model_field_value/converters/firestore_model_date_converter.js +0 -174
  159. package/dist/lib/model_field_value/converters/firestore_model_date_converter.js.map +0 -1
  160. package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.d.ts +0 -25
  161. package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.js +0 -183
  162. package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.js.map +0 -1
  163. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.d.ts +0 -25
  164. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js +0 -163
  165. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js.map +0 -1
  166. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.d.ts +0 -25
  167. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js +0 -134
  168. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js.map +0 -1
  169. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.d.ts +0 -25
  170. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js +0 -163
  171. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js.map +0 -1
  172. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.d.ts +0 -25
  173. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js +0 -89
  174. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js.map +0 -1
  175. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.d.ts +0 -25
  176. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js +0 -113
  177. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js.map +0 -1
  178. package/dist/lib/model_field_value/converters/firestore_model_search_converter.d.ts +0 -25
  179. package/dist/lib/model_field_value/converters/firestore_model_search_converter.js +0 -91
  180. package/dist/lib/model_field_value/converters/firestore_model_search_converter.js.map +0 -1
  181. package/dist/lib/model_field_value/converters/firestore_model_time_converter.d.ts +0 -26
  182. package/dist/lib/model_field_value/converters/firestore_model_time_converter.js +0 -191
  183. package/dist/lib/model_field_value/converters/firestore_model_time_converter.js.map +0 -1
  184. package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.d.ts +0 -25
  185. package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.js +0 -183
  186. package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.js.map +0 -1
  187. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.d.ts +0 -26
  188. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js +0 -246
  189. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js.map +0 -1
  190. package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.d.ts +0 -25
  191. package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.js +0 -183
  192. package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.js.map +0 -1
  193. package/dist/lib/model_field_value/converters/firestore_model_token_converter.d.ts +0 -25
  194. package/dist/lib/model_field_value/converters/firestore_model_token_converter.js +0 -91
  195. package/dist/lib/model_field_value/converters/firestore_model_token_converter.js.map +0 -1
  196. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.d.ts +0 -25
  197. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js +0 -134
  198. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js.map +0 -1
  199. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.d.ts +0 -25
  200. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.js +0 -80
  201. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.js.map +0 -1
  202. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.d.ts +0 -25
  203. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js +0 -134
  204. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js.map +0 -1
  205. package/dist/lib/model_field_value/converters/firestore_null_converter.d.ts +0 -25
  206. package/dist/lib/model_field_value/converters/firestore_null_converter.js +0 -45
  207. package/dist/lib/model_field_value/converters/firestore_null_converter.js.map +0 -1
  208. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.d.ts +0 -61
  209. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js +0 -140
  210. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js.map +0 -1
  211. package/dist/lib/model_field_value/firestore_model_field_value_converter.d.ts +0 -154
  212. package/dist/lib/model_field_value/firestore_model_field_value_converter.js +0 -127
  213. package/dist/lib/model_field_value/firestore_model_field_value_converter.js.map +0 -1
  214. package/dist/lib/model_field_value/model_field_value.d.ts +0 -264
  215. package/dist/lib/model_field_value/model_field_value.js +0 -314
  216. package/dist/lib/model_field_value/model_field_value.js.map +0 -1
  217. package/dist/lib/regions.d.ts +0 -6
  218. package/dist/lib/regions.js +0 -3
  219. package/dist/lib/regions.js.map +0 -1
  220. package/dist/lib/schedulers/copy_document.d.ts +0 -35
  221. package/dist/lib/schedulers/copy_document.js +0 -59
  222. package/dist/lib/schedulers/copy_document.js.map +0 -1
  223. package/dist/lib/schedulers/delete_documents.d.ts +0 -35
  224. package/dist/lib/schedulers/delete_documents.js +0 -86
  225. package/dist/lib/schedulers/delete_documents.js.map +0 -1
  226. package/dist/lib/schedulers/notification.d.ts +0 -35
  227. package/dist/lib/schedulers/notification.js +0 -78
  228. package/dist/lib/schedulers/notification.js.map +0 -1
  229. package/dist/lib/src/call_process_function_base.d.ts +0 -39
  230. package/dist/lib/src/call_process_function_base.js +0 -82
  231. package/dist/lib/src/call_process_function_base.js.map +0 -1
  232. package/dist/lib/src/firebase_loader.d.ts +0 -30
  233. package/dist/lib/src/firebase_loader.js +0 -77
  234. package/dist/lib/src/firebase_loader.js.map +0 -1
  235. package/dist/lib/src/firestore_triggered_process_function_base.d.ts +0 -40
  236. package/dist/lib/src/firestore_triggered_process_function_base.js +0 -82
  237. package/dist/lib/src/firestore_triggered_process_function_base.js.map +0 -1
  238. package/dist/lib/src/functions_base.d.ts +0 -327
  239. package/dist/lib/src/functions_base.js +0 -38
  240. package/dist/lib/src/functions_base.js.map +0 -1
  241. package/dist/lib/src/functions_data.d.ts +0 -10
  242. package/dist/lib/src/functions_data.js +0 -19
  243. package/dist/lib/src/functions_data.js.map +0 -1
  244. package/dist/lib/src/request_process_function_base.d.ts +0 -39
  245. package/dist/lib/src/request_process_function_base.js +0 -80
  246. package/dist/lib/src/request_process_function_base.js.map +0 -1
  247. package/dist/lib/src/schedule_process_function_base.d.ts +0 -33
  248. package/dist/lib/src/schedule_process_function_base.js +0 -81
  249. package/dist/lib/src/schedule_process_function_base.js.map +0 -1
  250. package/dist/lib/src/sql_api_base.d.ts +0 -185
  251. package/dist/lib/src/sql_api_base.js +0 -94
  252. package/dist/lib/src/sql_api_base.js.map +0 -1
  253. package/dist/lib/utils.d.ts +0 -82
  254. package/dist/lib/utils.js +0 -142
  255. package/dist/lib/utils.js.map +0 -1
@@ -1,93 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- const functions = __importStar(require("firebase-functions/v2"));
46
- const api_1 = require("../lib/api");
47
- /**
48
- * Get latitude and longitude with GeocodingAPI.
49
- *
50
- * GeocodingAPIで緯度経度を取得します。
51
- *
52
- * @param {string} process.env.MAP_GEOCODING_APIKEY
53
- * API key for GoogleMapGeocodingAPI. Follow the steps below to issue it.
54
- * https://mathru.notion.site/Google-Map-API-API-e9a65fba9795450fb9a252ab4e631ace?pvs=4
55
- * GoogleMapGeocodingAPI用のAPIキー。下記の手順で発行します。
56
- * https://mathru.notion.site/Google-Map-API-API-e9a65fba9795450fb9a252ab4e631ace?pvs=4
57
- *
58
- * @param {string} address
59
- * Address or postal code.
60
- * アドレスもしくは郵便番号。
61
- */
62
- module.exports = (regions, options, data) => {
63
- var _a, _b, _c, _d;
64
- return functions.https.onCall({
65
- region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
66
- timeoutSeconds: options.timeoutSeconds,
67
- memory: options.memory,
68
- minInstances: options.minInstances,
69
- concurrency: options.concurrency,
70
- maxInstances: options.maxInstances,
71
- serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
72
- enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
73
- consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
74
- }, (query) => __awaiter(void 0, void 0, void 0, function* () {
75
- var _a;
76
- try {
77
- const address = query.data.address;
78
- const apiKey = (_a = process.env.MAP_GEOCODING_APIKEY) !== null && _a !== void 0 ? _a : "";
79
- if (!address) {
80
- throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
81
- }
82
- const res = yield api_1.Api.get(`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(address)}&key=${apiKey}`);
83
- const json = (yield res.json());
84
- console.log(json);
85
- return Object.assign({ success: true }, json);
86
- }
87
- catch (err) {
88
- console.error(err);
89
- throw err;
90
- }
91
- }));
92
- };
93
- //# sourceMappingURL=geocoding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geocoding.js","sourceRoot":"","sources":["../../src/functions/geocoding.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,oCAAiC;AAGjC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAA6B,EAC7B,IAA4B,EAC9B,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,SAAS;QACpD,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,SAAS;QACrD,oBAAoB,EAAE,MAAA,OAAO,CAAC,oBAAoB,mCAAI,SAAS;KAClE,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAoC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,mCAAI,EAAE,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,SAAG,CAAC,GAAG,CACrB,6DAA6D,kBAAkB,CAAC,OAAO,CAAC,QAAQ,MAAM,EAAE,CAC3G,CAAC;YACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,uBACI,OAAO,EAAE,IAAI,IACV,IAAI,EACT;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,117 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- const functions = __importStar(require("firebase-functions/v2"));
46
- const gmail = __importStar(require("../lib/functions/gmail"));
47
- /**
48
- * Send email via Gmail.
49
- *
50
- * Gmailでメールを送信します。
51
- *
52
- * @param {string} process.env.MAIL_GMAIL_ID
53
- * Gmail user ID. Follow the steps below to obtain a Gmail user ID.
54
- * 1. Press your icon in the upper right corner of the Google top screen and open "Manage Google Account".
55
- * 2. open "Security" on the left side of the screen and open "App Password
56
- * GmailのユーザーID。下記の手順で取得します。
57
- * 1. Googleのトップ画面の画面右上の自分のアイコンを押下し、「Google アカウントを管理」を開く
58
- * 2. 画面左の「セキュリティ」を開き、「アプリ パスワード」を開く
59
- *
60
- * @param {string} process.env.MAIL_GMAIL_PASSWORD
61
- * Gmail user password. Enter the password obtained in the above procedure.
62
- * Gmailのユーザーパスワード。上記の手順で取得したパスワードを入力します。
63
- *
64
- * @param {string} from
65
- * Sender's email address.
66
- * 送信元メールアドレス。
67
- *
68
- * @param {string} to
69
- * Email address to be sent to.
70
- * 送信先メールアドレス。
71
- *
72
- * @param {string} title
73
- * Email Title.
74
- * メールタイトル。
75
- *
76
- * @param {string} content
77
- * Email content.
78
- * メール本文。
79
- */
80
- module.exports = (regions, options, data) => {
81
- var _a, _b, _c, _d;
82
- return functions.https.onCall({
83
- region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
84
- timeoutSeconds: options.timeoutSeconds,
85
- memory: options.memory,
86
- minInstances: options.minInstances,
87
- concurrency: options.concurrency,
88
- maxInstances: options.maxInstances,
89
- serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
90
- enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
91
- consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
92
- }, (query) => __awaiter(void 0, void 0, void 0, function* () {
93
- try {
94
- const from = query.data.from;
95
- const to = query.data.to;
96
- const title = query.data.title;
97
- const content = query.data.content;
98
- if (!from || !to || !title || !content) {
99
- throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
100
- }
101
- yield gmail.send({
102
- from: from,
103
- to: to,
104
- title: title,
105
- content: content,
106
- });
107
- return {
108
- success: true,
109
- };
110
- }
111
- catch (err) {
112
- console.log(err);
113
- throw err;
114
- }
115
- }));
116
- };
117
- //# sourceMappingURL=gmail.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../src/functions/gmail.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,8DAAgD;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAA6B,EAC7B,IAA4B,EAC9B,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,SAAS;QACpD,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,SAAS;QACrD,oBAAoB,EAAE,MAAA,OAAO,CAAC,oBAAoB,mCAAI,SAAS;KAClE,EACD,CAAO,KAAK,EAAE,EAAE;QACZ,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAiC,CAAC;YAC1D,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAA+B,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAoC,CAAC;YAChE,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;YACH,OAAO;gBACH,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,100 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- const functions = __importStar(require("firebase-functions/v2"));
46
- const google_auth_library_1 = require("google-auth-library");
47
- /**
48
- * A function to get a Google Cloud Platform authentication token.
49
- *
50
- * Google Cloud Platformの認証トークンを取得するためのFunction。
51
- *
52
- * @param {string} process.env.FIRESTORE_SERVICE_ACCOUNT
53
- * Service account JSON.
54
- *
55
- * サービスアカウントJSON。
56
- */
57
- module.exports = (regions, options, data) => {
58
- var _a, _b, _c, _d;
59
- return functions.https.onCall({
60
- region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
61
- timeoutSeconds: options.timeoutSeconds,
62
- memory: options.memory,
63
- minInstances: options.minInstances,
64
- concurrency: options.concurrency,
65
- maxInstances: options.maxInstances,
66
- serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
67
- enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
68
- consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
69
- }, (query) => __awaiter(void 0, void 0, void 0, function* () {
70
- var _a;
71
- try {
72
- // Firebase Auth で認証チェック
73
- if (!query.auth) {
74
- throw new Error("Unauthenticated");
75
- }
76
- const serviceAccount = query.data.serviceAccount;
77
- if (!serviceAccount) {
78
- throw new Error("Service account is required");
79
- }
80
- const auth = new google_auth_library_1.GoogleAuth({
81
- credentials: JSON.parse(serviceAccount),
82
- scopes: ["https://www.googleapis.com/auth/cloud-platform"],
83
- });
84
- const client = yield auth.getClient();
85
- const token = yield client.getAccessToken();
86
- return {
87
- accessToken: token.token,
88
- expiresAt: Date.now() + (((_a = token.res) === null || _a === void 0 ? void 0 : _a.data.expires_in) * 1000),
89
- };
90
- }
91
- catch (err) {
92
- console.error(err);
93
- if (err instanceof functions.https.HttpsError) {
94
- throw err;
95
- }
96
- throw new functions.https.HttpsError("internal", "An error occurred while processing the request.");
97
- }
98
- }));
99
- };
100
- //# sourceMappingURL=google_token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google_token.js","sourceRoot":"","sources":["../../src/functions/google_token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,6DAAiD;AAEjD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAA6B,EAC7B,IAA4B,EAC9B,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,SAAS;QACpD,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,SAAS;QACrD,oBAAoB,EAAE,MAAA,OAAO,CAAC,oBAAoB,mCAAI,SAAS;KAClE,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI,CAAC;YACD,wBAAwB;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAA2C,CAAC;YAC9E,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,gCAAU,CAAC;gBACxB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBACvC,MAAM,EAAE,CAAC,gDAAgD,CAAC;aAC7D,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAE5C,OAAO;gBACH,WAAW,EAAE,KAAK,CAAC,KAAK;gBACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,IAAI,CAAC,UAAU,IAAG,IAAI,CAAC;aAC9D,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,GAAG,YAAY,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,GAAG,CAAC;YACd,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,iDAAiD,CAAC,CAAC;QACxG,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,169 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- var __importDefault = (this && this.__importDefault) || function (mod) {
45
- return (mod && mod.__esModule) ? mod : { "default": mod };
46
- };
47
- Object.defineProperty(exports, "__esModule", { value: true });
48
- const functions = __importStar(require("firebase-functions/v2"));
49
- const admin = __importStar(require("firebase-admin"));
50
- const path = __importStar(require("path"));
51
- const os = __importStar(require("os"));
52
- const fs = __importStar(require("fs"));
53
- const fluent_ffmpeg_1 = __importDefault(require("fluent-ffmpeg"));
54
- /**
55
- * Converts videos uploaded to storage to HLS format.
56
- *
57
- * ストレージにアップロードされた動画をHLS形式に変換します。
58
- */
59
- module.exports = (regions, options, data) => {
60
- var _a, _b;
61
- return functions.storage.onObjectFinalized({
62
- timeoutSeconds: 540,
63
- region: (_a = options.region) !== null && _a !== void 0 ? _a : regions[0],
64
- memory: "2GiB",
65
- minInstances: options.minInstances,
66
- concurrency: options.concurrency,
67
- maxInstances: options.maxInstances,
68
- serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
69
- }, (event) => __awaiter(void 0, void 0, void 0, function* () {
70
- try {
71
- const storage = admin.storage();
72
- // ファイルがアップロードされたバケット
73
- const fileBucket = event.data.bucket;
74
- // ファイルのパス
75
- const filePath = event.data.name;
76
- // ファイルのディレクトリ
77
- const fileDir = path.dirname(filePath);
78
- // ファイルのMIMEタイプ
79
- const contentType = event.data.contentType;
80
- // --- トリガー条件のチェック ---
81
- // 1. ファイルパスが存在しない場合は終了
82
- if (!filePath) {
83
- console.log("File path is not available.");
84
- return;
85
- }
86
- // 2. ファイルの拡張子がm3u8かtsの場合は、処理済みファイルなので無限ループを避けるため終了
87
- if (path.extname(filePath) === ".m3u8" || path.extname(filePath) === ".ts") {
88
- console.log(`File ${filePath} is already processed. Exiting.`);
89
- return;
90
- }
91
- // 3. 動画ファイルでない場合は終了 (例: 'video/mp4')
92
- if (!contentType || !contentType.startsWith("video/")) {
93
- console.log(`File ${filePath} is not a video. Exiting.`);
94
- return;
95
- }
96
- console.log(`New video uploaded: ${filePath}. Starting HLS conversion.`);
97
- const bucket = storage.bucket(fileBucket);
98
- const sourceFile = bucket.file(filePath);
99
- const fileName = path.basename(filePath);
100
- const fileNameWithoutExt = path.parse(fileName).name;
101
- // --- ファイルのダウンロード ---
102
- // 一時ディレクトリを作成
103
- const tempFilePath = path.join(os.tmpdir(), fileName);
104
- yield sourceFile.download({ destination: tempFilePath });
105
- console.log(`Downloaded ${fileName} to ${tempFilePath}.`);
106
- // HLS ファイルの出力先となる一時ディレクトリを作成
107
- const tempHlsDir = path.join(os.tmpdir(), "hls");
108
- if (!fs.existsSync(tempHlsDir)) {
109
- fs.mkdirSync(tempHlsDir);
110
- }
111
- // --- FFmpegによるエンコード処理 ---
112
- yield new Promise((resolve, reject) => {
113
- (0, fluent_ffmpeg_1.default)(tempFilePath)
114
- // ビデオコーデック(H.264エンコーダー使用、リサイズのため再エンコードが必要)
115
- .addOption("-c:v", "libx264")
116
- // オーディオコーデックもコピー
117
- .addOption("-c:a", "copy")
118
- // 動画サイズを最大1920pxに制限(アスペクト比維持)
119
- .addOption("-vf", "scale=1920:1920:force_original_aspect_ratio=decrease")
120
- // エンコード品質を設定(CRF値、低いほど高品質)
121
- .addOption("-crf", "23")
122
- // エンコードプリセット(速度と品質のバランス)
123
- .addOption("-preset", "medium")
124
- // HLSセグメントの長さを10秒に設定
125
- .addOption("-hls_time", "10")
126
- // HLSプレイリストのタイプをVOD (Video On Demand) に設定
127
- .addOption("-hls_playlist_type", "vod")
128
- // HLSセグメントのファイル名のフォーマット
129
- .addOption("-hls_segment_filename", `${tempHlsDir}/${fileNameWithoutExt}%04d.ts`)
130
- // 出力するマスタープレイリストファイル
131
- .output(`${tempHlsDir}/${fileNameWithoutExt}.m3u8`)
132
- .on("end", () => {
133
- console.log("FFmpeg processing finished successfully.");
134
- resolve();
135
- })
136
- .on("error", (err) => {
137
- console.error("Error during FFmpeg processing:", err);
138
- reject(err);
139
- })
140
- .run();
141
- });
142
- // --- HLSファイルのアップロード ---
143
- const outputDir = fileDir;
144
- const files = fs.readdirSync(tempHlsDir);
145
- const uploadPromises = files.map((file) => {
146
- const localPath = path.join(tempHlsDir, file);
147
- const remotePath = `${outputDir}/${file}`;
148
- return bucket.upload(localPath, {
149
- destination: remotePath,
150
- public: true, // 公開アクセス可能にする場合
151
- });
152
- });
153
- yield Promise.all(uploadPromises);
154
- console.log(`Uploaded HLS files to ${outputDir}.`);
155
- // --- 一時ファイルのクリーンアップ ---
156
- fs.unlinkSync(tempFilePath);
157
- fs.rmSync(tempHlsDir, { recursive: true, force: true });
158
- console.log("Cleaned up temporary files.");
159
- // (オプション) 元のMP4ファイルを削除する場合
160
- yield sourceFile.delete();
161
- console.log(`Deleted original file: ${filePath}`);
162
- }
163
- catch (err) {
164
- console.error(err);
165
- throw err;
166
- }
167
- }));
168
- };
169
- //# sourceMappingURL=hls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hls.js","sourceRoot":"","sources":["../../src/functions/hls.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};