NAME

App::Dochazka::REST::Model::Lock - lock data model

SYNOPSIS

    use App::Dochazka::REST::Model::Lock;

    ...

DESCRIPTION

A description of the lock data model follows.

Locks in the database

    CREATE TABLE locks (
        lid     serial PRIMARY KEY,
        eid     integer REFERENCES Employees (EID),
        intvl   tsrange NOT NULL,
        remark  text
    )

There is also a stored procedure, fully_locked, that takes an EID and a tsrange, and returns a boolean value indicating whether or not that period is fully locked for the given employee.

Locks in the Perl API

# FIXME: MISSING VERBIAGE

EXPORTS

This module provides the following exports:

METHODS

load_by_lid

Instance method. Given an LID, loads a single lock into the object, rewriting whatever was there before. Returns a status object.

insert

Instance method. Attempts to INSERT a record. Field values are taken from the object. Returns a status object.

update

Instance method. Attempts to UPDATE a record. Field values are taken from the object. Returns a status object.

delete

Instance method. Attempts to DELETE a record. Field values are taken from the object. Returns a status object.

FUNCTIONS

lid_exists

Boolean

fetch_locks_by_eid_and_tsrange

Given a DBIx::Connector object, an EID, and a tsrange, returns a status object. Upon successfully finding one or more locks, the payload will be an ARRAYREF of lock records.

count_locks_in_tsrange

Given a DBIx::Connector object, an EID, and a tsrange, returns a status object. If the level is OK, the payload can be expected to contain an integer representing the number of locks that overlap (contain points in common) with this tsrange.

AUTHOR

Nathan Cutler, <presnypreklad@gmail.com>