forked from Ivasoft/mattermost-mobile
* make all models implement their respective interface * make all models implement their respective interface
26 lines
843 B
TypeScript
26 lines
843 B
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {Model} from '@nozbe/watermelondb';
|
|
import {field, json} from '@nozbe/watermelondb/decorators';
|
|
|
|
import {MM_TABLES} from '@constants/database';
|
|
import {safeParseJSON} from '@utils/helpers';
|
|
|
|
import type RoleModelInterface from '@typings/database/models/servers/role';
|
|
|
|
const {ROLE} = MM_TABLES.SERVER;
|
|
|
|
/** The Role model will describe the set of permissions for each role */
|
|
export default class RoleModel extends Model implements RoleModelInterface {
|
|
/** table (name) : Role */
|
|
static table = ROLE;
|
|
|
|
/** name : The role's name */
|
|
@field('name') name!: string;
|
|
|
|
/** permissions : The different permissions associated to that role */
|
|
@json('permissions', safeParseJSON) permissions!: string[];
|
|
}
|
|
|