verteilen-core 1.4.6 → 1.4.8

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.
@@ -13,3 +13,4 @@ export * as ClientShell from './client/shell';
13
13
  export * as Execute_WebhookServerManager from './script/webhook_server_manager';
14
14
  export * as ServerWorker from './server/server2';
15
15
  export * as ServerIO from './server/io2';
16
+ export * as ServerModule_Account from './server/module/account';
package/dist/computed.js CHANGED
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ServerIO = exports.ServerWorker = exports.Execute_WebhookServerManager = exports.ClientShell = exports.ClientResource = exports.ClientParameter = exports.ClientOS = exports.ClientJavascript = exports.ClientHttp = exports.ClientJobParameter = exports.ClientJobExecute = exports.ClientExecute = exports.ClientCluster = exports.Client = exports.ClientAnalysis = void 0;
36
+ exports.ServerModule_Account = exports.ServerIO = exports.ServerWorker = exports.Execute_WebhookServerManager = exports.ClientShell = exports.ClientResource = exports.ClientParameter = exports.ClientOS = exports.ClientJavascript = exports.ClientHttp = exports.ClientJobParameter = exports.ClientJobExecute = exports.ClientExecute = exports.ClientCluster = exports.Client = exports.ClientAnalysis = void 0;
37
37
  exports.ClientAnalysis = __importStar(require("./client/analysis"));
38
38
  exports.Client = __importStar(require("./client/client"));
39
39
  exports.ClientCluster = __importStar(require("./client/cluster"));
@@ -49,3 +49,4 @@ exports.ClientShell = __importStar(require("./client/shell"));
49
49
  exports.Execute_WebhookServerManager = __importStar(require("./script/webhook_server_manager"));
50
50
  exports.ServerWorker = __importStar(require("./server/server2"));
51
51
  exports.ServerIO = __importStar(require("./server/io2"));
52
+ exports.ServerModule_Account = __importStar(require("./server/module/account"));
@@ -1,4 +1,4 @@
1
- import { Project, RecordType, Database, UserProfile, Library, ExecutionLog, Node, Task, Job } from "../interface";
1
+ import { Project, Database, UserProfile, Library, ExecutionLog, Node, Task, Job } from "../interface";
2
2
  export interface MemoryData {
3
3
  projects: Array<Project>;
4
4
  tasks: Array<Task>;
@@ -10,12 +10,13 @@ export interface MemoryData {
10
10
  user: Array<UserProfile>;
11
11
  }
12
12
  export interface RecordIOLoader {
13
- load_all: () => Promise<Array<string>>;
14
- delete_all: () => Promise<Array<string>>;
15
- list_all: () => Promise<Array<string>>;
16
- save: (uuid: string, data: string) => Promise<boolean>;
17
- load: (uuid: string) => Promise<string>;
18
- delete: (uuid: string) => Promise<boolean>;
13
+ fetch_all: () => Promise<Array<string>>;
14
+ load_all: (token?: string) => Promise<Array<string>>;
15
+ delete_all: (token?: string) => Promise<Array<string>>;
16
+ list_all: (token?: string) => Promise<Array<string>>;
17
+ save: (uuid: string, data: string, token?: string) => Promise<boolean>;
18
+ load: (uuid: string, token?: string) => Promise<string>;
19
+ delete: (uuid: string, token?: string) => Promise<boolean>;
19
20
  }
20
21
  export interface RecordIOBase {
21
22
  root: string;
@@ -40,5 +41,4 @@ export interface RecordLoader {
40
41
  lib: RecordIOLoader;
41
42
  user: RecordIOLoader;
42
43
  }
43
- export declare const _CreateRecordMemoryLoader: (loader: MemoryData, type: RecordType) => RecordIOLoader;
44
- export declare const CreateRecordMemoryLoader: (loader: MemoryData) => RecordLoader;
44
+ export declare const CreateRecordMemoryLoader_Browser: (loader: MemoryData) => RecordLoader;
package/dist/server/io.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreateRecordMemoryLoader = exports._CreateRecordMemoryLoader = void 0;
3
+ exports.CreateRecordMemoryLoader_Browser = void 0;
4
4
  const interface_1 = require("../interface");
5
5
  const _CreateRecordMemoryLoader = (loader, type) => {
6
6
  const get_array = (type) => {
@@ -17,6 +17,10 @@ const _CreateRecordMemoryLoader = (loader, type) => {
17
17
  }
18
18
  };
19
19
  return {
20
+ fetch_all: async () => {
21
+ const arr = get_array(type);
22
+ return arr.map(x => JSON.stringify(x));
23
+ },
20
24
  load_all: async () => {
21
25
  const arr = get_array(type);
22
26
  return arr.map(x => JSON.stringify(x));
@@ -55,17 +59,16 @@ const _CreateRecordMemoryLoader = (loader, type) => {
55
59
  }
56
60
  };
57
61
  };
58
- exports._CreateRecordMemoryLoader = _CreateRecordMemoryLoader;
59
- const CreateRecordMemoryLoader = (loader) => {
62
+ const CreateRecordMemoryLoader_Browser = (loader) => {
60
63
  return {
61
- project: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.PROJECT),
62
- task: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.TASK),
63
- job: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.JOB),
64
- database: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.DATABASE),
65
- node: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.NODE),
66
- log: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.LOG),
67
- lib: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.LIB),
68
- user: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.USER),
64
+ project: _CreateRecordMemoryLoader(loader, interface_1.RecordType.PROJECT),
65
+ task: _CreateRecordMemoryLoader(loader, interface_1.RecordType.TASK),
66
+ job: _CreateRecordMemoryLoader(loader, interface_1.RecordType.JOB),
67
+ database: _CreateRecordMemoryLoader(loader, interface_1.RecordType.DATABASE),
68
+ node: _CreateRecordMemoryLoader(loader, interface_1.RecordType.NODE),
69
+ log: _CreateRecordMemoryLoader(loader, interface_1.RecordType.LOG),
70
+ lib: _CreateRecordMemoryLoader(loader, interface_1.RecordType.LIB),
71
+ user: _CreateRecordMemoryLoader(loader, interface_1.RecordType.USER),
69
72
  };
