Code Monkey home page Code Monkey logo

cxs-cdp's People

Contributors

chet-ensign avatar sergehuber avatar sigdestad avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cxs-cdp's Issues

Add server metadata field ?

Should we add a server metadata field to indicate information such as :

  • API version
  • Supported level
  • Server identifiers ?
  • Other extensible fields that implementations might want to expose.

This could be done in a review of the specification if needed.

remove error message when starting server

Try to eliminate the following:
Type "CDP_EventInterface" is missing a "__resolveType" resolver. Pass false into "resolverValidationOptions.requireResolversForResolveType" to disable this warning.
Type "CDP_ProfileInterface" is missing a "__resolveType" resolver. Pass false into "resolverValidationOptions.requireResolversForResolveType" to disable this warning.
Type "CDP_PropertyInterface" is missing a "__resolveType" resolver. Pass false into "resolverValidationOptions.requireResolversForResolveType" to disable this warning.

Remove unused types because CDP_ProfileFilter was replaced by JSON

The CDP_ProfileFilter type was replaced by the JSON scalar. As the result there are types which do not use anymore:

type CDP_ProfileFilter {
  ...
  properties : CDP_ProfilePropertiesFilter
  interests : CDP_InterestFilter
  events : CDP_ProfileEventsFilter
}

and

type CDP_ProfileEventsFilter {
  eventFilter : CDP_EventFilter
}

and

type CDP_EventFilter {
  cdp_location_distance : CDP_GeoDistanceFilter
  cdp_profileUpdateEvent : CDP_ProfileUpdateEventFilter
  cdp_consentUpdateEvent : CDP_ConsentUpdateEventFilter
  cdp_listsUpdateEvent : CDP_ListsUpdateEventFilter
  cdp_sessionEvent : CDP_SessionEventFilter
  # generated event types will be listed here
}

Those types can be removed from spec.

Extend CDP_SessionEventInput and Filters by adding unomi_sessionId and unomi_scope fields

CDP_SessionEventInput and Filters should be extended by unomi_sessionId and unomi_scope fields to be able to create a new session or find a specific session which should be start/stop and so on

Types AS IS:

input CDP_SessionEventInput {
  state : CDP_SessionState
}

type CDP_SessionEventFilter {
  state_equals : CDP_SessionState
}

input CDP_SessionEventFilterInput {
  state_equals : CDP_SessionState
}

Types AS SHOULD BE:

input CDP_SessionEventInput {
  state : CDP_SessionState
  unomi_sessionId: String!
  unomi_scope: String!
}

type CDP_SessionEventFilter {
  state_equals : CDP_SessionState
  unomi_sessionId_equals: String
  unomi_scope_equals: String
}

input CDP_SessionEventFilterInput {
  state_equals : CDP_SessionState
  unomi_sessionId_equals: String
  unomi_scope_equals: String
}

Discuss spec feedback

We received some internal feedback about the spec, let's discuss it in the next workshop.

Issue with CDP_ProfileFilter

CDP_ProfileFilter is not properly structured. For example, when doing a getSegment it will return a structure but we have to know in advance which fields should be returned.

So instead we should define it as something like this:

CDP_ProfileFilter {
filter: JSON!
}

And the JSON should be structured exactly as the CDP_ProfileFilterInput is structured, making it easy to send it back for updating.

Add links back to specification in GraphQL description ?

I was browsing the GraphQL schema with the GraphQL playground and was finding it to be a bit empty in terms of descriptions.

I was wondering if we should put links to the specification for each object type ? The difficulty would be how to make sure those links wouldn't change over time. They would need to use anchors and a stable base URL.

I'm not saying this is required but it would make understanding the specs from the schema a bit easier.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.