[
https://issues.apache.org/jira/browse/SYNCOPE-429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Chicchiriccò updated SYNCOPE-429:
-------------------------------------------
Description:
SYNCOPE-15 introduced 'lastChangeDate' and 'creationDate' fields on some
entities (namely SyncopeUser, SyncopeRole and ExternalResource); such
information is then transferred to matching TO (e.g. UserTO, RoleTO and
ResourceTO).
This means that the respective services (UserService and RoleService) could be
enhanced in the following way:
1. add ETag response header to any method - directly or indirectly via
Response.Entity - generated from creationDate's or lastChangeDate's value
2. implement some "conditional POST/PUT" logic for update: an effective update
request will be effectively accepted only if provided ETag matches the latest
modification currently available
was:
SYNCOPE-15 introduced 'lastChangeDate' and 'creationDate' fields on some
entities (namely SyncopeUser, SyncopeRole and ExternalResource); such
information is then transferred to matching TO (e.g. UserTO, RoleTO and
ResourceTO).
This means that the respective services (UserService, RoleService and
ResourceService) could be enhanced in the following way:
1. add ETag response header to any method - directly or indirectly via
Response.Entity - generated from creationDate's or lastChangeDate's value
2. implement some "conditional GET" logic: depending on the value of If-*
request HTTP headers, a value (HTTP status 200) or no value (HTTP status 204)
will be returned
3. with the same idea, implement some "conditional POST/PUT" logic for update:
an effective update request will be effectively accepted only if provided ETag
matches the latest modification currently available
> Support ETag-based conditional requests for users and roles
> -----------------------------------------------------------
>
> Key: SYNCOPE-429
> URL: https://issues.apache.org/jira/browse/SYNCOPE-429
> Project: Syncope
> Issue Type: Improvement
> Reporter: Francesco Chicchiriccò
> Assignee: Francesco Chicchiriccò
> Labels: rest
> Fix For: 1.2.0
>
>
> SYNCOPE-15 introduced 'lastChangeDate' and 'creationDate' fields on some
> entities (namely SyncopeUser, SyncopeRole and ExternalResource); such
> information is then transferred to matching TO (e.g. UserTO, RoleTO and
> ResourceTO).
> This means that the respective services (UserService and RoleService) could
> be enhanced in the following way:
> 1. add ETag response header to any method - directly or indirectly via
> Response.Entity - generated from creationDate's or lastChangeDate's value
> 2. implement some "conditional POST/PUT" logic for update: an effective
> update request will be effectively accepted only if provided ETag matches the
> latest modification currently available
--
This message was sent by Atlassian JIRA
(v6.1#6144)