spec-3nweb-server 1.5.1 → 1.5.2

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.
@@ -48,8 +48,7 @@ function makeApp(domain, sessions, users, midAuthorizer) {
48
48
  exports.makeApp = makeApp;
49
49
  function setWSPart(app, sessions, users) {
50
50
  const sockets = new app_1.UserSockets(sessions.ensureAuthorizedSessionForSocketStart());
51
- const storageEvents = new server_events_1.ServerEvents(undefined, [api.objChanged.EVENT_NAME,
52
- api.objRemoved.EVENT_NAME], sockets.socketGetter);
51
+ const storageEvents = new server_events_1.ServerEvents(undefined, api.events.all, sockets.socketGetter);
53
52
  // give events ipc to both ends
54
53
  sockets.addSocketIPC(storageEvents);
55
54
  users.setStorageEventsSink(storageEvents.eventsSink);
@@ -2,11 +2,10 @@
2
2
  import { Readable } from 'stream';
3
3
  import { PutObjFirstQueryOpts, PutObjSecondQueryOpts } from '../../lib-common/service-api/3nstorage/owner';
4
4
  import { UserFiles, ObjReader } from '../../lib-server/resources/user-files';
5
- import { DiffInfo, objChanged, objRemoved } from '../../lib-common/service-api/3nstorage/owner';
5
+ import { DiffInfo, events } from '../../lib-common/service-api/3nstorage/owner';
6
6
  export { DiffInfo } from '../../lib-common/service-api/3nstorage/owner';
7
7
  export { ObjPipe, ObjReader } from '../../lib-server/resources/user-files';
8
- export declare type MsgEvents = objChanged.Event | objRemoved.Event;
9
- export declare type StorageEventsSink = (userId: string, channel: string, event: MsgEvents) => void;
8
+ export declare type StorageEventsSink = (userId: string, channel: events.EventNameType, event: events.AllTypes) => void;
10
9
  export declare const SC: {
11
10
  USER_UNKNOWN: string;
12
11
  OBJ_EXIST: string;
@@ -172,10 +172,7 @@ class Store extends user_files_1.UserFiles {
172
172
  throw exports.SC.OBJ_FILE_INCOMPLETE;
173
173
  }
174
174
  await this.transactions.complete(objId, trans, file);
175
- this.storageEventsSink(this.userId, owner_1.objChanged.EVENT_NAME, {
176
- objId,
177
- newVer: opts.ver
178
- });
175
+ this.storageEventsSink(this.userId, owner_1.events.objChanged.EVENT_NAME, { objId, newVer: opts.ver });
179
176
  }
180
177
  else {
181
178
  return trans.transactionId;
@@ -214,10 +211,7 @@ class Store extends user_files_1.UserFiles {
214
211
  throw exports.SC.OBJ_FILE_INCOMPLETE;
215
212
  }
216
213
  await this.transactions.complete(objId, trans, file);
217
- this.storageEventsSink(this.userId, owner_1.objChanged.EVENT_NAME, {
218
- objId,
219
- newVer: trans.version
220
- });
214
+ this.storageEventsSink(this.userId, owner_1.events.objChanged.EVENT_NAME, { objId, newVer: trans.version });
221
215
  }
222
216
  else {
223
217
  return opts.trans;
@@ -342,9 +336,7 @@ class Store extends user_files_1.UserFiles {
342
336
  await this.rmObjFiles(objId, version);
343
337
  }
344
338
  }
345
- this.storageEventsSink(this.userId, owner_1.objRemoved.EVENT_NAME, {
346
- objId,
347
- });
339
+ this.storageEventsSink(this.userId, owner_1.events.objRemoved.EVENT_NAME, { objId });
348
340
  }
349
341
  async deleteArchivedObjVer(objId, version) {
350
342
  const status = await this.statuses.get(objId);
@@ -368,9 +360,7 @@ class Store extends user_files_1.UserFiles {
368
360
  else if (status.currentVersion !== version) {
369
361
  await this.statuses.deleteWithObj(objId);
370
362
  }
371
- // this.storageEventsSink(this.userId, objRemoved.EVENT_NAME, {
372
- // objId,
373
- // });
363
+ this.storageEventsSink(this.userId, owner_1.events.objArchivedVersionRemoved.EVENT_NAME, { objId, archivedVer: version });
374
364
  }
375
365
  /**
376
366
  * @param objId is a string object id for non-root objects, and null for
@@ -421,6 +411,7 @@ class Store extends user_files_1.UserFiles {
421
411
  status.archivedVersions = [status.currentVersion];
422
412
  }
423
413
  await this.statuses.set(objId, status);
414
+ this.storageEventsSink(this.userId, owner_1.events.objVersionArchived.EVENT_NAME, { objId, archivedVer: version });
424
415
  }
425
416
  async listObjArchive(objId) {
426
417
  const status = await this.statuses.get(objId);
@@ -249,23 +249,59 @@ export declare namespace wsEventChannel {
249
249
  ok: number;
250
250
  };
251
251
  }
252
- export declare namespace objChanged {
253
- const EVENT_NAME = "obj-changed";
254
- interface Event {
255
- /**
256
- * This indentifies a non-root object by its string id, while null value
257
- * identifies root object.
258
- */
259
- objId: string | null;
260
- newVer: number;
252
+ export declare namespace events {
253
+ namespace objChanged {
254
+ const EVENT_NAME = "obj-changed";
255
+ interface Event {
256
+ /**
257
+ * This indentifies a non-root object by its string id, while null
258
+ * value identifies root object.
259
+ */
260
+ objId: string | null;
261
+ /**
262
+ * New current version on the server.
263
+ */
264
+ newVer: number;
265
+ }
261
266
  }
262
- }
263
- export declare namespace objRemoved {
264
- const EVENT_NAME = "obj-removed";
265
- interface Event {
266
- /**
267
- * This indentifies a removed non-root object by its string id.
268
- */
269
- objId: string;
267
+ namespace objRemoved {
268
+ const EVENT_NAME = "obj-removed";
269
+ interface Event {
270
+ /**
271
+ * This indentifies a removed non-root object by its string id.
272
+ */
273
+ objId: string;
274
+ }
275
+ }
276
+ namespace objVersionArchived {
277
+ const EVENT_NAME = "obj-ver-archived";
278
+ interface Event {
279
+ /**
280
+ * This indentifies a non-root object by its string id, while null
281
+ * value identifies root object.
282
+ */
283
+ objId: string | null;
284
+ /**
285
+ * Version that was set archived on the server.
286
+ */
287
+ archivedVer: number;
288
+ }
289
+ }
290
+ namespace objArchivedVersionRemoved {
291
+ const EVENT_NAME = "obj-ver-removed";
292
+ interface Event {
293
+ /**
294
+ * This indentifies a non-root object by its string id, while null
295
+ * value identifies root object.
296
+ */
297
+ objId: string | null;
298
+ /**
299
+ * Archived version that was removed on the server.
300
+ */
301
+ archivedVer: number;
302
+ }
270
303
  }
304
+ const all: string[];
305
+ type EventNameType = (typeof objChanged.EVENT_NAME) | (typeof objRemoved.EVENT_NAME) | (typeof objVersionArchived.EVENT_NAME) | (typeof objArchivedVersionRemoved.EVENT_NAME);
306
+ type AllTypes = objChanged.Event | objRemoved.Event | objVersionArchived.Event | objArchivedVersionRemoved.Event;
271
307
  }
@@ -16,7 +16,7 @@
16
16
  this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.objRemoved = exports.objChanged = exports.wsEventChannel = exports.archiveRoot = exports.archiveObj = exports.cancelRootTransaction = exports.cancelTransaction = exports.addDiffSectionTo = exports.sanitizedDiff = exports.archivedRootVersion = exports.archivedObjVersion = exports.currentRootObj = exports.currentObj = exports.keyDerivParams = exports.PARAM_SC = exports.sessionParams = exports.closeSession = exports.midLogin = exports.BIN_TYPE = exports.HTTP_HEADER = exports.ERR_SC = void 0;
19
+ exports.events = exports.wsEventChannel = exports.archiveRoot = exports.archiveObj = exports.cancelRootTransaction = exports.cancelTransaction = exports.addDiffSectionTo = exports.sanitizedDiff = exports.archivedRootVersion = exports.archivedObjVersion = exports.currentRootObj = exports.currentObj = exports.keyDerivParams = exports.PARAM_SC = exports.sessionParams = exports.closeSession = exports.midLogin = exports.BIN_TYPE = exports.HTTP_HEADER = exports.ERR_SC = void 0;
20
20
  /**
21
21
  * This defines interfaces for 3nstorage owner's requests.
22
22
  */
@@ -263,14 +263,34 @@ var wsEventChannel;
263
263
  Object.freeze(wsEventChannel.SC);
264
264
  })(wsEventChannel = exports.wsEventChannel || (exports.wsEventChannel = {}));
265
265
  Object.freeze(wsEventChannel);
266
- var objChanged;
267
- (function (objChanged) {
268
- objChanged.EVENT_NAME = 'obj-changed';
269
- })(objChanged = exports.objChanged || (exports.objChanged = {}));
270
- Object.freeze(objChanged);
271
- var objRemoved;
272
- (function (objRemoved) {
273
- objRemoved.EVENT_NAME = 'obj-removed';
274
- })(objRemoved = exports.objRemoved || (exports.objRemoved = {}));
275
- Object.freeze(objChanged);
266
+ var events;
267
+ (function (events) {
268
+ let objChanged;
269
+ (function (objChanged) {
270
+ objChanged.EVENT_NAME = 'obj-changed';
271
+ })(objChanged = events.objChanged || (events.objChanged = {}));
272
+ Object.freeze(objChanged);
273
+ let objRemoved;
274
+ (function (objRemoved) {
275
+ objRemoved.EVENT_NAME = 'obj-removed';
276
+ })(objRemoved = events.objRemoved || (events.objRemoved = {}));
277
+ Object.freeze(objRemoved);
278
+ let objVersionArchived;
279
+ (function (objVersionArchived) {
280
+ objVersionArchived.EVENT_NAME = 'obj-ver-archived';
281
+ })(objVersionArchived = events.objVersionArchived || (events.objVersionArchived = {}));
282
+ Object.freeze(objVersionArchived);
283
+ let objArchivedVersionRemoved;
284
+ (function (objArchivedVersionRemoved) {
285
+ objArchivedVersionRemoved.EVENT_NAME = 'obj-ver-removed';
286
+ })(objArchivedVersionRemoved = events.objArchivedVersionRemoved || (events.objArchivedVersionRemoved = {}));
287
+ Object.freeze(objArchivedVersionRemoved);
288
+ events.all = [
289
+ objChanged.EVENT_NAME,
290
+ objRemoved.EVENT_NAME,
291
+ objVersionArchived.EVENT_NAME,
292
+ objArchivedVersionRemoved.EVENT_NAME,
293
+ ];
294
+ })(events = exports.events || (exports.events = {}));
295
+ Object.freeze(events);
276
296
  Object.freeze(exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-3nweb-server",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "3NWeb spec server.",
5
5
  "main": "build/lib.js",
6
6
  "types": "build/lib.d.ts",