PostPrivilegeBloc constructor

PostPrivilegeBloc(
  1. AppModel app,
  2. String feedId,
  3. String memberId,
  4. PostPrivilegeFeedback postPrivilegeFeedback,
)

Implementation

PostPrivilegeBloc(
    this.app, this.feedId, this.memberId, this.postPrivilegeFeedback)
    : super(PostPrivilegeUninitialized()) {
  memberService = MemberService(app, feedId, memberId);

  on<InitialisePostPrivilegeEvent>((event, emit) async {
    var selectedMembers = await memberService.getFromPostPrivilege(
        event.postAccessibleByGroup, event.postAccessibleByMembers);
    postPrivilegeFeedback(event.postAccessibleByGroup, selectedMembers);
    emit(PostPrivilegeInitialized(
        postAccessibleByGroup: event.postAccessibleByGroup,
        specificSelectedMembers: selectedMembers));
  });

  on<ChangedPostPrivilege>((event, emit) async {
    var selectedMembers = await memberService.getFromPostPrivilege(
        event.postAccessibleByGroup, event.postAccessibleByMembers);
    postPrivilegeFeedback(event.postAccessibleByGroup, selectedMembers);
    var newState = PostPrivilegeInitialized(
        postAccessibleByGroup: event.postAccessibleByGroup,
        specificSelectedMembers: selectedMembers);
    emit(newState);
  });
}