fix: application update datasource в api.cfm
This commit is contained in:
@@ -1,13 +1,20 @@
|
||||
<cfprocessingdirective suppressWhitespace="true">
|
||||
<cfheader name="Content-Type" value="application/json; charset=utf-8">
|
||||
|
||||
<cfset result = {ok: false, error: "unknown action"}>
|
||||
<cfset action = url.keyExists("action") ? url.action : "">
|
||||
|
||||
<cfset ds = {
|
||||
class: "org.postgresql.Driver",
|
||||
connectionString: "jdbc:postgresql://postgresqlk8s-master.418f9960-2eb7-4429-b2ec-ac64319d7268.svc.cluster.local:5432/baza",
|
||||
username: "super",
|
||||
password: "hoHdkA23yxlD9oMUlZ1bIbNyc6DE2mNJmyHMNkEpVD1F4suQs7O2lyN4t0qITyzt"
|
||||
}/>
|
||||
<cfset application action="update" datasource="#ds#" name="baza"/>
|
||||
|
||||
<cftry>
|
||||
<cfif action EQ "test">
|
||||
<cfquery name="q" datasource="baza">SELECT 1 as ok</cfquery>
|
||||
<cfset result = {ok: true, message: "PostgreSQL connected", db: "baza"}>
|
||||
<cfset result = {ok: true, message: "PostgreSQL connected"}>
|
||||
|
||||
<cfelseif action EQ "tables">
|
||||
<cfquery name="q" datasource="baza">
|
||||
@@ -36,10 +43,7 @@
|
||||
</cfloop>
|
||||
<cfset result = {ok: true, results: results}>
|
||||
|
||||
<cfelseif action EQ "query">
|
||||
<cfif NOT url.keyExists("sql")>
|
||||
<cfset result = {ok: false, error: "sql parameter required"}>
|
||||
<cfelse>
|
||||
<cfelseif action EQ "query" AND url.keyExists("sql")>
|
||||
<cfquery name="q" datasource="baza">#preserveSingleQuotes(url.sql)#</cfquery>
|
||||
<cfset var cols = q.getColumnNames()>
|
||||
<cfset var rows = []>
|
||||
@@ -49,20 +53,14 @@
|
||||
<cfset arrayAppend(rows, row)>
|
||||
</cfloop>
|
||||
<cfset result = {ok: true, columns: cols, rows: rows, count: q.recordCount}>
|
||||
</cfif>
|
||||
|
||||
<cfelseif action EQ "execute" AND cgi.request_method EQ "POST">
|
||||
<cfset var body = deserializeJSON(toString(getHttpRequestData().content))>
|
||||
<cfif NOT structKeyExists(body, "sql")>
|
||||
<cfset result = {ok: false, error: "sql required"}>
|
||||
<cfelse>
|
||||
<cfquery name="q" datasource="baza">#preserveSingleQuotes(body.sql)#</cfquery>
|
||||
<cfset result = {ok: true}>
|
||||
</cfif>
|
||||
</cfif>
|
||||
|
||||
<cfcatch><cfset result = {ok: false, error: cfcatch.message, detail: cfcatch.detail}></cfcatch>
|
||||
<cfcatch><cfset result = {ok: false, error: cfcatch.message}></cfcatch>
|
||||
</cftry>
|
||||
|
||||
<cfoutput>#serializeJSON(result)#</cfoutput>
|
||||
</cfprocessingdirective>
|
||||
|
||||
Reference in New Issue
Block a user