forked from Ivasoft/mattermost-mobile
MM-30482 [Gekidou] Data Operator (#5346)
* MM_30482: Imported database and types /database folder * MM_30482: Imported database and types /database folder * MM_30482 : All tests are passing * MM_30482 : Updating patch package for watermelon db * MM_30482 : Fixing CI issue * MM_30482 : Updating TS complaint * Update index.ts * MM_30482 : Code clean up Co-authored-by: Avinash Lingaloo <>
This commit is contained in:
69
app/database/schema/server/index.ts
Normal file
69
app/database/schema/server/index.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {AppSchema, appSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {
|
||||
ChannelInfoSchema,
|
||||
ChannelMembershipSchema,
|
||||
ChannelSchema,
|
||||
CustomEmojiSchema,
|
||||
DraftSchema,
|
||||
FileSchema,
|
||||
GroupMembershipSchema,
|
||||
GroupSchema,
|
||||
GroupsInChannelSchema,
|
||||
GroupsInTeamSchema,
|
||||
MyChannelSchema,
|
||||
MyChannelSettingsSchema,
|
||||
MyTeamSchema,
|
||||
PostInThreadSchema,
|
||||
PostMetadataSchema,
|
||||
PostSchema,
|
||||
PostsInChannelSchema,
|
||||
PreferenceSchema,
|
||||
ReactionSchema,
|
||||
RoleSchema,
|
||||
SlashCommandSchema,
|
||||
SystemSchema,
|
||||
TeamChannelHistorySchema,
|
||||
TeamMembershipSchema,
|
||||
TeamSchema,
|
||||
TeamSearchHistorySchema,
|
||||
TermsOfServiceSchema,
|
||||
UserSchema,
|
||||
} from './table_schemas';
|
||||
|
||||
export const serverSchema: AppSchema = appSchema({
|
||||
version: 1,
|
||||
tables: [
|
||||
ChannelInfoSchema,
|
||||
ChannelMembershipSchema,
|
||||
ChannelSchema,
|
||||
CustomEmojiSchema,
|
||||
DraftSchema,
|
||||
FileSchema,
|
||||
GroupMembershipSchema,
|
||||
GroupSchema,
|
||||
GroupsInChannelSchema,
|
||||
GroupsInTeamSchema,
|
||||
MyChannelSchema,
|
||||
MyChannelSettingsSchema,
|
||||
MyTeamSchema,
|
||||
PostsInChannelSchema,
|
||||
PostInThreadSchema,
|
||||
PostMetadataSchema,
|
||||
PostSchema,
|
||||
PreferenceSchema,
|
||||
ReactionSchema,
|
||||
RoleSchema,
|
||||
SlashCommandSchema,
|
||||
SystemSchema,
|
||||
TeamChannelHistorySchema,
|
||||
TeamMembershipSchema,
|
||||
TeamSchema,
|
||||
TeamSearchHistorySchema,
|
||||
TermsOfServiceSchema,
|
||||
UserSchema,
|
||||
],
|
||||
});
|
||||
23
app/database/schema/server/table_schemas/channel.ts
Normal file
23
app/database/schema/server/table_schemas/channel.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {CHANNEL} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: CHANNEL,
|
||||
columns: [
|
||||
{name: 'create_at', type: 'number'},
|
||||
{name: 'creator_id', type: 'string', isIndexed: true},
|
||||
{name: 'delete_at', type: 'number'},
|
||||
{name: 'display_name', type: 'string'},
|
||||
{name: 'is_group_constrained', type: 'boolean'},
|
||||
{name: 'name', type: 'string', isIndexed: true},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
{name: 'type', type: 'string'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
],
|
||||
});
|
||||
20
app/database/schema/server/table_schemas/channel_info.ts
Normal file
20
app/database/schema/server/table_schemas/channel_info.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {CHANNEL_INFO} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: CHANNEL_INFO,
|
||||
columns: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'guest_count', type: 'number'},
|
||||
{name: 'header', type: 'string'},
|
||||
{name: 'member_count', type: 'number'},
|
||||
{name: 'pinned_post_count', type: 'number'},
|
||||
{name: 'purpose', type: 'string'},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {CHANNEL_MEMBERSHIP} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: CHANNEL_MEMBERSHIP,
|
||||
columns: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
15
app/database/schema/server/table_schemas/custom_emoji.ts
Normal file
15
app/database/schema/server/table_schemas/custom_emoji.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {CUSTOM_EMOJI} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: CUSTOM_EMOJI,
|
||||
columns: [
|
||||
{name: 'name', type: 'string'},
|
||||
],
|
||||
});
|
||||
18
app/database/schema/server/table_schemas/draft.ts
Normal file
18
app/database/schema/server/table_schemas/draft.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {DRAFT} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: DRAFT,
|
||||
columns: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'files', type: 'string'},
|
||||
{name: 'message', type: 'string'},
|
||||
{name: 'root_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
23
app/database/schema/server/table_schemas/file.ts
Normal file
23
app/database/schema/server/table_schemas/file.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {FILE} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: FILE,
|
||||
columns: [
|
||||
{name: 'extension', type: 'string'},
|
||||
{name: 'height', type: 'number'},
|
||||
{name: 'image_thumbnail', type: 'string'},
|
||||
{name: 'local_path', type: 'string'},
|
||||
{name: 'mime_type', type: 'string'},
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'post_id', type: 'string', isIndexed: true},
|
||||
{name: 'size', type: 'number'},
|
||||
{name: 'width', type: 'number'},
|
||||
],
|
||||
});
|
||||
16
app/database/schema/server/table_schemas/group.ts
Normal file
16
app/database/schema/server/table_schemas/group.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {GROUP} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: GROUP,
|
||||
columns: [
|
||||
{name: 'display_name', type: 'string'},
|
||||
{name: 'name', type: 'string'},
|
||||
],
|
||||
});
|
||||
16
app/database/schema/server/table_schemas/group_membership.ts
Normal file
16
app/database/schema/server/table_schemas/group_membership.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {GROUP_MEMBERSHIP} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: GROUP_MEMBERSHIP,
|
||||
columns: [
|
||||
{name: 'group_id', type: 'string', isIndexed: true},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {GROUPS_IN_CHANNEL} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: GROUPS_IN_CHANNEL,
|
||||
columns: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'group_id', type: 'string', isIndexed: true},
|
||||
{name: 'member_count', type: 'number'},
|
||||
{name: 'timezone_count', type: 'number'},
|
||||
],
|
||||
});
|
||||
16
app/database/schema/server/table_schemas/groups_in_team.ts
Normal file
16
app/database/schema/server/table_schemas/groups_in_team.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {GROUPS_IN_TEAM} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: GROUPS_IN_TEAM,
|
||||
columns: [
|
||||
{name: 'group_id', type: 'string', isIndexed: true},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
31
app/database/schema/server/table_schemas/index.ts
Normal file
31
app/database/schema/server/table_schemas/index.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
export {default as ChannelInfoSchema} from './channel_info';
|
||||
export {default as ChannelMembershipSchema} from './channel_membership';
|
||||
export {default as ChannelSchema} from './channel';
|
||||
export {default as CustomEmojiSchema} from './custom_emoji';
|
||||
export {default as DraftSchema} from './draft';
|
||||
export {default as FileSchema} from './file';
|
||||
export {default as GroupMembershipSchema} from './group_membership';
|
||||
export {default as GroupSchema} from './group';
|
||||
export {default as GroupsInChannelSchema} from './groups_in_channel';
|
||||
export {default as GroupsInTeamSchema} from './groups_in_team';
|
||||
export {default as MyChannelSchema} from './my_channel';
|
||||
export {default as MyChannelSettingsSchema} from './my_channel_settings';
|
||||
export {default as MyTeamSchema} from './my_team';
|
||||
export {default as PostsInChannelSchema} from './posts_in_channel';
|
||||
export {default as PostInThreadSchema} from './posts_in_thread';
|
||||
export {default as PostMetadataSchema} from './post_metadata';
|
||||
export {default as PostSchema} from './post';
|
||||
export {default as PreferenceSchema} from './preference';
|
||||
export {default as ReactionSchema} from './reaction';
|
||||
export {default as RoleSchema} from './role';
|
||||
export {default as SlashCommandSchema} from './slash_command';
|
||||
export {default as SystemSchema} from './system';
|
||||
export {default as TeamChannelHistorySchema} from './team_channel_history';
|
||||
export {default as TeamMembershipSchema} from './team_membership';
|
||||
export {default as TeamSchema} from './team';
|
||||
export {default as TeamSearchHistorySchema} from './team_search_history';
|
||||
export {default as TermsOfServiceSchema} from './terms_of_service';
|
||||
export {default as UserSchema} from './user';
|
||||
20
app/database/schema/server/table_schemas/my_channel.ts
Normal file
20
app/database/schema/server/table_schemas/my_channel.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {MY_CHANNEL} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: MY_CHANNEL,
|
||||
columns: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'last_post_at', type: 'number'},
|
||||
{name: 'last_viewed_at', type: 'number'},
|
||||
{name: 'mentions_count', type: 'number'},
|
||||
{name: 'message_count', type: 'number'},
|
||||
{name: 'roles', type: 'string'},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {MY_CHANNEL_SETTINGS} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: MY_CHANNEL_SETTINGS,
|
||||
columns: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'notify_props', type: 'string'},
|
||||
],
|
||||
});
|
||||
18
app/database/schema/server/table_schemas/my_team.ts
Normal file
18
app/database/schema/server/table_schemas/my_team.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {MY_TEAM} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: MY_TEAM,
|
||||
columns: [
|
||||
{name: 'is_unread', type: 'boolean'},
|
||||
{name: 'mentions_count', type: 'number'},
|
||||
{name: 'roles', type: 'string'},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
28
app/database/schema/server/table_schemas/post.ts
Normal file
28
app/database/schema/server/table_schemas/post.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {POST} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: POST,
|
||||
columns: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'create_at', type: 'number'},
|
||||
{name: 'delete_at', type: 'number'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
{name: 'edit_at', type: 'number'},
|
||||
{name: 'is_pinned', type: 'boolean'},
|
||||
{name: 'message', type: 'string'},
|
||||
{name: 'original_id', type: 'string'},
|
||||
{name: 'pending_post_id', type: 'string'},
|
||||
{name: 'previous_post_id', type: 'string'},
|
||||
{name: 'props', type: 'string'},
|
||||
{name: 'root_id', type: 'string'},
|
||||
{name: 'type', type: 'string'},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
17
app/database/schema/server/table_schemas/post_metadata.ts
Normal file
17
app/database/schema/server/table_schemas/post_metadata.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {POST_METADATA} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: POST_METADATA,
|
||||
columns: [
|
||||
{name: 'data', type: 'string'},
|
||||
{name: 'post_id', type: 'string', isIndexed: true},
|
||||
{name: 'type', type: 'string'},
|
||||
],
|
||||
});
|
||||
17
app/database/schema/server/table_schemas/posts_in_channel.ts
Normal file
17
app/database/schema/server/table_schemas/posts_in_channel.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {POSTS_IN_CHANNEL} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: POSTS_IN_CHANNEL,
|
||||
columns: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'earliest', type: 'number'},
|
||||
{name: 'latest', type: 'number'},
|
||||
],
|
||||
});
|
||||
17
app/database/schema/server/table_schemas/posts_in_thread.ts
Normal file
17
app/database/schema/server/table_schemas/posts_in_thread.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {POSTS_IN_THREAD} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: POSTS_IN_THREAD,
|
||||
columns: [
|
||||
{name: 'earliest', type: 'number'},
|
||||
{name: 'latest', type: 'number'},
|
||||
{name: 'post_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
18
app/database/schema/server/table_schemas/preference.ts
Normal file
18
app/database/schema/server/table_schemas/preference.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {PREFERENCE} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: PREFERENCE,
|
||||
columns: [
|
||||
{name: 'category', type: 'string', isIndexed: true},
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
{name: 'value', type: 'string'},
|
||||
],
|
||||
});
|
||||
18
app/database/schema/server/table_schemas/reaction.ts
Normal file
18
app/database/schema/server/table_schemas/reaction.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {REACTION} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: REACTION,
|
||||
columns: [
|
||||
{name: 'create_at', type: 'number'},
|
||||
{name: 'emoji_name', type: 'string'},
|
||||
{name: 'post_id', type: 'string', isIndexed: true},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
16
app/database/schema/server/table_schemas/role.ts
Normal file
16
app/database/schema/server/table_schemas/role.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {ROLE} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: ROLE,
|
||||
columns: [
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'permissions', type: 'string'},
|
||||
],
|
||||
});
|
||||
23
app/database/schema/server/table_schemas/slash_command.ts
Normal file
23
app/database/schema/server/table_schemas/slash_command.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {SLASH_COMMAND} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: SLASH_COMMAND,
|
||||
columns: [
|
||||
{name: 'is_auto_complete', type: 'boolean'},
|
||||
{name: 'description', type: 'string'},
|
||||
{name: 'display_name', type: 'string'},
|
||||
{name: 'hint', type: 'string'},
|
||||
{name: 'method', type: 'string'},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
{name: 'token', type: 'string'},
|
||||
{name: 'trigger', type: 'string'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
],
|
||||
});
|
||||
16
app/database/schema/server/table_schemas/system.ts
Normal file
16
app/database/schema/server/table_schemas/system.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {SYSTEM} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: SYSTEM,
|
||||
columns: [
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'value', type: 'string'},
|
||||
],
|
||||
});
|
||||
23
app/database/schema/server/table_schemas/team.ts
Normal file
23
app/database/schema/server/table_schemas/team.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {TEAM} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: TEAM,
|
||||
columns: [
|
||||
{name: 'is_allow_open_invite', type: 'boolean'},
|
||||
{name: 'allowed_domains', type: 'string'},
|
||||
{name: 'description', type: 'string'},
|
||||
{name: 'display_name', type: 'string'},
|
||||
{name: 'is_group_constrained', type: 'boolean'},
|
||||
{name: 'last_team_icon_updated_at', type: 'number'},
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'type', type: 'string'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {TEAM_CHANNEL_HISTORY} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: TEAM_CHANNEL_HISTORY,
|
||||
columns: [
|
||||
{name: 'channel_ids', type: 'string'},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
16
app/database/schema/server/table_schemas/team_membership.ts
Normal file
16
app/database/schema/server/table_schemas/team_membership.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {TEAM_MEMBERSHIP} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: TEAM_MEMBERSHIP,
|
||||
columns: [
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {TEAM_SEARCH_HISTORY} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: TEAM_SEARCH_HISTORY,
|
||||
columns: [
|
||||
{name: 'created_at', type: 'number'},
|
||||
{name: 'display_term', type: 'string'},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
{name: 'term', type: 'string'},
|
||||
],
|
||||
});
|
||||
15
app/database/schema/server/table_schemas/terms_of_service.ts
Normal file
15
app/database/schema/server/table_schemas/terms_of_service.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {TERMS_OF_SERVICE} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: TERMS_OF_SERVICE,
|
||||
columns: [
|
||||
{name: 'accepted_at', type: 'number'},
|
||||
],
|
||||
});
|
||||
33
app/database/schema/server/table_schemas/user.ts
Normal file
33
app/database/schema/server/table_schemas/user.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {tableSchema} from '@nozbe/watermelondb';
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
const {USER} = MM_TABLES.SERVER;
|
||||
|
||||
export default tableSchema({
|
||||
name: USER,
|
||||
columns: [
|
||||
{name: 'auth_service', type: 'string'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
{name: 'delete_at', type: 'number'},
|
||||
{name: 'email', type: 'string'},
|
||||
{name: 'first_name', type: 'string'},
|
||||
{name: 'is_bot', type: 'boolean'},
|
||||
{name: 'is_guest', type: 'boolean'},
|
||||
{name: 'last_name', type: 'string'},
|
||||
{name: 'last_picture_update', type: 'number'},
|
||||
{name: 'locale', type: 'string'},
|
||||
{name: 'nickname', type: 'string'},
|
||||
{name: 'notify_props', type: 'string'},
|
||||
{name: 'position', type: 'string'},
|
||||
{name: 'props', type: 'string'},
|
||||
{name: 'roles', type: 'string'},
|
||||
{name: 'status', type: 'string'},
|
||||
{name: 'timezone', type: 'string'},
|
||||
{name: 'user_id', type: 'string'},
|
||||
{name: 'username', type: 'string'},
|
||||
],
|
||||
});
|
||||
523
app/database/schema/server/test.ts
Normal file
523
app/database/schema/server/test.ts
Normal file
@@ -0,0 +1,523 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import {MM_TABLES} from '@constants/database';
|
||||
|
||||
import {serverSchema} from './index';
|
||||
|
||||
const {
|
||||
CHANNEL,
|
||||
CHANNEL_INFO,
|
||||
CHANNEL_MEMBERSHIP,
|
||||
CUSTOM_EMOJI,
|
||||
DRAFT,
|
||||
FILE,
|
||||
GROUP,
|
||||
GROUPS_IN_CHANNEL,
|
||||
GROUPS_IN_TEAM,
|
||||
GROUP_MEMBERSHIP,
|
||||
MY_CHANNEL,
|
||||
MY_CHANNEL_SETTINGS,
|
||||
MY_TEAM,
|
||||
POST,
|
||||
POSTS_IN_CHANNEL,
|
||||
POSTS_IN_THREAD,
|
||||
POST_METADATA,
|
||||
PREFERENCE,
|
||||
REACTION,
|
||||
ROLE,
|
||||
SLASH_COMMAND,
|
||||
SYSTEM,
|
||||
TEAM,
|
||||
TEAM_CHANNEL_HISTORY,
|
||||
TEAM_MEMBERSHIP,
|
||||
TEAM_SEARCH_HISTORY,
|
||||
TERMS_OF_SERVICE,
|
||||
USER,
|
||||
} = MM_TABLES.SERVER;
|
||||
|
||||
describe('*** Test schema for SERVER database ***', () => {
|
||||
it('=> The SERVER SCHEMA should strictly match', () => {
|
||||
expect(serverSchema).toEqual({
|
||||
version: 1,
|
||||
tables: {
|
||||
[CHANNEL_INFO]: {
|
||||
name: CHANNEL_INFO,
|
||||
columns: {
|
||||
channel_id: {name: 'channel_id', type: 'string', isIndexed: true},
|
||||
guest_count: {name: 'guest_count', type: 'number'},
|
||||
header: {name: 'header', type: 'string'},
|
||||
member_count: {name: 'member_count', type: 'number'},
|
||||
pinned_post_count: {name: 'pinned_post_count', type: 'number'},
|
||||
purpose: {name: 'purpose', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'guest_count', type: 'number'},
|
||||
{name: 'header', type: 'string'},
|
||||
{name: 'member_count', type: 'number'},
|
||||
{name: 'pinned_post_count', type: 'number'},
|
||||
{name: 'purpose', type: 'string'},
|
||||
],
|
||||
},
|
||||
[CHANNEL]: {
|
||||
name: CHANNEL,
|
||||
columns: {
|
||||
create_at: {name: 'create_at', type: 'number'},
|
||||
creator_id: {name: 'creator_id', type: 'string', isIndexed: true},
|
||||
delete_at: {name: 'delete_at', type: 'number'},
|
||||
display_name: {name: 'display_name', type: 'string'},
|
||||
is_group_constrained: {
|
||||
name: 'is_group_constrained',
|
||||
type: 'boolean',
|
||||
},
|
||||
name: {name: 'name', type: 'string', isIndexed: true},
|
||||
team_id: {name: 'team_id', type: 'string', isIndexed: true},
|
||||
type: {name: 'type', type: 'string'},
|
||||
update_at: {name: 'update_at', type: 'number'},
|
||||
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'create_at', type: 'number'},
|
||||
{name: 'creator_id', type: 'string', isIndexed: true},
|
||||
{name: 'delete_at', type: 'number'},
|
||||
{name: 'display_name', type: 'string'},
|
||||
{name: 'is_group_constrained', type: 'boolean'},
|
||||
{name: 'name', type: 'string', isIndexed: true},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
{name: 'type', type: 'string'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
],
|
||||
},
|
||||
[CHANNEL_MEMBERSHIP]: {
|
||||
name: CHANNEL_MEMBERSHIP,
|
||||
columns: {
|
||||
channel_id: {name: 'channel_id', type: 'string', isIndexed: true},
|
||||
user_id: {name: 'user_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[CUSTOM_EMOJI]: {
|
||||
name: CUSTOM_EMOJI,
|
||||
columns: {
|
||||
name: {name: 'name', type: 'string'},
|
||||
},
|
||||
columnArray: [{name: 'name', type: 'string'}],
|
||||
},
|
||||
[MY_CHANNEL]: {
|
||||
name: MY_CHANNEL,
|
||||
columns: {
|
||||
channel_id: {name: 'channel_id', type: 'string', isIndexed: true},
|
||||
last_post_at: {name: 'last_post_at', type: 'number'},
|
||||
last_viewed_at: {name: 'last_viewed_at', type: 'number'},
|
||||
mentions_count: {name: 'mentions_count', type: 'number'},
|
||||
message_count: {name: 'message_count', type: 'number'},
|
||||
roles: {name: 'roles', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'last_post_at', type: 'number'},
|
||||
{name: 'last_viewed_at', type: 'number'},
|
||||
{name: 'mentions_count', type: 'number'},
|
||||
{name: 'message_count', type: 'number'},
|
||||
{name: 'roles', type: 'string'},
|
||||
],
|
||||
},
|
||||
[MY_CHANNEL_SETTINGS]: {
|
||||
name: MY_CHANNEL_SETTINGS,
|
||||
columns: {
|
||||
channel_id: {name: 'channel_id', type: 'string', isIndexed: true},
|
||||
notify_props: {name: 'notify_props', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'notify_props', type: 'string'},
|
||||
],
|
||||
},
|
||||
[POSTS_IN_CHANNEL]: {
|
||||
name: POSTS_IN_CHANNEL,
|
||||
columns: {
|
||||
channel_id: {name: 'channel_id', type: 'string', isIndexed: true},
|
||||
earliest: {name: 'earliest', type: 'number'},
|
||||
latest: {name: 'latest', type: 'number'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'earliest', type: 'number'},
|
||||
{name: 'latest', type: 'number'},
|
||||
],
|
||||
},
|
||||
[DRAFT]: {
|
||||
name: DRAFT,
|
||||
columns: {
|
||||
channel_id: {name: 'channel_id', type: 'string', isIndexed: true},
|
||||
files: {name: 'files', type: 'string'},
|
||||
message: {name: 'message', type: 'string'},
|
||||
root_id: {name: 'root_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'files', type: 'string'},
|
||||
{name: 'message', type: 'string'},
|
||||
{name: 'root_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[FILE]: {
|
||||
name: FILE,
|
||||
columns: {
|
||||
extension: {name: 'extension', type: 'string'},
|
||||
height: {name: 'height', type: 'number'},
|
||||
image_thumbnail: {name: 'image_thumbnail', type: 'string'},
|
||||
local_path: {name: 'local_path', type: 'string'},
|
||||
mime_type: {name: 'mime_type', type: 'string'},
|
||||
name: {name: 'name', type: 'string'},
|
||||
post_id: {name: 'post_id', type: 'string', isIndexed: true},
|
||||
size: {name: 'size', type: 'number'},
|
||||
width: {name: 'width', type: 'number'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'extension', type: 'string'},
|
||||
{name: 'height', type: 'number'},
|
||||
{name: 'image_thumbnail', type: 'string'},
|
||||
{name: 'local_path', type: 'string'},
|
||||
{name: 'mime_type', type: 'string'},
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'post_id', type: 'string', isIndexed: true},
|
||||
{name: 'size', type: 'number'},
|
||||
{name: 'width', type: 'number'},
|
||||
],
|
||||
},
|
||||
[POSTS_IN_THREAD]: {
|
||||
name: POSTS_IN_THREAD,
|
||||
columns: {
|
||||
earliest: {name: 'earliest', type: 'number'},
|
||||
latest: {name: 'latest', type: 'number'},
|
||||
post_id: {name: 'post_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'earliest', type: 'number'},
|
||||
{name: 'latest', type: 'number'},
|
||||
{name: 'post_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[POST_METADATA]: {
|
||||
name: POST_METADATA,
|
||||
columns: {
|
||||
data: {name: 'data', type: 'string'},
|
||||
post_id: {name: 'post_id', type: 'string', isIndexed: true},
|
||||
type: {name: 'type', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'data', type: 'string'},
|
||||
{name: 'post_id', type: 'string', isIndexed: true},
|
||||
{name: 'type', type: 'string'},
|
||||
],
|
||||
},
|
||||
[POST]: {
|
||||
name: POST,
|
||||
columns: {
|
||||
channel_id: {name: 'channel_id', type: 'string', isIndexed: true},
|
||||
create_at: {name: 'create_at', type: 'number'},
|
||||
delete_at: {name: 'delete_at', type: 'number'},
|
||||
update_at: {name: 'update_at', type: 'number'},
|
||||
edit_at: {name: 'edit_at', type: 'number'},
|
||||
is_pinned: {name: 'is_pinned', type: 'boolean'},
|
||||
message: {name: 'message', type: 'string'},
|
||||
original_id: {name: 'original_id', type: 'string'},
|
||||
pending_post_id: {name: 'pending_post_id', type: 'string'},
|
||||
previous_post_id: {name: 'previous_post_id', type: 'string'},
|
||||
props: {name: 'props', type: 'string'},
|
||||
root_id: {name: 'root_id', type: 'string'},
|
||||
type: {name: 'type', type: 'string'},
|
||||
user_id: {name: 'user_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'create_at', type: 'number'},
|
||||
{name: 'delete_at', type: 'number'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
{name: 'edit_at', type: 'number'},
|
||||
{name: 'is_pinned', type: 'boolean'},
|
||||
{name: 'message', type: 'string'},
|
||||
{name: 'original_id', type: 'string'},
|
||||
{name: 'pending_post_id', type: 'string'},
|
||||
{name: 'previous_post_id', type: 'string'},
|
||||
{name: 'props', type: 'string'},
|
||||
{name: 'root_id', type: 'string'},
|
||||
{name: 'type', type: 'string'},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[GROUP]: {
|
||||
name: GROUP,
|
||||
columns: {
|
||||
display_name: {name: 'display_name', type: 'string'},
|
||||
name: {name: 'name', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'display_name', type: 'string'},
|
||||
{name: 'name', type: 'string'},
|
||||
],
|
||||
},
|
||||
[GROUPS_IN_CHANNEL]: {
|
||||
name: GROUPS_IN_CHANNEL,
|
||||
columns: {
|
||||
channel_id: {name: 'channel_id', type: 'string', isIndexed: true},
|
||||
group_id: {name: 'group_id', type: 'string', isIndexed: true},
|
||||
member_count: {name: 'member_count', type: 'number'},
|
||||
timezone_count: {name: 'timezone_count', type: 'number'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_id', type: 'string', isIndexed: true},
|
||||
{name: 'group_id', type: 'string', isIndexed: true},
|
||||
{name: 'member_count', type: 'number'},
|
||||
{name: 'timezone_count', type: 'number'},
|
||||
],
|
||||
},
|
||||
[GROUPS_IN_TEAM]: {
|
||||
name: GROUPS_IN_TEAM,
|
||||
columns: {
|
||||
group_id: {name: 'group_id', type: 'string', isIndexed: true},
|
||||
team_id: {name: 'team_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'group_id', type: 'string', isIndexed: true},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[GROUP_MEMBERSHIP]: {
|
||||
name: GROUP_MEMBERSHIP,
|
||||
columns: {
|
||||
group_id: {name: 'group_id', type: 'string', isIndexed: true},
|
||||
user_id: {name: 'user_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'group_id', type: 'string', isIndexed: true},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[PREFERENCE]: {
|
||||
name: PREFERENCE,
|
||||
columns: {
|
||||
category: {name: 'category', type: 'string', isIndexed: true},
|
||||
name: {name: 'name', type: 'string'},
|
||||
user_id: {name: 'user_id', type: 'string', isIndexed: true},
|
||||
value: {name: 'value', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'category', type: 'string', isIndexed: true},
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
{name: 'value', type: 'string'},
|
||||
],
|
||||
},
|
||||
[REACTION]: {
|
||||
name: REACTION,
|
||||
columns: {
|
||||
create_at: {name: 'create_at', type: 'number'},
|
||||
emoji_name: {name: 'emoji_name', type: 'string'},
|
||||
post_id: {name: 'post_id', type: 'string', isIndexed: true},
|
||||
user_id: {name: 'user_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'create_at', type: 'number'},
|
||||
{name: 'emoji_name', type: 'string'},
|
||||
{name: 'post_id', type: 'string', isIndexed: true},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[MY_TEAM]: {
|
||||
name: MY_TEAM,
|
||||
columns: {
|
||||
is_unread: {name: 'is_unread', type: 'boolean'},
|
||||
mentions_count: {name: 'mentions_count', type: 'number'},
|
||||
roles: {name: 'roles', type: 'string'},
|
||||
team_id: {name: 'team_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'is_unread', type: 'boolean'},
|
||||
{name: 'mentions_count', type: 'number'},
|
||||
{name: 'roles', type: 'string'},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[ROLE]: {
|
||||
name: ROLE,
|
||||
columns: {
|
||||
name: {name: 'name', type: 'string'},
|
||||
permissions: {name: 'permissions', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'permissions', type: 'string'},
|
||||
],
|
||||
},
|
||||
[SLASH_COMMAND]: {
|
||||
name: SLASH_COMMAND,
|
||||
columns: {
|
||||
is_auto_complete: {name: 'is_auto_complete', type: 'boolean'},
|
||||
description: {name: 'description', type: 'string'},
|
||||
display_name: {name: 'display_name', type: 'string'},
|
||||
hint: {name: 'hint', type: 'string'},
|
||||
method: {name: 'method', type: 'string'},
|
||||
team_id: {name: 'team_id', type: 'string', isIndexed: true},
|
||||
token: {name: 'token', type: 'string'},
|
||||
trigger: {name: 'trigger', type: 'string'},
|
||||
update_at: {name: 'update_at', type: 'number'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'is_auto_complete', type: 'boolean'},
|
||||
{name: 'description', type: 'string'},
|
||||
{name: 'display_name', type: 'string'},
|
||||
{name: 'hint', type: 'string'},
|
||||
{name: 'method', type: 'string'},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
{name: 'token', type: 'string'},
|
||||
{name: 'trigger', type: 'string'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
],
|
||||
},
|
||||
[SYSTEM]: {
|
||||
name: SYSTEM,
|
||||
columns: {
|
||||
name: {name: 'name', type: 'string'},
|
||||
value: {name: 'value', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'value', type: 'string'},
|
||||
],
|
||||
},
|
||||
[TEAM]: {
|
||||
name: TEAM,
|
||||
columns: {
|
||||
is_allow_open_invite: {
|
||||
name: 'is_allow_open_invite',
|
||||
type: 'boolean',
|
||||
},
|
||||
allowed_domains: {name: 'allowed_domains', type: 'string'},
|
||||
description: {name: 'description', type: 'string'},
|
||||
display_name: {name: 'display_name', type: 'string'},
|
||||
is_group_constrained: {
|
||||
name: 'is_group_constrained',
|
||||
type: 'boolean',
|
||||
},
|
||||
last_team_icon_updated_at: {
|
||||
name: 'last_team_icon_updated_at',
|
||||
type: 'number',
|
||||
},
|
||||
name: {name: 'name', type: 'string'},
|
||||
type: {name: 'type', type: 'string'},
|
||||
update_at: {name: 'update_at', type: 'number'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'is_allow_open_invite', type: 'boolean'},
|
||||
{name: 'allowed_domains', type: 'string'},
|
||||
{name: 'description', type: 'string'},
|
||||
{name: 'display_name', type: 'string'},
|
||||
{name: 'is_group_constrained', type: 'boolean'},
|
||||
{name: 'last_team_icon_updated_at', type: 'number'},
|
||||
{name: 'name', type: 'string'},
|
||||
{name: 'type', type: 'string'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
],
|
||||
},
|
||||
[TEAM_CHANNEL_HISTORY]: {
|
||||
name: TEAM_CHANNEL_HISTORY,
|
||||
columns: {
|
||||
channel_ids: {name: 'channel_ids', type: 'string'},
|
||||
team_id: {name: 'team_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'channel_ids', type: 'string'},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[TEAM_MEMBERSHIP]: {
|
||||
name: TEAM_MEMBERSHIP,
|
||||
columns: {
|
||||
team_id: {name: 'team_id', type: 'string', isIndexed: true},
|
||||
user_id: {name: 'user_id', type: 'string', isIndexed: true},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
{name: 'user_id', type: 'string', isIndexed: true},
|
||||
],
|
||||
},
|
||||
[TEAM_SEARCH_HISTORY]: {
|
||||
name: TEAM_SEARCH_HISTORY,
|
||||
columns: {
|
||||
created_at: {name: 'created_at', type: 'number'},
|
||||
display_term: {name: 'display_term', type: 'string'},
|
||||
team_id: {name: 'team_id', type: 'string', isIndexed: true},
|
||||
term: {name: 'term', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'created_at', type: 'number'},
|
||||
{name: 'display_term', type: 'string'},
|
||||
{name: 'team_id', type: 'string', isIndexed: true},
|
||||
{name: 'term', type: 'string'},
|
||||
],
|
||||
},
|
||||
[TERMS_OF_SERVICE]: {
|
||||
name: TERMS_OF_SERVICE,
|
||||
columns: {
|
||||
accepted_at: {name: 'accepted_at', type: 'number'},
|
||||
},
|
||||
columnArray: [{name: 'accepted_at', type: 'number'}],
|
||||
},
|
||||
[USER]: {
|
||||
name: USER,
|
||||
columns: {
|
||||
auth_service: {name: 'auth_service', type: 'string'},
|
||||
update_at: {name: 'update_at', type: 'number'},
|
||||
delete_at: {name: 'delete_at', type: 'number'},
|
||||
email: {name: 'email', type: 'string'},
|
||||
first_name: {name: 'first_name', type: 'string'},
|
||||
is_bot: {name: 'is_bot', type: 'boolean'},
|
||||
is_guest: {name: 'is_guest', type: 'boolean'},
|
||||
last_name: {name: 'last_name', type: 'string'},
|
||||
last_picture_update: {
|
||||
name: 'last_picture_update',
|
||||
type: 'number',
|
||||
},
|
||||
locale: {name: 'locale', type: 'string'},
|
||||
nickname: {name: 'nickname', type: 'string'},
|
||||
notify_props: {name: 'notify_props', type: 'string'},
|
||||
position: {name: 'position', type: 'string'},
|
||||
props: {name: 'props', type: 'string'},
|
||||
roles: {name: 'roles', type: 'string'},
|
||||
status: {name: 'status', type: 'string'},
|
||||
timezone: {name: 'timezone', type: 'string'},
|
||||
user_id: {name: 'user_id', type: 'string'},
|
||||
username: {name: 'username', type: 'string'},
|
||||
},
|
||||
columnArray: [
|
||||
{name: 'auth_service', type: 'string'},
|
||||
{name: 'update_at', type: 'number'},
|
||||
{name: 'delete_at', type: 'number'},
|
||||
{name: 'email', type: 'string'},
|
||||
{name: 'first_name', type: 'string'},
|
||||
{name: 'is_bot', type: 'boolean'},
|
||||
{name: 'is_guest', type: 'boolean'},
|
||||
{name: 'last_name', type: 'string'},
|
||||
{name: 'last_picture_update', type: 'number'},
|
||||
{name: 'locale', type: 'string'},
|
||||
{name: 'nickname', type: 'string'},
|
||||
{name: 'notify_props', type: 'string'},
|
||||
{name: 'position', type: 'string'},
|
||||
{name: 'props', type: 'string'},
|
||||
{name: 'roles', type: 'string'},
|
||||
{name: 'status', type: 'string'},
|
||||
{name: 'timezone', type: 'string'},
|
||||
{name: 'user_id', type: 'string'},
|
||||
{name: 'username', type: 'string'},
|
||||
],
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user