All files / realm/blong-gateway index.ts

100% Statements 47/47
100% Branches 6/6
100% Functions 5/5
100% Lines 47/47

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 481x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import {server} from '@feasibleone/blong';
 
export default server(() => ({
    url: import.meta.url,
    children: [
        /** Built-in blong-server realm: RPC, auth, portal, auth orchestrators */
        async function srv() {
            return import('@feasibleone/blong-server/server.ts');
        },
        async function login() {
            return import('@feasibleone/blong-login/server.ts');
        },
        /** Core utility realm: shared resource/type/triple/path schema objects */
        async function core() {
            return import('@feasibleone/blong-core/server.ts');
        },
        /** RBAC access control realm — credentials + roles/capabilities/actions */
        async function access() {
            return import('@feasibleone/blong-access/server.ts');
        },
        /** API Gateway realm — applications, bundles, subscriptions, metering */
        async function gateway() {
            return import('./server.ts');
        },
    ],
    config: {
        default: {
            gateway: {authorize: 'access.authorization.list'},
            apiGateway: {
                enabled: true,
                meterHandler: 'gateway.meter.check',
            },
        },
        dev: {
            srv: {},
            core: {},
            login: {},
            access: {},
            gateway: {},
        },
        integration: {
            watch: {
                test: ['test.meter.flow'],
            },
        },
    },
}));