vr-migrations 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.
Files changed (40) hide show
  1. package/README.md +1 -0
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.js +60 -0
  4. package/dist/create-migration.d.ts +1 -0
  5. package/dist/create-migration.js +26 -0
  6. package/dist/create-seeder.d.ts +1 -0
  7. package/dist/create-seeder.js +26 -0
  8. package/dist/db.d.ts +12 -0
  9. package/dist/db.js +54 -0
  10. package/dist/index.d.ts +8 -0
  11. package/dist/index.js +29 -0
  12. package/dist/migrate.d.ts +1 -0
  13. package/dist/migrate.js +36 -0
  14. package/dist/migrations/001-create-security-clearances.js +62 -0
  15. package/dist/migrations/002-create-users.js +141 -0
  16. package/dist/migrations/003-create-products.js +52 -0
  17. package/dist/migrations/004-create-pricing.js +82 -0
  18. package/dist/migrations/005-create-devices.js +63 -0
  19. package/dist/migrations/006-create-device-payment-plans.js +115 -0
  20. package/dist/migrations/007-create-idempotency-records.js +61 -0
  21. package/dist/migrations/008-create-payments.js +106 -0
  22. package/dist/migrations/009-create-transactions.js +80 -0
  23. package/dist/migrations/010-create-eventLogs.js +117 -0
  24. package/dist/migrations/index.d.ts +0 -0
  25. package/dist/migrations/index.js +1 -0
  26. package/dist/migrations/index.ts +1 -0
  27. package/dist/reset.d.ts +1 -0
  28. package/dist/reset.js +9 -0
  29. package/dist/rollback.d.ts +1 -0
  30. package/dist/rollback.js +40 -0
  31. package/dist/seed.d.ts +1 -0
  32. package/dist/seed.js +38 -0
  33. package/dist/seeders/001-security-clearance-demo.js +116 -0
  34. package/dist/seeders/002-users-demo.js +94 -0
  35. package/dist/seeders/index.d.ts +0 -0
  36. package/dist/seeders/index.js +1 -0
  37. package/dist/seeders/index.ts +1 -0
  38. package/dist/types.d.ts +5 -0
  39. package/dist/types.js +2 -0
  40. package/package.json +56 -0
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ const bcrypt = require("bcryptjs");
3
+
4
+ module.exports = {
5
+ async up(queryInterface) {
6
+ const now = new Date();
7
+ const passwordHash = await bcrypt.hash("pass@123", 10);
8
+
9
+ await queryInterface.bulkInsert("users", [
10
+ {
11
+ id: "aaaaaaa1-aaaa-aaaa-aaaa-aaaaaaaaaaa1",
12
+ firstName: "Jean",
13
+ lastName: "Rider",
14
+ phoneNumber: "0788000000",
15
+ nationalId: "1199900000000000",
16
+ jacketId: "JACKET-R-001",
17
+ plateNumber: "RAD101A",
18
+ securityClearanceId: "11111111-1111-1111-1111-111111111111", // RIDER
19
+ isActive: true,
20
+ isSuspended: false,
21
+ lastLoginAt: null,
22
+ createdAt: now
23
+ },
24
+ {
25
+ id: "aaaaaaa1-aaaa-aaaa-aaaa-aaaaaaaaaaa2",
26
+ firstName: "Jane",
27
+ lastName: "Passenger",
28
+ phoneNumber: "0788000001",
29
+ email: "jane@passenger.com",
30
+ password: passwordHash,
31
+ securityClearanceId: "22222222-2222-2222-2222-222222222222", // RIDER
32
+ isActive: true,
33
+ isSuspended: false,
34
+ lastLoginAt: null,
35
+ createdAt: now
36
+ },
37
+ {
38
+ id: "aaaaaaa2-aaaa-aaaa-aaaa-aaaaaaaaaaa3",
39
+ firstName: "Alice",
40
+ lastName: "Agent",
41
+ phoneNumber: "0788000002",
42
+ nationalId: "1199900000000002",
43
+ email: "alice@agent.com",
44
+ password: passwordHash,
45
+ securityClearanceId: "33333333-3333-3333-3333-333333333333", // AGENT
46
+ isActive: true,
47
+ isSuspended: false,
48
+ lastLoginAt: null,
49
+ createdAt: now
50
+ },
51
+ {
52
+ id: "aaaaaaa3-aaaa-aaaa-aaaa-aaaaaaaaaaa4",
53
+ firstName: "Eric",
54
+ lastName: "Admin",
55
+ phoneNumber: "0788000003",
56
+ nationalId: "1199900000000003",
57
+ email: "eric@admin.com",
58
+ password: passwordHash,
59
+ securityClearanceId: "44444444-4444-4444-4444-444444444444", // ADMIN
60
+ isActive: true,
61
+ isSuspended: false,
62
+ lastLoginAt: null,
63
+ createdAt: now
64
+ },
65
+ {
66
+ id: "aaaaaaa4-aaaa-aaaa-aaaa-aaaaaaaaaaa5",
67
+ firstName: "Super",
68
+ lastName: "Admin",
69
+ phoneNumber: "0788123456",
70
+ email: "super@admin.com",
71
+ password: passwordHash,
72
+ nationalId:
73
+ "$2b$10$eIYz6LR9aVHgeXRDHtOvQ.3NtErrG946q9U1XkRBDa9d6VJG5Scim",
74
+ plateNumber: null,
75
+ securityClearanceId: "55555555-5555-5555-5555-555555555555", // SUPER_ADMIN
76
+ isActive: true,
77
+ isSuspended: false,
78
+ lastLoginAt: null,
79
+ createdAt: now
80
+ }
81
+ ]);
82
+ },
83
+
84
+ async down(queryInterface) {
85
+ await queryInterface.bulkDelete("users", {
86
+ id: [
87
+ "aaaaaaa1-aaaa-aaaa-aaaa-aaaaaaaaaaa1",
88
+ "aaaaaaa2-aaaa-aaaa-aaaa-aaaaaaaaaaa2",
89
+ "aaaaaaa3-aaaa-aaaa-aaaa-aaaaaaaaaaa3",
90
+ "aaaaaaa4-aaaa-aaaa-aaaa-aaaaaaaaaaa4"
91
+ ]
92
+ });
93
+ }
94
+ };
File without changes
@@ -0,0 +1 @@
1
+ export * from "../seeders/index.js";
@@ -0,0 +1 @@
1
+ // This file exists to enable proper exports
@@ -0,0 +1,5 @@
1
+ export interface MigrationResult {
2
+ executed: string[];
3
+ failed: string[];
4
+ duration: number;
5
+ }
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "vr-migrations",
3
+ "version": "1.0.2",
4
+ "description": "Database migration and seeding package for VR applications",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "bin": {
8
+ "vr-migrate": "dist/cli.js"
9
+ },
10
+ "exports": {
11
+ ".": "./dist/index.js",
12
+ "./db": "./dist/db.js",
13
+ "./migrate": "./dist/migrate.js",
14
+ "./rollback": "./dist/rollback.js",
15
+ "./seed": "./dist/seed.js",
16
+ "./package.json": "./package.json"
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "type": "commonjs",
22
+ "scripts": {
23
+ "clean": "rimraf dist",
24
+ "build": "rimraf dist && tsc && cp -r src/migrations dist/ && cp -r src/seeders dist/",
25
+ "test": "jest",
26
+ "version": "npm run build && git add -A dist",
27
+ "pub": "git add . && git commit -m \"Version update\" && npm version patch && npm publish && git push && git push --tags",
28
+ "prepublishOnly": "npm run build",
29
+ "postpublish": "git push && git push --tags"
30
+ },
31
+ "dependencies": {
32
+ "commander": "^12.0.0",
33
+ "dotenv": "^16.4.1",
34
+ "rimraf": "^6.0.1",
35
+ "sequelize": "^6.37.1",
36
+ "umzug": "^3.3.0",
37
+ "uuid": "^9.0.1"
38
+ },
39
+ "devDependencies": {
40
+ "@types/node": "^20.11.19",
41
+ "@types/jest": "^29.5.12",
42
+ "jest": "^29.7.0",
43
+ "ts-jest": "^29.1.2",
44
+ "typescript": "^5.3.3"
45
+ },
46
+ "keywords": [
47
+ "migrations",
48
+ "database",
49
+ "sequelize",
50
+ "vr",
51
+ "seeding",
52
+ "postgres",
53
+ "mysql",
54
+ "sqlite"
55
+ ]
56
+ }