createLink method

Future<void> createLink()

Creates a DirectLink from the link.

Implementation

Future<void> createLink() async {
  final String text = link.text.replaceFirst(_origin, '');

  if (!link.status.value.isEmpty) {
    return;
  }

  final UserId? meId = myUser.value?.id;
  if (meId == null) {
    return;
  }

  try {
    await _linkService.updateLink(DirectLinkSlug(text), meId);
  } on UpdateDirectLinkException catch (e) {
    link.error.value = e.toMessage();
  } catch (e) {
    MessagePopup.error(e);
    rethrow;
  }
}