Skip to content

Commit

Permalink
Allows for plugin secrets to be updated (#1811)
Browse files Browse the repository at this point in the history
* Allows for plugin secrets to be updated

* Adding plugin instance permissions
  • Loading branch information
kevgliss authored Nov 12, 2021
1 parent c9d9253 commit 85a16ce
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
7 changes: 3 additions & 4 deletions src/dispatch/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from pydantic.fields import Field
from pydantic.networks import EmailStr
from pydantic import BaseModel, validator
from pydantic.types import conint, constr
from pydantic.types import conint, constr, SecretStr

from sqlalchemy import func
from sqlalchemy.event import listens_for
Expand Down Expand Up @@ -115,9 +115,8 @@ class Config:

json_encoders = {
# custom output conversion for datetime
datetime: lambda v: v.strftime("%Y-%m-%dT%H:%M:%SZ")
if v
else None
datetime: lambda v: v.strftime("%Y-%m-%dT%H:%M:%SZ") if v else None,
SecretStr: lambda v: v.get_secret_value() if v else None,
}


Expand Down
12 changes: 10 additions & 2 deletions src/dispatch/plugin/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,21 @@ def get_plugins(*, common: dict = Depends(common_parameters)):
return search_filter_sort_paginate(model="Plugin", **common)


@router.get("/instances", response_model=PluginInstancePagination)
@router.get(
"/instances",
response_model=PluginInstancePagination,
dependencies=[Depends(PermissionsDependency([SensitiveProjectActionPermission]))],
)
def get_plugin_instances(*, common: dict = Depends(common_parameters)):
"""Get all plugin instances."""
return search_filter_sort_paginate(model="PluginInstance", **common)


@router.get("/instances/{plugin_instance_id}", response_model=PluginInstanceRead)
@router.get(
"/instances/{plugin_instance_id}",
response_model=PluginInstanceRead,
dependencies=[Depends(PermissionsDependency([SensitiveProjectActionPermission]))],
)
def get_plugin_instance(*, db_session: Session = Depends(get_db), plugin_instance_id: PrimaryKey):
"""Get a plugin instance."""
plugin = get_instance(db_session=db_session, plugin_instance_id=plugin_instance_id)
Expand Down

0 comments on commit 85a16ce

Please sign in to comment.