55 */
66
77const request = require ( './rest.js' ) ;
8+ const dbg = require ( './debug.js' ) ;
89
910var domainName , username , password , timeout ;
1011var prettyprint = false ;
1112var url ;
1213
13- function checkForErrors ( inBody )
14- {
15- //Error Codes
16- //Any error response
17-
14+ function debug ( message ) {
15+ dbg . message ( "<PROJECTS> " + message ) ;
1816}
1917
18+
2019function init ( inDomainName , inUsername , inPassword , inTimeout , inPrettyprint ) {
2120 domainName = inDomainName ;
2221 username = inUsername ;
@@ -25,6 +24,9 @@ function init(inDomainName, inUsername, inPassword,inTimeout,inPrettyprint){
2524 prettyprint = inPrettyprint ;
2625
2726 url = "https://" + domainName + "/apis/v1/rest/projects" ;
27+ debug ( "Username [" + username + "]" ) ;
28+ debug ( "URL [" + url + "]" ) ;
29+ debug ( "Timeout [" + timeout + "]" ) ;
2830}
2931
3032/**
@@ -45,37 +47,97 @@ function processResponse(data,status){
4547 }
4648}
4749
50+ /* Projects */
4851function list ( projectId ) {
4952
53+ debug ( "List Projects ID[" + projectId + "]" ) ;
5054 if ( projectId ) url += "/" + projectId ;
5155 request . get ( url , username , password , timeout , processResponse ) ;
5256}
5357
54- function listAssets ( projectId ) {
55- if ( projectId ) url += "/" + projectId + "/assets" ;
56- request . get ( url , username , password , timeout , processResponse ) ;
57- }
58-
5958function create ( projectName ) {
59+ debug ( "Create Project ID[" + projectName + "]" ) ;
6060 var data = { "name" :projectName } ;
6161 request . post ( url , username , password , timeout , data , processResponse ) ;
6262}
6363
6464function update ( projectId , projectName ) {
65-
65+ debug ( "Update Project ID[" + projectId + "] Name[" + projectName + "]" ) ;
6666 url += "/" + projectId ;
6767 var data = { "name" :projectName } ;
6868 request . put ( url , username , password , timeout , data , processResponse ) ;
6969}
7070
7171function del ( projectId ) {
72-
72+ debug ( "Create Project ID[" + projectId + "]" ) ;
7373 url += "/" + projectId ;
7474 var data = { } ;
7575 request . httpDelete ( url , username , password , timeout , data , processResponse ) ;
7676}
7777
78+ /* Project Assets */
79+ function listAssets ( projectId ) {
80+ debug ( "List Assets [" + projectId + "]" ) ;
81+ if ( projectId ) url += "/" + projectId + "/assets" ;
82+ request . get ( url , username , password , timeout , processResponse ) ;
83+ }
84+
85+ /* Project Params */
86+ function listParam ( projectId , paramId ) {
87+ debug ( "List Params [" + projectId + "] Param ID [" + paramId + "]" ) ;
88+ if ( projectId ) url += "/" + projectId + "/params" ;
89+ if ( paramId ) url += "/" + paramId ;
90+ request . get ( url , username , password , timeout , processResponse ) ;
91+ }
92+
93+ function createParam ( projectId , paramName , paramValue , required , isPassword ) {
94+ debug ( "Create Param Project ID[" + projectId + "] Name [" + paramName + "] value [" + paramValue + "] required [" + required + "] isPassword [" + isPassword + "]" ) ;
95+ if ( projectId ) url += "/" + projectId + "/params" ;
96+ var data = { "key" :paramName , "value" :paramValue , "required" :required , "isPassword" :isPassword } ;
97+ request . post ( url , username , password , timeout , data , processResponse ) ;
98+ }
99+
100+ function updateParam ( projectId , paramId , paramName , paramValue , required , isPassword ) {
101+ debug ( "Update Param ProjectId [" + projectId + "] Param ID[" + paramId + "] Name [" + paramName + "] value [" + paramValue + "] required [" + required + "] isPassword [" + isPassword + "]" ) ;
102+ if ( projectId ) url += "/" + projectId + "/params" ;
103+ if ( paramId ) url += "/" + paramId ;
104+ var data = { "key" :paramName , "value" :paramValue , "required" :required , "isPassword" :isPassword } ;
105+ request . put ( url , username , password , timeout , data , processResponse ) ;
106+ }
107+
108+ function deleteParam ( projectId , paramId ) {
109+ debug ( "Delete Param ProjectId [" + projectId + "] Param ID[" + paramId + "]" ) ;
110+ if ( projectId ) url += "/" + projectId + "/params" ;
111+ if ( paramId ) url += "/" + paramId ;
112+ var data = { } ;
113+ request . httpDelete ( url , username , password , timeout , data , processResponse ) ;
114+ }
115+
116+
117+ /* Webhook APIs */
118+ function listWebhooks ( projectId ) {
119+ debug ( "List webhooks ProjectId [" + projectId + "]" ) ;
120+ if ( projectId ) url += "/" + projectId + "/webhook-flows" ;
121+ request . get ( url , username , password , timeout , processResponse ) ;
122+ }
123+
124+ function regenWebhook ( projectId , workflowUid ) {
125+ debug ( "List webhooks ProjectId [" + projectId + "] workflowUid [" + workflowUid + "]" ) ;
126+ if ( projectId ) url += "/" + projectId + "/webhook-flows" ;
127+ if ( workflowUid ) url += "/" + workflowUid + "/reset" ;
128+ request . put ( url , username , password , timeout , { } , processResponse ) ;
129+ }
130+
131+ function setWebhookAuth ( projectId , workflowUid , authType ) {
132+ debug ( "List webhooks ProjectId [" + projectId + "] workflowUid [" + workflowUid + "] auth type [" + authType + "]" ) ;
133+ if ( projectId ) url += "/" + projectId + "/webhook-flows" ;
134+ if ( workflowUid ) url += "/" + workflowUid + "/auth" ;
135+ var data = { "auth" : authType } ;
136+ request . post ( url , username , password , timeout , data , processResponse ) ;
137+ }
78138
139+
140+ /* Deployment */
79141
80142/**
81143 * Pushes a deployment to a destination tenant
@@ -86,6 +148,7 @@ function del(projectId){
86148 * @param {assets to publish } assets
87149 */
88150function pub ( projectId , publishName , targetTenantDomainName , targetUserId , targetUserPassword , assetsJson ) {
151+ debug ( "Project Pub ProjectId [" + projectId + "] publishName [" + publishName + "] target Tenant [" + targetTenantDomainName + "]" ) ;
89152 //{"output":{"workflows":["fla73a20e13dd6736cf9c355","fl3cfd145262bbc5d44acff3"],"flows":["mapLeads"],"rest_api":[],"soap_api":[],"listener":[],"messaging":[]}}
90153 url += "/" + projectId + "/push" ;
91154
@@ -111,9 +174,14 @@ function pub(projectId,publishName,targetTenantDomainName,targetUserId,targetUse
111174 */
112175function deploy ( projectName , version )
113176{
177+ debug ( "Project Deploy ProjectName [" + projectName + "] Version [" + version + "]" ) ;
114178 url += "/" + projectName + "/deploy" ;
115179 data = { "version" :parseInt ( version ) } ;
116180 request . post ( url , username , password , timeout , data , processResponse ) ;
117181}
118182
119- module . exports = { init, list, listAssets, create, update, del, pub, deploy} ;
183+ module . exports = { init, list, create, update, del,
184+ listAssets, pub, deploy,
185+ createParam, updateParam, listParam, deleteParam,
186+ listWebhooks, regenWebhook, setWebhookAuth
187+ } ;
0 commit comments