lms-sync 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,24 @@
1
+ const { Sequelize } = require('sequelize');
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+
5
+ async function getSequelConnection() {
6
+ try {
7
+
8
+ const config = JSON.parse(fs.readFileSync(path.join(process.cwd(), 'target.json')))
9
+
10
+ const sequelize = new Sequelize(config);
11
+
12
+ await sequelize.authenticate();
13
+ return sequelize;
14
+
15
+
16
+ } catch (error) {
17
+ console.error('An Sequelize error occurred, please restart', error);
18
+ throw error;
19
+ }
20
+ }
21
+
22
+ // module.exports = getSequelizeConnection;
23
+ // getSequelConnection();
24
+ module.exports = { getSequelConnection };
package/app.js ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+ const express = require('express')
3
+ const app = express()
4
+
5
+ const sequelizeStart = require('./apiConnections/sequelizeConnection');
6
+ const apiConnects = require('./apiConnections/apiConnects')
7
+ const mappings = require('./apiConnections/mapping')
8
+
9
+
10
+ async function start(){
11
+ try {
12
+
13
+ // return
14
+ const startSequel = await sequelizeStart.getSequelConnection();
15
+ if (startSequel) {
16
+ console.log('Connected to Sequelize.');
17
+ console.log(`Sequelize host:`, startSequel.config.host);
18
+ } else {
19
+ console.error('Failed to establish database connections. Migrations not started.');
20
+ }
21
+
22
+ await mappings.executeAll()
23
+ } catch (error) {
24
+ console.error('error :>> ', error);
25
+ }
26
+ }
27
+ start()
File without changes
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+
4
+ module.exports = (sequelize, DataTypes,schema) => {
5
+
6
+ const AcademicDepartments = sequelize.define('AcademicDepartments',
7
+ {
8
+ name: {
9
+ type: DataTypes.STRING,
10
+ unique: false,
11
+ allowNull: true,
12
+ autoIncrement: false,
13
+ primaryKey: false,
14
+ defaultValue: true,
15
+ },
16
+ code: {
17
+ type: DataTypes.STRING,
18
+ unique: false,
19
+ allowNull: true,
20
+ autoIncrement: false,
21
+ primaryKey: false,
22
+ defaultValue: true,
23
+ },
24
+ collegeId: {
25
+ type: DataTypes.INTEGER,
26
+ unique: false,
27
+ allowNull: true,
28
+ autoIncrement: false,
29
+ primaryKey: false,
30
+ },
31
+ chairPersonId: {
32
+ type: DataTypes.INTEGER,
33
+ unique: false,
34
+ allowNull: true,
35
+ autoIncrement: false,
36
+ primaryKey: false,
37
+ },
38
+ campusId: {
39
+ type: DataTypes.INTEGER,
40
+ unique: false,
41
+ allowNull: true,
42
+ autoIncrement: false,
43
+ primaryKey: false,
44
+ },
45
+
46
+ createdAt: {
47
+ type: DataTypes.DATE,
48
+ allowNull: true,
49
+ },
50
+ updatedAt: {
51
+ type: DataTypes.DATE,
52
+ allowNull: true,
53
+ },
54
+
55
+
56
+ isActive: {
57
+ type: DataTypes.BOOLEAN,
58
+ unique: false,
59
+ allowNull: true,
60
+ autoIncrement: false,
61
+ primaryKey: false,
62
+ defaultValue: true,
63
+ },
64
+ _id: {
65
+ type: DataTypes.INTEGER,
66
+ unique: true,
67
+ allowNull: false,
68
+ autoIncrement: true,
69
+ primaryKey: true,
70
+ },
71
+ createdById: {
72
+ type: DataTypes.INTEGER,
73
+ unique: false,
74
+ allowNull: true,
75
+ autoIncrement: false,
76
+ primaryKey: false,
77
+ },
78
+ modifiedById: {
79
+ type: DataTypes.INTEGER,
80
+ unique: false,
81
+ allowNull: true,
82
+ autoIncrement: false,
83
+ primaryKey: false,
84
+ },
85
+ },
86
+ {
87
+ sequelize,
88
+ schema: schema,
89
+ modelName: "AcademicDepartments",
90
+ }
91
+ );
92
+
93
+
94
+ return AcademicDepartments;
95
+ };
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ module.exports = (sequelize, DataTypes,schema) => {
4
+
5
+ const AcademicYears = sequelize.define('AcademicYears',
6
+ {
7
+ _id: {
8
+ type: DataTypes.INTEGER,
9
+ unique: true,
10
+ allowNull: false,
11
+ autoIncrement: true,
12
+ primaryKey: true,
13
+ },
14
+ from: {
15
+ type: DataTypes.INTEGER,
16
+ unique: false,
17
+ allowNull: true,
18
+ autoIncrement: false,
19
+ primaryKey: false,
20
+ },
21
+ to: {
22
+ type: DataTypes.INTEGER,
23
+ unique: false,
24
+ allowNull: true,
25
+ autoIncrement: false,
26
+ primaryKey: false,
27
+ },
28
+ status: {
29
+ type: DataTypes.BOOLEAN,
30
+ unique: false,
31
+ allowNull: true,
32
+ autoIncrement: false,
33
+ primaryKey: false,
34
+ defaultValue: true,
35
+ },
36
+ createdById: {
37
+ type: DataTypes.INTEGER,
38
+ unique: false,
39
+ allowNull: true,
40
+ autoIncrement: false,
41
+ primaryKey: false,
42
+ },
43
+ modifiedById: {
44
+ type: DataTypes.INTEGER,
45
+ unique: false,
46
+ allowNull: true,
47
+ autoIncrement: false,
48
+ primaryKey: false,
49
+ },
50
+ default: {
51
+ type: DataTypes.BOOLEAN,
52
+ unique: false,
53
+ allowNull: true,
54
+ autoIncrement: false,
55
+ primaryKey: false,
56
+ defaultValue: false,
57
+ },
58
+ createdAt: {
59
+ type: DataTypes.DATE,
60
+ allowNull: true,
61
+ },
62
+ updatedAt: {
63
+ type: DataTypes.DATE,
64
+ allowNull: true,
65
+ },
66
+ },
67
+ {
68
+ sequelize,
69
+ schema: schema,
70
+ modelName: "AcademicYears",
71
+ }
72
+ );
73
+
74
+ // AcademicYears.beforeCreate(async (acad, options) => {
75
+ // acad.createdAt = new Date();
76
+ // });
77
+
78
+ // AcademicYears.beforeSave(async (acad, options) => {
79
+ // acad.updatedAt = new Date()
80
+ // })
81
+
82
+ return AcademicYears;
83
+ };
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ module.exports = (sequelize, DataTypes,schema) => {
3
+
4
+ const Campuses = sequelize.define('Campuses',{
5
+
6
+ _id: {
7
+ type: DataTypes.INTEGER,
8
+ unique: true,
9
+ allowNull: false,
10
+ autoIncrement: true,
11
+ primaryKey: true,
12
+ },
13
+ name: {
14
+ type: DataTypes.STRING,
15
+ unique: false,
16
+ allowNull: true,
17
+ autoIncrement: false,
18
+ primaryKey: false,
19
+ },
20
+ address: {
21
+ type: DataTypes.STRING,
22
+ unique: false,
23
+ allowNull: true,
24
+ autoIncrement: false,
25
+ primaryKey: false,
26
+ },
27
+ email: {
28
+ type: DataTypes.STRING,
29
+ unique: false,
30
+ allowNull: true,
31
+ autoIncrement: false,
32
+ primaryKey: false,
33
+ },
34
+ contactNo: {
35
+ type: DataTypes.STRING,
36
+ unique: false,
37
+ allowNull: true,
38
+ autoIncrement: false,
39
+ primaryKey: false,
40
+ },
41
+ code: {
42
+ type: DataTypes.STRING,
43
+ unique: false,
44
+ allowNull: true,
45
+ autoIncrement: false,
46
+ primaryKey: false,
47
+ },
48
+ lat: {
49
+ type: DataTypes.DOUBLE,
50
+ unique: false,
51
+ allowNull: true,
52
+ autoIncrement: false,
53
+ primaryKey: false,
54
+ },
55
+ long: {
56
+ type: DataTypes.DOUBLE,
57
+ unique: false,
58
+ allowNull: true,
59
+ autoIncrement: false,
60
+ primaryKey: false,
61
+ },
62
+ meterDistance: { //allowed meter distance from origin
63
+ type: DataTypes.DOUBLE,
64
+ unique: false,
65
+ allowNull: true,
66
+ autoIncrement: false,
67
+ primaryKey: false,
68
+ },
69
+ isMain: {
70
+ type: DataTypes.BOOLEAN,
71
+ unique: false,
72
+ allowNull: true,
73
+ autoIncrement: false,
74
+ primaryKey: false,
75
+ defaultValue: false,
76
+ },
77
+ isGeoActive: {
78
+ type: DataTypes.BOOLEAN,
79
+ unique: false,
80
+ allowNull: true,
81
+ autoIncrement: false,
82
+ primaryKey: false,
83
+ defaultValue: false,
84
+ },
85
+ isActive: {
86
+ type: DataTypes.BOOLEAN,
87
+ unique: false,
88
+ allowNull: true,
89
+ autoIncrement: false,
90
+ primaryKey: false,
91
+ defaultValue: true,
92
+ },
93
+
94
+ createdById: {
95
+ type: DataTypes.INTEGER,
96
+ unique: false,
97
+ allowNull: true,
98
+ autoIncrement: false,
99
+ primaryKey: false,
100
+ },
101
+ modifiedById: {
102
+ type: DataTypes.INTEGER,
103
+ unique: false,
104
+ allowNull: true,
105
+ autoIncrement: false,
106
+ primaryKey: false,
107
+ },
108
+ createdAt: {
109
+ type: DataTypes.DATE,
110
+ allowNull: true,
111
+ },
112
+ updatedAt: {
113
+ type: DataTypes.DATE,
114
+ allowNull: true,
115
+ },
116
+ },
117
+ {
118
+ sequelize,
119
+ schema: schema,
120
+ modelName: "Campuses",
121
+ }
122
+ );
123
+
124
+ return Campuses;
125
+ };
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ module.exports = (sequelize, DataTypes,schema) => {
4
+
5
+ const Colleges = sequelize.define('Colleges',{
6
+
7
+ _id: {
8
+ type: DataTypes.INTEGER,
9
+ unique: true,
10
+ allowNull: false,
11
+ autoIncrement: true,
12
+ primaryKey: true,
13
+ },
14
+ code:{
15
+ type: DataTypes.STRING,
16
+ unique: false,
17
+ allowNull: true,
18
+ autoIncrement: false,
19
+ primaryKey: false,
20
+ defaultValue: true,
21
+ },
22
+ name:{
23
+ type: DataTypes.STRING,
24
+ unique: false,
25
+ allowNull: true,
26
+ autoIncrement: false,
27
+ primaryKey: false,
28
+ defaultValue: true,
29
+ },
30
+ campusId:{
31
+ type: DataTypes.INTEGER,
32
+ unique: false,
33
+ allowNull: true,
34
+ autoIncrement: false,
35
+ primaryKey: false,
36
+ },
37
+ email:{
38
+ type: DataTypes.STRING,
39
+ unique: false,
40
+ allowNull: true,
41
+ autoIncrement: false,
42
+ primaryKey: false,
43
+ defaultValue: true,
44
+ },
45
+ contactNumber:{
46
+ type: DataTypes.STRING,
47
+ unique: false,
48
+ allowNull: true,
49
+ autoIncrement: false,
50
+ primaryKey: false,
51
+ defaultValue: true,
52
+ },
53
+ employeeId: {
54
+ type: DataTypes.INTEGER,
55
+ unique: false,
56
+ allowNull: true,
57
+ autoIncrement: false,
58
+ primaryKey: false,
59
+ },
60
+ deanId:{
61
+ type: DataTypes.INTEGER,
62
+ unique: false,
63
+ allowNull: true,
64
+ autoIncrement: false,
65
+ primaryKey: false,
66
+ },
67
+ isActive: {
68
+ type: DataTypes.BOOLEAN,
69
+ unique: false,
70
+ allowNull: true,
71
+ autoIncrement: false,
72
+ primaryKey: false,
73
+ defaultValue: true,
74
+ },
75
+ createdById: {
76
+ type: DataTypes.INTEGER,
77
+ unique: false,
78
+ allowNull: true,
79
+ autoIncrement: false,
80
+ primaryKey: false,
81
+ },
82
+ modifiedById: {
83
+ type: DataTypes.INTEGER,
84
+ unique: false,
85
+ allowNull: true,
86
+ autoIncrement: false,
87
+ primaryKey: false,
88
+ },
89
+ createdAt: {
90
+ type: DataTypes.DATE,
91
+ allowNull: true,
92
+ },
93
+ updatedAt: {
94
+ type: DataTypes.DATE,
95
+ allowNull: true,
96
+ },
97
+
98
+ },
99
+ {
100
+ sequelize,
101
+ schema: schema,
102
+ modelName: "Colleges",
103
+ }
104
+ );
105
+
106
+ // Colleges.beforeCreate(async (college, options) => {
107
+ // college.createdAt = new Date();
108
+ // college.active = true;
109
+ // });
110
+
111
+ // Colleges.beforeSave(async (college, options) => {
112
+ // college.updatedAt = new Date()
113
+ // })
114
+
115
+
116
+ return Colleges;
117
+ };
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ module.exports = (sequelize, DataTypes,schema) => {
4
+
5
+ const Courses = sequelize.define('Courses',{
6
+
7
+ _id: {
8
+ type: DataTypes.INTEGER,
9
+ unique: true,
10
+ allowNull: false,
11
+ autoIncrement: true,
12
+ primaryKey: true,
13
+ },
14
+ name:{
15
+ type: DataTypes.STRING,
16
+ unique: false,
17
+ allowNull: true,
18
+ autoIncrement: false,
19
+ primaryKey: false,
20
+ defaultValue: true,
21
+ },
22
+ departmentId: {
23
+ type: DataTypes.INTEGER,
24
+ unique: false,
25
+ allowNull: true,
26
+ autoIncrement: false,
27
+ primaryKey: false,
28
+ },
29
+ campusId: {
30
+ type: DataTypes.INTEGER,
31
+ unique: false,
32
+ allowNull: true,
33
+ autoIncrement: false,
34
+ primaryKey: false,
35
+ },
36
+ code:{
37
+ type: DataTypes.STRING,
38
+ unique: false,
39
+ allowNull: true,
40
+ autoIncrement: false,
41
+ primaryKey: false,
42
+ defaultValue: true,
43
+ },
44
+ major: {
45
+ type: DataTypes.STRING,
46
+ unique: false,
47
+ allowNull: true,
48
+ autoIncrement: false,
49
+ primaryKey: false,
50
+ },
51
+ programHeadId: {
52
+ type: DataTypes.INTEGER,
53
+ unique: false,
54
+ allowNull: true,
55
+ autoIncrement: false,
56
+ primaryKey: false,
57
+ },
58
+ isActive: {
59
+ type: DataTypes.BOOLEAN,
60
+ unique: false,
61
+ allowNull: true,
62
+ autoIncrement: false,
63
+ primaryKey: false,
64
+ defaultValue: true,
65
+ },
66
+
67
+ createdById: {
68
+ type: DataTypes.INTEGER,
69
+ unique: false,
70
+ allowNull: true,
71
+ autoIncrement: false,
72
+ primaryKey: false,
73
+ },
74
+ modifiedById: {
75
+ type: DataTypes.INTEGER,
76
+ unique: false,
77
+ allowNull: true,
78
+ autoIncrement: false,
79
+ primaryKey: false,
80
+ },
81
+ createdAt: {
82
+ type: DataTypes.DATE,
83
+ allowNull: true,
84
+ },
85
+ updatedAt: {
86
+ type: DataTypes.DATE,
87
+ allowNull: true,
88
+ },
89
+ },
90
+ {
91
+ sequelize,
92
+ schema: schema,
93
+ modelName: "Courses",
94
+ }
95
+ );
96
+
97
+
98
+ return Courses;
99
+ };
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ module.exports = (sequelize, DataTypes,schema) => {
4
+
5
+ const Departments = sequelize.define('Departments',{
6
+
7
+ _id: {
8
+ type: DataTypes.INTEGER,
9
+ unique: true,
10
+ allowNull: false,
11
+ autoIncrement: true,
12
+ primaryKey: true,
13
+ },
14
+ code:{
15
+ type: DataTypes.STRING,
16
+ unique: false,
17
+ allowNull: true,
18
+ autoIncrement: false,
19
+ primaryKey: false,
20
+ },
21
+ name:{
22
+ type: DataTypes.STRING,
23
+ unique: false,
24
+ allowNull: true,
25
+ autoIncrement: false,
26
+ primaryKey: false,
27
+ },
28
+ collegeId:{
29
+ type: DataTypes.INTEGER,
30
+ unique: false,
31
+ allowNull: true,
32
+ autoIncrement: false,
33
+ primaryKey: false,
34
+ },
35
+ chairPersonId:{
36
+ type: DataTypes.INTEGER,
37
+ unique: false,
38
+ allowNull: true,
39
+ autoIncrement: false,
40
+ primaryKey: false,
41
+ },
42
+ campusId:{
43
+ type: DataTypes.INTEGER,
44
+ unique: false,
45
+ allowNull: true,
46
+ autoIncrement: false,
47
+ primaryKey: false,
48
+ },
49
+ isActive: {
50
+ type: DataTypes.BOOLEAN,
51
+ unique: false,
52
+ allowNull: true,
53
+ autoIncrement: false,
54
+ primaryKey: false,
55
+ defaultValue: true,
56
+ },
57
+
58
+ createdById: {
59
+ type: DataTypes.INTEGER,
60
+ unique: false,
61
+ allowNull: true,
62
+ autoIncrement: false,
63
+ primaryKey: false,
64
+ },
65
+ modifiedById: {
66
+ type: DataTypes.INTEGER,
67
+ unique: false,
68
+ allowNull: true,
69
+ autoIncrement: false,
70
+ primaryKey: false,
71
+ },
72
+ createdAt: {
73
+ type: DataTypes.DATE,
74
+ allowNull: true,
75
+ },
76
+ updatedAt: {
77
+ type: DataTypes.DATE,
78
+ allowNull: true,
79
+ },
80
+ },
81
+ {
82
+ sequelize,
83
+ schema: schema,
84
+ modelName: "Departments",
85
+ }
86
+ );
87
+
88
+
89
+ return Departments;
90
+ };