public Mono<ServicePermission> isAllowedToCreateGroupAndHaveGroupType(
            @NotNull Long requesterId,
            @NotNull Long groupTypeId) {
        try {
            Validator.notNull(groupTypeId, "groupTypeId");
        } catch (ResponseException e) {
            return Mono.error(e);
        }
        Mono<UserRole> userRoleMono =
                userRoleService.queryStoredOrDefaultUserRoleByUserId(requesterId);
        return userRoleMono.flatMap(userRole -> isAllowedToCreateGroup(requesterId, userRole)
                .flatMap(permission -> permission.code() == ResponseStatusCode.OK
                        ? isAllowedCreateGroupWithGroupType(requesterId, groupTypeId, userRole)
                        : Mono.just(
                                ServicePermission.get(permission.code(), permission.reason()))));
    }
TODO: remove and keep {@link GroupService#queryGroupTypeIfActiveAndNotDeleted(Long, boolean)}
only.
turms-service/src/main/java/im/turms/service/domain/group/service/GroupService.java