Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Private/Recorded productions #11

Open
robere2 opened this issue Feb 18, 2023 · 1 comment
Open

Feature: Private/Recorded productions #11

robere2 opened this issue Feb 18, 2023 · 1 comment
Labels
Complexity: SECURITY This issue involves resolving issues which have security implications on the module or project Module: API This issue pertains to the apps/api module Module: Prisma This issue pertains to the packages/prisma module Priority: MED This issue isn't critical or security-related but is holding back other issues or efficiency. Type: Feature New feature or request

Comments

@robere2
Copy link
Member

robere2 commented Feb 18, 2023

Not all productions that RPI TV produces are available for livestreaming (e.g. Players). Additionally, not all productions that RPI TV produces are viewable by the public (e.g. ESPN+ streams).

One solution to this would be to just add a private field to the Production type. Then, in both cases, mark the productions as private. However this has a few downsides:

  • We may want to advertise on our website when/where we are covering a production, but it's video is not yet available. These productions should appear on the productions list.
  • We may want to display that we are live on ESPN+ and offer a link to the ESPN+ streaming website to watch the stream, but have the embedded video player available for privileged members.

To solve both of these problems might require some more changes, such as:

  • private: boolean on Production types
  • livestreamed: boolean on Production types
  • private: boolean on Video types
@robere2 robere2 added Type: Feature New feature or request Priority: HIGH This issue is halting multiple issues, significantly hindering users, or is a minor security issue. good first issue This issue is expected to be easy to complete for a new-comer to the relevant module labels Feb 18, 2023
@robere2
Copy link
Member Author

robere2 commented Jan 1, 2024

The ADDINTERVAL function that can be used within conditions in conjunction with tags mostly resolves this issue. For example, the following conditions for reading Productions would block Player's videos permanently, and ESPN streams for one month.

{
    "OR": [
        {
            "tags": {
                "none": {
                    "tag": {
                        "in": [
                            "Players Private Performance",
                            "Men's Hockey"
                        ]
                    }
                }
            }
        },
        {
            "AND": [
                {
                    "startTime": {
                        "lte": "ADDINTERVAL($now, P-1M)"
                    }
                },
                {
                    "tags": {
                        "some": {
                            "tag": "Men's Hockey"
                        }
                    }
                }
            ]
        }
    ]
}

A better solution would allow us to keep the production public but hide the Video. This involves going multiple relation levels deep in our conditions, which I believe does not work, currently.

@robere2 robere2 added Priority: MED This issue isn't critical or security-related but is holding back other issues or efficiency. and removed Priority: HIGH This issue is halting multiple issues, significantly hindering users, or is a minor security issue. labels Jan 1, 2024
@robere2 robere2 transferred this issue from rpitv/glimpse-api Jan 1, 2024
@robere2 robere2 added Module: API This issue pertains to the apps/api module Module: Prisma This issue pertains to the packages/prisma module and removed good first issue This issue is expected to be easy to complete for a new-comer to the relevant module labels Jan 1, 2024
@robere2 robere2 added the Complexity: SECURITY This issue involves resolving issues which have security implications on the module or project label Apr 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: SECURITY This issue involves resolving issues which have security implications on the module or project Module: API This issue pertains to the apps/api module Module: Prisma This issue pertains to the packages/prisma module Priority: MED This issue isn't critical or security-related but is holding back other issues or efficiency. Type: Feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant