Skip to content

Commit 607667f

Browse files
committed
Improve ACP mapping
1 parent bede72c commit 607667f

4 files changed

Lines changed: 35 additions & 1 deletion

File tree

src/acp/AccessControlResource.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,15 @@ export class AccessControlResource extends Typed {
88
return SetFrom.subjectPredicate(this, ACP.accessControl, TermAs.instance(AccessControl), TermFrom.instance)
99
}
1010

11+
get memberAccessControl(): Set<AccessControl> {
12+
return SetFrom.subjectPredicate(this, ACP.memberAccessControl, TermAs.instance(AccessControl), TermFrom.instance)
13+
}
14+
1115
get resource(): string | undefined {
1216
return OptionalFrom.subjectPredicate(this, ACP.resource, NamedNodeAs.string)
1317
}
1418

15-
set resource(v: string) {
19+
set resource(v: string | undefined) {
1620
OptionalAs.object(this, ACP.resource, v, NamedNodeFrom.string)
1721
}
1822
}

src/acp/Matcher.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,16 @@ export class Matcher extends Typed {
66
get agent(): Set<string> {
77
return SetFrom.subjectPredicate(this, ACP.agent, NamedNodeAs.string, NamedNodeFrom.string)
88
}
9+
10+
get client(): Set<string> {
11+
return SetFrom.subjectPredicate(this, ACP.client, NamedNodeAs.string, NamedNodeFrom.string)
12+
}
13+
14+
get issuer(): Set<string> {
15+
return SetFrom.subjectPredicate(this, ACP.issuer, NamedNodeAs.string, NamedNodeFrom.string)
16+
}
17+
18+
get vc(): Set<string> {
19+
return SetFrom.subjectPredicate(this, ACP.vc, NamedNodeAs.string, NamedNodeFrom.string)
20+
}
921
}

src/acp/Policy.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,19 @@ export class Policy extends Typed {
88
return SetFrom.subjectPredicate(this, ACP.allow, NamedNodeAs.string, NamedNodeFrom.string)
99
}
1010

11+
get deny(): Set<string> {
12+
return SetFrom.subjectPredicate(this, ACP.deny, NamedNodeAs.string, NamedNodeFrom.string)
13+
}
14+
1115
get anyOf(): Set<Matcher> {
1216
return SetFrom.subjectPredicate(this, ACP.anyOf, TermAs.instance(Matcher), TermFrom.instance)
1317
}
18+
19+
get allOf(): Set<Matcher> {
20+
return SetFrom.subjectPredicate(this, ACP.allOf, TermAs.instance(Matcher), TermFrom.instance)
21+
}
22+
23+
get noneOf(): Set<Matcher> {
24+
return SetFrom.subjectPredicate(this, ACP.noneOf, TermAs.instance(Matcher), TermFrom.instance)
25+
}
1426
}

src/vocabulary/acp.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,14 @@ export const ACP = {
55
Policy: "http://www.w3.org/ns/solid/acp#Policy",
66
accessControl: "http://www.w3.org/ns/solid/acp#accessControl",
77
agent: "http://www.w3.org/ns/solid/acp#agent",
8+
client: "http://www.w3.org/ns/solid/acp#client",
9+
issuer: "http://www.w3.org/ns/solid/acp#issuer",
10+
vc: "http://www.w3.org/ns/solid/acp#vc",
811
allow: "http://www.w3.org/ns/solid/acp#allow",
12+
deny: "http://www.w3.org/ns/solid/acp#deny",
913
anyOf: "http://www.w3.org/ns/solid/acp#anyOf",
14+
allOf: "http://www.w3.org/ns/solid/acp#allOf",
15+
noneOf: "http://www.w3.org/ns/solid/acp#noneOf",
1016
apply: "http://www.w3.org/ns/solid/acp#apply",
1117
memberAccessControl: "http://www.w3.org/ns/solid/acp#memberAccessControl",
1218
mode: "http://www.w3.org/ns/solid/acp#mode",

0 commit comments

Comments
 (0)