Skip to content

Commit

Permalink
✔ Fix BIGINT Size ~
Browse files Browse the repository at this point in the history
  • Loading branch information
bifeldy committed Dec 7, 2023
1 parent 9e436e3 commit 374f08e
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 4 deletions.
2 changes: 1 addition & 1 deletion dist/fansubid/server/main.js

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion src/api/entities/Attachment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import { Entity, Column, ManyToOne, PrimaryGeneratedColumn, CreateDateColumn, Up

import { AttachmentModel, UserModel } from '../../models/req-res.model';

import { ColumnNumberBigIntTransformer } from '../transformers/column-number-bigint.transformer';

import { User } from './User';

@Entity({ name: 'attachment' })
Expand All @@ -20,7 +22,7 @@ export class Attachment implements AttachmentModel {
@Column({ type: 'text' })
ext: string;

@Column({ type: 'bigint' })
@Column({ type: 'bigint', transformer: new ColumnNumberBigIntTransformer() })
size: number;

@Column({ type: 'text', nullable: true })
Expand Down
4 changes: 3 additions & 1 deletion src/api/entities/KartuTandaPenduduk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@ import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateCol

import { AgamaModel, GolonganDarahModel, JenisKelaminModel, KartuTandaPendudukModel, WargaNegaraModel } from '../../models/req-res.model';

import { ColumnNumberBigIntTransformer } from '../transformers/column-number-bigint.transformer';

@Entity({ name: 'kartu_tanda_penduduk' })
export class KartuTandaPenduduk implements KartuTandaPendudukModel {

@PrimaryGeneratedColumn('increment')
id: number;

@Exclude()
@Column({ type: 'bigint', nullable: true })
@Column({ type: 'bigint', nullable: true, transformer: new ColumnNumberBigIntTransformer() })
nik: number;

@Column({ type: 'text' })
Expand Down
4 changes: 3 additions & 1 deletion src/api/entities/TempAttachment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import { Entity, Column, PrimaryGeneratedColumn, ManyToOne, CreateDateColumn, Up

import { TempAttachmentModel, UserModel } from '../../models/req-res.model';

import { ColumnNumberBigIntTransformer } from '../transformers/column-number-bigint.transformer';

import { User } from './User';

@Entity({ name: 'temp_attachment' })
Expand All @@ -19,7 +21,7 @@ export class TempAttachment implements TempAttachmentModel {
@Column({ type: 'text' })
ext: string;

@Column({ type: 'bigint' })
@Column({ type: 'bigint', transformer: new ColumnNumberBigIntTransformer() })
size: number;

@Column({ type: 'text', nullable: true })
Expand Down
17 changes: 17 additions & 0 deletions src/api/transformers/column-number-bigint.transformer.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
export class ColumnNumberBigIntTransformer {

// BIGINT column always have SELECT read in STRING
// Output value, you can use Number, parseFloat() variations

// Used to marshal data when writing to the database.
public to(data: number): number {
return data;
}

// Used to unmarshal data when reading from the database.
public from(data: string): number {
if (!data) return 0;
return Number(data);
}

}

0 comments on commit 374f08e

Please sign in to comment.