Skip to content

Commit

Permalink
fix(rn): contactRequest and contactAcceptRequest arguments
Browse files Browse the repository at this point in the history
Signed-off-by: Godefroy Ponsinet <godefroy.ponsinet@outlook.com>
  • Loading branch information
90dy committed Feb 11, 2019
1 parent 18fb4e3 commit 4030b1b
Show file tree
Hide file tree
Showing 14 changed files with 302 additions and 268 deletions.
@@ -1,29 +1,36 @@
import React from 'react'
import { withNavigation } from 'react-navigation'
import RelayContext from '../../../relay/RelayContext'
import defaultValuesContact from '../../../utils/contact'
import { btoa } from 'b64-lite'
import ActionList from './ActionList'
import { withNamespaces } from 'react-i18next'

const ActionsAdd = ({ data, self, navigation, inModal, t }) => <RelayContext.Consumer>{({ mutations }) =>
<ActionList inModal={inModal}>
<ActionList.Action icon={'plus'} title={t('contacts.add-action')} dismissOnSuccess action={async () => {
await mutations.contactRequest({
contact: {
...defaultValuesContact,
...data,
id: btoa(`contact:${data.id}`),
},
introText: '',
})
const ActionsAdd = ({ data, self, navigation, inModal, t }) => (
<RelayContext.Consumer>
{({ mutations }) => (
<ActionList inModal={inModal}>
<ActionList.Action
icon={'plus'}
title={t('contacts.add-action')}
dismissOnSuccess
action={async () => {
await mutations.contactRequest({
contactId: btoa(`contact:${data.id}`),
contactOverrideDisplayName:
data.overrideDisplayName || data.displayName || '',
introText: '',
})

const beforeDismiss = navigation.getParam('beforeDismiss')
if (beforeDismiss) {
beforeDismiss()
}
}} successMessage={t('contacts.add-action-feedback')} />
</ActionList>
}</RelayContext.Consumer>
const beforeDismiss = navigation.getParam('beforeDismiss')
if (beforeDismiss) {
beforeDismiss()
}
}}
successMessage={t('contacts.add-action-feedback')}
/>
</ActionList>
)}
</RelayContext.Consumer>
)

export default withNamespaces()(withNavigation(ActionsAdd))
Expand Up @@ -4,15 +4,27 @@ import ActionList from './ActionList'
import RelayContext from '../../../relay/RelayContext'
import { withNamespaces } from 'react-i18next'

const ReceivedActions = ({ data: { id }, inModal, t }) => <RelayContext.Consumer>{({ mutations }) =>
<ActionList inModal={inModal}>
<ActionList.Action icon={'check'} color={colors.blue} title={t('contacts.accept-action')}
action={() => mutations.contactAcceptRequest({ id })}
successMessage={t('contacts.accept-action-feedback')} />
<ActionList.Action icon={'x'} color={colors.white} title={inModal ? t('contacts.decline-action') : null}
action={() => mutations.contactRemove({ id })}
successMessage={t('contacts.decline-action-feedback')} />
</ActionList>
}</RelayContext.Consumer>
const ReceivedActions = ({ data: { id }, inModal, t }) => (
<RelayContext.Consumer>
{({ mutations }) => (
<ActionList inModal={inModal}>
<ActionList.Action
icon={'check'}
color={colors.blue}
title={t('contacts.accept-action')}
action={() => mutations.contactAcceptRequest({ contactId: id })}
successMessage={t('contacts.accept-action-feedback')}
/>
<ActionList.Action
icon={'x'}
color={colors.white}
title={inModal ? t('contacts.decline-action') : null}
action={() => mutations.contactRemove({ id })}
successMessage={t('contacts.decline-action-feedback')}
/>
</ActionList>
)}
</RelayContext.Consumer>
)

export default withNamespaces()(ReceivedActions)
Expand Up @@ -4,21 +4,44 @@ import ActionList from './ActionList'
import RelayContext from '../../../relay/RelayContext'
import { withNamespaces } from 'react-i18next'

