Skip to content

Commit 86960dd

Browse files
FelixKirschJWittmeyerSirDegrafJWittmeyerlumburovskalina
authored
Release v1.2.0 - Second PR (#41)
* Update LICENSE * Adds is_demo to mutations * Adds demo check for more endpoints * Adds demo check for project and upload task * Small adjustments and removes check for demo for create orga * Adding admin rights for demo version * Splits app.py into modularized files * submodule update * Adds PR changes to work with frontend * Renames folder handler to middleware * Submodule update * Adds restricted endpoint query * Demo check for rest apis * Adds blacklist of restricted endpoints * Adds and slightly changes endpoint * Removes endpoint notify check for demo * Changes function name & removes endpoint * Init sample project state added * Enum pass without value * Updates submodule * Adds import of exported file for knowledge terms If a file gets imported (for knowledge terms) first the app will try to read it in the strucutre of exported lists. If the imported file don't have a fitting structure it gets canceled and the original import flow will continue * Adds typing * Adds yml file * Add dependabot yml (#20) * Adds small change * Adds small change * Bump pyjwt from 2.1.0 to 2.4.0 (#22) Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.1.0 to 2.4.0. - [Release notes](https://github.com/jpadilla/pyjwt/releases) - [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst) - [Commits](jpadilla/pyjwt@2.1.0...2.4.0) --- updated-dependencies: - dependency-name: pyjwt dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fixes #10, adds arm tags to exec envs * Extend comment * adds EMBEDDING_CREATION_WARNING to notification data (#24) * Dependabot pip numpy 1.22.0 (#21) * Bump numpy from 1.21.0 to 1.22.0 Bumps [numpy](https://github.com/numpy/numpy) from 1.21.0 to 1.22.0. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](numpy/numpy@v1.21.0...v1.22.0) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * bump further to 1.23.1 * Changes python version to match numpy version * Changes python version in dockerfile Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Adds qutation escaping (#25) * Adds qutation escaping * remove pass * Update service/search/search.py Co-authored-by: Felix Kirsch <[email protected]> * change to union type Co-authored-by: Felix Kirsch <[email protected]> * Adds hotfix (#26) * Adds hotfix * changes spacy version for drone * remove specific path * Removes project export from demo (#27) * Changes allowed demo usecases (#29) * Integration for the model provider service (#32) * Get model provider info * adds connection to model provider service * implements first version of using model provider service for embeddings * Create and delete requests * adds params to delete_call_or_raise * removes changed to embedding connector * changed api names, access control * adds status to model provider info results * model mutations only for admins or on server with just one organization * Added zero shot pipeline * removes revision and project_id from api endpoints, pr comments * use datetime as graphene type * replace dict as default value in delete service_request Co-authored-by: Lina <[email protected]> * Gateway changes for a more complex update logic (#35) * Adds alemic version to app version table * Query for getting version overview * submodule change * changes alembic version to new name * Renamed checked version to remote version * Changes logic from dummy to service call * Adds remote_has_newer to request restult * Remove print * Removed unused import date Co-authored-by: Lina <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: JWittmeyer <[email protected]> Co-authored-by: simonrempel <[email protected]> Co-authored-by: JWittmeyer <[email protected]> Co-authored-by: Simon Degraf <[email protected]> Co-authored-by: Lina <[email protected]> Co-authored-by: lumburovskalina <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent cb9f3a8 commit 86960dd

File tree

5 files changed

+101
-2
lines changed

5 files changed

+101
-2
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
"""Adds service version table
2+
3+
Revision ID: 5b3a4deea1c4
4+
Revises: 992352f4c1f9
5+
Create Date: 2022-09-05 13:34:55.863128
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
from sqlalchemy.dialects import postgresql
11+
12+
13+
# revision identifiers, used by Alembic.
14+
revision = "5b3a4deea1c4"
15+
down_revision = "992352f4c1f9"
16+
branch_labels = None
17+
depends_on = None
18+
19+
20+
def upgrade():
21+
# ### commands auto generated by Alembic - please adjust! ###
22+
op.create_table(
23+
"app_version",
24+
sa.Column("service", sa.String(), nullable=False),
25+
sa.Column("installed_version", sa.String(), nullable=True),
26+
sa.Column("remote_version", sa.String(), nullable=True),
27+
sa.Column("last_checked", sa.DateTime(), nullable=True),
28+
sa.PrimaryKeyConstraint("service"),
29+
)
30+
# ### end Alembic commands ###
31+
32+
33+
def downgrade():
34+
# ### commands auto generated by Alembic - please adjust! ###
35+
op.drop_table("app_version")

controller/misc/manager.py

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1-
from typing import Dict, List
1+
from typing import Any, Dict, List
22
from controller.misc import config_service
33
from controller.misc import black_white_demo
4+
from graphql_api.types import ServiceVersionResult
5+
from datetime import datetime
6+
import os
7+
8+
from util import service_requests
9+
10+
BASE_URI_UPDATER = os.getenv("UPDATER")
11+
412

513
def check_is_managed() -> bool:
614
return config_service.get_config_value("is_managed")
@@ -16,3 +24,39 @@ def refresh_config() -> None:
1624

1725
def get_black_white_demo() -> Dict[str, List[str]]:
1826
return black_white_demo.get_black_white_demo()
27+
28+
29+
def get_version_overview() -> List[ServiceVersionResult]:
30+
updater_version_overview = __updater_version_overview()
31+
date_format = "%Y-%m-%dT%H:%M:%S.%f" # 2022-09-06T12:10:39.167397
32+
version_overview = [
33+
ServiceVersionResult(
34+
service=service["name"],
35+
installed_version=service["installed_version"],
36+
remote_version=service["remote_version"],
37+
last_checked=datetime.strptime(service["last_checked"], date_format),
38+
remote_has_newer=service["remote_has_newer"],
39+
link=service["link"],
40+
)
41+
for service in updater_version_overview
42+
]
43+
return version_overview
44+
45+
46+
def has_updates() -> List[ServiceVersionResult]:
47+
has_updates = __updater_has_updates()
48+
return has_updates
49+
50+
51+
def __updater_version_overview() -> List[Dict[str, Any]]:
52+
url = f"{BASE_URI_UPDATER}/version_overview"
53+
return service_requests.get_call_or_raise(url)
54+
55+
56+
def __updater_has_updates() -> bool:
57+
url = f"{BASE_URI_UPDATER}/has_updates"
58+
return service_requests.get_call_or_raise(url)
59+
60+
61+
def __updater_update_to_newest() -> None:
62+
raise ValueError("This endpoint should only be called from the update batch script")

graphql_api/query/misc.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import graphene
44
import util.user_activity
55
from controller.auth import manager as auth
6-
from graphql_api.types import ToolTip, UserActivityWrapper
6+
from graphql_api.types import ServiceVersionResult, ToolTip, UserActivityWrapper
77
from util import tooltip
88
from controller.misc import config_service, manager
99

@@ -27,6 +27,10 @@ class MiscQuery(graphene.ObjectType):
2727

2828
get_black_white_demo = graphene.Field(graphene.JSONString)
2929

30+
version_overview = graphene.Field(graphene.List(ServiceVersionResult))
31+
32+
has_updates = graphene.Field(graphene.Boolean)
33+
3034
def resolve_tooltip(self, info, key: str) -> ToolTip:
3135
return tooltip.resolve_tooltip(key)
3236

@@ -46,3 +50,9 @@ def resolve_is_admin(self, info) -> bool:
4650

4751
def resolve_get_black_white_demo(self, info) -> str:
4852
return manager.get_black_white_demo()
53+
54+
def resolve_version_overview(self, info) -> List[ServiceVersionResult]:
55+
return manager.get_version_overview()
56+
57+
def resolve_has_updates(self, info) -> bool:
58+
return manager.has_updates()

graphql_api/types.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,15 @@ class ZeroShotNRecordsWrapper(graphene.ObjectType):
684684
records = graphene.List(ZeroShotNRecords)
685685

686686

687+
class ServiceVersionResult(graphene.ObjectType):
688+
service = graphene.String()
689+
installed_version = graphene.String()
690+
remote_version = graphene.String()
691+
last_checked = graphene.DateTime()
692+
remote_has_newer = graphene.Boolean()
693+
link = graphene.String()
694+
695+
687696
class ModelProviderInfoResult(graphene.ObjectType):
688697
name = graphene.String()
689698
revision = graphene.String()

start

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ docker run -d --rm \
5353
-e S3_SECRET_KEY=r6ywtR33!DMlaL*SUUdy \
5454
-e WS_NOTIFY_ENDPOINT=http://refinery-websocket:8080 \
5555
-e POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432 \
56+
-e UPDATER=http://refinery-updater:80 \
5657
-e NEURAL_SEARCH=http://refinery-neural-search:80 \
5758
-e MODEL_PROVIDER=http://refinery-model-provider:80 \
5859
-e WEAK_SUPERVISION=http://refinery-weak-supervisor:80 \

0 commit comments

Comments
 (0)