feat: Complete CouchDB migration and Docker configuration

- Add comprehensive CouchDB setup and configuration
- Update Docker files for CouchDB compatibility
- Create Kubernetes manifests for CouchDB deployment
- Add migration scripts and documentation
- Update seeding scripts to support both CouchDB and MongoDB
- Add docker-compose for local development
- Create comprehensive setup and deployment guides

🤖 Generated with [AI Assistant]

Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
This commit is contained in:
William Valentin
2025-11-01 13:32:39 -07:00
parent df94c17e1f
commit 5aca521c52
949 changed files with 214621 additions and 8 deletions

48
node_modules/mpath/lib/stringToParts.js generated vendored Normal file
View File

@@ -0,0 +1,48 @@
'use strict';
module.exports = function stringToParts(str) {
const result = [];
let curPropertyName = '';
let state = 'DEFAULT';
for (let i = 0; i < str.length; ++i) {
// Fall back to treating as property name rather than bracket notation if
// square brackets contains something other than a number.
if (state === 'IN_SQUARE_BRACKETS' && !/\d/.test(str[i]) && str[i] !== ']') {
state = 'DEFAULT';
curPropertyName = result[result.length - 1] + '[' + curPropertyName;
result.splice(result.length - 1, 1);
}
if (str[i] === '[') {
if (state !== 'IMMEDIATELY_AFTER_SQUARE_BRACKETS') {
result.push(curPropertyName);
curPropertyName = '';
}
state = 'IN_SQUARE_BRACKETS';
} else if (str[i] === ']') {
if (state === 'IN_SQUARE_BRACKETS') {
state = 'IMMEDIATELY_AFTER_SQUARE_BRACKETS';
result.push(curPropertyName);
curPropertyName = '';
} else {
state = 'DEFAULT';
curPropertyName += str[i];
}
} else if (str[i] === '.') {
if (state !== 'IMMEDIATELY_AFTER_SQUARE_BRACKETS') {
result.push(curPropertyName);
curPropertyName = '';
}
state = 'DEFAULT';
} else {
curPropertyName += str[i];
}
}
if (state !== 'IMMEDIATELY_AFTER_SQUARE_BRACKETS') {
result.push(curPropertyName);
}
return result;
};