@defra/forms-model 3.0.528 → 3.0.530

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,17 +41,18 @@ export let FormDefinitionRequestType = /*#__PURE__*/function (FormDefinitionRequ
41
41
  FormDefinitionRequestType["CREATE_COMPONENT"] = "CREATE_COMPONENT";
42
42
  FormDefinitionRequestType["UPDATE_COMPONENT"] = "UPDATE_COMPONENT";
43
43
  FormDefinitionRequestType["DELETE_COMPONENT"] = "DELETE_COMPONENT";
44
- FormDefinitionRequestType["ADD_CONDITION"] = "ADD_CONDITION";
44
+ FormDefinitionRequestType["CREATE_CONDITION"] = "CREATE_CONDITION";
45
45
  FormDefinitionRequestType["UPDATE_CONDITION"] = "UPDATE_CONDITION";
46
- FormDefinitionRequestType["REMOVE_CONDITION"] = "REMOVE_CONDITION";
46
+ FormDefinitionRequestType["DELETE_CONDITION"] = "DELETE_CONDITION";
47
47
  FormDefinitionRequestType["REORDER_PAGES"] = "REORDER_PAGES";
48
48
  FormDefinitionRequestType["REORDER_COMPONENTS"] = "REORDER_COMPONENTS";
49
- FormDefinitionRequestType["ADD_LIST"] = "ADD_LIST";
49
+ FormDefinitionRequestType["CREATE_LIST"] = "CREATE_LIST";
50
50
  FormDefinitionRequestType["UPDATE_LIST"] = "UPDATE_LIST";
51
- FormDefinitionRequestType["REMOVE_LIST"] = "REMOVE_LIST";
51
+ FormDefinitionRequestType["DELETE_LIST"] = "DELETE_LIST";
52
52
  FormDefinitionRequestType["CREATE_PAGE"] = "CREATE_PAGE";
53
53
  FormDefinitionRequestType["UPDATE_PAGE_FIELDS"] = "UPDATE_PAGE_FIELDS";
54
54
  FormDefinitionRequestType["DELETE_PAGE"] = "DELETE_PAGE";
55
+ FormDefinitionRequestType["REPOSITION_SUMMARY"] = "REPOSITION_SUMMARY";
55
56
  return FormDefinitionRequestType;
56
57
  }({});
