oxirs-samm 0.2.4

Semantic Aspect Meta Model (SAMM) implementation for OxiRS
Documentation
# Generated from SAMM Aspect Model: {{ aspect_name }}
# Namespace: {{ namespace }}
# Generated at: {{ generation_timestamp | default(value="") }}

{% if properties %}
type {{ aspect_name | pascal_case }} {
{% for property in properties %}
  {{ property.name | camel_case }}: {{ property.data_type | xsd_to_type(target="graphql") }}{% if not property.optional %}!{% endif %}
{% endfor %}
}

input {{ aspect_name | pascal_case }}Input {
{% for property in properties %}
  {{ property.name | camel_case }}: {{ property.data_type | xsd_to_type(target="graphql") }}{% if not property.optional %}!{% endif %}
{% endfor %}
}

extend type Query {
  {{ aspect_name | camel_case }}(id: ID!): {{ aspect_name | pascal_case }}
  {{ aspect_name | camel_case }}List(limit: Int, offset: Int): [{{ aspect_name | pascal_case }}!]!
}

extend type Mutation {
  create{{ aspect_name | pascal_case }}(input: {{ aspect_name | pascal_case }}Input!): {{ aspect_name | pascal_case }}!
  update{{ aspect_name | pascal_case }}(id: ID!, input: {{ aspect_name | pascal_case }}Input!): {{ aspect_name | pascal_case }}!
  delete{{ aspect_name | pascal_case }}(id: ID!): Boolean!
}
{% endif %}