
Umbrella package for the Unchained Engine. Provides complete platform setup including database initialization, API server, migrations, templates, and runtime configuration.
npm install @unchainedshop/platform
import { startPlatform } from '@unchainedshop/platform';
import express from 'express';
const app = express();
const { unchainedAPI, graphqlHandler } = await startPlatform({
express: app,
options: {
// Platform options
},
});
// Platform is ready
app.listen(4010);
| Export |
Description |
startPlatform |
Initialize complete Unchained platform |
runMigrations |
Run database migrations |
printRuntimeConfiguration |
Log registered templates, events, and adapters |
| Export |
Description |
setAccessToken |
Set access token for user session |
getAccessToken |
Get current access token |
invalidateAccessToken |
Invalidate/logout access token |
| Export |
Description |
MessageTypes |
Available message/notification types |
setupTemplates |
Register message templates |
| Type |
Description |
ACCOUNT_ACTION |
Account verification, password reset |
DELIVERY |
Delivery notifications |
ORDER_CONFIRMATION |
Order confirmation emails |
ORDER_REJECTION |
Order rejection notifications |
QUOTATION_STATUS |
Quotation status updates |
ENROLLMENT_STATUS |
Subscription status updates |
FORWARD_DELIVERY |
Forward delivery notifications |
import express from 'express';
import { startPlatform, MessageTypes } from '@unchainedshop/platform';
const app = express();
const { unchainedAPI, graphqlHandler } = await startPlatform({
express: app,
options: {
modules: {
// Module-specific configuration
},
plugins: [
// Plugin imports
],
},
workQueueConfig: {
// Worker queue configuration
},
});
// Access unchained API
const products = await unchainedAPI.modules.products.findProducts({});
// Start server
app.use('/graphql', graphqlHandler);
app.listen(4010);
const platform = await startPlatform({
express: app,
options: {
modules: {
orders: {
// Order module options
},
products: {
// Product module options
},
},
services: {
// Custom services
},
bulkImporter: {
handlers: {
// Custom import handlers
},
},
},
workQueueConfig: {
batchSize: 10,
pollInterval: 1000,
},
context: (defaultResolver) => async (props, req, res) => {
const context = await defaultResolver(props, req, res);
return {
...context,
// Custom context properties
};
},
});
The startPlatform function returns:
| Property |
Description |
unchainedAPI |
Complete Unchained core API instance |
graphqlHandler |
GraphQL Yoga server instance for Express/Fastify |
db |
MongoDB database instance |
EUPL-1.2