API Reference Portico/Z v0.1.0
Modules
Elixir libraries for external services.
Context for accessing Campdoc API functions.
Context for accessing Canvas/Instructure API functions.
Model objects for the Canvas API representation of an account.
Model objects for the Canvas API representation of a login.
Model objects for the Canvas API representation of a user.
Context for accessing Cloudinary API functions
Google API context.
Schema for Google Geocode API results.
Schema for a Google Group.
Schema for a Google User.
Schema for a Google User.
Context for accessing HaveIBeenPwned API functions
HubSpot API context.
Model objects for a HubSpot HubDB Table Row
Context for accessing data from https://openflights.org.
Context for accessing Teamwork API functions.
Context for accessing Workable API functions.
A "standard library" of functions to use across Z
Functions to work with Dates, Times, etc.
Special utilities that we use for collections (maps, lists, etc.)
Wrappers + sane defaults around common cryptographic functions.
Functions to simplify documentation across Z / EXPLO.
Fancy Ecto queries that we often re-use across contexts.
Stream CSV data from a URL.
Functions to generate, modify, and generally fiddle with text values.
Behaviour and helper functions for validating values.
URL validation
EXPLO business logic - mainly Phoenix context modules.
ZSchemas.Account
s are entities that can log in to Z / Portico.
Job to refresh all ZSchemas.Account
records.
Job to refresh all ZSchemas.Account
records "Have I Been Pwned?" data.
Context module for all things related to addresses - mostly searching for them.
Context module for ZSchemas.Attendance
database actions
Context module for ZSchemas.Configuration
- runtime system config.
Context for Contacts (humans)
Context module for actions shared among ZSchemas.Documents.*
structs.
Context module for ZSchemas.Documents.EmailTemplate
data.
Context module for ZSchemas.Documents.HtmlDocument
Context module for ZSchemas.Documents.HtmlTemplate
data.
Context module for dealing with EXPLO enrollments
Context for "flattened" data tables.
Airport and Airline database functions.
Functions to perform actions in EXPLO's LMS (Learning Management System)
Context module for Medical Information System. As of 2022: CampDoc
Job to refresh auth tokens for the MIS (Medical Information System)
A simple mailer to send notifications via Mandrill
Context for tasks related to Photos.
Context module for getting + setting entries from a ZSchemas.Preference
Repo adapter for PostgreSQL
Context for staff-related activities
Things that EXPLO SysAdmins do
Context module for working with URL shortening
Data and schema definitions for all of Z.
A ZSchemas.Account
gives you access to Z.
Generic data shape for a "universal" EXPLO address format
Data structure + validation for airline information
Data structure + validation for airport information
Data shape for "universal" EXPLO attendance
System configuration that, for various reasons, must be stored in the DB and accessed during runtime.
A way to define HTML documents using EEX
A stored instance of a ZSchemas.Documents.HtmlTemplate
A way to define HTML documents using EEX
Fields associated with document templates
Data structure + validation for flat bus routes
Data structure + validation for flat Contacts
Data structure + validation for flat Courses
Data structure + validation for Credit Providers
Data structure + validation to model flattened Enrollments
Data structure + validation for flat Sessions
Data behind a summer student email form
Each ZSchemas.Account
can have a ZSchemas.Preference
for any module.
A URL shape for usage with URL shorteners
The entrypoint for defining your web interface, such as controllers, views, channels and so on.
Functions on Z.Accounts
that are performed via API call.
API functions for address parsing
API endpoint for CRUD functions on flat contacts
API endpoint for CRUD functions on ZSchemas.Flat.BusRoute
data through Z.Flat
API endpoint for CRUD functions on ZSchemas.Flat.Contact
data through Z.Flat
API endpoint for CRUD functions on ZSchemas.Flat.Course
data through Z.Flat
API endpoint for CRUD functions on ZSchemas.Flat.CreditProvider
data through Z.Flat
API endpoint for CRUD functions on ZSchemas.Flat.Enrollment
data through Z.Flat
API endpoint for CRUD functions on ZSchemas.Flat.Session
data through Z.Flat
API endpoint to search for airlines by name/IATA code.
API endpoint to search for airports by name/IATA code.
API endpoint for managing contacts in Hubspot
API endpoint for adding users to our LMS (Learning Management System)
API endpoint for MIS Groups (read-only at this point)
API endpoint for Profile registrations in the MIS system
API endpoint for Profile reviews in the MIS system
API endpoint for Profile CRUD in the MIS system
API endpoint for getting SSO URLs for users
API endpoint for User creation in the MIS system
API endpoint for staff applications.
Basically https://bit.ly (url shortener) but API-only :)
API Endpoint that generates random words.
EXPLO's "About Us" page
Interface for CSV functions on Z.Accounts
.
Human interface for Z.Accounts
Form to edit a ZSchemas.Account
Show HaveIBeenPwned details for an account
Endpoints to perform manual "kickstarting" of Campdoc auth tokens.
Reusable component invocation for ZWeb
A search and duplicate check interface for Contacts.
The root of the "documents" space that provides links to the various document tools.
Human interface for ZSchemas.Documents.EmailTemplate
Edit + Create interface for ZWeb.Docs.EmailTemplatesLive
Just a thin wrapper to find a ZSchemas.HtmlDocument
and show its content
Human interface for ZSchemas.Documents.HtmlTemplate
Edit + Create interface for ZWeb.Docs.HtmlTemplatesLive
Show merged documents list for a ZSchemas.HtmlTemplate
Conveniences for translating and building error messages.
A data-entry form for attendance
Upload and retrieve photo information, for Photo IDs.
A webform for (logged-in) staff to send a Portico password reset request.
A webform to send "email" to students.
A module providing Internationalization with a gettext-based API.
EXPLO URLs for Teamwork objects, basically
One-stop shopping for authentication via Google / OAuth
EXPLO's password generator
Handle API authentication system-wide.
Handle login-based authentication system-wide.
Handle request query token authentication.
Routes for REST API actions into Z.
Module with named helpers generated from ZWeb.Router.