57
58
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["AuditEventMessageSchemaVersion","AuditEventMessageCategory","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType"],"sources":["../../../../src/form/form-audit/enums.ts"],"sourcesContent":["export enum AuditEventMessageSchemaVersion {\n V1 = 1\n}\n\nexport enum AuditEventMessageCategory {\n FORM = 'FORM',\n ENTITLEMENT = 'ENTITLEMENT'\n}\n\nexport enum AuditEventMessageSource {\n FORMS_MANAGER = 'FORMS_MANAGER',\n FORMS_DESIGNER = 'FORMS_DESIGNER',\n ENTITLEMENT = 'ENTITLEMENT'\n}\n\nexport enum AuditEventMessageType {\n FORM_CREATED = 'FORM_CREATED',\n FORM_PUBLISHED = 'FORM_PUBLISHED',\n FORM_TITLE_UPDATED = 'FORM_TITLE_UPDATED',\n FORM_ORGANISATION_UPDATED = 'FORM_ORGANISATION_UPDATED',\n FORM_TEAM_NAME_UPDATED = 'FORM_TEAM_NAME_UPDATED',\n FORM_TEAM_EMAIL_UPDATED = 'FORM_TEAM_EMAIL_UPDATED',\n FORM_SUPPORT_CONTACT_UPDATED = 'FORM_SUPPORT_CONTACT_UPDATED',\n FORM_SUPPORT_PHONE_UPDATED = 'FORM_SUPPORT_PHONE_UPDATED',\n FORM_SUPPORT_EMAIL_UPDATED = 'FORM_SUPPORT_EMAIL_UPDATED',\n FORM_SUPPORT_ONLINE_UPDATED = 'FORM_SUPPORT_ONLINE_UPDATED',\n FORM_PRIVACY_NOTICE_UPDATED = 'FORM_PRIVACY_NOTICE_UPDATED',\n FORM_NOTIFICATION_EMAIL_UPDATED = 'FORM_NOTIFICATION_EMAIL_UPDATED',\n FORM_SUBMISSION_GUIDANCE_UPDATED = 'FORM_SUBMISSION_GUIDANCE_UPDATED',\n FORM_JSON_UPLOADED = 'FORM_JSON_UPLOADED',\n FORM_JSON_DOWNLOADED = 'FORM_JSON_DOWNLOADED',\n FORM_DRAFT_CREATED_FROM_LIVE = 'FORM_DRAFT_CREATED_FROM_LIVE',\n FORM_LIVE_CREATED_FROM_DRAFT = 'FORM_LIVE_CREATED_FROM_DRAFT',\n FORM_DRAFT_DELETED = 'FORM_DRAFT_DELETED',\n FORM_MIGRATED = 'FORM_MIGRATED',\n FORM_UPDATED = 'FORM_UPDATED'\n}\n\nexport enum FormDefinitionRequestType {\n REPLACE_DRAFT = 'REPLACE_DRAFT',\n CREATE_COMPONENT = 'CREATE_COMPONENT',\n UPDATE_COMPONENT = 'UPDATE_COMPONENT',\n DELETE_COMPONENT = 'DELETE_COMPONENT',\n ADD_CONDITION = 'ADD_CONDITION',\n UPDATE_CONDITION = 'UPDATE_CONDITION',\n REMOVE_CONDITION = 'REMOVE_CONDITION',\n REORDER_PAGES = 'REORDER_PAGES',\n REORDER_COMPONENTS = 'REORDER_COMPONENTS',\n ADD_LIST = 'ADD_LIST',\n UPDATE_LIST = 'UPDATE_LIST',\n REMOVE_LIST = 'REMOVE_LIST',\n CREATE_PAGE = 'CREATE_PAGE',\n UPDATE_PAGE_FIELDS = 'UPDATE_PAGE_FIELDS',\n DELETE_PAGE = 'DELETE_PAGE'\n}\n"],"mappings":"AAAA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAI1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAKrC,WAAYC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAMnC,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAuBjC,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"enums.js","names":["AuditEventMessageSchemaVersion","AuditEventMessageCategory","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType"],"sources":["../../../../src/form/form-audit/enums.ts"],"sourcesContent":["export enum AuditEventMessageSchemaVersion {\n V1 = 1\n}\n\nexport enum AuditEventMessageCategory {\n FORM = 'FORM',\n ENTITLEMENT = 'ENTITLEMENT'\n}\n\nexport enum AuditEventMessageSource {\n FORMS_MANAGER = 'FORMS_MANAGER',\n FORMS_DESIGNER = 'FORMS_DESIGNER',\n ENTITLEMENT = 'ENTITLEMENT'\n}\n\nexport enum AuditEventMessageType {\n FORM_CREATED = 'FORM_CREATED',\n FORM_PUBLISHED = 'FORM_PUBLISHED',\n FORM_TITLE_UPDATED = 'FORM_TITLE_UPDATED',\n FORM_ORGANISATION_UPDATED = 'FORM_ORGANISATION_UPDATED',\n FORM_TEAM_NAME_UPDATED = 'FORM_TEAM_NAME_UPDATED',\n FORM_TEAM_EMAIL_UPDATED = 'FORM_TEAM_EMAIL_UPDATED',\n FORM_SUPPORT_CONTACT_UPDATED = 'FORM_SUPPORT_CONTACT_UPDATED',\n FORM_SUPPORT_PHONE_UPDATED = 'FORM_SUPPORT_PHONE_UPDATED',\n FORM_SUPPORT_EMAIL_UPDATED = 'FORM_SUPPORT_EMAIL_UPDATED',\n FORM_SUPPORT_ONLINE_UPDATED = 'FORM_SUPPORT_ONLINE_UPDATED',\n FORM_PRIVACY_NOTICE_UPDATED = 'FORM_PRIVACY_NOTICE_UPDATED',\n FORM_NOTIFICATION_EMAIL_UPDATED = 'FORM_NOTIFICATION_EMAIL_UPDATED',\n FORM_SUBMISSION_GUIDANCE_UPDATED = 'FORM_SUBMISSION_GUIDANCE_UPDATED',\n FORM_JSON_UPLOADED = 'FORM_JSON_UPLOADED',\n FORM_JSON_DOWNLOADED = 'FORM_JSON_DOWNLOADED',\n FORM_DRAFT_CREATED_FROM_LIVE = 'FORM_DRAFT_CREATED_FROM_LIVE',\n FORM_LIVE_CREATED_FROM_DRAFT = 'FORM_LIVE_CREATED_FROM_DRAFT',\n FORM_DRAFT_DELETED = 'FORM_DRAFT_DELETED',\n FORM_MIGRATED = 'FORM_MIGRATED',\n FORM_UPDATED = 'FORM_UPDATED'\n}\n\nexport enum FormDefinitionRequestType {\n REPLACE_DRAFT = 'REPLACE_DRAFT',\n CREATE_COMPONENT = 'CREATE_COMPONENT',\n UPDATE_COMPONENT = 'UPDATE_COMPONENT',\n DELETE_COMPONENT = 'DELETE_COMPONENT',\n CREATE_CONDITION = 'CREATE_CONDITION',\n UPDATE_CONDITION = 'UPDATE_CONDITION',\n DELETE_CONDITION = 'DELETE_CONDITION',\n REORDER_PAGES = 'REORDER_PAGES',\n REORDER_COMPONENTS = 'REORDER_COMPONENTS',\n CREATE_LIST = 'CREATE_LIST',\n UPDATE_LIST = 'UPDATE_LIST',\n DELETE_LIST = 'DELETE_LIST',\n CREATE_PAGE = 'CREATE_PAGE',\n UPDATE_PAGE_FIELDS = 'UPDATE_PAGE_FIELDS',\n DELETE_PAGE = 'DELETE_PAGE',\n REPOSITION_SUMMARY = 'REPOSITION_SUMMARY'\n}\n"],"mappings":"AAAA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAI1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAKrC,WAAYC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAMnC,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAuBjC,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA","ignoreList":[]}
@@ -15,6 +15,7 @@ export * from "./form/form-editor/index.js";
15
15
  export * from "./form/form-editor/preview/index.js";
16
16
  export * from "./form/form-manager/types.js";
17
17
  export * from "./form/form-manager/errors.js";
18
+ export * from "./manage/roles.js";
18
19
  export * from "./manage/users.js";
19
20
  export * from "./pages/index.js";
20
21
  export * from "./utils/helpers.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from '~/src/common/enums.js'\nexport * from '~/src/common/random-id.js'\nexport * from '~/src/common/schema.js'\nexport * from '~/src/common/pagination/index.js'\nexport * from '~/src/common/search/index.js'\nexport * from '~/src/common/sorting/index.js'\nexport * from '~/src/components/index.js'\nexport * from '~/src/conditions/index.js'\nexport * from '~/src/form/form-definition/index.js'\nexport * from '~/src/form/form-definition/types.js'\nexport * from '~/src/form/form-metadata/index.js'\nexport * from '~/src/form/form-submission/index.js'\nexport * from '~/src/form/utils/index.js'\nexport * from '~/src/form/form-editor/index.js'\nexport * from '~/src/form/form-editor/preview/index.js'\nexport * from '~/src/form/form-manager/types.js'\nexport * from '~/src/form/form-manager/errors.js'\nexport * from '~/src/manage/users.js'\nexport * from '~/src/pages/index.js'\nexport * from '~/src/utils/helpers.js'\nexport * from '~/src/utils/markdown.js'\nexport * from '~/src/form/form-audit/index.js'\nexport * from '~/src/form/form-audit/enums.js'\n\nexport type * from '~/src/common/types.js'\nexport type * from '~/src/common/pagination/types.js'\nexport type * from '~/src/common/search/types.js'\nexport type * from '~/src/common/sorting/types.js'\nexport type * from '~/src/components/types.js'\nexport type * from '~/src/conditions/types.js'\nexport type * from '~/src/form/form-definition/types.js'\nexport type * from '~/src/form/form-metadata/types.js'\nexport type * from '~/src/form/form-submission/types.js'\nexport type * from '~/src/form/form-editor/preview/types.js'\nexport type * from '~/src/form/form-editor/types.js'\nexport type * from '~/src/form/form-editor/macros/types.js'\nexport type * from '~/src/form/form-audit/types.js'\nexport type * from '~/src/manage/types.js'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from '~/src/common/enums.js'\nexport * from '~/src/common/random-id.js'\nexport * from '~/src/common/schema.js'\nexport * from '~/src/common/pagination/index.js'\nexport * from '~/src/common/search/index.js'\nexport * from '~/src/common/sorting/index.js'\nexport * from '~/src/components/index.js'\nexport * from '~/src/conditions/index.js'\nexport * from '~/src/form/form-definition/index.js'\nexport * from '~/src/form/form-definition/types.js'\nexport * from '~/src/form/form-metadata/index.js'\nexport * from '~/src/form/form-submission/index.js'\nexport * from '~/src/form/utils/index.js'\nexport * from '~/src/form/form-editor/index.js'\nexport * from '~/src/form/form-editor/preview/index.js'\nexport * from '~/src/form/form-manager/types.js'\nexport * from '~/src/form/form-manager/errors.js'\nexport * from '~/src/manage/roles.js'\nexport * from '~/src/manage/users.js'\nexport * from '~/src/pages/index.js'\nexport * from '~/src/utils/helpers.js'\nexport * from '~/src/utils/markdown.js'\nexport * from '~/src/form/form-audit/index.js'\nexport * from '~/src/form/form-audit/enums.js'\n\nexport type * from '~/src/common/types.js'\nexport type * from '~/src/common/pagination/types.js'\nexport type * from '~/src/common/search/types.js'\nexport type * from '~/src/common/sorting/types.js'\nexport type * from '~/src/components/types.js'\nexport type * from '~/src/conditions/types.js'\nexport type * from '~/src/form/form-definition/types.js'\nexport type * from '~/src/form/form-metadata/types.js'\nexport type * from '~/src/form/form-submission/types.js'\nexport type * from '~/src/form/form-editor/preview/types.js'\nexport type * from '~/src/form/form-editor/types.js'\nexport type * from '~/src/form/form-editor/macros/types.js'\nexport type * from '~/src/form/form-audit/types.js'\nexport type * from '~/src/manage/types.js'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ export let Roles = /*#__PURE__*/function (Roles) {
