mirror of
https://github.com/wassname/talk.git
synced 2026-07-02 20:14:44 +08:00
Add previous username to notification
This commit is contained in:
@@ -95,10 +95,18 @@ class FlaggedAccountsContainer extends Component {
|
||||
document: USERNAME_CHANGED_SUBSCRIPTION,
|
||||
updateQuery: (
|
||||
prev,
|
||||
{ subscriptionData: { data: { usernameChanged: user } } }
|
||||
{
|
||||
subscriptionData: {
|
||||
data: { usernameChanged: { previousUsername, user } },
|
||||
},
|
||||
}
|
||||
) => {
|
||||
return handleFlaggedUsernameChange(prev, user, () => {
|
||||
const msg = t('flagged_usernames.notify_changed', 'TODO', user.username);
|
||||
const msg = t(
|
||||
'flagged_usernames.notify_changed',
|
||||
previousUsername,
|
||||
user.username
|
||||
);
|
||||
this.props.notify('info', msg);
|
||||
});
|
||||
},
|
||||
@@ -263,8 +271,11 @@ const USERNAME_REJECTED_SUBSCRIPTION = gql`
|
||||
const USERNAME_CHANGED_SUBSCRIPTION = gql`
|
||||
subscription TalkAdmin_UsernameChanged {
|
||||
usernameChanged {
|
||||
...${getDefinitionName(FlaggedUser.fragments.user)}
|
||||
${historyFields}
|
||||
previousUsername
|
||||
user {
|
||||
...${getDefinitionName(FlaggedUser.fragments.user)}
|
||||
${historyFields}
|
||||
}
|
||||
}
|
||||
}
|
||||
${FlaggedUser.fragments.user}
|
||||
|
||||
@@ -57,7 +57,8 @@ const stopIgnoringUser = ({ user }, userToStopIgnoring) => {
|
||||
|
||||
const changeUsername = async (ctx, id, username) => {
|
||||
const user = await UsersService.changeUsername(id, username, ctx.user.id);
|
||||
ctx.pubsub.publish('usernameChanged', user);
|
||||
const previousUsername = ctx.user.username;
|
||||
ctx.pubsub.publish('usernameChanged', { previousUsername, user });
|
||||
return user;
|
||||
};
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ const setupFunctions = {
|
||||
}
|
||||
return !args.user_id || user.id === args.user_id;
|
||||
},
|
||||
usernameChanged: (options, args, user, context) => {
|
||||
usernameChanged: (options, args, { user }, context) => {
|
||||
if (
|
||||
!context.user ||
|
||||
(args.user_id !== user.id &&
|
||||
|
||||
@@ -1465,6 +1465,11 @@ type RootMutation {
|
||||
stopIgnoringUser(id: ID!): StopIgnoringUserResponse
|
||||
}
|
||||
|
||||
type UsernameChangedPayload {
|
||||
previousUsername: String
|
||||
user: User
|
||||
}
|
||||
|
||||
################################################################################
|
||||
## Subscriptions
|
||||
################################################################################
|
||||
@@ -1522,7 +1527,7 @@ type Subscription {
|
||||
|
||||
# Get an update whenever a username has been changed. `user_id` must match id
|
||||
# of current user except for users with the `ADMIN` or `MODERATOR` role.
|
||||
usernameChanged(user_id: ID): User
|
||||
usernameChanged(user_id: ID): UsernameChangedPayload
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
||||
Reference in New Issue
Block a user