UNPKG

33.3 kBJavaScriptView Raw
1import require$$0$1 from 'axios';
2import require$$1 from 'lodash.get';
3import require$$10 from 'lodash.isnil';
4import require$$0$2 from 'is-object';
5
6var src = {};
7
8var formDataFactory = {
9 createFormData () {
10 {
11 return new FormData()
12 }
13 }
14};
15
16const axios = require$$0$1;
17const get$2 = require$$1;
18const FormDataFactory$1 = formDataFactory;
19
20function getInstance (options) {
21 const instance = axios.create(options);
22
23 instance.interceptors.response.use(response => {
24 const otcsticket = get$2(response, 'headers.otcsticket');
25
26 if (otcsticket) {
27 instance.defaults.headers.common.OTCSTicket = otcsticket;
28 }
29 return response
30 }, error => {
31 return Promise.reject(error)
32 });
33
34 return instance
35}
36
37function axiosFactory$1 (options) {
38 const instance = getInstance(options);
39
40 const username = get$2(options, 'username');
41 const password = get$2(options, 'password');
42 const otcsticket = get$2(options, 'otcsticket');
43
44 if (otcsticket) {
45 instance.defaults.headers.common.OTCSTicket = otcsticket;
46 } else if (username && password) {
47 instance.interceptors.request.use(async request => {
48 if (request.headers.common.OTCSTicket) {
49 return request
50 } else {
51 const formData = FormDataFactory$1.createFormData();
52
53 formData.append('username', username);
54 formData.append('password', password);
55
56 const response = await axios.post(`${options.baseURL}/api/v1/auth/`, formData);
57
58 request.headers.common.OTCSTicket = get$2(response, 'data.ticket');
59
60 return request
61 }
62 });
63 } else {
64 throw Error('You must provide an otcsticket or username and password.')
65 }
66
67 return instance
68}
69
70var axiosFactory_1 = axiosFactory$1;
71
72// const FormDataFactory = require('./form-data-factory')
73
74var auth$1 = session => ({
75 auth () {
76 return session.get('/api/v1/auth/')
77 }
78});
79
80var Accession = 834;
81var ActiveFolder = 1298;
82var Activeview = 30309;
83var ActivityManager = 907;
84var Alias = 1;
85var Appearance = 480;
86var AppearanceFolder = 483;
87var AppearancesVolume = 481;
88var ArchiveFolder = 31711;
89var BackupManager = 290;
90var BackupProcess = 291;
91var BestBets = 274;
92var Blog = 356;
93var BlogEntry = 357;
94var BoxFolder = 530;
95var Category = 131;
96var CategoryFolder = 132;
97var Channel = 207;
98var ChannelVol = 209;
99var Classification = 199;
100var ClassificationTree = 196;
101var ClassifiedItems = 194;
102var Collection = 298;
103var Column = 902;
104var Comments = 345;
105var CommentsReply = 348;
106var CommentsVol = 346;
107var CommExpertContainer = 3030338;
108var CommExpertGroup = 3030339;
109var CommStore = 3030329;
110var CommTemplate = 3030002;
111var CommTemplateFolder = 3030333;
112var CommTemplateVol = 3030004;
113var CommURLStore = 3030335;
114var CommWorkspace = 3030334;
115var CommXSLVolume = 3030205;
116var CompoundDoc = 136;
117var CompoundEMail = 557;
118var ContentModuleFolder = 3030372;
119var CustomView = 146;
120var CustomViewTemplate = 844;
121var DataFlowManager = 270;
122var DataSourceFolder = 276;
123var DirWalker = 277;
124var Discussion = 215;
125var DispositionGroup = 602;
126var Document = 144;
127var DocumentLLNode = 1297;
128var DocumentServer = 283;
129var Dossier = 32912;
130var DossierCabinet = 32916;
131var DossierCabinetArchive = 31707;
132var DossierTemplate = 32914;
133var DossierTemplateFolder = 31709;
134var DossierTemplatesVolume = 32917;
135var DossierTemplateVolume = 32915;
136var DossierVolume = 32913;
137var DPSBinding = 31602;
138var DPSFolder = 31601;
139var DPSVolume = 31603;
140var DTDLLNode = 335;
141var DynamicView = 900;
142var EMail = 749;
143var EmailConversationItems = 2504;
144var Facet = 904;
145var FacetFolder = 905;
146var FacetTree = 903;
147var FailedFolder = 1299;
148var FixedSystemColumn = 906;
149var Folder = 0;
150var Form = 223;
151var Generation = 2;
152var GENERICCONTENTMODULE = 3030371;
153var GlobalAppearance = 482;
154var HoldContainer = 833;
155var HTMLConversion = 282;
156var HTMLFormView = 226;
157var Importer = 293;
158var Inbox = 731;
159var IndexEngine = 368;
160var IndexTracer = 147;
161var IndexUpdate = 281;
162var InternalOTDS = 924;
163var ItemTemplateVol = 541;
164var ItemTemplateVolFolder = 542;
165var JournalVolume = 361;
166var LibraryExtractor = 259;
167var LibraryObj = 272;
168var LLNodeFAQ = 123475;
169var LLNodeFAQEntry = 123476;
170var LLNodeForum = 123469;
171var LLNodeForumEntry = 123470;
172var LLNodeURQuestion = 430;
173var LLNodeURReply = 432;
174var Locators = 422;
175var Mailbox = 732;
176var MailStore = 3030331;
177var ManagedSpace = 31710;
178var MediaType = 410;
179var MediaTypesContainer = 414;
180var MemcachedFolder = 919;
181var MemcachedProcess = 920;
182var Merge = 273;
183var MicroPost = 1281;
184var MicroPostVolume = 1282;
185var MultiVolClassification = 372;
186var MultiVolClassificationProxy = 374;
187var MultiVolClassificationTree = 373;
188var MyReservedItems = 870;
189var MyWorkbenches = 532;
190var NAVMENUVOL = 3030756;
191var News = 208;
192var OTCIndexObj = 257;
193var Partition = 371;
194var PartitionMap = 370;
195var PersonalComm = 3030203;
196var PersonalCommSystemVolume = 3030003;
197var PersonalCommVol = 3030204;
198var PersonalStagingFolder = 398;
199var PersonalWebpage = 3030343;
200var PhysicalItemBox = 424;
201var PhysicalItemContainer = 412;
202var PhysicalItemCopy = 419;
203var PhysicalItem_non_Container = 411;
204var PhysObjAdmin = 415;
205var PhysObjBatchLabels = 418;
206var PhysObjCirculation = 416;
207var PhysObjReports = 417;
208var Poll = 218;
209var Process = 271;
210var Profile = 195;
211var Project = 202;
212var ProjectTemplate = 543;
213var ProjectVol = 201;
214var Prospector = 384;
215var ProspectorQueries = 380;
216var ProspectorSnapshot = 387;
217var Provenance = 829;
218var PublishingFolder = 31712;
219var PublishingFolderVolume = 31713;
220var QAFolder = 441;
221var QueryFile = 296;
222var QuestionVolume = 431;
223var RecentItems = 327;
224var RecordType$1 = 425;
225var RecordTypesContainer = 428;
226var RedForm = 32918;
227var RedFormVolume = 32919;
228var Release = 138;
229var RemoteLLDataSource = 381;
230var Reply = 134;
231var Report = 299;
232var Revision = 139;
233var RIMSDisposition = 555;
234var RIMSDispositionsContainer = 554;
235var RIMSHoldMaintenance = 552;
236var RIMSRsiContainer = 553;
237var RMAdministration = 556;
238var RMClassification = 551;
239var RMFolder = 426;
240var RMPart = 427;
241var RMReportsContainer = 558;
242var RMThesaurus = 559;
243var ScanConfigurationVolume = 2505;
244var ScheduledHoldCriteria = 835;
245var ScriptNode = 32901;
246var SearchBroker = 258;
247var SearchEngine = 369;
248var SearchManager = 269;
249var SearchReport = 278;
250var SearchResultsTemplate = 383;
251var SearchTemplate = 292;
252var Simplate = 31678;
253var SkyPodLLVolume = 49547;
254var SliceFolder = 275;
255var SocialObject = 1280;
256var SocialObjectVolume = 1283;
257var SPCJOBDESCR = 797;
258var SPCJOBDESCRFOLDER = 796;
259var SPCVOLUME = 795;
260var spdcommittee = 3030202;
261var spdcommitteevol = 3030201;
262var spdcommitteevolume = 3030001;
263var spdemail = 3030130;
264var Spider = 280;
265var StorageManagement = 421;
266var SubmitVersionNode = 231;
267var Task = 206;
268var TaskGroup = 205;
269var TaskList = 204;
270var TaskListVol = 210;
271var TaskMilestone = 212;
272var Template = 230;
273var TemplateFolder = 268;
274var TextDocument = 145;
275var Topic = 130;
276var Transfers = 423;
277var TransportBox = 531;
278var TransportItem = 526;
279var TransportItemPart = 527;
280var UrgentRequests = 3030330;
281var URL = 140;
282var VirtualFolder = 899;
283var VolBlog = 123461;
284var VolCategories = 133;
285var VolClassification = 198;
286var VolComments = 347;
287var VolDAP = 987352;
288var VolDeletedItems = 405;
289var VolDirectory = 375;
290var VolDiscussion = 143;
291var VolDomainWorkspace = 180;
292var VolDTD = 336;
293var VolEditWorkflow = 162;
294var VolFacets = 901;
295var VolLibrary = 141;
296var VolOrphan = 403;
297var VolPersonalStaging = 397;
298var VolPerspectives = 908;
299var VolPhysObj = 413;
300var VolRecMan = 550;
301var VolRelease = 137;
302var VolReports = 211;
303var VolSystem = 148;
304var VolTracer = 149;
305var VolumeFolder = 484;
306var VolumeLLVolume = 1296;
307var VolWarehouse = 525;
308var VolWorkbin = 142;
309var VolWorkflow = 161;
310var WarehouseFolder = 529;
311var WebFormConnectionVolume = 236;
312var WebFormDatabaseConnection = 235;
313var WebFormLookup = 234;
314var WebFormLookupVolume = 233;
315var WebReports = 30303;
316var WFMapLLNode = 128;
317var WFStatusNode = 190;
318var WIKI = 5573;
319var WIKIPAGE = 5574;
320var Workbench = 528;
321var WorkflowAttachments = 154;
322var XMLActivatorCon = 286;
323var XMLActivatorProd = 285;
324var require$$0 = {
325 "2WayTee": 294,
326 Accession: Accession,
327 ActiveFolder: ActiveFolder,
328 Activeview: Activeview,
329 ActivityManager: ActivityManager,
330 Alias: Alias,
331 Appearance: Appearance,
332 AppearanceFolder: AppearanceFolder,
333 AppearancesVolume: AppearancesVolume,
334 ArchiveFolder: ArchiveFolder,
335 BackupManager: BackupManager,
336 BackupProcess: BackupProcess,
337 BestBets: BestBets,
338 Blog: Blog,
339 BlogEntry: BlogEntry,
340 BoxFolder: BoxFolder,
341 Category: Category,
342 CategoryFolder: CategoryFolder,
343 Channel: Channel,
344 ChannelVol: ChannelVol,
345 Classification: Classification,
346 "Classification Shortcut": 197,
347 ClassificationTree: ClassificationTree,
348 ClassifiedItems: ClassifiedItems,
349 Collection: Collection,
350 Column: Column,
351 Comments: Comments,
352 CommentsReply: CommentsReply,
353 CommentsVol: CommentsVol,
354 CommExpertContainer: CommExpertContainer,
355 CommExpertGroup: CommExpertGroup,
356 CommStore: CommStore,
357 CommTemplate: CommTemplate,
358 CommTemplateFolder: CommTemplateFolder,
359 CommTemplateVol: CommTemplateVol,
360 CommURLStore: CommURLStore,
361 CommWorkspace: CommWorkspace,
362 CommXSLVolume: CommXSLVolume,
363 CompoundDoc: CompoundDoc,
364 CompoundEMail: CompoundEMail,
365 ContentModuleFolder: ContentModuleFolder,
366 "csapps CSApplicationManifest": 32658,
367 "csapps CSApplicationsVolume": 32657,
368 CustomView: CustomView,
369 CustomViewTemplate: CustomViewTemplate,
370 DataFlowManager: DataFlowManager,
371 DataSourceFolder: DataSourceFolder,
372 DirWalker: DirWalker,
373 Discussion: Discussion,
374 DispositionGroup: DispositionGroup,
375 Document: Document,
376 DocumentLLNode: DocumentLLNode,
377 DocumentServer: DocumentServer,
378 Dossier: Dossier,
379 DossierCabinet: DossierCabinet,
380 DossierCabinetArchive: DossierCabinetArchive,
381 DossierTemplate: DossierTemplate,
382 DossierTemplateFolder: DossierTemplateFolder,
383 DossierTemplatesVolume: DossierTemplatesVolume,
384 DossierTemplateVolume: DossierTemplateVolume,
385 DossierVolume: DossierVolume,
386 DPSBinding: DPSBinding,
387 DPSFolder: DPSFolder,
388 DPSVolume: DPSVolume,
389 DTDLLNode: DTDLLNode,
390 DynamicView: DynamicView,
391 EMail: EMail,
392 EmailConversationItems: EmailConversationItems,
393 "Enterprise Archive Document": 753,
394 Facet: Facet,
395 FacetFolder: FacetFolder,
396 FacetTree: FacetTree,
397 FailedFolder: FailedFolder,
398 FixedSystemColumn: FixedSystemColumn,
399 Folder: Folder,
400 Form: Form,
401 Generation: Generation,
402 GENERICCONTENTMODULE: GENERICCONTENTMODULE,
403 GlobalAppearance: GlobalAppearance,
404 HoldContainer: HoldContainer,
405 HTMLConversion: HTMLConversion,
406 HTMLFormView: HTMLFormView,
407 Importer: Importer,
408 Inbox: Inbox,
409 IndexEngine: IndexEngine,
410 IndexTracer: IndexTracer,
411 IndexUpdate: IndexUpdate,
412 InternalOTDS: InternalOTDS,
413 ItemTemplateVol: ItemTemplateVol,
414 ItemTemplateVolFolder: ItemTemplateVolFolder,
415 JournalVolume: JournalVolume,
416 LibraryExtractor: LibraryExtractor,
417 LibraryObj: LibraryObj,
418 "LLNode Email Folder": 751,
419 LLNodeFAQ: LLNodeFAQ,
420 LLNodeFAQEntry: LLNodeFAQEntry,
421 LLNodeForum: LLNodeForum,
422 LLNodeForumEntry: LLNodeForumEntry,
423 LLNodeURQuestion: LLNodeURQuestion,
424 LLNodeURReply: LLNodeURReply,
425 Locators: Locators,
426 Mailbox: Mailbox,
427 MailStore: MailStore,
428 ManagedSpace: ManagedSpace,
429 MediaType: MediaType,
430 MediaTypesContainer: MediaTypesContainer,
431 MemcachedFolder: MemcachedFolder,
432 MemcachedProcess: MemcachedProcess,
433 Merge: Merge,
434 MicroPost: MicroPost,
435 MicroPostVolume: MicroPostVolume,
436 MultiVolClassification: MultiVolClassification,
437 MultiVolClassificationProxy: MultiVolClassificationProxy,
438 MultiVolClassificationTree: MultiVolClassificationTree,
439 MyReservedItems: MyReservedItems,
440 MyWorkbenches: MyWorkbenches,
441 NAVMENUVOL: NAVMENUVOL,
442 News: News,
443 OTCIndexObj: OTCIndexObj,
444 Partition: Partition,
445 PartitionMap: PartitionMap,
446 PersonalComm: PersonalComm,
447 PersonalCommSystemVolume: PersonalCommSystemVolume,
448 PersonalCommVol: PersonalCommVol,
449 PersonalStagingFolder: PersonalStagingFolder,
450 PersonalWebpage: PersonalWebpage,
451 PhysicalItemBox: PhysicalItemBox,
452 PhysicalItemContainer: PhysicalItemContainer,
453 PhysicalItemCopy: PhysicalItemCopy,
454 PhysicalItem_non_Container: PhysicalItem_non_Container,
455 PhysObjAdmin: PhysObjAdmin,
456 PhysObjBatchLabels: PhysObjBatchLabels,
457 PhysObjCirculation: PhysObjCirculation,
458 PhysObjReports: PhysObjReports,
459 Poll: Poll,
460 Process: Process,
461 Profile: Profile,
462 Project: Project,
463 ProjectTemplate: ProjectTemplate,
464 ProjectVol: ProjectVol,
465 Prospector: Prospector,
466 ProspectorQueries: ProspectorQueries,
467 ProspectorSnapshot: ProspectorSnapshot,
468 Provenance: Provenance,
469 "Proxy": 260,
470 PublishingFolder: PublishingFolder,
471 PublishingFolderVolume: PublishingFolderVolume,
472 QAFolder: QAFolder,
473 QueryFile: QueryFile,
474 QuestionVolume: QuestionVolume,
475 RecentItems: RecentItems,
476 RecordType: RecordType$1,
477 RecordTypesContainer: RecordTypesContainer,
478 RedForm: RedForm,
479 RedFormVolume: RedFormVolume,
480 Release: Release,
481 RemoteLLDataSource: RemoteLLDataSource,
482 Reply: Reply,
483 Report: Report,
484 Revision: Revision,
485 RIMSDisposition: RIMSDisposition,
486 RIMSDispositionsContainer: RIMSDispositionsContainer,
487 RIMSHoldMaintenance: RIMSHoldMaintenance,
488 RIMSRsiContainer: RIMSRsiContainer,
489 RMAdministration: RMAdministration,
490 RMClassification: RMClassification,
491 RMFolder: RMFolder,
492 RMPart: RMPart,
493 RMReportsContainer: RMReportsContainer,
494 RMThesaurus: RMThesaurus,
495 ScanConfigurationVolume: ScanConfigurationVolume,
496 ScheduledHoldCriteria: ScheduledHoldCriteria,
497 ScriptNode: ScriptNode,
498 SearchBroker: SearchBroker,
499 SearchEngine: SearchEngine,
500 SearchManager: SearchManager,
501 SearchReport: SearchReport,
502 SearchResultsTemplate: SearchResultsTemplate,
503 SearchTemplate: SearchTemplate,
504 Simplate: Simplate,
505 SkyPodLLVolume: SkyPodLLVolume,
506 SliceFolder: SliceFolder,
507 SocialObject: SocialObject,
508 SocialObjectVolume: SocialObjectVolume,
509 SPCJOBDESCR: SPCJOBDESCR,
510 SPCJOBDESCRFOLDER: SPCJOBDESCRFOLDER,
511 SPCVOLUME: SPCVOLUME,
512 spdcommittee: spdcommittee,
513 spdcommitteevol: spdcommitteevol,
514 spdcommitteevolume: spdcommitteevolume,
515 spdemail: spdemail,
516 Spider: Spider,
517 StorageManagement: StorageManagement,
518 SubmitVersionNode: SubmitVersionNode,
519 Task: Task,
520 TaskGroup: TaskGroup,
521 TaskList: TaskList,
522 TaskListVol: TaskListVol,
523 TaskMilestone: TaskMilestone,
524 Template: Template,
525 TemplateFolder: TemplateFolder,
526 TextDocument: TextDocument,
527 Topic: Topic,
528 Transfers: Transfers,
529 TransportBox: TransportBox,
530 TransportItem: TransportItem,
531 TransportItemPart: TransportItemPart,
532 UrgentRequests: UrgentRequests,
533 URL: URL,
534 VirtualFolder: VirtualFolder,
535 VolBlog: VolBlog,
536 VolCategories: VolCategories,
537 VolClassification: VolClassification,
538 VolComments: VolComments,
539 VolDAP: VolDAP,
540 VolDeletedItems: VolDeletedItems,
541 VolDirectory: VolDirectory,
542 VolDiscussion: VolDiscussion,
543 VolDomainWorkspace: VolDomainWorkspace,
544 VolDTD: VolDTD,
545 VolEditWorkflow: VolEditWorkflow,
546 VolFacets: VolFacets,
547 VolLibrary: VolLibrary,
548 VolOrphan: VolOrphan,
549 VolPersonalStaging: VolPersonalStaging,
550 VolPerspectives: VolPerspectives,
551 VolPhysObj: VolPhysObj,
552 VolRecMan: VolRecMan,
553 VolRelease: VolRelease,
554 VolReports: VolReports,
555 VolSystem: VolSystem,
556 VolTracer: VolTracer,
557 VolumeFolder: VolumeFolder,
558 VolumeLLVolume: VolumeLLVolume,
559 VolWarehouse: VolWarehouse,
560 VolWorkbin: VolWorkbin,
561 VolWorkflow: VolWorkflow,
562 WarehouseFolder: WarehouseFolder,
563 WebFormConnectionVolume: WebFormConnectionVolume,
564 WebFormDatabaseConnection: WebFormDatabaseConnection,
565 WebFormLookup: WebFormLookup,
566 WebFormLookupVolume: WebFormLookupVolume,
567 WebReports: WebReports,
568 WFMapLLNode: WFMapLLNode,
569 WFStatusNode: WFStatusNode,
570 WIKI: WIKI,
571 WIKIPAGE: WIKIPAGE,
572 Workbench: Workbench,
573 WorkflowAttachments: WorkflowAttachments,
574 XMLActivatorCon: XMLActivatorCon,
575 XMLActivatorProd: XMLActivatorProd
576};
577
578// const FormDataFactory = require('./form-data-factory')
579// const assert = require('assert')
580const SubTypes = require$$0;
581
582var nodes$1 = session => ({
583
584 addablenodetypes (dataid) {
585 return session.get(`api/v1/nodes/${dataid}/addablenodetypes`)
586 },
587
588 async addDocument ({
589 parent_id,
590 fileHandler,
591 apiVersion = 'v1', // v1 or v2
592 name = null,
593 options = {}
594 }) {
595 console.assert(parent_id != null, 'parent_id cannot be null');
596 console.assert(fileHandler != null, 'fileHandler cannot be null');
597 console.assert(['v1', 'v2'].includes(apiVersion), "apiVersion must be in ['v1','v2']");
598
599 const url = `api/${apiVersion}/nodes`;
600
601 {
602 // browser
603 const csName = name || fileHandler.name;
604
605 const params = {
606 ...options,
607 type: SubTypes.Document,
608 name: csName,
609 parent_id,
610 file: {
611 file: fileHandler,
612 name: csName
613 }
614 };
615
616 return session.postForm(url, params)
617 }
618 },
619
620 async addDocumentMajor ({
621 parent_id,
622 fileHandler,
623 name = null,
624 description = null,
625 options = {}
626 }) {
627 const response = await this.addDocument({
628 parent_id,
629 fileHandler,
630 name,
631 options: {
632 ...options,
633 advanced_versioning: true
634 }
635 });
636
637 const dataid = response.data.id;
638
639 await session.versions.promote({
640 dataid,
641 versionNumber: 1,
642 description
643 });
644
645 await session.versions.deleteVersion({
646 dataid,
647 versionNumber: 1
648 });
649
650 return response
651 },
652
653 addItem (type, parent_id, name, params = {}) {
654 return session.postBody('api/v2/nodes', {
655 type,
656 parent_id,
657 name,
658 ...params
659 })
660 },
661
662 node ({ dataid, apiVersion = 'v2', params = {} }) {
663 return session.get(`api/${apiVersion}/nodes/${dataid}`, {
664 params
665 })
666 },
667
668 ancestors (dataid, params = {}) {
669 return session.get(`api/v1/nodes/${dataid}/ancestors`, {
670 params
671 })
672 },
673
674 volumeInfo (objType) {
675 return session.get(`api/v1/volumes/${objType}`)
676 },
677
678 volumes () {
679 return session.get('api/v2/volumes')
680 },
681
682 addFolder (parent_id, name, params = {}) {
683 return this.addItem(SubTypes.Folder, parent_id, name, params)
684 },
685
686 addGeneration (parent_id, name, original_id, version_number, params = {}) {
687 return this.addItem(SubTypes.Generation, parent_id, name, {
688 original_id,
689 version_number,
690 ...params
691 })
692 },
693
694 nodes (dataid, params = {}) {
695 // https://developer.opentext.com/webaccess/#url=%2Fawd%2Fresources%2Fapis%2Fcs-rest-api-for-cs-16-s%23!%2Fnodes%2FgetSubnodes_get_15&tab=501
696 return session.get(`api/v2/nodes/${dataid}/nodes`, {
697 params
698 })
699 },
700
701 children (dataid, params = {}) {
702 return this.nodes(dataid, params)
703 },
704
705 delete (dataid) {
706 return session.delete(`api/v1/nodes/${dataid}`)
707 },
708
709 download ({ dataid, apiVersion = 'v1', filePath }) {
710 // session.nodes.download(1267501, 'v2', '/Users/chris/Downloads/test.pdf')
711 {
712 return Promise.reject('Not implemented yet')
713 }
714 },
715
716 audit ({
717 dataid,
718 apiVersion = 'v2',
719 params = {}
720 }) {
721 return session.get(`api/${apiVersion}/nodes/${dataid}/audit`, { params })
722 }
723
724});
725
726// const get = require('lodash.get')
727
728var workflow$1 = session => ({
729
730 start (map_id) {
731 return this.draftprocesses(map_id)
732 .then(response => get(response, 'data.results.draftprocess_id'))
733 .then(draftprocess_id => this.draftprocesses_update(draftprocess_id))
734 },
735
736 draftprocesses (workflow_id) {
737 return session.postForm('api/v2/draftprocesses', {
738 workflow_id
739 })
740 },
741
742 draftprocesses_update (draftprocess_id) {
743 return session.get('api/v1/forms/draftprocesses/update', {
744 params: {
745 draftprocess_id
746 }
747 })
748 },
749
750 draftprocesses_put (draftprocess_id, body) {
751 return session.putForm(`api/v2/draftprocesses/${draftprocess_id}`, {
752 body
753 })
754 }
755
756 // draftprocesses_formUpdate(draftprocess_id, values) {
757 // const body = {
758 // action: "formUpdate",
759 // values
760 // }
761
762 // return this.draftprocesses_put(draftprocess_id, body)
763 // }
764
765});
766
767var rhcore$1 = session => ({
768 scriptNode (id, params = {}) {
769 return session.get(`api/v1/rhcore/${id}`, {
770 params
771 })
772 }
773});
774
775var search$1 = session => ({
776
777 // https://knowledge.opentext.com/knowledge/cs.dll/Open/67789539
778
779 search (where, params = {}) {
780 return session.postBody('api/v2/search', {
781 where,
782 ...params
783 })
784 },
785
786 regions (params = {}) {
787 return session.get('api/v1/regions', params)
788 }
789
790});
791
792var members$1 = session => ({
793
794 USER: 0,
795 GROUP: 1,
796
797 userQuery (query, options = {}, version = 'v2') {
798 const params = {
799 limit: 20,
800 where_type: JSON.stringify([this.USER, this.GROUP]),
801 query,
802 ...options
803 };
804
805 return session.get(`api/${version}/members`, { params })
806 },
807
808 member (id, version = 'v2') {
809 return session.get(`api/${version}/members/${id}`)
810 }
811
812});
813
814// const FormDataFactory = require('./form-data-factory')
815// const console.assert = require('console.assert')
816
817var versions$1 = session => ({
818
819 async addVersion ({
820 dataid,
821 fileHandler,
822 apiVersion = 'v1',
823 fileName = null,
824 options = {}
825 }) {
826 console.assert(dataid != null, 'dataid cannot be null');
827 console.assert(fileHandler != null, 'fileHandler cannot be null');
828
829 const url = `api/${apiVersion}/nodes/${dataid}/versions`;
830
831 {
832 // browser
833 const name = fileName || fileHandler.name;
834
835 const params = {
836 file: {
837 file: fileHandler,
838 name
839 },
840 ...options
841 };
842
843 return session.postForm(url, params)
844
845 // formData.append('file', fileHandler, name)
846 // return session.post(url, formData)
847 }
848 },
849
850 async download ({
851 dataid,
852 version,
853 filePath
854 }) {
855 console.assert(dataid != null, 'dataid cannot be null');
856 console.assert(version != null, 'version cannot be null');
857 console.assert(filePath != null, 'filePath cannot be null');
858
859 {
860 return Promise.reject('Not implemented yet')
861 }
862 },
863
864 async list (dataid) {
865 const url = `api/v1/nodes/${dataid}/versions`;
866 return session.get(url)
867 },
868
869 async version (dataid, version_number = 'latest') {
870 // latest not supported in v2
871 const url = `api/v1/nodes/${dataid}/versions/${version_number}`;
872 return session.get(url)
873 },
874
875 async promote ({
876 dataid,
877 versionNumber,
878 description = null
879 }) {
880 console.assert(dataid != null, 'dataid cannot be null');
881 console.assert(versionNumber != null, 'number_to_keep must be an integer');
882
883 const url = `api/v2/nodes/${dataid}/versions/${versionNumber}/promote`;
884
885 return session.postBody(url, {
886 ...(!!description && {
887 description
888 })
889 })
890 },
891
892 async deleteVersion ({
893 dataid,
894 versionNumber,
895 apiVersion = 'v1'
896 }) {
897 console.assert(dataid != null, 'dataid cannot be null');
898 console.assert(versionNumber != null, 'number_to_keep must be an integer');
899
900 const url = `api/${apiVersion}/nodes/${dataid}/versions/${versionNumber}`;
901
902 // careful with deleteForm or deleteBody
903 return session.delete(url)
904 },
905
906 async purge ({
907 dataid,
908 number_to_keep = 1
909 }) {
910 console.assert(dataid != null, 'dataid cannot be null');
911 console.assert(!isNaN(number_to_keep), 'number_to_keep must be an integer');
912
913 // delete parameters not supported
914 // https://stackoverflow.com/questions/51069552/axios-delete-request-with-body-and-headers
915 // number_to_keep is ignored
916
917 const url = `api/v2/nodes/${dataid}/versions`;
918
919 return session.deleteForm(url, {
920 number_to_keep
921 })
922 }
923
924});
925
926var webreports$1 = session => ({
927
928 run (dataid, params = {}) {
929 const url = `api/v1/nodes/${dataid}/output`;
930 return session.get(url, { params })
931 }
932
933});
934
935const isObject = require$$0$2;
936
937const ErrorCodes = {
938 PARSEERROR: {
939 code: -32700,
940 message: 'Parse error'
941 },
942 INVALIDREQUEST: {
943 code: -32600,
944 message: 'Invalid Request'
945 },
946 METHODNOTFOUND: {
947 code: -32601,
948 message: 'Method not found'
949 },
950 INVALIDPARAMS: {
951 code: -32602,
952 message: 'Invalid params'
953 },
954 INTERNALERROR: {
955 code: -32603,
956 message: 'Internal error'
957 }
958};
959
960// -32000 to -32099 is reserved!
961
962class CustomError$1 extends Error {
963 constructor (message = ErrorCodes.INTERNALERROR.message, data = null, code = ErrorCodes.INTERNALERROR.code) {
964 if (isObject(message)) {
965 super(message.message);
966 this.code = message.code;
967 this.data = message.data;
968 } else {
969 super(message);
970 this.code = code;
971 this.data = data;
972 }
973 }
974}
975
976var errorCodes = {
977 CustomError: CustomError$1,
978 ErrorCodes
979};
980
981const {
982 CustomError
983} = errorCodes;
984
985const get$1 = require$$1;
986
987// to be tested...
988const sequence = {
989 index: 0,
990 get next () {
991 this.index = this.index + 1;
992 return this.index
993 }
994};
995
996var rpcClient = class RPCClient {
997 constructor (session, baseURL) {
998 this.session = session;
999 this.baseURL = baseURL;
1000 this.resetQueue();
1001 }
1002
1003 requestObject (method, params, id) {
1004 return {
1005 jsonrpc: '2.0',
1006 method,
1007 id,
1008 params
1009 }
1010 }
1011
1012 handleResponse (data) {
1013 if (Object.prototype.hasOwnProperty.call(data, 'result')) {
1014 return data.result
1015 } else if (Object.prototype.hasOwnProperty.call(data, 'error')) {
1016 const err = data.error;
1017 throw new CustomError(err.message, err.data, err.code)
1018 } else {
1019 throw Error('The server did not respond correctly.')
1020 }
1021 }
1022
1023 // https://www.jsonrpc.org/specification#request_object
1024 // params is allowed to be null!
1025 // also on queue function below
1026 async request (method, params, id = sequence.next) {
1027 const response = await this.session.postBody(this.baseURL, {
1028 rpc: this.requestObject(method, params, id)
1029 });
1030 return this.handleResponse(response.data)
1031 }
1032
1033 resetQueue () {
1034 this._batchQueue = [];
1035 }
1036
1037 queue (method, params, id = sequence.next) {
1038 this._batchQueue.push(this.requestObject(method, params, id));
1039 return this
1040 }
1041
1042 async batch (throwOnError = false) {
1043 const queue = this._batchQueue;
1044 this.resetQueue();
1045 const response = await this.session.postBody(this.baseURL, {
1046 rpc: queue
1047 });
1048
1049 return get$1(response, 'data.data', []).map(item => {
1050 if (throwOnError) {
1051 return this.handleResponse(item)
1052 } else {
1053 try {
1054 return this.handleResponse(item)
1055 } catch (e) {
1056 return e
1057 }
1058 }
1059 })
1060 }
1061
1062 rhnode (dataid, method, args = [], id = sequence.next) {
1063 const params = {
1064 dataid,
1065 args
1066 };
1067
1068 return this.request(method, params, id)
1069 }
1070
1071 rhnodeQueue (dataid, method, args = [], id = sequence.next) {
1072 const params = {
1073 dataid,
1074 args
1075 };
1076
1077 return this.queue(method, params, id)
1078 }
1079};
1080
1081var AssocType = -18;
1082var BooleanType = 5;
1083var ClassType = 9;
1084var DapiNodeType = -72;
1085var DapiSessionType = -74;
1086var DapiStreamType = -68;
1087var DapiVersionType = -69;
1088var DateType = -7;
1089var DynamicType = -127;
1090var ErrorType = 1;
1091var FileType = -107;
1092var FrameType = 10;
1093var IntegerType = 2;
1094var JavaObjectType = -42;
1095var ListType = -2;
1096var LongType = -8;
1097var ObjectType = -128;
1098var ObjRefType = 3;
1099var RealType = -4;
1100var RecArrayType = -110;
1101var RecordType = -109;
1102var ScriptType = -3;
1103var SocketType = -102;
1104var StringType = -1;
1105var UAPIType = -196;
1106var UndefinedType = 0;
1107var VoidType = 8;
1108var WAPIWorkType = -75;
1109var require$$12 = {
1110 AssocType: AssocType,
1111 BooleanType: BooleanType,
1112 ClassType: ClassType,
1113 DapiNodeType: DapiNodeType,
1114 DapiSessionType: DapiSessionType,
1115 DapiStreamType: DapiStreamType,
1116 DapiVersionType: DapiVersionType,
1117 DateType: DateType,
1118 DynamicType: DynamicType,
1119 ErrorType: ErrorType,
1120 FileType: FileType,
1121 FrameType: FrameType,
1122 IntegerType: IntegerType,
1123 JavaObjectType: JavaObjectType,
1124 ListType: ListType,
1125 LongType: LongType,
1126 ObjectType: ObjectType,
1127 ObjRefType: ObjRefType,
1128 RealType: RealType,
1129 RecArrayType: RecArrayType,
1130 RecordType: RecordType,
1131 ScriptType: ScriptType,
1132 SocketType: SocketType,
1133 StringType: StringType,
1134 UAPIType: UAPIType,
1135 UndefinedType: UndefinedType,
1136 VoidType: VoidType,
1137 WAPIWorkType: WAPIWorkType
1138};
1139
1140const axiosFactory = axiosFactory_1;
1141const auth = auth$1;
1142const nodes = nodes$1;
1143const workflow = workflow$1;
1144const rhcore = rhcore$1;
1145const search = search$1;
1146const members = members$1;
1147const versions = versions$1;
1148const webreports = webreports$1;
1149const FormDataFactory = formDataFactory;
1150const isnil = require$$10;
1151const RPCClient = rpcClient;
1152const dataTypesEnum = require$$12;
1153
1154// let getCache = {}
1155
1156var Session_1$1 = class Session {
1157 constructor (options) {
1158 this.axios = axiosFactory(options);
1159 }
1160
1161 get nodes () {
1162 // this creates a circular reference.. bad?
1163 if (this._nodes == null) {
1164 this._nodes = nodes(this);
1165 }
1166
1167 return this._nodes
1168 }
1169
1170 get auth () {
1171 if (this._auth == null) {
1172 this._auth = auth(this);
1173 }
1174
1175 return this._auth
1176 }
1177
1178 get workflow () {
1179 // this creates a circular reference.. bad?
1180 if (this._workflow == null) {
1181 this._workflow = workflow(this);
1182 }
1183
1184 return this._workflow
1185 }
1186
1187 get rhcore () {
1188 // this creates a circular reference.. bad?
1189 if (this._rhcore == null) {
1190 this._rhcore = rhcore(this);
1191 }
1192
1193 return this._rhcore
1194 }
1195
1196 get members () {
1197 // this creates a circular reference.. bad?
1198 if (this._members == null) {
1199 this._members = members(this);
1200 }
1201
1202 return this._members
1203 }
1204
1205 get search () {
1206 // this creates a circular reference.. bad?
1207 if (this._search == null) {
1208 this._search = search(this);
1209 }
1210
1211 return this._search
1212 }
1213
1214 get webreports () {
1215 // this creates a circular reference.. bad?
1216 if (this._webreports == null) {
1217 this._webreports = webreports(this);
1218 }
1219
1220 return this._webreports
1221 }
1222
1223 get versions () {
1224 // this creates a circular reference.. bad?
1225 if (this._versions == null) {
1226 this._versions = versions(this);
1227 }
1228
1229 return this._versions
1230 }
1231
1232 get dataTypesEnum () {
1233 return dataTypesEnum
1234 }
1235
1236 rpcClient (baseURL = '/api/v1/rh/rpc/rhnode/') {
1237 return new RPCClient(this, baseURL)
1238 }
1239
1240 _isObject (value) {
1241 return value && typeof value === 'object' && value.constructor === Object
1242 }
1243
1244 _isString (value) {
1245 return (typeof value === 'string' || value instanceof String)
1246 }
1247
1248 _isBoolean (value) {
1249 return (typeof value === 'boolean')
1250 }
1251
1252 objectToForm (obj) {
1253 const formData = FormDataFactory.createFormData();
1254
1255 for (const [key, value] of Object.entries(obj)) {
1256 if (value && value.name && value.file) {
1257 formData.append(key, value.file, value.name);
1258 } else if (Array.isArray(value) || this._isObject(value) || this._isBoolean(value)) {
1259 formData.append(key, JSON.stringify(value));
1260 } else if (!isnil(value)) {
1261 // should empty strings be sent?
1262 formData.append(key, value);
1263 }
1264 }
1265
1266 return formData
1267 }
1268
1269 get (...args) {
1270 return this.axios.get(...args)
1271 }
1272
1273 /*
1274 // async getCached(...args) {
1275 // const key = sha1(JSON.stringify(args))
1276
1277 // try {
1278 // await semaphore.acquire(key)
1279
1280 // if (!getCache[key]) {
1281 // getCache[key] = this.get(...args)
1282 // }
1283 // } finally {
1284 // semaphore.release(key)
1285 // }
1286
1287 // return getCache[key]
1288 // }
1289*/
1290 putForm (url, params) {
1291 const formData = this.objectToForm(params);
1292 return this.put(url, formData)
1293 }
1294
1295 postForm (url, params) {
1296 const formData = this.objectToForm(params);
1297 return this.post(url, formData, {
1298 maxBodyLength: Infinity
1299 })
1300 }
1301
1302 patchForm (url, params) {
1303 const formData = this.objectToForm(params);
1304 return this.patch(url, formData)
1305 }
1306
1307 deleteForm (url, params) {
1308 // FormData does not working on Delete!!
1309 // See here: https://stackoverflow.com/questions/51069552/axios-delete-request-with-body-and-headers
1310 const formData = this.objectToForm(params);
1311 return this.delete(url, formData)
1312 }
1313
1314 putBody (url, body) {
1315 return this.putForm(url, {
1316 body
1317 })
1318 }
1319
1320 postBody (url, body) {
1321 return this.postForm(url, {
1322 body
1323 })
1324 }
1325
1326 patchBody (url, body) {
1327 return this.patchForm(url, {
1328 body
1329 })
1330 }
1331
1332 deleteBody (url, body) {
1333 return this.deleteForm(url, {
1334 body
1335 })
1336 }
1337
1338 post (...args) {
1339 return this.axios.post(...args)
1340 }
1341
1342 put (...args) {
1343 return this.axios.put(...args)
1344 }
1345
1346 delete (...args) {
1347 return this.axios.delete(...args)
1348
1349 // console.log(args)
1350 // console.log(url)
1351
1352 // return this.axios.delete(URL, {
1353 // headers: {
1354 // Authorization: authorizationToken
1355 // },
1356 // data: {
1357 // source: source
1358 // }
1359 // });
1360 }
1361
1362 options (...args) {
1363 return this.axios.options(...args)
1364 }
1365
1366 patch (...args) {
1367 return this.axios.patch(...args)
1368 }
1369};
1370
1371const Session = Session_1$1;
1372
1373var Session_1 = src.Session = Session;
1374
1375export { Session_1 as Session, src as default };
1376//# sourceMappingURL=index.es.js.map