فهرست منبع

[fix] Send a message when a job is added

jherve 1 سال پیش
والد
کامیت
9ccbcc4ed6
4فایلهای تغییر یافته به همراه13 افزوده شده و 2 حذف شده
  1. 7 0
      native/src/job_search/messages.py
  2. 3 1
      native/src/job_search/writer.py
  3. 1 0
      src/Background.purs
  4. 2 1
      src/NativeMessage.purs

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

@@ -144,6 +144,13 @@ class JobAddedMessage(NativeMessage):
         return {"tag": "NativeMessageJobAdded", "values": [asdict(self)]}
         return {"tag": "NativeMessageJobAdded", "values": [asdict(self)]}
 
 
 
 
+@dataclass
+class JobAddedNewMessage(NativeMessage):
+    job_id: str
+
+    def serialize(self):
+        return {"tag": "NativeMessageJobAddedNew", "values": [asdict(self)]}
+
 @dataclass
 @dataclass
 class JobAlreadyExistsMessage(NativeMessage):
 class JobAlreadyExistsMessage(NativeMessage):
     job_id: str
     job_id: str

+ 3 - 1
native/src/job_search/writer.py

@@ -4,7 +4,7 @@ from pathlib import Path
 from dataclasses import asdict
 from dataclasses import asdict
 
 
 from job_search.read_write import ReadWriter
 from job_search.read_write import ReadWriter
-from job_search.job_storage import JobStorage
+from job_search.job_storage import JobStorage, JobOffer
 from job_search.messages import (
 from job_search.messages import (
     VisitedLinkedInJobPageMessage,
     VisitedLinkedInJobPageMessage,
     AddJobMessage,
     AddJobMessage,
@@ -15,6 +15,7 @@ from job_search.messages import (
     LogMessage,
     LogMessage,
     Message,
     Message,
     JobAddedMessage,
     JobAddedMessage,
+    JobAddedNewMessage,
     JobAlreadyExistsMessage,
     JobAlreadyExistsMessage,
 )
 )
 
 
@@ -38,6 +39,7 @@ class Application:
             case AddJobMessage():
             case AddJobMessage():
                 try:
                 try:
                     self.job_storage.insert_record("job_offer", asdict(message))
                     self.job_storage.insert_record("job_offer", asdict(message))
+                    self.read_writer.send_message(JobAddedNewMessage(message.id))
                 except FileExistsError as e:
                 except FileExistsError as e:
                     self.read_writer.send_message(JobAlreadyExistsMessage(message.id))
                     self.read_writer.send_message(JobAlreadyExistsMessage(message.id))
 
 

+ 1 - 0
src/Background.purs

@@ -93,6 +93,7 @@ nativeMessageHandler _ (NativeMessageJobOfferList job_offers) = do
     storeJob jo
     storeJob jo
 
 
 nativeMessageHandler port NativeMessageStorageReady = sendMessageToNative port $ NativeMessageListJobsRequest
 nativeMessageHandler port NativeMessageStorageReady = sendMessageToNative port $ NativeMessageListJobsRequest
+nativeMessageHandler port (NativeMessageJobAddedNew _) = sendMessageToNative port $ NativeMessageListJobsRequest
 nativeMessageHandler _ m = logShow m
 nativeMessageHandler _ m = logShow m
 
 
 sendConfigurationToNative ∷ Port → Effect Unit
 sendConfigurationToNative ∷ Port → Effect Unit

+ 2 - 1
src/NativeMessage.purs

@@ -40,6 +40,7 @@ data NativeMessage =
   }
   }
   | NativeMessageJobAlreadyExists {job_id :: String}
   | NativeMessageJobAlreadyExists {job_id :: String}
   | NativeMessageJobAdded {job :: NativePythonJobOffer}
   | NativeMessageJobAdded {job :: NativePythonJobOffer}
+  | NativeMessageJobAddedNew {job_id :: String}
   | NativeMessageJobOfferList (Array NativePythonJobOffer)
   | NativeMessageJobOfferList (Array NativePythonJobOffer)
 
 
 data ApplicationProcess
 data ApplicationProcess
@@ -82,7 +83,7 @@ type NativePythonJobOffer = {
 }
 }
 
 
 derive instance Generic NativeMessage _
 derive instance Generic NativeMessage _
-instance Show NativeMessage where show = genericShow
+instance Show NativeMessage where show a = genericShow a
 instance EncodeJson NativeMessage where encodeJson a = genericEncodeJson a
 instance EncodeJson NativeMessage where encodeJson a = genericEncodeJson a
 
 
 instance DecodeJson NativeMessage where
 instance DecodeJson NativeMessage where