@abtnode/models 1.16.45 → 1.16.46-beta-20250703-050038-4ba2582f

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 (156) hide show
  1. package/lib/migrate.d.ts +5 -1
  2. package/lib/migrate.js +55 -3
  3. package/lib/migrations/blocklet/20230422000000-genesis.js +11 -10
  4. package/lib/migrations/blocklet/20230522000000-genesis.js +11 -10
  5. package/lib/migrations/blocklet/20230827000000-tagging.js +7 -6
  6. package/lib/migrations/blocklet/20230907000000-user.js +4 -3
  7. package/lib/migrations/blocklet/20230912000000-project.js +5 -4
  8. package/lib/migrations/blocklet/20231012000000-user-session.js +3 -2
  9. package/lib/migrations/blocklet/20231031000000-project.js +3 -2
  10. package/lib/migrations/blocklet/20231223000000-notification.js +3 -2
  11. package/lib/migrations/blocklet/20231228000000-didspace.js +5 -4
  12. package/lib/migrations/blocklet/20240202000000-project.js +4 -3
  13. package/lib/migrations/blocklet/20240322000000-project-last-release.js +5 -3
  14. package/lib/migrations/blocklet/20240327000000-release-published.js +4 -3
  15. package/lib/migrations/blocklet/20240411000000-connected-account.js +8 -7
  16. package/lib/migrations/blocklet/20240413000000-project-connected-stores.js +4 -3
  17. package/lib/migrations/blocklet/20240520000000-project-tenant-scope.js +6 -5
  18. package/lib/migrations/blocklet/20240621000000-project-upload-resource.js +2 -1
  19. package/lib/migrations/blocklet/20240711000000-add-url-to-users.js +3 -2
  20. package/lib/migrations/blocklet/20240724000000-projec-add-setting.js +3 -2
  21. package/lib/migrations/blocklet/20240808000000-user-phone.js +2 -1
  22. package/lib/migrations/blocklet/20240828000000-user-inviter.js +3 -2
  23. package/lib/migrations/blocklet/20240829000000-user-generation.js +3 -2
  24. package/lib/migrations/blocklet/20240830000000-indexes.js +13 -17
  25. package/lib/migrations/blocklet/20240901000000-indexes.js +3 -7
  26. package/lib/migrations/blocklet/20240902000000-kyc.js +9 -5
  27. package/lib/migrations/blocklet/20240903000000-kyc.js +6 -5
  28. package/lib/migrations/blocklet/20240923000000-passport-display.js +4 -3
  29. package/lib/migrations/blocklet/20241010000000-oauth-verified.js +29 -10
  30. package/lib/migrations/blocklet/20241011000000-kyc-issued.js +42 -5
  31. package/lib/migrations/blocklet/20241012000000-security-rule.js +7 -6
  32. package/lib/migrations/blocklet/20241016000000-security-rule.js +11 -8
  33. package/lib/migrations/blocklet/20241111000000-resource-type.js +6 -18
  34. package/lib/migrations/blocklet/20241122000000-notification-receivers.js +3 -2
  35. package/lib/migrations/blocklet/20241202000000-homepage.js +4 -3
  36. package/lib/migrations/blocklet/20241212000000-videos.js +4 -3
  37. package/lib/migrations/blocklet/20241216000000-notification.js +40 -37
  38. package/lib/migrations/blocklet/20241216000000-repository.js +2 -1
  39. package/lib/migrations/blocklet/20241223000000-blocklet-docker.js +5 -3
  40. package/lib/migrations/blocklet/20241224000001-notification.js +16 -12
  41. package/lib/migrations/blocklet/20241225000000-passkey.js +3 -2
  42. package/lib/migrations/blocklet/20241228000000-notification-receivers.js +4 -3
  43. package/lib/migrations/blocklet/20241228000000-notification.js +5 -4
  44. package/lib/migrations/blocklet/20250104000000-passkey-count.js +6 -10
  45. package/lib/migrations/blocklet/20250227000004-webhook.js +15 -14
  46. package/lib/migrations/blocklet/20250321000000-passport-logs.js +12 -14
  47. package/lib/migrations/blocklet/20250325000001-access-key.js +5 -5
  48. package/lib/migrations/blocklet/20250327000000-verify-codes-email-login.js +6 -2
  49. package/lib/migrations/blocklet/20250409000000-oauth.js +9 -8
  50. package/lib/migrations/blocklet/20250418000003-add-connect-endpoint.js +3 -3
  51. package/lib/migrations/blocklet/20250507000001-add-oauth-create-by.js +2 -2
  52. package/lib/migrations/blocklet/20250603000000-add-webhook-trigger.js +4 -4
  53. package/lib/migrations/certificate-manager/20230422000000-genesis.js +9 -8
  54. package/lib/migrations/certificate-manager/20230623000000-name.js +3 -2
  55. package/lib/migrations/certificate-manager/20230623000000-status.js +3 -2
  56. package/lib/migrations/common/20250117000000-notification-receiver.js +39 -36
  57. package/lib/migrations/common/20250211000000-notification-receiver.js +22 -19
  58. package/lib/migrations/common/20250220000000-user.js +12 -10
  59. package/lib/migrations/common/20250313000000-user.js +11 -9
  60. package/lib/migrations/common/20250319000000-notifications.js +10 -8
  61. package/lib/migrations/common/20250330000000-check-passport.js +1 -1
  62. package/lib/migrations/connect/20230422000000-genesis.js +3 -2
  63. package/lib/migrations/connect/20231115000000-v2.js +3 -2
  64. package/lib/migrations/connect/20231204000000-app-info.js +4 -3
  65. package/lib/migrations/connect/20241206000000-gen-key.js +6 -5
  66. package/lib/migrations/server/20230422000000-genesis.js +35 -34
  67. package/lib/migrations/server/20230522000000-genesis.js +20 -19
  68. package/lib/migrations/server/20230523000000-genesis.js +3 -2
  69. package/lib/migrations/server/20230524000000-launcher.js +4 -3
  70. package/lib/migrations/server/20230604000000-tokens.js +4 -3
  71. package/lib/migrations/server/20230612000000-backup.js +3 -2
  72. package/lib/migrations/server/20230624000000-insight.js +4 -3
  73. package/lib/migrations/server/20230629000000-insight.js +4 -3
  74. package/lib/migrations/server/20230720000000-slp-domain.js +3 -2
  75. package/lib/migrations/server/20230802000000-backup.js +3 -2
  76. package/lib/migrations/server/20230827000000-tagging.js +7 -6
  77. package/lib/migrations/server/20230907000000-user.js +4 -3
  78. package/lib/migrations/server/20231012000000-nft-domain.js +3 -2
  79. package/lib/migrations/server/20231228000000-didspace.js +5 -4
  80. package/lib/migrations/server/20240411000000-connected-account.js +8 -7
  81. package/lib/migrations/server/20240617000000-enable-file-system-isolation.js +3 -2
  82. package/lib/migrations/server/20240711000000-add-url-to-users.js +3 -2
  83. package/lib/migrations/server/20240808000000-user-phone.js +3 -2
  84. package/lib/migrations/server/20240828000000-user-inviter.js +4 -3
  85. package/lib/migrations/server/20240829000000-user-generation.js +3 -2
  86. package/lib/migrations/server/20240830000000-indexes.js +27 -12
  87. package/lib/migrations/server/20240902000000-enable-docker.js +7 -11
  88. package/lib/migrations/server/20240902000000-kyc.js +7 -3
  89. package/lib/migrations/server/20240903000000-kyc.js +6 -5
  90. package/lib/migrations/server/20240923000000-passport-display.js +4 -3
  91. package/lib/migrations/server/20241122000000-notification-receivers.js +3 -2
  92. package/lib/migrations/server/20241126000000-docker-network.js +7 -11
  93. package/lib/migrations/server/20241211000000-session-harden.js +7 -11
  94. package/lib/migrations/server/20241213000000-session-salt.js +7 -11
  95. package/lib/migrations/server/20241216000000-notification.js +41 -37
  96. package/lib/migrations/server/20241224000001-notification.js +17 -13
  97. package/lib/migrations/server/20241225000000-passkey.js +10 -18
  98. package/lib/migrations/server/20241228000000-notification-receivers.js +4 -3
  99. package/lib/migrations/server/20241228000000-notification.js +5 -4
  100. package/lib/migrations/server/20250104000000-passkey-count.js +6 -10
  101. package/lib/migrations/server/20250206000001-audit-content.js +4 -2
  102. package/lib/migrations/server/20250208000000-blacklist.js +4 -3
  103. package/lib/migrations/server/20250225000000-vaults.js +5 -4
  104. package/lib/migrations/server/20250320150000-backup-metadata.js +8 -12
  105. package/lib/migrations/server/20250321000000-passport-logs.js +12 -16
  106. package/lib/migrations/server/20250325000001-access-key.js +10 -10
  107. package/lib/migrations/service/20230422000000-genesis.js +3 -2
  108. package/lib/migrations/service/20230522000000-genesis.js +2 -1
  109. package/lib/models/access-key.js +6 -6
  110. package/lib/models/access-policy.js +2 -2
  111. package/lib/models/account.js +3 -3
  112. package/lib/models/audit-log.js +5 -10
  113. package/lib/models/backup.js +6 -6
  114. package/lib/models/blacklist.js +1 -1
  115. package/lib/models/blocklet-extra.js +8 -7
  116. package/lib/models/blocklet.js +13 -13
  117. package/lib/models/cache.js +2 -2
  118. package/lib/models/certificate.js +2 -2
  119. package/lib/models/connected-account.js +7 -6
  120. package/lib/models/connection-v2.js +11 -10
  121. package/lib/models/connection.js +9 -8
  122. package/lib/models/http-challenge.js +1 -1
  123. package/lib/models/index.d.ts +1 -0
  124. package/lib/models/index.js +29 -9
  125. package/lib/models/job.js +4 -4
  126. package/lib/models/message.js +4 -4
  127. package/lib/models/migration.js +2 -2
  128. package/lib/models/notification-receivers.js +7 -7
  129. package/lib/models/notification.js +13 -13
  130. package/lib/models/oauth-client.js +8 -7
  131. package/lib/models/oauth-code.js +3 -2
  132. package/lib/models/passport-log.js +4 -3
  133. package/lib/models/passport.js +8 -7
  134. package/lib/models/project.js +10 -9
  135. package/lib/models/rbac.js +3 -3
  136. package/lib/models/release.js +6 -6
  137. package/lib/models/response-header-policy.js +5 -5
  138. package/lib/models/runtime-insight.js +8 -8
  139. package/lib/models/security-rule.js +4 -4
  140. package/lib/models/server.js +13 -12
  141. package/lib/models/session.js +2 -2
  142. package/lib/models/site.js +4 -4
  143. package/lib/models/tagging.js +1 -1
  144. package/lib/models/traffic-insight.js +13 -13
  145. package/lib/models/user-session.js +6 -6
  146. package/lib/models/user.js +10 -9
  147. package/lib/models/verify-code.js +1 -1
  148. package/lib/models/webhook-attempt.js +6 -6
  149. package/lib/models/webhook-endpoint.js +5 -5
  150. package/lib/models/webhook-event.js +6 -6
  151. package/lib/models/webhook.js +2 -2
  152. package/lib/states/factory.d.ts +12 -1
  153. package/lib/states/factory.js +57 -13
  154. package/lib/util.d.ts +5 -1
  155. package/lib/util.js +62 -0
  156. package/package.json +8 -7
