From 55fac5e1ced6606344842dca79425b3909f6aa47 Mon Sep 17 00:00:00 2001
From: Steve Reis <stevereis93@gmail.com>
Date: Wed, 10 Nov 2021 12:27:24 +0100
Subject: [PATCH] Change uuid to id (graphql cache rely on id)

---
 .../engine/connectors/csv/main.connector.ts   |  8 ++----
 .../connectors/datashield/main.connector.ts   |  8 ++----
 .../connectors/exareme/main.connector.ts      | 28 +++++++++----------
 .../connectors/exareme/transformations.ts     |  2 +-
 .../engine/connectors/local/main.connector.ts |  8 ++----
 api/src/engine/engine.controller.ts           | 18 ++++++------
 api/src/engine/engine.interfaces.ts           | 14 ++++------
 api/src/engine/engine.resolver.ts             | 14 ++++------
 .../models/experiment/experiment.model.ts     |  2 +-
 api/src/schema.gql                            | 10 +++----
 10 files changed, 51 insertions(+), 61 deletions(-)

diff --git a/api/src/engine/connectors/csv/main.connector.ts b/api/src/engine/connectors/csv/main.connector.ts
index 05864ad..c9c2b6f 100644
--- a/api/src/engine/connectors/csv/main.connector.ts
+++ b/api/src/engine/connectors/csv/main.connector.ts
@@ -41,18 +41,16 @@ export default class CSVService implements IEngineService {
     throw new Error('Method not implemented.');
   }
 
