@tamu-dor/famis-db 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/.github/workflows/actions.yml +16 -0
  2. package/docs/index.html +1453 -335
  3. package/docs.md +363 -190
  4. package/index.d.ts +619 -0
  5. package/index.js +56 -2
  6. package/package.json +3 -3
  7. package/readme.md +2 -2
  8. package/schemas/migrations/202102041628.sql +26 -0
  9. package/schemas/migrations/202102261131.sql +68 -0
  10. package/schemas/migrations/202104011516.sql +12 -0
  11. package/schemas/migrations/202104210829.sql +69 -0
  12. package/schemas/migrations/202104210926.sql +77 -0
  13. package/schemas/migrations/202105201344.sql +17 -0
  14. package/schemas/migrations/202105201355.sql +26 -0
  15. package/schemas/migrations/202105251323.sql +17 -0
  16. package/schemas/migrations/202106081436.sql +20 -0
  17. package/schemas/migrations/202106221333.sql +20 -0
  18. package/schemas/migrations/202107291406.sql +35 -0
  19. package/schemas/migrations/202108181427.sql +26 -0
  20. package/schemas/migrations/202110041133.sql +75 -0
  21. package/schemas/migrations/202110251113.sql +20 -0
  22. package/schemas/migrations/202111021104.sql +13 -0
  23. package/schemas/migrations/202111021110.sql +16 -0
  24. package/schemas/migrations/202111100901.sql +16 -0
  25. package/schemas/migrations/202111101041.sql +79 -0
  26. package/schemas/migrations/20211115.sql +71 -0
  27. package/schemas/migrations/202112171038.sql +89 -0
  28. package/schemas/migrations/202201211055.sql +97 -0
  29. package/schemas/migrations/202201211124.sql +24 -0
  30. package/schemas/migrations/202201261015.sql +17 -0
  31. package/schemas/migrations/202201311403.sql +91 -0
  32. package/schemas/migrations/202202081201.sql +41 -0
  33. package/schemas/migrations/202202081205.sql +45 -0
  34. package/schemas/migrations/202202141101.sql +21 -0
  35. package/schemas/migrations/202202141117.sql +76 -0
  36. package/schemas/migrations/202202151329.sql +21 -0
  37. package/schemas/migrations/202202171025.sql +4 -0
  38. package/schemas/migrations/20220225.sql +23 -0
  39. package/schemas/migrations/202203150618.sql +13 -0
  40. package/schemas/migrations/202204041316.sql +12 -0
  41. package/schemas/migrations/202204141018.sql +78 -0
  42. package/schemas/migrations/202204141301.sql +36 -0
  43. package/schemas/migrations/202205061236.sql +15 -0
  44. package/schemas/migrations/202206021248.sql +20 -0
  45. package/schemas/migrations/20220615.sql +39 -0
  46. package/schemas/migrations/202206291132.sql +15 -0
  47. package/schemas/migrations/202207290901.sql +31 -0
  48. package/schemas/migrations/202207290907.sql +26 -0
  49. package/schemas/migrations/202208241422.sql +21 -0
  50. package/schemas/migrations/202209141529.sql +21 -0
  51. package/schemas/migrations/202209300911.sql +35 -0
  52. package/schemas/migrations/202210111429.sql +35 -0
  53. package/schemas/migrations/202210111456.sql +57 -0
  54. package/schemas/migrations/202210171517.sql +23 -0
  55. package/schemas/migrations/202211091403.sql +26 -0
  56. package/schemas/migrations/202211091410.sql +26 -0
  57. package/schemas/migrations/202211091417.sql +31 -0
  58. package/schemas/migrations/202211161451.sql +81 -0
  59. package/schemas/migrations/202212141236.sql +37 -0
  60. package/schemas/migrations/202302201117.sql +73 -0
  61. package/schemas/migrations/202303081110.sql +78 -0
  62. package/schemas/migrations/202304191238.sql +12 -0
  63. package/schemas/migrations/202304271214.sql +7 -0
  64. package/schemas/schema.sql +57 -22
  65. package/change.txt +0 -123
  66. package/changes.md +0 -405
  67. package/famisDb.pdf +0 -0
  68. package/readme.wiki +0 -332
