@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 +6 -0
- package/dist/assets/db_migrations/20241217131552-knowledge_add_domain_and_expiration_columns.js +8 -2
- package/dist/assets/db_migrations/20241217131552-knowledge_add_domain_and_expiration_columns.js.map +1 -1
- package/dist/assets/db_migrations/20250109103921-fix-broken-updated-at-function.js +65 -0
- package/dist/assets/db_migrations/20250109103921-fix-broken-updated-at-function.js.map +1 -0
- package/package.json +1 -1
- package/src/assets/db_migrations/20241217131552-knowledge_add_domain_and_expiration_columns.ts +21 -7
- package/src/assets/db_migrations/20250109103921-fix-broken-updated-at-function.ts +42 -0
package/CHANGELOG.md
CHANGED
package/dist/assets/db_migrations/20241217131552-knowledge_add_domain_and_expiration_columns.js
CHANGED
|
@@ -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:
|
|
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];
|
package/dist/assets/db_migrations/20241217131552-knowledge_add_domain_and_expiration_columns.js.map
CHANGED
|
@@ -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
|
|
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
package/src/assets/db_migrations/20241217131552-knowledge_add_domain_and_expiration_columns.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
+
};
|