App-Dochazka-REST

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

- Build.PL: require App::CELL 0.197 (for 'get_param')
- continue fixing brokenness following the design change in 0.177

0.180  2014-10-16 08:40 CEST
- massage Changes file
- config/dispatch: make 'help' resources for all four HTTP methods we support
  (GET, POST, PUT, DELETE)
- t/: fix or disable all broken tests - test suite running clean again, but
  many tests are missing

0.181  2014-10-16 10:35 CEST
- make 'employee/nick' and 'employee/eid' be POST requests (instead of PUT) -
  we will reserve PUT for unique resources like 'employee/nick/joedavis'

0.182  2014-10-16 10:56 CEST
- Dispatch.pm: add POD for "" and "help" resources

0.183  2014-10-16 11:12 CEST
- LDAP.pm: use EXPORT_OK instead of EXPORT
- Resource.pm: import routines from LDAP.pm explicitly

0.184  2014-10-16 12:59 CEST
- Resource.pm: implement basic handling of DELETE requests

0.185  2014-10-16 13:37 CEST
- t/: tweak naming scheme for dispatch unit test files; add unit test files
  for DELETE method
- config/dispatch/dispatch_Top_Config.pm: add target for DELETE on 'echo'
  resource

0.186  2014-10-16 16:44 CEST
- Dispatch/, t/: work on dispatch-related POD, unit tests

0.187  2014-10-16 17:53 CEST
- t/: more dispatch tests

0.188  2014-10-16 22:46 CEST
- t/: add a bunch of tests; refine siteparam and metaparam tests; find
  App::CELL bug ($meta can be used to access site parameters)

0.189  2014-10-17 11:10 CEST
- Resource.pm: provide hash to keys, instead of hash reference

0.190  2014-10-17 17:48 CEST
- Build.PL: require latest App::CELL to avoid bug
- implement 'bugreport' resource
- implement PUT method for 'metaparam/:param' resource
- Dispatch.pm: add POD for more resources
- t/310-dispatch-top-get.t: add test case for 'bugreport' resource
- t/312-dispatch-top-put.t: add test case "set meta parameter via REST
  call"

0.191  2014-10-20 16:53 CEST
- Hackweek Day 1
- Build.PL: depend on latest version of App::Dochazka
- config/dispatch/dispatch_Employee_Config.pm: use refactored employee
  targets
- config/sql/employee_Config.pm: do not include 'priv' and 'schedule' in
  employee objects
- Dispatch/Employee.pm: refactor employee PUT and POST targets
- Model/Employee.pm: add 'overlay' method
- Resource.pm: instead of having 'priv' property directly in the current
  employee hash, we make a separate 'current_priv' property for it; 
  push the HTTP method onto the context hash ASAP (in service_available)
- t/316-dispatch-employee-post.t: add some "real" tests involving inserting
  and update employee objects
- t/317-dispatch-employee-put.t: fix broken tests

0.192  2014-10-20 22:15 CEST
- dispatch/dispatch_Employee_Config.pm: resources into alphabetical order; add
  'employee/current/priv' resource
- dispatch/dispatch_Message_en.conf, Dispatch/Employee.pm: add
  'employee/current/priv' resource
- Model/Shared.pm: add some log messages in course of debugging a problem with
  App::Dochazka::CLI

0.193  2014-10-21 08:35 CEST
- t/: fix accumulated brokenness in data model tests
- t/315-dispatch-employee-get.t: clean up comments and add a test case

0.194  2014-10-21 09:21 CEST
- Resource.pm: if method is GET and result is "No records found", return
  404 instead of 200 + status object
- t/: adapt tests to this change

0.195  2014-10-21 10:51 CEST
- Model/Employee.pm->noof_employees_by_priv: if $priv is not a valid
  privlevel, return 'OK' status + status code DISPATCH_NO_RECORDS_FOUND
  to trigger a 404 Not Found response; also, put 'count' property in the
  payload where it belongs
- t/315-dispatch-employee-get.t: adapt existing test case

0.196  2014-10-21 11:38 CEST
- config/dispatch_Top_Config.pm: make "echo" work with POST only; put
  resources in alphabetical order
- t/: remove 'echo' tests from top-level PUT and DELETE units

0.197  2014-10-21 11:47 CEST
- work on development-checklist
- t/: standardize method order (GET, PUT, POST, DELETE); adapt units

0.198  2014-10-21 12:10 CEST
- Dispatch.pm: document all target subroutines; put into alphabetical order
  by resource name/path

0.199  2014-10-21 16:31 CEST
- Hackweek Day 2
- dispatch_Message_en.conf: add DISPATCH_RESOURCE_NOT_IMPLEMENTED
- dispatch_Top_Config.pm: implement 'not_implemented' resource
- Dispatch.pm: implement 'not_implemented' resource, alphabetical order
  tweak
- t/: add missing top-level dispatch tests
- new ../development-checklist chart to clarify and streamline
  resource-implementation workflow

