File tree Expand file tree Collapse file tree 4 files changed +69
-2
lines changed Expand file tree Collapse file tree 4 files changed +69
-2
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ import {
2525 OFSGetSubmittedFormsParams ,
2626 OFSSubmittedFormsResponse ,
2727 OFSActivityLinkTypeResponse ,
28+ OFSLinkTemplatesResponse ,
2829} from "./model" ;
2930
3031export * from "./model" ;
@@ -899,6 +900,12 @@ export class OFS {
899900 return this . _get ( partialURL , params ) ;
900901 }
901902
903+ //Meta: Link Templates
904+ async getLinkTemplates ( ) : Promise < OFSLinkTemplatesResponse > {
905+ const partialURL = "/rest/ofscMetadata/v1/linkTemplates" ;
906+ return this . _get ( partialURL ) as Promise < OFSLinkTemplatesResponse > ;
907+ }
908+
902909 async getPropertyDetails ( pid : string ) : Promise < OFSPropertyDetailsResponse > {
903910 const partialURL = `/rest/ofscMetadata/v1/properties/${ pid } ` ;
904911 return this . _get ( partialURL ) ;
Original file line number Diff line number Diff line change 1+ export interface OFSLinkTemplate {
2+ linkTemplateId : string ;
3+ name : string ;
4+ description ?: string ;
5+ linkType : string ;
6+ sourceType : string ;
7+ targetType : string ;
8+ links ?: any ;
9+ }
10+
11+ export interface OFSLinkTemplatesData {
12+ totalResults : number ;
13+ items : OFSLinkTemplate [ ] ;
14+ links ?: any ;
15+ }
16+
17+ // ...existing code...
18+ // Move OFSLinkTemplatesResponse after OFSResponse
19+ // ...existing code...
20+ // ...existing code...
21+ // ...existing code...
22+ // ...existing code...
23+ // ...existing code...
24+ // ...existing code...
25+ // ...existing code...
26+ // ...existing code...
27+ // Place this after OFSResponse class
128/*
229 * Copyright © 2022, 2023, Oracle and/or its affiliates.
330 * Licensed under the Universal Permissive License (UPL), Version 1.0 as shown at https://oss.oracle.com/licenses/upl/
@@ -43,6 +70,18 @@ export class OFSResponse implements OFSResponseInterface {
4370 }
4471}
4572
73+ export class OFSLinkTemplatesResponse extends OFSResponse {
74+ data : {
75+ totalResults : number ;
76+ items : OFSLinkTemplate [ ] ;
77+ links ?: any ;
78+ } = {
79+ totalResults : 0 ,
80+ items : [ ] ,
81+ links : undefined ,
82+ } ;
83+ }
84+
4685export interface ListResponse {
4786 totalResults : number ;
4887 items : Array < any > ;
Original file line number Diff line number Diff line change @@ -541,8 +541,18 @@ test("Get Linked Activities for Activity", async () => {
541541
542542test ( "Get Activity Link Type" , async ( ) => {
543543 var aid = 4225599 ; // sample activity id
544- var linkedActivityId = 4225600 ; // sample linked activity id
545- var linkType = "requires" ; // example link type
544+ // Get link templates to use a valid linkType
545+ var linkTemplatesResult = await myProxy . getLinkTemplates ( ) ;
546+ expect ( linkTemplatesResult . status ) . toBe ( 200 ) ;
547+ expect ( linkTemplatesResult . data . items . length ) . toBeGreaterThan ( 0 ) ;
548+ var linkType = linkTemplatesResult . data . items [ 0 ] . linkType ;
549+ // Get linked activities to use a valid linkedActivityId
550+ var linkedActivitiesResult = await myProxy . getLinkedActivities ( aid ) ;
551+ expect ( linkedActivitiesResult . status ) . toBeGreaterThanOrEqual ( 200 ) ;
552+ expect ( linkedActivitiesResult . status ) . toBeLessThan ( 400 ) ;
553+ var linkedActivityId = Array . isArray ( linkedActivitiesResult . data . items ) && linkedActivitiesResult . data . items . length > 0
554+ ? linkedActivitiesResult . data . items [ 0 ] . activityId
555+ : 4225600 ; // fallback to sample id if none found
546556 var result = await myProxy . getActivityLinkType ( aid , linkedActivityId , linkType ) ;
547557 // API may return 200 with link type info
548558 expect ( result . status ) . toBeGreaterThanOrEqual ( 200 ) ;
Original file line number Diff line number Diff line change @@ -302,3 +302,14 @@ test("Get a list of configured timeslots", async () => {
302302 throw error ;
303303 }
304304} ) ;
305+
306+ test ( "Get Link Templates" , async ( ) => {
307+ var result = await myProxy . getLinkTemplates ( ) ;
308+ expect ( result . status ) . toBe ( 200 ) ;
309+ expect ( result . data . items . length ) . toBeGreaterThan ( 0 ) ;
310+ expect ( Array . isArray ( result . data . items ) ) . toBe ( true ) ;
311+ // Optionally log the first template for inspection
312+ if ( result . data . items . length > 0 ) {
313+ console . log ( "First Link Template:" , result . data . items [ 0 ] ) ;
314+ }
315+ } ) ;
You can’t perform that action at this time.
0 commit comments