Skip to content

Commit 07e5ecb

Browse files
committed
Finalizing CollectorRequest
1 parent 4978f33 commit 07e5ecb

7 files changed

Lines changed: 310 additions & 25 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,4 @@ run `npx backloop.dev ./docs` and open `https://whatever.backloop.dev:4443/tests
223223

224224

225225

226+

docs/hds-lib.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/hds-lib.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/tests-browser.js

Lines changed: 272 additions & 17 deletions
Large diffs are not rendered by default.

docs/tests-browser.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/appTemplates/CollectorClient.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
const { CollectorRequest } = require('./CollectorRequest.ts');
12
const pryv = require('pryv');
23
const { HDSLibError } = require('../errors');
34
const logger = require('../logger');
@@ -19,6 +20,8 @@ class CollectorClient {
1920
eventData;
2021
/** @type {Object} - when active or deactivated - there is a link with accessData */
2122
accessData;
23+
/** @type {CollectorRequest} */
24+
request;
2225

2326
/** @property {String} - identified within user's account - can be used to retreive a Collector Client from an app */
2427
get key () {
@@ -65,6 +68,8 @@ class CollectorClient {
6568
this.app = app;
6669
this.eventData = eventData;
6770
this.accessData = accessData;
71+
this.request = new CollectorRequest({});
72+
this.request.loadFromInviteEvent(eventData.content.requesterEventData);
6873
}
6974

7075
/**
@@ -125,6 +130,7 @@ class CollectorClient {
125130
}
126131
}, 'event');
127132
this.eventData = eventData;
133+
this.request.loadFromInviteEvent(requesterEvents[0]);
128134
return this;
129135
}
130136

src/appTemplates/CollectorRequest.ts

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,18 @@ export class CollectorRequest {
3939
}
4040

4141
/**
42-
* Loadfrom status event
42+
* Loadfrom invite event
43+
* used by CollectorClient only
44+
* @param invite
45+
*/
46+
loadFromInviteEvent(inviteEvent: any) {
47+
this.setContent(inviteEvent.content);
48+
}
49+
50+
51+
52+
/**
53+
* Loadfrom status event from Collector
4354
* used by Collector only
4455
* @param statusEvent
4556
*/
@@ -111,7 +122,6 @@ export class CollectorRequest {
111122
});
112123
delete futureContent.permissions;
113124
}
114-
115125
this.#extraContent = futureContent;
116126
}
117127

@@ -143,19 +153,31 @@ export class CollectorRequest {
143153

144154
get permissions() { return this.#permissions; }
145155

146-
get sectionsData() {
156+
// --- section --- //
157+
158+
get sections (): Array<CollectorRequestSection> {
159+
return this.#sections;
160+
}
161+
162+
get sectionsData () {
147163
const result = [];
148164
for (const section of this.#sections) {
149165
result.push(section.getData());
150166
}
151167
return result;
152168
}
153169

170+
getSectionByKey (key: string) {
171+
return this.#sections.find((s) => (s.key === key));
172+
}
173+
154174
// ---------- permissions ---------- //
155175
addPermissions (streamId: string, defaultName: string, level: string) {
156176
this.#permissions.push({streamId, defaultName, level});
157177
}
158178

179+
// ---------- sections ------------- //
180+
159181
/**
160182
* Return Content to comply with initial implementation as an object
161183
*/
@@ -227,9 +249,10 @@ class CollectorRequestSection {
227249
this.#name[languageCode] = name;
228250
}
229251

230-
get type() { return this.#type }
231-
get key() { return this.#key }
252+
get type(): RequestSectionType { return this.#type }
253+
get key(): string { return this.#key }
232254
get itemKeys() { return this.#itemKeys }
255+
get name(): localizableText { return this.#name }
233256

234257
getData() {
235258
return {

0 commit comments

Comments
 (0)