From 8a5825d52271d712ec7c8348447d433067e13ef2 Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Thu, 13 Sep 2018 14:18:56 -0400 Subject: DONE --- .../frontend/components/Permissions.js | 133 --------------------- 1 file changed, 133 deletions(-) delete mode 100644 finished-application/frontend/components/Permissions.js (limited to 'finished-application/frontend/components/Permissions.js') diff --git a/finished-application/frontend/components/Permissions.js b/finished-application/frontend/components/Permissions.js deleted file mode 100644 index 52a6acf..0000000 --- a/finished-application/frontend/components/Permissions.js +++ /dev/null @@ -1,133 +0,0 @@ -import React from 'react'; -import { Query, Mutation } from 'react-apollo'; -import PropTypes from 'prop-types'; -import gql from 'graphql-tag'; -import Error from './ErrorMessage'; -import SickButton from './styles/SickButton'; -import Table from './styles/Table'; - -const ALL_USERS_QUERY = gql` - query { - users { - id - name - email - permissions - } - } -`; - -const UPDATE_PERMISSIONS_MUTATION = gql` - mutation updatePermissions($permissions: [Permission], $userId: ID!) { - updatePermissions(permissions: $permissions, userId: $userId) { - id - permissions - name - email - } - } -`; - -const possiblePermissions = [ - 'ADMIN', - 'USER', - 'ITEMCREATE', - 'ITEMUPDATE', - 'ITEMDELETE', - 'PERMISSIONUPDATE', -]; - -class User extends React.Component { - static propTypes = { - user: PropTypes.shape({ - permissions: PropTypes.array.isRequired, - id: PropTypes.string.isRequired, - }).isRequired, - }; - state = { - permissions: this.props.user.permissions, - }; - handlePermissionsChange = e => { - const checkbox = e.target; - let updatedPermissions = [...this.state.permissions]; - if (checkbox.checked) { - // add it in - updatedPermissions.push(checkbox.value); - } else { - updatedPermissions = updatedPermissions.filter(permission => permission !== checkbox.value); - } - this.setState({ permissions: updatedPermissions }); - }; - render() { - const { user } = this.props; - return ( - - {(updatePermissions, { loading, error }) => ( - - - {user.name} - {user.email} - {possiblePermissions.map(permission => ( - - - - ))} - - { - await updatePermissions({ - variables: { - permissions: this.state.permissions, - userId: this.props.user.id, - }, - }); - }} - > - Updat{loading ? 'ing' : 'e'} - - - - )} - - ); - } -} - -const Permissions = () => ( - - {({ data, error, loading }) => { - if (loading) return
Loading
; - if (error) return ; - return ( -
-

Manage User Permissions

- - - - - - {possiblePermissions.map(p => )} - - - - {data.users.map(user => )} -
NameEmail{p}👇🏻
-
- ); - }} -
-); - -export default Permissions; -export { ALL_USERS_QUERY, UPDATE_PERMISSIONS_MUTATION }; -- cgit v1.3