eclinical-requester 1.0.16__tar.gz → 1.0.18__tar.gz

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.
Files changed (74) hide show
  1. {eclinical_requester-1.0.16/src/eclinical_requester.egg-info → eclinical_requester-1.0.18}/PKG-INFO +1 -1
  2. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/__init__.py +1 -1
  3. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/call_api.py +9 -1
  4. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/docs/application.yaml +8 -1
  5. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/dto/user.py +2 -2
  6. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/authorize.py +1 -0
  7. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/gateway.py +2 -0
  8. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/constant.py +1 -0
  9. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18/src/eclinical_requester.egg-info}/PKG-INFO +1 -1
  10. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/tests/test_api_requester.py +14 -2
  11. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/LICENSE +0 -0
  12. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/MANIFEST.in +0 -0
  13. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/README.md +0 -0
  14. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/pyproject.toml +0 -0
  15. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/setup.cfg +0 -0
  16. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/setup.py +0 -0
  17. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/__init__.py +0 -0
  18. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/__init__.py +0 -0
  19. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/api/__init__.py +0 -0
  20. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/api/auth_api.py +0 -0
  21. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/api/ecoa_auth_api.py +0 -0
  22. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/api/subject_auth_api.py +0 -0
  23. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/api/user_on_board_application_api.py +0 -0
  24. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/dto/__init__.py +0 -0
  25. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/dto/cross_user_user_on_board_dto.py +0 -0
  26. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/dto/ecoa_onboard_request_dto.py +0 -0
  27. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/dto/jwt_authentication_request.py +0 -0
  28. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/dto/reset_password_email_request_dto.py +0 -0
  29. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/dto/sso_token_retrieve_dto.py +0 -0
  30. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/dto/subject_jwt_authentication_request.py +0 -0
  31. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/dto/user_on_board_dto.py +0 -0
  32. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/service/__init__.py +0 -0
  33. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/service/auth_service.py +0 -0
  34. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/service/ecoa_auth_service.py +0 -0
  35. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/service/impl/__init__.py +0 -0
  36. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/service/impl/system_env_service_impl.py +0 -0
  37. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/service/impl/user_on_board_application_service_impl.py +0 -0
  38. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/service/subject_auth_service.py +0 -0
  39. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/admin/service/user_on_board_application_service.py +0 -0
  40. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/__init__.py +0 -0
  41. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/api/__init__.py +0 -0
  42. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/api/ecoa_auth_api.py +0 -0
  43. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/api/subject_auth_api.py +0 -0
  44. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/api/system_env_api.py +0 -0
  45. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/dto/portal_login_t_ime.py +0 -0
  46. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/service/__init__.py +0 -0
  47. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/service/ecoa_auth_service.py +0 -0
  48. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/service/subject_auth_service.py +0 -0
  49. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/core/common/service/system_env_service.py +0 -0
  50. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/dto/__init__.py +0 -0
  51. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/dto/base_dto.py +0 -0
  52. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/dto/biz_base.py +0 -0
  53. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/__init__.py +0 -0
  54. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/app_url.py +0 -0
  55. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/authorize_ecoa.py +0 -0
  56. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/authorize_ediary.py +0 -0
  57. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/eclinical_requests.py +0 -0
  58. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/exceptions.py +0 -0
  59. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/sample_headers.py +0 -0
  60. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/http/token_manager.py +0 -0
  61. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/__init__.py +0 -0
  62. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/decrypt.py +0 -0
  63. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/json_utils.py +0 -0
  64. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/lib.py +0 -0
  65. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/logger.py +0 -0
  66. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/path.py +0 -0
  67. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/placeholder_replacer.py +0 -0
  68. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/read_file.py +0 -0
  69. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/rsa.py +0 -0
  70. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/api_requester/utils/time_utils.py +0 -0
  71. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/eclinical_requester.egg-info/SOURCES.txt +0 -0
  72. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/eclinical_requester.egg-info/dependency_links.txt +0 -0
  73. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/eclinical_requester.egg-info/requires.txt +0 -0
  74. {eclinical_requester-1.0.16 → eclinical_requester-1.0.18}/src/eclinical_requester.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eclinical_requester
3
- Version: 1.0.16
3
+ Version: 1.0.18
4
4
  Summary: edetek api requester
5
5
  Home-page: http://example.com
6
6
  Author: xiaodong.li
@@ -6,4 +6,4 @@
6
6
  @Description: Description
7
7
  @File: __init__.py.py
8
8
  """
9
- __version__ = "1.0.16"
9
+ __version__ = "1.0.18"
@@ -22,7 +22,8 @@ from api_requester.utils.placeholder_replacer import PlaceholderReplacer
22
22
  class ApiRequester(BizBase):
23
23
 
24
24
  def __init__(self, username=None, password=None, sponsor=None, study=None, test_env=None, app_env=None, app=None,
25
- company=None, role=None, external=False, ttype=None, org_code=None, token=None):
25
+ company=None, role=None, external=False, ttype=None, org_code=None, token=None,
26
+ company_level_login=False):
26
27
  u = EClinicalUser(
27
28
  username=username,
28
29
  password=password,
@@ -36,6 +37,7 @@ class ApiRequester(BizBase):
36
37
  external=external,
37
38
  org_code=org_code,
38
39
  token=token,
40
+ company_level_login=company_level_login,
39
41
  )
40
42
  super().__init__(u)
41
43
  self.headers = dict()
@@ -62,6 +64,12 @@ class ApiRequester(BizBase):
62
64
  url = AppUrl(self.user.app, self.user.test_env).which_url(self.user.app)(api)
63
65
  else:
64
66
  url = AppUrl(self.user.app, self.user.test_env).external_url(api)
67
+ if self.user.test_env == "us.prod":
68
+ if method.lower() != "get":
69
+ raise Exception(
70
+ f"Request method '{method.upper()}' is not allowed in the 'us.prod' environment. "
71
+ "Only GET requests are permitted."
72
+ )
65
73
  return request(method, url, headers=self.headers, **kwargs)
66
74
 
67
75
  def user_replacer(self):
@@ -6,6 +6,7 @@ serverUrl:
6
6
  test01: http://test-01-app-01.chengdudev.edetekapps.cn
7
7
  us.dev: https://ec.eclinical-dev.edetekapps.com
8
8
  us.demo: https://ec4.ec4demo.edetekapps.com
9
+ us.prod: https://ec.eclinical.edetekapps.com
9
10
 
10
11
  admin:
11
12
  urlPrefix: /api/admin
@@ -44,4 +45,10 @@ imaging:
44
45
  urlPrefix: /api/imaging
45
46
 
46
47
  pv:
47
- urlPrefix: /api/pv
48
+ urlPrefix: /api/pv
49
+
50
+ procheck:
51
+ urlPrefix: /api/procheck
52
+
53
+ cmd:
54
+ urlPrefix: /api/cmd
@@ -11,7 +11,7 @@
11
11
  class EClinicalUser:
12
12
 
13
13
  def __init__(self, username=None, password=None, sponsor=None, study=None, test_env=None, app_env=None, app=None,
14
- company=None, role=None, external=False, org_code=None, token=None):
14
+ company=None, role=None, external=False, org_code=None, token=None, company_level_login=False):
15
15
  # username 用户名
16
16
  # password 密码
17
17
  # app 访问的系统
@@ -28,7 +28,7 @@ class EClinicalUser:
28
28
  self.company = company
29
29
  self.role = role
30
30
  self.external = external
31
- self.company_level_login = False
31
+ self.company_level_login = company_level_login
32
32
  self.org_code = org_code
33
33
  self.token = token # 使用token直接调用接口
34
34
 
@@ -88,6 +88,7 @@ class Authorize(BizBase, AdminAuthService, AdminUserOnBoardApplicationServiceImp
88
88
  def _user_onboard(self, company_id):
89
89
  user_onboard_dto = UserOnBoardDto(-1)
90
90
  user_onboard_dto.workForCompanyId = company_id
91
+ user_onboard_dto.companyLevelLogin = self.user.company_level_login
91
92
  self._build_user_onboard_dto(user_onboard_dto)
92
93
  self.user_onboard_dto = user_onboard_dto
93
94
  response = self.on_board(user_onboard_dto)
@@ -27,6 +27,8 @@ _api = {
27
27
  AppEnum.CODING.code: (AppEnum.CODING.code,),
28
28
  AppEnum.IMAGING.code: (AppEnum.IMAGING.code,),
29
29
  AppEnum.PV.code: (AppEnum.PV.code,),
30
+ AppEnum.PROCHECK.code: (AppEnum.PROCHECK.code,),
31
+ AppEnum.CMD.code: (AppEnum.CMD.code,),
30
32
  }
31
33
  apis = LookupDict(name='api')
32
34
 
@@ -29,6 +29,7 @@ class AppEnum(Enum):
29
29
  IMAGING = (11, "imaging", "Eclinical IMAGING System")
30
30
  CMD = (12, "cmd", "Eclinical CMD System")
31
31
  IRC = (13, "irc", "Eclinical IRC System")
32
+ PROCHECK = (14, "procheck", "Eclinical PROCHECK System")
32
33
 
33
34
 
34
35
  class UserType(Enum):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eclinical_requester
3
- Version: 1.0.16
3
+ Version: 1.0.18
4
4
  Summary: edetek api requester
5
5
  Home-page: http://example.com
6
6
  Author: xiaodong.li
@@ -21,11 +21,23 @@ class TestApiRequester(unittest.TestCase):
21
21
  app=AppEnum.CODING.code, company="For internal automated testing", role="DM")
22
22
  c.login()
23
23
 
24
+ @staticmethod
25
+ def test_procheck_login():
26
+ c = ApiRequester("CRC01", "Admin@123", "Edetek", None, "dev03", "dev",
27
+ app=AppEnum.PROCHECK.code, company="Edetek", role="DM")
28
+ c.login()
29
+
30
+ @staticmethod
31
+ def test_cmd_login():
32
+ c = ApiRequester("CRC01", "Admin@123", None, None, "dev03", None,
33
+ app=AppEnum.CMD.code, company="Edetek", company_level_login=True)
34
+ c.login()
35
+
24
36
  @staticmethod
25
37
  def test_ecoa_login():
26
38
  c = ApiRequester("CRC01", "7IG4CALi", app=AppEnum.EDC.code, test_env="dev03", ttype=EdcAppType.ECOA.name)
27
39
  c.login()
28
- assert c.user.study == "CRN04894-13"
40
+ assert c.user.study == 'Study-229-2436'
29
41
  response = c.request("get", "/mobile/user/ecoa-study-language")
30
42
  assert response.json().get("payload")
31
43
 
@@ -34,7 +46,7 @@ class TestApiRequester(unittest.TestCase):
34
46
  c = ApiRequester("31176557", "886506", app=AppEnum.EDC.code, test_env="dev03", ttype=EdcAppType.EDIARY.name)
35
47
  c.login()
36
48
  response = c.request("get", "/study/information")
37
- assert response.json().get("payload").get("name") == "CRN04894-13"
49
+ assert response.json().get("payload").get("name") == 'Study-229-2436'
38
50
 
39
51
  @staticmethod
40
52
  def test_ediary_login_with_org_code():