2
+ Roles["Admin"] = "admin";
3
+ Roles["FormCreator"] = "form-creator";
4
+ return Roles;
5
+ }({});
6
+ export let Scopes = /*#__PURE__*/function (Scopes) {
7
+ Scopes["FormDelete"] = "form-delete";
8
+ Scopes["FormEdit"] = "form-edit";
9
+ Scopes["FormRead"] = "form-read";
10
+ Scopes["FormPublish"] = "form-publish";
11
+ Scopes["UserCreate"] = "user-create";
12
+ Scopes["UserDelete"] = "user-delete";
13
+ Scopes["UserEdit"] = "user-edit";
14
+ return Scopes;
15
+ }({});
16
+ export const RoleScopes = {
17
+ [Roles.Admin]: Object.entries(Scopes).map(x => x[1]),
18
+ [Roles.FormCreator]: [Scopes.FormRead, Scopes.FormEdit]
19
+ };
20
+
21
+ /**
22
+ * Return a unique list of scopes based on the array of roles passed in
23
+ */
24
+ export function mapScopesToRoles(roles) {
25
+ const scopeSet = new Set();
26
+ roles.forEach(role => {
27
+ const scopes = RoleScopes[role];
28
+ scopes.forEach(scope => {
29
+ scopeSet.add(scope);
30
+ });
31
+ });
32
+ return Array.from(scopeSet);
33
+ }
34
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","names":["Roles","Scopes","RoleScopes","Admin","Object","entries","map","x","FormCreator","FormRead","FormEdit","mapScopesToRoles","roles","scopeSet","Set","forEach","role","scopes","scope","add","Array","from"],"sources":["../../../src/manage/roles.ts"],"sourcesContent":["export enum Roles {\n Admin = 'admin',\n FormCreator = 'form-creator'\n}\n\nexport enum Scopes {\n FormDelete = 'form-delete',\n FormEdit = 'form-edit',\n FormRead = 'form-read',\n FormPublish = 'form-publish',\n UserCreate = 'user-create',\n UserDelete = 'user-delete',\n UserEdit = 'user-edit'\n}\n\nexport const RoleScopes = {\n [Roles.Admin]: Object.entries(Scopes).map((x) => x[1]),\n [Roles.FormCreator]: [Scopes.FormRead, Scopes.FormEdit]\n}\n\n/**\n * Return a unique list of scopes based on the array of roles passed in\n */\nexport function mapScopesToRoles(roles: Roles[]) {\n const scopeSet = new Set<string>()\n roles.forEach((role) => {\n const scopes = RoleScopes[role]\n scopes.forEach((scope) => {\n scopeSet.add(scope)\n })\n })\n return Array.from(scopeSet)\n}\n"],"mappings":"AAAA,WAAYA,KAAK,0BAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAAA,OAALA,KAAK;AAAA;AAKjB,WAAYC,MAAM,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAUlB,OAAO,MAAMC,UAAU,GAAG;EACxB,CAACF,KAAK,CAACG,KAAK,GAAGC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,CAACK,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC,CAAC;EACtD,CAACP,KAAK,CAACQ,WAAW,GAAG,CAACP,MAAM,CAACQ,QAAQ,EAAER,MAAM,CAACS,QAAQ;AACxD,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAAc,EAAE;EAC/C,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAS,CAAC;EAClCF,KAAK,CAACG,OAAO,CAAEC,IAAI,IAAK;IACtB,MAAMC,MAAM,GAAGf,UAAU,CAACc,IAAI,CAAC;IAC/BC,MAAM,CAACF,OAAO,CAAEG,KAAK,IAAK;MACxBL,QAAQ,CAACM,GAAG,CAACD,KAAK,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOE,KAAK,CAACC,IAAI,CAACR,QAAQ,CAAC;AAC7B","ignoreList":[]}
@@ -37,16 +37,17 @@ export declare enum FormDefinitionRequestType {
37
37
  CREATE_COMPONENT = "CREATE_COMPONENT",
38
38
  UPDATE_COMPONENT = "UPDATE_COMPONENT",
39
39
  DELETE_COMPONENT = "DELETE_COMPONENT",
40
- ADD_CONDITION = "ADD_CONDITION",
40
+ CREATE_CONDITION = "CREATE_CONDITION",
41
41
  UPDATE_CONDITION = "UPDATE_CONDITION",
42
- REMOVE_CONDITION = "REMOVE_CONDITION",
42
+ DELETE_CONDITION = "DELETE_CONDITION",
43
43
  REORDER_PAGES = "REORDER_PAGES",
44
44
  REORDER_COMPONENTS = "REORDER_COMPONENTS",
45
- ADD_LIST = "ADD_LIST",
45
+ CREATE_LIST = "CREATE_LIST",
46
46
  UPDATE_LIST = "UPDATE_LIST",
47
- REMOVE_LIST = "REMOVE_LIST",
47
+ DELETE_LIST = "DELETE_LIST",
48
48
  CREATE_PAGE = "CREATE_PAGE",
49
49
  UPDATE_PAGE_FIELDS = "UPDATE_PAGE_FIELDS",
50
- DELETE_PAGE = "DELETE_PAGE"
50
+ DELETE_PAGE = "DELETE_PAGE",
51
+ REPOSITION_SUMMARY = "REPOSITION_SUMMARY"
51
52
  }