70
73
  };
71
- exports.CreateRecordMemoryLoader = CreateRecordMemoryLoader;
74
+ exports.CreateRecordMemoryLoader_Browser = CreateRecordMemoryLoader_Browser;
@@ -1,37 +1,4 @@
1
- import { MongoClient } from "mongodb";
2
- import { Project, RecordType, Database, UserProfile, Library, ExecutionLog, Node, Task, Job } from "../interface";
3
- import { RecordIOBase } from "./io";
4
- export interface MemoryData {
5
- projects: Array<Project>;
6
- tasks: Array<Task>;
7
- jobs: Array<Job>;
8
- database: Array<Database>;
9
- nodes: Array<Node>;
10
- logs: Array<ExecutionLog>;
11
- libs: Array<Library>;
12
- user: Array<UserProfile>;
13
- }
14
- export interface RecordIOLoader {
15
- load_all: (cache: boolean, token?: string) => Promise<Array<string>>;
16
- delete_all: (token?: string) => Promise<Array<string>>;
17
- list_all: (token?: string) => Promise<Array<string>>;
18
- save: (uuid: string, data: string, token?: string) => Promise<boolean>;
19
- load: (uuid: string, token?: string) => Promise<string>;
20
- delete: (uuid: string, token?: string) => Promise<boolean>;
21
- }
22
- export interface RecordLoader {
23
- project: RecordIOLoader;
24
- task: RecordIOLoader;
25
- job: RecordIOLoader;
26
- database: RecordIOLoader;
27
- node: RecordIOLoader;
28
- log: RecordIOLoader;
29
- lib: RecordIOLoader;
30
- user: RecordIOLoader;
31
- }
32
- export declare const _CreateRecordMemoryLoader: (loader: MemoryData, type: RecordType) => RecordIOLoader;
33
- export declare const _CreateRecordIOLoader: (loader: RecordIOBase, memory: MemoryData, type: RecordType, folder: string, ext?: string) => RecordIOLoader;
34
- export declare const _CreateRecordMongoLoader: (loader: MongoClient, memory: MemoryData, type: RecordType, db: string, collection: string) => RecordIOLoader;
1
+ import { MemoryData, RecordIOBase, RecordLoader } from "./io";
35
2
  export declare const CreateRecordMemoryLoader: (loader: MemoryData) => RecordLoader;
36
3
  export declare const CreateRecordIOLoader: (loader: RecordIOBase, memory: MemoryData) => RecordLoader;
37
4
  export declare const CreateRecordMongoLoader: (url: string, memory: MemoryData) => RecordLoader;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CreateRecordMongoLoader = exports.CreateRecordIOLoader = exports.CreateRecordMemoryLoader = exports._CreateRecordMongoLoader = exports._CreateRecordIOLoader = exports._CreateRecordMemoryLoader = void 0;
6
+ exports.CreateRecordMongoLoader = exports.CreateRecordIOLoader = exports.CreateRecordMemoryLoader = void 0;
7
7
  const mongodb_1 = require("mongodb");