@@ -0,0 +1,76 @@
1
+ -- Add Global Health Research Complex
2
+ -- Provision Martin, Melanie L for core
3
+ BEGIN TRANSACTION;
4
+ DO $$
5
+ DECLARE
6
+ core_id integer;
7
+ user_id integer;
8
+ system_id integer;
9
+ core_name CONSTANT varchar := 'Global Health Research Complex';
10
+ core_contact CONSTANT varchar := 'Chantel Robinson';
11
+ core_contact_email CONSTANT varchar := 'chantelr@tamu.edu';
12
+ core_email CONSTANT varchar := null;
13
+ core_address CONSTANT varchar := null;
14
+ core_phone CONSTANT varchar := '979-458-5581';
15
+ revenue_account CONSTANT varchar := '0227211000000';
16
+ part_number CONSTANT varchar := '02';
17
+ user1 CONSTANT varchar := '8ff2c26efcbf088ff73e864cb4303a1f';
18
+ effective_date date := '2022-01-01';
19
+ BEGIN
20
+ SELECT id INTO STRICT system_id FROM public.system WHERE part = part_number;
21
+ -- rename existing core
22
+ IF EXISTS (
23
+ SELECT 1 FROM public.cores WHERE facility = core_name
24
+ ) THEN
25
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
26
+ UPDATE public.cores SET facility = core_name WHERE id = core_id;
27
+ END IF;
28
+
29
+ IF NOT EXISTS (
30
+ SELECT 1 FROM public.cores WHERE facility = core_name
31
+ ) THEN
32
+ INSERT INTO public.cores (facility, contact, "contactEmail",
33
+ "systemId", enabled, "coreEmail", "corePhone", "coreAddress")
34
+ VALUES (
35
+ core_name,
36
+ core_contact,
37
+ core_contact_email,
38
+ system_id,
39
+ TRUE,
40
+ core_email,
41
+ core_phone,
42
+ core_address
43
+ );
44
+ ELSE
45
+ UPDATE public.cores SET
46
+ contact = core_contact,
47
+ "contactEmail" = core_contact_email,
48
+ "systemId" = system_id,
49
+ enabled = TRUE,
50
+ "coreEmail" = core_email,
51
+ "corePhone" = core_phone,
52
+ "coreAddress" = core_address
53
+ WHERE facility = core_name;
54
+ END IF;
55
+ -- assign id to variable; STRICT requires exactly one row be found
56
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
57
+
58
+ IF NOT EXISTS (
59
+ SELECT 1 FROM public.core_accounts WHERE "coreId" = core_id
60
+ ) THEN
61
+ INSERT INTO public.core_accounts ("coreId", account, effective)
62
+ VALUES (core_id, revenue_account, effective_date);
63
+ ELSE
64
+ UPDATE public.core_accounts SET account = revenue_account, effective = effective_date
65
+ WHERE "coreId" = core_id AND effective = (
66
+ SELECT MAX(effective)
67
+ FROM public.core_accounts WHERE "coreId" = core_id);
68
+ END IF;
69
+
70
+ SELECT id INTO STRICT user_id FROM public.users
71
+ WHERE "userId" = user1;
72
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
73
+ ON CONFLICT DO NOTHING;
74
+
75
+ END $$ ;
76
+ COMMIT;
@@ -0,0 +1,21 @@
1
+ -- Provision Bundick, Marcy A for Experimental Genomics Core
2
+ BEGIN TRANSACTION;
3
+ DO $$
4
+ DECLARE
5
+ core_id integer;
6
+ user_id integer;
7
+ system_id integer;
8
+ core_name CONSTANT varchar := 'Experimental Genomics Core';
9
+ user1 CONSTANT varchar := '1df80ba44155481ab711b9fc577a50ba';
10
+ BEGIN
11
+ IF EXISTS (
12
+ SELECT 1 FROM public.cores WHERE facility = core_name
13
+ ) THEN
14
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
15
+ SELECT id INTO STRICT user_id FROM public.users
16
+ WHERE "userId" = user1;
17
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
18
+ ON CONFLICT DO NOTHING;
19
+ END IF;
20
+ END $$ ;
21
+ COMMIT;
@@ -0,0 +1,4 @@
1
+ -- Add 0624 revenue code per Courtney Cammack
2
+ BEGIN TRANSACTION;
3
+ INSERT INTO codes (revenue, expense, sales, srs) VALUES ('0624', '5665', FALSE, TRUE);
4
+ COMMIT TRANSACTION;
@@ -0,0 +1,23 @@
1
+ -- Add CFDA No. and Sponsor Type fields, for checking if SRS-managed accounts
2
+ -- are federal. Sponsor type can be blank, 'F' or various two-character codes
3
+ -- and CFDA (if present) is a 5-digit number, but we only care when
4
+ -- sponsor_type='F' AND cfda_no IS NOT NULL.
5
+
6
+ ALTER TABLE accounts_all ADD COLUMN IF NOT EXISTS cfda_no char(5) DEFAULT NULL;
7
+ ALTER TABLE accounts_all ADD COLUMN IF NOT EXISTS sponsor_type varchar(2) DEFAULT NULL;
8
+
9
+ -- Tests show the sponsor_type index is quite helpful, but an index on cfda_no
10
+ -- is only minimal gain.
11
+ CREATE INDEX IF NOT EXISTS accounts_sponsor ON accounts_all USING hash(sponsor_type);
12
+
13
+ CREATE OR REPLACE VIEW public.accounts AS
14
+ -- exclude the last_seen column; can optionally reorder columns
15
+ SELECT uid, account_number, campus_code, fiscal_year, account,
16
+ support_account, budget_support_account, budget_account_number, title,
17
+ expiration_date, status, uin, responsible_uin, department, setup_date,
18
+ budget_access, abr_rule, idt_allowed, adloc_campus_code,
19
+ adloc_department, adloc_name, preferred_first_name, first_name,
20
+ middle_name, last_name, email, work_phone, active, default_bank,
21
+ bank_override, srs, cfda_no, sponsor_type
22
+ FROM public.accounts_all
23
+ WHERE last_seen = (SELECT MAX(last_seen) FROM public.accounts_all);
@@ -0,0 +1,13 @@
1
+ -- Enable College of Dentistry Research Core
2
+ BEGIN TRANSACTION;
3
+ DO $$
4
+ DECLARE
5
+ core_name CONSTANT varchar := 'College of Dentistry Research Core';
6
+ BEGIN
7
+ IF EXISTS (
8
+ SELECT 1 FROM public.cores WHERE facility = core_name
9
+ ) THEN
10
+ UPDATE public.cores SET enabled = TRUE WHERE facility = core_name;
11
+ END IF;
12
+ END $$ ;
13
+ COMMIT;
@@ -0,0 +1,12 @@
1
+ -- Alter user_id to character(32) to support TAMU uids
2
+ BEGIN;
3
+ ALTER TABLE invoice_comments
4
+ ALTER user_id TYPE character(32),
5
+ ALTER user_id DROP DEFAULT,
6
+ ALTER user_id SET NOT NULL;
7
+
8
+ UPDATE invoice_comments
9
+ SET user_id = users."userId"
10
+ FROM users
11
+ WHERE users.id = cast(invoice_comments.user_id as int8);
12
+ COMMIT;
@@ -0,0 +1,78 @@
1
+ -- Add IBT PreClinical Imaging Core
2
+ -- Add Saenz, Linda B and provision for core
3
+ -- Provision DuBose, Candida for core
4
+ BEGIN;
5
+ DO $$
6
+ DECLARE
7
+ core_id integer;
8
+ user_id integer;
9
+ system_id integer;
10
+ core_name CONSTANT varchar := 'IBT Pre-Clinical Imaging Core';
11
+ core_contact CONSTANT varchar := 'Linda B. Saenz';
12
+ core_contact_email CONSTANT varchar := 'saenz@tamu.edu';
13
+ core_email CONSTANT varchar := NULL;
14
+ core_address CONSTANT varchar := NULL;
15
+ core_phone CONSTANT varchar := NULL;
16
+ revenue_account CONSTANT varchar := '2328031000000';
17
+ part_number CONSTANT varchar := '23';
18
+ user1 CONSTANT varchar := 'd885c199cf16d088f332835b395d57d5';
19
+ user2 CONSTANT varchar := '1bd645107a1b040cd187591af43a2680';
20
+ effective_date date := '2022-03-01';
21
+ BEGIN
22
+ SELECT id INTO STRICT system_id FROM public.system WHERE part = part_number;
23
+ IF NOT EXISTS (
24
+ SELECT 1 FROM public.cores WHERE facility = core_name
25
+ ) THEN
26
+ INSERT INTO public.cores (facility, contact, "contactEmail",
27
+ "systemId", enabled, "coreEmail", "corePhone", "coreAddress")
28
+ VALUES (
29
+ core_name,
30
+ core_contact,
31
+ core_contact_email,
32
+ system_id,
33
+ TRUE,
34
+ core_email,
35
+ core_phone,
36
+ core_address
37
+ );
38
+ ELSE
39
+ UPDATE public.cores SET
40
+ contact = core_contact,
41
+ "contactEmail" = core_contact_email,
42
+ "systemId" = system_id,
43
+ enabled = TRUE,
44
+ "coreEmail" = core_email,
45
+ "corePhone" = core_phone,
46
+ "coreAddress" = core_address
47
+ WHERE facility = core_name;
48
+ END IF;
49
+ -- assign id to variable; STRICT requires exactly one row be found
50
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
51
+
52
+ IF NOT EXISTS (
53
+ SELECT 1 FROM public.core_accounts WHERE "coreId" = core_id
54
+ ) THEN
55
+ INSERT INTO public.core_accounts ("coreId", account, effective)
56
+ VALUES (core_id, revenue_account, effective_date);
57
+ ELSE
58
+ UPDATE public.core_accounts SET account = revenue_account, effective = effective_date
59
+ WHERE "coreId" = core_id AND effective = (SELECT MAX(effective)
60
+ FROM public.core_accounts WHERE "coreId" = core_id);
61
+ END IF;
62
+
63
+ -- there are unique constraints on users.userId and user_cores.(coreId + userId)
64
+ INSERT INTO public.users ("userId") VALUES (user1)
65
+ ON CONFLICT DO NOTHING;
66
+ SELECT id INTO STRICT user_id FROM public.users
67
+ WHERE "userId" = user1;
68
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
69
+ ON CONFLICT DO NOTHING;
70
+
71
+ -- user2 already exists; only insert permissions for user on core
72
+ SELECT id INTO STRICT user_id FROM public.users
73
+ WHERE "userId" = user2;
74
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
75
+ ON CONFLICT DO NOTHING;
76
+
77
+ END $$ ;
78
+ COMMIT;
@@ -0,0 +1,36 @@
1
+ -- Update Rodent Pre-clinical Phenotyping Core contact information:
2
+ -- Add Kim, Sun J and provision for core
3
+ -- Mark Bundick, Marcy as deleted and remove from user_cores (was also on MGW)
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_id integer;
8
+ user_id integer;
9
+ core_name CONSTANT varchar := 'Rodent Pre-clinical Phenotyping Core';
10
+ user1 CONSTANT varchar := 'bee3651e97370a00cf57bbc53fba5705';
11
+ user2 CONSTANT varchar := '1df80ba44155481ab711b9fc577a50ba';
12
+ BEGIN
13
+ IF NOT EXISTS (
14
+ SELECT 1 FROM public.cores WHERE facility = core_name
15
+ ) THEN
16
+ RAISE NOTICE 'Core does not exist.';
17
+ ELSE
18
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
19
+ UPDATE public.cores SET
20
+ contact = 'Sunja Kim',
21
+ "contactEmail" = 'sunjapa@tamu.edu',
22
+ "coreEmail" = 'tigss@tamu.edu'
23
+ WHERE id = core_id;
24
+ -- there are unique constraints on users.userId and user_cores.(coreId + userId)
25
+ INSERT INTO public.users ("userId") VALUES (user1)
26
+ ON CONFLICT DO NOTHING;
27
+ SELECT id INTO STRICT user_id FROM public.users
28
+ WHERE "userId" = user1;
29
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
30
+ ON CONFLICT DO NOTHING;
31
+ SELECT id INTO STRICT user_id FROM public.users WHERE "userId" = user2;
32
+ DELETE FROM public.user_cores WHERE "userId" = user_id;
33
+ UPDATE public.users SET deleted = CURRENT_TIMESTAMP WHERE "userId" = user2;
34
+ END IF;
35
+ END $$ ;
36
+ COMMIT;
@@ -0,0 +1,15 @@
1
+ -- update IBT High Throughput Research and Screening Center Core revenue code
2
+ -- to 23-210430-50000
3
+
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_id integer;
8
+ user_id integer;
9
+ core_name CONSTANT varchar := 'IBT High Throughput Research and Screening Center Core';
10
+ BEGIN
11
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
12
+ INSERT INTO public.core_accounts ("coreId", account, effective)
13
+ VALUES (core_id, '2321043050000', '2022-04-28');
14
+ END $$ ;
15
+ COMMIT;
@@ -0,0 +1,20 @@
1
+ -- change contact to Paula McCarver
2
+
3
+ BEGIN TRANSACTION;
4
+ DO $$
5
+ DECLARE
6
+ core_id integer;
7
+ core_name CONSTANT varchar := 'COM Cell Analysis Facility (COM-CAF)';
8
+ BEGIN
9
+ IF NOT EXISTS (
10
+ SELECT 1 FROM public.cores WHERE facility = core_name
11
+ ) THEN
12
+ RAISE NOTICE 'Core does not exist.';
13
+ ELSE
14
+ UPDATE public.cores SET
15
+ contact = 'Paula McCarver',
16
+ "contactEmail" = 'pmccarver@tamu.edu'
17
+ WHERE facility = core_name;
18
+ END IF;
19
+ END $$ ;
20
+ COMMIT;
@@ -0,0 +1,39 @@
1
+ BEGIN;
2
+ -- Make system part unique, so we can do an "upsert" for adding any new parts
3
+ -- and updating name/abbrev of existing ones. First remove the existing
4
+ -- (non-unique) index.
5
+ DROP INDEX IF EXISTS system_part;
6
+ ALTER TABLE public.system ADD UNIQUE(part);
7
+
8
+ -- Query to update from the edw adloc/department feed:
9
+ CREATE TABLE IF NOT EXISTS public.system_log (
10
+ part char(2),
11
+ old_abbrev varchar(10),
12
+ abbrev varchar(10),
13
+ old_name varchar(64),
14
+ name varchar(64),
15
+ updated timestamp DEFAULT CURRENT_TIMESTAMP
16
+ );
17
+
18
+ WITH upd AS (
19
+ INSERT INTO public.system AS s (part, abbrev, name)
20
+ SELECT part, part_abbrev, part_name FROM people.departments
21
+ GROUP BY part, part_abbrev, part_name
22
+ ON CONFLICT (part) DO UPDATE SET abbrev=excluded.abbrev, name=excluded.name
23
+ -- only update changed values, so the log isn't useless
24
+ WHERE s.abbrev <> excluded.abbrev OR s.name <> excluded.name
25
+ RETURNING part,
26
+ (SELECT s2.abbrev FROM public.system s2 WHERE s2.part=s.part) AS old_abbrev,
27
+ abbrev,
28
+ (SELECT s2.name FROM public.system s2 WHERE s2.part=s.part) AS old_name,
29
+ name
30
+ )
31
+ INSERT INTO public.system_log SELECT * FROM upd;
32
+
33
+ /*
34
+ -- Show parts in public.system NOT in the EDW feed:
35
+ SELECT part, abbrev, name FROM public.system
36
+ WHERE part NOT IN (SELECT DISTINCT part FROM people.departments);
37
+ */
38
+
39
+ -- COMMIT or ROLLBACK in the session you include this file from.
@@ -0,0 +1,15 @@
1
+ -- update Integrated Metabolomics Analysis Core revenue account
2
+ -- to 02-271440-00000
3
+
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_id integer;
8
+ user_id integer;
9
+ core_name CONSTANT varchar := 'Integrated Metabolomics Analysis Core';
10
+ BEGIN
11
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
12
+ INSERT INTO public.core_accounts ("coreId", account, effective)
13
+ VALUES (core_id, '0227144000000', '2022-06-29');
14
+ END $$ ;
15
+ COMMIT;
@@ -0,0 +1,31 @@
1
+ -- Update Biomedical Engineering Shared Laboratories contact information:
2
+ -- Mark Huff, Christopher A as deleted and remove from user_cores
3
+ -- Add Phillips, Kathleen Anne and provision for core
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_id integer;
8
+ user_id integer;
9
+ core_name CONSTANT varchar := 'Biomedical Engineering Shared Laboratories';
10
+ user1 CONSTANT varchar := 'caf841f3459c5f7ea254967fef100f77';
11
+ user2 CONSTANT varchar := '0984d5f020fe642e4893cb0465cd6074';
12
+ BEGIN
13
+ IF NOT EXISTS (
14
+ SELECT 1 FROM public.cores WHERE facility = core_name
15
+ ) THEN
16
+ RAISE NOTICE 'Core does not exist.';
17
+ ELSE
18
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
19
+ SELECT id INTO STRICT user_id FROM public.users WHERE "userId" = user1;
20
+ DELETE FROM public.user_cores WHERE "userId" = user_id;
21
+ UPDATE public.users SET deleted = CURRENT_TIMESTAMP WHERE "userId" = user1;
22
+
23
+ INSERT INTO public.users ("userId") VALUES (user2)
24
+ ON CONFLICT DO NOTHING;
25
+ SELECT id INTO STRICT user_id FROM public.users
26
+ WHERE "userId" = user2;
27
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
28
+ ON CONFLICT DO NOTHING;
29
+ END IF;
30
+ END $$ ;
31
+ COMMIT;
@@ -0,0 +1,26 @@
1
+ -- Update Global Health Research Complex contact information:
2
+ -- Add Loukanis, Darrell J
3
+ BEGIN TRANSACTION;
4
+ DO $$
5
+ DECLARE
6
+ core_id integer;
7
+ user_id integer;
8
+ core_name CONSTANT varchar := 'Global Health Research Complex';
9
+ user1 CONSTANT varchar := 'c01cc78dcee73ac0965c837bf667e64a';
10
+ BEGIN
11
+ IF NOT EXISTS (
12
+ SELECT 1 FROM public.cores WHERE facility = core_name
13
+ ) THEN
14
+ RAISE NOTICE 'Core does not exist.';
15
+ ELSE
16
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
17
+ -- there are unique constraints on users.userId and user_cores.(coreId + userId)
18
+ INSERT INTO public.users ("userId") VALUES (user1)
19
+ ON CONFLICT ("userId") DO UPDATE SET deleted = null;
20
+ SELECT id INTO STRICT user_id FROM public.users
21
+ WHERE "userId" = user1;
22
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
23
+ ON CONFLICT DO NOTHING;
24
+ END IF;
25
+ END $$ ;
26
+ COMMIT;
@@ -0,0 +1,21 @@
1
+ -- Update Biomedical Engineering Shared Laboratories contact information:
2
+ -- change contact to Katie Phillips
3
+ -- change contact email to etbinvoicing@tamu.edu
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_name CONSTANT varchar := 'Biomedical Engineering Shared Laboratories';
8
+ BEGIN
9
+ IF NOT EXISTS (
10
+ SELECT 1 FROM public.cores WHERE facility = core_name
11
+ ) THEN
12
+ RAISE NOTICE 'Core does not exist.';
13
+ ELSE
14
+ UPDATE public.cores SET
15
+ contact = 'Katie Phillips',
16
+ "contactEmail" = 'etbinvoicing@tamu.edu'
17
+ WHERE facility = core_name;
18
+ END IF;
19
+ END $$ ;
20
+ COMMIT;
21
+
@@ -0,0 +1,21 @@
1
+ -- Update Integrated Metabolomics Analysis Core contact information:
2
+ -- change contact to Su Liu
3
+ -- change contact email to sliu6688@tamu.edu
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_name CONSTANT varchar := 'Integrated Metabolomics Analysis Core';
8
+ BEGIN
9
+ IF NOT EXISTS (
10
+ SELECT 1 FROM public.cores WHERE facility = core_name
11
+ ) THEN
12
+ RAISE NOTICE 'Core does not exist.';
13
+ ELSE
14
+ UPDATE public.cores SET
15
+ contact = 'Su Liu',
16
+ "contactEmail" = 'sliu6688@tamu.edu'
17
+ WHERE facility = core_name;
18
+ END IF;
19
+ END $$ ;
20
+ COMMIT;
21
+
@@ -0,0 +1,35 @@
1
+ -- Update Rodent Pre-clinical Phenotyping Core user information:
2
+ -- Remove Curington, Aimee N from user_cores
3
+ -- Add VPR Business Email as a role account and provision for core
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_id integer;
8
+ user_id integer;
9
+ core_name CONSTANT varchar := 'Rodent Pre-clinical Phenotyping Core';
10
+ user1 CONSTANT varchar := '103308479281204c4d6e52960afb0192';
11
+ -- user2 is a role email account. The UID has been generated and is not from
12
+ -- TAMU directory services.
13
+ user2 CONSTANT varchar := '4fd30af640ca11ed9f6fb3f2b9d5f2da';
14
+ role_name CONSTANT varchar := 'VPR Business Email';
15
+ role_email CONSTANT varchar := 'vpr-business@tamu.edu';
16
+ BEGIN
17
+ IF NOT EXISTS (
18
+ SELECT 1 FROM public.cores WHERE facility = core_name
19
+ ) THEN
20
+ RAISE NOTICE 'Core does not exist.';
21
+ ELSE
22
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
23
+ SELECT id INTO STRICT user_id FROM public.users WHERE "userId" = user1;
24
+ DELETE FROM public.user_cores WHERE "userId" = user_id AND "coreId" = core_id;
25
+
26
+ INSERT INTO public.users ("userId", "role", "roleName", "roleEmail")
27
+ VALUES (user2, TRUE, role_name, role_email)
28
+ ON CONFLICT DO NOTHING;
29
+ SELECT id INTO STRICT user_id FROM public.users
30
+ WHERE "userId" = user2;
31
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
32
+ ON CONFLICT DO NOTHING;
33
+ END IF;
34
+ END $$ ;
35
+ COMMIT;
@@ -0,0 +1,35 @@
1
+ -- Update Experimental Genomics Core user information:
2
+ -- Disable email notifications for Grimm, Tribbie D
3
+ -- Add VPR Business Email as a role account and provision for core
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_id integer;
8
+ user_id integer;
9
+ core_name CONSTANT varchar := 'Experimental Genomics Core';
10
+ user1 CONSTANT varchar := '91b1221071c7dae4faf3feee14ab858f';
11
+ -- user2 is a role email account. The UID has been generated and is not from
12
+ -- TAMU directory services.
13
+ user2 CONSTANT varchar := '4fd30af640ca11ed9f6fb3f2b9d5f2da';
14
+ role_name CONSTANT varchar := 'VPR Business Email';
15
+ role_email CONSTANT varchar := 'vpr-business@tamu.edu';
16
+ BEGIN
17
+ IF NOT EXISTS (
18
+ SELECT 1 FROM public.cores WHERE facility = core_name
19
+ ) THEN
20
+ RAISE NOTICE 'Core does not exist.';
21
+ ELSE
22
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
23
+ SELECT id INTO STRICT user_id FROM public.users WHERE "userId" = user1;
24
+ UPDATE public.user_cores SET email = FALSE WHERE "userId" = user_id AND "coreId" = core_id;
25
+
26
+ INSERT INTO public.users ("userId", "role", "roleName", "roleEmail")
27
+ VALUES (user2, TRUE, role_name, role_email)
28
+ ON CONFLICT DO NOTHING;
29
+ SELECT id INTO STRICT user_id FROM public.users
30
+ WHERE "userId" = user2;
31
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
32
+ ON CONFLICT DO NOTHING;
33
+ END IF;
34
+ END $$ ;
35
+ COMMIT;
@@ -0,0 +1,57 @@
1
+ -- Update TAMU System Billing Managers user information:
2
+ -- Add and provision Talley, Nicole R
3
+ -- Add and provision Johnson, Glenisha Rontae
4
+ -- Add and provision Woodward, Ashli Dawn
5
+ -- Add and provision Groce, Rachel R
6
+ BEGIN TRANSACTION;
7
+ DO $$
8
+ DECLARE
9
+ system_id integer;
10
+ user_id integer;
11
+ part_num CONSTANT varchar := '02';
12
+ user1 CONSTANT varchar := '9257a2da915ac163345aa16ff99ff957';
13
+ user2 CONSTANT varchar := 'e4280179261b8d09c2eb950d7496feeb';
14
+ user3 CONSTANT varchar := '73f98faa52e9baceff4c4d9c1360a4e4';
15
+ user4 CONSTANT varchar := '1e786ee354e5e3cb64d325a4a3fc9c90';
16
+ BEGIN
17
+ IF NOT EXISTS (
18
+ SELECT 1 FROM public.system WHERE "part" = part_num
19
+ ) THEN
20
+ RAISE NOTICE 'System part does not exist.';
21
+ ELSE
22
+ SELECT id INTO STRICT system_id FROM public.system WHERE "part" = part_num;
23
+
24
+ INSERT INTO public.users ("userId", "role", "roleName", "roleEmail")
25
+ VALUES (user1, FALSE, NULL, NULL)
26
+ ON CONFLICT DO NOTHING;
27
+ SELECT id INTO STRICT user_id FROM public.users
28
+ WHERE "userId" = user1;
29
+ INSERT INTO public.user_systems ("systemId", "userId", email) VALUES (system_id, user_id, FALSE)
30
+ ON CONFLICT DO NOTHING;
31
+
32
+ INSERT INTO public.users ("userId", "role", "roleName", "roleEmail")
33
+ VALUES (user2, FALSE, NULL, NULL)
34
+ ON CONFLICT DO NOTHING;
35
+ SELECT id INTO STRICT user_id FROM public.users
36
+ WHERE "userId" = user2;
37
+ INSERT INTO public.user_systems ("systemId", "userId", email) VALUES (system_id, user_id, FALSE)
38
+ ON CONFLICT DO NOTHING;
39
+
40
+ INSERT INTO public.users ("userId", "role", "roleName", "roleEmail")
41
+ VALUES (user3, FALSE, NULL, NULL)
42
+ ON CONFLICT DO NOTHING;
43
+ SELECT id INTO STRICT user_id FROM public.users
44
+ WHERE "userId" = user3;
45
+ INSERT INTO public.user_systems ("systemId", "userId", email) VALUES (system_id, user_id, FALSE)
46
+ ON CONFLICT DO NOTHING;
47
+
48
+ INSERT INTO public.users ("userId", "role", "roleName", "roleEmail")
49
+ VALUES (user4, FALSE, NULL, NULL)
50
+ ON CONFLICT DO NOTHING;
51
+ SELECT id INTO STRICT user_id FROM public.users
52
+ WHERE "userId" = user4;
53
+ INSERT INTO public.user_systems ("systemId", "userId", email) VALUES (system_id, user_id, FALSE)
54
+ ON CONFLICT DO NOTHING;
55
+ END IF;
56
+ END $$ ;
57
+ COMMIT;
@@ -0,0 +1,23 @@
1
+ -- Update Integrated Metabolomics Analysis Core user information:
2
+ -- Remove Pasket, Shelly P from user_cores
3
+ -- Set Pasket, Shelly P as deleted from users
4
+ BEGIN TRANSACTION;
5
+ DO $$
6
+ DECLARE
7
+ core_id integer;
8
+ user_id integer;
9
+ core_name CONSTANT varchar := 'Integrated Metabolomics Analysis Core';
10
+ user1 CONSTANT varchar := '72f3ee7aa427b0fef432f2658def0270';
11
+ BEGIN
12
+ IF NOT EXISTS (
13
+ SELECT 1 FROM public.cores WHERE facility = core_name
14
+ ) THEN
15
+ RAISE NOTICE 'Core does not exist.';
16
+ ELSE
17
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
18
+ SELECT id INTO STRICT user_id FROM public.users WHERE "userId" = user1;
19
+ DELETE FROM public.user_cores WHERE "userId" = user_id AND "coreId" = core_id;
20
+ UPDATE public.users SET deleted = CURRENT_TIMESTAMP WHERE "userId" = user1;
21
+ END IF;
22
+ END $$ ;
23
+ COMMIT;
@@ -0,0 +1,26 @@
1
+ -- Update Comparative Medicine Program contact information:
2
+ -- Add Velasquez, Tiffany LeeAnn
3
+ BEGIN TRANSACTION;
4
+ DO $$
5
+ DECLARE
6
+ core_id integer;
7
+ user_id integer;
8
+ core_name CONSTANT varchar := 'Comparative Medicine Program';
9
+ user1 CONSTANT varchar := '95a01920a467a5b975d58788b20e4cca';
10
+ BEGIN
11
+ IF NOT EXISTS (
12
+ SELECT 1 FROM public.cores WHERE facility = core_name
13
+ ) THEN
14
+ RAISE NOTICE 'Core does not exist.';
15
+ ELSE
16
+ SELECT id INTO STRICT core_id FROM public.cores WHERE facility = core_name;
17
+ -- there are unique constraints on users.userId and user_cores.(coreId + userId)
18
+ INSERT INTO public.users ("userId") VALUES (user1)
19
+ ON CONFLICT ("userId") DO UPDATE SET deleted = null;
20
+ SELECT id INTO STRICT user_id FROM public.users
21
+ WHERE "userId" = user1;
22
+ INSERT INTO public.user_cores ("coreId", "userId", email) VALUES (core_id, user_id, TRUE)
23
+ ON CONFLICT DO NOTHING;
24
+ END IF;
25
+ END $$ ;
26
+ COMMIT;