dataflow-core 2.1.6__py3-none-any.whl → 2.1.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- authenticator/dataflowhubauthenticator.py +0 -1
- dataflow/models/__init__.py +2 -1
- dataflow/models/dataflow_zone.py +19 -0
- dataflow/models/role.py +12 -2
- dataflow/models/role_zone.py +17 -0
- dataflow/models/user.py +2 -2
- dataflow/utils/get_current_user.py +2 -0
- {dataflow_core-2.1.6.dist-info → dataflow_core-2.1.7.dist-info}/METADATA +1 -1
- {dataflow_core-2.1.6.dist-info → dataflow_core-2.1.7.dist-info}/RECORD +12 -11
- dataflow/models/runtime.py +0 -11
- {dataflow_core-2.1.6.dist-info → dataflow_core-2.1.7.dist-info}/WHEEL +0 -0
- {dataflow_core-2.1.6.dist-info → dataflow_core-2.1.7.dist-info}/entry_points.txt +0 -0
- {dataflow_core-2.1.6.dist-info → dataflow_core-2.1.7.dist-info}/top_level.txt +0 -0
dataflow/models/__init__.py
CHANGED
|
@@ -12,7 +12,8 @@ from .blacklist_library import BlacklistedLibrary
|
|
|
12
12
|
from .environment_status import EnvironmentStatus
|
|
13
13
|
from .session import Session
|
|
14
14
|
from .server_config import ServerConfig, CustomServerConfig
|
|
15
|
-
from .
|
|
15
|
+
from .dataflow_zone import DataflowZone
|
|
16
|
+
from .role_zone import RoleZone
|
|
16
17
|
from .environment_status import EnvironmentStatus
|
|
17
18
|
from .user_team import UserTeam
|
|
18
19
|
from .role_server import RoleServer
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from sqlalchemy import Column, Integer, String, Boolean
|
|
2
|
+
from sqlalchemy.orm import relationship
|
|
3
|
+
from dataflow.db import Base
|
|
4
|
+
|
|
5
|
+
class DataflowZone(Base):
|
|
6
|
+
__tablename__ = "DATAFLOW_ZONE"
|
|
7
|
+
|
|
8
|
+
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
9
|
+
slug = Column(String, unique=True, nullable=False)
|
|
10
|
+
display_name = Column(String, nullable=False)
|
|
11
|
+
is_runtime = Column(Boolean, default=False)
|
|
12
|
+
subdomain = Column(String)
|
|
13
|
+
spark_enabled = Column(Boolean, default=False)
|
|
14
|
+
display_order = Column(Integer, default=0)
|
|
15
|
+
|
|
16
|
+
role_zone_assocs = relationship("RoleZone", back_populates="zone")
|
|
17
|
+
|
|
18
|
+
def __repr__(self):
|
|
19
|
+
return f"<DataflowZone(id={self.id}, slug='{self.slug}', display_name='{self.display_name}', display_order={self.display_order})>"
|
dataflow/models/role.py
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
from sqlalchemy import Column, Integer, String, Enum
|
|
3
3
|
from sqlalchemy.orm import relationship
|
|
4
4
|
from dataflow.db import Base
|
|
5
|
+
import enum
|
|
6
|
+
|
|
7
|
+
class BaseRoleField(enum.Enum):
|
|
8
|
+
admin = "admin"
|
|
9
|
+
user = "user"
|
|
10
|
+
applicant = "applicant"
|
|
5
11
|
|
|
6
12
|
class Role(Base):
|
|
7
13
|
"""
|
|
@@ -13,7 +19,11 @@ class Role(Base):
|
|
|
13
19
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True, nullable=False)
|
|
14
20
|
name = Column(String, unique=True, nullable=False)
|
|
15
21
|
description = Column(String, nullable=True)
|
|
16
|
-
base_role = Column(Enum(
|
|
22
|
+
base_role = Column(Enum(BaseRoleField), nullable=False, default=BaseRoleField.user)
|
|
17
23
|
|
|
18
24
|
users = relationship("User", back_populates="role_details", cascade="all, delete-orphan")
|
|
19
|
-
role_server_assocs = relationship("RoleServer", back_populates="role")
|
|
25
|
+
role_server_assocs = relationship("RoleServer", back_populates="role")
|
|
26
|
+
role_zone_assocs = relationship("RoleZone", back_populates="role")
|
|
27
|
+
|
|
28
|
+
def __repr__(self):
|
|
29
|
+
return f"<Role(id={self.id}, name='{self.name}', base_role='{self.base_role}')>"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from typing import Dict, List, Optional
|
|
2
|
+
from sqlalchemy import Column, Integer, ForeignKey, UniqueConstraint, Boolean
|
|
3
|
+
from sqlalchemy.orm import relationship
|
|
4
|
+
from dataflow.db import Base
|
|
5
|
+
|
|
6
|
+
class RoleZone(Base):
|
|
7
|
+
__tablename__ = 'ROLE_ZONE'
|
|
8
|
+
|
|
9
|
+
role_id = Column(Integer, ForeignKey('ROLE.id', ondelete="CASCADE"), primary_key=True)
|
|
10
|
+
zone_id = Column(Integer, ForeignKey('DATAFLOW_ZONE.id', ondelete="CASCADE"), primary_key=True)
|
|
11
|
+
is_default = Column(Boolean, default=False, nullable=False)
|
|
12
|
+
|
|
13
|
+
role = relationship("Role", back_populates="role_zone_assocs")
|
|
14
|
+
zone = relationship("DataflowZone", back_populates="role_zone_assocs")
|
|
15
|
+
|
|
16
|
+
def __repr__(self):
|
|
17
|
+
return f"<RoleZone(role_id={self.role_id}, zone_id={self.zone_id}, is_default={self.is_default})>"
|
dataflow/models/user.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""models.py"""
|
|
2
|
-
from sqlalchemy import Column, Integer, String, Boolean, LargeBinary,
|
|
2
|
+
from sqlalchemy import Column, Integer, String, Boolean, LargeBinary, ForeignKey
|
|
3
3
|
from sqlalchemy.orm import relationship
|
|
4
4
|
from dataflow.db import Base
|
|
5
5
|
|
|
@@ -18,7 +18,7 @@ class User(Base):
|
|
|
18
18
|
role_id = Column(Integer, ForeignKey('ROLE.id'), nullable=False)
|
|
19
19
|
image = Column(LargeBinary)
|
|
20
20
|
image_url = Column(String, nullable=True)
|
|
21
|
-
active = Column(
|
|
21
|
+
active = Column(Boolean, nullable=False, default=True)
|
|
22
22
|
password = Column(String, nullable=False)
|
|
23
23
|
active_env = Column(String)
|
|
24
24
|
active_env_type = Column(String, nullable=True)
|
|
@@ -26,9 +26,11 @@ def get_user_from_session(session_id: str, db: Session):
|
|
|
26
26
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="User not found")
|
|
27
27
|
|
|
28
28
|
base_role = user.role_details.base_role
|
|
29
|
+
role_id = user.role_details.id
|
|
29
30
|
role_name = user.role_details.name
|
|
30
31
|
user.base_role = base_role
|
|
31
32
|
user.role = role_name
|
|
33
|
+
user.role_id = role_id
|
|
32
34
|
|
|
33
35
|
return user
|
|
34
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
authenticator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
authenticator/dataflowairflowauthenticator.py,sha256=gEdCiL2yJQ7lYvAwbrjcAkccVMfehoMJldw9eU7cc2s,2243
|
|
3
|
-
authenticator/dataflowhubauthenticator.py,sha256
|
|
3
|
+
authenticator/dataflowhubauthenticator.py,sha256=Jioo4a9ufDa-jZFL8GCvKnLZkOTVIeU0E7QbWqyPmoQ,13535
|
|
4
4
|
authenticator/dataflowsupersetauthenticator.py,sha256=NkAmDaIc-ui-qEolu4xz_UY7P_2g8111hwNjPvAOW1Q,2839
|
|
5
5
|
dataflow/__init__.py,sha256=WTRg8HMpMWSgxYJ9ZGVldx4k07fAbta3mBmZ1hG9mWE,30
|
|
6
6
|
dataflow/configuration.py,sha256=7To6XwH1eESiYp39eqPcswXWwrdBUdPF6xN6WnazOF0,663
|
|
@@ -8,10 +8,11 @@ dataflow/database_manager.py,sha256=tJHMuOZ9Muskrh9t4uLRlTuFU0VkHAzoHlGP5DORIC4,
|
|
|
8
8
|
dataflow/dataflow.py,sha256=-UYZst7EO1GgaOjlAkKu-tu7RC6XsgadGeDp1MOvZiA,7439
|
|
9
9
|
dataflow/db.py,sha256=73ojGqpCTRVTlPszD73Ozhjih_BI2KTHmazqxxL6iWk,3780
|
|
10
10
|
dataflow/environment.py,sha256=05F-dBRyZu2mr26vuiuJU13pfgtRpA9yW69bk83HGUw,27239
|
|
11
|
-
dataflow/models/__init__.py,sha256=
|
|
11
|
+
dataflow/models/__init__.py,sha256=WnlLd-0T3HYtJloDms1a58lN66WzBIbBSTReDXD6HaQ,892
|
|
12
12
|
dataflow/models/app_types.py,sha256=yE_ZB13lhpK7AZ7PyBwnQlf0RlIHYs_-vdMKx7_RMlY,379
|
|
13
13
|
dataflow/models/blacklist_library.py,sha256=B2oi3Z8GcR_glhLAyinFk0W8c9txXvm3uOER6dY-q7I,991
|
|
14
14
|
dataflow/models/connection.py,sha256=_VJL3KuIrm8t4lJmtunIL3-AXF9Yvi5wUolzdR3tE0E,1017
|
|
15
|
+
dataflow/models/dataflow_zone.py,sha256=yFCvQXos5M1cU7ksbVSO338_RkT3hkdw2wr3kCJ_rec,769
|
|
15
16
|
dataflow/models/environment.py,sha256=300CUwx7d7bjadrMsTch7NSRYLCuf9AK9WVzlT26CAc,2616
|
|
16
17
|
dataflow/models/environment_status.py,sha256=lvPDNUsUoTW9D97B07aKqJQHRKp4LvPM28pQDMPH1ac,536
|
|
17
18
|
dataflow/models/git_ssh.py,sha256=W15SDypxzGOz_aZkHEnVZ6DIMVsjAsbSIXVIEt2mPYU,694
|
|
@@ -19,13 +20,13 @@ dataflow/models/pinned_projects.py,sha256=I-XMQq7__XJJi2lyOdEvQEfhPRz8D6KHA6Cbav
|
|
|
19
20
|
dataflow/models/project_details.py,sha256=iNb95L3UGjcC_Ws6FiUTDANCUFhYWpnsKraS6rmCyRU,1098
|
|
20
21
|
dataflow/models/recent_project_studio.py,sha256=m12KGCsv453C1ijHjfVD8E7cJ7Og_0N8uc7_9VlfkYw,812
|
|
21
22
|
dataflow/models/recent_projects.py,sha256=OFd5MSRXVRHs9UbvUNoJBBnh9rgsJ0lwE23wm5_Hc5w,321
|
|
22
|
-
dataflow/models/role.py,sha256=
|
|
23
|
+
dataflow/models/role.py,sha256=0fgLjCx7aETRwCV5SW0-4PQBWzWddWO9a_ObJA14VOY,962
|
|
23
24
|
dataflow/models/role_server.py,sha256=mMcfjsGX1cY8hOAOBBmrZgw8ozdfuvjKJoBlR6F0Kdc,689
|
|
24
|
-
dataflow/models/
|
|
25
|
+
dataflow/models/role_zone.py,sha256=uH8JheWyzUWcRECRzYuzdphUAUXeU5zRVA1Bhuz3h9w,772
|
|
25
26
|
dataflow/models/server_config.py,sha256=8ocKT8tPen9tedO8BLPEfkWxUEIHaqvA2L-qEhrFND0,1385
|
|
26
27
|
dataflow/models/session.py,sha256=c8TI6qXsM8utzp5vSQtAOXJSbgasnyu-a0qSAvA-rWs,459
|
|
27
28
|
dataflow/models/team.py,sha256=fjkqF0N4PSwSYTgHjEQl9wuC7yumd0iOb5nNFePI6q4,488
|
|
28
|
-
dataflow/models/user.py,sha256=
|
|
29
|
+
dataflow/models/user.py,sha256=qFvkU6hZQzv-QWCC8nDKonnpl2Z2YEqMni5iUVQpMB0,1041
|
|
29
30
|
dataflow/models/user_environment.py,sha256=yI9NutULcLiwlycuEin6ROe6o1Sjdv_sgw2MEkJFeYg,568
|
|
30
31
|
dataflow/models/user_team.py,sha256=r_fmKvf6JuGgiiI9TXWjVG2QZ3WOvDrOwYWVQ3r8oWo,659
|
|
31
32
|
dataflow/models/variables.py,sha256=Sinvv3zFYni5i_GrL69cVfhCh4tOOaIHiEzWYRJ-i10,1132
|
|
@@ -34,11 +35,11 @@ dataflow/scripts/create_environment.sh,sha256=3FHgNplJuEZvyTsLqlCJNX9oyfXgsfqn80
|
|
|
34
35
|
dataflow/scripts/update_environment.sh,sha256=2dtn2xlNi6frpig-sqlGE1_IKRbbkqYOCpf_qyMKKII,992
|
|
35
36
|
dataflow/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
37
|
dataflow/utils/aws_secrets_manager.py,sha256=A_fNs9VNah9dDdl9NhqizJamYU7xr2v_GXlw9InEDFk,2380
|
|
37
|
-
dataflow/utils/get_current_user.py,sha256=
|
|
38
|
+
dataflow/utils/get_current_user.py,sha256=4nSO3SPVMZhW-MsIgxR3f9ZzrFaIZIuyrM6hvfyE7PQ,1202
|
|
38
39
|
dataflow/utils/json_handler.py,sha256=5_7WdypegRBDe2HSqBXyrJAdd92wsha8qRcmQvCj1TA,782
|
|
39
40
|
dataflow/utils/logger.py,sha256=7BFrOq5Oiqn8P4XZbgJzMP5O07d2fpdECbbfsjrUuHw,1213
|
|
40
|
-
dataflow_core-2.1.
|
|
41
|
-
dataflow_core-2.1.
|
|
42
|
-
dataflow_core-2.1.
|
|
43
|
-
dataflow_core-2.1.
|
|
44
|
-
dataflow_core-2.1.
|
|
41
|
+
dataflow_core-2.1.7.dist-info/METADATA,sha256=CeAiZQe1R8cUKi06Zzv2YBoY4lcfzrRUPEUJG73gMZA,301
|
|
42
|
+
dataflow_core-2.1.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
43
|
+
dataflow_core-2.1.7.dist-info/entry_points.txt,sha256=ppj_EIbYrJJwCPg1kfdsZk5q1N-Ejfis1neYrnjhO8o,117
|
|
44
|
+
dataflow_core-2.1.7.dist-info/top_level.txt,sha256=SZsUOpSCK9ntUy-3Tusxzf5A2e8ebwD8vouPb1dPt_8,23
|
|
45
|
+
dataflow_core-2.1.7.dist-info/RECORD,,
|
dataflow/models/runtime.py
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
from sqlalchemy import Column, Integer, String, Boolean
|
|
2
|
-
from dataflow.db import Base
|
|
3
|
-
|
|
4
|
-
class RuntimeZone(Base):
|
|
5
|
-
__tablename__ = "RUNTIME_ZONE"
|
|
6
|
-
|
|
7
|
-
id = Column(Integer, primary_key=True, autoincrement=True, unique=True)
|
|
8
|
-
name = Column(String, unique=True, nullable=False)
|
|
9
|
-
display_name = Column(String, nullable=False)
|
|
10
|
-
display_order = Column(Integer)
|
|
11
|
-
spark_enabled = Column(Boolean, default=False)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|