package/lib/migrate.d.ts CHANGED
@@ -5,5 +5,9 @@ type ColumnChanges = Record<string, {
5
5
  field: any;
6
6
  }[]>;
7
7
  export declare function safeApplyColumnChanges(context: QueryInterface, changes: ColumnChanges): Promise<void>;
8
- export declare const safeAddIndex: (context: QueryInterface, table: string, indexes: string[]) => Promise<void>;
8
+ export declare const safeAddIndex: (context: QueryInterface, table: string, indexes: string[], options?: any, maxLength?: number) => Promise<void>;
9
+ export declare const addColumnIfNotExists: (context: QueryInterface, table: string, column: string, field: any, options?: any) => Promise<void>;
10
+ export declare const removeColumnIfExists: (context: QueryInterface, table: string, column: string, options?: any) => Promise<void>;
11
+ export declare const createTableIfNotExists: (context: QueryInterface, table: string, schema: any, options?: any) => Promise<void>;
12
+ export declare const dropTableIfExists: (context: QueryInterface, table: string) => Promise<void>;
9
13
  export {};
package/lib/migrate.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.safeAddIndex = void 0;
6
+ exports.dropTableIfExists = exports.createTableIfNotExists = exports.removeColumnIfExists = exports.addColumnIfNotExists = exports.safeAddIndex = void 0;
7
7
  exports.doSchemaMigration = doSchemaMigration;