52
53
  //# sourceMappingURL=enums.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,8BAA8B;IACxC,EAAE,IAAI;CACP;AAED,oBAAY,yBAAyB;IACnC,IAAI,SAAS;IACb,WAAW,gBAAgB;CAC5B;AAED,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;CAC5B;AAED,oBAAY,qBAAqB;IAC/B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,yBAAyB,8BAA8B;IACvD,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,4BAA4B,iCAAiC;IAC7D,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,2BAA2B,gCAAgC;IAC3D,+BAA+B,oCAAoC;IACnE,gCAAgC,qCAAqC;IACrE,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAC9B;AAED,oBAAY,yBAAyB;IACnC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;CAC5B"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,8BAA8B;IACxC,EAAE,IAAI;CACP;AAED,oBAAY,yBAAyB;IACnC,IAAI,SAAS;IACb,WAAW,gBAAgB;CAC5B;AAED,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;CAC5B;AAED,oBAAY,qBAAqB;IAC/B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,yBAAyB,8BAA8B;IACvD,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,4BAA4B,iCAAiC;IAC7D,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,2BAA2B,gCAAgC;IAC3D,+BAA+B,oCAAoC;IACnE,gCAAgC,qCAAqC;IACrE,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAC9B;AAED,oBAAY,yBAAyB;IACnC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;CAC1C"}
