@mifistix-cloud/app
v2.0.5
Published
Core App SDK for Mifistix Cloud - Application initialization and configuration
Readme
@mifistix-cloud/app
Core App SDK for Mifistix Cloud - Application initialization and configuration.
License
This module is licensed for internal use within Mifistix only. See LICENSE for details.
Installation
npm install @mifistix-cloud/appQuick Start
const { initializeApp, getDatabase, ref, set, get } = require('@mifistix-cloud/app');
// Initialize your app
const app = initializeApp({
apiKey: 'your-api-key',
projectId: 'your-project-id',
projectDomain: 'your-project.mifistix.cloud',
storageBucket: 'your-project.mifistix.storage',
messagingId: 'your-messaging-id',
appId: 'mfstx-app-xxx',
region: 'eu-central-1',
gatewayUrl: 'https://api-cloud.s-mifistix.pp.ua'
});
// Get database instance
const db = getDatabase(app);
// Write data
await set(ref(db, 'users/user1'), {
name: 'John Doe',
email: '[email protected]'
});
// Read data
const snapshot = await get(ref(db, 'users/user1'));
console.log(snapshot.val());API Reference
initializeApp(config, serverUrl?)
Initialize the Mifistix Cloud app.
Parameters:
config(Object, required): App configurationapiKey(string, required): API keyprojectId(string, required): Project IDprojectDomain(string, optional): Project domainstorageBucket(string, optional): Storage bucket namemessagingId(string, optional): Messaging IDappId(string, optional): App IDregion(string, optional): Region (default: 'ua-central-1')gatewayUrl(string, optional): Gateway URL
serverUrl(string, optional): Custom server URL
Returns: App instance with name, options, _serverUrl
Example:
const app = initializeApp({
apiKey: 'mfstx-xxx',
projectId: 'project-123'
});getApp()
Get the current initialized app instance.
Returns: Current app instance
Example:
const app = getApp();getDatabase(app?)
Get database instance.
Parameters:
app(Object, optional): App instance (uses current if not provided)
Returns: Database service instance
ref(db, path?)
Create a database reference.
Parameters:
db(Object): Database instancepath(string, optional): Database path
Returns: Database reference
set(dbRef, data)
Write data to database.
Parameters:
dbRef(Object): Database referencedata(any): Data to write
Example:
await set(ref(db, 'users/user1'), { name: 'John' });push(dbRef, data)
Push data with auto-generated ID.
Parameters:
dbRef(Object): Database referencedata(any): Data to push
Returns: Object with key and path
Example:
const result = await push(ref(db, 'users'), { name: 'John' });
console.log('New key:', result.key);get(dbRef)
Read data from database.
Parameters:
dbRef(Object): Database reference
Returns: Snapshot with exists() and val() methods
Example:
const snapshot = await get(ref(db, 'users/user1'));
if (snapshot.exists()) {
console.log(snapshot.val());
}verifyConnection(app?)
Verify connection to server.
Parameters:
app(Object, optional): App instance
Returns: Promise - Connection status
Firestore Aliases
For Firebase compatibility, the following aliases are provided:
getFirestore→getDatabasecollection→refdoc→refwith path joiningsetDoc→setaddDoc→push
Security Features
- API Key Validation: Validates API key format
- Project ID Validation: Ensures valid project ID
- URL Normalization: Properly handles trailing slashes in URLs
- Error Handling: Throws
ValidationErrorfor invalid configuration
Architecture
app/
├── src/
│ ├── core/
│ │ └── AppClient.js # Main app client
│ ├── services/
│ │ └── DatabaseService.js # Legacy database operations
│ ├── utils/
│ │ └── helpers.js # Helper functions
│ ├── types/
│ │ └── index.js # Type definitions
│ └── config/
│ └── constants.js # Configuration constants
└── index.jsLicense
MIT
