solid-logic 1.3.17-2bf19bb6 → 1.3.17-615b75c1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"discoveryLogic.js","sourceRoot":"","sources":["../../src/discovery/discoveryLogic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discoveryLogic.js","sourceRoot":"","sources":["../../src/discovery/discoveryLogic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typeIndexLogic.js","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeIndexLogic.js","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-logic",
3
- "version": "1.3.17-2bf19bb6",
3
+ "version": "1.3.17-615b75c1",
4
4
  "description": "Core business logic of Solid OS",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -4,21 +4,21 @@ import * as debug from '../util/debug'
4
4
  import { Session } from "@inrupt/solid-client-authn-browser";
5
5
  import { AuthenticationContext, AuthnLogic } from "../types";
6
6
  export class SolidAuthnLogic implements AuthnLogic {
7
- private session: Session;
7
+ private session: Session;
8
8
 
9
9
  constructor(solidAuthSession: Session) {
10
10
  this.session = solidAuthSession;
11
11
  }
12
-
12
+
13
13
  // we created authSession getter because we want to access it as authn.authSession externally
14
- get authSession():Session { return this.session }
14
+ get authSession():Session { return this.session }
15
15
 
16
16
  currentUser(): NamedNode | null {
17
17
  const app = appContext()
18
18
  if (app.viewingNoAuthPage) {
19
19
  return sym(app.webId)
20
20
  }
21
- if (this.session.info.webId && this.session.info.isLoggedIn) {
21
+ if (this && this.session && this.session.info && this.session.info.webId && this.session.info.isLoggedIn) {
22
22
  return sym(this.session.info.webId)
23
23
  }
24
24
  return offlineTestID() // null unless testing
@@ -120,4 +120,4 @@ export class SolidAuthnLogic implements AuthnLogic {
120
120
  return webId
121
121
  }
122
122
 
123
- }
123
+ }
@@ -1,33 +1,144 @@
1
- import { NamedNode, Namespace, LiveStore } from "rdflib";
1
+ import { NamedNode, Namespace, LiveStore, sym, st } from "rdflib";
2
+ // import * as debug from '../util/debug'
3
+ // import { getContainerMembers } from '../util/UtilityLogic'
4
+ import { solidLogicSingleton } from "../logic/solidLogicSingleton"
5
+ import { newThing } from "../util/uri"
2
6
 
3
- type TypeIndex = { label: string, index: NamedNode, agent: NamedNode } ;
7
+ const { authn } = solidLogicSingleton
8
+ const { currentUser } = authn
9
+
10
+ type TypeIndexScope = { label: string, index: NamedNode, agent: NamedNode } ;
11
+ type ScopedApp = { instance: NamedNode, scope: TypeIndexScope }
12
+
13
+ const ns = {
14
+ dct: Namespace('http://purl.org/dc/terms/'),
15
+ ldp: Namespace('http://www.w3.org/ns/ldp#'),
16
+ meeting: Namespace('http://www.w3.org/ns/pim/meeting#'),
17
+ rdf: Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#'),
18
+ schema: Namespace('http://schema.org/'),
19
+ solid: Namespace('http://www.w3.org/ns/solid/terms#'),
20
+ space: Namespace('http://www.w3.org/ns/pim/space#'),
21
+ stat: Namespace('http://www.w3.org/ns/posix/stat#'),
22
+ vcard: Namespace('http://www.w3.org/2006/vcard/ns#'),
23
+ wf: Namespace('http://www.w3.org/2005/01/wf/flow#'),
24
+ xsd: Namespace('http://www.w3.org/2001/XMLSchema#')
4
25
 
5
- const ns ={
6
- solid: Namespace('http://www.w3.org/ns/solid/terms#'),
7
- space: Namespace('http://www.w3.org/ns/pim/space#')
8
26
  }
9
27
 
10
- export async function loadProfile(store: LiveStore, user) {
11
- if (!user) {
12
- throw new Error(`loadProfile: no user given.`)
28
+ /** Create a resource if it really does not exist
29
+ * Be absolutely sure something does not exist before creating a new empty file
30
+ * as otherwise existing could be deleted.
31
+ * @param doc {NamedNode} - The resource
32
+ */
33
+ export async function loadOrCreateIfNotExists (store: LiveStore, doc: NamedNode) {
34
+ let response
35
+ // console.log('@@ loadOrCreateIfNotExists doc ', doc)
36
+ try {
37
+ response = await store.fetcher.load(doc)
38
+ } catch (err) {
39
+ if (err.response.status === 404) {
40
+ // console.log('createIfNotExists doc does NOT exist, will create: ' + doc)
41
+ try {
42
+ store.fetcher.webOperation('PUT', doc, {data: '', contentType: 'text/turtle'})
43
+ } catch (err) {
44
+ const msg = 'createIfNotExists: PUT FAILED: ' + doc + ': ' + err
45
+ // console.log(msg)
46
+ throw new Error(msg)
47
+ }
48
+ delete store.fetcher.requested[doc.uri] // delete cached 404 error
49
+ // console.log('createIfNotExists doc created ok ' + doc)
50
+ } else {
51
+ const msg = 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err
52
+ // console.log(msg)
53
+ throw new Error(msg) // @@ add nested errors
54
+ }
55
+ }
56
+ // console.log('createIfNotExists doc exists, all good ' + doc)
57
+ return response
58
+ }
59
+
60
+ export function suggestPreferencesFile (me:NamedNode) {
61
+ const stripped = me.uri.replace('/profile/', '/').replace('/public/', '/')
62
+ // const stripped = me.uri.replace(\/[p|P]rofile/\g, '/').replace(\/[p|P]ublic/\g, '/')
63
+ const folderURI = stripped.split('/').slice(0,-1).join('/') + '/Settings/'
64
+ const fileURI = folderURI + 'Preferences.ttl'
65
+ return sym(fileURI)
66
+ }
67
+
68
+ export function suggestPublicTypeIndex (me:NamedNode) {
69
+ return sym(me.doc().dir()?.uri + 'publicTypeIndex.ttl')
70
+ }
71
+ // Note this one is based off the pref file not the profile
72
+
73
+ export function suggestPrivateTypeIndex (preferencesFile:NamedNode) {
74
+ return sym(preferencesFile.doc().dir()?.uri + 'privateTypeIndex.ttl')
75
+ }
76
+ /* Follow link from this doc to another thing, or else make a new link
77
+ **
78
+ ** return: null no ld one and failed to make a new one
79
+ */
80
+ export async function followOrCreateLink(store: LiveStore, subject: NamedNode, predicate: NamedNode,
81
+ object: NamedNode, doc:NamedNode):Promise<NamedNode | null> {
82
+ await store.fetcher.load(doc)
83
+ const result = store.any(subject, predicate, null, doc)
84
+ // console.log('@@ followOrCreateLink result ', result)
85
+
86
+ if (result) return result as NamedNode
87
+ if (!store.updater.editable(doc)) {
88
+ // console.log(`followOrCreateLink: Can't modify ${doc} so can't make new link to ${object}.`)
89
+ // console.log('followOrCreateLink @@ connectedStatements', store.connectedStatements(subject))
90
+ return null
13
91
  }
14
92
  try {
15
- await store.fetcher.load(user.doc())
93
+ await store.updater.update([], [ st(subject, predicate, object, doc)])
16
94
  } catch (err) {
17
- throw new Error(`Unable to load profile of user <${user}>: ${err}`)
95
+ console.warn(`followOrCreateLink: Error making link in ${doc} to ${object}: ${err}`)
96
+ return null
18
97
  }
98
+
99
+ // console.log(`Success making link in ${doc} to ${object}` )
100
+
101
+ try {
102
+ await loadOrCreateIfNotExists(store, object)
103
+ // store.fetcher.webOperation('PUT', object, { data: '', contentType: 'text/turtle'})
104
+ } catch (err) {
105
+ console.warn(`followOrCreateLink: Error loading or saving new linked document: ${object}: ${err}`)
106
+ }
107
+ // console.log(`followOrCreateLink: Success loading or saving new linked document: ${object}.`)
108
+ return object
109
+ }
110
+
111
+ export async function loadProfile(store: LiveStore, user: NamedNode) {
112
+ // console.log(' @@ loadProfile: user', user)
113
+ if (!user) {
114
+ throw new Error(`loadProfile: no user given.`)
115
+ }
116
+ // try {
117
+ await store.fetcher.load(user.doc())
118
+ // } catch (err) {
119
+ // throw new Error(`Unable to load profile of user ${user}: ${err}`)
120
+ //}
19
121
  return user.doc()
20
122
  }
21
123
 
22
- export async function loadPreferences(store: LiveStore, user): Promise <NamedNode | undefined > {
23
- const profile = await loadProfile(store as LiveStore, user)
24
- const preferencesFile = store.any(user, ns.space('preferencesFile'), undefined, profile)
124
+ export async function loadPreferences(store: LiveStore, user: NamedNode): Promise <NamedNode | undefined > {
125
+ // console.log('loadPreferences @@ user', user)
126
+ await loadProfile(store as LiveStore, user)
127
+
128
+ const possiblePreferencesFile = suggestPreferencesFile(user)
129
+
130
+ const preferencesFile = await followOrCreateLink(store, user, ns.space('preferencesFile') as NamedNode, possiblePreferencesFile, user.doc())
131
+ // const preferencesFile = store.any(user, ns.space('preferencesFile'), undefined, profile)
132
+
133
+ // console.log('loadPreferences @@ pref file', preferencesFile)
25
134
  if (!preferencesFile) {
26
- // throw new Error(`USer ${user} has no pointer in profile to preferences file.`)
135
+ const message = `User ${user} has no pointer in profile to preferences file.`
136
+ console.warn(message)
137
+ // throw new Error()
27
138
  return undefined
28
139
  }
29
140
  try {
30
- store.fetcher.load(preferencesFile as NamedNode)
141
+ await store.fetcher.load(preferencesFile as NamedNode)
31
142
  } catch (err) { // Mabeb a permission propblem or origin problem
32
143
  return undefined
33
144
  // throw new Error(`Unable to load preferences file ${preferencesFile} of user <${user}>: ${err}`)
@@ -35,56 +146,166 @@ export async function loadPreferences(store: LiveStore, user): Promise <NamedNod
35
146
  return preferencesFile as NamedNode
36
147
  }
37
148
 
38
- export async function loadTypeIndexesFor(store: LiveStore, user:NamedNode): Promise<Array<TypeIndex>> {
149
+ export async function loadTypeIndexesFor(store: LiveStore, user:NamedNode): Promise<Array<TypeIndexScope>> {
150
+ // console.log('@@ loadTypeIndexesFor user', user)
39
151
  if (!user) throw new Error(`loadTypeIndexesFor: No user given`)
40
152
  const profile = await loadProfile(store, user)
41
- const publicTypeIndex = store.any(user, ns.solid('publicTypeIndex'), undefined, profile)
42
- if (publicTypeIndex) {
43
- try {
44
- await store.fetcher.load(publicTypeIndex as NamedNode)
45
- } catch {
46
- // never mind
47
- }
153
+
154
+ const suggestion = suggestPublicTypeIndex(user)
155
+
156
+ const publicTypeIndex = await followOrCreateLink(store, user, ns.solid('publicTypeIndex') as NamedNode, suggestion, profile)
157
+
158
+ // const publicTypeIndex = store.any(user, ns.solid('publicTypeIndex'), undefined, profile)
159
+ // console.log('@@ loadTypeIndexesFor publicTypeIndex', publicTypeIndex)
160
+
161
+ const publicScopes = publicTypeIndex ? [ { label: 'public', index: publicTypeIndex as NamedNode, agent: user } ] : []
162
+
163
+ let preferencesFile
164
+ try {
165
+ preferencesFile = await loadPreferences(store, user)
166
+ } catch (err) {
167
+ preferencesFile = null
48
168
  }
49
- const pub = publicTypeIndex ? [ { label: 'public', index: publicTypeIndex as NamedNode, agent: user } ] : []
50
169
 
51
- const preferencesFile = await loadPreferences(store, user)
52
- if (preferencesFile) { // watch out - can be in either as spec was not clear
53
- const privateTypeIndexes = store.each(user, ns.solid('privateTypeIndex'), undefined, preferencesFile as NamedNode)
54
- .concat(store.each(user, ns.solid('privateTypeIndex'), undefined, profile))
55
- const priv = privateTypeIndexes.length > 0 ? [ { label: 'priSo @@@@@vate', index: privateTypeIndexes[0] as NamedNode, agent: user } ] : []
56
- return pub.concat(priv)
170
+ let privateScopes
171
+ if (preferencesFile) { // watch out - can be in either as spec was not clear. Legacy is profile.
172
+ // If there is a legacy one linked from the profile, use that.
173
+ // Otherwiae use or make one linked from Preferences
174
+ const suggestedPrivateTypeIndex = suggestPrivateTypeIndex(preferencesFile)
175
+
176
+ const privateTypeIndex = store.any(user, ns.solid('privateTypeIndex'), undefined, profile) ||
177
+
178
+ await followOrCreateLink(store, user, ns.solid('privateTypeIndex') as NamedNode, suggestedPrivateTypeIndex, preferencesFile);
179
+
180
+ privateScopes = privateTypeIndex ? [ { label: 'private', index: privateTypeIndex as NamedNode, agent: user } ] : []
181
+ } else {
182
+ privateScopes = []
183
+ }
184
+ const scopes = publicScopes.concat(privateScopes)
185
+ if (scopes.length === 0) return scopes
186
+ const files = scopes.map(scope => scope.index)
187
+ // console.log('@@ loadTypeIndexesFor files ', files)
188
+ try {
189
+ await store.fetcher.load(files)
190
+ } catch (err) {
191
+ console.warn('Problems loading type index: ', err)
57
192
  }
58
- return pub
193
+ return scopes
59
194
  }
60
195
 
61
- export async function loadCommunityTypeIndexes (store:LiveStore, user:NamedNode): Promise<TypeIndex[][]> {
196
+ export async function loadCommunityTypeIndexes (store:LiveStore, user:NamedNode): Promise<TypeIndexScope[][]> {
62
197
  const preferencesFile = await loadPreferences(store, user)
63
- if (preferencesFile) {
198
+ if (preferencesFile) { // For now, pick up communities as simple links from the preferences file.
64
199
  const communities = store.each(user, ns.solid('community'), undefined, preferencesFile as NamedNode)
65
- const communityTypeIndexesPromise = communities.map(async community => await loadTypeIndexesFor(store, community as NamedNode))
66
- const result1 = Promise.all(communityTypeIndexesPromise)
67
- // const result2 = Promise.all(result1)
68
- // const flat = result2.flat()
69
- return result1
70
- // const communityTypeIndexes = await Promise.all(communityTypeIndexesPromise)
71
- /*
72
- let result = [] as TypeIndex[]
73
- for(const community of communities) {
74
- result = result.concat(await loadTypeIndexesFor(store, community as NamedNode)) as TypeIndex[] // @@ how oto make functional with async?
200
+ // console.log('loadCommunityTypeIndexes communities: ',communities)
201
+ let result = []
202
+ for (const org of communities) {
203
+ result = result.concat(await loadTypeIndexesFor(store, org as NamedNode) as any)
75
204
  }
76
- */
77
- // return communityTypeIndexesPromise.resolve()
205
+ // const communityTypeIndexesPromises = communities.map(async community => await loadTypeIndexesFor(store, community as NamedNode))
206
+ // const result1 = Promise.all(communityTypeIndexesPromises)
207
+ return result
78
208
  }
79
- return []
209
+ return [] // No communities
80
210
  }
81
211
 
82
212
  export async function loadAllTypeIndexes (store:LiveStore, user:NamedNode) {
83
213
  return (await loadTypeIndexesFor(store, user)).concat((await loadCommunityTypeIndexes(store, user)).flat())
84
214
  }
85
215
 
216
+ // Utility: remove duplicates from Array of NamedNodes
217
+
218
+ export function uniqueNodes (arr: NamedNode[]): NamedNode[] {
219
+ const uris = arr.map(x => x.uri)
220
+ const set = new Set(uris)
221
+ const uris2 = Array.from(set)
222
+ const arr2 = uris2.map(u => new NamedNode(u))
223
+ return arr2 // Array.from(new Set(arr.map(x => x.uri))).map(u => sym(u))
224
+ }
225
+
226
+ export async function getScopedAppsfromIndex (store, scope, theClass: NamedNode) {
227
+ // console.log(`getScopedAppsfromIndex agent ${scope.agent} index: ${scope.index}` )
228
+ const index = scope.index
229
+ const registrations = store.each(undefined, ns.solid('forClass'), theClass, index)
230
+ // console.log(' registrations', registrations )
231
+
232
+ const directInstances = registrations.map(reg => store.each(reg as NamedNode, ns.solid('instance'), null, index)).flat()
233
+ // console.log(' directInstances', directInstances )
234
+ let instances = uniqueNodes(directInstances)
235
+
86
236
  /*
87
- export async function getAppInstances (store:LiveStore, klass: NamedNode) {
237
+ let instanceContainers = []
238
+ for (const reg of registrations) {
239
+ const cont = store.any(reg as NamedNode, ns.solid('instanceContainer'), null, index)
240
+ if (cont) {
241
+ // console.log(' @@ getScopedAppsfromIndex got one: ', cont)
242
+ instanceContainers.push(cont)
243
+ }
244
+ }
245
+ */
246
+ const instanceContainers = registrations.map(
247
+ reg => store.each(reg as NamedNode, ns.solid('instanceContainer'), null, index)).flat()
248
+
249
+ // instanceContainers may be deprocatable if no one has used them
88
250
 
251
+ const containers = uniqueNodes(instanceContainers)
252
+ for (let i = 0; i < containers.length; i++) {
253
+ const cont = containers[i]
254
+ await store.fetcher.load(cont)
255
+ const contents = store.each(cont, ns.ldp('contains'), null, cont)
256
+ // if (contents.length) console.log('getScopedAppsfromIndex @@ instanceContainer contents:', contents)
257
+ instances = instances.concat(contents)
258
+ }
259
+ return instances.map(instance => { return {instance, scope}})
89
260
  }
90
- */
261
+
262
+
263
+ export async function getScopedAppInstances (store:LiveStore, klass: NamedNode, user: NamedNode):Promise<ScopedApp[]> {
264
+ // console.log('getScopedAppInstances @@ ' + user)
265
+ const scopes = await loadAllTypeIndexes(store, user)
266
+ let scopedApps = []
267
+ for (const scope of scopes) {
268
+ const scopedApps0 = await getScopedAppsfromIndex(store, scope, klass) as any
269
+ scopedApps = scopedApps.concat(scopedApps0)
270
+ }
271
+ return scopedApps
272
+ }
273
+ // This is the function signature which used to be in solid-ui/logic
274
+ // Recommended to use getScopedAppInstances instead as it provides more information.
275
+ //
276
+ export async function getAppInstances (store:LiveStore, klass: NamedNode): Promise<NamedNode[]> {
277
+ const user = currentUser()
278
+ if (!user) throw new Error('getAppInstances: Must be logged in to find apps.')
279
+ const scopedAppInstances = await getScopedAppInstances(store, klass, user)
280
+ return scopedAppInstances.map(scoped => scoped.instance)
281
+ }
282
+ /**
283
+ * Register a new app in a type index
284
+ * used in chat in bookmark.js (solid-ui)
285
+ * Returns the registration object if successful else null
286
+ */
287
+ export async function registerInstanceInTypeIndex (
288
+ store:LiveStore,
289
+ instance: NamedNode,
290
+ index: NamedNode,
291
+ theClass: NamedNode,
292
+ // agent: NamedNode
293
+ ): Promise<NamedNode | null> {
294
+ const registration = newThing(index)
295
+ const ins = [
296
+ // See https://github.com/solid/solid/blob/main/proposals/data-discovery.md
297
+ st(registration, ns.rdf('type'), ns.solid('TypeRegistration'), index),
298
+ st(registration, ns.solid('forClass'), theClass, index),
299
+ st(registration, ns.solid('instance'), instance, index)
300
+ ]
301
+ try {
302
+ console.log('patching index', ins)
303
+ await store.updater.update([], ins)
304
+ } catch (err) {
305
+ const msg = `Unable to register ${instance} in index ${index}: ${err}`
306
+ console.warn(msg)
307
+ return null
308
+ }
309
+ return registration
310
+ }
311
+ // ENDS
@@ -43,7 +43,7 @@ return context
43
43
 
44
44
  export async function loadTypeIndexes (context: AuthenticationContext) {
45
45
  try {
46
- await loadPreferences(solidLogicSingleton.store, context.me)
46
+ await loadPreferences(solidLogicSingleton.store, context.me as NamedNode)
47
47
  } catch (error) {
48
48
  debug.warn(error.message) as undefined
49
49
  }