Skip to content

Commit b8811d2

Browse files
Merge branch 'master' into dev
2 parents 3b86cff + a7fee80 commit b8811d2

File tree

4 files changed

+236
-30
lines changed

4 files changed

+236
-30
lines changed

.circleci/config.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,22 @@ build_steps: &build_steps
5959
#source buildenvvar
6060
#./master_deploy.sh -d ECS -e ${DEPLOY_ENV} -t latest -s ${GLOBAL_ENV}-global-appvar,${LOGICAL_ENV}-${APP_NAME}-appvar -i postgres-ifx-processer
6161
62+
6263
#echo "Running Masterscript - deploy postgres-ifx-processer producer"
6364
#if [ -e ${LOGICAL_ENV}-${APP_NAME}-consumer-deployvar.json ]; then sudo rm -vf ${LOGICAL_ENV}-${APP_NAME}-consumer-deployvar.json; fi
6465
#./buildenv.sh -e ${DEPLOY_ENV} -b ${LOGICAL_ENV}-${APP_NAME}-producer-deployvar
6566
#source buildenvvar
6667
#./master_deploy.sh -d ECS -e ${DEPLOY_ENV} -t latest -s ${GLOBAL_ENV}-global-appvar,${LOGICAL_ENV}-${APP_NAME}-appvar -i postgres-ifx-processer
68+
69+
6770
6871
#echo "Running Masterscript - deploy postgres-ifx-processer producer_dd"
6972
#if [ -e ${LOGICAL_ENV}-${APP_NAME}-producer-deployvar.json ]; then sudo rm -vf ${LOGICAL_ENV}-${APP_NAME}-producer-deployvar.json; fi
7073
#./buildenv.sh -e ${DEPLOY_ENV} -b ${LOGICAL_ENV}-${APP_NAME}-producer_dd-deployvar
7174
#source buildenvvar
7275
#./master_deploy.sh -d ECS -e ${DEPLOY_ENV} -t latest -s ${GLOBAL_ENV}-global-appvar,${LOGICAL_ENV}-${APP_NAME}-appvar -i postgres-ifx-processer
7376
77+
7478
#echo "Running Masterscript - deploy postgres-ifx-processer reconsiler1"
7579
#if [ -e ${LOGICAL_ENV}-${APP_NAME}-reconsiler1-deployvar.json ]; then sudo rm -vf ${LOGICAL_ENV}-${APP_NAME}-reconsiler1-deployvar.json; fi
7680
#./buildenv.sh -e ${DEPLOY_ENV} -b ${LOGICAL_ENV}-${APP_NAME}-reconsiler1-deployvar

config/default.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ module.exports = {
2222
database: process.env.PG_DATABASE || 'postgres', // database must exist before running the tool
2323
password: process.env.PG_PASSWORD || 'password',
2424
port: parseInt(process.env.PG_PORT, 10) || 5432,
25+
2526
triggerFunctions: process.env.TRIGGER_FUNCTIONS || 'dev_db_notifications', // List of trigger functions to listen to
2627
triggerTopics: process.env.TRIGGER_TOPICS || ['dev.db.postgres.sync'], // Names of the topic in the trigger payload
2728
triggerOriginators: process.env.TRIGGER_ORIGINATORS || ['tc-postgres-delta-processor'] // Names of the originator in the trigger payload

informix-identity-trigger-proc.sql

Lines changed: 230 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
database common_oltp
1+
2+
database common_oltp;
23

34
DROP PROCEDURE proc_user_update(varchar,decimal);
45
DROP PROCEDURE proc_user_update;
@@ -8,8 +9,8 @@ user_id decimal(10,0))
89
if (USER != 'ifxsyncuser') then
910
UPDATE user SET handle_lower = lower(new_handle), modify_date = current WHERE user.user_id = user_id;
1011
End if;
11-
end procedure;
12-
12+
end procedure;
13+
1314
create procedure "informix".proc_user_update(
1415
user_id DECIMAL(10,0),
1516
old_first_name VARCHAR(64),
@@ -27,7 +28,9 @@ new_middle_name VARCHAR(64),
2728
old_timezone_id decimal(5,0),
2829
new_timezone_id decimal(5,0)
2930
)
31+
3032
if (USER != 'ifxsyncuser') then
33+
3134
if ((old_first_name != new_first_name) or (old_last_name != new_last_name ) or (old_middle_name != new_middle_name )) then
3235
insert into audit_user (column_name, old_value, new_value,
3336
user_id)
@@ -59,10 +62,9 @@ user_id)
5962
user_id)
6063
values ('TIMEZONE_ID', old_timezone_id, new_timezone_id, user_id);
6164
End If;
62-
6365
UPDATE user SET handle_lower = lower(new_handle), modify_date = current WHERE user.user_id = user_id;
6466
End if;
65-
end procedure;
67+
end procedure;
6668