8
8
  exports.safeApplyColumnChanges = safeApplyColumnChanges;
9
9
  const umzug_1 = require("umzug");
@@ -39,12 +39,64 @@ async function safeApplyColumnChanges(context, changes) {
39
39
  }
40
40
  }
41
41
  }
42
- const safeAddIndex = async (context, table, indexes) => {
42
+ const safeAddIndex = async (context, table, indexes, options, maxLength) => {
43
43
  try {
44
- await context.addIndex(table, indexes);
44
+ if (options?.maxLength) {
45
+ await context.sequelize.query(`
46
+ CREATE INDEX IF NOT EXISTS "${table}_${indexes.join('_')}_prefix_idx"
47
+ ON "${table}" (LEFT("${indexes[0]}", ${maxLength}))
48
+ `);
49
+ }
50
+ else {
51
+ await context.addIndex(table, indexes, options);
52
+ }
45
53
  }
46
54
  catch (error) {
47
55
  console.error(`Failed to add index ${indexes} to table ${table}:`, error);
48
56
  }
49
57
  };
50
58
  exports.safeAddIndex = safeAddIndex;
59
+ async function safeDescribeTable(qi, table) {
60
+ try {
61
+ const schema = await qi.describeTable(table);
62
+ return schema;
63
+ }
64
+ catch (err) {
65
+ return {};
66
+ }
67
+ }
68
+ const addColumnIfNotExists = async (context, table, column, field, options) => {
69
+ const schema = await safeDescribeTable(context, table);
70
+ if (schema[column]) {
71
+ return;
72
+ }
73
+ await context.addColumn(table, column, field, options);
74
+ };
75
+ exports.addColumnIfNotExists = addColumnIfNotExists;
76
+ const removeColumnIfExists = async (context, table, column, options) => {
77
+ const schema = await safeDescribeTable(context, table);
78
+ if (!schema[column]) {
79
+ return;
80
+ }
81
+ await context.removeColumn(table, column, options);
82
+ };
83
+ exports.removeColumnIfExists = removeColumnIfExists;
84
+ const createTableIfNotExists = async (context, table, schema, options) => {
85
+ try {
86
+ // 如果表存在,这里会成功返回描述信息
87
+ await context.describeTable(table);
88
+ }
89
+ catch (err) {
90
+ // 只有在“表不存在”的情况下才继续创建
91
+ await context.createTable(table, schema, options);
92
+ }
93
+ };
94
+ exports.createTableIfNotExists = createTableIfNotExists;
95
+ const dropTableIfExists = async (context, table) => {
96
+ const tableSchema = await safeDescribeTable(context, table);
97
+ if (!tableSchema) {
98
+ return;
99
+ }
100
+ await context.dropTable(table);
101
+ };
102
+ exports.dropTableIfExists = dropTableIfExists;
@@ -2,20 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const models_1 = require("../../models");
5
+ const migrate_1 = require("../../migrate");
5
6
  const models = (0, models_1.getBlockletModels)();
6
7
  const up = async ({ context }) => {
7
- await context.createTable('permissions', models.Rbac.GENESIS_ATTRIBUTES);
8
- await context.createTable('sessions', models.Session.GENESIS_ATTRIBUTES);
9
- await context.createTable('users', models.User.GENESIS_ATTRIBUTES);
10
- await context.createTable('passports', models.Passport.GENESIS_ATTRIBUTES);
11
- await context.createTable('connected_accounts', models.ConnectedAccount.GENESIS_ATTRIBUTES);
8
+ await (0, migrate_1.createTableIfNotExists)(context, 'permissions', models.Rbac.GENESIS_ATTRIBUTES);
9
+ await (0, migrate_1.createTableIfNotExists)(context, 'sessions', models.Session.GENESIS_ATTRIBUTES);
10
+ await (0, migrate_1.createTableIfNotExists)(context, 'users', models.User.GENESIS_ATTRIBUTES);
11
+ await (0, migrate_1.createTableIfNotExists)(context, 'passports', models.Passport.GENESIS_ATTRIBUTES);
12
+ await (0, migrate_1.createTableIfNotExists)(context, 'connected_accounts', models.ConnectedAccount.GENESIS_ATTRIBUTES);
12
13
  };
13
14
  exports.up = up;
14
15
  const down = async ({ context }) => {
15
- await context.dropTable('permissions');
16
- await context.dropTable('sessions');
17
- await context.dropTable('users');
18
- await context.dropTable('passports');
19
- await context.dropTable('connected_accounts');
16
+ await (0, migrate_1.dropTableIfExists)(context, 'permissions');
17
+ await (0, migrate_1.dropTableIfExists)(context, 'sessions');
18
+ await (0, migrate_1.dropTableIfExists)(context, 'users');
19
+ await (0, migrate_1.dropTableIfExists)(context, 'passports');
20
+ await (0, migrate_1.dropTableIfExists)(context, 'connected_accounts');
20
21
  };
21
22
  exports.down = down;
@@ -1,17 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
+ const migrate_1 = require("../../migrate");
4
5
  const up = async ({ context }) => {
5
- await context.addIndex('users', ['approved']);
6
- await context.addIndex('users', ['fullName']);
7
- await context.addIndex('users', ['email']);
8
- await context.addIndex('connected_accounts', ['userDid']);
9
- await context.addIndex('passports', ['userDid']);
10
- await context.addIndex('passports', ['name', 'status', 'userDid']);
11
- await context.addIndex('permissions', ['name']);
12
- await context.addIndex('permissions', ['type']);
13
- await context.addIndex('sessions', ['type']);
14
- await context.addIndex('sessions', ['key']);
6
+ await (0, migrate_1.safeAddIndex)(context, 'users', ['approved']);
7
+ await (0, migrate_1.safeAddIndex)(context, 'users', ['fullName']);
8
+ await (0, migrate_1.safeAddIndex)(context, 'users', ['email']);
9
+ await (0, migrate_1.safeAddIndex)(context, 'connected_accounts', ['userDid']);
10
+ await (0, migrate_1.safeAddIndex)(context, 'passports', ['userDid']);
11
+ await (0, migrate_1.safeAddIndex)(context, 'passports', ['name', 'status', 'userDid']);
12
+ await (0, migrate_1.safeAddIndex)(context, 'permissions', ['name']);
13
+ await (0, migrate_1.safeAddIndex)(context, 'permissions', ['type']);
14
+ await (0, migrate_1.safeAddIndex)(context, 'sessions', ['type']);
15
+ await (0, migrate_1.safeAddIndex)(context, 'sessions', ['key']);
15
16
  };
16
17
  exports.up = up;
17
18
  // eslint-disable-next-line
@@ -2,16 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const models_1 = require("../../models");
5
+ const migrate_1 = require("../../migrate");
5
6
  const models = (0, models_1.getBlockletModels)();
6
7
  const up = async ({ context }) => {
7
- await context.createTable('tags', models.Tag.GENESIS_ATTRIBUTES);
8
- await context.createTable('tagging', models.Tagging.GENESIS_ATTRIBUTES);
9
- await context.addIndex('tags', ['title'], { unique: true });
10
- await context.addIndex('tagging', ['tagId', 'taggableId'], { unique: true });
8
+ await (0, migrate_1.createTableIfNotExists)(context, 'tags', models.Tag.GENESIS_ATTRIBUTES);
9
+ await (0, migrate_1.createTableIfNotExists)(context, 'tagging', models.Tagging.GENESIS_ATTRIBUTES);
10
+ await (0, migrate_1.safeAddIndex)(context, 'tags', ['title'], { unique: true });
11
+ await (0, migrate_1.safeAddIndex)(context, 'tagging', ['tagId', 'taggableId'], { unique: true });
11
12
  };
12
13
  exports.up = up;
13
14
  const down = async ({ context }) => {
14
- await context.dropTable('tags');
15
- await context.dropTable('tagging');
15
+ await (0, migrate_1.dropTableIfExists)(context, 'tags');
16
+ await (0, migrate_1.dropTableIfExists)(context, 'tagging');
16
17
  };
17
18
  exports.down = down;
@@ -2,14 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const migrate_1 = require("../../migrate");
5
6
  const up = async ({ context }) => {
6
- await context.addColumn('users', 'sourceAppPid', {
7
- type: sequelize_1.DataTypes.STRING(40),
7
+ await (0, migrate_1.addColumnIfNotExists)(context, 'users', 'sourceAppPid', {
8
+ type: sequelize_1.DataTypes.STRING(80),
8
9
  allowNull: true,
9
10
  });
10
11
  };
11
12
  exports.up = up;
12
13
  const down = async ({ context }) => {
13
- await context.removeColumn('users', 'sourceAppPid');
14
+ await (0, migrate_1.removeColumnIfExists)(context, 'users', 'sourceAppPid');
14
15
  };
15
16
  exports.down = down;
@@ -2,14 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const models_1 = require("../../models");
5
+ const migrate_1 = require("../../migrate");
5
6
  const models = (0, models_1.getBlockletModels)();
6
7
  const up = async ({ context }) => {
7
- await context.createTable('projects', models.Project.GENESIS_ATTRIBUTES);
8
- await context.createTable('releases', models.Release.GENESIS_ATTRIBUTES);
8
+ await (0, migrate_1.createTableIfNotExists)(context, 'projects', models.Project.GENESIS_ATTRIBUTES);
9
+ await (0, migrate_1.createTableIfNotExists)(context, 'releases', models.Release.GENESIS_ATTRIBUTES);
9
10
  };
10
11
  exports.up = up;
11
12
  const down = async ({ context }) => {
12
- await context.dropTable('projects');
13
- await context.dropTable('releases');
13
+ await (0, migrate_1.dropTableIfExists)(context, 'projects');
14
+ await (0, migrate_1.dropTableIfExists)(context, 'releases');
14
15
  };
15
16
  exports.down = down;
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const models_1 = require("../../models");
5
+ const migrate_1 = require("../../migrate");
5
6
  const models = (0, models_1.getBlockletModels)();
6
7
  const up = async ({ context }) => {
7
- await context.createTable('user_sessions', models.UserSession.GENESIS_ATTRIBUTES);
8
+ await (0, migrate_1.createTableIfNotExists)(context, 'user_sessions', models.UserSession.GENESIS_ATTRIBUTES);
8
9
  };
9
10
  exports.up = up;
10
11
  const down = async ({ context }) => {
11
- await context.dropTable('user_sessions');
12
+ await (0, migrate_1.dropTableIfExists)(context, 'user_sessions');
12
13
  };
13
14
  exports.down = down;
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const migrate_1 = require("../../migrate");
5
6
  const up = async ({ context }) => {
6
7
  try {
7
8
  const queryInterface = context;
8
9
  const tableDescriptions = await queryInterface.describeTable('projects');
9
10
  if (!tableDescriptions?.componentDid) {
10
11
  await queryInterface.addColumn('projects', 'componentDid', {
11
- type: sequelize_1.DataTypes.STRING(40),
12
+ type: sequelize_1.DataTypes.STRING(80),
12
13
  allowNull: true,
13
14
  });
14
15
  }
@@ -23,6 +24,6 @@ const up = async ({ context }) => {
23
24
  };
24
25
  exports.up = up;
25
26
  const down = async ({ context }) => {
26
- await context.removeColumn('projects', 'componentDid');
27
+ await (0, migrate_1.removeColumnIfExists)(context, 'projects', 'componentDid');
27
28
  };
28
29
  exports.down = down;
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const models_1 = require("../../models");
5
+ const migrate_1 = require("../../migrate");
5
6
  const models = (0, models_1.getBlockletModels)();
6
7
  // eslint-disable-next-line import/prefer-default-export
7
8
  const up = async ({ context }) => {
8
- await context.createTable('notifications', models.Notification.GENESIS_ATTRIBUTES);
9
+ await (0, migrate_1.createTableIfNotExists)(context, 'notifications', models.Notification.GENESIS_ATTRIBUTES);
9
10
  };
10
11
  exports.up = up;
11
12
  const down = async ({ context }) => {
12
- await context.dropTable('notifications');
13
+ await (0, migrate_1.dropTableIfExists)(context, 'notifications');
13
14
  };
14
15
  exports.down = down;
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
- const sequelize_1 = require("sequelize");
4
+ const migrate_1 = require("../../migrate");
5
+ const util_1 = require("../../util");
5
6
  const up = async ({ context }) => {
6
- await context.addColumn('users', 'didSpace', {
7
- type: sequelize_1.DataTypes.JSON,
7
+ await (0, migrate_1.addColumnIfNotExists)(context, 'users', 'didSpace', {
8
+ type: (0, util_1.JSONOrJSONB)(),
8
9
  allowNull: true,
9
10
  });
10
11
  };
11
12
  exports.up = up;
12
13
  const down = async ({ context }) => {
13
- await context.removeColumn('users', 'didSpace');
14
+ await (0, migrate_1.removeColumnIfExists)(context, 'users', 'didSpace');
14
15
  };
15
16
  exports.down = down;
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
- const sequelize_1 = require("sequelize");
4
+ const migrate_1 = require("../../migrate");
5
+ const util_1 = require("../../util");
5
6
  const up = async ({ context }) => {
6
7
  try {
7
8
  const queryInterface = context;
8
9
  const tableDescriptions = await queryInterface.describeTable('releases');
9
10
  if (!tableDescriptions?.blockletComponents) {
10
11
  await queryInterface.addColumn('releases', 'blockletComponents', {
11
- type: sequelize_1.DataTypes.JSON,
12
+ type: (0, util_1.JSONOrJSONB)(),
12
13
  allowNull: true,
13
14
  });
14
15
  }
@@ -23,6 +24,6 @@ const up = async ({ context }) => {
23
24
  };
24
25
  exports.up = up;
25
26
  const down = async ({ context }) => {
26
- await context.removeColumn('releases', 'blockletComponents');
27
+ await (0, migrate_1.removeColumnIfExists)(context, 'releases', 'blockletComponents');
27
28
  };
28
29
  exports.down = down;
@@ -2,17 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const migrate_1 = require("../../migrate");
6
+ const util_1 = require("../../util");
5
7
  const up = async ({ context }) => {
6
8
  try {
7
9
  const queryInterface = context;
8
10
  const tableDescriptions = await queryInterface.describeTable('projects');
9
11
  if (!tableDescriptions?.lastReleaseId) {
10
12
  await queryInterface.addColumn('projects', 'lastReleaseId', {
11
- type: sequelize_1.DataTypes.STRING(40),
13
+ type: sequelize_1.DataTypes.STRING(80),
12
14
  allowNull: true,
13
15
  });
14
16
  await queryInterface.addColumn('projects', 'lastReleaseFiles', {
15
- type: sequelize_1.DataTypes.JSON,
17
+ type: (0, util_1.JSONOrJSONB)(),
16
18
  allowNull: true,
17
19
  });
18
20
  }
@@ -27,6 +29,6 @@ const up = async ({ context }) => {
27
29
  };
28
30
  exports.up = up;
29
31
  const down = async ({ context }) => {
30
- await context.removeColumn('projects', 'lastReleaseId');
32
+ await (0, migrate_1.removeColumnIfExists)(context, 'projects', 'lastReleaseId');
31
33
  };
32
34
  exports.down = down;
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
- const sequelize_1 = require("sequelize");
4
+ const migrate_1 = require("../../migrate");
5
+ const util_1 = require("../../util");
5
6
  const up = async ({ context }) => {
6
7
  try {
7
8
  const queryInterface = context;
8
9
  const tableDescriptions = await queryInterface.describeTable('releases');
9
10
  if (!tableDescriptions?.publishedStoreIds) {
10
11
  await queryInterface.addColumn('releases', 'publishedStoreIds', {
11
- type: sequelize_1.DataTypes.JSON(),
12
+ type: (0, util_1.JSONOrJSONB)(),
12
13
  defaultValue: [],
13
14
  });
14
15
  }
@@ -23,6 +24,6 @@ const up = async ({ context }) => {
23
24
  };
24
25
  exports.up = up;
25
26
  const down = async ({ context }) => {
26
- await context.removeColumn('releases', 'publishedStoreIds');
27
+ await (0, migrate_1.removeColumnIfExists)(context, 'releases', 'publishedStoreIds');
27
28
  };
28
29
  exports.down = down;
@@ -1,20 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
- const sequelize_1 = require("sequelize");
4
+ const migrate_1 = require("../../migrate");
5
+ const util_1 = require("../../util");
5
6
  const up = async ({ context }) => {
6
- await context.addColumn('connected_accounts', 'userInfo', {
7
- type: sequelize_1.DataTypes.JSON,
7
+ await (0, migrate_1.addColumnIfNotExists)(context, 'connected_accounts', 'userInfo', {
8
+ type: (0, util_1.JSONOrJSONB)(),
8
9
  allowNull: true,
9
10
  });
10
- await context.addColumn('connected_accounts', 'extra', {
11
- type: sequelize_1.DataTypes.JSON,
11
+ await (0, migrate_1.addColumnIfNotExists)(context, 'connected_accounts', 'extra', {
12
+ type: (0, util_1.JSONOrJSONB)(),
12
13
  allowNull: true,
13
14
  });
14
15
  };
15
16
  exports.up = up;
16
17
  const down = async ({ context }) => {
17
- await context.removeColumn('connected_accounts', 'userInfo');
18
- await context.removeColumn('connected_accounts', 'extra');
18
+ await (0, migrate_1.removeColumnIfExists)(context, 'connected_accounts', 'userInfo');
19
+ await (0, migrate_1.removeColumnIfExists)(context, 'connected_accounts', 'extra');
19
20
  };
20
21
  exports.down = down;
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
- const sequelize_1 = require("sequelize");
4
+ const migrate_1 = require("../../migrate");
5
+ const util_1 = require("../../util");
5
6
  const up = async ({ context }) => {
6
7
  try {
7
8
  const queryInterface = context;
8
9
  const tableDescriptions = await queryInterface.describeTable('projects');
9
10
  if (!tableDescriptions?.connectedStores) {
10
11
  await queryInterface.addColumn('projects', 'connectedStores', {
11
- type: sequelize_1.DataTypes.JSON(),
12
+ type: (0, util_1.JSONOrJSONB)(),
12
13
  defaultValue: [],
13
14
  });
14
15
  }
@@ -23,6 +24,6 @@ const up = async ({ context }) => {
23
24
  };
24
25
  exports.up = up;
25
26
  const down = async ({ context }) => {
26
- await context.removeColumn('projects', 'connectedStores');
27
+ await (0, migrate_1.removeColumnIfExists)(context, 'projects', 'connectedStores');
27
28
  };
28
29
  exports.down = down;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const migrate_1 = require("../../migrate");
5
6
  const up = async ({ context }) => {
6
7
  try {
7
8
  const queryInterface = context;
@@ -14,13 +15,13 @@ const up = async ({ context }) => {
14
15
  }
15
16
  if (!tableDescriptions?.createdBy) {
16
17
  await queryInterface.addColumn('projects', 'createdBy', {
17
- type: sequelize_1.DataTypes.STRING(40),
18
+ type: sequelize_1.DataTypes.STRING(80),
18
19
  allowNull: true,
19
20
  });
20
21
  }
21
22
  if (!tableDescriptions?.messageId) {
22
23
  await queryInterface.addColumn('projects', 'messageId', {
23
- type: sequelize_1.DataTypes.STRING(40),
24
+ type: sequelize_1.DataTypes.STRING(80),
24
25
  allowNull: true,
25
26
  });
26
27
  }
@@ -35,8 +36,8 @@ const up = async ({ context }) => {
35
36
  };
36
37
  exports.up = up;
37
38
  const down = async ({ context }) => {
38
- await context.removeColumn('projects', 'tenantScope');
39
- await context.removeColumn('projects', 'createdBy');
40
- await context.removeColumn('projects', 'messageId');
39
+ await (0, migrate_1.removeColumnIfExists)(context, 'projects', 'tenantScope');
40
+ await (0, migrate_1.removeColumnIfExists)(context, 'projects', 'createdBy');
41
+ await (0, migrate_1.removeColumnIfExists)(context, 'projects', 'messageId');
41
42
  };
42
43
  exports.down = down;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const migrate_1 = require("../../migrate");
5
6
  const up = async ({ context }) => {
6
7
  try {
7
8
  const queryInterface = context;
@@ -23,6 +24,6 @@ const up = async ({ context }) => {
23
24
  };
24
25
  exports.up = up;
25
26
  const down = async ({ context }) => {
26
- await context.removeColumn('releases', 'uploadedResource');
27
+ await (0, migrate_1.removeColumnIfExists)(context, 'releases', 'uploadedResource');
27
28
  };
28
29
  exports.down = down;
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
5
  const models_1 = require("../../models");
6
+ const migrate_1 = require("../../migrate");
6
7
  const up = async ({ context }) => {
7
8
  if (!(await (0, models_1.existsColumn)(context, 'users', 'url'))) {
8
- await context.addColumn('users', 'url', {
9
+ await (0, migrate_1.addColumnIfNotExists)(context, 'users', 'url', {
9
10
  type: sequelize_1.DataTypes.STRING,
10
11
  allowNull: true,
11
12
  defaultValue: '',
@@ -15,7 +16,7 @@ const up = async ({ context }) => {
15
16
  exports.up = up;
16
17
  const down = async ({ context }) => {
17
18
  if (await (0, models_1.existsColumn)(context, 'users', 'url')) {
18
- await context.removeColumn('users', 'url');
19
+ await (0, migrate_1.removeColumnIfExists)(context, 'users', 'url');
19
20
  }
20
21
  };
21
22
  exports.down = down;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const migrate_1 = require("../../migrate");
5
6
  const up = async ({ context }) => {
6
7
  try {
7
8
  const queryInterface = context;
@@ -31,7 +32,7 @@ const up = async ({ context }) => {
31
32
  };
32
33
  exports.up = up;
33
34
  const down = async ({ context }) => {
34
- await context.removeColumn('projects', 'autoUpload');
35
- await context.removeColumn('projects', 'possibleSameStore');
35
+ await (0, migrate_1.removeColumnIfExists)(context, 'projects', 'autoUpload');
36
+ await (0, migrate_1.removeColumnIfExists)(context, 'projects', 'possibleSameStore');
36
37
  };
37
38
  exports.down = down;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
5
  const models_1 = require("../../models");
6
+ const migrate_1 = require("../../migrate");
6
7
  const up = async ({ context }) => {
7
8
  if (!(await (0, models_1.existsColumn)(context, 'users', 'phone'))) {
8
9
  await context.addColumn('users', 'phone', {
@@ -14,7 +15,7 @@ const up = async ({ context }) => {
14
15
  exports.up = up;
15
16
  const down = async ({ context }) => {
16
17
  if (await (0, models_1.existsColumn)(context, 'users', 'phone')) {
17
- await context.removeColumn('users', 'phone');
18
+ await (0, migrate_1.removeColumnIfExists)(context, 'users', 'phone');
18
19
  }
19
20
  };
20
21
  exports.down = down;
@@ -2,14 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const migrate_1 = require("../../migrate");
5
6
  const up = async ({ context }) => {
6
7
  await context.addColumn('users', 'inviter', {
7
- type: sequelize_1.DataTypes.STRING(40),
8
+ type: sequelize_1.DataTypes.STRING(80),
8
9
  allowNull: true,
9
10
  });
10
11
  };
11
12
  exports.up = up;
12
13
  const down = async ({ context }) => {
13
- await context.removeColumn('users', 'inviter');
14
+ await (0, migrate_1.removeColumnIfExists)(context, 'users', 'inviter');
14
15
  };
15
16
  exports.down = down;
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
+ const migrate_1 = require("../../migrate");
5
6
  const up = async ({ context }) => {
6
- await context.addColumn('users', 'generation', {
7
+ await (0, migrate_1.addColumnIfNotExists)(context, 'users', 'generation', {
7
8
  type: sequelize_1.DataTypes.SMALLINT,
8
9
  defaultValue: 0,
9
10
  });
@@ -11,6 +12,6 @@ const up = async ({ context }) => {
11
12
  };
12
13
  exports.up = up;
13
14
  const down = async ({ context }) => {
14
- await context.removeColumn('users', 'generation');
15
+ await (0, migrate_1.removeColumnIfExists)(context, 'users', 'generation');
15
16
  };
16
17
  exports.down = down;
@@ -1,24 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.down = exports.up = void 0;
4
+ const migrate_1 = require("../../migrate");
4
5
  const up = async ({ context }) => {
5
- try {
6
- await context.addIndex('users', ['lastLoginAt']);
7
- await context.addIndex('users', ['inviter']);
8
- await context.addIndex('tagging', ['taggableType', 'taggableId']);
9
- await context.addIndex('user_sessions', ['userDid', 'status']);
10
- await context.addIndex('notifications', ['createdAt']);
11
- await context.addIndex('permissions', ['type', 'createdAt']);
12
- await context.addIndex('projects', ['createdAt']);
13
- await context.addIndex('projects', ['createdBy']);
14
- await context.addIndex('projects', ['createdBy', 'createdAt']);
15
- await context.addIndex('releases', ['createdAt']);
16
- await context.addIndex('releases', ['projectId']);
17
- await context.addIndex('releases', ['projectId', 'createdAt']);
18
- }
19
- catch (err) {
20
- console.error('Failed to add blocklet indexes', err);
21
- }
6
+ await (0, migrate_1.safeAddIndex)(context, 'users', ['lastLoginAt']);
7
+ await (0, migrate_1.safeAddIndex)(context, 'users', ['inviter']);
8
+ await (0, migrate_1.safeAddIndex)(context, 'tagging', ['taggableType', 'taggableId']);
9
+ await (0, migrate_1.safeAddIndex)(context, 'user_sessions', ['userDid', 'status']);
10
+ await (0, migrate_1.safeAddIndex)(context, 'notifications', ['createdAt']);
11
+ await (0, migrate_1.safeAddIndex)(context, 'permissions', ['type', 'createdAt']);
12
+ await (0, migrate_1.safeAddIndex)(context, 'projects', ['createdAt']);
13
+ await (0, migrate_1.safeAddIndex)(context, 'projects', ['createdBy']);
14
+ await (0, migrate_1.safeAddIndex)(context, 'projects', ['createdBy', 'createdAt']);
15
+ await (0, migrate_1.safeAddIndex)(context, 'releases', ['createdAt']);
16
+ await (0, migrate_1.safeAddIndex)(context, 'releases', ['projectId']);
17
+ await (0, migrate_1.safeAddIndex)(context, 'releases', ['projectId', 'createdAt']);
22
18
  };
23
19
  exports.up = up;
24
20
  // eslint-disable-next-line @typescript-eslint/no-unused-vars