@vue-skuilder/express 0.1.11-10 → 0.1.11-13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/attachment-preprocessing/index.ts"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoCxD;AAED;;;GAGG;AACH,wBAA8B,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyE7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/attachment-preprocessing/index.ts"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAyCxD;AAED;;;GAGG;AACH,wBAA8B,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkF7E"}
@@ -12,17 +12,22 @@ const Q = new AsyncProcessQueue(processDocAttachments);
12
12
  */
13
13
  export function postProcessCourse(courseID) {
14
14
  try {
15
- logger.info(`Following course ${courseID}`);
15
+ logger.info(`postProcessCourse: Starting for courseID: ${courseID}`);
16
16
  const crsString = `coursedb-${courseID}`;
17
+ logger.debug(`postProcessCourse: Using database name: ${crsString}`);
17
18
  // Get database instance
18
19
  const db = getCouchDB().use(crsString);
19
20
  // Test database existence before setting up change listener
20
21
  db.info().catch((e) => {
21
22
  if (e && typeof e === 'object' && 'status' in e && e.status === 404) {
22
- logger.error(`Database "${crsString}" does not exist. Expected database name may be incorrect for courseID: ${courseID}`);
23
+ logger.error(`postProcessCourse: Database "${crsString}" does not exist. Expected database name may be incorrect for courseID: ${courseID}`);
23
24
  return;
24
25
  }
25
- logger.error(`Error checking database "${crsString}": ${e}`);
26
+ logger.error(`postProcessCourse: Error checking database "${crsString}": ${e}`);
27
+ // Log full error details for debugging
28
+ if (e && typeof e === 'object') {
29
+ logger.error(`postProcessCourse: Full error details for ${crsString}:`, e);
30
+ }
26
31
  });
27
32
  const courseFilter = filterFactory(courseID);
28
33
  db.changesReader
@@ -88,11 +93,15 @@ export default async function postProcess(courseIDs) {
88
93
  logger.info('Studio mode detected: scanning for additional course databases...');
89
94
  try {
90
95
  const allDbs = await getCouchDB().db.list();
96
+ logger.debug(`All databases found: ${allDbs.join(', ')}`);
91
97
  const studioDbs = allDbs.filter((db) => db.startsWith('coursedb-') && !processedCourseIds.has(db));
92
- logger.info(`Found ${studioDbs.length} potential studio databases`);
98
+ logger.info(`Found ${studioDbs.length} potential studio databases: ${studioDbs.join(', ')}`);
99
+ logger.debug(`Already processed course IDs: ${Array.from(processedCourseIds).join(', ')}`);
93
100
  for (const studioDb of studioDbs) {
94
101
  const courseId = studioDb.replace('coursedb-', '');
102
+ logger.debug(`Checking studio database: ${studioDb} (courseId: ${courseId})`);
95
103
  try {
104
+ logger.debug(`Calling hasCourseConfig for: ${studioDb}`);
96
105
  if (await hasCourseConfig(studioDb)) {
97
106
  logger.info(`Starting postprocessing for studio database: ${studioDb}`);
98
107
  postProcessCourse(courseId);
@@ -103,6 +112,10 @@ export default async function postProcess(courseIDs) {
103
112
  }
104
113
  catch (e) {
105
114
  logger.error(`Error processing studio database ${studioDb}: ${e}`);
115
+ // Log the full error object for debugging
116
+ if (e && typeof e === 'object') {
117
+ logger.error(`Error details for ${studioDb}:`, e);
118
+ }
106
119
  }
107
120
  }
108
121
  }
@@ -116,7 +129,9 @@ export default async function postProcess(courseIDs) {
116
129
  }
117
130
  }
118
131
  function filterFactory(courseID) {
119
- const courseDatabase = getCouchDB().use(`coursedb-${courseID}`);
132
+ const databaseName = `coursedb-${courseID}`;
133
+ logger.debug(`filterFactory: Creating filter for database: ${databaseName}`);
134
+ const courseDatabase = getCouchDB().use(databaseName);
120
135
  return async function filterChanges(changeItem) {
121
136
  try {
122
137
  const docNoAttachments = await courseDatabase.get(changeItem.id, {
@@ -207,7 +222,21 @@ async function processDocAttachments(request) {
207
222
  */
208
223
  async function hasCourseConfig(databaseName) {
209
224
  try {
225
+ logger.debug(`hasCourseConfig: Accessing database: ${databaseName}`);
210
226
  const db = getCouchDB().use(databaseName);
227
+ // First check if database exists by trying to get info
228
+ try {
229
+ await db.info();
230
+ logger.debug(`hasCourseConfig: Database ${databaseName} exists, checking for course config`);
231
+ }
232
+ catch (infoError) {
233
+ if (infoError && typeof infoError === 'object' && 'status' in infoError && infoError.status === 404) {
234
+ logger.debug(`hasCourseConfig: Database ${databaseName} does not exist (404)`);
235
+ return false;
236
+ }
237
+ logger.warn(`hasCourseConfig: Error getting info for database ${databaseName}: ${infoError}`);
238
+ throw infoError;
239
+ }
211
240
  // Try to find a course configuration document
212
241
  // Course databases should have documents with course metadata
213
242
  const result = await db.find({
@@ -221,15 +250,21 @@ async function hasCourseConfig(databaseName) {
221
250
  },
222
251
  limit: 1,
223
252
  });
224
- return result.docs && result.docs.length > 0;
253
+ const hasConfig = result.docs && result.docs.length > 0;
254
+ logger.debug(`hasCourseConfig: Database ${databaseName} has course config: ${hasConfig}`);
255
+ return hasConfig;
225
256
  }
226
257
  catch (e) {
227
258
  // Handle specific database not found errors
228
259
  if (e && typeof e === 'object' && 'error' in e && e.error === 'not_found') {
229
- logger.debug(`Database ${databaseName} does not exist`);
260
+ logger.debug(`hasCourseConfig: Database ${databaseName} does not exist (not_found error)`);
230
261
  return false;
231
262
  }
232
- logger.debug(`Error checking course config for ${databaseName}: ${e}`);
263
+ logger.error(`hasCourseConfig: Error checking course config for ${databaseName}: ${e}`);
264
+ // Log full error details for debugging
265
+ if (e && typeof e === 'object') {
266
+ logger.error(`hasCourseConfig: Full error details for ${databaseName}:`, e);
267
+ }
233
268
  return false;
234
269
  }
235
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/attachment-preprocessing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/attachment-preprocessing/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/couchdb/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAejE;AAED,wBAAgB,UAAU,IAAI,IAAI,CAAC,WAAW,CAK7C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAKhD;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAEhG;AAMD,wBAAsB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAmBrF;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI9D;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,aAAa;IACxD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/couchdb/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMrD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAejE;AAED,wBAAgB,UAAU,IAAI,IAAI,CAAC,WAAW,CAO7C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAOhD;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAGtC;AAMD,wBAAsB,aAAa,CAAC,CAAC,EACnC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAoBhC;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI9D;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,aAAa;IACxD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH"}
@@ -1,8 +1,9 @@
1
1
  import Nano from 'nano';
2
+ import logger from '../logger.js';
2
3
  let CouchDB;
3
4
  let couchURLWithProtocol;
4
5
  export function initializeCouchDB(config) {
5
- const { COUCHDB_SERVER: url, COUCHDB_PROTOCOL: protocol, COUCHDB_ADMIN: username, COUCHDB_PASSWORD: password } = config;
6
+ const { COUCHDB_SERVER: url, COUCHDB_PROTOCOL: protocol, COUCHDB_ADMIN: username, COUCHDB_PASSWORD: password, } = config;
6
7
  if (!url || !protocol || !username || !password) {
7
8
  throw new Error('Missing CouchDB configuration');
8
9
  }
@@ -23,6 +24,7 @@ export function getCouchURLWithProtocol() {
23
24
  return couchURLWithProtocol;
24
25
  }
25
26
  export async function useOrCreateCourseDB(courseID) {
27
+ logger.debug(`Using or creating course DB for course ID: ${courseID}`);
26
28
  return useOrCreateDB(`coursedb-${courseID}`);
27
29
  }
28
30
  export async function useOrCreateDB(dbName) {
@@ -31,7 +33,8 @@ export async function useOrCreateDB(dbName) {
31
33
  await db.info();
32
34
  return db;
33
35
  }
34
- catch {
36
+ catch (error) {
37
+ logger.debug(`Lookup failed for Database ${dbName}: `, error);
35
38
  try {
36
39
  await getCouchDB().db.create(dbName);
37
40
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/couchdb/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,IAAI,OAAyB,CAAC;AAC9B,IAAI,oBAA4B,CAAC;AAEjC,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,MAAM,EACJ,cAAc,EAAE,GAAG,EACnB,gBAAgB,EAAE,QAAQ,EAC1B,aAAa,EAAE,QAAQ,EACvB,gBAAgB,EAAE,QAAQ,EAC3B,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,kBAAkB,GAAG,GAAG,QAAQ,MAAM,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;IAC1E,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,oBAAoB,GAAG,GAAG,QAAQ,MAAM,GAAG,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,oBAAoB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,OAAO,aAAa,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,MAAc;IACnD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC,GAAG,CAAI,MAAM,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,EAAE,CAAC;QACV,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAAkB,CAAC;YACrC,4DAA4D;YAC5D,IAAI,SAAS,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBACnC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,SAAS,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc;IAC3C,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,SAAS,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/couchdb/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,IAAI,OAAyB,CAAC;AAC9B,IAAI,oBAA4B,CAAC;AAEjC,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,MAAM,EACJ,cAAc,EAAE,GAAG,EACnB,gBAAgB,EAAE,QAAQ,EAC1B,aAAa,EAAE,QAAQ,EACvB,gBAAgB,EAAE,QAAQ,GAC3B,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,kBAAkB,GAAG,GAAG,QAAQ,MAAM,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;IAC1E,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,oBAAoB,GAAG,GAAG,QAAQ,MAAM,GAAG,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB;IAEhB,MAAM,CAAC,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;IACvE,OAAO,aAAa,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc;IAEd,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC,GAAG,CAAI,MAAM,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAAkB,CAAC;YACrC,4DAA4D;YAC5D,IAAI,SAAS,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBACjC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,SAAS,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc;IAC3C,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,SAAS,CAAC;AACxB,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.11-10",
6
+ "version": "0.1.11-13",
7
7
  "description": "an API",
8
8
  "main": "dist/index.js",
9
9
  "type": "module",
@@ -33,8 +33,8 @@
33
33
  "author": "Colin Kennedy",
34
34
  "license": "GPL-3.0-or-later",
35
35
  "dependencies": {
36
- "@vue-skuilder/common": "^0.1.11-10",
37
- "@vue-skuilder/db": "^0.1.11-10",
36
+ "@vue-skuilder/common": "^0.1.11-13",
37
+ "@vue-skuilder/db": "^0.1.11-13",
38
38
  "axios": "^1.7.4",
39
39
  "cookie-parser": "^1.4.7",
40
40
  "cors": "^2.8.5",
@@ -31,9 +31,10 @@ interface DocForProcessing extends nano.DocumentGetResponse {
31
31
  */
32
32
  export function postProcessCourse(courseID: string): void {
33
33
  try {
34
- logger.info(`Following course ${courseID}`);
34
+ logger.info(`postProcessCourse: Starting for courseID: ${courseID}`);
35
35
 
36
36
  const crsString = `coursedb-${courseID}`;
37
+ logger.debug(`postProcessCourse: Using database name: ${crsString}`);
37
38
 
38
39
  // Get database instance
39
40
  const db = getCouchDB().use(crsString);
@@ -41,10 +42,14 @@ export function postProcessCourse(courseID: string): void {
41
42
  // Test database existence before setting up change listener
42
43
  db.info().catch((e: unknown) => {
43
44
  if (e && typeof e === 'object' && 'status' in e && e.status === 404) {
44
- logger.error(`Database "${crsString}" does not exist. Expected database name may be incorrect for courseID: ${courseID}`);
45
+ logger.error(`postProcessCourse: Database "${crsString}" does not exist. Expected database name may be incorrect for courseID: ${courseID}`);
45
46
  return;
46
47
  }
47
- logger.error(`Error checking database "${crsString}": ${e}`);
48
+ logger.error(`postProcessCourse: Error checking database "${crsString}": ${e}`);
49
+ // Log full error details for debugging
50
+ if (e && typeof e === 'object') {
51
+ logger.error(`postProcessCourse: Full error details for ${crsString}:`, e);
52
+ }
48
53
  });
49
54
 
50
55
  const courseFilter = filterFactory(courseID);
@@ -115,16 +120,21 @@ export default async function postProcess(courseIDs?: string[]): Promise<void> {
115
120
 
116
121
  try {
117
122
  const allDbs = await getCouchDB().db.list();
123
+ logger.debug(`All databases found: ${allDbs.join(', ')}`);
124
+
118
125
  const studioDbs = allDbs.filter(
119
126
  (db) => db.startsWith('coursedb-') && !processedCourseIds.has(db)
120
127
  );
121
-
122
- logger.info(`Found ${studioDbs.length} potential studio databases`);
128
+
129
+ logger.info(`Found ${studioDbs.length} potential studio databases: ${studioDbs.join(', ')}`);
130
+ logger.debug(`Already processed course IDs: ${Array.from(processedCourseIds).join(', ')}`);
123
131
 
124
132
  for (const studioDb of studioDbs) {
125
133
  const courseId = studioDb.replace('coursedb-', '');
134
+ logger.debug(`Checking studio database: ${studioDb} (courseId: ${courseId})`);
126
135
 
127
136
  try {
137
+ logger.debug(`Calling hasCourseConfig for: ${studioDb}`);
128
138
  if (await hasCourseConfig(studioDb)) {
129
139
  logger.info(
130
140
  `Starting postprocessing for studio database: ${studioDb}`
@@ -135,6 +145,10 @@ export default async function postProcess(courseIDs?: string[]): Promise<void> {
135
145
  }
136
146
  } catch (e) {
137
147
  logger.error(`Error processing studio database ${studioDb}: ${e}`);
148
+ // Log the full error object for debugging
149
+ if (e && typeof e === 'object') {
150
+ logger.error(`Error details for ${studioDb}:`, e);
151
+ }
138
152
  }
139
153
  }
140
154
  } catch (e) {
@@ -147,9 +161,9 @@ export default async function postProcess(courseIDs?: string[]): Promise<void> {
147
161
  }
148
162
 
149
163
  function filterFactory(courseID: string) {
150
- const courseDatabase = getCouchDB().use<DocForProcessing>(
151
- `coursedb-${courseID}`
152
- );
164
+ const databaseName = `coursedb-${courseID}`;
165
+ logger.debug(`filterFactory: Creating filter for database: ${databaseName}`);
166
+ const courseDatabase = getCouchDB().use<DocForProcessing>(databaseName);
153
167
 
154
168
  return async function filterChanges(
155
169
  changeItem: nano.DatabaseChangesResultItem
@@ -276,8 +290,22 @@ interface ProcessingField {
276
290
  */
277
291
  async function hasCourseConfig(databaseName: string): Promise<boolean> {
278
292
  try {
293
+ logger.debug(`hasCourseConfig: Accessing database: ${databaseName}`);
279
294
  const db = getCouchDB().use(databaseName);
280
295
 
296
+ // First check if database exists by trying to get info
297
+ try {
298
+ await db.info();
299
+ logger.debug(`hasCourseConfig: Database ${databaseName} exists, checking for course config`);
300
+ } catch (infoError: unknown) {
301
+ if (infoError && typeof infoError === 'object' && 'status' in infoError && infoError.status === 404) {
302
+ logger.debug(`hasCourseConfig: Database ${databaseName} does not exist (404)`);
303
+ return false;
304
+ }
305
+ logger.warn(`hasCourseConfig: Error getting info for database ${databaseName}: ${infoError}`);
306
+ throw infoError;
307
+ }
308
+
281
309
  // Try to find a course configuration document
282
310
  // Course databases should have documents with course metadata
283
311
  const result = await db.find({
@@ -292,15 +320,21 @@ async function hasCourseConfig(databaseName: string): Promise<boolean> {
292
320
  limit: 1,
293
321
  });
294
322
 
295
- return result.docs && result.docs.length > 0;
323
+ const hasConfig = result.docs && result.docs.length > 0;
324
+ logger.debug(`hasCourseConfig: Database ${databaseName} has course config: ${hasConfig}`);
325
+ return hasConfig;
296
326
  } catch (e: unknown) {
297
327
  // Handle specific database not found errors
298
328
  if (e && typeof e === 'object' && 'error' in e && e.error === 'not_found') {
299
- logger.debug(`Database ${databaseName} does not exist`);
329
+ logger.debug(`hasCourseConfig: Database ${databaseName} does not exist (not_found error)`);
300
330
  return false;
301
331
  }
302
332
 
303
- logger.debug(`Error checking course config for ${databaseName}: ${e}`);
333
+ logger.error(`hasCourseConfig: Error checking course config for ${databaseName}: ${e}`);
334
+ // Log full error details for debugging
335
+ if (e && typeof e === 'object') {
336
+ logger.error(`hasCourseConfig: Full error details for ${databaseName}:`, e);
337
+ }
304
338
  return false;
305
339
  }
306
340
  }
@@ -1,15 +1,16 @@
1
1
  import Nano from 'nano';
2
2
  import type { EnvironmentConfig } from '../types.js';
3
+ import logger from '../logger.js';
3
4
 
4
5
  let CouchDB: Nano.ServerScope;
5
6
  let couchURLWithProtocol: string;
6
7
 
7
8
  export function initializeCouchDB(config: EnvironmentConfig): void {
8
- const {
9
+ const {
9
10
  COUCHDB_SERVER: url,
10
11
  COUCHDB_PROTOCOL: protocol,
11
12
  COUCHDB_ADMIN: username,
12
- COUCHDB_PASSWORD: password
13
+ COUCHDB_PASSWORD: password,
13
14
  } = config;
14
15
 
15
16
  if (!url || !protocol || !username || !password) {
@@ -23,19 +24,26 @@ export function initializeCouchDB(config: EnvironmentConfig): void {
23
24
 
24
25
  export function getCouchDB(): Nano.ServerScope {
25
26
  if (!CouchDB) {
26
- throw new Error('CouchDB has not been initialized. Call initializeCouchDB first.');
27
+ throw new Error(
28
+ 'CouchDB has not been initialized. Call initializeCouchDB first.'
29
+ );
27
30
  }
28
31
  return CouchDB;
29
32
  }
30
33
 
31
34
  export function getCouchURLWithProtocol(): string {
32
- if (!couchURLWithProtocol) {
33
- throw new Error('CouchDB has not been initialized. Call initializeCouchDB first.');
34
- }
35
- return couchURLWithProtocol;
35
+ if (!couchURLWithProtocol) {
36
+ throw new Error(
37
+ 'CouchDB has not been initialized. Call initializeCouchDB first.'
38
+ );
39
+ }
40
+ return couchURLWithProtocol;
36
41
  }
37
42
 
38
- export async function useOrCreateCourseDB(courseID: string): Promise<Nano.DocumentScope<unknown>> {
43
+ export async function useOrCreateCourseDB(
44
+ courseID: string
45
+ ): Promise<Nano.DocumentScope<unknown>> {
46
+ logger.debug(`Using or creating course DB for course ID: ${courseID}`);
39
47
  return useOrCreateDB(`coursedb-${courseID}`);
40
48
  }
41
49
 
@@ -43,20 +51,23 @@ interface NanoError extends Error {
43
51
  statusCode?: number;
44
52
  }
45
53
 
46
- export async function useOrCreateDB<T>(dbName: string): Promise<Nano.DocumentScope<T>> {
54
+ export async function useOrCreateDB<T>(
55
+ dbName: string
56
+ ): Promise<Nano.DocumentScope<T>> {
47
57
  const db = getCouchDB().use<T>(dbName);
48
58
 
49
59
  try {
50
60
  await db.info();
51
61
  return db;
52
- } catch {
62
+ } catch (error: unknown) {
63
+ logger.debug(`Lookup failed for Database ${dbName}: `, error);
53
64
  try {
54
65
  await getCouchDB().db.create(dbName);
55
66
  return db;
56
- } catch (error: unknown) {
57
- const createErr = error as NanoError;
58
- // If error is "database already exists", return existing db
59
- if (createErr.statusCode === 412) {
67
+ } catch (error: unknown) {
68
+ const createErr = error as NanoError;
69
+ // If error is "database already exists", return existing db
70
+ if (createErr.statusCode === 412) {
60
71
  return db;
61
72
  }
62
73
  throw createErr;
@@ -79,4 +90,4 @@ export interface SecurityObject extends Nano.MaybeDocument {
79
90
  names: string[];
80
91
  roles: string[];
81
92
  };
82
- }
93
+ }