Esempio n. 1
0
 def get(self, asset_id):
     """
     Retrieve given asset.
     """
     asset = assets_service.get_full_asset(asset_id)
     user_service.check_project_access(asset["project_id"])
     return asset
Esempio n. 2
0
    def delete(self, asset_id):
        """
        Delete given asset.
        ---
        tags:
          - Assets
        parameters:
          - in: path
            name: asset_id
            schema:
                type: UUID
                example: a24a6ea4-ce75-4665-a070-57453082c25
            required: True
        responses:
          204:
            description: Given asset deleted
        """
        parser = reqparse.RequestParser()
        parser.add_argument("force", default=False, type=bool)
        args = parser.parse_args()
        force = args["force"]

        asset = assets_service.get_full_asset(asset_id)
        user_service.check_manager_project_access(asset["project_id"])

        assets_service.remove_asset(asset_id, force=force)
        return "", 204
Esempio n. 3
0
 def get(self, asset_id):
     """
     Retrieve given asset.
     """
     asset = assets_service.get_full_asset(asset_id)
     if not permissions.has_manager_permissions():
         user_service.check_has_task_related(asset["project_id"])
     return asset
Esempio n. 4
0
    def delete(self, asset_id):
        parser = reqparse.RequestParser()
        parser.add_argument("force", default=False, type=bool)
        args = parser.parse_args()
        force = args["force"]

        asset = assets_service.get_full_asset(asset_id)
        user_service.check_manager_project_access(asset["project_id"])

        deleted_asset = assets_service.remove_asset(asset_id, force=force)
        return '', 204
Esempio n. 5
0
    def post_processing(self):
        # We handle the fact that an asset can have multiple parents by using
        # the entities out field as a children field.
        for key in self.parent_map.keys():
            try:
                asset = assets_service.get_asset_by_shotgun_id(key)

                asset = assets_service.get_full_asset(asset['id'])
                former_children = [
                    Entity.get(child_id)
                    for child_id in asset.get('entities_out', [])
                ]
                children = list(set(self.parent_map[key] + former_children))
                data = {"entities_out": children}

                assets_service.update_asset(asset["id"], data)
                assets_service.clear_asset_cache(asset["id"])
            except AssetNotFoundException:
                pass

        return self.parent_map
Esempio n. 6
0
 def get(self, asset_id):
     """
     Retrieve given asset.
     ---
     tags:
       - Assets
     parameters:
       - in: path
         name: asset_id
         schema:
             type: UUID
             example: a24a6ea4-ce75-4665-a070-57453082c25
         required: True
     responses:
       200:
         description: Given asset
     """
     asset = assets_service.get_full_asset(asset_id)
     user_service.check_project_access(asset["project_id"])
     user_service.check_entity_access(asset["id"])
     return asset
Esempio n. 7
0
 def test_get_asset_full(self):
     asset = assets_service.get_full_asset(self.asset.id)
     self.assertEqual(asset["id"], str(self.asset.id))
     self.assertEqual(asset["project_name"], str(self.project.name))