@jd-data-limited/easy-fm 1.1.5-alpha1 → 1.1.6-alpha1
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/index.js +48 -0
- package/index.ts +54 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -386,6 +386,54 @@ class record extends EventEmitter {
|
|
|
386
386
|
getPortal(portal) {
|
|
387
387
|
return this.portals.find(p => p.name === portal);
|
|
388
388
|
}
|
|
389
|
+
delete() {
|
|
390
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
391
|
+
this.layout.database.apiRequest(this.endpoint, {
|
|
392
|
+
port: 443,
|
|
393
|
+
method: "DELETE"
|
|
394
|
+
})
|
|
395
|
+
.then(res => {
|
|
396
|
+
if (typeof res.response.scriptError !== "undefined" && res.response.scriptError !== '0') {
|
|
397
|
+
reject(new FMError(res.response.scriptError, res.status, res));
|
|
398
|
+
}
|
|
399
|
+
else if (res.messages[0].code === "0") {
|
|
400
|
+
this.emit("deleted");
|
|
401
|
+
resolve();
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
reject(new FMError(res.messages[0].code, res.status, res));
|
|
405
|
+
}
|
|
406
|
+
})
|
|
407
|
+
.catch(e => {
|
|
408
|
+
reject(e);
|
|
409
|
+
});
|
|
410
|
+
}));
|
|
411
|
+
}
|
|
412
|
+
duplicate() {
|
|
413
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
414
|
+
this.layout.database.apiRequest(this.endpoint, {
|
|
415
|
+
port: 443,
|
|
416
|
+
method: "POST"
|
|
417
|
+
})
|
|
418
|
+
.then(res => {
|
|
419
|
+
if (typeof res.response.scriptError !== "undefined" && res.response.scriptError !== '0') {
|
|
420
|
+
reject(new FMError(res.response.scriptError, res.status, res));
|
|
421
|
+
}
|
|
422
|
+
else if (res.messages[0].code === "0") {
|
|
423
|
+
let data = this.toObject((a) => true, (a) => true, (a) => false, (a) => false);
|
|
424
|
+
let _res = new record(this.layout, res.response.recordId, res.response.modId, data.fieldData, data.portalData);
|
|
425
|
+
this.emit("duplicated");
|
|
426
|
+
resolve(_res);
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
reject(new FMError(res.messages[0].code, res.status, res));
|
|
430
|
+
}
|
|
431
|
+
})
|
|
432
|
+
.catch(e => {
|
|
433
|
+
reject(e);
|
|
434
|
+
});
|
|
435
|
+
}));
|
|
436
|
+
}
|
|
389
437
|
toObject(filter = (a) => a.edited, portalFilter = (a) => a.records.find(record => record.edited), portalRowFilter = (a) => a.edited, portalFieldFilter = (a) => a.edited) {
|
|
390
438
|
let fields_processed = {};
|
|
391
439
|
for (let field of this.fields.filter(field => filter(field))) {
|
package/index.ts
CHANGED
|
@@ -85,7 +85,12 @@ interface Script {
|
|
|
85
85
|
interface recordObject {
|
|
86
86
|
recordId: number
|
|
87
87
|
modId: number,
|
|
88
|
-
fieldData: any
|
|
88
|
+
fieldData: any,
|
|
89
|
+
portalData: portalDataObject | undefined
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
interface portalDataObject {
|
|
93
|
+
[key: string]: recordObject
|
|
89
94
|
}
|
|
90
95
|
|
|
91
96
|
export default class FileMakerConnection extends EventEmitter {
|
|
@@ -482,6 +487,54 @@ class record extends EventEmitter {
|
|
|
482
487
|
getPortal(portal) {
|
|
483
488
|
return this.portals.find(p => p.name === portal)
|
|
484
489
|
}
|
|
490
|
+
|
|
491
|
+
delete(): Promise<void> {
|
|
492
|
+
return new Promise(async (resolve, reject) => {
|
|
493
|
+
this.layout.database.apiRequest(this.endpoint, {
|
|
494
|
+
port: 443,
|
|
495
|
+
method: "DELETE"
|
|
496
|
+
})
|
|
497
|
+
.then(res => {
|
|
498
|
+
if (typeof res.response.scriptError !== "undefined" && res.response.scriptError !== '0') {
|
|
499
|
+
reject(new FMError(res.response.scriptError, res.status, res))
|
|
500
|
+
} else if (res.messages[0].code === "0") {
|
|
501
|
+
this.emit("deleted")
|
|
502
|
+
resolve()
|
|
503
|
+
} else {
|
|
504
|
+
reject(new FMError(res.messages[0].code, res.status, res))
|
|
505
|
+
}
|
|
506
|
+
})
|
|
507
|
+
.catch(e => {
|
|
508
|
+
reject(e)
|
|
509
|
+
})
|
|
510
|
+
})
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
duplicate(): Promise<record> {
|
|
514
|
+
return new Promise(async (resolve, reject) => {
|
|
515
|
+
this.layout.database.apiRequest(this.endpoint, {
|
|
516
|
+
port: 443,
|
|
517
|
+
method: "POST"
|
|
518
|
+
})
|
|
519
|
+
.then(res => {
|
|
520
|
+
if (typeof res.response.scriptError !== "undefined" && res.response.scriptError !== '0') {
|
|
521
|
+
reject(new FMError(res.response.scriptError, res.status, res))
|
|
522
|
+
} else if (res.messages[0].code === "0") {
|
|
523
|
+
let data = this.toObject((a) => true, (a) => true, (a) => false, (a) => false)
|
|
524
|
+
let _res = new record(this.layout, res.response.recordId, res.response.modId, data.fieldData, data.portalData)
|
|
525
|
+
|
|
526
|
+
this.emit("duplicated")
|
|
527
|
+
resolve(_res)
|
|
528
|
+
} else {
|
|
529
|
+
reject(new FMError(res.messages[0].code, res.status, res))
|
|
530
|
+
}
|
|
531
|
+
})
|
|
532
|
+
.catch(e => {
|
|
533
|
+
reject(e)
|
|
534
|
+
})
|
|
535
|
+
})
|
|
536
|
+
}
|
|
537
|
+
|
|
485
538
|
|
|
486
539
|
toObject(filter = (a) => a.edited,
|
|
487
540
|
portalFilter = (a) => a.records.find(record => record.edited),
|