All files / server/gql/users/lib groups.ts

0% Statements 0/14
0% Branches 0/2
0% Functions 0/5
0% Lines 0/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                                                       
import { GroupType } from 'aws-sdk/clients/cognitoidentityserviceprovider';
import { Pool, UserPoolId } from '../../../index';
 
export const setGroups = (Username: string, groups: string[]) => {
  return Promise.all(
    groups.map((GroupName: string) =>
      Pool.adminAddUserToGroup({
        Username,
        UserPoolId,
        GroupName,
      }).promise(),
    ),
  )
    .then((data: any) => data)
    .catch((err: any) => {
      throw new Error(`"A user's groups could not be updated: ", ${err}`);
    });
};
 
export const getGroups = async (Username: string) => {
  const params = {
    UserPoolId,
    Username,
  };
 
  const groupListData = await Pool.adminListGroupsForUser(params).promise();
 
  const currentGroupList =
    groupListData.Groups &&
    (groupListData.Groups.map(
      (Group: GroupType) => Group.GroupName,
    ) as string[]);
 
  return currentGroupList;
};