Joystream / Joystream/joystream

Argus: screen censored content

Open
#4,326 1 comment 0 reactions 1 assignee Claimed by @zeeshanakram3 View on GitHub
argus enhancement
Dominant language
Rust
Stars
1.4k
Forks
116
PR merge metrics
No merged PRs in 30d

Description

# Dependency
This depends on having authentication working, as is described in this issue [#basic](https://github.com/Joystream/joystream/issues/3152)

# Background
Currently the curators can call the following two extrinsics

```Rust
/// Extrinsic for setting channel visibility status (hidden/visible) by moderator
///
///
///
/// ## Weight
/// `O (A)` where:
/// - `A` is the length of `rationale`
/// - DB:
/// - O(1) doesn't depend on the state or parameters
/// #
#[weight = Module::::set_channel_visibility_as_moderator_weight(rationale)]
pub fn set_channel_visibility_as_moderator(
origin,
actor: ContentActor,
channel_id: T::ChannelId,
is_hidden: bool,
rationale: Vec,
) -> DispatchResult;

/// Extrinsic for video visibility status (hidden/visible) setting by moderator
///
///
///
/// ## Weight
/// `O (A)` where:
/// - `A` is the length of `rationale`
/// - DB:
/// - O(1) doesn't depend on the state or parameters
/// #
#[weight = Module::::set_video_visibility_as_moderator_weight(rationale)]
pub fn set_video_visibility_as_moderator(
origin,
actor: ContentActor,
video_id: T::VideoId,
is_hidden: bool,
rationale: Vec,
) -> DispatchResult;
```

these result in setting properties in the query node video and channel schemas

```
"Flag signaling whether a channel is censored."
isCensored: Boolean!

...

"Flag signaling whether a video is censored."
isCensored: Boolean!
```

However, `Argus` is not sensitive to these and serves the content to anyone!

# Proposal

Prevent anyone except (called _insiders_)

- channel collaborators
- channel owner (including WG workers+lead if owned by curator group)
- lead
- council member
- curators in group which can mutate this status

to fetch

1. any asset used by a censored video.
1. any asset used by a video in a censored channel.
1. any asset used by a censored channel

┆Issue is synchronized with this [Asana task](https://app.asana.com/0/1201958687417145/1203073109740062) by [Unito](https://www.unito.io)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.