App-Dochazka-REST

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

  DOCHAZKA_REST_DEBUG_MODE site param, in that order
- Resource.pm: finish implementing session management
- NOTE: since session management doesn't seem to work with Plack::Test, it is
  completely disabled when META_DOCHAZKA_UNIT_TESTING is true (set this to true
  in unit tests that use Plack::Test)

0.154  2014-08-11 14:19 CEST
- add 'Plack::Session' to build_requires, just in case CPAN Testers gets
  funny ideas

0.155  2014-08-11 16:45 CEST
- Resource.pm: cleanup

0.156  2014-08-12 10:22 CEST
- cleanup, documentation

0.157  2014-08-12 15:52 CEST
- REST.pm: add a 'DEBUGGING' section to POD
- Util.pm: add a new 'Util.pm' module for miscellaneous utilities
  and put 'deep_copy' function into it
- Resource.pm: fix bug "die with StackTrace happens when DOCHAZKA_DEBUG
  environment variable set"

0.158  2014-08-13 03:21 CEST
- REST.pm: add parameter validation to init_no_db
- t/301-resource.t: fix bug found thanks to the above parameter validation

0.159  2014-08-14 14:55 CEST
- config/REST_Config.pm: add DOCHAZKA_HOST and DOCHAZKA_PORT
- bin/dochazka-rest: look into how we could allow admin to specify host/port on
  command line, yet default to values in site configuration if they are not
  specified there

0.160  2014-08-16 10:17 CEST
- bin/dochazka-rest: comment out 'die' statement so server runs again

0.161  2014-08-18 10:38 CEST
- fix bug: "LDAP users can log in with wrong/no password"

0.162  2014-08-21 15:31 CEST
- t/002-root.t: fix broken unit test
- bin/dochazka-rest: turn on debug_mode
- Resource.pm: uncomment session ID debug message in _validate_session

0.163  2014-08-27 17:42 CEST
- Dispatch/Employee.pm->_put_employee: allow undef as value for optional fields
  ('fullname', 'email', 'passhash', 'salt', 'remark') 
- Model/Employee.pm->expurgate: when expurgating employee objects, do not
  remove 'passhash' and 'salt' properties

0.164  2014-08-28 11:26 CEST
- Model/Shared.pm: do not put empty strings into the database

0.165  2014-09-01 07:51 CEST
- Unicode hell
- add more debug messages

0.166  2014-09-01 16:40 CEST
- Resource.pm: Unicode hell! /employee/nick/číča is handled correctly when
  sent by browser, but incorrectly when sent via App::Dochazka::WWW - yet
  the path_info string is decoded correctly in 'service_available' in both
  cases! Very strange.

0.167  2014-09-04 17:34 CEST
- respect DOCHAZKA_REST_LOG_FILE and DOCHAZKA_REST_LOG_FILE_REST core/site
  config parameters (as is already the case in App::Dochazka::WWW) - no 
  more chasing temporary files

0.168  2014-09-04 17:41 CEST
- t/: change default configuration directory (for unit testing purposes) from
  '/etc/dochazka' to '/etc/dochazka-rest', as the former is ambiguous

0.169  2014-09-17 09:59 CEST
- REST.pm: modify INSTALLATION section of POD to bring it closer to current
  reality

0.170  2014-09-17 10:30 CEST
- REST.pm: add some debug messages

0.171  2014-09-17 10:51 CEST
- REST.pm: fix bug 'Can't call method "errstr" on an undefined value' when
  connect_db_pristine can't connect to database; remove debug messages

0.172  2014-09-17 11:13 CEST
- t/001-init.t: bail out of testing if we cannot connect to database

0.173  2014-09-17 14:28 CEST
- REST.pm: expand INSTALLATION section of POD with explanation of how to test database
  connection using 'psql'

0.174  2014-09-24 16:38 CEST
- try to fix UTF-8 bug, but only make it worse

0.175  2014-09-25 09:29 CEST
- Resource.pm: encode response body in UTF-8 before sending it out on the line

0.176  2014-10-14 17:31 CEST
- Dispatch/: add some comments
- Resource.pm: add debug message; add allow_nonref; find bug #57 

0.177  2014-10-15 10:33 CEST
- start revamping path dispatch code in light of bug #57 (PUT request to
  non-existent resource returns HTTP code 200 and null entity body)
- realize that it makes no sense to return 404 on a PUT request, since the
  whole idea of PUT is to create a new resource
- the principal change is in Resource.pm->allowed_methods:
  - the definition of each resource (in config/dispatch) should contain list of allowed methods
  - when path is recognized, return the allowed methods from the resource definition
  - when the path is not recognized _AND_ the method is PUT, return 405 Method Not Allowed

0.178  2014-10-15 16:41 CEST
- the design change in 0.177 caused a lot of breakage: put the pieces back together (WIP)

0.179  2014-10-15 22:54 CEST
- 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)

Changes  view on Meta::CPAN

  some remaining documentation from HTML to POD
- Dispatch.pm: add a '_docu_html' target
- Dispatch/Activity.pm: adapt '_aid' target for POST
- Test.pm: expand 'docu_check' routine to cover 'docu/html' resource as well as
  straight 'docu'
- Util.pm: add a 'pod_to_html' conversion routine
- t/dispatch/activity.t: fill in remaining tests necessary to meet minimal
  workflow expectations
- t/dispatch/top.t: add battery of 'docu/html' tests, mostly plagiarized from
  'docu'

0.237  2014-11-01 14:11 CET
- rename Dispatch/Privhistory.pm to Dispatch/Priv.pm to match 'priv' resource

