From eee4262e991be4d8bb8799f40460fdcc919c0ab1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 23:03:45 +0100
Subject: [PATCH] fix issue when strict base model schema is generated

---
 pydantic_pystac_extensions/__init__.py | 2 +-
 pydantic_pystac_extensions/core.py     | 2 +-
 pydantic_pystac_extensions/schema.py   | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/pydantic_pystac_extensions/__init__.py b/pydantic_pystac_extensions/__init__.py
index e377145..ab2948a 100644
--- a/pydantic_pystac_extensions/__init__.py
+++ b/pydantic_pystac_extensions/__init__.py
@@ -2,4 +2,4 @@
 
 from .core import create_extension_cls, BaseExtensionModel  # noqa
 
-__version__ = "0.1.6"
+__version__ = "0.1.7"
diff --git a/pydantic_pystac_extensions/core.py b/pydantic_pystac_extensions/core.py
index 4ed55dc..01d5a44 100644
--- a/pydantic_pystac_extensions/core.py
+++ b/pydantic_pystac_extensions/core.py
@@ -72,7 +72,7 @@ def create_extension_cls(model_cls: BaseModel, schema_uri: str) -> PropertiesExt
             md = md or model_cls(**kwargs)
             for key, value in md.model_dump(exclude_unset=True).items():
                 alias = model_cls.model_fields[key].alias or key
-                if value:
+                if value is not None:
                     self._set_property(alias, value, pop_if_none=False)
 
         @classmethod
diff --git a/pydantic_pystac_extensions/schema.py b/pydantic_pystac_extensions/schema.py
index 35d33f6..3d8784a 100644
--- a/pydantic_pystac_extensions/schema.py
+++ b/pydantic_pystac_extensions/schema.py
@@ -8,8 +8,9 @@ def generate_schema(
 ) -> dict:
     """Generate the schema."""
     properties = model_cls.model_json_schema()
-    # prune "required"
+    # prune "required" and "additionalProperties"
     properties.pop("required", None)
+    properties.pop("additionalProperties", None)
     return {
         "$schema": "http://json-schema.org/draft-07/schema#",
         "$id": schema_uri,
-- 
GitLab