diff --git a/v1/Application.cfc b/v1/Application.cfc
index 4f2dcc6..66e1d2b 100644
--- a/v1/Application.cfc
+++ b/v1/Application.cfc
@@ -57,7 +57,7 @@
//variables.framework.docs={};
variables.framework.docs.APIName="svc-api";
- variables.framework.docs.APIVersion="0.193"; /*$ git config --global --unset user.password*/
+ variables.framework.docs.APIVersion="0.195"; /*$ git config --global --unset user.password*/
variables.framework.globalHeaders = structNew();
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
diff --git a/v1/resources/instance.cfc b/v1/resources/instance.cfc
index 2c335fa..714b056 100644
--- a/v1/resources/instance.cfc
+++ b/v1/resources/instance.cfc
@@ -284,7 +284,10 @@
left outer join contragent k on (c.contragent_id=k.contragent_id)
where
p.param_value=
- AND r.svc_id=(select i.service_id from instance i where i.instance_uid=)
+ AND r.svc_id=(select i.service_id
+ from instance i
+ where i.instance_uid=
+ )
diff --git a/v1/resources/instance_ls.cfc b/v1/resources/instance_ls.cfc
index 9d73248..cf72967 100644
--- a/v1/resources/instance_ls.cfc
+++ b/v1/resources/instance_ls.cfc
@@ -152,6 +152,8 @@
i.price
v.svc
v.code
+ v.resource_realm_type_id
+
e.updater_id
u.login as updater_login
u.shortname as updater_shortname
@@ -228,6 +230,7 @@
from instance_operation o join (select instance_uid, max(dt_submit) as dt_submit from instance_operation group by 1
) lastv on (o.instance_uid=lastv.instance_uid AND o.dt_submit=lastv.dt_submit)
) io on (e.instance_uid=io.instance_uid)
+
where s.specification_id=
AND (
@@ -266,7 +269,8 @@
left outer join (select o.instance_operation_uid, o.instance_uid, o.operation, o.dt_submit, o.submit_result, o.dt_start, o.dt_finish, o.is_successful
from instance_operation o join (select instance_uid, max(dt_submit) as dt_submit from instance_operation group by 1) lastv
on (o.instance_uid=lastv.instance_uid AND o.dt_submit=lastv.dt_submit) ) io
- on (e.instance_uid=io.instance_uid)
+ on (e.instance_uid=io.instance_uid)
+
where s.specification_id=
diff --git a/v1/resources/instance_operation.cfc b/v1/resources/instance_operation.cfc
index 90e1176..e3da44f 100644
--- a/v1/resources/instance_operation.cfc
+++ b/v1/resources/instance_operation.cfc
@@ -236,7 +236,67 @@
+
+
+
+
+
+
+
+
+ select sop.svc_operation_cfs_param_id, sop.svc_operation_cfs_param, sop.unique_scope
+ from svc_operation_cfs_param sop
+ join instance_operation_cfs_param iop on (sop.svc_operation_cfs_param_id=iop.svc_operation_cfs_param_id)
+ where iop.instance_operation_uid =
+
+
+ select io.instance_uid
+ from instance_operation io
+ join instance_operation_cfs_param iop on (io.instance_operation_uid=iop.instance_operation_uid)
+ where iop.instance_operation_uid =
+
+
+
+
+
+
+
+ SELECT p.param_value, sp.svc_operation_cfs_param, re.display_name
+ FROM instance_operation o
+ JOIN instance_operation_cfs_param p on (o.instance_operation_uid=p.instance_operation_uid)
+ --JOIN svc s on (e.service_id=s.svc_id)
+ -- svc_operation_cfs_param нужен, чтобы убрать совпадение параметра с самим собой, это не является ошибкой
+ -- остается непонятным, будет ли работать проверка между create/modify, у них разные id, а в параметрах инстанса одно и то же
+ -- возможно, следует сравнивать просто по имени
+ --join instance_operation_cfs_param op on (p.instance_operation_cfs_param_uid=op.instance_operation_cfs_param_uid)
+ join svc_operation_cfs_param sp on (p.svc_operation_cfs_param_id=sp.svc_operation_cfs_param_id)
+
+ JOIN instance_operation_cfs_param p2 on (p.instance_operation_uid=p2.instance_operation_uid) -- sibling params
+ JOIN instance re on (p2.param_value=re.instance_uid::text /*не проверяем тип параметра - ссылка, не проверяем соответствие теп*/) -- referenced instance
+ -- down back
+ LEFT OUTER JOIN instance_cfs_param p3 on (re.instance_uid::text=p3.param_value /*добавить селективности*/) -- referencing params from sibling instance
+ LEFT OUTER JOIN instance_cfs_param p4 on (p3.instance_uid=p4.instance_uid AND sp.svc_operation_cfs_param=p4.param) -- same param names from sibling instance
+ WHERE p.param_value=p4.param_value
+ AND p.instance_operation_uid=
+ AND p.svc_operation_cfs_param_id=
+ AND p4.instance_uid <>
+ AND (select cast(st.instance_data->>'isDeleted' as boolean) from instance_state st where st.instance_uid=p4.instance_uid order by version desc limit 1) IS NOT TRUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/v1/resources/instance_operation_run.cfc b/v1/resources/instance_operation_run.cfc
index 9ddc516..da00019 100644
--- a/v1/resources/instance_operation_run.cfc
+++ b/v1/resources/instance_operation_run.cfc
@@ -88,9 +88,14 @@
-
-
-
+
+
+
+
+
+
+
+
@@ -103,6 +108,9 @@
+
+
+
diff --git a/v1/resources/instance_operation_validate.cfc b/v1/resources/instance_operation_validate.cfc
new file mode 100644
index 0000000..f60cae2
--- /dev/null
+++ b/v1/resources/instance_operation_validate.cfc
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+