Kaynağa Gözat

[native] Add support for application-related dates

jherve 1 yıl önce
ebeveyn
işleme
536d35c25f

+ 4 - 2
native/src/job_search/job_storage.py

@@ -65,6 +65,8 @@ class JobOffer:
     publication_date: date = None
     xp_required: int | None = None
     first_seen_date: datetime | None = None
+    application_date: date | None = None
+    application_rejection_date: date | None = None
     contract_type: ContractType | None = ContractType.CDI
     flexibility: Flexibility | None = None
     alternate_url: str = None
@@ -107,6 +109,8 @@ class JobOffer:
             ("xp_required", int),
             ("first_seen_date", parsedate_to_datetime),
             ("publication_date", date.fromisoformat),
+            ("application_date", date.fromisoformat),
+            ("application_rejection_date", date.fromisoformat),
         ]:
             if field in dict:
                 dict[field] = converter(dict[field])
@@ -114,8 +118,6 @@ class JobOffer:
         # For now we simply ignore application-related fields
         # read from the storage.
         for k in [
-            "application_date",
-            "application_rejection_date",
             "application_first_seen_date",
             "application_first_response_date",
             "application_cv_version",

+ 2 - 0
native/tests/test_storage.py

@@ -48,6 +48,8 @@ def job_storage(request, tmp_path):
             contract_type=ContractType.CDD,
             flexibility=Flexibility.HYBRID,
             alternate_url="https://www.anothersite.com/with/the/offer.html",
+            application_date=date.today(),
+            application_rejection_date=date.today(),
         ),
         JobOffer(
             url="https://www.linkedin.com/jobs/view/3755217595",

+ 7 - 1
src/NativeMessage.purs

@@ -39,7 +39,13 @@ data NativeMessage =
   | NativeMessageJobAdded {job :: NativePythonJobOffer}
   | NativeMessageJobOfferList {job_offers :: Array NativePythonJobOffer}
 
-type NativePythonJobOffer = {id :: String, title :: String, url :: String}
+type NativePythonJobOffer = {
+  id :: String,
+  title :: String,
+  url :: String,
+  application_date :: Maybe String,
+  application_rejection_date :: Maybe String
+}
 type NativePythonMessage m = {tag :: String | m}
 type NativePythonMessageLog = NativePythonMessage (level :: String, content :: String)
 type NativePythonMessageInitialConfiguration = NativePythonMessage (jobsPath :: String)