@platform-modules/civil-aviation-authority 1.0.1 → 1.0.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.
@@ -1,20 +1,19 @@
1
- // src/data-source.ts
2
- import 'reflect-metadata';
3
- import { DataSource } from 'typeorm';
4
- import 'dotenv/config';
5
- import { User } from './models/user'; // import all entities here
6
- import { userSessions } from './models/user-sessions';
7
- import { Role } from './models/role';
8
- import { ITHelpDeskRequests } from './models/ITHelpDeskModel';
9
-
10
- export const AppDataSource = new DataSource({
11
- type: 'postgres',
12
- host: process.env.DB_HOST || 'localhost',
13
- port: +(process.env.DB_PORT || 5432),
14
- username: process.env.DB_USER || 'postgres',
15
- password: process.env.DB_PASS || 'postgres',
16
- database: process.env.DB_NAME || 'common_models',
17
- synchronize: true, // auto-create tables (disable in prod)
18
- logging: false,
19
- entities: [User,userSessions,Role, ITHelpDeskRequests],
20
- });
1
+ // src/data-source.ts
2
+ import 'reflect-metadata';
3
+ import { DataSource } from 'typeorm';
4
+ import 'dotenv/config';
5
+ import { User } from './models/user'; // import all entities here
6
+ import { userSessions } from './models/user-sessions';
7
+ import { Role } from './models/role';
8
+
9
+ export const AppDataSource = new DataSource({
10
+ type: 'postgres',
11
+ host: process.env.DB_HOST || 'localhost',
12
+ port: +(process.env.DB_PORT || 5432),
13
+ username: process.env.DB_USER || 'postgres',
14
+ password: process.env.DB_PASS || 'postgres',
15
+ database: process.env.DB_NAME || 'common_models',
16
+ synchronize: true, // auto-create tables (disable in prod)
17
+ logging: false,
18
+ entities: [User,userSessions,Role],
19
+ });
@@ -1,94 +1,94 @@
1
- //import enums
2
-
3
- export enum ImportStatusType {
4
- NotStarted = 1,
5
- InProgress = 2,
6
- Completed = 3,
7
- Error = 4,
8
- }
9
-
10
- export const enum EmployeeType {
11
- Permanent = 'Permanent',
12
- Contract = 'Contract',
13
- }
14
-
15
- export const enum MaritalType {
16
- Single = 'Single',
17
- Married = 'Married',
18
- }
19
-
20
- export const enum genderType {
21
- Male = 'Male',
22
- Female = 'Female',
23
- Others = 'Others',
24
-
25
- }
26
-
27
- export const enum ActionItemStatusType {
28
- Not_Yet_Started = 'Not Yet Started',
29
- InProgress = 'InProgress',
30
- Completed = 'Completed',
31
- Cancelled = 'Cancelled',
32
- }
33
-
34
- export const enum CampaignStatusType {
35
- Not_Yet_Started = 'Not Yet Started',
36
- InProgress = 'InProgress',
37
- Completed = 'Completed',
38
- }
39
-
40
- export const enum platformType {
41
- web = 'Web',
42
- mobile = 'Mobile'
43
- }
44
-
45
- export const enum contextType {
46
- ADMIN = 'Admin',
47
- BUSINESS_PARTNER = 'Business Partner',
48
- CLIENT = 'Client'
49
- }
50
-
51
- export enum ImportType {
52
- admin = 1,
53
- business_partner = 2,
54
- client = 3
55
- }
56
-
57
- export enum userType {
58
- admin = 1,
59
- business_partner = 2,
60
- client = 3
61
- }
62
-
63
- export enum ReportColumnDataType {
64
- Int = 1,
65
- String = 2,
66
- Date = 3,
67
- Time = 4,
68
- DateTime = 5,
69
- Money = 6,
70
- }
71
-
72
- export enum CONSTANTS {
73
- READ = 'READ',
74
- DELETE = 'DELETE',
75
- SEND = 'SEND',
76
- }
77
-
78
- export enum NotificationRequestType {
79
- request_raised = 'request raised',
80
- request_approve = 'request approve',
81
- request_reject = 'request reject',
82
- request_withdraw = 'request withdraw',
83
- reminder = 'reminder',
84
- import = 'import',
85
- }
86
-
87
- export enum RequestGroup {
88
- ADMIN = 'Admin',
89
- BUSINESS_PARTNER = 'Business Partner',
90
- CLIENT = 'Client'
91
-
92
- }
93
-
94
-
1
+ //import enums
2
+
3
+ export enum ImportStatusType {
4
+ NotStarted = 1,
5
+ InProgress = 2,
6
+ Completed = 3,
7
+ Error = 4,
8
+ }
9
+
10
+ export const enum EmployeeType {
11
+ Permanent = 'Permanent',
12
+ Contract = 'Contract',
13
+ }
14
+
15
+ export const enum MaritalType {
16
+ Single = 'Single',
17
+ Married = 'Married',
18
+ }
19
+
20
+ export const enum genderType {
21
+ Male = 'Male',
22
+ Female = 'Female',
23
+ Others = 'Others',
24
+
25
+ }
26
+
27
+ export const enum ActionItemStatusType {
28
+ Not_Yet_Started = 'Not Yet Started',
29
+ InProgress = 'InProgress',
30
+ Completed = 'Completed',
31
+ Cancelled = 'Cancelled',
32
+ }
33
+
34
+ export const enum CampaignStatusType {
35
+ Not_Yet_Started = 'Not Yet Started',
36
+ InProgress = 'InProgress',
37
+ Completed = 'Completed',
38
+ }
39
+
40
+ export const enum platformType {
41
+ web = 'Web',
42
+ mobile = 'Mobile'
43
+ }
44
+
45
+ export const enum contextType {
46
+ ADMIN = 'Admin',
47
+ BUSINESS_PARTNER = 'Business Partner',
48
+ CLIENT = 'Client'
49
+ }
50
+
51
+ export enum ImportType {
52
+ admin = 1,
53
+ business_partner = 2,
54
+ client = 3
55
+ }
56
+
57
+ export enum userType {
58
+ admin = 1,
59
+ business_partner = 2,
60
+ client = 3
61
+ }
62
+
63
+ export enum ReportColumnDataType {
64
+ Int = 1,
65
+ String = 2,
66
+ Date = 3,
67
+ Time = 4,
68
+ DateTime = 5,
69
+ Money = 6,
70
+ }
71
+
72
+ export enum CONSTANTS {
73
+ READ = 'READ',
74
+ DELETE = 'DELETE',
75
+ SEND = 'SEND',
76
+ }
77
+
78
+ export enum NotificationRequestType {
79
+ request_raised = 'request raised',
80
+ request_approve = 'request approve',
81
+ request_reject = 'request reject',
82
+ request_withdraw = 'request withdraw',
83
+ reminder = 'reminder',
84
+ import = 'import',
85
+ }
86
+
87
+ export enum RequestGroup {
88
+ ADMIN = 'Admin',
89
+ BUSINESS_PARTNER = 'Business Partner',
90
+ CLIENT = 'Client'
91
+
92
+ }
93
+
94
+
package/src/index.ts ADDED
@@ -0,0 +1,13 @@
1
+ // src/index.ts
2
+ export * from './models/user';
3
+ //export * from './models/AMC';
4
+ //export * from './models/categories';
5
+ //export * from './models/import';
6
+ //export * from './models/notifications';
7
+ //export * from './models/otps';
8
+ export * from './models/role';
9
+ //export * from './models/subcategories';
10
+ export * from './models/user-sessions';
11
+ //export * from './models/workflow';
12
+ // export * from './models/request';
13
+
@@ -1,62 +1,62 @@
1
- import moment from "moment-timezone";
2
- import {
3
- Column,
4
- CreateDateColumn,
5
- UpdateDateColumn,
6
- BeforeInsert,
7
- PrimaryGeneratedColumn
8
- } from 'typeorm';
9
-
10
- export abstract class Model0 {
11
- jsonIgnore: string[] = ['logicalDelete', 'is_deleted', 'jsonIgnore'];
12
-
13
- @Column({ nullable: false })
14
- created_by?: string = '';
15
-
16
- @CreateDateColumn({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" })
17
- created_at?: Date;
18
-
19
- @Column({ nullable: true })
20
- updated_by?: string = '';
21
-
22
- @UpdateDateColumn({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" })
23
- updated_at?: Date;
24
-
25
- @BeforeInsert()
26
- insertCreated() {
27
- const currentTime = moment().utc().tz('Asia/Kolkata').toDate();
28
- this.created_at = currentTime;
29
- this.updated_at = currentTime;
30
- }
31
-
32
- @Column({ nullable: true, default: false })
33
- is_deleted?: boolean = false;
34
-
35
- logicalDelete: boolean;
36
-
37
- constructor() {
38
- this.logicalDelete = true;
39
- }
40
-
41
- // Don't serialize some fields
42
- toJSON() {
43
- const result: Record<string, any> = {};
44
- for (const x in this) {
45
- if (!this.jsonIgnore.includes(x)) {
46
- // @ts-ignore
47
- result[x] = this[x];
48
- }
49
- }
50
- return result;
51
- }
52
- }
53
-
54
- export abstract class BaseModel extends Model0 {
55
- @PrimaryGeneratedColumn()
56
- id: number;
57
-
58
- constructor() {
59
- super();
60
- this.id = 0; // This will be set by the database when the entity is saved
61
- }
1
+ import moment from "moment-timezone";
2
+ import {
3
+ Column,
4
+ CreateDateColumn,
5
+ UpdateDateColumn,
6
+ BeforeInsert,
7
+ PrimaryGeneratedColumn
8
+ } from 'typeorm';
9
+
10
+ export abstract class Model0 {
11
+ jsonIgnore: string[] = ['logicalDelete', 'is_deleted', 'jsonIgnore'];
12
+
13
+ @Column({ nullable: false })
14
+ created_by?: string = '';
15
+
16
+ @CreateDateColumn({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" })
17
+ created_at?: Date;
18
+
19
+ @Column({ nullable: true })
20
+ updated_by?: string = '';
21
+
22
+ @UpdateDateColumn({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" })
23
+ updated_at?: Date;
24
+
25
+ @BeforeInsert()
26
+ insertCreated() {
27
+ const currentTime = moment().utc().tz('Asia/Kolkata').toDate();
28
+ this.created_at = currentTime;
29
+ this.updated_at = currentTime;
30
+ }
31
+
32
+ @Column({ nullable: true, default: false })
33
+ is_deleted?: boolean = false;
34
+
35
+ logicalDelete: boolean;
36
+
37
+ constructor() {
38
+ this.logicalDelete = true;
39
+ }
40
+
41
+ // Don't serialize some fields
42
+ toJSON() {
43
+ const result: Record<string, any> = {};
44
+ for (const x in this) {
45
+ if (!this.jsonIgnore.includes(x)) {
46
+ // @ts-ignore
47
+ result[x] = this[x];
48
+ }
49
+ }
50
+ return result;
51
+ }
52
+ }
53
+
54
+ export abstract class BaseModel extends Model0 {
55
+ @PrimaryGeneratedColumn()
56
+ id: number;
57
+
58
+ constructor() {
59
+ super();
60
+ this.id = 0; // This will be set by the database when the entity is saved
61
+ }
62
62
  }
@@ -0,0 +1,37 @@
1
+ import { DataSource } from "typeorm";
2
+ import dotenv from 'dotenv';
3
+ import { User } from "../models/user";
4
+ import { userSessions } from '../models/user-sessions';
5
+
6
+ dotenv.config();
7
+ let AppDataSource: any;
8
+ let retries: number = 5;
9
+ while (retries) {
10
+ try {
11
+ AppDataSource = new DataSource({
12
+ type: "postgres",
13
+ host: process.env.TYPEORM_HOST,
14
+ port: parseInt(process.env.TYPEORM_PORT!),
15
+ username: process.env.TYPEORM_USERNAME,
16
+ password: process.env.TYPEORM_PASSWORD,
17
+ database: process.env.TYPEORM_DATABASE,
18
+ synchronize: true,
19
+ logging: false,
20
+ entities: [ User,userSessions]
21
+ });
22
+ AppDataSource.initialize()
23
+ .then(() => {
24
+ console.log("Database Connection Established");
25
+ })
26
+ .catch((error: any) => console.log(error));
27
+ retries = 0;
28
+ } catch (error) {
29
+ console.log('Postgres trying to reconnect : ', retries, 'Error :', error);
30
+ retries -= 1;
31
+ AppDataSource = undefined;
32
+ new Promise(res => setTimeout(res, 500));
33
+ }
34
+ }
35
+
36
+
37
+ export default AppDataSource;
@@ -1,36 +1,36 @@
1
- /** *
2
- @author
3
- Amnet Digital
4
- @date
5
- 2024-05-20
6
- @Model
7
- Role
8
- @usage
9
- Userrole Information will store
10
- */
11
-
12
- import { Column, Entity } from "typeorm";
13
- import { BaseModel } from './BaseModel';
14
-
15
- export interface Irole {
16
- name: string;
17
- id?: number;
18
- is_deleted?: boolean;
19
- created_by?: number;
20
- }
21
- @Entity({ name: 'role' })
22
- export class Role extends BaseModel {
23
-
24
- @Column({ nullable: true })
25
- name: string;
26
-
27
- @Column({ nullable: true })
28
- is_deleted?: boolean;
29
-
30
-
31
- constructor(name: string,is_deleted:boolean,userId: number) {
32
- super();
33
- this.name = name
34
- this.is_deleted = is_deleted
35
- }
36
- }
1
+ /** *
2
+ @author
3
+ Amnet Digital
4
+ @date
5
+ 2024-05-20
6
+ @Model
7
+ Role
8
+ @usage
9
+ Userrole Information will store
10
+ */
11
+
12
+ import { Column, Entity } from "typeorm";
13
+ import { BaseModel } from './BaseModel';
14
+
15
+ export interface Irole {
16
+ name: string;
17
+ id?: number;
18
+ is_deleted?: boolean;
19
+ created_by?: number;
20
+ }
21
+ @Entity({ name: 'role' })
22
+ export class Role extends BaseModel {
23
+
24
+ @Column({ nullable: true })
25
+ name: string;
26
+
27
+ @Column({ nullable: true })
28
+ is_deleted?: boolean;
29
+
30
+
31
+ constructor(name: string,is_deleted:boolean,userId: number) {
32
+ super();
33
+ this.name = name
34
+ this.is_deleted = is_deleted
35
+ }
36
+ }
@@ -1,38 +1,38 @@
1
-
2
- /** *
3
- @author
4
- Amnet Digital
5
- @date
6
- 2024-05-20
7
- @Model
8
- Role
9
- @usage
10
- Roles Information will store
11
- */
12
-
13
- import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
14
- import { BaseModel} from './BaseModel';
15
-
16
- @Entity({ name: 'user_sessions' })
17
- export class userSessions extends BaseModel {
18
- @Column({ nullable: true })
19
- last_active_at: Date;
20
-
21
- @Column({ nullable: true, default: true })
22
- is_active: boolean;
23
-
24
- @Column({ nullable: true })
25
- expires_at: Date;
26
-
27
- @Column({ nullable: true })
28
- user_id: number;
29
-
30
- constructor(last_active_at: Date, expires_at: Date, user_id: number, is_active: boolean) {
31
- super();
32
- this.last_active_at = last_active_at,
33
- this.expires_at = expires_at,
34
- this.user_id = user_id,
35
- this.is_active = is_active
36
- }
37
- }
1
+
2
+ /** *
3
+ @author
4
+ Amnet Digital
5
+ @date
6
+ 2024-05-20
7
+ @Model
8
+ Role
9
+ @usage
10
+ Roles Information will store
11
+ */
12
+
13
+ import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
14
+ import { BaseModel} from './BaseModel';
15
+
16
+ @Entity({ name: 'user_sessions' })
17
+ export class userSessions extends BaseModel {
18
+ @Column({ nullable: true })
19
+ last_active_at: Date;
20
+
21
+ @Column({ nullable: true, default: true })
22
+ is_active: boolean;
23
+
24
+ @Column({ nullable: true })
25
+ expires_at: Date;
26
+
27
+ @Column({ nullable: true })
28
+ user_id: number;
29
+
30
+ constructor(last_active_at: Date, expires_at: Date, user_id: number, is_active: boolean) {
31
+ super();
32
+ this.last_active_at = last_active_at,
33
+ this.expires_at = expires_at,
34
+ this.user_id = user_id,
35
+ this.is_active = is_active
36
+ }
37
+ }
38
38