mattermost-mobile/app/queries/servers/role.ts
Daniel Espino García 7c642b1e80
[Gekidou] Extract common observers to queries (#5984)
* Extract common observers to queries

* Separate also queries and more agressive refactoring

* Use query to avoid throws from findAndObserve

* Fix minor error

* Address feedback

* Address feedback

* Address feedback

* Fix model types

* Address feedback
2022-03-23 09:19:29 -03:00

27 lines
880 B
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {Database, Q} from '@nozbe/watermelondb';
import {Database as DatabaseConstants} from '@constants';
import type RoleModel from '@typings/database/models/servers/role';
const {ROLE} = DatabaseConstants.MM_TABLES.SERVER;
export const queryRoles = (database: Database) => {
return database.collections.get<RoleModel>(ROLE).query();
};
export const getRoleById = async (database: Database, roleId: string): Promise<RoleModel|undefined> => {
try {
const role = (await database.get<RoleModel>(ROLE).find(roleId));
return role;
} catch {
return undefined;
}
};
export const queryRolesByNames = (database: Database, names: string[]) => {
return database.get<RoleModel>(ROLE).query(Q.where('name', Q.oneOf(names)));
};