@onereach/idw-init-account-resources 0.11.8 → 0.11.9

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @onereach/idw-init-account-resources
2
2
 
3
+ ## 0.11.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 0f5f9ef: Fix old migration to avoid conflicts on real envs
8
+
3
9
  ## 0.11.8
4
10
 
5
11
  ### Patch Changes
@@ -39,10 +39,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  module.exports = {
40
40
  up: function (queryInterface) {
41
41
  return __awaiter(this, void 0, void 0, function () {
42
+ var sequelize, results;
42
43
  return __generator(this, function (_a) {
43
44
  switch (_a.label) {
44
- case 0: return [4, queryInterface.context.sequelize.query("\n ALTER TABLE knowledge\n ADD COLUMN IF NOT EXISTS domain uuid NOT NULL,\n ADD COLUMN IF NOT EXISTS expired_at timestamptz;\n\n ALTER TABLE knowledge\n ADD CONSTRAINT fk_domain\n FOREIGN KEY(domain) REFERENCES categories (id)\n ON DELETE RESTRICT\n ")];
45
+ case 0:
46
+ sequelize = queryInterface.context.sequelize;
47
+ return [4, sequelize.query("\n ALTER TABLE categories\n DROP CONSTRAINT IF EXISTS category_unique_name,\n ADD CONSTRAINT category_unique_name UNIQUE (name);\n\n INSERT INTO categories (id, name)\n VALUES (gen_random_uuid(), 'Unlabelled')\n ON CONFLICT (name) DO NOTHING;\n\n SELECT id FROM categories\n WHERE name = 'Unlabelled'\n ")];
45
48
  case 1:
49
+ results = (_a.sent())[0];
50
+ return [4, sequelize.query("\n ALTER TABLE knowledge\n ADD COLUMN IF NOT EXISTS domain uuid NOT NULL DEFAULT '".concat(results[0].id, "',\n ADD COLUMN IF NOT EXISTS expired_at timestamptz;\n\n ALTER TABLE knowledge\n DROP CONSTRAINT IF EXISTS fk_domain,\n ADD CONSTRAINT fk_domain FOREIGN KEY(domain) REFERENCES categories (id) ON DELETE RESTRICT\n "))];
51
+ case 2:
46
52
  _a.sent();
47
53
  return [2];
48
54
  }
@@ -53,7 +59,7 @@ module.exports = {
53
59
  return __awaiter(this, void 0, void 0, function () {
54
60
  return __generator(this, function (_a) {
55
61
  switch (_a.label) {
56
- case 0: return [4, queryInterface.context.sequelize.query("\n ALTER TABLE knowledge\n DROP COLUMN IF EXISTS domain,\n DROP COLUMN IF EXISTS expired_at;\n\n ALTER TABLE knowledge\n DROP CONSTRAINT IF EXISTS fk_domain;\n ")];
62
+ case 0: return [4, queryInterface.context.sequelize.query("\n ALTER TABLE knowledge\n DROP COLUMN IF EXISTS domain,\n DROP COLUMN IF EXISTS expired_at;\n\n ALTER TABLE knowledge\n DROP CONSTRAINT IF EXISTS fk_domain,\n DROP CONSTRAINT IF EXISTS category_unique_name;\n ")];
57
63
  case 1:
58
64
  _a.sent();
59
65
  return [2];
@@ -1 +1 @@
1
- {"version":3,"file":"20241217131552-knowledge_add_domain_and_expiration_columns.js","sourceRoot":"","sources":["../../../src/assets/db_migrations/20241217131552-knowledge_add_domain_and_expiration_columns.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKb,MAAM,CAAC,OAAO,GAAG;IACT,EAAE,YAAC,cAAoE;;;;4BAC3E,WAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,gTAS5C,CAAC,EAAA;;wBATF,SASE,CAAC;;;;;KACJ;IAGK,IAAI,YAAC,cAAoE;;;;4BAC7E,WAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,8LAO5C,CAAC,EAAA;;wBAPF,SAOE,CAAC;;;;;KACJ;CACF,CAAC"}
1
+ {"version":3,"file":"20241217131552-knowledge_add_domain_and_expiration_columns.js","sourceRoot":"","sources":["../../../src/assets/db_migrations/20241217131552-knowledge_add_domain_and_expiration_columns.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKb,MAAM,CAAC,OAAO,GAAG;IACT,EAAE,YAAC,cAAoE;;;;;;wBACrE,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;wBAEjC,WAAM,SAAS,CAAC,KAAK,CAAC,4WAWvC,CAAC,EAAA;;wBAXK,OAAO,GAAI,CAAA,SAWhB,CAAA,GAXY;wBAad,WAAM,SAAS,CAAC,KAAK,CAAC,0GAEwC,OAAO,CAAC,CAAC,CAAqB,CAAC,EAAE,0PAM9F,CAAC,EAAA;;wBARF,SAQE,CAAC;;;;;KACJ;IAEK,IAAI,YAAC,cAAoE;;;;4BAC7E,WAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,qPAQ5C,CAAC,EAAA;;wBARF,SAQE,CAAC;;;;;KACJ;CACF,CAAC"}
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ module.exports = {
40
+ up: function (queryInterface) {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ switch (_a.label) {
44
+ case 0: return [4, queryInterface.context.sequelize.query("\n CREATE OR REPLACE FUNCTION update_updated_at()\n RETURNS TRIGGER AS $$\n BEGIN\n NEW.updated_at = NOW();\n RETURN NEW;\n END;\n $$ LANGUAGE 'plpgsql';\n\n CREATE OR REPLACE FUNCTION update_date_modified()\n RETURNS TRIGGER AS $$\n BEGIN\n NEW.date_modified = NOW();\n RETURN NEW;\n END;\n $$ LANGUAGE 'plpgsql';\n\n DROP TRIGGER IF EXISTS set_updated_at_knowledge ON knowledge;\n\n CREATE TRIGGER set_knowledge_date_modified\n BEFORE UPDATE ON knowledge\n FOR EACH ROW\n EXECUTE FUNCTION update_date_modified();\n ")];
45
+ case 1:
46
+ _a.sent();
47
+ return [2];
48
+ }
49
+ });
50
+ });
51
+ },
52
+ down: function (queryInterface) {
53
+ return __awaiter(this, void 0, void 0, function () {
54
+ return __generator(this, function (_a) {
55
+ switch (_a.label) {
56
+ case 0: return [4, queryInterface.context.sequelize.query("\n DROP FUNCTION IF EXISTS update_updated_at();\n DROP FUNCTION IF EXISTS update_date_modified();\n\n DROP TRIGGER IF EXISTS set_knowledge_date_modified ON knowledge;\n ")];
57
+ case 1:
58
+ _a.sent();
59
+ return [2];
60
+ }
61
+ });
62
+ });
63
+ },
64
+ };
65
+ //# sourceMappingURL=20250109103921-fix-broken-updated-at-function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20250109103921-fix-broken-updated-at-function.js","sourceRoot":"","sources":["../../../src/assets/db_migrations/20250109103921-fix-broken-updated-at-function.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKb,MAAM,CAAC,OAAO,GAAG;IACT,EAAE,YAAC,cAAoE;;;;4BAC3E,WAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,inBAuB5C,CAAC,EAAA;;wBAvBF,SAuBE,CAAC;;;;;KACJ;IAEK,IAAI,YAAC,cAAoE;;;;4BAC7E,WAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,6LAK5C,CAAC,EAAA;;wBALF,SAKE,CAAC;;;;;KACJ;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/idw-init-account-resources",
3
- "version": "0.11.8",
3
+ "version": "0.11.9",
4
4
  "description": "Creation of required resources in OneReach account to enable IDW",
5
5
  "license": "UNLICENSED",
6
6
  "contributors": [
@@ -5,19 +5,32 @@ import { QueryInterface, Sequelize } from 'sequelize';
5
5
  /** @type {import('sequelize-cli').Migration} */
6
6
  module.exports = {
7
7
  async up(queryInterface: QueryInterface & {context: {sequelize: Sequelize;};}) {
8
- await queryInterface.context.sequelize.query(`
8
+ const sequelize = queryInterface.context.sequelize;
9
+
10
+ const [results] = await sequelize.query(`
11
+ ALTER TABLE categories
12
+ DROP CONSTRAINT IF EXISTS category_unique_name,
13
+ ADD CONSTRAINT category_unique_name UNIQUE (name);
14
+
15
+ INSERT INTO categories (id, name)
16
+ VALUES (gen_random_uuid(), 'Unlabelled')
17
+ ON CONFLICT (name) DO NOTHING;
18
+
19
+ SELECT id FROM categories
20
+ WHERE name = 'Unlabelled'
21
+ `);
22
+
23
+ await sequelize.query(`
9
24
  ALTER TABLE knowledge
10
- ADD COLUMN IF NOT EXISTS domain uuid NOT NULL,
25
+ ADD COLUMN IF NOT EXISTS domain uuid NOT NULL DEFAULT '${(results[0] as { id: string; }).id}',
11
26
  ADD COLUMN IF NOT EXISTS expired_at timestamptz;
12
27
 
13
28
  ALTER TABLE knowledge
14
- ADD CONSTRAINT fk_domain
15
- FOREIGN KEY(domain) REFERENCES categories (id)
16
- ON DELETE RESTRICT
29
+ DROP CONSTRAINT IF EXISTS fk_domain,
30
+ ADD CONSTRAINT fk_domain FOREIGN KEY(domain) REFERENCES categories (id) ON DELETE RESTRICT
17
31
  `);
18
32
  },
19
33
 
20
-
21
34
  async down(queryInterface: QueryInterface & {context: {sequelize: Sequelize;};}) {
22
35
  await queryInterface.context.sequelize.query(`
23
36
  ALTER TABLE knowledge
@@ -25,7 +38,8 @@ module.exports = {
25
38
  DROP COLUMN IF EXISTS expired_at;
26
39
 
27
40
  ALTER TABLE knowledge
28
- DROP CONSTRAINT IF EXISTS fk_domain;
41
+ DROP CONSTRAINT IF EXISTS fk_domain,
42
+ DROP CONSTRAINT IF EXISTS category_unique_name;
29
43
  `);
30
44
  },
31
45
  };
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ import { QueryInterface, Sequelize } from 'sequelize';
4
+
5
+ /** @type {import('sequelize-cli').Migration} */
6
+ module.exports = {
7
+ async up(queryInterface: QueryInterface & {context: {sequelize: Sequelize;};}) {
8
+ await queryInterface.context.sequelize.query(`
9
+ CREATE OR REPLACE FUNCTION update_updated_at()
10
+ RETURNS TRIGGER AS $$
11
+ BEGIN
12
+ NEW.updated_at = NOW();
13
+ RETURN NEW;
14
+ END;
15
+ $$ LANGUAGE 'plpgsql';
16
+
17
+ CREATE OR REPLACE FUNCTION update_date_modified()
18
+ RETURNS TRIGGER AS $$
19
+ BEGIN
20
+ NEW.date_modified = NOW();
21
+ RETURN NEW;
22
+ END;
23
+ $$ LANGUAGE 'plpgsql';
24
+
25
+ DROP TRIGGER IF EXISTS set_updated_at_knowledge ON knowledge;
26
+
27
+ CREATE TRIGGER set_knowledge_date_modified
28
+ BEFORE UPDATE ON knowledge
29
+ FOR EACH ROW
30
+ EXECUTE FUNCTION update_date_modified();
31
+ `);
32
+ },
33
+
34
+ async down(queryInterface: QueryInterface & {context: {sequelize: Sequelize;};}) {
35
+ await queryInterface.context.sequelize.query(`
36
+ DROP FUNCTION IF EXISTS update_updated_at();
37
+ DROP FUNCTION IF EXISTS update_date_modified();
38
+
39
+ DROP TRIGGER IF EXISTS set_knowledge_date_modified ON knowledge;
40
+ `);
41
+ },
42
+ };