@@ -15,6 +15,7 @@ export * from './form/form-editor/index.js';
15
15
  export * from './form/form-editor/preview/index.js';
16
16
  export * from './form/form-manager/types.js';
17
17
  export * from './form/form-manager/errors.js';
18
+ export * from './manage/roles.js';
18
19
  export * from './manage/users.js';
19
20
  export * from './pages/index.js';
20
21
  export * from './utils/helpers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kCAAkC,CAAA;AAChD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA;AACnD,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yCAAyC,CAAA;AACvD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAE9C,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,8BAA8B,CAAA;AACjD,mBAAmB,+BAA+B,CAAA;AAClD,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,qCAAqC,CAAA;AACxD,mBAAmB,mCAAmC,CAAA;AACtD,mBAAmB,qCAAqC,CAAA;AACxD,mBAAmB,yCAAyC,CAAA;AAC5D,mBAAmB,iCAAiC,CAAA;AACpD,mBAAmB,wCAAwC,CAAA;AAC3D,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kCAAkC,CAAA;AAChD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA;AACnD,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yCAAyC,CAAA;AACvD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAE9C,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,8BAA8B,CAAA;AACjD,mBAAmB,+BAA+B,CAAA;AAClD,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,qCAAqC,CAAA;AACxD,mBAAmB,mCAAmC,CAAA;AACtD,mBAAmB,qCAAqC,CAAA;AACxD,mBAAmB,yCAAyC,CAAA;AAC5D,mBAAmB,iCAAiC,CAAA;AACpD,mBAAmB,wCAAwC,CAAA;AAC3D,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,uBAAuB,CAAA"}
@@ -0,0 +1,22 @@
1
+ export declare enum Roles {
2
+ Admin = "admin",
3
+ FormCreator = "form-creator"
4
+ }
5
+ export declare enum Scopes {
6
+ FormDelete = "form-delete",
7
+ FormEdit = "form-edit",
8
+ FormRead = "form-read",
9
+ FormPublish = "form-publish",
10
+ UserCreate = "user-create",
11
+ UserDelete = "user-delete",
12
+ UserEdit = "user-edit"
13
+ }
14
+ export declare const RoleScopes: {
15
+ admin: Scopes[];
16
+ "form-creator": Scopes[];
17
+ };
18
+ /**
19
+ * Return a unique list of scopes based on the array of roles passed in
20
+ */
21
+ export declare function mapScopesToRoles(roles: Roles[]): string[];
22
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/manage/roles.ts"],"names":[],"mappings":"AAAA,oBAAY,KAAK;IACf,KAAK,UAAU;IACf,WAAW,iBAAiB;CAC7B;AAED,oBAAY,MAAM;IAChB,UAAU,gBAAgB;IAC1B,QAAQ,cAAc;IACtB,QAAQ,cAAc;IACtB,WAAW,iBAAiB;IAC5B,UAAU,gBAAgB;IAC1B,UAAU,gBAAgB;IAC1B,QAAQ,cAAc;CACvB;AAED,eAAO,MAAM,UAAU;;;CAGtB,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,YAS9C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/forms-model",
3
- "version": "3.0.528",
3
+ "version": "3.0.530",
4
4
  "description": "A hapi plugin providing the model for Defra forms",
