summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-api/opendc/api/v2/prefabs/authorizations/endpoint.py
blob: 0d9ad5cd6f2aad6af2e113c6d96c83d2206bcb82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from opendc.models.prefab import Prefab
from opendc.util.database import DB
from opendc.models.user import User
from opendc.util.rest import Response


def GET(request):
    """Return all prefabs the user is authorized to access"""

    user = User.from_google_id(request.google_id)

    user.check_exists()

    own_prefabs = DB.fetch_all({'authorId': user.get_id()}, Prefab.collection_name)
    public_prefabs = DB.fetch_all({'visibility': 'public'}, Prefab.collection_name)

    authorizations = {"authorizations": []}

    authorizations["authorizations"].append(own_prefabs)
    authorizations["authorizations"].append(public_prefabs)

    return Response(200, 'Successfully fetched authorizations.', authorizations)