Standardized Administration Tools (SAT) Accounts API

This is a description of the Accounts API.

Architecture

All data is housed within the Odyssey database. See web diagram with architecture overview. An API will provide a programmatic mechanism for database access and updates.

Requirements

As discussed with Dave, the requirements are simply that he is able to access and update accounts data programmatically. The current understanding is that it will be via an API "wrapper" around postgres functions which perform the actions.

Operations will happen on-demand, rather than at a timed interval; we will need to implement some sort of database-driven trigger, so the API-calling code will run efficiently on the data needing updates.

Implementation Discussion

From /RT#1015583 and RT#910469:

Clayton's latest code is found in ubuntu1804-104:/u4/ctucker/Netgroups/cscf_domain_update_psql.v33 There are three queries against the _math_computing schema.

1) sponsor_computing is an easy replacement by a new sponsor_computing table. The only differences:

  • computing_description was removed because it was always blank;
  • userinfo_userid is replaced with person_id - a foreign reference to _identity.person_person.
  • computing_starts and computing_expires are SQL dates not ascii.

2) sponsor_computing_group is replaced by the groups table (group_group) so we can define arbitrary nested groups. See Defining nested computing groups for sample code.

3) sponsor_userinfo is a map of userid to long name; the purpose is simply to do name lookups, which is simply a query from _watiam.watiam_entry.

Usage of group_group_root view

See Defining nested computing groups

References

-- DanielAllen - 2019-10-30
Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2020-05-19 - DanielAllen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback