Skip to content
This repository was archived by the owner on May 25, 2021. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13,323 changes: 7,887 additions & 5,436 deletions package-lock.json

Large diffs are not rendered by default.

70 changes: 35 additions & 35 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,55 +56,55 @@
],
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.1.2",
"@inrupt/lit-generated-vocab-common": "^0.3.9",
"@inrupt/lit-generated-vocab-inrupt-common": "^0.3.9",
"@inrupt/lit-generated-vocab-solid-common": "^0.3.9",
"@inrupt/solid-sdk-forms": "0.1.1",
"@babel/runtime": "^7.10.2",
"@solid/lit-vocab-common": "^0.4.3",
"@solid/lit-vocab-solid": "^0.4.3",
"@inrupt/lit-vocab-common": "^0.4.3",
"@inrupt/solid-sdk-forms": "^0.2.0",
"@rdfjs/data-model": "^1.1.1",
"@shexjs/core": "^1.0.0-alpha.9",
"@shexjs/loader": "^1.0.0-alpha.5",
"@shexjs/parser": "^1.0.0-alpha.4",
"@solid/query-ldflex": "^2.6.0",
"@shexjs/loader": "^1.0.0-alpha.9",
"@shexjs/parser": "^1.0.0-alpha.9",
"@solid/query-ldflex": "^2.11.2",
"@solid/react": "^1.10.0",
"date-fns": "^2.14.0",
"file-type": "^10.7.1",
"html-webpack-include-assets-plugin": "^1.0.6",
"jsonld": "^1.6.2",
"ldflex": "^2.4.0",
"ldflex": "^2.11.0",
"lodash": "^4.17.15",
"mime-types": "^2.1.27",
"n3": "^1.1.1",
"n3": "^1.4.0",
"parse-link-header": "^1.0.1",
"react-color": "^2.17.3",
"react-datepicker": "^2.9.6",
"react-router-dom": "^5.1.2",
"react-color": "^2.18.1",
"react-datepicker": "^2.16.0",
"react-router-dom": "^5.2.0",
"react-select": "^2.2.0",
"request-promise": "^4.2.5",
"solid-auth-client": "^2.3.0",
"solid-auth-client": "^2.4.1",
"unique": "0.0.1",
"unique-string": "^1.0.0"
},
"devDependencies": {
"@babel/core": "7.1.6",
"@babel/preset-flow": "^7.0.0",
"@storybook/addon-actions": "^5.0.11",
"@babel/preset-flow": "^7.10.1",
"@storybook/addon-actions": "^5.3.19",
"@storybook/addon-console": "^1.1.0",
"@storybook/addon-jest": "^5.0.11",
"@storybook/addon-knobs": "^5.0.11",
"@storybook/addon-links": "^5.0.5",
"@storybook/addons": "^5.0.5",
"@storybook/react": "^5.0.11",
"@storybook/addon-jest": "^5.3.19",
"@storybook/addon-knobs": "^5.3.19",
"@storybook/addon-links": "^5.3.19",
"@storybook/addons": "^5.3.19",
"@storybook/react": "^5.3.19",
"@svgr/webpack": "2.4.1",
"@testing-library/jest-dom": "^5.9.0",
"@testing-library/react": "^10.0.5",
"@testing-library/react-hooks": "^3.2.1",
"@testing-library/react": "^10.2.1",
"@testing-library/react-hooks": "^3.3.0",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "9.0.0",
"babel-jest": "^24.8.0",
"babel-loader": "8.0.4",
"babel-plugin-module-resolver": "^3.2.0",
"babel-plugin-named-asset-import": "^0.3.1",
"babel-plugin-named-asset-import": "^0.3.6",
"babel-preset-react-app": "^7.0.2",
"bfj": "6.1.1",
"case-sensitive-paths-webpack-plugin": "2.1.2",
Expand All @@ -121,9 +121,9 @@
"eslint-import-resolver-webpack": "^0.12.1",
"eslint-loader": "2.1.1",
"eslint-plugin-flowtype": "2.50.1",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-import": "^2.21.1",
"eslint-plugin-jsx-a11y": "6.1.2",
"eslint-plugin-prettier": "^3.1.0",
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-react": "7.11.1",
"file-loader": "2.0.0",
"fork-ts-checker-webpack-plugin-alt": "0.4.14",
Expand All @@ -143,26 +143,26 @@
"postcss-loader": "3.0.0",
"postcss-preset-env": "6.0.6",
"postcss-safe-parser": "4.0.1",
"prettier": "^1.18.2",
"prettier": "^1.19.1",
"pretty-quick": "^1.11.0",
"react": "^16.8.4",
"react": "^16.13.1",
"react-app-polyfill": "^0.1.3",
"react-dev-utils": "^6.1.1",
"react-dom": "^16.8.4",
"react-dom": "^16.13.1",
"react-hooks-testing-library": "^0.5.0",
"react-json-view": "^1.19.1",
"react-test-renderer": "^16.8.6",
"react-test-renderer": "^16.13.1",
"resolve": "1.10.0",
"sass-loader": "7.1.0",
"storybook-addon-jsx": "^7.1.0",
"storybook-addon-jsx": "^7.3.0",
"storybook-react-router": "^1.0.5",
"storybook-readme": "^5.0.3",
"style-loader": "0.23.0",
"styled-components": "^4.1.3",
"terser-webpack-plugin": "^2.3.5",
"uglify-js": "^3.6.0",
"styled-components": "^4.4.1",
"terser-webpack-plugin": "^2.3.7",
"uglify-js": "^3.9.4",
"url-loader": "1.1.1",
"webpack": "^4.41.2",
"webpack": "^4.43.0",
"webpack-dev-server": "^3.11.0",
"webpack-manifest-plugin": "2.0.4",
"workbox-webpack-plugin": "3.6.3"
Expand Down
16 changes: 8 additions & 8 deletions src/demo/App.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import React, { useEffect, useState, useCallback } from 'react';
import { useWebId } from '@solid/react';
import styled from 'styled-components';
// import { FormModel as FormModelClass } from '@inrupt/solid-sdk-forms';
import { AS } from '@inrupt/lit-generated-vocab-common';
import SolidImg from '../assets/solid_logo.png';
import { FormModel as FormModelClass } from '@inrupt/solid-sdk-forms';
import { AS } from '@solid/lit-vocab-common';
import {
ProviderLogin,
Uploader,
Expand All @@ -14,6 +13,7 @@ import {
ProfileViewer
} from '@lib';
import { AccessControlList, ACLFactory } from '@classes';
import SolidImg from '../assets/solid_logo.png';

const HeaderWrapper = styled.section`
margin-top: 60px;
Expand Down Expand Up @@ -84,10 +84,9 @@ const App = () => {
* Comment this out if you want to increase App.js performance. To enable, uncomment this
* section and also the import statement for FormModelClass
*/
/*
const formModel = new FormModelClass(
'https://solidsdk.inrupt.net/public/FormLanguage/examples/ShEx/decimal.shex',
'https://jmartin.inrupt.net/profile/card#me'
'https://pmcb55.inrupt.net/profile/card#me'
);
const schema = await formModel.parseSchema(
'https://solidsdk.inrupt.net/public/FormLanguage/examples/ShEx/decimal.shex'
Expand All @@ -96,7 +95,6 @@ const App = () => {

// eslint-disable-next-line no-console
console.log(formModelOutput, 'model new');
*/
};

const createAcl = async () => {
Expand Down Expand Up @@ -169,8 +167,10 @@ const App = () => {
<ProviderLogin callbackUri={`${window.location.origin}/`} />
<FormModel
{...{
modelSource: 'https://jmartin.inrupt.net/public/formmodel/float.ttl#formRoot',
dataSource: 'https://jmartin.inrupt.net/profile/card#me',
modelSource: 'https://solidsdk.inrupt.net/sdk/userprofile.ttl#formRoot',
// 'https://jmartin.inrupt.net/public/formmodel/float.ttl#formRoot',
// dataSource: 'https://pmcb55.inrupt.net/profile/card#me',
dataSource: 'https://ldp.demo-ess.inrupt.com/p1/profile/card#me',
options: {
theme: {
inputText: 'sdk-input',
Expand Down
4 changes: 2 additions & 2 deletions src/lib/classes/access-control-list.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import solid from 'solid-auth-client';
import * as N3 from 'n3';
import { isEqual } from 'lodash';
import ldflex from '@solid/query-ldflex';
import { FOAF, RDF, VCARD } from '@inrupt/lit-generated-vocab-common';
import { ACL } from '@inrupt/lit-generated-vocab-solid-common';
import { FOAF, RDF, VCARD } from '@solid/lit-vocab-common';
import { ACL } from '@solid/lit-vocab-solid';
import { SolidError } from '@utils';
import { PERMISSIONS } from '@constants';

Expand Down
50 changes: 27 additions & 23 deletions src/lib/classes/notification.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,14 @@
import solid from 'solid-auth-client';
import * as N3 from 'n3';
import data from '@solid/query-ldflex';
import { AS } from '@inrupt/lit-generated-vocab-common';
import { RDF, XSD, LDP, AS } from '@solid/lit-vocab-common';
import { SOLID } from '@solid/lit-vocab-solid';
import { solidResponse, SolidError, shexUtil, getBasicPod } from '@utils';
import defaultShape from '../shapes/notification.json';
import AccessControlList from './access-control-list';
import ACLFactory from './access-control-factory';
import { ensureSlash } from '../utils/solidFetch';

const PREFIXES = {
terms: 'https://www.w3.org/ns/solid/terms#',
schema: 'http://www.w3.org/2000/01/rdf-schema#',
things: 'https://schema.org/Thing#',
ns: 'https://www.w3.org/1999/02/22-rdf-syntax-ns#',
foaf: 'http://xmlns.com/foaf/0.1/',
acl: 'http://www.w3.org/ns/auth/acl#',
ldp: 'http://www.w3.org/ns/ldp#',
xsd: 'http://www.w3.org/2001/XMLSchema#'
};

/**
* Notification Class for SOLID
* To know more about ACL please go to: https://github.com/solid/web-access-control-spec
Expand Down Expand Up @@ -72,7 +62,7 @@ export class Notification {
/**
* Delete inbox link reference from user card or custom file
*/
await data[document || this.owner]['ldp:inbox'].delete(inbox);
await data[document || this.owner][LDP.inbox].delete(inbox);

return solidResponse(200, 'Inbox was deleted');
} catch (error) {
Expand All @@ -92,12 +82,12 @@ export class Notification {
const { namedNode } = termFactory;
const writer = new N3.Writer({
prefixes: {
ldp: PREFIXES.ldp
...LDP.PREFIX_AND_NAMESPACE
},
format: 'text/turtle'
});

writer.addQuad(namedNode(''), namedNode('ldp:inbox'), namedNode(inboxPath));
writer.addQuad(namedNode(''), LDP.inbox, namedNode(inboxPath));
let resultPut = { ok: false };

await writer.end(async (error, result) => {
Expand Down Expand Up @@ -198,7 +188,6 @@ export class Notification {
}
const result = await solid.fetch(file);
const schema = await result.json();

this.schema = {
...this.schema,
[name]: schema
Expand Down Expand Up @@ -235,7 +224,6 @@ export class Notification {
const filePath = `${to + fileName}`;

// This should be in a constant, but we may shift to use solid/context instead
const rdfType = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type';
const licenseType = 'http://schema.org/license';

// If a type has not been set, default to Announce type
Expand Down Expand Up @@ -270,7 +258,7 @@ export class Notification {
});

// Add the notification type to the node
writer.addQuad(namedNode(''), namedNode(rdfType), namedNode(notificationType));
writer.addQuad(namedNode(''), RDF.type, namedNode(notificationType));

// Add the license to the node
writer.addQuad(namedNode(''), namedNode(licenseType), namedNode(licenseLink));
Expand Down Expand Up @@ -305,10 +293,10 @@ export class Notification {
} else {
switch (item.datatype) {
case 'datetime':
typedValue = literal(value, namedNode(`${PREFIXES.xsd}dateTime`));
typedValue = literal(value, XSD.dateTime);
break;
case 'boolean':
typedValue = literal(value, namedNode(`${PREFIXES.xsd}boolean`));
typedValue = literal(value, XSD.boolean_);
break;
case 'string':
default:
Expand Down Expand Up @@ -366,10 +354,15 @@ export class Notification {
/**
* Update subject read into notification a notification file.
*/
await data[notificationPath]['https://www.w3.org/ns/solid/terms#read'].set(status);
console.log(`PMCB55: MARK AS READ: [${status}], notificationPath: [${notificationPath}]`);

await data[notificationPath][SOLID.read].set(status);

console.log(`PMCB55: MARK AS READ - SUCCESS!!`);

return solidResponse(200, 'Notification was updated');
} catch (error) {
console.log(`PMCB55: MARK AS READ - FAILED WITH ERROR: [${JSON.stringify(error, null, 2)}]!`);
throw new SolidError(error.message, 'Notification', error.status);
}
};
Expand Down Expand Up @@ -415,7 +408,7 @@ export class Notification {
const hasDocument = await this.hasInbox(document);
if (!hasDocument) return false;

const inboxDocument = await data[document]['ldp:inbox'];
const inboxDocument = await data[document][LDP.inbox];
const inbox = inboxDocument ? await inboxDocument.value : false;
return inbox;
} catch (error) {
Expand Down Expand Up @@ -453,7 +446,7 @@ export class Notification {
/**
* Get contains links from inbox container
*/
for await (const path of inbox['ldp:contains']) {
for await (const path of inbox[LDP.contains]) {
notificationPaths = [...notificationPaths, path.value];
}

Expand All @@ -462,10 +455,14 @@ export class Notification {
*/
const coreNotificationShape =
'https://shexshapes.inrupt.net/public/notifications/core-notification.shex';

// console.log(`PMCB55: TEST VALIDATE <BEFORE>: [${JSON.stringify(notificationPaths, null, 2)}]`);

const validNotifications = await shexUtil.validateList(
notificationPaths,
coreNotificationShape
);
// console.log(`PMCB55: TEST VALIDATE <AFTER>: [${JSON.stringify(validNotifications, null, 2)}]`);

// Loop over resulting notifications
for await (const notification of validNotifications) {
Expand All @@ -480,13 +477,20 @@ export class Notification {
.split('.')[0];
notificationData = id !== '' ? { id, path, inboxName: currentInbox.inboxName } : {};

// console.log(`PMCB55: NOTIFICATION FROM VALID NOTIFICATIONS: [${JSON.stringify(notification, null, 2)}]`);

// Loop over all predicates in the notification shape and parse out the key and value
for (const field of this.schema[name].shape) {
// Find the quad for this field
// console.log(`PMCB55: ABOUT TO FIND DATA FOR: field.label: [${field.label}], name: [${name}]`);

const fieldQuad = notification.find(obj => {
// console.log(`PMCB55: FINDING: field.label: [${field.label}], name: [${name}], obj [${JSON.stringify(obj, null, 2)}]`);
return obj.predicate.value === this.getPredicate(field, name);
});

// console.log(`PMCB55: SETTING DATA fieldQUAD: [${fieldQuad ? fieldQuad.object.value : "XXX-NULL-XXX"}]: field.label: [${field.label}], fieldQUAD: [${fieldQuad ? fieldQuad.object.value : "XXX-NULL-XXX"}]`);

notificationData[field.label] = fieldQuad ? fieldQuad.object.value : null;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { useEffect, useState, useContext } from 'react';
import { UI } from '@inrupt/lit-generated-vocab-common';
import { UI } from '@solid/lit-vocab-common';
import { ThemeContext } from '@context';
import { InputGroup } from '../Input/input.styles';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';
import { render, cleanup } from '@testing-library/react';
import { getByText, getByLabelText } from '@testing-library/dom';
import { UI } from '@inrupt/lit-generated-vocab-common';
import { UI } from '@solid/lit-vocab-common';
import { CheckBox } from './check-box.component';
import 'jest-dom/extend-expect';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, { useState, useEffect, useCallback, useContext } from 'react';
import { n3Helper } from '@inrupt/solid-sdk-forms';
import unique from 'unique';
import { UI } from '@inrupt/lit-generated-vocab-common';
import { UI } from '@solid/lit-vocab-common';
import { ThemeContext } from '@context';
import { SelectWrapper } from './classifier.style';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { useEffect, useContext, useState } from 'react';
import { ChromePicker } from 'react-color';
import { UI } from '@inrupt/lit-generated-vocab-common';
import { UI } from '@solid/lit-vocab-common';
import { ThemeContext } from '@context';

import { PickerGroup, ColorSwatch, Cover, Popover } from './color-picker.styles';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { render, cleanup } from '@testing-library/react';
import { getByText } from '@testing-library/dom';
import ColorPicker from './color-picker.component';
import 'jest-dom/extend-expect';
import { UI } from '@inrupt/lit-generated-vocab-common';
import { UI } from '@solid/lit-vocab-common';

afterAll(cleanup);

Expand Down
Loading