verteilen-core 1.4.3 → 1.4.6

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.
@@ -11,3 +11,5 @@ export * as ClientParameter from './client/database';
11
11
  export * as ClientResource from './client/resource';
12
12
  export * as ClientShell from './client/shell';
13
13
  export * as Execute_WebhookServerManager from './script/webhook_server_manager';
14
+ export * as ServerWorker from './server/server2';
15
+ export * as ServerIO from './server/io2';
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.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.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"));
@@ -47,3 +47,5 @@ exports.ClientParameter = __importStar(require("./client/database"));
47
47
  exports.ClientResource = __importStar(require("./client/resource"));
48
48
  exports.ClientShell = __importStar(require("./client/shell"));
49
49
  exports.Execute_WebhookServerManager = __importStar(require("./script/webhook_server_manager"));
50
+ exports.ServerWorker = __importStar(require("./server/server2"));
51
+ exports.ServerIO = __importStar(require("./server/io2"));
@@ -1,4 +1,3 @@
1
- import { MongoClient } from "mongodb";
2
1
  import { Project, RecordType, Database, UserProfile, Library, ExecutionLog, Node, Task, Job } from "../interface";
3
2
  export interface MemoryData {
4
3
  projects: Array<Project>;
@@ -11,22 +10,12 @@ export interface MemoryData {
11
10
  user: Array<UserProfile>;
12
11
  }
13
12
  export interface RecordIOLoader {
14
- load_all: (cache: boolean, 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>;
20
- }
21
- export interface RecordLoader {
22
- project: RecordIOLoader;
23
- task: RecordIOLoader;
24
- job: RecordIOLoader;
25
- database: RecordIOLoader;
26
- node: RecordIOLoader;
27
- log: RecordIOLoader;
28
- lib: RecordIOLoader;
29
- user: 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>;
30
19
  }
31
20
  export interface RecordIOBase {
32
21
  root: string;
@@ -41,9 +30,15 @@ export interface RecordIOBase {
41
30
  rm: (path: string) => Promise<void>;
42
31
  cp: (path: string, newpath: string) => Promise<void>;
43
32
  }
33
+ export interface RecordLoader {
34
+ project: RecordIOLoader;
35
+ task: RecordIOLoader;
36
+ job: RecordIOLoader;
37
+ database: RecordIOLoader;
38
+ node: RecordIOLoader;
39
+ log: RecordIOLoader;
40
+ lib: RecordIOLoader;
41
+ user: RecordIOLoader;
42
+ }
44
43
  export declare const _CreateRecordMemoryLoader: (loader: MemoryData, type: RecordType) => RecordIOLoader;
45
- export declare const _CreateRecordIOLoader: (loader: RecordIOBase, memory: MemoryData, type: RecordType, folder: string, ext?: string) => RecordIOLoader;
46
- export declare const _CreateRecordMongoLoader: (loader: MongoClient, memory: MemoryData, type: RecordType, db: string, collection: string) => RecordIOLoader;
47
44
  export declare const CreateRecordMemoryLoader: (loader: MemoryData) => RecordLoader;
48
- export declare const CreateRecordIOLoader: (loader: RecordIOBase, memory: MemoryData) => RecordLoader;
49
- export declare const CreateRecordMongoLoader: (url: string, memory: MemoryData) => RecordLoader;
package/dist/server/io.js CHANGED
@@ -1,88 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CreateRecordMongoLoader = exports.CreateRecordIOLoader = exports.CreateRecordMemoryLoader = exports._CreateRecordMongoLoader = exports._CreateRecordIOLoader = exports._CreateRecordMemoryLoader = void 0;
7
- const mongodb_1 = require("mongodb");
3
+ exports.CreateRecordMemoryLoader = exports._CreateRecordMemoryLoader = void 0;
8
4
  const interface_1 = require("../interface");
9
- const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
10
- const permissionHelper = (x, uuid) => {
11
- const ispublic = x.owner == undefined || x.acl == interface_1.ACLType.PUBLIC;
12
- if (ispublic)
13
- return true;
14
- const isowner = x.owner == uuid;
15
- if (isowner)
16
- return true;
17
- const canbeshared = x.acl != interface_1.ACLType.PRIVATE;
18
- if (!canbeshared)
19
- return false;
20
- if (!x.shared)
21
- return false;
22
- const target = x.shared.find(x => x.user == uuid);
23
- if (target == undefined)
24
- return false;
25
- return true;
26
- };
27
- const permissionGetPublic = (v) => {
28
- return v.filter(x => x.owner == undefined || x.acl == interface_1.ACLType.PUBLIC);
29
- };
30
- const obsoleteSupport = async (loader, type, folder) => {
31
- if (type == interface_1.RecordType.PROJECT) {
32
- const path = loader.join(loader.root, "record");
33
- if (!loader.exists(path))
34
- return;
35
- const p = await loader.read_dir_file(path);
36
- const ps = p.filter(x => x.endsWith(".json")).map(x => {
37
- const path_r = loader.join(path, x);
38
- return loader.read_string(path_r);
39
- });
40
- const allRecordText = await Promise.all(ps);
41
- const allRecord = allRecordText.map(x => JSON.parse(x));
42
- const execute_project = [];
43
- const execute_task = [];
44
- const execute_job = [];
45
- for (let x of allRecord) {
46
- const tasks = x.task;
47
- x.tasks = [];
48
- x.database_uuid = x.parameter_uuid;
49
- x.tasks_uuid = tasks.map(y => y.uuid);
50
- delete x.parameter_uuid;
51
- delete x.task;
52
- for (let y of tasks) {
53
- const jobs = y.jobs;
54
- y.jobs = [];
55
- y.jobs_uuid = jobs.map(z => z.uuid);
56
- for (let z of jobs) {
57
- z.id_args = [];
58
- const d3 = loader.join(loader.root, "job", `${z.uuid}.json`);
59
- execute_job.push(loader.write_string(d3, JSON.stringify(z, null, 4)));
60
- }
61
- const d2 = loader.join(loader.root, "task", `${y.uuid}.json`);
62
- execute_task.push(loader.write_string(d2, JSON.stringify(y, null, 4)));
63
- }
64
- const d1 = loader.join(loader.root, "project", `${x.uuid}.json`);
65
- execute_project.push(loader.write_string(d1, JSON.stringify(x, null, 4)));
66
- }
67
- await Promise.all(execute_project);
68
- await Promise.all(execute_task);
69
- await Promise.all(execute_job);
70
- await loader.rm(path);
71
- }
72
- else if (type == interface_1.RecordType.DATABASE) {
73
- const path = loader.join(loader.root, "parameter");
74
- if (!loader.exists(path))
75
- return;
76
- const p = await loader.read_dir_file(path);
77
- const ps = p.filter(x => x.endsWith(".json")).map(x => {
78
- const path2 = loader.join(path, x);
79
- const path3 = loader.join(loader.root, folder, x);
80
- return loader.cp(path2, path3);
81
- });
82
- await Promise.all(ps);
83
- loader.rm(path);
84
- }
85
- };
86
5
  const _CreateRecordMemoryLoader = (loader, type) => {
87
6
  const get_array = (type) => {
88
7
  switch (type) {
@@ -98,327 +17,45 @@ const _CreateRecordMemoryLoader = (loader, type) => {
98
17
  }
99
18
  };
100
19
  return {
101
- load_all: async (cache, token) => {
102
- return new Promise((resolve, reject) => {
103
- const arr = get_array(type);
104
- const pub = permissionGetPublic(arr).map(x => JSON.stringify(x));
105
- const default_behaviour = (v) => resolve(v);
106
- if (token == undefined) {
107
- default_behaviour(pub);
108
- return;
109
- }
110
- jsonwebtoken_1.default.verify(token, interface_1.SERECT, { complete: true }, (err, decode) => {
111
- if (err) {
112
- reject(err.name);
113
- return;
114
- }
115
- if (decode == undefined) {
116
- default_behaviour(pub);
117
- return;
118
- }
119
- const payload = JSON.parse(decode.payload);
120
- return arr.filter(x => permissionHelper(x, payload.user))
121
- .map(x => JSON.stringify(x));
122
- });
123
- });
20
+ load_all: async () => {
21
+ const arr = get_array(type);
22
+ return arr.map(x => JSON.stringify(x));
124
23
  },
125
- delete_all: async (token) => {
126
- return new Promise((resolve, reject) => {
127
- const arr = get_array(type);
128
- const pub = permissionGetPublic(arr);
129
- const default_behaviour = (kill) => {
130
- const r = kill.map(x => x.uuid);
131
- kill.forEach(x => {
132
- const index = arr.findIndex(y => y.uuid == x.uuid);
133
- arr.slice(index, 1);
134
- });
135
- resolve(r);
136
- };
137
- if (token == undefined) {
138
- default_behaviour(pub);
139
- return;
140
- }
141
- jsonwebtoken_1.default.verify(token, interface_1.SERECT, { complete: true }, (err, decode) => {
142
- if (err) {
143
- reject(err.name);
144
- return;
145
- }
146
- if (decode == undefined) {
147
- default_behaviour(pub);
148
- return;
149
- }
150
- const payload = JSON.parse(decode.payload);
151
- const targets = arr.filter(x => permissionHelper(x, payload.user));
152
- default_behaviour(targets);
153
- });
154
- });
24
+ delete_all: async () => {
25
+ const arr = get_array(type);
26
+ const p = arr.splice(0, arr.length);
27
+ return p.map(x => x.uuid);
155
28
  },
156
- list_all: async (token) => {
157
- return new Promise((resolve, reject) => {
158
- const arr = get_array(type);
159
- const pub = permissionGetPublic(arr);
160
- const default_behaviour = () => {
161
- resolve(pub.map(x => x.uuid));
162
- };
163
- if (token == undefined) {
164
- default_behaviour();
165
- return;
166
- }
167
- jsonwebtoken_1.default.verify(token, interface_1.SERECT, { complete: true }, (err, decode) => {
168
- if (err) {
169
- reject(err.name);
170
- return;
171
- }
172
- if (decode == undefined) {
173
- default_behaviour();
174
- return;
175
- }
176
- const payload = JSON.parse(decode.payload);
177
- const targets = arr.filter(x => permissionHelper(x, payload.user));
178
- resolve(targets.map(x => x.uuid));
179
- });
180
- });
29
+ list_all: async () => {
30
+ const arr = get_array(type);
31
+ return arr.map(x => x.uuid);
181
32
  },
182
- save: async (uuid, data, token) => {
183
- return new Promise((resolve, reject) => {
184
- const arr = get_array(type);
185
- const index = arr.findIndex(x => x.uuid == uuid);
186
- const exist = index == -1 ? undefined : arr[index];
187
- if (!exist) {
188
- arr.push(JSON.parse(data));
189
- resolve(true);
190
- return;
191
- }
192
- const ispublic = exist.owner == undefined || exist.acl == interface_1.ACLType.PUBLIC;
193
- if (ispublic) {
194
- arr[index] = Object.assign(exist, JSON.parse(data));
195
- resolve(true);
196
- return;
197
- }
198
- if (token == undefined) {
199
- reject("Require Token");
200
- return;
201
- }
202
- jsonwebtoken_1.default.verify(token, interface_1.SERECT, { complete: true }, (err, decode) => {
203
- if (err) {
204
- reject(err.name);
205
- return;
206
- }
207
- if (decode == undefined) {
208
- reject("Require Token");
209
- return;
210
- }
211
- const payload = JSON.parse(decode.payload);
212
- if (permissionHelper(exist, payload.user)) {
213
- arr[index] = Object.assign(exist, JSON.parse(data));
214
- }
215
- else {
216
- reject("Permission Denied");
217
- }
218
- });
219
- });
220
- },
221
- load: async (uuid, token) => {
222
- return new Promise((resolve, reject) => {
223
- const arr = get_array(type);
224
- const index = arr.findIndex(x => uuid == x.uuid);
225
- const exist = index == -1 ? undefined : arr[index];
226
- if (exist == undefined) {
227
- reject("Item do not exists");
228
- return;
229
- }
230
- const ispublic = exist.owner == undefined || exist.acl == interface_1.ACLType.PUBLIC;
231
- if (ispublic) {
232
- resolve(JSON.stringify(exist));
233
- return;
234
- }
235
- if (token == undefined) {
236
- reject("Require Token");
237
- return;
238
- }
239
- jsonwebtoken_1.default.verify(token, interface_1.SERECT, { complete: true }, (err, decode) => {
240
- if (err) {
241
- reject(err.name);
242
- return;
243
- }
244
- if (decode == undefined) {
245
- reject("Require Token");
246
- return;
247
- }
248
- const payload = JSON.parse(decode.payload);
249
- if (permissionHelper(exist, payload.user)) {
250
- resolve(JSON.stringify(exist));
251
- }
252
- else {
253
- reject("Permission Denied");
254
- }
255
- });
256
- });
257
- },
258
- delete: async (uuid, token) => {
259
- return new Promise((resolve, reject) => {
260
- const arr = get_array(type);
261
- const index = arr.findIndex(x => uuid == x.uuid);
262
- const exist = index == -1 ? undefined : arr[index];
263
- const default_behaviour = () => {
264
- arr.splice(index, 1);
265
- resolve(true);
266
- };
267
- if (exist == undefined) {
268
- resolve(false);
269
- return;
270
- }
271
- const ispublic = exist.owner == undefined || exist.acl == interface_1.ACLType.PUBLIC;
272
- if (ispublic) {
273
- default_behaviour();
274
- return;
275
- }
276
- if (token == undefined) {
277
- reject("Require Token");
278
- return;
279
- }
280
- jsonwebtoken_1.default.verify(token, interface_1.SERECT, { complete: true }, (err, decode) => {
281
- if (err) {
282
- reject(err.name);
283
- return;
284
- }
285
- if (decode == undefined) {
286
- reject("Require Token");
287
- return;
288
- }
289
- const payload = JSON.parse(decode.payload);
290
- if (permissionHelper(exist, payload.user)) {
291
- default_behaviour();
292
- }
293
- else {
294
- reject("Permission Denied");
295
- }
296
- });
297
- });
298
- }
299
- };
300
- };
301
- exports._CreateRecordMemoryLoader = _CreateRecordMemoryLoader;
302
- const _CreateRecordIOLoader = (loader, memory, type, folder, ext = ".json") => {
303
- const mem = (0, exports._CreateRecordMemoryLoader)(memory, type);
304
- return {
305
- load_all: async (cache, token) => {
306
- const root = loader.join(loader.root, folder);
307
- if (!loader.exists(root))
308
- await loader.mkdir(root);
309
- if (cache)
310
- return mem.load_all(cache, token);
311
- await obsoleteSupport(loader, type, folder);
312
- const files = await loader.read_dir_file(root);
313
- const r = files.map(x => loader.read_string(loader.join(root, x), { encoding: 'utf8', flag: 'r' }));
314
- const p = await Promise.all(r);
315
- const saver = p.map(x => {
316
- const data = JSON.parse(x);
317
- return mem.save(data.uuid, x, token);
318
- });
319
- await Promise.all(saver);
320
- return mem.load_all(cache, token);
321
- },
322
- delete_all: async (token) => {
323
- const root = loader.join(loader.root, folder);
324
- const c = await mem.delete_all(token);
325
- const kill_all = c.map(x => {
326
- return loader.rm(loader.join(root, x + ext));
327
- });
328
- await Promise.all(kill_all);
329
- return c;
330
- },
331
- list_all: async (token) => {
332
- const root = loader.join(loader.root, folder);
333
- if (!loader.exists(root))
334
- await loader.mkdir(root);
335
- return mem.list_all(token);
336
- },
337
- save: async (uuid, data, token) => {
338
- const root = loader.join(loader.root, folder);
339
- if (!loader.exists(root))
340
- await loader.mkdir(root);
341
- const r = await mem.save(uuid, data, token);
342
- if (!r)
343
- return false;
344
- const file = loader.join(root, uuid + ext);
345
- await loader.write_string(file, data);
33
+ save: async (uuid, data) => {
34
+ const arr = get_array(type);
35
+ const index = arr.findIndex(x => x.uuid == uuid);
36
+ if (index != -1)
37
+ arr[index] = JSON.parse(data);
38
+ else
39
+ arr.push(JSON.parse(data));
346
40
  return true;
347
41
  },
348
- load: async (uuid, token) => {
349
- const root = loader.join(loader.root, folder);
350
- if (!loader.exists(root))
351
- await loader.mkdir(root);
352
- return mem.load(uuid, token);
42
+ load: async (uuid) => {
43
+ const arr = get_array(type);
44
+ const p = arr.find(x => x.uuid == uuid);
45
+ if (p == undefined)
46
+ throw new Error("Item do not exists");
47
+ return JSON.stringify(p);
353
48
  },
354
- delete: async (uuid, token) => {
355
- const root = loader.join(loader.root, folder);
356
- if (!loader.exists(root))
357
- await loader.mkdir(root);
358
- const r = await mem.delete(uuid, token);
359
- if (!r)
360
- return false;
361
- const file = loader.join(root, uuid + ext);
362
- if (loader.exists(file)) {
363
- await loader.rm(file);
364
- }
49
+ delete: async (uuid) => {
50
+ const arr = get_array(type);
51
+ const index = arr.findIndex(x => x.uuid == uuid);
52
+ if (index != -1)
53
+ arr.splice(index, 1);
365
54
  return true;
366
55
  }
367
56
  };
368
57
  };
369
- exports._CreateRecordIOLoader = _CreateRecordIOLoader;
370
- const _CreateRecordMongoLoader = (loader, memory, type, db, collection) => {
371
- const mem = (0, exports._CreateRecordMemoryLoader)(memory, type);
372
- return {
373
- load_all: async (cache, token) => {
374
- if (cache)
375
- return mem.load_all(cache, token);
376
- const database = loader.db(db);
377
- const col = database.collection(collection);
378
- const data = await col.find({}).toArray();
379
- const exec = data.map(x => {
380
- return mem.save(x.uuid, JSON.stringify(x), token);
381
- });
382
- await Promise.all(exec);
383
- return mem.load_all(cache, token);
384
- },
385
- delete_all: async (token) => {
386
- const c = await mem.delete_all(token);
387
- const database = loader.db(db);
388
- const col = database.collection(collection);
389
- const exec = c.map(x => {
390
- return col.deleteOne({ uuid: x });
391
- });
392
- await Promise.all(exec);
393
- return c;
394
- },
395
- list_all: async (token) => {
396
- return mem.list_all(token);
397
- },
398
- save: async (uuid, data, token) => {
399
- const r = await mem.save(uuid, data, token);
400
- if (!r)
401
- return false;
402
- const database = loader.db(db);
403
- const col = database.collection(collection);
404
- col.findOneAndUpdate({ uuid: uuid }, JSON.parse(data));
405
- return true;
406
- },
407
- load: async (uuid, token) => {
408
- return mem.load(uuid, token);
409
- },
410
- delete: async (uuid, token) => {
411
- const r = await mem.delete(uuid, token);
412
- if (!r)
413
- return false;
414
- const database = loader.db(db);
415
- const col = database.collection(collection);
416
- await col.deleteOne({ uuid: uuid });
417
- return true;
418
- }
419
- };
420
- };
421
- exports._CreateRecordMongoLoader = _CreateRecordMongoLoader;
58
+ exports._CreateRecordMemoryLoader = _CreateRecordMemoryLoader;
422
59
  const CreateRecordMemoryLoader = (loader) => {
423
60
  return {
424
61
  project: (0, exports._CreateRecordMemoryLoader)(loader, interface_1.RecordType.PROJECT),
@@ -432,30 +69,3 @@ const CreateRecordMemoryLoader = (loader) => {
432
69
  };
433
70
  };
434
71
  exports.CreateRecordMemoryLoader = CreateRecordMemoryLoader;
435
- const CreateRecordIOLoader = (loader, memory) => {
436
- 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"),
445
- };
446
- };
447
- exports.CreateRecordIOLoader = CreateRecordIOLoader;
448
- const CreateRecordMongoLoader = (url, memory) => {
449
- const loader = new mongodb_1.MongoClient(url);
450
- 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"),
459
- };
460
- };
461
- exports.CreateRecordMongoLoader = CreateRecordMongoLoader;
@@ -0,0 +1,37 @@
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;
35
+ export declare const CreateRecordMemoryLoader: (loader: MemoryData) => RecordLoader;
36
+ export declare const CreateRecordIOLoader: (loader: RecordIOBase, memory: MemoryData) => RecordLoader;
37
+ export declare const CreateRecordMongoLoader: (url: string, memory: MemoryData) => RecordLoader;