From c678e5f1efab8db2165163ea5825144c3171bd99 Mon Sep 17 00:00:00 2001
From: ChakshuGautam <chaks.gautam@gmail.com>
Date: Thu, 9 Mar 2023 13:39:11 +0530
Subject: [PATCH] Fix: lint; fa

---
 docker-compose.gitpod.yaml                  | 12 ++--
 packages/form-manager/src/app.controller.ts | 24 +++++---
 packages/form-manager/src/app.service.ts    | 66 ++++++++++++++-------
 3 files changed, 66 insertions(+), 36 deletions(-)

diff --git a/docker-compose.gitpod.yaml b/docker-compose.gitpod.yaml
index b014f8f..635413e 100644
--- a/docker-compose.gitpod.yaml
+++ b/docker-compose.gitpod.yaml
@@ -45,10 +45,6 @@ services:
     networks:
       - search_net
     restart: unless-stopped
-    ulimits:
-      memlock:
-        soft: -1
-        hard: -1
     volumes:
       - search_data:/usr/share/elasticsearch/data
 
@@ -70,15 +66,15 @@ services:
       FUSIONAUTH_APP_URL: http://fusionauth:9011
       SEARCH_SERVERS: http://search:9200
       SEARCH_TYPE: elasticsearch
-
+    volumes:
+      - fa-config:/usr/local/fusionauth/config
+      - ./kickstart:/usr/local/fusionauth/kickstarts
     networks:
       - db_net
       - search_net
     restart: unless-stopped
     ports:
       - 9011:9011
-    volumes:
-      - fusionauth_config:/usr/local/fusionauth/config
 
   redis_main:
     image: redis:5
@@ -138,5 +134,5 @@ networks:
 
 volumes:
   db_data:
-  fusionauth_config:
   search_data:
