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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 1x | import {model} from '@feasibleone/blong';
/**
* accessPolicyModel — browse-only view of the credential policies.
*
* `policyName` is the display name (lives in `core_resource.resourceName`) and
* is provided by the custom `access.policy.find` handler. No Create/Edit/Delete
* toolbar — the entity is not editable from the UI.
*/
export default model(
() =>
async function accessPolicyModel() {
return {
subject: 'access',
object: 'policy',
objectTitle: 'Policy',
public: true,
nameField: 'policy.policyName',
schema: {
properties: {
policy: {
properties: {
policyName: {
title: 'Name',
filter: true,
sort: true,
},
credentialType: {
title: 'Type',
filter: true,
},
minLength: {title: 'Min Length'},
maxAgeDays: {title: 'Max Age (days)'},
maxAttempts: {title: 'Max Attempts'},
isActive: {title: 'Active', type: 'boolean'},
// server schema defined:
// policyId: {},
},
widget: {
columns: [
'policyName',
'credentialType',
'minLength',
'maxAgeDays',
'isActive',
],
},
},
},
},
cards: {
browse: {
label: 'Policies',
widgets: ['policy'],
},
},
browser: {
title: 'Credential Policies',
icon: 'pi pi-shield',
toolbar: [],
},
};
},
);
|