add an invite-delete function
This commit is contained in:
@@ -60,6 +60,13 @@
|
||||
<td class="py-2 text-center">
|
||||
{{ getTruncatedRedeemedBy(invite.redeemedBy) }}
|
||||
</td>
|
||||
<td>
|
||||
<fa
|
||||
icon="trash-can"
|
||||
class="text-red-600 text-xl ml-2 mr-2 cursor-pointer"
|
||||
@click="deleteInvite(invite.inviteIdentifier)"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -153,6 +160,27 @@ export default class InviteOneView extends Vue {
|
||||
);
|
||||
}
|
||||
|
||||
lookForErrorAndNotify(error, title, defaultMessage) {
|
||||
console.error(title, "-", error);
|
||||
let message = defaultMessage;
|
||||
if (error.response && error.response.data && error.response.data.error) {
|
||||
if (error.response.data.error.message) {
|
||||
message = error.response.data.error.message;
|
||||
} else {
|
||||
message = error.response.data.error;
|
||||
}
|
||||
}
|
||||
this.$notify(
|
||||
{
|
||||
group: "alert",
|
||||
type: "danger",
|
||||
title: title,
|
||||
text: message,
|
||||
},
|
||||
5000,
|
||||
);
|
||||
}
|
||||
|
||||
async createInvite() {
|
||||
const inviteIdentifier =
|
||||
Math.random().toString(36).substring(2) +
|
||||
@@ -191,31 +219,56 @@ export default class InviteOneView extends Vue {
|
||||
});
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
} catch (error: any) {
|
||||
console.error("Error creating invite:", error);
|
||||
let message = "Got an error creating your invite.";
|
||||
if (
|
||||
error.response &&
|
||||
error.response.data &&
|
||||
error.response.data.error
|
||||
) {
|
||||
if (error.response.data.error.message) {
|
||||
message = error.response.data.error.message;
|
||||
} else {
|
||||
message = error.response.data.error;
|
||||
}
|
||||
}
|
||||
this.$notify(
|
||||
{
|
||||
group: "alert",
|
||||
type: "danger",
|
||||
title: "Error Creating Invite",
|
||||
text: message,
|
||||
},
|
||||
5000,
|
||||
this.lookForErrorAndNotify(
|
||||
error,
|
||||
"Error Creating Invite",
|
||||
"Got an error creating your invite.",
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
deleteInvite(inviteId: string) {
|
||||
this.$notify(
|
||||
{
|
||||
group: "modal",
|
||||
type: "confirm",
|
||||
title: "Delete Invite?",
|
||||
text: "Are you sure you want to erase this invite? (There is no undo.)",
|
||||
onYes: async () => {
|
||||
const headers = await getHeaders(this.activeDid);
|
||||
try {
|
||||
const result = await axios.delete(
|
||||
this.apiServer + "/api/userUtil/invite/" + inviteId,
|
||||
{ headers },
|
||||
);
|
||||
if (result.status !== 204) {
|
||||
throw result.data;
|
||||
}
|
||||
this.invites = this.invites.filter(
|
||||
(invite) => invite.inviteIdentifier !== inviteId,
|
||||
);
|
||||
this.$notify(
|
||||
{
|
||||
group: "alert",
|
||||
type: "success",
|
||||
title: "Deleted",
|
||||
text: "Invite deleted.",
|
||||
},
|
||||
3000,
|
||||
);
|
||||
} catch (e) {
|
||||
this.lookForErrorAndNotify(
|
||||
e,
|
||||
"Error Deleting Invite",
|
||||
"Got an error deleting your invite.",
|
||||
);
|
||||
}
|
||||
},
|
||||
},
|
||||
-1,
|
||||
);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user