086 operationInProgress
This commit is contained in:
+7
-8
@@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
//variables.framework.docs={};
|
//variables.framework.docs={};
|
||||||
variables.framework.docs.APIName="Deck API";
|
variables.framework.docs.APIName="Deck API";
|
||||||
variables.framework.docs.APIVersion="0.085";
|
variables.framework.docs.APIVersion="0.086";
|
||||||
|
|
||||||
variables.framework.globalHeaders = structNew();
|
variables.framework.globalHeaders = structNew();
|
||||||
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
||||||
@@ -249,12 +249,11 @@
|
|||||||
//writedump(resp);abort;
|
//writedump(resp);abort;
|
||||||
var prefix = resp.getPrefix();
|
var prefix = resp.getPrefix();
|
||||||
if (prefix.status_code NEQ 200) {
|
if (prefix.status_code NEQ 200) {
|
||||||
writedump(this.iamServiceUrl);
|
//writedump(this.iamServiceUrl);
|
||||||
writedump(resp);
|
//writedump(resp);
|
||||||
|
return representationOf( {"iamServiceUrl"=this.iamServiceUrl, "idpResponse"=resp} ).withStatus(500);
|
||||||
abort;
|
//abort;
|
||||||
|
//throw("IDP response not OK");
|
||||||
throw("IDP response not OK");
|
|
||||||
}
|
}
|
||||||
result = prefix.filecontent;
|
result = prefix.filecontent;
|
||||||
//writedump(result);abort;
|
//writedump(result);abort;
|
||||||
@@ -264,7 +263,7 @@
|
|||||||
*/
|
*/
|
||||||
//writedump(resp);
|
//writedump(resp);
|
||||||
//return representationOf( {"exception"=e} );
|
//return representationOf( {"exception"=e} );
|
||||||
return representationOf( {"exception"=e, "idpResponse"=result} ).withStatus(500);
|
return representationOf( {"exception"=e, "idpResponse"=result} ).withStatus(200);
|
||||||
}
|
}
|
||||||
|
|
||||||
//writeDump(result); abort;
|
//writeDump(result); abort;
|
||||||
|
|||||||
@@ -152,10 +152,15 @@
|
|||||||
<m:field>(select io.operation from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation</m:field>
|
<m:field>(select io.operation from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation</m:field>
|
||||||
<m:field>(select io.instance_operation_uid::text from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation_uid</m:field>
|
<m:field>(select io.instance_operation_uid::text from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation_uid</m:field>
|
||||||
<m:field>(select io.submit_result from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as submit_result</m:field>
|
<m:field>(select io.submit_result from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as submit_result</m:field>
|
||||||
|
|
||||||
|
<m:field formatter=#request.castToBool#>(select (io.dt_start IS NOT NULL AND io.dt_finish IS NULL AND io.submit_result='201') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_in_progress</m:field>
|
||||||
|
|
||||||
<m:field>(select to_char(io.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_dt_start</m:field>
|
<m:field>(select to_char(io.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_dt_start</m:field>
|
||||||
<m:field>(select to_char(io.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_dt_finish</m:field>
|
<m:field>(select to_char(io.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_dt_finish</m:field>
|
||||||
<m:field>(select round(extract('epoch' from coalesce(io.dt_finish,CURRENT_TIMESTAMP)- io.dt_start),1) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as duration</m:field>
|
<m:field>(select round(extract('epoch' from coalesce(io.dt_finish,CURRENT_TIMESTAMP)- io.dt_start),1) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as duration</m:field>
|
||||||
|
|
||||||
<m:field>(select case when io.operation IN ('delete', 'suspend') AND io.is_successful then 0 /*null*/ when io.is_successful then extract('epoch' from CURRENT_TIMESTAMP - coalesce(io.dt_finish,CURRENT_TIMESTAMP)) else 0 end from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as uptime</m:field>/* *** это вообще неправильно, некоторые операции заканчиваются состоянием running, а некоторые нет, переделать */
|
<m:field>(select case when io.operation IN ('delete', 'suspend') AND io.is_successful then 0 /*null*/ when io.is_successful then extract('epoch' from CURRENT_TIMESTAMP - coalesce(io.dt_finish,CURRENT_TIMESTAMP)) else 0 end from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as uptime</m:field>/* *** это вообще неправильно, некоторые операции заканчиваются состоянием running, а некоторые нет, переделать */
|
||||||
|
|
||||||
<m:field>(select to_char(io.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid AND io.is_successful AND io.operation='create' order by dt_submit desc limit 1) as dt_deploy</m:field>
|
<m:field>(select to_char(io.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid AND io.is_successful AND io.operation='create' order by dt_submit desc limit 1) as dt_deploy</m:field>
|
||||||
<m:field formatter=#function(x){return (deserializeJson(x))}#>(select instance_data::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_data</m:field><!--- *** операция выглядит очень накладно, но можно это поле в дельнейшем не выводить --->
|
<m:field formatter=#function(x){return (deserializeJson(x))}#>(select instance_data::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_data</m:field><!--- *** операция выглядит очень накладно, но можно это поле в дельнейшем не выводить --->
|
||||||
<m:field>(select st.instance_state_uid::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_state_uid</m:field>
|
<m:field>(select st.instance_state_uid::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_state_uid</m:field>
|
||||||
@@ -180,7 +185,7 @@
|
|||||||
) as explained_status
|
) as explained_status
|
||||||
</m:field>
|
</m:field>
|
||||||
<m:field>(select max(version) from instance_state st where st.instance_uid=e.instance_uid) as version</m:field>
|
<m:field>(select max(version) from instance_state st where st.instance_uid=e.instance_uid) as version</m:field>
|
||||||
</m:field_set>
|
</m:field_set>
|
||||||
|
|
||||||
<!--- <cfdump var=#definedInstanceFields#/><cfabort/> --->
|
<!--- <cfdump var=#definedInstanceFields#/><cfabort/> --->
|
||||||
|
|
||||||
@@ -283,7 +288,7 @@
|
|||||||
<cfreturn representationOf(out)/>
|
<cfreturn representationOf(out)/>
|
||||||
|
|
||||||
<cfcatch type="any">
|
<cfcatch type="any">
|
||||||
<cfreturn representationOf(cfcatch).withStatus(500)/>
|
<cfreturn representationOf(cfcatch.message).withStatus(500)/>
|
||||||
</cfcatch>
|
</cfcatch>
|
||||||
</cftry>
|
</cftry>
|
||||||
</cffunction>
|
</cffunction>
|
||||||
|
|||||||
Reference in New Issue
Block a user