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 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.

Custom EEx engine that only allows certain Elixir Kernel constructs.

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.

Z

EXPLO business logic - mainly Phoenix context modules.

ZSchemas.Accounts 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 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 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

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.

Edit + Create interface for ZWeb.Docs.EmailTemplatesLive

Just a thin wrapper to find a ZSchemas.HtmlDocument and show its content

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.