0.200  2014-10-21 22:29 CEST
- ../development-checklist: finish implementing top-level resources
- Dispatch.pm: when getting site and meta params, show file and line
  number along with other metadata; tweak resource documentation
- t/: some tests failing due to bug in App::CELL::Config->get_param_meta

0.201  2014-10-22 08:30 CEST
- Build.PL: require App::CELL 0.200 for bug fix
- t/: adjust two tests now that PUT metaparam/:param and PUT siteparam/:param
  are assigning the request body to the parameter directly

0.202  2014-10-22 16:47 CEST
- Hackweek Day 3
- lots of refinements to (plus documentation and test cases for) employee
  resources
- implement DELETE support for employee resources
- eliminate problematic "short-cut" 'employee/:nick' and 'employee/:eid'
  resources
- make it possible to update an employee property to null
- eliminate problematic 'overlay' method in Model/Employee.pm
- improve debug message in Resource.pm
- add negative and otherwise pathological test cases

0.203  2014-10-22 17:15 CEST
- t/317-dispatch-employee-post.t: got tests running again

0.204  2014-10-23 10:57 CEST
- t/: figure out how to run tests using 'prove -r'; make a 't/dispatch/'
  directory for dispatch tests; merge all top-level dispatch tests into a
  single file 't/dispatch/top.t'

0.205  2014-10-23 14:02 CEST
- Hackweek Day 4
- Build.PL: make Module::Build walk t/ directory recursively
- REST_MetaConfig.pm: make sure META_DOCHAZKA_VALID_RESOURCES is
  initialized to an empty hashref
- add on-line documentation infrastructure
- config/dispatch/dispatch_Top_Config.pm: add HTML documentation strings
  to all the top-level resources; add 'docu' resource definition
- Dispatch.pm: remove POD sections corresponding to the HTML documentation
  strings added to resource definition file; add target subroutine
  for 'docu' resource; use heredoc in _forbidden
- Resource.pm: enable validations to be specified in resource definitions
  (see Path::Router) -- untested; during path/router initialization build
  up META_DOCHAZKA_VALID_RESOURCES (hash of valid resources); push
  'documentation' property onto context
- t/dispatch/top.t: add tests for 'docu' resource

0.206  2014-10-23 14:31 CEST
- config/dispatch/dispatch_Employee_Config.pm: add HTML documentation
  strings to all the employee resources
- Dispatch/Employee.pm: remove POD documentation that has been moved to the
  resource definition file
- find bug "POST docu" returns same string, no matter which resource is
  specified (should return the documentation string stipulated for the
  resource in the resource definition)"
- t/dispatch/top.t: add test cases for the bug

0.207  2014-10-23 15:16 CEST
- rename meta param META_DOCHAZKA_VALID_RESOURCES to
  META_DOCHAZKA_RESOURCE_DOCS and store resource documentation strings
  there during path router initialization
- in the 'docu' target, get the HTML string from
  META_DOCHAZKA_RESOURCE_DOCS meta param
- Resource.pm: no longer need to push documentation HTML string onto the
  context
- Test.pm: add a 'docu_check' routine (to automate testing of each resource
  for presence of documentation in the resource definition)
- t/dispatch/top.t: run docu_check on each top-level resource

0.208  2014-10-24 08:43 CEST
- convert portion of employee dispatch tests to new structure

0.209  2014-10-24 10:49 CEST
- complete development workflow for employee resources
- dispatch_Employee_Config.pm: add missing documentation
- Dispatch/Employee.pm: fix bug "DELETE employee/nick/:nick actually
  inserts a new employee if :nick not found"
- t/: continue migrating dispatch tests to new structure; disable old
  units so ./Build test doesn't run them; add new unit

Changes  view on Meta::CPAN

  add two new SQL statements to get all schedule records
- Dispatch/Schedule.pm: import 'get_all_schedules' and
  'get_all_schedules_including_disabled' routines
- Model/Schedule.pm: implement 'get_all_schedules' and
  'get_all_schedules_including_disabled' routines

0.249  2014-11-05 12:18 CET
- give 'schedule/all/...' dispatch targets more sensible names
- enable POST on 'schedule/intervals/:sid', including documentation
- t/dispatch/schedule.t: add 405 tests for 'schedule/all/...'

0.250  2014-11-05 17:54 CET
- Build.PL: require App::Dochazka 0.177 for TO_JSON method; require
  App::CELL 0.201 to get rid of Data::Structure::Util
- Resource.pm: get rid of wacky debug code; add 'convert_blessed' to our
  JSON 'encode' method call now that we have TO_JSON methods in all models;
  this obviates the need to call 'unblessed'
- Data::Structure::Util does not work with perl 5.20, so it needs to go;
  remove all mentions of it; fix resulting brokenness 
- Util.pm: get rid of jury-rigged 'deep_copy' routine (use Storable::dclone
  instead!)

