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.
package/build/3nstorage/owner.js
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
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.
|
|
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
|
|
267
|
-
(function (
|
|
268
|
-
objChanged
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
(
|
|
273
|
-
objRemoved
|
|
274
|
-
|
|
275
|
-
|
|
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);
|