Skip to content

Commit 15ff281

Browse files
committed
fix
fix fix debug linear integration
1 parent 0898525 commit 15ff281

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

src/codegen/extensions/clients/linear.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,11 @@ def register_webhook(self, webhook_url: str, team_id: str, secret: str, enabled:
160160
"enabled": enabled,
161161
"secret": secret,
162162
}}
163-
163+
164164
response = requests.post(self.api_endpoint, headers=self.api_headers, json={"query": mutation, "variables": variables})
165+
if response.status_code != 200:
166+
return None
167+
165168
body = response.json()
169+
body = body["data"]["webhookCreate"]["webhook"]['id']
166170
return body

src/codegen/extensions/events/linear.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
from codegen.extensions.events.interface import EventHandlerManagerProtocol
99
from codegen.extensions.clients.linear import LinearClient
1010

11-
if TYPE_CHECKING:
12-
from codegen.extensions.events.app import CodegenApp
13-
1411

1512
logger = logging.getLogger(__name__)
1613

@@ -20,7 +17,7 @@ class RegisteredWebhookHandler(BaseModel):
2017
handler_func: Callable
2118

2219
class Linear(EventHandlerManagerProtocol):
23-
def __init__(self, app: CodegenApp):
20+
def __init__(self, app: modal.App):
2421
self.app = app
2522
self.access_token= os.environ["LINEAR_ACCESS_TOKEN"] # move to extensions config.
2623
self.signing_secret = os.environ["LINEAR_SIGNING_SECRET"]
@@ -36,18 +33,19 @@ def subscribe_handler_to_webhook(self, web_url: str, event_name: str):
3633
enabled=True,
3734
resource_types=[event_name],
3835
secret=self.signing_secret)
39-
return result.json()
36+
return result
4037

4138
def unsubscribe_handler_to_webhook(self, registered_handler: RegisteredWebhookHandler):
4239
webhook_id = registered_handler.webhook_id
4340

4441
client = LinearClient(access_token=self.access_token)
4542
if webhook_id:
4643
print(f"Unsubscribing from webhook {webhook_id}")
47-
client.unregister_webhook(webhook_id)
44+
result = client.unregister_webhook(webhook_id)
45+
return result
4846
else:
4947
print("No webhook id found for handler")
50-
48+
return None
5149
def unsubscribe_all_handlers(self):
5250
for handler in self.registered_handlers:
5351
self.unsubscribe_handler_to_webhook(self.registered_handlers[handler])
@@ -71,8 +69,8 @@ def decorator(func):
7169

7270
self.registered_handlers[func_name] = RegisteredWebhookHandler(handler_func=modal_ready_func)
7371

74-
self.subscribe_handler_to_webhook(web_url=web_url, event_name=event_name)
75-
72+
webhook_id = self.subscribe_handler_to_webhook(web_url=web_url, event_name=event_name)
73+
self.registered_handlers[func_name].webhook_id = webhook_id
7674
@functools.wraps(func)
7775
def wrapper(*args, **kwargs):
7876
return func(*args, **kwargs)

0 commit comments

Comments
 (0)