6769
DROP PROCEDURE informix.proc_email_update;
6870
CREATE PROCEDURE informix.proc_email_update(
@@ -77,7 +79,9 @@ new_primary_ind DECIMAL(1,0),
7779
old_status_id DECIMAL(3,0),
7880
new_status_id DECIMAL(3,0)
7981
)
82+
8083
if (USER != 'ifxsyncuser') then
84+
8185
if (old_email_type_id != new_email_type_id) then
8286
insert into audit_user (column_name, old_value, new_value, user_id)
8387
values ('EMAIL_TYPE', old_email_type_id, new_email_type_id, user_id);
@@ -97,11 +101,112 @@ new_status_id DECIMAL(3,0)
97101
insert into audit_user (column_name, old_value, new_value, user_id)
98102
values ('EMAIL_PRIMARY_IND', old_primary_ind, new_primary_ind, user_id);
99103
End If;
100-
104+
101105
update email set modify_date = current where email.email_id = email_id;
102106
End if;
103-
end procedure;
107+
end procedure;
108+
109+
DROP PROCEDURE informix.proc_phone_update;
110+
CREATE PROCEDURE informix.proc_phone_update(
111+
phone_id decimal(10,0),
112+
user_id DECIMAL(10,0),
113+
old_phone_type_id DECIMAL(5,0),
114+
new_phone_type_id DECIMAL(5,0),
115+
old_number VARCHAR(64),
116+
new_number VARCHAR(64),
117+
old_primary_ind DECIMAL(1,0),
118+
new_primary_ind DECIMAL(1,0)
119+
)
120+
if (USER != 'ifxsyncuser') then
121+
if (old_phone_type_id != new_phone_type_id) then
122+
insert into audit_user (column_name, old_value, new_value, user_id)
123+
values ('PHONE_TYPE', old_phone_type_id, new_phone_type_id, user_id);
124+
End If;
125+
126+
if (old_number != new_number) then
127+
insert into audit_user (column_name, old_value, new_value, user_id)
128+
values ('PHONE_NUMBER', old_number, new_number, user_id);
129+
End If;
130+
131+
if (old_primary_ind != new_primary_ind) then
132+
insert into audit_user (column_name, old_value, new_value, user_id)
133+
values ('PHONE_PRIMARY_IND', old_primary_ind, new_primary_ind, user_id);
134+
End If;
135+
update phone set modify_date = current where phone.phone_id = phone_id;
136+
End if;
137+
end procedure;
138+
139+
DROP PROCEDURE informix.proc_user_last_login;
140+
CREATE PROCEDURE informix.proc_user_last_login (user_id DECIMAL(10,0), o_last_login DATETIME YEAR TO FRACTION, n_last_login DATETIME YEAR TO FRACTION)
141+
if (USER != 'ifxsyncuser') then
142+
if (o_last_login != n_last_login) then
143+
insert into corona_event (corona_event_type_id,user_id, corona_event_timestamp) values (1, user_id, n_last_login);
144+
end if;
145+
End if;
146+
end procedure;
104147