const ActionsSent = ({ data, inModal, t }) => <RelayContext.Consumer>{({ mutations }) =>
<ActionList inModal={inModal}>
<ActionList.Action icon={'send'} color={colors.green} title={t('contacts.resend-action')} dismissOnSuccess
action={() => mutations.contactRequest({
contact: Object.keys(data).filter(key => key.substring(0, 2) !== '__').reduce((acc, key) => ({
...acc,
[key]: data[key],
}), {}),
introText: '',
})}
successMessage={t('contacts.resend-action-feedback')} />
<ActionList.Action icon={'x'} color={colors.white} title={inModal ? t('contacts.cancel-request-action') : null}
action={() => mutations.contactRemove({ id: data.id })}
successMessage={t('contacts.cancel-request-action-feedback')} />
</ActionList>
}</RelayContext.Consumer>
const ActionsSent = ({ data, inModal, t }) => (
<RelayContext.Consumer>
{({ mutations }) => (
<ActionList inModal={inModal}>
<ActionList.Action
icon={'send'}
color={colors.green}
title={t('contacts.resend-action')}
dismissOnSuccess
action={() => {
const contact = Object.keys(data)
.filter(key => key.substring(0, 2) !== '__')
.reduce(
(acc, key) => ({
...acc,
[key]: data[key],
}),
{}
)
return mutations.contactRequest({
contactId: contact.id,
contactOverrideDisplayName:
contact.overrideDisplayName || contact.displayName || '',
introText: '',
})
}}
successMessage={t('contacts.resend-action-feedback')}
/>
<ActionList.Action
icon={'x'}
color={colors.white}
title={inModal ? t('contacts.cancel-request-action') : null}
action={() => mutations.contactRemove({ id: data.id })}
successMessage={t('contacts.cancel-request-action-feedback')}
/>
</ActionList>
)}
</RelayContext.Consumer>
)

export default withNamespaces()(ActionsSent)
@@ -1,24 +1,11 @@
import { graphql } from 'react-relay'

import { commit } from '../../relay'
import { contact } from '../../utils'
import { merge } from '../../helpers'

const ContactAcceptRequestMutation = graphql`
mutation ContactAcceptRequestMutation(
$id: ID!
$displayName: String!
$displayStatus: String!
$overrideDisplayName: String!
$overrideDisplayStatus: String!
) {
ContactAcceptRequest(
id: $id
displayName: $displayName
displayStatus: $displayStatus
overrideDisplayName: $overrideDisplayName
overrideDisplayStatus: $overrideDisplayStatus
) {
mutation ContactAcceptRequestMutation($contactId: ID!) {
ContactAcceptRequest(contactId: $contactId) {
id
createdAt
updatedAt
Expand Down Expand Up @@ -46,6 +33,6 @@ export default context => (input, configs) =>
context.environment,
ContactAcceptRequestMutation,
'ContactAcceptRequest',
merge([contact.default, input]),
configs,
merge([{ contactId: '' }, input]),
configs
)
14 changes: 9 additions & 5 deletions client/react-native/common/graphql/mutations/ContactRequest.js
@@ -1,15 +1,19 @@
import { graphql } from 'react-relay'

import { commit } from '../../relay'
import { contact } from '../../utils'
import { merge } from '../../helpers'

const ContactRequestMutation = graphql`
mutation ContactRequestMutation(
$contact: BertyEntityContactInput
$contactId: ID!
$contactOverrideDisplayName: String!
$introText: String!
) {
ContactRequest(contact: $contact, introText: $introText) {
ContactRequest(
contactId: $contactId
contactOverrideDisplayName: $contactOverrideDisplayName
introText: $introText
) {
id
createdAt
updatedAt
Expand Down Expand Up @@ -37,6 +41,6 @@ export default context => (input, configs) =>
context.environment,
ContactRequestMutation,
'ContactRequest',
merge([contact.default, input]),
configs,
merge([{ id: '', contactOverrideDisplayName: '', introText: '' }, input]),
configs
)
10 changes: 3 additions & 7 deletions client/react-native/common/helpers/contacts.js
Expand Up @@ -11,19 +11,15 @@ import { BASE_WEBSITE_URL } from '../constants'

export const requestContact = async (
contactId,
overrideDisplayName,
displayName,
navigation,
errorHandler
) => {
try {
await mutations.contactRequest.commit({
contact: {
id: btoa(`contact:${contactId}`),
displayName: displayName,
displayStatus: '',
overrideDisplayName: '',
overrideDisplayStatus: '',
},
contactId: btoa(`contact:${contactId}`),
contactOverrideDisplayName: overrideDisplayName || displayName || '',
introText: '',
})
navigation.goBack(null)
Expand Down
4 changes: 2 additions & 2 deletions client/react-native/common/schema.graphql

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions core/api/node/graphql/gqlgen.gen.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions core/api/node/graphql/graph/generated/generated.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions core/api/node/graphql/service.gen.graphql

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 4030b1b

Please sign in to comment.