@mathrunet/masamune 3.4.1 → 3.4.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [3.4.3](https://github.com/mathrunet/node_masamune/compare/v3.4.2...v3.4.3) (2025-09-13)
2
+
3
+
4
+ ### chore
5
+
6
+ * Add error messages. ([d7f2b00](https://github.com/mathrunet/node_masamune/commit/d7f2b00590761aac98b25f03c1a36f2ee20be5c7))
7
+
8
+
9
+
10
+ ## [3.4.2](https://github.com/mathrunet/node_masamune/compare/v3.4.1...v3.4.2) (2025-09-13)
11
+
12
+
13
+ ### fix
14
+
15
+ * Fix the ServiceAccount key as it's unusable. ([e5fd4ce](https://github.com/mathrunet/node_masamune/commit/e5fd4ce8dc98eefd487e59f4611d8d57d9957f4c))
16
+
17
+
18
+
1
19
  ## [3.4.1](https://github.com/mathrunet/node_masamune/compare/v3.4.0...v3.4.1) (2025-09-12)
2
20
 
3
21
 
@@ -94,19 +94,36 @@ module.exports = (regions, options, data) => {
94
94
  // 環境変数からサービスアカウントJSONを取得
95
95
  let serviceAccount;
96
96
  try {
97
- const serviceAccountJson = (_a = process.env.FIRESTORE_SERVICE_ACCOUNT) !== null && _a !== void 0 ? _a : process.env.FIREBASE_SERVICE_ACCOUNT;
97
+ const serviceAccountJson = (_a = process.env.FIRESTORE_SERVICE_ACCOUNT) !== null && _a !== void 0 ? _a : process.env.SERVICE_ACCOUNT;
98
98
  if (!serviceAccountJson) {
99
99
  throw new functions.https.HttpsError("failed-precondition", "Service account JSON not found in environment variable: FIRESTORE_SERVICE_ACCOUNT");
100
100
  }
101
101
  serviceAccount = JSON.parse(serviceAccountJson);
102
+ // サービスアカウントの必須フィールドを検証
103
+ if (!serviceAccount.project_id) {
104
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'project_id' field");
105
+ }
106
+ if (!serviceAccount.client_email) {
107
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'client_email' field");
108
+ }
109
+ if (!serviceAccount.private_key) {
110
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'private_key' field");
111
+ }
112
+ console.log(`Using service account for project: ${serviceAccount.project_id}`);
102
113
  }
103
114
  catch (error) {
115
+ if (error instanceof functions.https.HttpsError) {
116
+ throw error;
117
+ }
104
118
  throw new functions.https.HttpsError("invalid-argument", `Invalid service account JSON in environment variable: FIRESTORE_SERVICE_ACCOUNT`);
105
119
  }
106
120
  // Firestoreインスタンスを作成
121
+ // データベースIDが指定されていない場合は "(default)" を使用
122
+ const finalDatabaseId = databaseId || "(default)";
123
+ console.log(`Creating Firestore instance with projectId: ${serviceAccount.project_id}, databaseId: ${finalDatabaseId}`);
107
124
  const firestoreInstance = new firestore_1.Firestore({
108
125
  projectId: serviceAccount.project_id,
109
- databaseId: databaseId !== null && databaseId !== void 0 ? databaseId : undefined,
126
+ databaseId: finalDatabaseId,
110
127
  credentials: {
111
128
  client_email: serviceAccount.client_email,
112
129
  private_key: serviceAccount.private_key,
@@ -125,44 +142,68 @@ module.exports = (regions, options, data) => {
125
142
  // メソッドに応じて処理を実行
126
143
  switch (method) {
127
144
  case "get": {
128
- const col = yield firestoreInstance.collection(path).get();
129
- const data = {};
130
- for (const doc of col.docs) {
131
- if (doc.exists) {
132
- data[doc.id] = doc.data();
145
+ console.log(`Attempting to get collection at path: ${path}`);
146
+ try {
147
+ const col = yield firestoreInstance.collection(path).get();
148
+ const data = {};
149
+ for (const doc of col.docs) {
150
+ if (doc.exists) {
151
+ data[doc.id] = doc.data();
152
+ }
133
153
  }
154
+ console.log(`Successfully retrieved ${col.size} documents from ${path}`);
155
+ return {
156
+ status: 200,
157
+ data: data,
158
+ };
159
+ }
160
+ catch (error) {
161
+ console.error(`Error getting collection at ${path}:`, error);
162
+ throw new functions.https.HttpsError("not-found", `Failed to get collection at ${path}: ${error.message}`);
134
163
  }
135
- return {
136
- status: 200,
137
- data: data,
138
- };
139
164
  }
140
165
  case "put":
141
166
  case "post": {
142
167
  if (!collectionData) {
143
168
  throw new functions.https.HttpsError("invalid-argument", "No data specified for set operation.");
144
169
  }
145
- // NullはFieldValue.delete()に変換される
146
- for (const docId in collectionData) {
147
- for (const key in collectionData[docId]) {
148
- if (collectionData[docId][key] === null) {
149
- collectionData[docId][key] = firestore_1.FieldValue.delete();
170
+ console.log(`Attempting to set documents in collection at path: ${path}`);
171
+ try {
172
+ // NullはFieldValue.delete()に変換される
173
+ for (const docId in collectionData) {
174
+ for (const key in collectionData[docId]) {
175
+ if (collectionData[docId][key] === null) {
176
+ collectionData[docId][key] = firestore_1.FieldValue.delete();
177
+ }
150
178
  }
179
+ yield firestoreInstance.doc(path + "/" + docId).set(collectionData[docId], { merge: true });
151
180
  }
152
- yield firestoreInstance.doc(path + "/" + docId).set(collectionData[docId], { merge: true });
181
+ console.log(`Successfully set ${Object.keys(collectionData).length} documents in ${path}`);
182
+ return {
183
+ status: 200,
184
+ };
185
+ }
186
+ catch (error) {
187
+ console.error(`Error setting documents in ${path}:`, error);
188
+ throw new functions.https.HttpsError("internal", `Failed to set documents in ${path}: ${error.message}`);
153
189
  }
154
- return {
155
- status: 200,
156
- };
157
190
  }
158
191
  case "delete": {
159
- const col = yield firestoreInstance.collection(path).get();
160
- for (const doc of col.docs) {
161
- yield doc.ref.delete();
192
+ console.log(`Attempting to delete collection at path: ${path}`);
193
+ try {
194
+ const col = yield firestoreInstance.collection(path).get();
195
+ for (const doc of col.docs) {
196
+ yield doc.ref.delete();
197
+ }
198
+ console.log(`Successfully deleted ${col.size} documents from ${path}`);
199
+ return {
200
+ status: 200,
201
+ };
202
+ }
203
+ catch (error) {
204
+ console.error(`Error deleting collection at ${path}:`, error);
205
+ throw new functions.https.HttpsError("internal", `Failed to delete collection at ${path}: ${error.message}`);
162
206
  }
163
- return {
164
- status: 200,
165
- };
166
207
  }
167
208
  default:
168
209
  throw new functions.https.HttpsError("invalid-argument", `Unknown method: ${method}`);
@@ -1 +1 @@
1
- {"version":3,"file":"collection_model_firestore.js","sourceRoot":"","sources":["../../src/functions/collection_model_firestore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection_model_firestore.js","sourceRoot":"","sources":["../../src/functions/collection_model_firestore.ts"],"names":[],"mappings":"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"}
@@ -94,19 +94,36 @@ module.exports = (regions, options, data) => {
94
94
  // 環境変数からサービスアカウントJSONを取得
95
95
  let serviceAccount;
96
96
  try {
97
- const serviceAccountJson = (_a = process.env.FIRESTORE_SERVICE_ACCOUNT) !== null && _a !== void 0 ? _a : process.env.FIREBASE_SERVICE_ACCOUNT;
97
+ const serviceAccountJson = (_a = process.env.FIRESTORE_SERVICE_ACCOUNT) !== null && _a !== void 0 ? _a : process.env.SERVICE_ACCOUNT;
98
98
  if (!serviceAccountJson) {
99
99
  throw new functions.https.HttpsError("failed-precondition", "Service account JSON not found in environment variable: FIRESTORE_SERVICE_ACCOUNT");
100
100
  }
101
101
  serviceAccount = JSON.parse(serviceAccountJson);
102
+ // サービスアカウントの必須フィールドを検証
103
+ if (!serviceAccount.project_id) {
104
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'project_id' field");
105
+ }
106
+ if (!serviceAccount.client_email) {
107
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'client_email' field");
108
+ }
109
+ if (!serviceAccount.private_key) {
110
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'private_key' field");
111
+ }
112
+ console.log(`Using service account for project: ${serviceAccount.project_id}`);
102
113
  }
103
114
  catch (error) {
115
+ if (error instanceof functions.https.HttpsError) {
116
+ throw error;
117
+ }
104
118
  throw new functions.https.HttpsError("invalid-argument", `Invalid service account JSON in environment variable: FIRESTORE_SERVICE_ACCOUNT`);
105
119
  }
106
120
  // Firestoreインスタンスを作成
121
+ // データベースIDが指定されていない場合は "(default)" を使用
122
+ const finalDatabaseId = databaseId || "(default)";
123
+ console.log(`Creating Firestore instance with projectId: ${serviceAccount.project_id}, databaseId: ${finalDatabaseId}`);
107
124
  const firestoreInstance = new firestore_1.Firestore({
108
125
  projectId: serviceAccount.project_id,
109
- databaseId: databaseId !== null && databaseId !== void 0 ? databaseId : undefined,
126
+ databaseId: finalDatabaseId,
110
127
  credentials: {
111
128
  client_email: serviceAccount.client_email,
112
129
  private_key: serviceAccount.private_key,
@@ -122,36 +139,64 @@ module.exports = (regions, options, data) => {
122
139
  if (!path) {
123
140
  throw new functions.https.HttpsError("invalid-argument", "No path specified.");
124
141
  }
142
+ // パスの検証
143
+ if (!path.includes('/')) {
144
+ throw new functions.https.HttpsError("invalid-argument", `Invalid document path format: ${path}. Path must include collection and document ID (e.g., 'collection/document')`);
145
+ }
125
146
  // メソッドに応じて処理を実行
126
147
  switch (method) {
127
148
  case "get": {
128
- const doc = yield firestoreInstance.doc(path).get();
129
- return {
130
- status: 200,
131
- data: doc.exists ? doc.data() : {},
132
- };
149
+ console.log(`Attempting to get document at path: ${path}`);
150
+ try {
151
+ const doc = yield firestoreInstance.doc(path).get();
152
+ console.log(`Document exists: ${doc.exists}`);
153
+ return {
154
+ status: 200,
155
+ data: doc.exists ? doc.data() : {},
156
+ };
157
+ }
158
+ catch (error) {
159
+ console.error(`Error getting document at ${path}:`, error);
160
+ throw new functions.https.HttpsError("not-found", `Failed to get document at ${path}: ${error.message}`);
161
+ }
133
162
  }
134
163
  case "put":
135
164
  case "post": {
136
165
  if (!documentData) {
137
166
  throw new functions.https.HttpsError("invalid-argument", "No data specified for set operation.");
138
167
  }
139
- // NullはFieldValue.delete()に変換される
140
- for (const key in documentData) {
141
- if (documentData[key] === null) {
142
- documentData[key] = firestore_1.FieldValue.delete();
168
+ console.log(`Attempting to set document at path: ${path}`);
169
+ try {
170
+ // NullはFieldValue.delete()に変換される
171
+ for (const key in documentData) {
172
+ if (documentData[key] === null) {
173
+ documentData[key] = firestore_1.FieldValue.delete();
174
+ }
143
175
  }
176
+ yield firestoreInstance.doc(path).set(documentData, { merge: true });
177
+ console.log(`Successfully set document at ${path}`);
178
+ return {
179
+ status: 200,
180
+ };
181
+ }
182
+ catch (error) {
183
+ console.error(`Error setting document at ${path}:`, error);
184
+ throw new functions.https.HttpsError("internal", `Failed to set document at ${path}: ${error.message}`);
144
185
  }
145
- yield firestoreInstance.doc(path).set(documentData, { merge: true });
146
- return {
147
- status: 200,
148
- };
149
186
  }
150
187
  case "delete": {
151
- yield firestoreInstance.doc(path).delete();
152
- return {
153
- status: 200,
154
- };
188
+ console.log(`Attempting to delete document at path: ${path}`);
189
+ try {
190
+ yield firestoreInstance.doc(path).delete();
191
+ console.log(`Successfully deleted document at ${path}`);
192
+ return {
193
+ status: 200,
194
+ };
195
+ }
196
+ catch (error) {
197
+ console.error(`Error deleting document at ${path}:`, error);
198
+ throw new functions.https.HttpsError("internal", `Failed to delete document at ${path}: ${error.message}`);
199
+ }
155
200
  }
156
201
  default:
157
202
  throw new functions.https.HttpsError("invalid-argument", `Unknown method: ${method}`);
@@ -1 +1 @@
1
- {"version":3,"file":"document_model_firestore.js","sourceRoot":"","sources":["../../src/functions/document_model_firestore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document_model_firestore.js","sourceRoot":"","sources":["../../src/functions/document_model_firestore.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ const storage_1 = require("@google-cloud/storage");
49
49
  *
50
50
  * 外部のFirebase Storageを利用できるようにするためのFunction。
51
51
  *
52
- * @param {string} process.env.FIREBASE_STORAGE_SERVICE_ACCOUNT
52
+ * @param {string} process.env.STORAGE_SERVICE_ACCOUNT
53
53
  * Service account JSON.
54
54
  *
55
55
  * サービスアカウントJSON。
@@ -92,16 +92,31 @@ module.exports = (regions, options, data) => {
92
92
  // 環境変数からサービスアカウントJSONを取得
93
93
  let serviceAccount;
94
94
  try {
95
- const serviceAccountJson = (_a = process.env.FIREBASE_STORAGE_SERVICE_ACCOUNT) !== null && _a !== void 0 ? _a : process.env.FIREBASE_SERVICE_ACCOUNT;
95
+ const serviceAccountJson = (_a = process.env.STORAGE_SERVICE_ACCOUNT) !== null && _a !== void 0 ? _a : process.env.SERVICE_ACCOUNT;
96
96
  if (!serviceAccountJson) {
97
- throw new functions.https.HttpsError("failed-precondition", "Service account JSON not found in environment variable: FIREBASE_STORAGE_SERVICE_ACCOUNT");
97
+ throw new functions.https.HttpsError("failed-precondition", "Service account JSON not found in environment variable: STORAGE_SERVICE_ACCOUNT");
98
98
  }
99
99
  serviceAccount = JSON.parse(serviceAccountJson);
100
+ // サービスアカウントの必須フィールドを検証
101
+ if (!serviceAccount.project_id) {
102
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'project_id' field");
103
+ }
104
+ if (!serviceAccount.client_email) {
105
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'client_email' field");
106
+ }
107
+ if (!serviceAccount.private_key) {
108
+ throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'private_key' field");
109
+ }
110
+ console.log(`Using service account for project: ${serviceAccount.project_id}`);
100
111
  }
101
112
  catch (error) {
102
- throw new functions.https.HttpsError("invalid-argument", `Invalid service account JSON in environment variable: FIREBASE_STORAGE_SERVICE_ACCOUNT`);
113
+ if (error instanceof functions.https.HttpsError) {
114
+ throw error;
115
+ }
116
+ throw new functions.https.HttpsError("invalid-argument", `Invalid service account JSON in environment variable: STORAGE_SERVICE_ACCOUNT`);
103
117
  }
104
118
  // Storageインスタンスを作成
119
+ console.log(`Creating Storage instance with projectId: ${serviceAccount.project_id}`);
105
120
  const storageInstance = new storage_1.Storage({
106
121
  projectId: serviceAccount.project_id,
107
122
  credentials: {
@@ -127,22 +142,26 @@ module.exports = (regions, options, data) => {
127
142
  }
128
143
  const bucketName = pathParts[0];
129
144
  const filePath = pathParts.slice(1).join("/");
145
+ console.log(`Processing ${method} operation for bucket: ${bucketName}, filePath: ${filePath}`);
130
146
  // バケットの参照を取得
131
147
  const bucket = storageInstance.bucket(bucketName);
132
148
  const file = bucket.file(filePath);
133
149
  // メソッドに応じて処理を実行
134
150
  switch (method) {
135
151
  case "get": {
152
+ console.log(`Attempting to get file: ${bucketName}/${filePath}`);
136
153
  try {
137
154
  // ファイルの存在確認
138
155
  const [exists] = yield file.exists();
139
156
  if (!exists) {
157
+ console.log(`File not found: ${bucketName}/${filePath}`);
140
158
  return {
141
159
  status: 404,
142
160
  data: null,
143
161
  error: "File not found"
144
162
  };
145
163
  }
164
+ console.log(`File exists, downloading: ${bucketName}/${filePath}`);
146
165
  // ファイルをダウンロードしてBase64エンコード
147
166
  const [fileBuffer] = yield file.download();
148
167
  const base64Data = fileBuffer.toString("base64");
@@ -156,6 +175,7 @@ module.exports = (regions, options, data) => {
156
175
  // 公開URLを生成(Firebase Storage形式)
157
176
  const encodedFilePath = encodeURIComponent(filePath);
158
177
  const publicUrl = `https://firebasestorage.googleapis.com/v0/b/${bucketName}/o/${encodedFilePath}?alt=media`;
178
+ console.log(`Successfully downloaded file: ${bucketName}/${filePath}, size: ${metadata.size} bytes`);
159
179
  return {
160
180
  status: 200,
161
181
  data: base64Data,
@@ -163,8 +183,8 @@ module.exports = (regions, options, data) => {
163
183
  };
164
184
  }
165
185
  catch (error) {
166
- console.error("Error downloading file:", error);
167
- throw new functions.https.HttpsError("internal", "Failed to download file.");
186
+ console.error(`Error downloading file ${bucketName}/${filePath}:`, error);
187
+ throw new functions.https.HttpsError("internal", `Failed to download file ${bucketName}/${filePath}: ${error.message}`);
168
188
  }
169
189
  }
170
190
  case "put":
@@ -172,15 +192,18 @@ module.exports = (regions, options, data) => {
172
192
  if (!binary) {
173
193
  throw new functions.https.HttpsError("invalid-argument", "No binary data specified for upload operation.");
174
194
  }
195
+ console.log(`Attempting to upload file: ${bucketName}/${filePath}`);
175
196
  try {
176
197
  // Base64データをBufferに変換
177
198
  const buffer = Buffer.from(binary, "base64");
199
+ console.log(`Converting base64 data to buffer, size: ${buffer.length} bytes`);
178
200
  // メタデータの設定
179
201
  const options = {};
180
202
  if (meta) {
181
203
  // contentTypeの設定
182
204
  if (meta.contentType) {
183
205
  options.contentType = meta.contentType;
206
+ console.log(`Setting content type: ${meta.contentType}`);
184
207
  }
185
208
  // contentType以外のメタデータを設定
186
209
  const customMetadata = Object.assign({}, meta);
@@ -190,10 +213,12 @@ module.exports = (regions, options, data) => {
190
213
  options.metadata = {
191
214
  metadata: customMetadata
192
215
  };
216
+ console.log(`Setting custom metadata:`, customMetadata);
193
217
  }
194
218
  }
195
219
  // ファイルをアップロード
196
220
  yield file.save(buffer, options);
221
+ console.log(`File saved successfully: ${bucketName}/${filePath}`);
197
222
  // アップロード後のメタデータを取得
198
223
  const [uploadedMetadata] = yield file.getMetadata();
199
224
  // ダウンロードURLを生成(署名付きURL、7日間有効)
@@ -204,6 +229,7 @@ module.exports = (regions, options, data) => {
204
229
  // 公開URLを生成(Firebase Storage形式)
205
230
  const encodedFilePath = encodeURIComponent(filePath);
206
231
  const publicUrl = `https://firebasestorage.googleapis.com/v0/b/${bucketName}/o/${encodedFilePath}?alt=media`;
232
+ console.log(`Successfully uploaded file: ${bucketName}/${filePath}, final size: ${uploadedMetadata.size} bytes`);
207
233
  return {
208
234
  status: 200,
209
235
  message: "File uploaded successfully",
@@ -215,15 +241,17 @@ module.exports = (regions, options, data) => {
215
241
  };
216
242
  }
217
243
  catch (error) {
218
- console.error("Error uploading file:", error);
219
- throw new functions.https.HttpsError("internal", "Failed to upload file.");
244
+ console.error(`Error uploading file ${bucketName}/${filePath}:`, error);
245
+ throw new functions.https.HttpsError("internal", `Failed to upload file ${bucketName}/${filePath}: ${error.message}`);
220
246
  }
221
247
  }
222
248
  case "delete": {
249
+ console.log(`Attempting to delete file: ${bucketName}/${filePath}`);
223
250
  try {
224
251
  // ファイルの存在確認
225
252
  const [exists] = yield file.exists();
226
253
  if (!exists) {
254
+ console.log(`File not found for deletion: ${bucketName}/${filePath}`);
227
255
  return {
228
256
  status: 404,
229
257
  error: "File not found"
@@ -231,14 +259,15 @@ module.exports = (regions, options, data) => {
231
259
  }
232
260
  // ファイルを削除
233
261
  yield file.delete();
262
+ console.log(`Successfully deleted file: ${bucketName}/${filePath}`);
234
263
  return {
235
264
  status: 200,
236
265
  message: "File deleted successfully"
237
266
  };
238
267
  }
239
268
  catch (error) {
240
- console.error("Error deleting file:", error);
241
- throw new functions.https.HttpsError("internal", "Failed to delete file.");
269
+ console.error(`Error deleting file ${bucketName}/${filePath}:`, error);
270
+ throw new functions.https.HttpsError("internal", `Failed to delete file ${bucketName}/${filePath}: ${error.message}`);
242
271
  }
243
272
  }
244
273
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"storage_firebase.js","sourceRoot":"","sources":["../../src/functions/storage_firebase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage_firebase.js","sourceRoot":"","sources":["../../src/functions/storage_firebase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mathrunet/masamune",
3
- "version": "3.4.1",
3
+ "version": "3.4.3",
4
4
  "description": "Manages packages for the server portion (NodeJS) of the Masamune framework.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",