+  fa-config:
diff --git a/packages/form-manager/src/app.controller.ts b/packages/form-manager/src/app.controller.ts
index 3c3975f..6885700 100644
--- a/packages/form-manager/src/app.controller.ts
+++ b/packages/form-manager/src/app.controller.ts
@@ -40,7 +40,7 @@ export class AppController {
   constructor(
     private readonly appService: AppService,
     private configService: ConfigService,
-  ) { }
+  ) {}
 
   getLoginToken = () => {
     try {
@@ -62,7 +62,7 @@ export class AppController {
         json: postData,
       };
 
-      console.log(options)
+      console.log(options);
 
       return new Promise((resolve, reject) => {
         request(options, function (error, response, body) {
@@ -180,10 +180,10 @@ export class AppController {
           prefillXML,
         );
       } else {
-        return "OK";
+        return 'OK';
       }
     } catch (e) {
-      return "OK2";
+      return 'OK2';
     }
   }
 
@@ -200,19 +200,27 @@ export class AppController {
   }
 
   @Get('osceForm/:type/:year/:speciality?')
-  getOsceForm(@Param('type') type, @Param('year') year, @Param('speciality') speciality): any {
+  getOsceForm(
+    @Param('type') type,
+    @Param('year') year,
+    @Param('speciality') speciality,
+  ): any {
     return this.appService.getOsceForms(type, year, speciality);
   }
 
   @Get('osceFormTeachers/:type/:year/:speciality?')
-  getOsceFormTeachers(@Param('type') type, @Param('year') year, @Param('speciality') speciality): any {
+  getOsceFormTeachers(
+    @Param('type') type,
+    @Param('year') year,
+    @Param('speciality') speciality,
+  ): any {
     return this.appService.getOsceForms(type, year, speciality, 2);
   }
 
   @Post('form/uploadFile')
   @UseInterceptors(FileInterceptor('file'))
   async uploadFile(@UploadedFile() file: Express.Multer.File) {
-    console.log(file)
+    console.log(file);
     const extension = file.originalname.split('.').pop();
     const fileName = uuidv4() + `.${extension}`;
     const tokenRes = await this.getLoginToken();
@@ -252,7 +260,7 @@ export class AppController {
       'MINIO_BUCKET_ID',
     )}/${fileName}`;
 
-    console.log("Uploaded File:", fileURL);
+    console.log('Uploaded File:', fileURL);
 
     return { fileURL };
   }
diff --git a/packages/form-manager/src/app.service.ts b/packages/form-manager/src/app.service.ts
index fdf0503..9355629 100644
--- a/packages/form-manager/src/app.service.ts
+++ b/packages/form-manager/src/app.service.ts
@@ -7,34 +7,39 @@ import { join } from 'path';
 export class AppService {
   parser = new DOMParser();
 
-  getHello(): string {
-    return 'Hello World!';
-  }
-
   getForm(form: string): string {
     const formFilePath = join(__dirname, `forms/${form}.xml`);
     return fs.readFileSync(formFilePath, 'utf8');
   }
 
-  getOsceForms(type?: string, year?: string, speciality?: string, noOfForms?: number) {
+  getOsceForms(
+    type?: string,
+    year?: string,
+    speciality?: string,
+    noOfForms?: number,
+  ) {
     try {
-      if (!type || !year)
-        return "Please provide valid inputs"
+      if (!type || !year) return 'Please provide valid inputs';
 
-      const matchingText = speciality ? `${type}_${year}_${speciality}` : `${type}_${year}`;
+      const matchingText = speciality
+        ? `${type}_${year}_${speciality}`
+        : `${type}_${year}`;
       let matchingFiles = [];
       // const fileNames = fs.readdirSync(`/Users/amitsharma/Projects/workflow/packages/form-manager/src/forms`);
-      const fileNames = fs.readdirSync(__dirname + "/forms");
+      const fileNames = fs.readdirSync(__dirname + '/forms');
 
-      fileNames.forEach(file => { if (file.startsWith(matchingText)) matchingFiles.push(file) })
+      fileNames.forEach((file) => {
+        if (file.startsWith(matchingText)) matchingFiles.push(file);
+      });
 
       if (matchingFiles.length) {
         if (noOfForms) {
           const names = [];
           for (let i = 0; i < noOfForms; i++) {
-            let form = matchingFiles[Math.floor(Math.random() * matchingFiles.length)];
+            const form =
+              matchingFiles[Math.floor(Math.random() * matchingFiles.length)];
             names.push(form);
-            matchingFiles = matchingFiles.filter(el => el != form);
+            matchingFiles = matchingFiles.filter((el) => el != form);
           }
           return names;
         }
@@ -42,7 +47,7 @@ export class AppService {
       }
       return null;
     } catch (err) {
-      console.log(err);
+      console.debug(err);
       return err;
     }
   }
@@ -79,7 +84,11 @@ export class AppService {
         const key_arr = key.split('_*_');
         let element = null;
         if (this.isImage(prefillSpec[key])) {
-          const parentEl = this.findElementRecursively(0, key_arr.slice(0, key_arr.length - 1), instance);
+          const parentEl = this.findElementRecursively(
+            0,
+            key_arr.slice(0, key_arr.length - 1),
+            instance,
+          );
           for (let i = 0; i < parentEl.childNodes.length; i++) {
             if (element) break;
             if (parentEl.childNodes[i].tagName == key_arr[key_arr.length - 1]) {
@@ -91,7 +100,6 @@ export class AppService {
               }
             }
           }
-
         }
         if (element) {
           element.textContent = eval(prefillSpec[key]);
@@ -102,22 +110,40 @@ export class AppService {
   }
 
   isImage(filename: string): boolean {
-    if (filename.includes(".png") || filename.includes(".tif") || filename.includes(".tiff") || filename.includes(".jpg") || filename.includes(".jpeg") || filename.includes(".bmp") || filename.includes(".gif") || filename.includes(".eps"))
+    if (
+      filename.includes('.png') ||
+      filename.includes('.tif') ||
+      filename.includes('.tiff') ||
+      filename.includes('.jpg') ||
+      filename.includes('.jpeg') ||
+      filename.includes('.bmp') ||
+      filename.includes('.gif') ||
+      filename.includes('.eps')
+    )
       return true;
     return false;
   }
 
   findElementRecursively(start: number, key_arr: any, instance: any) {
     if (!instance) return null;
-    if (!key_arr[start + 1]) return instance.getElementsByTagName(key_arr[start])?.[0]
-    return this.findElementRecursively(start + 1, key_arr, instance.getElementsByTagName(key_arr[start])?.[0])
+    if (!key_arr[start + 1])
+      return instance.getElementsByTagName(key_arr[start])?.[0];
+    return this.findElementRecursively(
+      start + 1,
+      key_arr,
+      instance.getElementsByTagName(key_arr[start])?.[0],
+    );
   }
 
-  prefillFormXML(form: string, onFormSuccessData: any, prefillSpec: any): string {
+  prefillFormXML(
+    form: string,
+    onFormSuccessData: any,
+    prefillSpec: any,
+  ): string {
     const formFilePath = join(__dirname, `forms/${form}.xml`);
     const formString = fs.readFileSync(formFilePath, 'utf8');
     const doc = this.parser.parseFromString(formString, 'text/xml');
-    console.log({ prefillSpec })
+    console.debug({ prefillSpec });
     const instance = doc.getElementsByTagName('instance')[0];
     if (instance) {
       instance.textContent = prefillSpec;
-- 
GitLab