UNPKG

@treecg/ldes-orchestrator

Version:

Fills the gaps that a Linked Data Platform (LDP) cannot do by itself for creating a Linked Data Event Stream (LDES) in LDP.

41 lines (40 loc) 1.57 kB
"use strict"; /*************************************** * Title: Acl * Description: Util function to create Acl files * Author: Wout Slabbinck (wout.slabbinck@ugent.be) * Created on 30/11/2021 *****************************************/ Object.defineProperty(exports, "__esModule", { value: true }); exports.AccessMode = exports.AccessSubject = exports.createAclContent = void 0; var Vocabularies_1 = require("./Vocabularies"); function createAclContent(id, modes, agent) { var uriModes = []; modes.forEach(function (mode) { return uriModes.push({ "@id": mode }); }); var aclBody = { "@context": { '@vocab': Vocabularies_1.ACL.namespace }, "@id": id, "@type": [Vocabularies_1.ACL.Authorization], accessTo: { '@id': './' }, default: { '@id': './' }, mode: uriModes }; if (!agent) { aclBody['agentClass'] = { "@id": Vocabularies_1.FOAF.Agent }; } else { aclBody['agent'] = { "@id": agent }; } return aclBody; } exports.createAclContent = createAclContent; var AccessSubject; (function (AccessSubject) { AccessSubject[AccessSubject["Agent"] = 0] = "Agent"; AccessSubject[AccessSubject["Public"] = 1] = "Public"; // everyone can interact with the accompanying resource later })(AccessSubject = exports.AccessSubject || (exports.AccessSubject = {})); var AccessMode; (function (AccessMode) { AccessMode[AccessMode["Read"] = 0] = "Read"; AccessMode[AccessMode["ReadAppend"] = 1] = "ReadAppend"; })(AccessMode = exports.AccessMode || (exports.AccessMode = {}));