diff --git a/api/src/engine/engine.resolver.ts b/api/src/engine/engine.resolver.ts index e2bcfa5c76bf3823f895ff90dd77a92a8238c47a..e66bc13da0d1c7e211f35a0decff0a417b97c6e2 100644 --- a/api/src/engine/engine.resolver.ts +++ b/api/src/engine/engine.resolver.ts @@ -2,13 +2,23 @@ import { Inject } from '@nestjs/common'; import { Query, Resolver } from '@nestjs/graphql'; import { ENGINE_SERVICE } from './engine.constants'; import { IEngineService } from './engine.interfaces'; +import { Domain } from './models/domain.model'; @Resolver() export class EngineResolver { constructor(@Inject(ENGINE_SERVICE) private readonly engineService: IEngineService) { } - @Query(() => String) + @Query(() => Domain) async hello() { - return this.engineService.demo(); + let dummy: Domain = { + id: "test", + label: "test", + description: "test", + groups: [], + variables: [], + datasets: [] + } + + return dummy; } } \ No newline at end of file diff --git a/api/src/engine/models/category.model.ts b/api/src/engine/models/category.model.ts new file mode 100644 index 0000000000000000000000000000000000000000..29ab318f83c2dcddacd718919e6bec7060e5c9e3 --- /dev/null +++ b/api/src/engine/models/category.model.ts @@ -0,0 +1,10 @@ +import { Field, ObjectType } from "@nestjs/graphql"; + +@ObjectType() +export class Category { + @Field() + id: string + + @Field() + label: string; +} \ No newline at end of file diff --git a/api/src/engine/models/domain.model.ts b/api/src/engine/models/domain.model.ts new file mode 100644 index 0000000000000000000000000000000000000000..b1f3ccac521fdca1707075015eca274e62d60676 --- /dev/null +++ b/api/src/engine/models/domain.model.ts @@ -0,0 +1,9 @@ +import { Field, ObjectType } from "@nestjs/graphql"; +import { Category } from "./category.model"; +import { Group } from "./group.model"; + +@ObjectType() +export class Domain extends Group { + @Field(type => [Category]) + datasets: Category[]; +} \ No newline at end of file diff --git a/api/src/engine/models/group.model.ts b/api/src/engine/models/group.model.ts new file mode 100644 index 0000000000000000000000000000000000000000..dd30609f59c1a2dac275f214b0bbe1b3d18a3da0 --- /dev/null +++ b/api/src/engine/models/group.model.ts @@ -0,0 +1,20 @@ +import { Field, ObjectType } from "@nestjs/graphql"; +import { Variable } from "./variable.model"; + +@ObjectType() +export class Group { + @Field() + id: string; + + @Field() + label: string; + + @Field({ nullable: true }) + description?: string; + + @Field(type => [Group]) + groups: Group[]; + + @Field(type => [Variable]) + variables: Variable[]; +} \ No newline at end of file diff --git a/api/src/engine/models/variable.model.ts b/api/src/engine/models/variable.model.ts new file mode 100644 index 0000000000000000000000000000000000000000..dcc9a6f4e887b2f5e2f4fcf3c7c3cdcaa2f3b0e3 --- /dev/null +++ b/api/src/engine/models/variable.model.ts @@ -0,0 +1,24 @@ +import { Field, ObjectType } from "@nestjs/graphql"; +import { Category } from "./category.model"; +import { Group } from "./group.model"; + +@ObjectType() +export class Variable { + @Field() + id: string; + + @Field({ nullable: true }) + label?: string; + + @Field() + type: string; + + @Field({ nullable: true }) + description?: string; + + @Field(type => [Category]) + enumerations: Category[]; + + @Field(type => [Group]) + groups: Group[]; +} \ No newline at end of file diff --git a/api/src/schema.gql b/api/src/schema.gql index 12b643d401b9084f455a4b8f12a9d2ecd4e013d8..703c5eb6f1d38c98a2ebde2646150d24067e1848 100644 --- a/api/src/schema.gql +++ b/api/src/schema.gql @@ -2,6 +2,37 @@ # THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY) # ------------------------------------------------------ +type Category { + id: String! + label: String! +} + +type Variable { + id: String! + label: String + type: String! + description: String + enumerations: [Category!]! + groups: [Group!]! +} + +type Group { + id: String! + label: String! + description: String + groups: [Group!]! + variables: [Variable!]! +} + +type Domain { + id: String! + label: String! + description: String + groups: [Group!]! + variables: [Variable!]! + datasets: [Category!]! +} + type Query { - hello: String! + hello: Domain! }