@mifistix-cloud/admin
v2.0.10
Published
Admin SDK for Mifistix Cloud - Server-side operations for user management and project administration
Downloads
736
Readme
@mifistix-cloud/admin
Admin SDK for Mifistix Cloud - Server-side operations for user management and project administration.
License
This module is licensed for internal use within Mifistix only. See LICENSE for details.
Installation
npm install @mifistix-cloud/adminQuick Start
const admin = require('@mifistix-cloud/admin');
// Initialize with admin credentials
const adminApp = admin.initializeApp({
credential: {
apiKey: 'your-api-key',
projectId: 'your-project-id'
},
serverUrl: 'https://api-cloud.s-mifistix.pp.ua' // optional
});
// Create a new user
const auth = admin.auth(adminApp);
const user = await auth.createUser({
email: '[email protected]',
password: 'securePassword123',
displayName: 'John Doe'
});
console.log('Created user:', user);API Reference
initializeApp(config)
Initialize the admin SDK with credentials.
Parameters:
config.credential(Object, required): Admin credentialsapiKey(string): API keyprojectId(string): Project ID
config.serverUrl(string, optional): Custom server URLconfig.gatewayUrl(string, optional): Custom gateway URL
Returns: Object with options property
Example:
const app = admin.initializeApp({
credential: {
apiKey: 'mfstx-xxx',
projectId: 'project-123'
}
});auth(app)
Get authentication service for user management.
Parameters:
app(Object): Admin app instance
Returns: Auth service with createUser method
auth(app).createUser(userData)
Create a new user.
Parameters:
userData.email(string): User emailuserData.login(string): User login (alternative to email)userData.password(string): User password (min 6 characters)userData.displayName(string, optional): Display nameuserData.name(string, optional): User name
Returns: Promise with user object containing uid, email, displayName
Example:
const auth = admin.auth(adminApp);
const user = await auth.createUser({
email: '[email protected]',
password: 'password123',
displayName: 'John Doe'
});
// { uid: 'user-123', email: '[email protected]', displayName: 'John Doe' }credential.cert(config)
Helper for credential configuration.
Security Features
- API Key Validation: Validates API key format before use
- Project ID Validation: Ensures valid project ID
- Email Validation: Validates email format
- Password Validation: Enforces minimum password length (6 characters)
- Error Handling: Throws
ValidationErrorfor invalid inputs
Error Handling
try {
const user = await auth.createUser(userData);
} catch (error) {
if (error.name === 'ValidationError') {
console.error('Validation error:', error.message);
} else {
console.error('API error:', error.message);
}
}Architecture
admin/
├── src/
│ ├── core/
│ │ └── AdminClient.js # Main admin client
│ ├── services/
│ │ └── AuthService.js # User management service
│ ├── utils/
│ │ └── helpers.js # Helper functions
│ ├── types/
│ │ └── index.js # Type definitions
│ └── config/
│ └── constants.js # Configuration constants
└── index.jsLicense
MIT
