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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x | import {model} from '@feasibleone/blong';
/**
* Subscription management model (browser).
*
* Links an application to a bundle; `status` drives authorization + metering
* (active subscriptions grant the bundle's actions and are metered).
*/
export default model(
() =>
async function gatewaySubscriptionModel() {
return {
subject: 'gateway',
object: 'subscription',
objectTitle: 'Subscription',
public: true,
schema: {
properties: {
subscription: {
properties: {
applicationId: {
title: 'Application',
widget: {dropdown: 'gateway.application'},
},
bundleId: {
title: 'Bundle',
widget: {dropdown: 'gateway.bundle'},
},
status: {
widget: {
options: [
{value: 'active', label: 'Active'},
{value: 'suspended', label: 'Suspended'},
{value: 'cancelled', label: 'Cancelled'},
],
},
},
startsAt: {title: 'Starts'},
endsAt: {title: 'Ends'},
createdAt: {title: 'Created'},
},
widget: {
columns: ['status', 'startsAt', 'endsAt'],
},
},
},
},
cards: {
browse: {
label: 'Subscriptions',
widgets: ['subscription'],
},
edit: {
label: 'Subscription Details',
widgets: [
'subscription.applicationId',
'subscription.bundleId',
'subscription.status',
'subscription.startsAt',
'subscription.endsAt',
],
},
detail: {
label: '',
readOnly: true,
watch: '$.selected.subscription',
widgets: [
'$.edit.subscription.status',
'$.edit.subscription.startsAt',
'$.edit.subscription.endsAt',
],
},
},
};
},
);
|