Skip to content

How to Add a new Entity

Guillaume Buisson edited this page Mar 19, 2018 · 1 revision

CTIM

  • Add a new namespace for the entity schemas in src/ctim/schemas
  • Add examples in src/ctim/examples
  • Update entity generators in:
    • ctim.generate
    • ctim.generators.entities
  • Add the new entity to the Bundle schemas in ctim.schemas.bundle
  • Add a new namespace for the generative tests in test/ctim/generators
  • Add a new namespace for the schemas tests in test/ctim/schemas
  • Add the schemas tests to the clojurescript test runner in test/ctim/runner.cljs
  • Add a new namespace for the clojure spec tests in test/ctim/specs
  • Documentation update:
    • Entity list in doc/README.md
    • Defined relationships in doc/defined_relationships.md
    • Documentation generator in ctim.documents
    • Regenerate the doc at the end

CTIA

  • Add a namespace in src/ctia/domain/entities for managing IDs
  • Add entity specific capabilities in ctia.auth
  • Add plumatic schemas for the new entity in ctia.schemas.core
  • Update the Bulk schema in ctia.schemas.bulk
  • Add a new store Protocol in ctia.store
  • Define store operations in a new namespace in src/ctia/stores/es
  • Add a realize-<entity> function in ctia.domain.entities
  • Update the bulk route in ctia.http.routes.bulk
  • Define HTTP routes for the entity in a new namespace in src/ctia/http/routes
  • Add new routes to the compojure api handler in ctia.http.handler
  • Define which default store should be used in the default properties resources/ctia-default.properties
  • Update the bulk route test in ctia.http.routes.bulk-test
  • Add a Record that implement the store Protocol in ctia.stores.es.store
  • Define search params in ctia.http.routes.common
  • Define sorting fields in ctia.schemas.sorting
  • Define an ES mapping in ctia.stores.es.mapping
  • Instanciate the ES store in ctia.init
  • Test entity routes in a new namespace in test/ctia/http/routes
  • Add entity properties for generative tests in ctia.http.generative.properties
  • Update generative tests for this entity in ctia.http.generative.es-store-spec
  • Define which store should be used for tests in ctia.test-helpers.es/fixture-properties:es-store
Clone this wiki locally