UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

30 lines (29 loc) 1.72 kB
import { IGroupStore, IStoreGroup } from '../types/stores/group-store'; import { Knex } from 'knex'; import Group, { IGroup, IGroupModel, IGroupProject, IGroupRole, IGroupUser, IGroupUserModel } from '../types/group'; import Transaction = Knex.Transaction; export default class GroupStore implements IGroupStore { private db; constructor(db: Knex); getAllWithId(ids: number[]): Promise<Group[]>; update(group: IGroupModel): Promise<IGroup>; getProjectGroupRoles(projectId: string): Promise<IGroupRole[]>; getGroupProjects(groupIds: number[]): Promise<IGroupProject[]>; getAllUsersByGroups(groupIds: number[]): Promise<IGroupUser[]>; getAll(): Promise<Group[]>; delete(id: number): Promise<void>; deleteAll(): Promise<void>; destroy(): void; exists(id: number): Promise<boolean>; existsWithName(name: string): Promise<boolean>; get(id: number): Promise<Group>; create(group: IStoreGroup): Promise<Group>; count(): Promise<number>; addUsersToGroup(groupId: number, users: IGroupUserModel[], userName: string, transaction?: Transaction): Promise<void>; deleteUsersFromGroup(deletableUsers: IGroupUser[], transaction?: Transaction): Promise<void>; updateGroupUsers(groupId: number, newUsers: IGroupUserModel[], existingUsers: IGroupUserModel[], deletableUsers: IGroupUser[], userName: string): Promise<void>; getNewGroupsForExternalUser(userId: number, externalGroups: string[]): Promise<IGroup[]>; addUserToGroups(userId: number, groupIds: number[], createdBy?: string): Promise<void>; getOldGroupsForExternalUser(userId: number, externalGroups: string[]): Promise<IGroupUser[]>; getGroupsForUser(userId: number): Promise<Group[]>; }