Skip to content

Commit cd425e0

Browse files
SharonStratsGPT-5.6 Luna
andcommitted
Add new features to ensure we do not lose functionality from what was offered in the sharing Pane
Prompt: Many prompts to get this correct. This will most likely change a bit as well once we decide for sure if this is the correct approach Co-authored-by: GPT-5.6 Luna <gpt-5.6-luna@openai.com>
1 parent da4a033 commit cd425e0

7 files changed

Lines changed: 812 additions & 29 deletions

File tree

‎package-lock.json‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "solid-logic",
3-
"version": "6.0.1-1",
3+
"version": "6.0.1-2",
44
"description": "Core business logic of SolidOS",
55
"main": "dist/index.cjs.js",
66
"module": "dist/index.esm.js",

‎src/acl/aclLogic.ts‎

Lines changed: 319 additions & 12 deletions
Large diffs are not rendered by default.

‎src/index.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ const authn = solidLogicSingleton.authn
66
const authSession = solidLogicSingleton.authn.authSession
77
const store = solidLogicSingleton.store
88

9-
export { ACL_LINK, ACCESS_ROLES, PUBLIC_ACCESS_ROLES, Authenticated, Public } from './acl/aclLogic'
10-
export type { AccessRole, PublicAccessRole } from './acl/aclLogic'
9+
export { ACL_LINK, ACCESS_ROLES, PUBLIC_ACCESS_ROLES, Authenticated, Public, classifyContainerAccessScope, analyzeContainerAccessScope, classifyAuthorizationScope, filterAuthorizationsByContainerScope } from './acl/aclLogic'
10+
export type { AccessRole, ContainerAccessScope, ContainerAccessScopeAnalysis, PublicAccessRole } from './acl/aclLogic'
1111
export { offlineTestID, appContext } from './authn/authUtil'
1212
export { performServerSideLogout } from './authn/serverLogout'
1313
export { reloadOnIdentityReplaced } from './authSession/identityState'

‎src/types.ts‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { SessionWithLegacyEvents } from './authSession/authSession'
22
import type { ACLContext, AccessMode, AccessSubject, Authorization, PatchPlan } from '@dokieli/web-access-control'
33
import { LiveStore, NamedNode, Statement } from 'rdflib'
44
import type { AccessControlSubject } from './acl/accessControlSubjects'
5-
import type { AccessRole, PublicAccessRole } from './acl/aclLogic'
5+
import type { AccessRole, ContainerAccessScope, PublicAccessRole } from './acl/aclLogic'
66

77
export type AppDetails = {
88
noun: string
@@ -84,14 +84,20 @@ export interface AclLogic {
8484
findAclDocUrl: (url: NamedNode) => Promise<string | undefined>,
8585
findEffectiveAcl: (resourceURL: string | NamedNode) => Promise<ACLContext>,
8686
findAccessGrants: (resourceURL: string | NamedNode) => Promise<Authorization[]>,
87+
classifyContainerScope: (context: ACLContext) => ContainerAccessScope,
88+
isProtectedResource: (resourceURL: string | NamedNode) => boolean,
8789
classifyAccessControlSubject: (principle: string) => Promise<AccessControlSubject | undefined>,
8890
roleFromModes: (modes: Iterable<AccessMode>) => AccessRole,
8991
modesFromRole: (role: AccessRole) => AccessMode[],
9092
publicRoleFromModes: (modes: Iterable<AccessMode>) => PublicAccessRole,
9193
modesFromPublicRole: (role: PublicAccessRole) => AccessMode[],
9294
planGrant: (resourceURL: string | NamedNode, subject: AccessSubject, modes: AccessMode[]) => Promise<PatchPlan>,
95+
planGrantContainer: (containerURL: string | NamedNode, subject: AccessSubject, modes: AccessMode[]) => Promise<PatchPlan>,
96+
planGrantContainerContents: (containerURL: string | NamedNode, subject: AccessSubject, modes: AccessMode[]) => Promise<PatchPlan>,
97+
planRevokeContainerContents: (containerURL: string | NamedNode, subject: AccessSubject) => Promise<PatchPlan>,
9398
planRevoke: (resourceURL: string | NamedNode, subject: AccessSubject) => Promise<PatchPlan>,
9499
planPublicRead: (resourceURL: string | NamedNode, enabled: boolean) => Promise<PatchPlan>,
100+
resetToDefault: (resourceURL: string | NamedNode) => Promise<Response>,
95101
applyPlan: (plan: PatchPlan) => Promise<Response>,
96102
setACLUserPublic: (docURI: string, me: NamedNode,
97103
options: {

0 commit comments

Comments
 (0)