Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / permissions_by_term / js / src / async-function / create-permission.js
diff --git a/web/modules/contrib/permissions_by_term/js/src/async-function/create-permission.js b/web/modules/contrib/permissions_by_term/js/src/async-function/create-permission.js
new file mode 100644 (file)
index 0000000..ec8b4a6
--- /dev/null
@@ -0,0 +1,27 @@
+import _ from 'lodash';
+import Backend from '../model/backend.prototype';
+
+/**
+ * @returns Access
+ */
+const createPermission = async (fetchFromBackend) => {
+  let data = await fetchFromBackend(),
+      fieldCssClasses = [];
+
+  if (!_.isEmpty(data.taxonomyRelationFieldNames)) {
+    data.taxonomyRelationFieldNames.forEach((fieldName) => {
+      const fieldWrapperClass = '.field--name-' + fieldName.replace(/_/g, '-');
+
+      fieldCssClasses.push(fieldWrapperClass);
+    });
+  }
+
+  return new Backend(
+      data.taxonomyRelationFieldNames,
+      data.permissions.userDisplayNames,
+      data.permissions.roleLabels,
+      fieldCssClasses
+  );
+}
+
+export default createPermission;
\ No newline at end of file