test-entity-library-asm 1.7.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,8 +19,8 @@ export declare class Partner {
19
19
  password: string;
20
20
  profile: any;
21
21
  owner: number;
22
- created: Date;
23
- updated: Date;
22
+ created: string;
23
+ updated: string;
24
24
  status: number;
25
25
  companies: Company[];
26
26
  discount_code_partners: DiscountCodeUser[];
@@ -19,6 +19,7 @@ var PartnerRole_1 = require("./PartnerRole");
19
19
  var Terminal_1 = require("./Terminal");
20
20
  var TerminalSession_1 = require("./TerminalSession");
21
21
  var transformations_1 = require("../transformations");
22
+ var dateTransformer_1 = require("../transformers/dateTransformer");
22
23
  var Partner = /** @class */ (function () {
23
24
  function Partner() {
24
25
  }
@@ -110,12 +111,20 @@ var Partner = /** @class */ (function () {
110
111
  __metadata("design:type", Number)
111
112
  ], Partner.prototype, "owner", void 0);
112
113
  __decorate([
113
- (0, typeorm_1.Column)({ type: 'datetime', comment: 'Fecha de creación del registro.' }),
114
- __metadata("design:type", Date)
114
+ (0, typeorm_1.Column)({
115
+ type: 'datetime',
116
+ transformer: new dateTransformer_1.DateTransformer(),
117
+ comment: 'Fecha de creación del registro.',
118
+ }),
119
+ __metadata("design:type", String)
115
120
  ], Partner.prototype, "created", void 0);
116
121
  __decorate([
117
- (0, typeorm_1.Column)({ type: 'datetime', comment: 'Fecha de actualización del registro.' }),
118
- __metadata("design:type", Date)
122
+ (0, typeorm_1.Column)({
123
+ type: 'datetime',
124
+ transformer: new dateTransformer_1.DateTransformer(),
125
+ comment: 'Fecha de actualización del registro.',
126
+ }),
127
+ __metadata("design:type", String)
119
128
  ], Partner.prototype, "updated", void 0);
120
129
  __decorate([
121
130
  (0, typeorm_1.Column)({
package/dist/index.js CHANGED
@@ -122,6 +122,7 @@ var async_hooks_1 = require("async_hooks");
122
122
  var asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();
123
123
  function timezoneMiddleware(req, res, next) {
124
124
  var userTimeZone = req.headers['user-timezone'];
125
+ console.log(userTimeZone, 'llega?');
125
126
  if (Array.isArray(userTimeZone)) {
126
127
  userTimeZone = userTimeZone[0];
127
128
  }
@@ -0,0 +1,7 @@
1
+ import { ValueTransformer } from 'typeorm';
2
+ export declare class DateTransformer implements ValueTransformer {
3
+ private format;
4
+ constructor(format?: string);
5
+ from(value: Date): string;
6
+ to(value: Date): Date;
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DateTransformer = void 0;
4
+ var date_fns_tz_1 = require("date-fns-tz");
5
+ var __1 = require("..");
6
+ var DateTransformer = /** @class */ (function () {
7
+ function DateTransformer(format) {
8
+ if (format === void 0) { format = 'yyyy-MM-dd HH:mm:ss'; }
9
+ this.format = format;
10
+ }
11
+ DateTransformer.prototype.from = function (value) {
12
+ var timeZone = (0, __1.getTimeZone)();
13
+ var zonedDate = (0, date_fns_tz_1.toZonedTime)(value, timeZone);
14
+ return (0, date_fns_tz_1.format)(zonedDate, this.format, { timeZone: timeZone });
15
+ };
16
+ DateTransformer.prototype.to = function (value) {
17
+ return new Date(value); // Assuming the input is already in UTC
18
+ };
19
+ return DateTransformer;
20
+ }());
21
+ exports.DateTransformer = DateTransformer;
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "test-entity-library-asm",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "description": "Entidades de ejemplo para una base de datos",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,6 +11,8 @@
11
11
  "author": "",
12
12
  "license": "ISC",
13
13
  "dependencies": {
14
+ "date-fns": "^3.6.0",
15
+ "date-fns-tz": "^3.1.3",
14
16
  "dotenv": "^16.4.5",
15
17
  "express": "^4.19.2",
16
18
  "typeorm": "^0.3.20"
@@ -16,6 +16,7 @@ import { PartnerRole } from './PartnerRole'
16
16
  import { Terminal } from './Terminal'
17
17
  import { TerminalSession } from './TerminalSession'
18
18
  import { jsonTransformer } from '../transformations'
19
+ import { DateTransformer } from '../transformers/dateTransformer'
19
20
 
20
21
  @Entity({
21
22
  comment:
@@ -98,11 +99,19 @@ export class Partner {
98
99
  })
99
100
  owner: number
100
101
 
101
- @Column({ type: 'datetime', comment: 'Fecha de creación del registro.' })
102
- created: Date
102
+ @Column({
103
+ type: 'datetime',
104
+ transformer: new DateTransformer(),
105
+ comment: 'Fecha de creación del registro.',
106
+ })
107
+ created: string
103
108
 
104
- @Column({ type: 'datetime', comment: 'Fecha de actualización del registro.' })
105
- updated: Date
109
+ @Column({
110
+ type: 'datetime',
111
+ transformer: new DateTransformer(),
112
+ comment: 'Fecha de actualización del registro.',
113
+ })
114
+ updated: string
106
115
 
107
116
  @Column({
108
117
  default: 1,
@@ -123,11 +132,6 @@ export class Partner {
123
132
  @OneToMany(() => Local, (local) => local.updated_by)
124
133
  locals: Local[]
125
134
 
126
- // @ManyToMany(() => Local, (local) => local.locals_partners)
127
- // @JoinTable({
128
- // name: 'local_partner',
129
- // })
130
- // locals_partner: Local[]
131
135
  @ManyToMany(() => Local, (local) => local.locals_partners)
132
136
  @JoinTable({
133
137
  name: 'local_partner',
@@ -142,11 +146,6 @@ export class Partner {
142
146
  })
143
147
  locals_partner: Local[]
144
148
 
145
- // @ManyToMany(() => PartnerRole, (partnerLocal) => partnerLocal.partners_roles)
146
- // @JoinTable({
147
- // name: 'partner_assigned_role',
148
- // })
149
- // partners_roles: PartnerRole[]
150
149
  @ManyToMany(() => PartnerRole, (partnerLocal) => partnerLocal.partners_roles)
151
150
  @JoinTable({
152
151
  name: 'partner_assigned_role',
package/src/index.ts CHANGED
@@ -76,6 +76,7 @@ export function timezoneMiddleware(
76
76
  next: NextFunction
77
77
  ) {
78
78
  let userTimeZone = req.headers['user-timezone']
79
+ console.log(userTimeZone, 'llega?')
79
80
 
80
81
  if (Array.isArray(userTimeZone)) {
81
82
  userTimeZone = userTimeZone[0]
@@ -0,0 +1,22 @@
1
+ // dateTransformer.ts
2
+ import { ValueTransformer } from 'typeorm'
3
+ import { format, toZonedTime } from 'date-fns-tz'
4
+ import { getTimeZone } from '..'
5
+
6
+ export class DateTransformer implements ValueTransformer {
7
+ private format: string
8
+
9
+ constructor(format: string = 'yyyy-MM-dd HH:mm:ss') {
10
+ this.format = format
11
+ }
12
+
13
+ from(value: Date): string {
14
+ const timeZone = getTimeZone()
15
+ const zonedDate = toZonedTime(value, timeZone)
16
+ return format(zonedDate, this.format, { timeZone })
17
+ }
18
+
19
+ to(value: Date): Date {
20
+ return new Date(value) // Assuming the input is already in UTC
21
+ }
22
+ }
File without changes
@@ -1,27 +0,0 @@
1
- import { AsyncLocalStorage } from 'async_hooks'
2
- import { NextFunction, Request, Response } from 'express'
3
-
4
- const asyncLocalStorage = new AsyncLocalStorage<Map<string, string>>()
5
-
6
- export function timezoneMiddleware(
7
- req: Request,
8
- res: Response,
9
- next: NextFunction
10
- ) {
11
- let userTimeZone = req.headers['user-timezone']
12
-
13
- if (Array.isArray(userTimeZone)) {
14
- userTimeZone = userTimeZone[0]
15
- }
16
-
17
- userTimeZone = userTimeZone || 'UTC'
18
-
19
- asyncLocalStorage.run(new Map([['timezone', userTimeZone]]), () => {
20
- next()
21
- })
22
- }
23
-
24
- export function getTimeZone(): string {
25
- const store = asyncLocalStorage.getStore()
26
- return store?.get('timezone') ?? 'UTC'
27
- }