setCollectionVisibility static method
Future<CollectionFrameResponse>
setCollectionVisibility(
- P2PStream stream, {
- required PeerId ownerPeerId,
- required String path,
- required CollectionVisibility visibility,
Set who may read a collection (client-side ACCESS with action "set").
Owner only. The response's CollectionFrameResponse.visibility is the collection's visibility afterwards.
Implementation
static Future<CollectionFrameResponse> setCollectionVisibility(
P2PStream stream, {
required PeerId ownerPeerId,
required String path,
required CollectionVisibility visibility,
}) async {
try {
final requestBytes = CollectionFrame.encodeRequest(
operation: 'ACCESS',
ownerPeerId: ownerPeerId,
path: path,
accessAction: 'set',
visibility: visibility.name,
);
await _writeFrameStatic(stream, requestBytes);
final responseBytes = await _readFrameStatic(stream);
return CollectionFrame.decodeResponse(responseBytes);
} catch (e, stackTrace) {
_logger.severe('Error setting collection visibility: $e', e, stackTrace);
rethrow;
}
}