finamaze_schema 1.38.0 → 1.40.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "finamaze_schema",
3
- "version": "1.38.0",
3
+ "version": "1.40.0",
4
4
  "description": "A package to connect two APIs with a single SQL database using TypeORM",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,3 +0,0 @@
1
- import "reflect-metadata";
2
- import { DataSource } from "typeorm";
3
- export declare const AppDataSource: DataSource;
@@ -1,13 +0,0 @@
1
- import { User } from './user.entity';
2
- export declare class Documents {
3
- id: number;
4
- reference_id: string;
5
- type: string;
6
- context: string;
7
- status: string;
8
- hash: string;
9
- metadata: string;
10
- created_at: Date;
11
- updated_at: Date;
12
- user: User;
13
- }
@@ -1,6 +0,0 @@
1
- import { User } from './user.entity';
2
- export declare class Email {
3
- id: number;
4
- address: string;
5
- user: User;
6
- }
@@ -1,13 +0,0 @@
1
- import { User } from './user.entity';
2
- export declare class GoalPlan {
3
- id: number;
4
- objective: string;
5
- currency: 'USD' | 'SAR';
6
- initial_amount: number;
7
- target_amount: number;
8
- contribution_amount: number;
9
- contribution_frequency: string;
10
- start_date: string;
11
- investment_duration: number;
12
- user: User;
13
- }
@@ -1,17 +0,0 @@
1
- export declare class Manager {
2
- id: number;
3
- username: string;
4
- email: string;
5
- password: string;
6
- first_name: string;
7
- last_name: string;
8
- phone_number: string;
9
- mobile_number: string;
10
- department: string;
11
- sub_department: string;
12
- title: string;
13
- role: string;
14
- is_deleted: boolean;
15
- created_at: Date;
16
- updated_at: Date;
17
- }
@@ -1,6 +0,0 @@
1
- import { User } from './user.entity';
2
- export declare class PhoneNumber {
3
- id: number;
4
- number: string;
5
- user: User;
6
- }
@@ -1,28 +0,0 @@
1
- import { PhoneNumber } from "./phone-number.entity";
2
- import { Email } from "./email.entity";
3
- import { GoalPlan } from "./goalPlan.entity";
4
- import { Documents } from "./documents.entity";
5
- export declare class User {
6
- id: number;
7
- username: string;
8
- email: string;
9
- emails: Email[];
10
- password: string;
11
- phone_number: string;
12
- phone_numbers: PhoneNumber[];
13
- iqama_number: string;
14
- is_profile_complete: boolean;
15
- registration_step: string;
16
- smartcore_reference_id: number;
17
- tcs_reference_id: string;
18
- name: string;
19
- type: string;
20
- status: string;
21
- risk_profile: string;
22
- is_username_set: boolean;
23
- external_status: string;
24
- created_at: Date;
25
- updated_at: Date;
26
- goal_plans: GoalPlan[];
27
- documents: Documents[];
28
- }
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export * from './entity/user.entity';
2
- export * from './entity/manager.entity';
3
- export * from './entity/phone-number.entity';
4
- export * from './entity/email.entity';
5
- export * from './entity/goalPlan.entity';
6
- export * from './entity/documents.entity';
@@ -1,6 +0,0 @@
1
- import { MigrationInterface, QueryRunner } from "typeorm";
2
- export declare class Version11740671890101 implements MigrationInterface {
3
- name: string;
4
- up(queryRunner: QueryRunner): Promise<void>;
5
- down(queryRunner: QueryRunner): Promise<void>;
6
- }
@@ -1,6 +0,0 @@
1
- import { MigrationInterface, QueryRunner } from "typeorm";
2
- export declare class Version21740739347863 implements MigrationInterface {
3
- name: string;
4
- up(queryRunner: QueryRunner): Promise<void>;
5
- down(queryRunner: QueryRunner): Promise<void>;
6
- }
@@ -1,36 +0,0 @@
1
- import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, Unique, ManyToOne } from 'typeorm';
2
- import { User } from './user.entity';
3
-
4
- @Entity()
5
- @Unique(['hash'])
6
- export class Documents {
7
- @PrimaryGeneratedColumn()
8
- id: number;
9
-
10
- @Column({ nullable: true })
11
- reference_id: string;
12
-
13
- @Column() // document type term / fact sheet
14
- type: string;
15
-
16
- @Column() // document context goal / mutual fund
17
- context: string;
18
-
19
- @Column()
20
- status: string;
21
-
22
- @Column()
23
- hash: string;
24
-
25
- @Column()
26
- metadata: string;
27
-
28
- @CreateDateColumn()
29
- created_at: Date;
30
-
31
- @UpdateDateColumn()
32
- updated_at: Date;
33
-
34
- @ManyToOne(() => User, (user) => user.documents, { nullable: false })
35
- user: User;
36
- }
@@ -1,14 +0,0 @@
1
- import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from 'typeorm';
2
- import { User } from './user.entity';
3
-
4
- @Entity()
5
- export class Email {
6
- @PrimaryGeneratedColumn()
7
- id: number;
8
-
9
- @Column( { nullable: false })
10
- address: string;
11
-
12
- @ManyToOne(() => User, (user) => user.emails, { nullable: false })
13
- user: User;
14
- }
@@ -1,38 +0,0 @@
1
- import { Entity, PrimaryGeneratedColumn, Column,ManyToOne } from 'typeorm';
2
- import { User } from './user.entity';
3
-
4
- @Entity()
5
- export class GoalPlan {
6
- @PrimaryGeneratedColumn()
7
- id: number;
8
-
9
- @Column()
10
- objective: string;
11
-
12
- @Column({
13
- type: 'varchar',
14
- length: 3,
15
- })
16
- currency: 'USD' | 'SAR';
17
-
18
- @Column({nullable: true})
19
- initial_amount: number;
20
-
21
- @Column({nullable: true})
22
- target_amount: number;
23
-
24
- @Column({nullable: true})
25
- contribution_amount: number;
26
-
27
- @Column()
28
- contribution_frequency: string;
29
-
30
- @Column()
31
- start_date: string;
32
-
33
- @Column({nullable: true})
34
- investment_duration: number;
35
-
36
- @ManyToOne(() => User, (user) => user.goal_plans, { nullable: false })
37
- user: User;
38
- }
@@ -1,51 +0,0 @@
1
- import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, Unique } from 'typeorm';
2
-
3
- @Entity()
4
- @Unique(['email'])
5
- export class Manager {
6
- @PrimaryGeneratedColumn()
7
- id: number;
8
-
9
- @Column({ nullable: true })
10
- username: string;
11
-
12
- @Column()
13
- email: string;
14
-
15
- @Column()
16
- password: string;
17
-
18
- @Column({ nullable: true })
19
- first_name: string;
20
-
21
- @Column({ nullable: true })
22
- last_name: string;
23
-
24
- @Column({ nullable: true })
25
- phone_number: string;
26
-
27
- @Column({ nullable: true })
28
- mobile_number: string;
29
-
30
-
31
- @Column({ nullable: true })
32
- department: string;
33
-
34
- @Column({ nullable: true })
35
- sub_department: string;
36
-
37
- @Column({ nullable: true })
38
- title: string;
39
-
40
- @Column()
41
- role: string;
42
-
43
- @Column({ nullable: true })
44
- is_deleted: boolean;
45
-
46
- @CreateDateColumn()
47
- created_at: Date;
48
-
49
- @CreateDateColumn()
50
- updated_at: Date;
51
- }
@@ -1,14 +0,0 @@
1
- import { User } from './user.entity';
2
- import { Column, Entity, ManyToOne, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
3
-
4
- @Entity()
5
- export class PhoneNumber {
6
- @PrimaryGeneratedColumn()
7
- id: number;
8
-
9
- @Column({ nullable: false })
10
- number: string;
11
-
12
- @ManyToOne(() => User, (user) => user.phone_numbers,{ nullable: false })
13
- user: User;
14
- }
@@ -1,88 +0,0 @@
1
- import {
2
- Entity,
3
- Column,
4
- PrimaryGeneratedColumn,
5
- CreateDateColumn,
6
- UpdateDateColumn,
7
- Unique,
8
- OneToMany,
9
- Index,
10
- } from "typeorm";
11
- import { PhoneNumber } from "./phone-number.entity";
12
- import { Email } from "./email.entity";
13
- import { GoalPlan } from "./goalPlan.entity";
14
- import { Documents } from "./documents.entity";
15
-
16
- @Entity()
17
- @Unique(["username"])
18
- export class User {
19
- @PrimaryGeneratedColumn()
20
- id: number;
21
-
22
- @Column({ nullable: false })
23
- username: string;
24
-
25
- @Column({ nullable: true })
26
- email: string;
27
-
28
- @OneToMany(() => Email, (email) => email.user, { cascade: true })
29
- emails: Email[];
30
-
31
- @Column({ nullable: true })
32
- password: string;
33
-
34
- @Column({ nullable: true })
35
- phone_number: string;
36
-
37
- @OneToMany(() => PhoneNumber, (phoneNumber) => phoneNumber.user, {
38
- cascade: true,
39
- })
40
- phone_numbers: PhoneNumber[];
41
-
42
- @Column({ nullable: true })
43
- iqama_number: string;
44
-
45
- @Column({ nullable: true })
46
- is_profile_complete: boolean;
47
-
48
- @Column({ nullable: true })
49
- registration_step: string;
50
-
51
- @Column({ nullable: true })
52
- smartcore_reference_id: number;
53
-
54
- @Column({ nullable: true })
55
- tcs_reference_id: string;
56
-
57
- @Column({ nullable: true })
58
- name: string;
59
-
60
- @Column({ nullable: true })
61
- type: string;
62
-
63
- @Column({ nullable: true })
64
- status: string;
65
-
66
- @Column({ nullable: true })
67
- risk_profile: string;
68
-
69
- @Column({ default: false })
70
- is_username_set: boolean;
71
-
72
- @Column({ nullable: true })
73
- external_status: string;
74
-
75
- // Automatically set on entity creation
76
- @CreateDateColumn()
77
- created_at: Date;
78
-
79
- // Automatically updated when entity is updated
80
- @UpdateDateColumn()
81
- updated_at: Date;
82
-
83
- @OneToMany(() => GoalPlan, (goalPlan) => goalPlan.user, { cascade: true })
84
- goal_plans: GoalPlan[];
85
-
86
- @OneToMany(() => Documents, (document) => document.user, { cascade: true })
87
- documents: Documents[];
88
- }
package/src/index.ts DELETED
@@ -1,14 +0,0 @@
1
- /**
2
- * @module Entities
3
- *
4
- * This package provides the following entities:
5
- * - User
6
- * - Manager
7
- */
8
-
9
- export * from './entity/user.entity';
10
- export * from './entity/manager.entity';
11
- export * from './entity/phone-number.entity';
12
- export * from './entity/email.entity';
13
- export * from './entity/goalPlan.entity';
14
- export * from './entity/documents.entity';
@@ -1,71 +0,0 @@
1
- import { MigrationInterface, QueryRunner } from "typeorm";
2
-
3
- export class Version11740671890101 implements MigrationInterface {
4
- name = "Version11740671890101";
5
-
6
- public async up(queryRunner: QueryRunner): Promise<void> {
7
- const phone_number = await queryRunner.hasTable("phone_number");
8
- if (!phone_number) {
9
- await queryRunner.query(
10
- `CREATE TABLE "phone_number" ("id" number GENERATED BY DEFAULT AS IDENTITY, "number" varchar2(255) NOT NULL, "userId" number NOT NULL, CONSTRAINT "PK_c16f58426537a660b3f2a26e983" PRIMARY KEY ("id"))`
11
- );
12
- }
13
-
14
- const email = await queryRunner.hasTable("email");
15
- if (!email) {
16
- await queryRunner.query(
17
- `CREATE TABLE "email" ("id" number GENERATED BY DEFAULT AS IDENTITY, "address" varchar2(255) NOT NULL, "userId" number NOT NULL, CONSTRAINT "PK_1e7ed8734ee054ef18002e29b1c" PRIMARY KEY ("id"))`
18
- );
19
- }
20
-
21
- const goal_plan = await queryRunner.hasTable("goal_plan");
22
- if (!goal_plan) {
23
- await queryRunner.query(
24
- `CREATE TABLE "goal_plan" ("id" number GENERATED BY DEFAULT AS IDENTITY, "objective" varchar2(255) NOT NULL, "currency" varchar2(3) NOT NULL, "initial_amount" number, "target_amount" number, "contribution_amount" number, "contribution_frequency" varchar2(255) NOT NULL, "start_date" varchar2(255) NOT NULL, "investment_duration" number, "userId" number NOT NULL, CONSTRAINT "PK_02a5c53bc719b6694de4bbbe530" PRIMARY KEY ("id"))`
25
- );
26
- }
27
-
28
- const user = await queryRunner.hasTable("user");
29
- if (!user) {
30
- await queryRunner.query(
31
- `CREATE TABLE "user" ("id" number GENERATED BY DEFAULT AS IDENTITY, "username" varchar2(255) NOT NULL, "email" varchar2(255), "password" varchar2(255), "phone_number" varchar2(255), "iqama_number" varchar2(255), "is_profile_complete" number, "registration_step" varchar2(255), "smartcore_reference_id" number, "tcs_reference_id" varchar2(255), "name" varchar2(255), "type" varchar2(255), "status" varchar2(255), "risk_profile" varchar2(255), "is_username_set" number DEFAULT 0 NOT NULL, "external_status" varchar2(255), "created_at" timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL, "updated_at" timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL, CONSTRAINT "UQ_78a916df40e02a9deb1c4b75edb" UNIQUE ("username"), CONSTRAINT "PK_cace4a159ff9f2512dd42373760" PRIMARY KEY ("id"))`
32
- );
33
- }
34
-
35
- const manager = await queryRunner.hasTable("manager");
36
- if (!manager) {
37
- await queryRunner.query(
38
- `CREATE TABLE "manager" ("id" number GENERATED BY DEFAULT AS IDENTITY, "username" varchar2(255), "email" varchar2(255) NOT NULL, "password" varchar2(255) NOT NULL, "first_name" varchar2(255), "last_name" varchar2(255), "phone_number" varchar2(255), "mobile_number" varchar2(255), "department" varchar2(255), "sub_department" varchar2(255), "title" varchar2(255), "role" varchar2(255) NOT NULL, "is_deleted" number, "created_at" timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL, "updated_at" timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL, CONSTRAINT "UQ_ee8fba4edb704ce2465753a2edd" UNIQUE ("email"), CONSTRAINT "PK_b3ac840005ee4ed76a7f1c51d01" PRIMARY KEY ("id"))`
39
- );
40
- }
41
- if (user && manager && phone_number && email && goal_plan) {
42
- return;
43
- }
44
- await queryRunner.query(
45
- `ALTER TABLE "phone_number" ADD CONSTRAINT "FK_10163df90f85bca68c3e67d090a" FOREIGN KEY ("userId") REFERENCES "user" ("id")`
46
- );
47
- await queryRunner.query(
48
- `ALTER TABLE "email" ADD CONSTRAINT "FK_13e97b4a1d6074fd75ea1bb844e" FOREIGN KEY ("userId") REFERENCES "user" ("id")`
49
- );
50
- await queryRunner.query(
51
- `ALTER TABLE "goal_plan" ADD CONSTRAINT "FK_5d42c50d3e7132a7839cdfdff37" FOREIGN KEY ("userId") REFERENCES "user" ("id")`
52
- );
53
- }
54
-
55
- public async down(queryRunner: QueryRunner): Promise<void> {
56
- await queryRunner.query(
57
- `ALTER TABLE "goal_plan" DROP CONSTRAINT "FK_5d42c50d3e7132a7839cdfdff37"`
58
- );
59
- await queryRunner.query(
60
- `ALTER TABLE "email" DROP CONSTRAINT "FK_13e97b4a1d6074fd75ea1bb844e"`
61
- );
62
- await queryRunner.query(
63
- `ALTER TABLE "phone_number" DROP CONSTRAINT "FK_10163df90f85bca68c3e67d090a"`
64
- );
65
- await queryRunner.query(`DROP TABLE "manager"`);
66
- await queryRunner.query(`DROP TABLE "user"`);
67
- await queryRunner.query(`DROP TABLE "goal_plan"`);
68
- await queryRunner.query(`DROP TABLE "email"`);
69
- await queryRunner.query(`DROP TABLE "phone_number"`);
70
- }
71
- }
@@ -1,16 +0,0 @@
1
- import { MigrationInterface, QueryRunner } from "typeorm";
2
-
3
- export class Version21740739347863 implements MigrationInterface {
4
- name = 'Version21740739347863'
5
-
6
- public async up(queryRunner: QueryRunner): Promise<void> {
7
- await queryRunner.query(`CREATE TABLE "documents" ("id" number GENERATED BY DEFAULT AS IDENTITY, "reference_id" varchar2(255), "type" varchar2(255) NOT NULL, "context" varchar2(255) NOT NULL, "status" varchar2(255) NOT NULL, "hash" varchar2(255) NOT NULL, "metadata" varchar2(255) NOT NULL, "created_at" timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL, "updated_at" timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL, "userId" number NOT NULL, CONSTRAINT "UQ_bdd4779a41b5eae833901d1d542" UNIQUE ("hash"), CONSTRAINT "PK_ac51aa5181ee2036f5ca482857c" PRIMARY KEY ("id"))`);
8
- await queryRunner.query(`ALTER TABLE "documents" ADD CONSTRAINT "FK_e300b5c2e3fefa9d6f8a3f25975" FOREIGN KEY ("userId") REFERENCES "user" ("id")`);
9
- }
10
-
11
- public async down(queryRunner: QueryRunner): Promise<void> {
12
- await queryRunner.query(`ALTER TABLE "documents" DROP CONSTRAINT "FK_e300b5c2e3fefa9d6f8a3f25975"`);
13
- await queryRunner.query(`DROP TABLE "documents"`);
14
- }
15
-
16
- }
package/tsconfig.json DELETED
@@ -1,18 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "declaration": true,
5
- "removeComments": true,
6
- "emitDecoratorMetadata": true,
7
- "experimentalDecorators": true,
8
- "target": "ES2017",
9
- "sourceMap": true,
10
- "outDir": "./dist",
11
- "baseUrl": "./src",
12
- "incremental": true,
13
- "skipLibCheck": true
14
- },
15
- "include": ["src/**/*", "src/entity/documents.entity.ts"],
16
- "exclude": ["node_modules", "dist"]
17
- }
18
-