Selaa lähdekoodia

Actually save job on reception of AddJobMessage

jherve 1 vuosi sitten
vanhempi
commit
f5f0c66cc5

+ 1 - 0
native/src/job_search/messages.py

@@ -89,6 +89,7 @@ class VisitedLinkedInJobPageMessage(BackgroundScriptMessage):
 @dataclass
 class AddJobMessage(BackgroundScriptMessage):
     id: str
+    origin: str
     title: str
     url: str
     company: str

+ 8 - 0
native/src/job_search/writer.py

@@ -1,11 +1,13 @@
 import sys
 import traceback
 from pathlib import Path
+from dataclasses import asdict
 
 from job_search.read_write import ReadWriter
 from job_search.job_storage import JobStorage
 from job_search.messages import (
     VisitedLinkedInJobPageMessage,
+    AddJobMessage,
     InitialConfigurationMessage,
     JobOfferListMessage,
     LogMessage,
@@ -31,6 +33,12 @@ class Application:
                 except FileExistsError as e:
                     self.read_writer.send_message(JobAlreadyExistsMessage(offer.id))
 
+            case AddJobMessage():
+                try:
+                    self.job_storage.insert_record("job_offer", asdict(message))
+                except FileExistsError as e:
+                    self.read_writer.send_message(JobAlreadyExistsMessage(message.id))
+
             case InitialConfigurationMessage(jobs_path):
                 self.job_storage = JobStorage(base_dir=Path(jobs_path))
 

+ 1 - 0
src/Background.purs

@@ -57,6 +57,7 @@ contentScriptMessageHandler
       url <- cleanUpUrl url
     in NativeMessageAddJob {
         id: I64.toString jobId,
+        origin: "linked_in",
         title: jo.title,
         url,
         company: jo.companyName,

+ 1 - 0
src/NativeMessage.purs

@@ -65,6 +65,7 @@ instance DecodeJson ApplicationProcess where
 
 type NativePythonJobOffer = {
   id :: String,
+  origin :: String,
   title :: String,
   url :: String,
   company :: String,