148+
CREATE PROCEDURE informix.do_auditing2(sessionusername LVARCHAR)
149+
EXTERNAL NAME "$INFORMIXDIR/extend/auditing/auditing.bld(do_auditing2)"
150+
LANGUAGE C;
151+
152+
CREATE TRIGGER "informix".ifxpgsync_user_insert insert on "informix".user for each row
153+
(
154+
execute procedure informix.do_auditing2(USER ));
155+
156+
CREATE TRIGGER "informix".ifxpgsync_user_update update on "informix".user for each row
157+
(
158+
execute procedure "informix".do_auditing2(USER ));
159+
160+
CREATE TRIGGER informix.ifxpgsync_user_delete delete on "informix".user for each row
161+
(
162+
execute procedure "informix".do_auditing2(USER ));
163+
164+
165+
CREATE TRIGGER "informix".ifxpgsync_email_insert insert on "informix".email for each row
166+
(
167+
execute procedure "informix".do_auditing2(USER ));
168+
169+
CREATE TRIGGER informix.ifxpgsync_email_update update on "informix".email for each row
170+
(
171+
execute procedure "informix".do_auditing2(USER ));
172+
173+
CREATE TRIGGER informix.ifxpgsync_email_delete delete on "informix".email for each row
174+
(
175+
execute procedure "informix".do_auditing2(USER ));
176+
177+
178+
CREATE TRIGGER informix.ifxpgsync_security_user_insert insert on "informix".security_user for each row
179+
(
180+
execute procedure "informix".do_auditing2(USER ));
181+
182+
CREATE TRIGGER informix.ifxpgsync_security_user_update update on "informix".security_user for each row
183+
(
184+
execute procedure "informix".do_auditing2(USER ));
185+
186+
CREATE TRIGGER informix.ifxpgsync_security_user_delete delete on "informix".security_user for each row
187+
(
188+
execute procedure "informix".do_auditing2(USER ));
189+
190+
CREATE TRIGGER informix.ifxpgsync_user_achievement_insert insert on "informix".user_achievement for each row
191+
(
192+
execute procedure "informix".do_auditing2(USER ));
193+
194+
CREATE TRIGGER informix.ifxpgsync_user_achievement_update update on "informix".user_achievement for each row
195+
(
196+
execute procedure "informix".do_auditing2(USER ));
197+
198+
CREATE TRIGGER informix.ifxpgsync_user_achievement_delete delete on "informix".user_achievement for each row
199+
(
200+
execute procedure "informix".do_auditing2(USER ));
201+
202+
CREATE TRIGGER informix.ifxpgsync_user_group_xref_insert insert on "informix".user_group_xref for each row
203+
(
204+
execute procedure "informix".do_auditing2(USER ));
205+
206+
CREATE TRIGGER informix.ifxpgsync_user_group_xref_update update on "informix".user_group_xref for each row
207+
(
208+
execute procedure "informix".do_auditing2(USER ));
209+
105210
DROP PROCEDURE informix.proc_user_last_login;
106211
CREATE PROCEDURE informix.proc_user_last_login (user_id DECIMAL(10,0), o_last_login DATETIME YEAR TO FRACTION,
107212
n_last_login DATETIME YEAR TO FRACTION)
@@ -215,15 +320,93 @@ end procedure;
215320

