From a8fc7558408b97da4b2c469ae5e73ab502b4fda0 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 15 Apr 2023 18:09:24 +0200 Subject: [PATCH] Back to ean13 based codes --- src/models/actions/create/CreateTrackScan.ts | 2 +- src/models/entities/RunnerCard.ts | 12 +++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/models/actions/create/CreateTrackScan.ts b/src/models/actions/create/CreateTrackScan.ts index 7beb436..a17ab12 100644 --- a/src/models/actions/create/CreateTrackScan.ts +++ b/src/models/actions/create/CreateTrackScan.ts @@ -57,7 +57,7 @@ export class CreateTrackScan { * @returns The runnerCard whom's id you provided. */ public async getCard(): Promise { - const id = this.card % 2000000; + const id = this.card % 200000000000; const runnerCard = await getConnection().getRepository(RunnerCard).findOne({ id: id }, { relations: ["runner"] }); if (!runnerCard) { throw new RunnerCardNotFoundError(); diff --git a/src/models/entities/RunnerCard.ts b/src/models/entities/RunnerCard.ts index 6a73025..db31ec5 100644 --- a/src/models/entities/RunnerCard.ts +++ b/src/models/entities/RunnerCard.ts @@ -52,13 +52,7 @@ export class RunnerCard { * Generates a ean-13 compliant string for barcode generation. */ public get code(): string { - const multiply = [1, 3]; - let total = 0; - this.paddedId.split('').forEach((letter, index) => { - total += parseInt(letter, 10) * multiply[index % 2]; - }); - const checkSum = (Math.ceil(total / 10) * 10) - total; - return this.paddedId + checkSum.toString(); + return this.paddedId } /** @@ -67,10 +61,10 @@ export class RunnerCard { private get paddedId(): string { let id: string = this.id.toString(); - if (id.length > 6) { + if (id.length > 11) { throw new RunnerCardIdOutOfRangeError(); } - while (id.length < 6) { id = '0' + id; } + while (id.length < 11) { id = '0' + id; } id = '2' + id; return id;