From b76670a0bcbee572965a5ccbb187d07333673e11 Mon Sep 17 00:00:00 2001 From: NicoleNG18 Date: Thu, 26 Feb 2026 12:55:08 +0200 Subject: [PATCH] refactor service --- codbex-number-generator/service/generator.js | 24 -------- codbex-number-generator/service/generator.ts | 55 +++++++++++++++---- .../test/generator-test.js | 3 - .../test/generator-test.ts | 4 -- 4 files changed, 43 insertions(+), 43 deletions(-) delete mode 100644 codbex-number-generator/service/generator.js delete mode 100644 codbex-number-generator/test/generator-test.js delete mode 100644 codbex-number-generator/test/generator-test.ts diff --git a/codbex-number-generator/service/generator.js b/codbex-number-generator/service/generator.js deleted file mode 100644 index 3785a79..0000000 --- a/codbex-number-generator/service/generator.js +++ /dev/null @@ -1,24 +0,0 @@ -import { NumberRepository } from "../gen/codbex-number-generator/dao/Settings/NumberRepository"; -export class NumberGeneratorService { - constructor() { - this.repository = new NumberRepository(); - } - generate(id) { - try { - const entity = this.repository.findById(id); - if (entity) { - entity.Value += 1; - this.repository.update(entity); - const zeroPad = (num, places) => String(num).padStart(places, '0'); - const result = (entity.Prefix ? entity.Prefix : "") + zeroPad(entity.Value, entity.Length - (entity.Prefix ? entity.Prefix.length : 0)); - return result; - } - else { - throw new Error("Number not found"); - } - } - catch (error) { - console.error(error); - } - } -} diff --git a/codbex-number-generator/service/generator.ts b/codbex-number-generator/service/generator.ts index f1ae957..4faaec3 100644 --- a/codbex-number-generator/service/generator.ts +++ b/codbex-number-generator/service/generator.ts @@ -1,21 +1,52 @@ -import { NumberRepository, NumberEntityOptions } from "../gen/codbex-number-generator/dao/Settings/NumberRepository"; +import { NumberRepository } from "../gen/codbex-number-generator/data/Settings/NumberRepository"; export class NumberGeneratorService { - private readonly repository = new NumberRepository(); + private readonly numberRepository = new NumberRepository(); - public generate(id: number) { + public generate(id: number): string | undefined { try { - const entity = this.repository.findById(id); - if (entity) { - entity.Value += 1; - this.repository.update(entity); - const zeroPad = (num: number, places: number) => String(num).padStart(places, '0'); - const result: String = (entity.Prefix ? entity.Prefix : "") + zeroPad(entity.Value, entity.Length - (entity.Prefix ? entity.Prefix.length : 0)); - return result; - } else { - throw new Error("Number not found"); + const entity = this.numberRepository.findById(id); + + if (!entity) { + throw new Error(`Entity with id ${id} not found`); + } + + entity.Value! += 1; + this.numberRepository.update(entity); + + const zeroPad = (num: number, places: number) => String(num).padStart(places, '0'); + const result: string = (entity.Prefix ? entity.Prefix : "") + + zeroPad(entity.Value!, entity.Length! + - (entity.Prefix ? entity.Prefix.length : 0)); + + return result; + + } catch (error: any) { + console.error(error); + } + } + + public generateByType(genType: string): string | undefined { + try { + + const entity = this.numberRepository.findAll() + .filter(item => item.Type === genType).at(0); + + if (!entity) { + throw new Error(`Entity with type ${genType} not found`); } + + entity.Value! += 1; + this.numberRepository.update(entity); + + const zeroPad = (num: number, places: number) => String(num).padStart(places, '0'); + const result: string = (entity.Prefix ? entity.Prefix : "") + + zeroPad(entity.Value!, entity.Length! + - (entity.Prefix ? entity.Prefix.length : 0)); + + return result; + } catch (error: any) { console.error(error); } diff --git a/codbex-number-generator/test/generator-test.js b/codbex-number-generator/test/generator-test.js deleted file mode 100644 index 919e7d9..0000000 --- a/codbex-number-generator/test/generator-test.js +++ /dev/null @@ -1,3 +0,0 @@ -import { response } from "sdk/http"; -import { NumberGeneratorService } from "../service/generator"; -response.println("Generated Number: " + new NumberGeneratorService().generate(1)); diff --git a/codbex-number-generator/test/generator-test.ts b/codbex-number-generator/test/generator-test.ts deleted file mode 100644 index 0dff771..0000000 --- a/codbex-number-generator/test/generator-test.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { response } from "sdk/http"; -import { NumberGeneratorService } from "../service/generator"; - -response.println("Generated Number: " + new NumberGeneratorService().generate(1)); \ No newline at end of file