setObjectSecurity method

Future<RestApiResponse> setObjectSecurity(
  1. String oid,
  2. Map<String, int> userObjectSecurity, {
  3. bool replace = false,
})

Setzt die Objekt-Sicherheitseinstellungen für ein Dokument/Objekt

Definiert oder aktualisiert die Zugriffsrechte für bestimmte Benutzer auf ein spezifisches Objekt im System. Jeder Benutzer erhält individuelle Rechte-Flags, die die erlaubten Aktionen bestimmen.

oid - Die eindeutige Objekt-ID des zu konfigurierenden Elements userObjectSecurity - Map mit Benutzername als Key und Rechte-Flags als Value replace - Ob bestehende Rechte ersetzt werden sollen (Standard: false)

Returns: RestApiResponse mit dem Status der Sicherheitskonfiguration

Map-Format:

{
  "userObjectName": "test1",
  "rights": 7
}

Beispiel:

Map<String, int> security = {
  "user1": 7,
  "user2": 15,
};
RestApiResponse response = await api.v1.objects.setObjectSecurity(
  "A12BC",
  security,
  replace: true
);

Implementation

Future<RestApiResponse> setObjectSecurity(
  String oid,
  Map<String, int> userObjectSecurity, {
  bool replace = false,
}) {
  final List<Map<String, dynamic>> security = <Map<String, dynamic>>[];
  userObjectSecurity.forEach((String userObjectName, int rights) {
    security.add(<String, dynamic>{
      'userObjectName': userObjectName,
      'rights': rights,
    });
  });
  final Map<String, dynamic> body = <String, dynamic>{'security': security};
  if (replace) {
    body['replace'] = replace;
  }
  return _execute(
    method: ApiHttpMethod.post,
    path: '/setObjectSecurity/$oid',
    body: jsonEncode(body),
    operation: 'setObjectSecurity',
  );
}