diff --git a/lib/features/app_layout/bloc/home_cubit.dart b/lib/features/app_layout/bloc/home_cubit.dart index 777dce6..c9bc4e6 100644 --- a/lib/features/app_layout/bloc/home_cubit.dart +++ b/lib/features/app_layout/bloc/home_cubit.dart @@ -220,9 +220,10 @@ class HomeCubit extends Cubit { } //////////////////////////////////////// API //////////////////////////////////////// - generateInvitation(String unitId) async { + generateInvitation(SpaceModel unit) async { try { - final invitationCode = await SpacesAPI.generateInvitationCode(unitId); + final invitationCode = + await SpacesAPI.generateInvitationCode(unit.id, unit.community.uuid); if (invitationCode.isNotEmpty) { Share.share('The invitation code is $invitationCode'); CustomSnackBar.displaySnackBar( diff --git a/lib/features/menu/view/widgets/manage_home/home_settings.dart b/lib/features/menu/view/widgets/manage_home/home_settings.dart index 54b87a4..8584479 100644 --- a/lib/features/menu/view/widgets/manage_home/home_settings.dart +++ b/lib/features/menu/view/widgets/manage_home/home_settings.dart @@ -112,7 +112,7 @@ class HomeSettingsView extends StatelessWidget { padding: const EdgeInsets.only(bottom: 10), child: GestureDetector( onTap: () async { - await HomeCubit.getInstance().generateInvitation(space?.id ?? ''); + await HomeCubit.getInstance().generateInvitation(space!); }, child: const Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, diff --git a/lib/services/api/spaces_api.dart b/lib/services/api/spaces_api.dart index 9dbb39f..3a9a283 100644 --- a/lib/services/api/spaces_api.dart +++ b/lib/services/api/spaces_api.dart @@ -61,12 +61,19 @@ class SpacesAPI { } static Future generateInvitationCode( - String unitId, - ) async { + String unitId, String communityId) async { final response = await _httpService.get( - path: ApiEndpoints.invitationCode.replaceAll('{unitUuid}', unitId), + path: ApiEndpoints.invitationCode + .replaceAll('{unitUuid}', unitId) + .replaceAll('{communityUuid}', communityId), showServerMessage: false, - expectedResponseModel: (json) => json['invitationCode'], + expectedResponseModel: (json) { + if (json != null && json['data'] != null) { + return json['data']['invitationCode']; + } else { + throw Exception('Data field is null'); + } + }, ); return response; }