Esempio n. 1
0
 def test_update_metadata_descriptor(self):
     asset = self.generate_fixture_asset_type()
     asset = self.generate_fixture_asset()
     descriptor = projects_service.add_metadata_descriptor(
         self.project.id, "Asset", "Contractor", [])
     asset.update({"data": {"contractor": "contractor 1"}})
     self.assertTrue("contractor" in asset.data)
     projects_service.update_metadata_descriptor(descriptor["id"],
                                                 {"name": "Team"})
     descriptors = projects_service.get_metadata_descriptors(
         self.project.id)
     self.assertEqual(len(descriptors), 1)
     asset = Entity.get(asset.id)
     self.assertEqual(asset.data.get("team"), "contractor 1")
Esempio n. 2
0
    def put(self, project_id, descriptor_id):
        args = self.get_args([("name", "", False),
                              ("choices", [], False, "append")])
        permissions.check_admin_permissions()

        if len(args["name"]) == 0:
            raise WrongParameterException("Name cannot be empty.")

        return projects_service.update_metadata_descriptor(descriptor_id, args)
Esempio n. 3
0
    def put(self, project_id, descriptor_id):
        """
        Update a metadata descriptor.
        ---
        description: Descriptors serve to describe extra fields listed in the data attribute of entities.
        tags:
          - Projects
        parameters:
          - in: path
            name: project_id
            required: true
            schema:
              type: UUID
              example: 5dc235ec-125e-4ba5-b1db-604d4babc315
          - in: path
            name: descriptor_id
            required: true
            schema:
              type: UUID
              example: 5dc235ec-125e-4ba5-b1db-604d4babc315
        responses:
            200:
              description: Metadata descriptor updated
        """
        args = self.get_args([
            ("name", "", False),
            ("for_client", "False", False),
            ("choices", [], False, "append"),
            ("departments", [], False, "append"),
        ])
        user_service.check_all_departments_access(
            project_id,
            projects_service.get_metadata_descriptor(descriptor_id)
            ["departments"] + args["departments"],
        )

        if len(args["name"]) == 0:
            raise WrongParameterException("Name cannot be empty.")

        args["for_client"] = args["for_client"] == "True"

        return projects_service.update_metadata_descriptor(descriptor_id, args)