216321
database informixoltp
217322
DROP PROCEDURE informix.proc_coder_update;
323+
CREATE TRIGGER informix.ifxpgsync_insert_user_sso_login insert on user_sso_login for each row
324+
(
325+
execute procedure "informix".do_auditing2(USER ));
326+
327+
CREATE TRIGGER informix.ifxpgsync_update_user_sso_login update on user_sso_login for each row
328+
(
329+
execute procedure "informix".do_auditing2(USER ));
330+
331+
CREATE TRIGGER informix.ifxpgsync_delete_user_sso_login delete on user_sso_login for each row
332+
(
333+
execute procedure "informix".do_auditing2(USER ));
334+
335+
336+
create trigger informix.ifxpgsync_sso_login_provider_insert insert on informix.sso_login_provider for each row
337+
(execute procedure informix.do_auditing2(USER ));
338+
create trigger informix.ifxpgsync_sso_login_provider_update update on informix.sso_login_provider for each row
339+
(execute procedure informix.do_auditing2(USER ));
340+
create trigger informix.ifxpgsync_sso_login_provider_delete delete on informix.sso_login_provider for each row
341+
(execute procedure informix.do_auditing2(USER ));
342+
343+
create trigger informix.ifxpgsync_social_login_provider_insert insert on informix.social_login_provider for each row
344+
(execute procedure informix.do_auditing2(USER ));
345+
create trigger informix.ifxpgsync_social_login_provider_update update on informix.social_login_provider for each row
346+
(execute procedure informix.do_auditing2(USER ));
347+
create trigger informix.ifxpgsync_social_login_provider_delete delete on informix.social_login_provider for each row
348+
(execute procedure informix.do_auditing2(USER ));
349+
350+
create trigger informix.ifxpgsync_security_groups_insert insert on informix.security_groups for each row
351+
(execute procedure informix.do_auditing2(USER ));
352+
create trigger informix.ifxpgsync_security_groups_update update on informix.security_groups for each row
353+
(execute procedure informix.do_auditing2(USER ));
354+
create trigger informix.ifxpgsync_security_groups_delete delete on informix.security_groups for each row
355+
(execute procedure informix.do_auditing2(USER ));
356+
357+
create trigger informix.ifxpgsync_achievement_type_lu_insert insert on informix.achievement_type_lu for each row
358+
(execute procedure informix.do_auditing2(USER ));
359+
create trigger informix.ifxpgsync_achievement_type_lu_update update on informix.achievement_type_lu for each row
360+
(execute procedure informix.do_auditing2(USER ));
361+
create trigger informix.ifxpgsync_achievement_type_lu_delete delete on informix.achievement_type_lu for each row
362+
(execute procedure informix.do_auditing2(USER ));
363+
364+
create trigger informix.ifxpgsync_country_insert insert on informix.country for each row
365+
(execute procedure informix.do_auditing2(USER ));
366+
create trigger informix.ifxpgsync_country_update update on informix.country for each row
367+
(execute procedure informix.do_auditing2(USER ));
368+
create trigger informix.ifxpgsync_country_delete delete on informix.country for each row
369+
(execute procedure informix.do_auditing2(USER ));
370+
371+
372+
create trigger informix.ifxpgsync_user_social_login_insert insert on informix.user_social_login for each row
373+
(execute procedure informix.do_auditing2(USER ));
374+
create trigger informix.ifxpgsync_user_social_login_update update on informix.user_social_login for each row
375+
(execute procedure informix.do_auditing2(USER ));
376+
create trigger informix.ifxpgsync_user_social_login_delete delete on informix.user_social_login for each row
377+
(execute procedure informix.do_auditing2(USER ));
378+
379+
380+
create trigger informix.ifxpgsync_invalid_handles_insert insert on informix.invalid_handles for each row
381+
(execute procedure informix.do_auditing2(USER ));
382+
create trigger informix.ifxpgsync_invalid_handles_update update on informix.invalid_handles for each row
383+
(execute procedure informix.do_auditing2(USER ));
384+
create trigger informix.ifxpgsync_invalid_handles_delete delete on informix.invalid_handles for each row
385+
(execute procedure informix.do_auditing2(USER ));
386+
387+
create trigger informix.ifxpgsync_audit_user_insert insert on informix.audit_user for each row
388+
(execute procedure informix.do_auditing2(USER )); create trigger informix.ifxpgsync_audit_user_update update on informix.audit_user for each row
389+
(execute procedure informix.do_auditing2(USER )); create trigger informix.ifxpgsync_audit_user_delete delete on informix.audit_user for each row
390+
(execute procedure informix.do_auditing2(USER ));
391+
392+
create trigger informix.ifxpgsync_corona_event_insert insert on informix.corona_event for each row
393+
(execute procedure informix.do_auditing2(USER )); create trigger informix.ifxpgsync_corona_event_update update on informix.corona_event for each row
394+
(execute procedure informix.do_auditing2(USER )); create trigger informix.ifxpgsync_corona_event_delete delete on informix.corona_event for each row
395+
(execute procedure informix.do_auditing2(USER ));
396+
397+
398+
database informixoltp;
399+
drop PROCEDURE proc_coder_update;
400+
218401
CREATE PROCEDURE informix.proc_coder_update(
219402
v_oldcoder_id decimal(10,0),
220403
v_oldquote varchar(255),v_newquote varchar (255),
221404
v_oldlanguage_id decimal(3,0), v_newlanguage_id decimal(3,0),
222405
v_oldcoder_type_id decimal(3,0), v_newcoder_type_id decimal(3,0),
223406
v_oldcomp_country_code varchar(3), v_newcomp_country_code varchar(3)
224407
)
408+
225409
if (USER != 'ifxsyncuser') then
226-
227410
if (v_oldquote != v_newquote) then
228411
insert into audit_coder (column_name, old_value, new_value, user_id)
229412
values ('QUOTE', v_oldquote , v_newquote, v_oldcoder_id);
@@ -243,7 +426,6 @@ v_oldcomp_country_code varchar(3), v_newcomp_country_code varchar(3)
243426
insert into audit_coder (column_name, old_value, new_value, user_id)
244427
values ('COMP_COUNTRY', v_oldcomp_country_code , v_newcomp_country_code, v_oldcoder_id);
245428
End if;
246-
247429
update coder set modify_date = current where coder_id = v_oldcoder_id;
248430
End if;
249431
end procedure;
@@ -291,25 +473,45 @@ new_last_rated_project_id decimal(12,0)
291473
values ('VOL', old_vol, new_vol, p_user_id, p_phase_id);
292474
End If;
293475