8
8
  const interface_1 = require("../interface");
9
9
  const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
@@ -98,7 +98,11 @@ const _CreateRecordMemoryLoader = (loader, type) => {
98
98
  }
99
99
  };
100
100
  return {
101
- load_all: async (cache, token) => {
101
+ fetch_all: async () => {
102
+ const arr = get_array(type);
103
+ return arr.map(x => JSON.stringify(x));
104
+ },
105
+ load_all: async (token) => {
102
106
  return new Promise((resolve, reject) => {
103
107
  const arr = get_array(type);
104
108
  const pub = permissionGetPublic(arr).map(x => JSON.stringify(x));
@@ -298,26 +302,29 @@ const _CreateRecordMemoryLoader = (loader, type) => {
298
302
  }
299
303
  };
300
304
  };
301
- exports._CreateRecordMemoryLoader = _CreateRecordMemoryLoader;
302
305
  const _CreateRecordIOLoader = (loader, memory, type, folder, ext = ".json") => {
303
- const mem = (0, exports._CreateRecordMemoryLoader)(memory, type);
306
+ const mem = _CreateRecordMemoryLoader(memory, type);
304
307
  return {
305
- load_all: async (cache, token) => {
308
+ fetch_all: async () => {
306
309
  const root = loader.join(loader.root, folder);
307
310
  if (!loader.exists(root))
308
311
  await loader.mkdir(root);
309
- if (cache)
310
- return mem.load_all(cache, token);
311
312
  await obsoleteSupport(loader, type, folder);
312
313
  const files = await loader.read_dir_file(root);
313
314
  const r = files.map(x => loader.read_string(loader.join(root, x), { encoding: 'utf8', flag: 'r' }));
314
315
  const p = await Promise.all(r);
315
316
  const saver = p.map(x => {
316
317
  const data = JSON.parse(x);
317
- return mem.save(data.uuid, x, token);
318
+ return mem.save(data.uuid, x);
318
319
  });
319
320
  await Promise.all(saver);
320
- return mem.load_all(cache, token);
321
+ return mem.fetch_all();
322
+ },
323
+ load_all: async (token) => {
324
+ const root = loader.join(loader.root, folder);
325
+ if (!loader.exists(root))
326
+ await loader.mkdir(root);
327
+ return mem.load_all(token);
321
328
  },
322
329
  delete_all: async (token) => {
323
330
  const root = loader.join(loader.root, folder);
@@ -366,21 +373,21 @@ const _CreateRecordIOLoader = (loader, memory, type, folder, ext = ".json") => {
366
373
  }
367
374
  };
368
375
  };
369
- exports._CreateRecordIOLoader = _CreateRecordIOLoader;
370
376
  const _CreateRecordMongoLoader = (loader, memory, type, db, collection) => {
371
- const mem = (0, exports._CreateRecordMemoryLoader)(memory, type);
377
+ const mem = _CreateRecordMemoryLoader(memory, type);
372
378
  return {
373
- load_all: async (cache, token) => {
374
- if (cache)
375
- return mem.load_all(cache, token);
379
+ fetch_all: async () => {
376
380
  const database = loader.db(db);
377
381
  const col = database.collection(collection);
378
382
  const data = await col.find({}).toArray();
379
383
  const exec = data.map(x => {
380
- return mem.save(x.uuid, JSON.stringify(x), token);
384
+ return mem.save(x.uuid, JSON.stringify(x));
381
385
  });
382
386
  await Promise.all(exec);
383
- return mem.load_all(cache, token);
387
+ return mem.fetch_all();
388
+ },
389
+ load_all: async (token) => {
390
+ return mem.load_all(token);
384
391
  },
385
392
  delete_all: async (token) => {
386
393
  const c = await mem.delete_all(token);
@@ -418,44 +425,43 @@ const _CreateRecordMongoLoader = (loader, memory, type, db, collection) => {
418
425
  }
419
426
  };
420
427
  };
421
- exports._CreateRecordMongoLoader = _CreateRecordMongoLoader;
422
428
  const CreateRecordMemoryLoader = (loader) => {
423
429
  return {
424
- project: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.PROJECT),
425
- task: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.TASK),
426
- job: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.JOB),
427
- database: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.DATABASE),
428
- node: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.NODE),
429
- log: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.LOG),
430
- lib: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.LIB),
431
- user: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.USER),
430
+ project: _CreateRecordMemoryLoader(loader, interface_1.RecordType.PROJECT),
431
+ task: _CreateRecordMemoryLoader(loader, interface_1.RecordType.TASK),
432
+ job: _CreateRecordMemoryLoader(loader, interface_1.RecordType.JOB),
433
+ database: _CreateRecordMemoryLoader(loader, interface_1.RecordType.DATABASE),
434
+ node: _CreateRecordMemoryLoader(loader, interface_1.RecordType.NODE),
435
+ log: _CreateRecordMemoryLoader(loader, interface_1.RecordType.LOG),
436
+ lib: _CreateRecordMemoryLoader(loader, interface_1.RecordType.LIB),
437
+ user: _CreateRecordMemoryLoader(loader, interface_1.RecordType.USER),
432
438
  };