-  getExperiment(uuid: string): Experiment | Promise<Experiment> {
+  getExperiment(id: string): Experiment | Promise<Experiment> {
     throw new Error('Method not implemented.');
   }
 
-  removeExperiment(
-    uuid: string,
-  ): PartialExperiment | Promise<PartialExperiment> {
+  removeExperiment(id: string): PartialExperiment | Promise<PartialExperiment> {
     throw new Error('Method not implemented.');
   }
 
   editExperient(
-    uuid: string,
+    id: string,
     expriment: ExperimentEditInput,
   ): Experiment | Promise<Experiment> {
     throw new Error('Method not implemented.');
diff --git a/api/src/engine/connectors/datashield/main.connector.ts b/api/src/engine/connectors/datashield/main.connector.ts
index 4df8aa1..10be783 100644
--- a/api/src/engine/connectors/datashield/main.connector.ts
+++ b/api/src/engine/connectors/datashield/main.connector.ts
@@ -33,18 +33,16 @@ export default class DataShieldService implements IEngineService {
     throw new Error('Method not implemented.');
   }
 
-  getExperiment(uuid: string): Experiment | Promise<Experiment> {
+  getExperiment(id: string): Experiment | Promise<Experiment> {
     throw new Error('Method not implemented.');
   }
 
-  removeExperiment(
-    uuid: string,
-  ): PartialExperiment | Promise<PartialExperiment> {
+  removeExperiment(id: string): PartialExperiment | Promise<PartialExperiment> {
     throw new Error('Method not implemented.');
   }
 
   editExperient(
-    uuid: string,
+    id: string,
     expriment: ExperimentEditInput,
   ): Experiment | Promise<Experiment> {
     throw new Error('Method not implemented.');
diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts
index dc9b74e..51e8eac 100644
--- a/api/src/engine/connectors/exareme/main.connector.ts
+++ b/api/src/engine/connectors/exareme/main.connector.ts
@@ -86,8 +86,8 @@ export default class ExaremeService implements IEngineService {
     return dataToAlgorithms(resultAPI.data);
   }
 
-  async getExperiment(uuid: string): Promise<Experiment> {
-    const path = this.options.baseurl + `experiments/${uuid}`;
+  async getExperiment(id: string): Promise<Experiment> {
+    const path = this.options.baseurl + `experiments/${id}`;
 
     const resultAPI = await firstValueFrom(
       this.httpService.get<ExperimentData>(path),
@@ -97,10 +97,10 @@ export default class ExaremeService implements IEngineService {
   }
 
   async editExperient(
-    uuid: string,
+    id: string,
     expriment: ExperimentEditInput,
   ): Promise<Experiment> {
-    const path = this.options.baseurl + `experiments/${uuid}`;
+    const path = this.options.baseurl + `experiments/${id}`;
 
     const resultAPI = await firstValueFrom(
       this.httpService.patch<ExperimentData>(path, expriment),
@@ -109,16 +109,16 @@ export default class ExaremeService implements IEngineService {
     return dataToExperiment(resultAPI.data);
   }
 
-  async removeExperiment(uuid: string): Promise<PartialExperiment> {
-    const path = this.options.baseurl + `experiments/${uuid}`;
+  async removeExperiment(id: string): Promise<PartialExperiment> {
+    const path = this.options.baseurl + `experiments/${id}`;
 
     try {
       await firstValueFrom(this.httpService.delete(path));
       return {
-        uuid: uuid,
+        id: id,
       };
     } catch (error) {
-      throw new BadRequestException(`${uuid} does not exists`);
+      throw new BadRequestException(`${id} does not exists`);
     }
   }
 
@@ -170,22 +170,22 @@ export default class ExaremeService implements IEngineService {
       .pipe(map((response) => response.data));
   }
 
-  getExperimentREST(uuid: string): Observable<string> {
-    const path = this.options.baseurl + `experiments/${uuid}`;
+  getExperimentREST(id: string): Observable<string> {
+    const path = this.options.baseurl + `experiments/${id}`;
 
     return this.httpService
       .get<string>(path)
       .pipe(map((response) => response.data));
   }
 
-  deleteExperiment(uuid: string): Observable<string> {
-    const path = this.options.baseurl + `experiments/${uuid}`;
+  deleteExperiment(id: string): Observable<string> {
+    const path = this.options.baseurl + `experiments/${id}`;
 
     return this.httpService.delete(path).pipe(map((response) => response.data));
   }
 
-  editExperimentREST(uuid: string): Observable<string> {
-    const path = this.options.baseurl + `experiments/${uuid}`;
+  editExperimentREST(id: string): Observable<string> {
+    const path = this.options.baseurl + `experiments/${id}`;
 
     return this.httpService
       .patch(path, this.req.body)
diff --git a/api/src/engine/connectors/exareme/transformations.ts b/api/src/engine/connectors/exareme/transformations.ts
index 2fc8039..55bb054 100644
--- a/api/src/engine/connectors/exareme/transformations.ts
+++ b/api/src/engine/connectors/exareme/transformations.ts
@@ -36,7 +36,7 @@ export const transformToExperiment = jsonata(`
 
     {
         "name": name,
-        "uuid": uuid,
+        "id": uuid,
         "author": createdBy,
         "viewed": viewed,
         "status": status,
diff --git a/api/src/engine/connectors/local/main.connector.ts b/api/src/engine/connectors/local/main.connector.ts
index cb472d9..003b3c8 100644
--- a/api/src/engine/connectors/local/main.connector.ts
+++ b/api/src/engine/connectors/local/main.connector.ts
@@ -33,18 +33,16 @@ export default class LocalService implements IEngineService {
     throw new Error('Method not implemented.');
   }
 
-  getExperiment(uuid: string): Experiment | Promise<Experiment> {
+  getExperiment(id: string): Experiment | Promise<Experiment> {
     throw new Error('Method not implemented.');
   }
 
-  removeExperiment(
-    uuid: string,
-  ): PartialExperiment | Promise<PartialExperiment> {
+  removeExperiment(id: string): PartialExperiment | Promise<PartialExperiment> {
     throw new Error('Method not implemented.');
   }
 
   editExperient(
-    uuid: string,
+    id: string,
     expriment: ExperimentEditInput,
   ): Experiment | Promise<Experiment> {
     throw new Error('Method not implemented.');
diff --git a/api/src/engine/engine.controller.ts b/api/src/engine/engine.controller.ts
index d7f34d4..bcda810 100644
--- a/api/src/engine/engine.controller.ts
+++ b/api/src/engine/engine.controller.ts
@@ -30,19 +30,19 @@ export class EngineController {
     return this.engineService.getExperiments();
   }
 
-  @Get('/experiments/:uuid')
-  getExperiment(@Param('uuid') uuid: string): Observable<string> | string {
-    return this.engineService.getExperimentREST(uuid);
+  @Get('/experiments/:id')
+  getExperiment(@Param('id') id: string): Observable<string> | string {
+    return this.engineService.getExperimentREST(id);
   }
 
-  @Delete('/experiments/:uuid')
-  deleteExperiment(@Param('uuid') uuid: string): Observable<string> | string {
-    return this.engineService.deleteExperiment(uuid);
+  @Delete('/experiments/:id')
+  deleteExperiment(@Param('id') id: string): Observable<string> | string {
+    return this.engineService.deleteExperiment(id);
   }
 
-  @Patch('/experiments/:uuid')
-  editExperiment(@Param('uuid') uuid: string): Observable<string> | string {
-    return this.engineService.editExperimentREST(uuid);
+  @Patch('/experiments/:id')
+  editExperiment(@Param('id') id: string): Observable<string> | string {
+    return this.engineService.editExperimentREST(id);
   }
 
   @Post('experiments/transient')
diff --git a/api/src/engine/engine.interfaces.ts b/api/src/engine/engine.interfaces.ts
index 29e57f1..cb033ef 100644
--- a/api/src/engine/engine.interfaces.ts
+++ b/api/src/engine/engine.interfaces.ts
@@ -28,14 +28,12 @@ export interface IEngineService {
     name: string,
   ): Promise<ListExperiments> | ListExperiments;
 
-  getExperiment(uuid: string): Promise<Experiment> | Experiment;
+  getExperiment(id: string): Promise<Experiment> | Experiment;
 
-  removeExperiment(
-    uuid: string,
-  ): Promise<PartialExperiment> | PartialExperiment;
+  removeExperiment(id: string): Promise<PartialExperiment> | PartialExperiment;
 
   editExperient(
-    uuid: string,
+    id: string,
     expriment: ExperimentEditInput,
   ): Promise<Experiment> | Experiment;
 
@@ -46,11 +44,11 @@ export interface IEngineService {
 
   getExperiments(): Observable<string> | string;
 
-  getExperimentREST(uuid: string): Observable<string> | string;
+  getExperimentREST(id: string): Observable<string> | string;
 
-  deleteExperiment(uuid: string): Observable<string> | string;
+  deleteExperiment(id: string): Observable<string> | string;
 
-  editExperimentREST(uuid: string): Observable<string> | string;
+  editExperimentREST(id: string): Observable<string> | string;
 
   startExperimentTransient(): Observable<string> | string;
 
diff --git a/api/src/engine/engine.resolver.ts b/api/src/engine/engine.resolver.ts
index 8b5485d..8267b1b 100644
--- a/api/src/engine/engine.resolver.ts
+++ b/api/src/engine/engine.resolver.ts
@@ -37,8 +37,8 @@ export class EngineResolver {
   }
 
   @Query(() => Experiment)
-  async experiment(@Args('uuid') uuid: string) {
-    return this.engineService.getExperiment(uuid);
+  async experiment(@Args('id') id: string) {
+    return this.engineService.getExperiment(id);
   }
 
   @Query(() => [Algorithm])
@@ -60,16 +60,14 @@ export class EngineResolver {
 
   @Mutation(() => Experiment)
   async editExperiment(
-    @Args('uuid') uuid: string,
+    @Args('id') id: string,
     @Args('data') experiment: ExperimentEditInput,
   ) {
-    return this.engineService.editExperient(uuid, experiment);
+    return this.engineService.editExperient(id, experiment);
   }
 
   @Mutation(() => PartialExperiment)
-  async removeExperiment(
-    @Args('uuid') uuid: string,
-  ): Promise<PartialExperiment> {
-    return this.engineService.removeExperiment(uuid);
+  async removeExperiment(@Args('id') id: string): Promise<PartialExperiment> {
+    return this.engineService.removeExperiment(id);
   }
 }
diff --git a/api/src/engine/models/experiment/experiment.model.ts b/api/src/engine/models/experiment/experiment.model.ts
index 0a76e9d..2d0f1e4 100644
--- a/api/src/engine/models/experiment/experiment.model.ts
+++ b/api/src/engine/models/experiment/experiment.model.ts
@@ -5,7 +5,7 @@ import { Algorithm } from './algorithm.model';
 @ObjectType()
 export class Experiment {
   @Field({ nullable: true })
-  uuid?: string;
+  id?: string;
 
   @Field({ nullable: true, defaultValue: '' })
   author?: string;
diff --git a/api/src/schema.gql b/api/src/schema.gql
index 095d147..1b4951c 100644
--- a/api/src/schema.gql
+++ b/api/src/schema.gql
@@ -127,7 +127,7 @@ type Header {
 }
 
 type Experiment {
-  uuid: String
+  id: String
   author: String
   createdAt: Float
   updateAt: Float
@@ -146,7 +146,7 @@ type Experiment {
 }
 
 type PartialExperiment {
-  uuid: String
+  id: String
   author: String
   createdAt: Float
   updateAt: Float
@@ -174,14 +174,14 @@ type ListExperiments {
 type Query {
   domains(ids: [String!] = []): [Domain!]!
   experiments(name: String = "", page: Float = 0): ListExperiments!
-  experiment(uuid: String!): Experiment!
+  experiment(id: String!): Experiment!
   algorithms: [Algorithm!]!
 }
 
 type Mutation {
   createExperiment(isTransient: Boolean = false, data: ExperimentCreateInput!): Experiment!
-  editExperiment(data: ExperimentEditInput!, uuid: String!): Experiment!
-  removeExperiment(uuid: String!): PartialExperiment!
+  editExperiment(data: ExperimentEditInput!, id: String!): Experiment!
+  removeExperiment(id: String!): PartialExperiment!
 }
 
 input ExperimentCreateInput {
-- 
GitLab