5
5
  "homepage": "https://github.com/DEFRA/forms-designer/tree/main/model#readme",
6
6
  "types": "dist/types/index.d.ts",
@@ -41,15 +41,16 @@ export enum FormDefinitionRequestType {
41
41
  CREATE_COMPONENT = 'CREATE_COMPONENT',
42
42
  UPDATE_COMPONENT = 'UPDATE_COMPONENT',
43
43
  DELETE_COMPONENT = 'DELETE_COMPONENT',
44
- ADD_CONDITION = 'ADD_CONDITION',
44
+ CREATE_CONDITION = 'CREATE_CONDITION',
45
45
  UPDATE_CONDITION = 'UPDATE_CONDITION',
46
- REMOVE_CONDITION = 'REMOVE_CONDITION',
46
+ DELETE_CONDITION = 'DELETE_CONDITION',
47
47
  REORDER_PAGES = 'REORDER_PAGES',
48
48
  REORDER_COMPONENTS = 'REORDER_COMPONENTS',
49
- ADD_LIST = 'ADD_LIST',
49
+ CREATE_LIST = 'CREATE_LIST',
50
50
  UPDATE_LIST = 'UPDATE_LIST',
51
- REMOVE_LIST = 'REMOVE_LIST',
51
+ DELETE_LIST = 'DELETE_LIST',
52
52
  CREATE_PAGE = 'CREATE_PAGE',
53
53
  UPDATE_PAGE_FIELDS = 'UPDATE_PAGE_FIELDS',
54
- DELETE_PAGE = 'DELETE_PAGE'
54
+ DELETE_PAGE = 'DELETE_PAGE',
55
+ REPOSITION_SUMMARY = 'REPOSITION_SUMMARY'
55
56
  }
package/src/index.ts CHANGED
@@ -15,6 +15,7 @@ export * from '~/src/form/form-editor/index.js'
15
15
  export * from '~/src/form/form-editor/preview/index.js'
16
16
  export * from '~/src/form/form-manager/types.js'
17
17
  export * from '~/src/form/form-manager/errors.js'
18
+ export * from '~/src/manage/roles.js'
18
19
  export * from '~/src/manage/users.js'
19
20
  export * from '~/src/pages/index.js'
20
21
  export * from '~/src/utils/helpers.js'
@@ -0,0 +1,33 @@
1
+ export enum Roles {
2
+ Admin = 'admin',
3
+ FormCreator = 'form-creator'
4
+ }
5
+
6
+ export enum Scopes {
7
+ FormDelete = 'form-delete',
8
+ FormEdit = 'form-edit',
9
+ FormRead = 'form-read',
10
+ FormPublish = 'form-publish',
11
+ UserCreate = 'user-create',
12
+ UserDelete = 'user-delete',
13
+ UserEdit = 'user-edit'
14
+ }
15
+
16
+ export const RoleScopes = {
17
+ [Roles.Admin]: Object.entries(Scopes).map((x) => x[1]),
18
+ [Roles.FormCreator]: [Scopes.FormRead, Scopes.FormEdit]
19
+ }
20
+
21
+ /**
22
+ * Return a unique list of scopes based on the array of roles passed in
23
+ */
24
+ export function mapScopesToRoles(roles: Roles[]) {
25
+ const scopeSet = new Set<string>()
26
+ roles.forEach((role) => {
27
+ const scopes = RoleScopes[role]
28
+ scopes.forEach((scope) => {
29
+ scopeSet.add(scope)
30
+ })
31
+ })
32
+ return Array.from(scopeSet)
33
+ }