App-Dochazka-REST
view release on metacpan or search on metacpan
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)
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 )