insertObserver method

void insertObserver(
  1. PolicySubject observer
)

Adds the given observer to the special group observer.

If PolicySubject._id is already a member of the group, the old value gets overwritten. If there is no observer group present, this method will create one.

Implementation

void insertObserver(PolicySubject observer) {
  if (!_groups.containsKey(observerGroupKey)) {
    final Map<String, PolicyResource> resource = <String, PolicyResource>{
      'thing:/': PolicyResource('thing:/',
          grants: <PermissionType>{PermissionType.read})
    };
    insertGroup(PolicyGroup(observerGroupKey,
        policySubjects: <String, PolicySubject>{observer.id: observer},
        policyResources: resource));
  } else {
    _groups[observerGroupKey]!.subjects[observer.id] = observer;
  }
}