294-
if (old_num_ratings != new_num_ratings) then
295-
insert into user_rating_audit (column_name, old_value, new_value, user_id, phase_id)
296-
values ('NUM_RATINGS', old_num_ratings, new_num_ratings, p_user_id, p_phase_id);
297-
End If;
476+
477+
update coder set modify_date = current where coder_id = v_oldcoder_id;
478+
End if;
479+
480+
end procedure;
298481

299-
if (old_last_rated_project_id != new_last_rated_project_id) then
300-
insert into user_rating_audit (column_name, old_value, new_value, user_id, phase_id)
301-
values ('LAST_RATED_PROJECT_ID', old_last_rated_project_id, new_last_rated_project_id, p_user_id, p_phase_id);
302-
End If;
482+
CREATE PROCEDURE informix.do_auditing2(sessionusername LVARCHAR)
483+
EXTERNAL NAME "$INFORMIXDIR/extend/auditing/auditing.bld(do_auditing2)"
484+
LANGUAGE C;
303485

304-
update user_rating set mod_date_time = current where user_id = p_user_id and phase_id = p_phase_id;
305-
End if;
306-
end procedure;
307486

308-
DROP PROCEDURE proc_contest_creation_update;
309-
CREATE PROCEDURE informix.proc_contest_creation_update (create_user VARCHAR(64), old_project_status_id INT, new_project_status_id INT)
310-
if (USER != 'ifxsyncuser') then
311-
if (old_project_status_id != new_project_status_id and new_project_status_id == 1) then
312-
insert into corona_event (corona_event_type_id,user_id) values (5, TO_NUMBER(create_user));
313-
end if;
314-
End if;
315-
end procedure;
487+
CREATE TRIGGER informix.ifxpgsync_insert_coder insert on "informix".coder for each row
488+
(
489+
execute procedure "informix".do_auditing2(USER ));
490+
491+
CREATE TRIGGER informix.ifxpgsync_update_coder update on "informix".coder for each row
492+
(
493+
execute procedure "informix".do_auditing2(USER ));
494+
495+
CREATE TRIGGER informix.ifxpgsync_delete_coder delete on "informix".coder for each row
496+
(
497+
execute procedure "informix".do_auditing2(USER ));
498+
499+
CREATE TRIGGER informix.ifxpgsync_insert_algo_rating insert on "informix".algo_rating for each row
500+
(
501+
execute procedure "informix".do_auditing2(USER ));
502+
503+
CREATE TRIGGER informix.ifxpgsync_update_algo_rating update on "informix".algo_rating for each row
504+
(
505+
execute procedure "informix".do_auditing2(USER ));
506+
507+
CREATE TRIGGER informix.ifxpgsync_delete_algo_rating delete on "informix".algo_rating for each row
508+
(
509+
execute procedure "informix".do_auditing2(USER ));
510+
511+
create trigger informix.ifxpgsync_coder_referral_insert insert on informix.coder_referral for each row
512+
(execute procedure informix.do_auditing2(USER ));
513+
create trigger informix.ifxpgsync_coder_referral_update update on informix.coder_referral for each row
514+
(execute procedure informix.do_auditing2(USER ));
515+
create trigger informix.ifxpgsync_coder_referral_delete delete on informix.coder_referral for each row
516+
(execute procedure informix.do_auditing2(USER ));
517+

src/producer.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ try {
2929
payloadcopy = ""
3030
logger.debug('Entering producer 2')
3131
logger.debug(message)
32-
const payload = JSON.parse(message.payload)
33-
32+
const payload = JSON.parse(message.payload)
3433
payloadcopy = message
3534
const validTopicAndOriginator = (pgOptions.triggerTopics.includes(payload.topic)) && (pgOptions.triggerOriginators.includes(payload.originator)) // Check if valid topic and originator
3635
if (validTopicAndOriginator) {

0 commit comments

Comments
 (0)