Skip to content
Open
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
5 changes: 2 additions & 3 deletions packages/css/src/util/fetch/SignedFetcher.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { InternalServerError, type JwkGenerator } from '@solid/community-server';
import { RequestInfo } from '@solidlab/ucp';
import { getLoggerFor } from 'global-logger-factory';
import { httpbis, type SigningKey } from 'http-message-signatures';
import { BufferSource } from 'node:stream/web';
import type { Fetcher } from './Fetcher';
import type { Fetcher, FetchParams } from './Fetcher';

const algMap = {
'Ed25519': { name: 'Ed25519' },
Expand Down Expand Up @@ -33,7 +32,7 @@ export class SignedFetcher implements Fetcher {
protected keyGen: JwkGenerator,
) {}

public async fetch(input: RequestInfo, init?: RequestInit): Promise<Response> {
public async fetch(...[ input, init ]: FetchParams): Promise<Response> {
const jwk = await this.keyGen.getPrivateKey();

const { alg, kid } = jwk;
Expand Down
2 changes: 0 additions & 2 deletions packages/ucp/.componentsignore

This file was deleted.

1 change: 0 additions & 1 deletion packages/ucp/.gitignore

This file was deleted.

5 changes: 0 additions & 5 deletions packages/ucp/config/default.json

This file was deleted.

70 changes: 0 additions & 70 deletions packages/ucp/package.json

This file was deleted.

13 changes: 0 additions & 13 deletions packages/ucp/src/index.ts

This file was deleted.

6 changes: 0 additions & 6 deletions packages/ucp/test/tsconfig.json

This file was deleted.

24 changes: 0 additions & 24 deletions packages/ucp/tsconfig.json

This file was deleted.

3 changes: 1 addition & 2 deletions packages/uma/config/demo.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"@context": [
"https://linkedsoftwaredependencies.org/bundles/npm/@solidlab/uma/^0.0.0/components/context.jsonld",
"https://linkedsoftwaredependencies.org/bundles/npm/@solidlab/ucp/^0.0.0/components/context.jsonld"
"https://linkedsoftwaredependencies.org/bundles/npm/@solidlab/uma/^0.0.0/components/context.jsonld"
],
"import": [
"sai-uma:config/default.json"
Expand Down
3 changes: 1 addition & 2 deletions packages/uma/config/policies/authorizers/default.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"@context": [
"https://linkedsoftwaredependencies.org/bundles/npm/@solidlab/uma/^0.0.0/components/context.jsonld",
"https://linkedsoftwaredependencies.org/bundles/npm/@solidlab/ucp/^0.0.0/components/context.jsonld"
"https://linkedsoftwaredependencies.org/bundles/npm/@solidlab/uma/^0.0.0/components/context.jsonld"
],
"@graph": [
{
Expand Down
1 change: 0 additions & 1 deletion packages/uma/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@
"@httpland/authorization-parser": "^1.1.0",
"@solid/access-token-verifier": "^1.2.0",
"@solid/community-server": "^8.0.0-alpha.1",
"@solidlab/ucp": "workspace:^",
"@types/ms": "^2.1.0",
"@types/n3": "^1.16.4",
"asynchronous-handlers": "^1.0.2",
Expand Down
20 changes: 10 additions & 10 deletions packages/uma/src/controller/AccessRequestController.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { UCRulesStorage } from "@solidlab/ucp";
import { UCRulesStorage } from "../ucp/storage/UCRulesStorage";
import { BaseController } from "./BaseController";
import {
deleteAccessRequest,
getAccessRequest,
getAccessRequests,
patchAccessRequest,
postAccessRequest
import {
deleteAccessRequest,
getAccessRequest,
getAccessRequests,
patchAccessRequest,
postAccessRequest
} from "../util/routeSpecific";

/**
Expand All @@ -28,17 +28,17 @@ export class AccessRequestController extends BaseController {

/**
* Deletes are not allowed on access requests.
*
*
* @param entityID ID pointing to the policy or access request
* @param clientID ID of the resource owner (RO) or requesting party (RP) making the deletion
* @returns a status code: 403
*/
public async deleteEntity(entityID: string, clientID: string): Promise<{ status: number }> {
return { status: 403 };
return { status: 403 };
}

public async putEntity(data: string, entityID: string, clientID: string): Promise<{ status: number }> {
return { status: 403 };
return { status: 403 };
}

}
2 changes: 1 addition & 1 deletion packages/uma/src/controller/BaseController.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { UCRulesStorage } from "@solidlab/ucp";
import { UCRulesStorage } from "../ucp/storage/UCRulesStorage";
import { getLoggerFor } from 'global-logger-factory';
import { Parser, Store } from 'n3';
import { writeStore } from "../util/ConvertUtil";
Expand Down
14 changes: 7 additions & 7 deletions packages/uma/src/controller/PolicyRequestController.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { UCRulesStorage } from "@solidlab/ucp";
import { UCRulesStorage } from "../ucp/storage/UCRulesStorage";
import { BaseController } from "./BaseController";
import {
deletePolicy,
getPolicies,
getPolicy,
patchPolicy,
postPolicy
import {
deletePolicy,
getPolicies,
getPolicy,
patchPolicy,
postPolicy
} from "../util/routeSpecific";

/**
Expand Down
10 changes: 10 additions & 0 deletions packages/uma/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,16 @@ export * from './util/http/validate/HttpMessageValidator';
export * from './util/http/validate/PatRequestValidator';
export * from './util/http/validate/RequestValidator';

// UCP
export * from './ucp/policy/ODRL';
export * from './ucp/policy/UsageControlPolicy';
export * from './ucp/storage/ContainerUCRulesStorage';
export * from './ucp/storage/DirectoryUCRulesStorage';
export * from './ucp/storage/MemoryUCRulesStorage';
export * from './ucp/storage/UCRulesStorage';
export * from './ucp/util/Util';
export * from './ucp/util/Vocabularies';

// Util
export * from './util/ConvertUtil';
export * from './util/HttpMessageSignatures';
Expand Down
7 changes: 5 additions & 2 deletions packages/uma/src/policies/authorizers/OdrlAuthorizer.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import { BadRequestHttpError, DC, NotImplementedHttpError, RDF } from '@solid/community-server';
import { basicPolicy, ODRL, UCPConstraint, UCPPolicy, UCRulesStorage } from '@solidlab/ucp';
import { getLoggerFor } from 'global-logger-factory';
import { DataFactory, Literal, NamedNode, Quad, Quad_Subject, Store, Writer } from 'n3';
import { DataFactory, Literal, NamedNode, Quad, Quad_Subject, Store } from 'n3';
import { EyeReasoner, ODRLEngineMultipleSteps, ODRLEvaluator } from 'odrl-evaluator'
import { createVocabulary } from 'rdf-vocabulary';
import { CLIENTID, WEBID } from '../../credentials/Claims';
import { ClaimSet } from '../../credentials/ClaimSet';
import { Requirements } from '../../credentials/Requirements';
import { basicPolicy } from '../../ucp/policy/ODRL';
import { UCPPolicy } from '../../ucp/policy/UsageControlPolicy';
import { UCRulesStorage } from '../../ucp/storage/UCRulesStorage';
import { ODRL } from '../../ucp/util/Vocabularies';
import { Permission } from '../../views/Permission';
import { Authorizer } from './Authorizer';

Expand Down
5 changes: 3 additions & 2 deletions packages/uma/src/routes/ResourceRegistration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ import {
InternalServerError,
joinUrl,
MethodNotAllowedHttpError,
NotFoundHttpError,
NotFoundHttpError, RDF,
} from '@solid/community-server';
import { ODRL, ODRL_P, OWL, RDF, UCRulesStorage } from '@solidlab/ucp';
import { getLoggerFor } from 'global-logger-factory';
import { DataFactory as DF, NamedNode, Quad, Quad_Subject, Store } from 'n3';
import { randomUUID } from 'node:crypto';
import { UCRulesStorage } from '../ucp/storage/UCRulesStorage';
import { ODRL, ODRL_P, OWL } from '../ucp/util/Vocabularies';
import {
HttpHandler,
HttpHandlerContext,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { RDF, XSD } from '@solid/community-server';
import { DataFactory, Quad, Store } from "n3";
import { randomUUID } from 'node:crypto';
import { ODRL, RDF, XSD } from "../util/Vocabularies";
import { ODRL } from "../util/Vocabularies";
import { SimplePolicy, UCPConstraint, UCPPolicy, UCPRule } from "./UsageControlPolicy";
const { quad, namedNode, literal } = DataFactory

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,6 @@ export function extendVocabulary<TBase extends string, TLocal extends string, TN
return createVocabulary(vocabulary.namespace, ...allNames);
}

export const RDF = createVocabulary(
'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
'type',
);


export const ODRL = createVocabulary(
'http://www.w3.org/ns/odrl/2/',
Expand Down Expand Up @@ -149,11 +144,3 @@ export const OWL = createVocabulary(
'http://www.w3.org/2002/07/owl#',
'inverseOf',
);

export const XSD = createVocabulary(
'http://www.w3.org/2001/XMLSchema#',
'dateTime',
'duration',
'integer',
'string',
);
16 changes: 8 additions & 8 deletions packages/uma/src/views/Contract.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ODRL } from "@solidlab/ucp";
import { ODRL } from '../ucp/util/Vocabularies';
import { Type, array, string, optional, any, union } from "../util/ReType";

export const JsonLdIdentifier = {
Expand Down Expand Up @@ -61,17 +61,17 @@ export function convertStringOrJsonLdIdentifierToString(x : StringOrJsonLdIdenti

/**
* Note: This check makes the assumption of slash-semantics based resource ordering!
* @param url
* @param policyTarget
* @returns
* @param url
* @param policyTarget
* @returns
*/
export function isPolicyTarget(url: string, policyTarget: ODRLTargetOrAssetCollection) {
// AssetCollection
const assetCollectionType = (policyTarget as ODRLAssetCollection)["@type"]
if (assetCollectionType && assetCollectionType === ODRL.namespace + "AssetCollection") {
return url.startsWith((policyTarget as ODRLAssetCollection).source)
}

// @id identfier
const id = (policyTarget as JsonLdIdentifier)["@id"]
if (id && url === id) return true
Expand All @@ -87,11 +87,11 @@ export function getPolicyTargets(policyTarget: ODRLTargetOrAssetCollection): str
if (assetCollectionType && assetCollectionType === ODRL.namespace + "AssetCollection") {
return (policyTarget as ODRLAssetCollection).source
}

// @id identfier
const id = (policyTarget as JsonLdIdentifier)["@id"]
if (id) return id

// string
return policyTarget as string
}
return policyTarget as string
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import { NotImplementedHttpError, RDF, XSD } from '@solid/community-server';
import { basicPolicy, UCRulesStorage } from '@solidlab/ucp';
import { DataFactory as DF, Parser, Store } from 'n3';
import { ODRLEvaluator } from 'odrl-evaluator';
import { Mocked } from 'vitest';
import { OdrlAuthorizer } from '../../../../src/policies/authorizers/OdrlAuthorizer';
import { basicPolicy } from '../../../../src/ucp/policy/ODRL';
import { UCRulesStorage } from '../../../../src/ucp/storage/UCRulesStorage';
import { Permission } from '../../../../src/views/Permission';

const now = new Date();
vi.useFakeTimers({ now });

vi.mock('@solidlab/ucp', async(importOriginal) => ({
vi.mock('../../../../src/ucp/policy/ODRL', async(importOriginal) => ({
...await importOriginal(),
basicPolicy: vi.fn(),
}));
Expand Down
Loading