App-Dochazka-REST

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.054  2014-07-14 10:08 CEST
- Activity.pm: adapt existing code from Employee.pm
- rename 'name' column to 'code' in 'activities' table
- activity_Config.pm: new file

0.055  2014-07-14 12:10 CEST
- Spec.pm: change L<...> to C<...> to avoid pod2html's annoying practice of
  rendering the links as "the ... manpage"
- bin/dochazka-rest: add license boilerplate
- moved 'cud' subroutine into new module App::Dochazka::REST::Model::Shared
  to avoid code duplication in Activity.pm and Employee.pm
- t/008-activity.t: add stub for activity-related unit tests
- config/Dochazka_Message_en.conf: add a DOCHAZKA_DBI_ERR message for
  reporting DBI errors
- config/employee_Config.pm: add SQL_EMPLOYEE_DELETE

0.056  2014-07-14 12:43 CEST
- Spec.pm: cleanup
- config/Dochazka_Config.pm: add DOCHAZKA_ACTIVITY_DEFINITIONS
- REST.pm: have 'create_tables' insert initial set of activities

0.057  2014-07-14 12:59 CEST
- config/Dochazka_Messages.conf: remove colon from DOCHAZKA_DBI_ERR
- model/Shared.pm: fix bug in cud (wasn't returning err status on DBI err)
- t/008-activity.t: add lots of unit tests

0.058  2014-07-14 15:59 CEST
- activity_Config.pm: add 'upper' safeguards to make sure no lower-case
  activity code makes it into the database, yet to accept lower-case in 
  SELECTs
- dbinit_Config.pm: add 'code_to_upper' trigger on activities table,
  split off valid_intvl from valid_schedintvl so it can be applied to 
  both 'schedintvls' and 'intervals'
- Spec.pm: update to reflect latest code
- t/008-activity.t: add more unit tests

0.059  2014-07-14 16:24 CEST
- Privhistory.pm: block in 'get_privhistory' function
- rename t/008-activity.t to t/009-activity.t
- add stub t/008-schedintvls.t for testing "illegal" schedintvls

0.060  2014-07-14 20:38 CEST
- REST.pm: put 'create_tables' SQL incantations into a transaction
- Schedintvls: put 'insert' SQL incantations into a transaction that
  gets rolled back if any of the intervals are bad
- t/008-schedintvls.t: test with bogus intervals, test that no 
  intervals are inserted if any of them are bad

0.061  2014-07-15 11:06 CEST
- t/001-init.t: make diagnostic messages more useful
- config/sql/interval_Config.pm: new SQL for use in Interval.pm
- Interval.pm: start developing the stub into something useful
- dochazka_Config.pm: add DOCHAZKA_ADVANCE_INTERVALS_MAX_DAYS
- dbinit_Config.pm: rename intervals.int_id to intervals.iid (Interval ID)
- REST.pm: revamp 'try' code block in 'create_tables'
- Activity.pm, Employee.pm: use new best practice for 'cud' calls
- Privhistory.pm, Schedhistory.pm: rewrite insert and delete methods to use 'cud'
- Schedule.pm: rewrite insert method to use 'cud'
- Shared.pm: add 'open_transaction' and 'close_transaction', revamp 'cud' to use
  Try::Tiny

0.062  2014-07-15 13:17 CEST
- make adjustments so test suite succeeds even if PostgreSQL server not
  present

0.063  2014-07-15 16:56 CEST
- dbinit_Config.pm, REST.pm: get rid of DBINIT_AUTOCOMMIT
- dbinit_Config.pm, Dochazka_Config.pm, REST.pm: use DOCHAZKA_DBNAME
  instead of DBINIT_DBNAME
- REST.pm: reset_db now drops/re-creates 'dochazka' user and grants all
  dochazka database privileges to that user, 'create_tables' runs as 
  user 'dochazka'
- REST.pm: connect_db_pristine takes full PARAMHASH

0.064  2014-07-15 17:48 CEST
- more modifications to ensure test suite doesn't fail on build workers and
  other automatons (CPAN Testers, Open Build Service)

0.065  2014-07-15 18:00 CEST
- rename to App::Dochazka::REST

0.066  2014-07-15 18:02 CEST
- fix current_ver.plx and prepare release script for CPAN

0.067  2014-07-15 22:36 CEST
- dbinit_Config.pm: fix 'intervals' table definition
- interval_Config.pm, Interval.pm: add missing 'long_desc' everywhere
- t/010-interval.t: start unit test file for activity intervals
- move priv_by_eid and sched_by_eid functions from Factory.pm to Shared.pm,
  populate 'aclpriv' attribute in each function that consults it, instead of in
  Factory.pm->make_reset
- POD cleanup
- Util/Timestamp.pm, t/011-tsrange_equal.t: add tsrange_equal function
- Util/Timestamp.pm, t/: split $today into two ($today and $today_ts), and
  do the same for $yesterday and $tomorrow -- hopefully this makes the code
  _less_ complicated

0.068  2014-07-16 08:35 CEST
- Build.PL: add DBD::Pg and DBI dependencies

0.069  2014-07-16 22:11 CEST
- move 'make_spawn' and 'reset' from Util/Factory.pm to Model/Shared.pm,
  delete Util/Factory.pm

0.070  2014-07-17 11:42 CEST
- Shared.pm, REST.pm: get rid of open_transaction and close_transaction as they
  don't work as expected
- Schedintvls.pm, t/007-schedule.t: revamp 'delete' method
- Dochazka_Message_en.conf: add DOCHAZKA_RECORDS_DELETED

0.071  2014-07-17 21:37 CEST
- dbinit_Config.pm: add locks table
- Spec.pm: work on Lock section
- Interval.pm: make load_by_iid also load the long_desc, add 'update' and 
  'delete' methods
- Lock.pm: first crack at lock data model
- Activity.pm: fix order of attributes in update and make delete reset the 
  object on success

0.072  2014-07-17 21:42 CEST

Changes  view on Meta::CPAN

0.338  2014-12-08 15:17 CET
- work on transaction auditing feature:
  - no more "shadow" db roles
  - all traffic goes through a single connection (which can be pooled)
  - pass EID to audit trigger via "SET LOCAL dochazka.eid"

0.339  2014-12-08 22:30 CET
- after discussions, reconsider my idea of creating a "shadow db role" for each
  employee; instead, I will try to get the EID into the audit trigger via a
  custom GUC (session variable)
- REST.pm: eliminate 'create_tables' routine; all database initialization now
  takes place in 'reset_db'
- ConnBank.pm: refactor 'get_conn'
- adapt all instances of 'get_conn' throughout the code base
- {Dispatch,Model}/Employee.pm: eliminate 'select_multiple_by_nick' routine;
  call load_multiple directly from the dispatch target
- t/: adapt to current state

0.340  2014-12-09 11:09 CET
- for auditing purposes we need to send not only the DBIx::Connector object,
  but also the current EID in all 'cud' calls
- Model/Shared.pm: in cud routine, add 'eid' to PARAMHASH and run
  SQL_SET_DOCHAZKA_EID_GUC to set 'dochazka.eid' GUC session variable
- {Dispatch,Model}/Activity.pm: carry out necessary modifications

0.341  2014-12-09 17:17 CET
- work on getting the current EID into Model/Shared.pm->cud
- send request context in all 'insert', 'update' and 'delete' method calls on
  datamodel objects; these methods then split out the DBIx::Connector object
  and the current EID
- Model/: make all necessary modifications
- Test.pm, Dispatch/: deal with cascade effects (WIP)
- t/sql/, t/model/: adapt tests to current state
- t/dispatch/: WIP

0.342  2014-12-10 10:52 CET
- audit_Config.pm: DROP SCHEMA is not necessary here, since the immediately
  preceding command is DROP DATABASE
- Dispatch/: completed the migration described above
- Model/: fix some lingering migration-related issues
- Test.pm, t/: migration broke lots of tests; we are now expected to send the
  request context, but with Plack::Test there is none(!); fortunately, it is
  trivial to simulate such a context ($faux_context)
- dispatch_Message_en.conf: get rid of
  DISPATCH_EMPLOYEE_{INSERT,UPDATE,DELETE}_OK message (DOCHAZKA_CUD_OK is
  sufficient)

0.343  2014-12-10 16:43 CET
- dbinit_Config.pm: fix names of parameters used to store PostgreSQL superuser
  credentials for testing purposes
- ConnBank.pm: refactor the entire module
- REST.pm: adapt to the new ConnBank.pm code; make 'init' routine return a
  status object with the Plack application in the payload
- Dispatch/, Model/, Test.pm, t/: adapt to the new ConnBank.pm code

0.344  2014-12-10 18:01 CET
- bin/dochazka-rest: adapt to recent modifications to REST.pm->init
- REST_Message_en.conf: add DOCHAZKA_NO_DBIX_CONNECTOR
- dbinit_Config.pm: sum(numbackends) is not working for some reason; work
  around the problem
- REST/Dispatch.pm: add missing 'use Try::Tiny'; add some debugging messages to
  '_get_dbstatus'; numify number of connections
- Test.pm: add some error checking; 
- t/dispatch/top.t: add subtest for 'dbstatus' resource

0.345  2014-12-11 11:35 CET
- REST.pm: add verbiage to POD
- Resource.pm, Dispatch/Employee.pm: prepare for Blowfish

0.346  2014-12-11 18:36 CET
- hash passwords using Authen::Passphrase::SaltedDigest
  - App::Dochazka::CLI authentication works fine
  - tests in t/dispatch/ are broken
- Dispatch/Employee.pm: implement 'hash_the_password' routine, call it from
  _insert_employee and _update_employee; export it for use in Test.pm
- Resource.pm: in _authenticate, compare password with stored salted hash 
- Test.pm: import hash_the_password and use it in create_testing_employee;
  adapt calls
- dbinit_Config.pm, t/sql/root.t: use the real hash+salt instead of the
  plaintext password

0.347  2014-12-11 20:13 CET
- REST_Config.pm: modify DOCHAZKA_PROFILE_EDITABLE_FIELDS so inactives and
  actives can still change their password now that we are hashing
- config/dispatch/employee_Config.pm: 'GET employee/nick/:nick' acl_profile was
  set too restrictive - fix
- dbinit_Config.pm: use real hash/salt when INSERTing 'root' and 'demo'
  employees
- Dispatch/Employee.pm: fix hash_the_password function calls
- Resource.pm: put call to Authen::Passphrase::SaltedDigest into a try/catch
  block; add some basic error-checking
- t/: adapt to current state

0.348  2014-12-12 09:39 CET
- REST_Config.pm: add DOCHAZKA_AUDITING and DOCHAZKA_AUDIT_TABLES to (1) make
  auditing optional, and (2) give site admin control over which tables are
audited
- REST.pm: make auditing optional; implement 'create_audit_triggers' and
  'delete_audit_triggers' routines to enable auditing to be disabled and
  re-enabled as and when desired

0.349  2014-12-12 16:43 CET
- get rid of DOCHAZKA_AUDITING
- Resource.pm: try to eliminate suspected double-encoding problem

0.350  2014-12-12 18:06 CET
- config/dispatch/interval_Config.pm: add resource definition for
  'interval/summary/?:qualifiers'
- dbinit_Config.pm: work on valid_schedintvl ticket
- config/REST_Config.pm: add DOCHAZKA_DBHOST, DOCHAZKA_DBPORT,
  DOCHAZKA_DBSSLMODE params
- ConnBank.pm: use the new site params in construction of data source string,
  provided they are set
- t/dispatch/interval_lock.t: start adding tests for the new
  'interval/summary/?:qualifiers' resource

0.351  2014-12-12 21:59 CET
- dbinit_Config.pm: the valid_schedintvl() function we had before was bogus -
  write a proper one
- t/model/schedintvls.t: add some tests that try to enter sets of intervals
  spanning more than 168 hours (which is banned by policy, enforced by the



( run in 0.527 second using v1.01-cache-2.11-cpan-39bf76dae61 )