Fixed mastodon checkbox on new entry page
This commit is contained in:
@@ -24,6 +24,7 @@ class LinkCreate(BaseModel):
|
||||
comment: str = ''
|
||||
timestamp: str | None = None
|
||||
tags: list[str] = []
|
||||
post_to_mastodon: bool = True
|
||||
|
||||
|
||||
class LinkUpdate(BaseModel):
|
||||
@@ -89,7 +90,11 @@ def create_link_endpoint(payload: LinkCreate, response: Response, authorization:
|
||||
raise HTTPException(status_code=422, detail=str(error)) from error
|
||||
if duplicate:
|
||||
response.status_code = status.HTTP_200_OK
|
||||
plugin_results = plugin_manager.dispatch({'type': 'link_created', **record})
|
||||
plugin_results = plugin_manager.dispatch({
|
||||
'type': 'link_created',
|
||||
'post_to_mastodon': payload.post_to_mastodon,
|
||||
**record,
|
||||
})
|
||||
mastodon_result = next((result for result in plugin_results if result.get('plugin') == 'mastodon'), None)
|
||||
if mastodon_result and mastodon_result.get('status') == 'posted':
|
||||
mark_mastodon_posted(record['id'], info['user_id'], mastodon_result.get('post_id'))
|
||||
|
||||
@@ -390,6 +390,8 @@ def get_user_plugin_config(plugin_name: str, user: dict = Depends(get_current_us
|
||||
return {}
|
||||
|
||||
config = json.loads(row['config']) if row['config'] else {}
|
||||
if plugin_name == 'mastodon':
|
||||
config['configured'] = bool(config.get('instance') and config.get('access_token'))
|
||||
if config.get('access_token'):
|
||||
config.pop('access_token')
|
||||
return config
|
||||
|
||||
@@ -34,6 +34,9 @@ class MastodonPlugin(BasePlugin):
|
||||
return True
|
||||
|
||||
def handle_event(self, event):
|
||||
if not event.get('post_to_mastodon', True):
|
||||
return {'status': 'skipped', 'plugin': self.name, 'reason': 'not_requested'}
|
||||
|
||||
config = dict(self.config)
|
||||
user_id = event.get('user_id')
|
||||
if user_id:
|
||||
|
||||
Reference in New Issue
Block a user