433
439
  };
434
440
  exports.CreateRecordMemoryLoader = CreateRecordMemoryLoader;
435
441
  const CreateRecordIOLoader = (loader, memory) => {
436
442
  return {
437
- project: (0, exports._CreateRecordIOLoader)(loader, memory, interface_1.RecordType.PROJECT, "project"),
438
- task: (0, exports._CreateRecordIOLoader)(loader, memory, interface_1.RecordType.TASK, "task"),
439
- job: (0, exports._CreateRecordIOLoader)(loader, memory, interface_1.RecordType.JOB, "job"),
440
- database: (0, exports._CreateRecordIOLoader)(loader, memory, interface_1.RecordType.DATABASE, "database"),
441
- node: (0, exports._CreateRecordIOLoader)(loader, memory, interface_1.RecordType.NODE, "node"),
442
- log: (0, exports._CreateRecordIOLoader)(loader, memory, interface_1.RecordType.LOG, "log"),
443
- lib: (0, exports._CreateRecordIOLoader)(loader, memory, interface_1.RecordType.LIB, "lib"),
444
- user: (0, exports._CreateRecordIOLoader)(loader, memory, interface_1.RecordType.USER, "user"),
443
+ project: _CreateRecordIOLoader(loader, memory, interface_1.RecordType.PROJECT, "project"),
444
+ task: _CreateRecordIOLoader(loader, memory, interface_1.RecordType.TASK, "task"),
445
+ job: _CreateRecordIOLoader(loader, memory, interface_1.RecordType.JOB, "job"),
446
+ database: _CreateRecordIOLoader(loader, memory, interface_1.RecordType.DATABASE, "database"),
447
+ node: _CreateRecordIOLoader(loader, memory, interface_1.RecordType.NODE, "node"),
448
+ log: _CreateRecordIOLoader(loader, memory, interface_1.RecordType.LOG, "log"),
449
+ lib: _CreateRecordIOLoader(loader, memory, interface_1.RecordType.LIB, "lib"),
450
+ user: _CreateRecordIOLoader(loader, memory, interface_1.RecordType.USER, "user"),
445
451
  };
446
452
  };
447
453
  exports.CreateRecordIOLoader = CreateRecordIOLoader;
448
454
  const CreateRecordMongoLoader = (url, memory) => {
449
455
  const loader = new mongodb_1.MongoClient(url);
450
456
  return {
451
- project: (0, exports._CreateRecordMongoLoader)(loader, memory, interface_1.RecordType.PROJECT, interface_1.MONGODB_NAME, "project"),
452
- task: (0, exports._CreateRecordMongoLoader)(loader, memory, interface_1.RecordType.TASK, interface_1.MONGODB_NAME, "task"),
453
- job: (0, exports._CreateRecordMongoLoader)(loader, memory, interface_1.RecordType.JOB, interface_1.MONGODB_NAME, "job"),
454
- database: (0, exports._CreateRecordMongoLoader)(loader, memory, interface_1.RecordType.DATABASE, interface_1.MONGODB_NAME, "database"),
455
- node: (0, exports._CreateRecordMongoLoader)(loader, memory, interface_1.RecordType.NODE, interface_1.MONGODB_NAME, "node"),
456
- log: (0, exports._CreateRecordMongoLoader)(loader, memory, interface_1.RecordType.LOG, interface_1.MONGODB_NAME, "log"),
457
- lib: (0, exports._CreateRecordMongoLoader)(loader, memory, interface_1.RecordType.LIB, interface_1.MONGODB_NAME, "lib"),
458
- user: (0, exports._CreateRecordMongoLoader)(loader, memory, interface_1.RecordType.USER, interface_1.MONGODB_NAME, "user"),
457
+ project: _CreateRecordMongoLoader(loader, memory, interface_1.RecordType.PROJECT, interface_1.MONGODB_NAME, "project"),
458
+ task: _CreateRecordMongoLoader(loader, memory, interface_1.RecordType.TASK, interface_1.MONGODB_NAME, "task"),
459
+ job: _CreateRecordMongoLoader(loader, memory, interface_1.RecordType.JOB, interface_1.MONGODB_NAME, "job"),
460
+ database: _CreateRecordMongoLoader(loader, memory, interface_1.RecordType.DATABASE, interface_1.MONGODB_NAME, "database"),
461
+ node: _CreateRecordMongoLoader(loader, memory, interface_1.RecordType.NODE, interface_1.MONGODB_NAME, "node"),
462
+ log: _CreateRecordMongoLoader(loader, memory, interface_1.RecordType.LOG, interface_1.MONGODB_NAME, "log"),
463
+ lib: _CreateRecordMongoLoader(loader, memory, interface_1.RecordType.LIB, interface_1.MONGODB_NAME, "lib"),
464
+ user: _CreateRecordMongoLoader(loader, memory, interface_1.RecordType.USER, interface_1.MONGODB_NAME, "user"),
459
465
  };
460
466
  };