0.251  2014-11-06 09:42 CET
- Dispatch/Schedule.pm->_intervals_delete was reporting success even when
  nothing was actually deleted - fixed
- Model/Schedule.pm->schedule_all was crashing when no records found (because
  $counter was not initialized) - fixed
- t/104-employee.t: deprecate expurgate in favor of TO_JSON
- t/dispatch/intervals.t: when no schedule records are in the database,
  'schedule/all/...' will return 404 - fixed
- t/dispatch/schedule.t: add basic tests for 'schedule/all' and
  'schedule/all/disabled'

0.252  2014-11-06 16:43 CET
- Build.PL: require App::Dochazka 0.181 for new boilerplate code
- schedule_Config.pm: rename '/schedule/intervals/:sid' to 
  '/schedule/sid/:sid'
- dbinit_Config.pm: add a trigger to make immutable/unupdatable the 'schedule'
  field of the 'shedules' table 
- add a 'SQL_SCHEDULE_UPDATE' statement to support updates on the
  'schedules' table
- replace calls to 'expurgate' method with 'TO_JSON'
- Dispatch/Schedule.pm: implement _intervals_get and _schedule_post dispatch
  targets and '_update_schedule' routine adapted from Employee.pm
- Model/Shedule.pm: override the boilerplate 'compare' method for this
  model because the 'disabled' field needs special handling; implement
  an 'update' method
- Resource.pm: fix a debug message
- t/107-schedule.t: add test case for 'update' method
- t/dispatch/intervals.t: add GET test case for '/schedule/sid/:sid' resource

0.253  2014-11-07 14:33 CET
- Test.pm: make a new 'req' routine that to replace the current rag-tag
  collection of kludgey routines for generating HTTP requests against the
  Plack::Test object
- t/dispatch/intervals.t: add 'POST schedule/sid/:sid' test cases; migrate the
  entire unit to the new 'req' routine 
- t/: move model tests into their own subdirectory and comment out 'skip_all'
  so they run
- Model/: remove 'expurgate' method from all model modules (replaced by TO_JSON);
  remove 'compare' method overlay (replaced by compare_disabled)
- t/model/activity.t: adapt tests, remove deprecated tests, add new tests

0.254  2014-11-07 16:19 CET
- t/dispatch/activity.t: migrate to new 'req' function

0.255  2014-11-07 22:12 CET
- t/dispatch/employee.t: strenuously migrate to the new 'req' routine

0.256  2014-11-08 20:30 CET
- t/dispatch/priv.t: migrate another unit to 'req'

0.257  2014-11-08 21:35 CET
- t/dispatch/schedule.t: migrate unit to 'req'

0.258  2014-11-09 09:10 CET
- t/dispatch/top.t: migrate unit to 'req'
- Test.pm: deprecate and eliminate kludgey testing routines (replaced by 'req')

0.259  2014-11-10 08:54 CET
- Model/Shared.pm: finally get up the courage to return 'NOTICE' status level
  instead of 'OK' when SELECT statements return no records - this makes
  "nothing found" easy to distinguish from "something found", while keeping "ERR"
  reserved for DBI errors; add 'make_test_exists' to generate 'nick_exists',
  'eid_exists', etc. etc. (to be used in all model modules)
- Dispatch/Activity.pm: adapt to above change
- Model/Employee.pm: revamp nick_exists and eid_exists (generalize these routines
  and generate them at runtime for code re-use)
- Resource.pm: adapt to above change
- t/dispatch/activity.t: cleanup
- t/model/employee.t: cleanup
- not testing cleanly

0.260  2014-11-10 11:29 CET
- Dispatch/: cleanup
- Dispatch/Priv.pm: break out common code from _history_eid and _history_nick
  into a separate '_history_end_game' routine
- Model/: cleanup
- Model/Shared.pm: fix make_test_exists; make get_history include both
  EID and nick in the payload
- t/: adapt tests to current state
- tests running cleanly again

0.261  2014-11-10 12:14 CET
- Model/: add 'aid_exists', 'code_exists', 'iid_exists', etc. runtime-generated
  boilerplate functions to all models where they make sense
- Model/Employee.pm: cleanup
- Model/{Schedule,Shared}.pm: eliminate circular dependency and clean up aftermath
- t/model/: add test cases for new boilerplate

0.262  2014-11-10 14:02 CET
- release/: new docgen.plx to auto-generate POD documentation on all resources;
  adapt release.sh to use the new docgen.plx script
- docs/Resources.pm: auto-generated POD documentation 
- config/docgen_Config.pm: special params for use in docgen.plx 
- config/dispatch/: clean up some of the docs
- config/dispatch_Config.pm: add POD to DISPATCH_RESOURCE_LISTS
- Resource.pm: adapt 'init_router' routine to new DISPATCH_RESOURCE_LISTS
  format

0.263  2014-11-10 14:40 CET



( run in 0.499 second using v1.01-cache-2.11-cpan-2398b32b56e )