Skip to content

Commit

Permalink
update todo
Browse files Browse the repository at this point in the history
  • Loading branch information
chriskapp committed May 8, 2016
1 parent 4afa9d8 commit 80220c0
Showing 1 changed file with 50 additions and 53 deletions.
103 changes: 50 additions & 53 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,79 +3,37 @@ _which are likely to be implemented are moved to a seperate github issue_

### 2.x

- [ ] Handle JSONRpc calls
- [x] SchemaApiAbstract for outgoing schemas we need an option to set an
passthru schema which simply outputs all provided data
- [x] Use https://github.com/nikic/PHP-Parser/blob/master/doc/4_Code_generation.markdown
to generate code
- [x] Remove set/getRestrictedFields in TableAbstract
- [x] Redesign framework generations commands
- [x] Fix problem with annotation collision @Title in api and schema
- [x] Schema manager erturns same instance probably a problem when a schema gets
modified
- [x] Add annotation to define the class of the request body, thus we must
remove the RecordInterface type hint of the doPost etc methods
- [x] Create schema generator which dumps a schema as PHP code
- [x] Remove doCreate and doUpdate call in SchemaApiAbstract
- [x] Think about moving from a monolith repo into multiple packages. There are
some components which might be useful withput psx i.e. data, schema
- [x] We need a command which reads a RAML/Swagger file and generates a
controller with annotations based on the definition

### 1.x

- [ ] Add GraphQL parser to generate a schema based on a GraphQL string #12
- [ ] Add Swagger2 support #11
- [ ] Improve OAuth2 support #7
- [ ] Add host-meta controller to expose specific API services #5
- [ ] Create controller which generates a text/uri-list #4
- [ ] Add WADL generator #2
- [ ] Add JSONRpc proxy class #18
- [ ] Probably adapt a common API error format:
https://github.com/blongden/vnd.error
https://tools.ietf.org/html/draft-nottingham-http-problem-07
- [ ] Add controller to server static content
- [ ] Better support for conditional requests E-Tag, If-Match etc.
- [ ] Think about support for OData
- [ ] Think about support for JSON-RPC
- [ ] Add OData proxy class
- [ ] Add http interceptor handler and method to add global default headers i.e.
a user agent header (these can be overriden by a specific set header)
- [ ] Use DateTimeImmutable if we are dropping support for 5.4 and require at
least 5.5
- [ ] Schema html writer array constraints are not listed, only the constraints
of the prototype element
- [ ] Evaluate again whether to use psr7. Probably wait to see adoption,
immutability is still a problem
- [ ] Extend schema representation
- [ ] Add schema property default value option
- [ ] Possibility to describe in an API that authentication is required.
Probably also what kind basic, oauth, etc
- [ ] Check how this is done in various specs like Swagger, RAML, etc.
- [x] PSX schema add support for object choice for a key (json schema: oneOf,
xsd:choice)
- [x] Add possibility to add a wildcard type in a schema which allows
arbitrary subtypes where we dont know the structure i.e. config (Is this
a good idea?)
- [ ] Add schema property default value option
- [ ] Possibility to describe in an API that authentication is required.
Probably also what kind basic, oauth, etc. Check how this is done in
various specs like Swagger, RAML, etc.
- [ ] Add event listener to table manager so that we can fire an event everytime
a record gets created, updated or deleted
- [ ] Consider use Stash as caching library if PSR is ready
- [ ] Evaluate whether we could build a RDF writer
- [ ] Add verify method to psx sql condition to verify conditions against an
array
- [ ] Option to set a custom record class in table abstract
- [ ] Probably replace all generic exceptions (RuntimeException,
InvalidArgumentException, etc..) with PSX specific exceptions
- [ ] Test and handle file uploads
- [ ] Implement filters
- [ ] Add hawk authentication filter (https://github.com/hueniverse/hawk)
- [ ] Add aws authentication filter (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
- [ ] Add CORS header filter
- [ ] Add request rate limit filter
- [ ] Better symfony integration
- [ ] Add PSX symfony bundle
- [ ] Add SymfonyControllerExecutor to execute a symfony controller from PSX
- [ ] Probably implement http://www.w3.org/TR/xmldsig-core/
- [ ] Probably replace all generic exceptions (RuntimeException,
InvalidArgumentException, etc..) with PSX specific exceptions
- [ ] Follow the json-ld / hydra spec (http://www.hydra-cg.com/) and see whether
we should add support for it
- [ ] Test and handle file uploads
- [ ] Update symfony bundle to PSX 2.0

### Meta

Expand All @@ -89,6 +47,45 @@ _which are likely to be implemented are moved to a seperate github issue_

### Archive

- [ ] Evaluate whether we could build a RDF writer
- [ ] Use DateTimeImmutable if we are dropping support for 5.4 and require at
least 5.5 (we stay with \DateTime since all \DateTime typehints would
break)
- [ ] Think about support for JSON-RPC
- [ ] Add Swagger2 support #11 (moved to the psx-api project)
- [ ] Add WADL generator #2 (moved to the psx-api project)
- [x] SchemaApiAbstract for outgoing schemas we need an option to set an
passthru schema which simply outputs all provided data
- [ ] Add GraphQL parser to generate a schema based on a GraphQL string #12
https://github.com/webonyx/graphql-php
- [x] Use https://github.com/nikic/PHP-Parser/blob/master/doc/4_Code_generation.markdown
to generate code
- [x] Remove set/getRestrictedFields in TableAbstract
- [x] Redesign framework generations commands
- [x] Fix problem with annotation collision @Title in api and schema
- [x] Schema manager erturns same instance probably a problem when a schema gets
modified
- [x] Add annotation to define the class of the request body, thus we must
remove the RecordInterface type hint of the doPost etc methods
- [x] Create schema generator which dumps a schema as PHP code
- [x] Remove doCreate and doUpdate call in SchemaApiAbstract
- [x] Think about moving from a monolith repo into multiple packages. There are
some components which might be useful withput psx i.e. data, schema
- [x] We need a command which reads a RAML/Swagger file and generates a
controller with annotations based on the definition
- [x] Improve OAuth2 support #7
- [ ] Add host-meta controller to expose specific API services #5
- [ ] Create controller which generates a text/uri-list #4
- [ ] Add controller to server static content
- [x] Extend schema representation
- [x] PSX schema add support for object choice for a key (json schema: oneOf,
xsd:choice)
- [x] Add possibility to add a wildcard type in a schema which allows
arbitrary subtypes where we dont know the structure i.e. config (Is this
a good idea?)
- [ ] Probably implement http://www.w3.org/TR/xmldsig-core/
- [ ] Follow the json-ld / hydra spec (http://www.hydra-cg.com/) and see whether
we should add support for it
- [x] Add commands which generate php code
- [x] Add command to generate an API endpoint based on a RAML file
- [x] Add command to generate a PHP schema based on a json schema
Expand All @@ -100,7 +97,7 @@ _which are likely to be implemented are moved to a seperate github issue_
on the given json schema
- [x] Add generator to generate a php schema class from a xsd or json schema
definition
- [/] Create tool controller to create and export a schema. Should produce
- [ ] Create tool controller to create and export a schema. Should produce
a json schema which can be imported by a command
- [x] Create command to create PHP source code based on a RAML spec. This
could probably use the json schema generator to generate the schema
Expand Down

0 comments on commit 80220c0

Please sign in to comment.