CCNQ4 User Database

raw JSON →
4.1.3 verified Sat Apr 25 auth: no javascript

Per-user database access library for the CCNQ4 platform, version 4.1.3. Provides a framework for creating and managing individual user provisioning and voicemail databases in CouchDB, including security setup and replication from a master provisioning database. Part of a broader CCNQ4 ecosystem, intended for use with zappajs. Release cadence is tied to CCNQ4 updates; no breaking changes documented in recent versions. Differentiators: tightly coupled with CCNQ4's architecture, leverages CouchDB features for user isolation.

error Cannot find module 'charming-circle'
cause Node.js unable to locate the package in node_modules.
fix
Run 'npm install charming-circle' in your project directory.
error The requested module 'charming-circle' is not a CommonJS module
cause Trying to require an ESM-only package.
fix
Use import syntax or set type: 'module' in package.json.
error Zappa app not provided
cause createUserDatabase requires a valid zappajs app instance as first argument.
fix
Pass the app object from 'zappajs' import.
breaking Version 4.x drops CommonJS support; ESM only.
fix Use import syntax instead of require().
deprecated The original user document creation API is deprecated in favor of monitor-based triggers.
fix Upgrade to v4 and use the new monitoring pattern.
gotcha Requires CouchDB admin credentials to create databases.
fix Ensure DB_PASS env var is set with admin password.
npm install charming-circle
yarn add charming-circle
pnpm add charming-circle

Shows how to create a per-user database instance using the createUserDatabase factory with zappajs integration.

import { createUserDatabase } from 'charming-circle';
import app from 'zappajs';

const db = createUserDB(app, { user: 'alice', password: process.env.DB_PASS ?? '' });
// Use db to access per-user provisioning or voicemail