0.238  2014-11-03 10:30 CET
- add many schedule-related resources to development-checklist
- in new schedule_Config.pm file with schedule resource definitions
  copied from priv_Config.pm, edit resource descriptions and documentation
  strings 
- in Model/Privhistory.pm, move 'get_privhistory' routine to Model/Shared.pm
  and generalize into 'get_history'; make 'get_privhistory' and
  'get_schedhistory' in Model/{Privhistory, Schedhistory}.pm be wrappers for this
  new shared routine
- t/: adapt to current state

0.239  2014-11-03 12:15 CET
- renamed all 'priv/current/...' and 'schedule/current/...' resources
  to 'priv/self/...' and 'schedule/self/...', respectively
- Dispatch/Priv.pm: renamed _get_current to _get_history_self; move
  _current_priv logic to Dispatch/Shared.pm->current because we will call it
  from Dispatch/Schedule.pm as well;
- Dispatch/Schedule.pm: ongoing adaptations
- t/: adapt to current state

0.240  2014-11-03 16:19 CET
- MANIFEST: add Dispatch/Schedule.pm, t/dispatch/schedule.t
- activity_Config.pm: add 'activity/help' resource definition
- priv_Config.pm, etc.: rename some resources and targets
  (in particular s/current/self/ in resource names)
- dispatch_Config.pm, Resource.pm: activate schedule resources
- dispatch_Message_en.pm: add new DISPATCH_EMPLOYEE_SCHEDULE and
  DISPATCH_EMPLOYEE_SCHEDULE_AS_AT messages
- config/sql/schedule_Config.pm: add new SQL_SCHEDHISTORY_SELECT_RANGE_BY_EID
  and SQL_SCHEDHISTORY_SELECT_RANGE_BY_NICK params
- Dispatch/Shared.pm: adapt 'current' routine to work for both priv and
  schedule resources
- Model/Shared.pm: fix some bugs
- Resource.pm: activate schedule resources
- t/dispatch/activity.t: add tests for 'activity/help'
- t/dispatch/schedule.t: add tests for "/schedule/eid/:eid/?:ts",
  "/schedule/help", "/schedule/nick/:nick/?:ts", and "/schedule/self/?:ts"
  resources

0.241  2014-11-03 22:32 CET
- Dispatch/Shared.pm: "numify" $eid in return value payload from dispatch
  target 'current'; check for hashref instead of scalar now that we are
  converting the schedule from JSON string into Perl hashref
- Model/Schedule.pm: rename 'get_json' to 'get_schedule_json' and add
  'decode_schedule_json' for converting the schedule JSON string into a Perl
  hashref
- Model/Shared.pm: return decoded schedule (hashref) from schedule_by_eid
- t/dispatch/schedule.t: uncomment/adapt some tests
- t/: get model units to run cleanly again

0.242  2014-11-04 08:30 CET
- config/dispatch/schedule_Config.pm: put resource definitions in alphabetical order;
  add missing POD; add missing 'schedule/intervals' resource definition

0.243  2014-11-04 09:56 CET
- schedule_Config.pm, Dispatch/Schedule.pm: make 'schedule/history/...'
  resources use "not_implemented" dispatch target so they don't vomit 500

0.244  2014-11-04 11:32 CET
- schedule_Config.pm: split 'schedule/intervals/?:shid' into two separate
  resources for parsing clarity

0.245  2014-11-04 17:50 CET
- Build.PL: require App::Dochazka 0.175 for 'ssid' (instead of 'scratch_sid')
- schedule_Config.pm: 'schedule/intervals' is POST and DELETE only; activate
  DELETE on 'schedule/intervals/:sid'; rename ':shid' parameter to ':sid'
- rename 'scratch_sid' field/property of intervals to 'ssid'
- dispatch_Message_en.conf: add DISPATCH_SCHEDINTVLS_MISSING,
  DISPATCH_SCHEDULE_INSERT_OK, DISPATCH_SCHEDULE_NO_UPDATE
- Dispatch/Schedule.pm: add _intervals_post and _intervals_delete dispatch
  targets
- move 'expurgate' logic to Model/Shared.pm and implement a wrapper method
  in each model module
- Model/Schedintvls.pm: fix 'insert' method so it returns a sensible status
  payload
- Test.pm: in docu_check, run 'payload' tests only if there is a payload;
  add as-yet untested 'create_testing_schedule' and 'delete_testing_schedule'
  routines
- t/: add new 'intervals.t' unit; adapt existing units to current state

0.246  2014-11-04 21:08 CET
- stabilization after the last commit
- t/dispatch/intervals.t: add some tests called for by development workflow

0.247  2014-11-04 22:21 CET
- add 'DISPATCH_SCHEDULE_EXISTS' message
- add 'schedule/all' and 'schedule/all/disabled' resource definitions
- add 'disabled' field to 'schedules' table
- Dispatch/Schedule.pm: when schedule already exists, return
  'DISPATCH_SCHEDULE_OK'
- t/dispatch/intervals.t: test for 'DISPATCH_SCHEDULE_OK' when inserting the
  same schedule a second time

0.248  2014-11-05 11:05 CET
- Build.PL: require App::Dochazka 0.176 to ensure Schedule objects have a
  'disabled' property
- config/dispatch/schedule_Config.pm: activate 'schedule/all' and 
  'schedule/all/disabled' resources
- config/sql/schedule_Config.pm: add 'disabled' field to SQL statements;
  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



( run in 1.878 second using v1.01-cache-2.11-cpan-7fcb06a456a )