The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

App::Dochazka::REST::Model::Shared - functions shared by several modules within the data model

VERSION

Version 0.075

SYNOPSIS

    use App::Dochazka::REST::Model::Shared;

    ...

EXPORTS

This module provides the following exports:

  • cud (Create, Update, Delete -- for single-record statements only)

  • priv_by_eid

  • schedule_by_eid

FUNCTIONS

cud

** USE FOR SINGLE-RECORD SQL STATEMENTS ONLY ** Attempts to Create, Update, or Delete a single database record. Takes a blessed reference (activity object or employee object), a SQL statement, and a list of attributes. Overwrites attributes in the object with the RETURNING list values received from the database. Returns a status object. Call example:

    $status = cud( $self, $sql, @attr );

priv_by_eid

Given a database handle, an EID, and, optionally, a timestamp, returns the employee's priv level as of that timestamp, or as of "now" if no timestamp was given. The priv level will default to 'passerby' if it can't be determined from the database.

schedule_by_eid

Given a database handle, an EID, and, optionally, a timestamp, returns the employee's schedule as of that timestamp, or as of "now" if no timestamp was given. The schedule will default to '{}' if it can't be determined from the database.

_st_by_eid

Function that 'priv_by_eid' and 'schedule_by_eid' are wrappers of.

make_spawn

Returns a ready-made 'spawn' method. The 'dbh' and 'acleid' attributes are required, but can be set to the string "TEST" for testing.

make_reset

Given a list of attributes, returns a ready-made 'reset' method. The 'dbh' and 'acleid' attributes are required, but need not be included on existing objects that already have them.

AUTHOR

Nathan Cutler, <presnypreklad@gmail.com>