Skip to content

Commit c42ebca

Browse files
BoR scheduled posts and drafts DB migrations (#9352)
* Added type column to scheduled post and draft table * removed console log * fixed a test * fixes * Restored ununtended changes * Code uniformity
1 parent 31fc648 commit c42ebca

File tree

14 files changed

+63
-5
lines changed

14 files changed

+63
-5
lines changed

app/database/migration/server/index.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,23 @@ const {
2525
const {PLAYBOOK_RUN, PLAYBOOK_CHECKLIST, PLAYBOOK_CHECKLIST_ITEM, PLAYBOOK_RUN_ATTRIBUTE, PLAYBOOK_RUN_ATTRIBUTE_VALUE} = PLAYBOOK_TABLES;
2626

2727
export default schemaMigrations({migrations: [
28+
{
29+
toVersion: 16,
30+
steps: [
31+
addColumns({
32+
table: SCHEDULED_POST,
33+
columns: [
34+
{name: 'type', type: 'string', isOptional: true},
35+
],
36+
}),
37+
addColumns({
38+
table: DRAFT,
39+
columns: [
40+
{name: 'type', type: 'string', isOptional: true},
41+
],
42+
}),
43+
],
44+
},
2845
{
2946
toVersion: 15,
3047
steps: [

app/database/models/server/draft.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,7 @@ export default class DraftModel extends Model implements DraftModelInterface {
4444

4545
/** update_at : The timestamp to when this post was last updated on the server */
4646
@field('update_at') updateAt!: number;
47+
48+
/** type : The type of post */
49+
@field('type') type!: PostTypesUserCreatable | null;
4750
}

app/database/models/server/scheduled_post.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ export default class ScheduledPostModel extends Model implements ScheduledPostMo
5757
/** error_code : The reason message if the schedule post failed */
5858
@field('error_code') errorCode!: string;
5959

60+
/** type : The type of the post being scheduled */
61+
@field('type') type!: PostTypesUserCreatable | null;
62+
6063
toApi = (user_id: string) => {
6164
const scheduledPost: ScheduledPost = {
6265
id: this.id,

app/database/operator/server_data_operator/transformers/post.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ export const transformSchedulePostsRecord = ({action, database, value}: Transfor
192192
scheduledPost.scheduledAt = raw.scheduled_at;
193193
scheduledPost.processedAt = raw.processed_at ?? 0;
194194
scheduledPost.errorCode = raw.error_code || scheduledPost.errorCode;
195+
scheduledPost.type = raw.type || '';
195196
};
196197

197198
return prepareBaseRecord({

app/database/schema/server/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import {
4545
} from './table_schemas';
4646

4747
export const serverSchema: AppSchema = appSchema({
48-
version: 15,
48+
version: 16,
4949
tables: [
5050
CategorySchema,
5151
CategoryChannelSchema,

app/database/schema/server/table_schemas/draft.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ export default tableSchema({
1616
{name: 'root_id', type: 'string', isIndexed: true},
1717
{name: 'metadata', type: 'string', isOptional: true},
1818
{name: 'update_at', type: 'number'},
19+
{name: 'type', type: 'string', isOptional: true},
1920
],
2021
});

app/database/schema/server/table_schemas/scheduled_post.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@ export default tableSchema({
2020
{name: 'scheduled_at', type: 'number'},
2121
{name: 'processed_at', type: 'number'},
2222
{name: 'error_code', type: 'string'},
23+
{name: 'type', type: 'string', isOptional: true},
2324
],
2425
});

app/database/schema/server/test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const {PLAYBOOK_RUN, PLAYBOOK_CHECKLIST, PLAYBOOK_CHECKLIST_ITEM, PLAYBOOK_RUN_A
5252
describe('*** Test schema for SERVER database ***', () => {
5353
it('=> The SERVER SCHEMA should strictly match', () => {
5454
expect(serverSchema).toEqual({
55-
version: 15,
55+
version: 16,
5656
unsafeSql: undefined,
5757
tables: {
5858
[CATEGORY]: {
@@ -317,6 +317,7 @@ describe('*** Test schema for SERVER database ***', () => {
317317
root_id: {name: 'root_id', type: 'string', isIndexed: true},
318318
metadata: {name: 'metadata', type: 'string', isOptional: true},
319319
update_at: {name: 'update_at', type: 'number'},
320+
type: {name: 'type', type: 'string', isOptional: true},
320321
},
321322
columnArray: [
322323
{name: 'channel_id', type: 'string', isIndexed: true},
@@ -325,6 +326,7 @@ describe('*** Test schema for SERVER database ***', () => {
325326
{name: 'root_id', type: 'string', isIndexed: true},
326327
{name: 'metadata', type: 'string', isOptional: true},
327328
{name: 'update_at', type: 'number'},
329+
{name: 'type', type: 'string', isOptional: true},
328330
],
329331
},
330332
[FILE]: {
@@ -717,6 +719,7 @@ describe('*** Test schema for SERVER database ***', () => {
717719
scheduled_at: {name: 'scheduled_at', type: 'number'},
718720
processed_at: {name: 'processed_at', type: 'number'},
719721
error_code: {name: 'error_code', type: 'string'},
722+
type: {name: 'type', type: 'string', isOptional: true},
720723
},
721724
columnArray: [
722725
{name: 'channel_id', type: 'string', isIndexed: true},
@@ -729,6 +732,7 @@ describe('*** Test schema for SERVER database ***', () => {
729732
{name: 'scheduled_at', type: 'number'},
730733
{name: 'processed_at', type: 'number'},
731734
{name: 'error_code', type: 'string'},
735+
{name: 'type', type: 'string', isOptional: true},
732736
],
733737
},
734738
[SYSTEM]: {

docs/database/server/server.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,23 @@ channel_id string INDEX FK >- Channel.id
9595
files string #stringify (array)
9696
message string
9797
root_id string INDEX NULL FK >- Post.id
98+
type string NULL
99+
100+
101+
ScheduledPost
102+
-
103+
id PK string # auto-generated
104+
channel_id string INDEX FK >- Channel.id
105+
files string #stringify (array)
106+
message string
107+
root_id string INDEX NULL FK >- Post.id
108+
metadata string NULL
109+
create_at number
110+
update_at number
111+
scheduled_at number
112+
processed_at number NULL
113+
error_code string
114+
type string NULL
98115

99116

100117
File

test/test_helper.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,7 @@ class TestHelperSingleton {
652652
files: [],
653653
metadata: {},
654654
updateAt: 0,
655+
type: '',
655656
...overwrite,
656657
};
657658
};
@@ -880,6 +881,7 @@ class TestHelperSingleton {
880881
scheduledAt: 0,
881882
processedAt: 0,
882883
errorCode: '',
884+
type: '',
883885
toApi: jest.fn(),
884886
...overwrite,
885887
};

0 commit comments

Comments
 (0)