461
467
  exports.CreateRecordMongoLoader = CreateRecordMongoLoader;
@@ -1,4 +1,3 @@
1
- export * from './account';
2
1
  export * from './log';
3
2
  export * from './project';
4
3
  export * from './service';
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./account"), exports);
18
17
  __exportStar(require("./log"), exports);
19
18
  __exportStar(require("./project"), exports);
20
19
  __exportStar(require("./service"), exports);
@@ -25,7 +25,7 @@ class ServerBase {
25
25
  detail;
26
26
  module_project;
27
27
  constructor() {
28
- this.memory_loader = (0, io_1.CreateRecordMemoryLoader)(this.memory);
28
+ this.memory_loader = (0, io_1.CreateRecordMemoryLoader_Browser)(this.memory);
29
29
  this.module_project = new project_1.Project_Module(this);
30
30
  }
31
31
  get current_loader() {
@@ -35,14 +35,14 @@ class ServerBase {
35
35
  }
36
36
  LoadFromDisk = () => {
37
37
  const ts = [
38
- this.current_loader.project.load_all(),
39
- this.current_loader.task.load_all(),
40
- this.current_loader.job.load_all(),
41
- this.current_loader.database.load_all(),
42
- this.current_loader.node.load_all(),
43
- this.current_loader.log.load_all(),
44
- this.current_loader.lib.load_all(),
45
- this.current_loader.user.load_all(),
38
+ this.current_loader.project.fetch_all(),
39
+ this.current_loader.task.fetch_all(),
40
+ this.current_loader.job.fetch_all(),
41
+ this.current_loader.database.fetch_all(),
42
+ this.current_loader.node.fetch_all(),
43
+ this.current_loader.log.fetch_all(),
44
+ this.current_loader.lib.fetch_all(),
45
+ this.current_loader.user.fetch_all(),
46
46
  ];
47
47
  return Promise.all(ts);
48
48
  };
@@ -1,7 +1,3 @@
1
- import { RecordLoader } from "./io2";
2
1
  import { ServerBase } from "./server";
3
2
  export declare class Server extends ServerBase {
4
- loader2: RecordLoader | undefined;
5
- get current_loader2(): RecordLoader;
6
- LoadFromDisk: () => Promise<Array<Array<string>>>;
7
3
  }
@@ -3,24 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Server = void 0;
4
4
  const server_1 = require("./server");
5
5
  class Server extends server_1.ServerBase {
6
- loader2 = undefined;
7
- get current_loader2() {
8
- if (this.loader)
9
- return this.loader;
10
- return this.memory_loader;
11
- }
12
- LoadFromDisk = () => {
13
- const ts = [
14
- this.current_loader2.project.load_all(false),
15
- this.current_loader2.task.load_all(false),
16
- this.current_loader2.job.load_all(false),
17
- this.current_loader2.database.load_all(false),
18
- this.current_loader2.node.load_all(false),
19
- this.current_loader2.log.load_all(false),
20
- this.current_loader2.lib.load_all(false),
21
- this.current_loader2.user.load_all(false),
22
- ];
23
- return Promise.all(ts);
24
- };
25
6
  }
26
7
  exports.Server = Server;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verteilen-core",
3
- "version": "1.4.6",
3
+ "version": "1.4.8",
4
4
  "license": "MIT",
5
5
  "homepage": "https://verteilen.github.io/wiki/",
6
6
  "author": "Elly",
package/src/computed.ts CHANGED
@@ -21,4 +21,5 @@ export * as Execute_WebhookServerManager from './script/webhook_server_manager'
21
21
  * Server
22
22
  */
23
23
  export * as ServerWorker from './server/server2'
24
- export * as ServerIO from './server/io2'
24
+ export * as ServerIO from './server/io2'
25
+ export * as ServerModule_Account from './server/module/account'
package/src/server/io.ts CHANGED
@@ -36,12 +36,13 @@ export interface MemoryData {
36
36
  * FOr backend server action
37
37
  */
38
38
  export interface RecordIOLoader {
39
- load_all: () => Promise<Array<string>>
40
- delete_all: () => Promise<Array<string>>
41
- list_all: () => Promise<Array<string>>
42
- save: (uuid:string, data:string) => Promise<boolean>
43
- load: (uuid:string) => Promise<string>
44
- delete: (uuid:string) => Promise<boolean>
39
+ fetch_all: () => Promise<Array<string>>
40
+ load_all: (token?:string) => Promise<Array<string>>
41
+ delete_all: (token?:string) => Promise<Array<string>>
42
+ list_all: (token?:string) => Promise<Array<string>>
43
+ save: (uuid:string, data:string, token?:string) => Promise<boolean>
44
+ load: (uuid:string, token?:string) => Promise<string>
45
+ delete: (uuid:string, token?:string) => Promise<boolean>
45
46
  }
46
47
  /**
47
48
  * **IO Function Interface**\
@@ -82,7 +83,7 @@ export interface RecordLoader {
82
83
  * @param type Type of storage
83
84
  * @returns Interface for calling
84
85
  */
85
- export const _CreateRecordMemoryLoader = (loader:MemoryData, type:RecordType):RecordIOLoader => {
86
+ const _CreateRecordMemoryLoader = (loader:MemoryData, type:RecordType):RecordIOLoader => {
86
87
  const get_array = (type:RecordType):Array<Shareable & DataHeader> => {
87
88
  switch(type){
88
89
  default:
@@ -97,6 +98,10 @@ export const _CreateRecordMemoryLoader = (loader:MemoryData, type:RecordType):Re
97
98
  }
98
99
  }
99
100
  return {
101
+ fetch_all: async ():Promise<Array<string>> => {
102
+ const arr = get_array(type)
103
+ return arr.map(x => JSON.stringify(x))
104
+ },
100
105
  load_all: async ():Promise<Array<string>> => {
101
106
  const arr = get_array(type)
102
107
  return arr.map(x => JSON.stringify(x))
@@ -139,7 +144,7 @@ export const _CreateRecordMemoryLoader = (loader:MemoryData, type:RecordType):Re
139
144
  * @param loader loader memory loader interface
140
145
  * @returns Interface for server calling
141
146
  */
142
- export const CreateRecordMemoryLoader = (loader:MemoryData):RecordLoader => {
147
+ export const CreateRecordMemoryLoader_Browser = (loader:MemoryData):RecordLoader => {
143
148
  return {
144
149
  project: _CreateRecordMemoryLoader(loader, RecordType.PROJECT),
145
150
  task: _CreateRecordMemoryLoader(loader, RecordType.TASK),
package/src/server/io2.ts CHANGED
@@ -5,15 +5,7 @@
5
5
  // ========================
6
6
  import { MongoClient } from "mongodb"
7
7
  import {
8
- Project,
9
8
  RecordType,
10
- Database,
11
- UserProfile,
12
- Library,
13
- ExecutionLog,
14
- Node,
15
- Task,
16
- Job,
17
9
  Shareable,
18
10
  ACLType,
19
11
  JWT,
@@ -22,48 +14,7 @@ import {
22
14
  MONGODB_NAME,
23
15
  } from "../interface"
24
16
  import jwt from 'jsonwebtoken'
25
- import { RecordIOBase } from "./io"
26
-
27
- /**
28
- * **Record Data**
29
- */
30
- export interface MemoryData {
31
- projects: Array<Project>
32
- tasks: Array<Task>
33
- jobs: Array<Job>
34
- database: Array<Database>
35
- nodes: Array<Node>
36
- logs: Array<ExecutionLog>
37
- libs: Array<Library>
38
- user: Array<UserProfile>
39
- }
40
-
41
- /**
42
- * **Server Use Interface**\
43
- * FOr backend server action
44
- */
45
- export interface RecordIOLoader {
46
- load_all: (cache:boolean, token?:string) => Promise<Array<string>>
47
- delete_all: (token?:string) => Promise<Array<string>>
48
- list_all: (token?:string) => Promise<Array<string>>
49
- save: (uuid:string, data:string, token?:string) => Promise<boolean>
50
- load: (uuid:string, token?:string) => Promise<string>
51
- delete: (uuid:string, token?:string) => Promise<boolean>
52
- }
53
- /**
54
- * **IO Loader Worker**\
55
- * Fetch data from storage space, could be disk or mongoDB
56
- */
57
- export interface RecordLoader {
58
- project: RecordIOLoader
59
- task: RecordIOLoader
60
- job: RecordIOLoader
61
- database: RecordIOLoader
62
- node: RecordIOLoader
63
- log: RecordIOLoader
64
- lib: RecordIOLoader
65
- user: RecordIOLoader
66
- }
17
+ import { MemoryData, RecordIOBase, RecordIOLoader, RecordLoader } from "./io"
67
18
 
68
19
  const permissionHelper = (x:Shareable & DataHeader, uuid:string) => {
69
20
  const ispublic = x.owner == undefined || x.acl == ACLType.PUBLIC
@@ -146,7 +97,7 @@ const obsoleteSupport = async (loader:RecordIOBase, type:RecordType, folder:stri
146
97
  * @param type Type of storage
147
98
  * @returns Interface for calling
148
99
  */
149
- export const _CreateRecordMemoryLoader = (loader:MemoryData, type:RecordType):RecordIOLoader => {
100
+ const _CreateRecordMemoryLoader = (loader:MemoryData, type:RecordType):RecordIOLoader => {
150
101
  const get_array = (type:RecordType):Array<Shareable & DataHeader> => {
151
102
  switch(type){
152
103
  default:
@@ -161,7 +112,11 @@ export const _CreateRecordMemoryLoader = (loader:MemoryData, type:RecordType):Re
161
112
  }
162
113
  }
163
114
  return {
164
- load_all: async (cache:boolean, token?:string):Promise<Array<string>> => {
115
+ fetch_all: async ():Promise<Array<string>> => {
116
+ const arr = get_array(type)
117
+ return arr.map(x => JSON.stringify(x))
118
+ },
119
+ load_all: async (token?:string):Promise<Array<string>> => {
165
120
  return new Promise<Array<string>>((resolve, reject) => {
166
121
  const arr = get_array(type)
167
122
  const pub = permissionGetPublic(arr).map(x => JSON.stringify(x))
@@ -380,13 +335,13 @@ export const _CreateRecordMemoryLoader = (loader:MemoryData, type:RecordType):Re
380
335
  * @param ext Store file extension
381
336
  * @returns Interface for calling
382
337
  */
383
- export const _CreateRecordIOLoader = (loader:RecordIOBase, memory:MemoryData, type:RecordType, folder:string, ext:string = ".json"):RecordIOLoader => {
338
+ const _CreateRecordIOLoader = (loader:RecordIOBase, memory:MemoryData, type:RecordType, folder:string, ext:string = ".json"):RecordIOLoader => {
384
339
  const mem = _CreateRecordMemoryLoader(memory, type)
385
340
  return {
386
- load_all: async (cache:boolean, token?:string):Promise<Array<string>> => {
341
+ fetch_all: async ():Promise<Array<string>> => {
387
342
  const root = loader.join(loader.root, folder)
388
343
  if(!loader.exists(root)) await loader.mkdir(root)
389
- if(cache) return mem.load_all(cache, token)
344
+
390
345
  await obsoleteSupport(loader, type, folder)
391
346
  const files = await loader.read_dir_file(root)
392
347
  const r:Array<Promise<string>> = files.map(x =>
@@ -395,10 +350,15 @@ export const _CreateRecordIOLoader = (loader:RecordIOBase, memory:MemoryData, ty
395
350
  const p = await Promise.all(r)
396
351
  const saver = p.map(x => {
397
352
  const data = JSON.parse(x)
398
- return mem.save(data.uuid, x, token)
353
+ return mem.save(data.uuid, x)
399
354
  })
400
355
  await Promise.all(saver)
401
- return mem.load_all(cache, token)
356
+ return mem.fetch_all()
357
+ },
358
+ load_all: async (token?:string):Promise<Array<string>> => {
359
+ const root = loader.join(loader.root, folder)
360
+ if(!loader.exists(root)) await loader.mkdir(root)
361
+ return mem.load_all(token)
402
362
  },
403
363
  delete_all: async (token?:string):Promise<Array<string>> => {
404
364
  const root = loader.join(loader.root, folder)
@@ -455,19 +415,21 @@ export const _CreateRecordIOLoader = (loader:RecordIOBase, memory:MemoryData, ty
455
415
  * @param collection Collection from database
456
416
  * @returns Interface for calling
457
417
  */
458
- export const _CreateRecordMongoLoader = (loader:MongoClient, memory:MemoryData, type:RecordType, db:string, collection:string):RecordIOLoader => {
418
+ const _CreateRecordMongoLoader = (loader:MongoClient, memory:MemoryData, type:RecordType, db:string, collection:string):RecordIOLoader => {
459
419
  const mem = _CreateRecordMemoryLoader(memory, type)
460
420
  return {
461
- load_all: async (cache: boolean, token?: string): Promise<Array<string>> => {
462
- if(cache) return mem.load_all(cache, token)
421
+ fetch_all: async (): Promise<Array<string>> => {
463
422
  const database = loader.db(db)
464
423
  const col = database.collection(collection)
465
424
  const data = await col.find({}).toArray()
466
425
  const exec = data.map(x => {
467
- return mem.save(x.uuid, JSON.stringify(x), token)
426
+ return mem.save(x.uuid, JSON.stringify(x))
468
427
  })
469
428
  await Promise.all(exec)
470
- return mem.load_all(cache, token)
429
+ return mem.fetch_all()
430
+ },
431
+ load_all: async (token?: string): Promise<Array<string>> => {
432
+ return mem.load_all(token)
471
433
  },
472
434
  delete_all: async (token?: string): Promise<Array<string>> => {
473
435
  // Memory action
@@ -1,4 +1,3 @@
1
- export * from './account'
2
1
  export * from './log'
3
2
  export * from './project'
4
3
  export * from './service'
@@ -5,7 +5,7 @@
5
5
  // ========================
6
6
  import { Execute_ConsoleServerManager, Header, PluginPageData } from "../interface";
7
7
  import { ServerDetail } from "./detail";
8
- import { CreateRecordMemoryLoader, MemoryData, RecordIOBase, RecordLoader } from "./io";
8
+ import { CreateRecordMemoryLoader_Browser, MemoryData, RecordIOBase, RecordLoader } from "./io";
9
9
  import { Project_Module } from "./module/project";
10
10
  import { PluginLoader } from "./plugin";
11
11
 
@@ -56,7 +56,7 @@ export class ServerBase {
56
56
  module_project: Project_Module
57
57
 
58
58
  constructor() {
59
- this.memory_loader = CreateRecordMemoryLoader(this.memory)
59
+ this.memory_loader = CreateRecordMemoryLoader_Browser(this.memory)
60
60
  this.module_project = new Project_Module(this)
61
61
  }
62
62
 
@@ -71,14 +71,14 @@ export class ServerBase {
71
71
  */
72
72
  LoadFromDisk = ():Promise<Array<Array<string>>> => {
73
73
  const ts = [
74
- this.current_loader.project.load_all(),
75
- this.current_loader.task.load_all(),
76
- this.current_loader.job.load_all(),
77
- this.current_loader.database.load_all(),
78
- this.current_loader.node.load_all(),
79
- this.current_loader.log.load_all(),
80
- this.current_loader.lib.load_all(),
81
- this.current_loader.user.load_all(),
74
+ this.current_loader.project.fetch_all(),
75
+ this.current_loader.task.fetch_all(),
76
+ this.current_loader.job.fetch_all(),
77
+ this.current_loader.database.fetch_all(),
78
+ this.current_loader.node.fetch_all(),
79
+ this.current_loader.log.fetch_all(),
80
+ this.current_loader.lib.fetch_all(),
81
+ this.current_loader.user.fetch_all(),
82
82
  ]
83
83
  return Promise.all(ts)
84
84
  }
@@ -3,7 +3,6 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
- import { RecordLoader } from "./io2";
7
6
  import { ServerBase } from "./server";
8
7
 
9
8
  /**
@@ -11,28 +10,5 @@ import { ServerBase } from "./server";
11
10
  * The task schedule server
12
11
  */
13
12
  export class Server extends ServerBase {
14
- loader2:RecordLoader | undefined = undefined
15
13
 
16
- public get current_loader2() : RecordLoader {
17
- if(this.loader) return this.loader
18
- return this.memory_loader
19
- }
20
-
21
- /**
22
- * **Data: Disk -> Memory**\
23
- * Load every type of data from disk, store them into memory
24
- */
25
- override LoadFromDisk = ():Promise<Array<Array<string>>> => {
26
- const ts = [
27
- this.current_loader2.project.load_all(false),
28
- this.current_loader2.task.load_all(false),
29
- this.current_loader2.job.load_all(false),
30
- this.current_loader2.database.load_all(false),
31
- this.current_loader2.node.load_all(false),
32
- this.current_loader2.log.load_all(false),
33
- this.current_loader2.lib.load_all(false),
34
- this.current_loader2.user.load_all(false),
35
- ]
36
- return Promise.all(ts)
37
- }
38
14
  }