ldc-lender-datalayer 1.0.14__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 (50) hide show
  1. ldc_lender_datalayer-1.0.14/MANIFEST.in +43 -0
  2. ldc_lender_datalayer-1.0.14/PKG-INFO +171 -0
  3. ldc_lender_datalayer-1.0.14/README.md +145 -0
  4. ldc_lender_datalayer-1.0.14/ldc_lender_datalayer.egg-info/PKG-INFO +171 -0
  5. ldc_lender_datalayer-1.0.14/ldc_lender_datalayer.egg-info/SOURCES.txt +48 -0
  6. ldc_lender_datalayer-1.0.14/ldc_lender_datalayer.egg-info/dependency_links.txt +1 -0
  7. ldc_lender_datalayer-1.0.14/ldc_lender_datalayer.egg-info/requires.txt +6 -0
  8. ldc_lender_datalayer-1.0.14/ldc_lender_datalayer.egg-info/top_level.txt +1 -0
  9. ldc_lender_datalayer-1.0.14/lender_datalayer/__init__.py +31 -0
  10. ldc_lender_datalayer-1.0.14/lender_datalayer/base_datalayer.py +264 -0
  11. ldc_lender_datalayer-1.0.14/lender_datalayer/common/__init__.py +0 -0
  12. ldc_lender_datalayer-1.0.14/lender_datalayer/common/constants.py +669 -0
  13. ldc_lender_datalayer-1.0.14/lender_datalayer/common/utils/__init__.py +0 -0
  14. ldc_lender_datalayer-1.0.14/lender_datalayer/common/utils/datetime_utils.py +102 -0
  15. ldc_lender_datalayer-1.0.14/lender_datalayer/common/utils/decorators.py +46 -0
  16. ldc_lender_datalayer-1.0.14/lender_datalayer/common/utils/encryption_utils.py +127 -0
  17. ldc_lender_datalayer-1.0.14/lender_datalayer/common/utils/random_value_generator_utils.py +19 -0
  18. ldc_lender_datalayer-1.0.14/lender_datalayer/common/utils/shared_utils.py +162 -0
  19. ldc_lender_datalayer-1.0.14/lender_datalayer/custom_exception_handlers.py +45 -0
  20. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/__init__.py +1 -0
  21. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/account_mapper.py +458 -0
  22. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/authentication_mapper.py +555 -0
  23. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/bank_mapper.py +145 -0
  24. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/config_mapper.py +46 -0
  25. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/cp_dashboard_mapper.py +783 -0
  26. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/cp_mapper.py +1769 -0
  27. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/document_mapper.py +373 -0
  28. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/investor_mapper.py +4086 -0
  29. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/partner_mapper.py +149 -0
  30. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/thirdparty_mapper.py +270 -0
  31. ldc_lender_datalayer-1.0.14/lender_datalayer/ims_mappers/txn_account_mapper.py +130 -0
  32. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/__init__.py +3 -0
  33. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/authentication_mapper.py +345 -0
  34. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/bank_mapper.py +342 -0
  35. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/bureau_mapper.py +54 -0
  36. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/config_mapper.py +97 -0
  37. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/cp_mapper.py +432 -0
  38. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/dashboard_mapper.py +1053 -0
  39. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/document_mapper.py +149 -0
  40. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/kmi_mapper.py +133 -0
  41. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/thirdparty_hyperverge_mapper.py +45 -0
  42. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/thirdparty_mapper.py +175 -0
  43. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/user_mapper.py +1909 -0
  44. ldc_lender_datalayer-1.0.14/lender_datalayer/ios_mappers/user_source_group_mapper.py +60 -0
  45. ldc_lender_datalayer-1.0.14/lender_datalayer/redis_datalayer.py +184 -0
  46. ldc_lender_datalayer-1.0.14/lender_datalayer/s2s_communication_mapper/s2s_communication.py +197 -0
  47. ldc_lender_datalayer-1.0.14/pyproject.toml +3 -0
  48. ldc_lender_datalayer-1.0.14/requirements.txt +8 -0
  49. ldc_lender_datalayer-1.0.14/setup.cfg +4 -0
  50. ldc_lender_datalayer-1.0.14/setup.py +34 -0
@@ -0,0 +1,43 @@
1
+ # Essential files for package distribution
2
+ include README.md
3
+ include LICENSE
4
+ include requirements.txt
5
+ include pyproject.toml
6
+
7
+ # Include all Python files in the package
8
+ recursive-include lender_datalayer *.py
9
+
10
+ # Include package data files
11
+ recursive-include lender_datalayer *.txt
12
+ recursive-include lender_datalayer *.md
13
+ recursive-include lender_datalayer *.yml
14
+ recursive-include lender_datalayer *.yaml
15
+ recursive-include lender_datalayer *.json
16
+
17
+ # Exclude development and build artifacts
18
+ global-exclude *.pyc
19
+ global-exclude *.pyo
20
+ global-exclude __pycache__
21
+ global-exclude .DS_Store
22
+ global-exclude .git*
23
+ global-exclude .coverage
24
+ global-exclude .pytest_cache
25
+ global-exclude .mypy_cache
26
+ global-exclude .tox
27
+ global-exclude .venv
28
+ global-exclude venv
29
+ global-exclude env
30
+ global-exclude .env
31
+ global-exclude *.egg-info
32
+ global-exclude build
33
+ global-exclude dist
34
+ global-exclude .eggs
35
+ global-exclude *.log
36
+ global-exclude *.tmp
37
+ global-exclude *.bak
38
+ global-exclude *.swp
39
+ global-exclude *.swo
40
+ global-exclude *~
41
+ global-exclude .vscode
42
+ global-exclude .idea
43
+ global-exclude *.sublime-*
@@ -0,0 +1,171 @@
1
+ Metadata-Version: 2.4
2
+ Name: ldc-lender-datalayer
3
+ Version: 1.0.14
4
+ Summary: A comprehensive data access layer for ldc lender apps
5
+ Author: Sandesh Kanagal
6
+ Author-email: sandesh.kanagal@lendenclub.com
7
+ Classifier: Intended Audience :: Developers
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Topic :: Utilities
10
+ Requires-Python: >=3.10.0
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: Django>=5.2.0
13
+ Requires-Dist: psycopg[binary,pool]>=3.2.9
14
+ Requires-Dist: redis>=5.0.3
15
+ Requires-Dist: pytz>=2023.3
16
+ Requires-Dist: python-dateutil>=2.8.2
17
+ Requires-Dist: pycryptodome>=3.19.0
18
+ Dynamic: author
19
+ Dynamic: author-email
20
+ Dynamic: classifier
21
+ Dynamic: description
22
+ Dynamic: description-content-type
23
+ Dynamic: requires-dist
24
+ Dynamic: requires-python
25
+ Dynamic: summary
26
+
27
+ # Lender Data Layer
28
+
29
+ A comprehensive data access layer for Django applications providing database operations, Redis caching, and various data mappers.
30
+
31
+ ## Features
32
+
33
+ - **Data Mappers**: IMS and iOS specific data mappers with internal functions
34
+ - **Redis Integration**: Caching layer with Redis support
35
+ - **Exception Handling**: Custom exception classes for error handling
36
+ - **Utilities**: Common utilities for data processing
37
+
38
+ ## Installation
39
+
40
+ ```bash
41
+ pip install lender-datalayer
42
+ ```
43
+
44
+ ## Quick Start
45
+
46
+ ### Using Data Mappers (Recommended)
47
+
48
+ ```python
49
+ # Import specific mappers
50
+ from lender_datalayer.ims_mappers import account_mapper, investor_mapper
51
+ from lender_datalayer.ios_mappers import user_mapper, bank_mapper
52
+
53
+ # Use mapper functions directly
54
+ user_data = user_mapper.get_user_by_id(user_id=123)
55
+ account_info = account_mapper.get_account_details(account_id=456)
56
+ ```
57
+
58
+ ### Using Redis Operations
59
+
60
+ ```python
61
+ from lender_datalayer import RedisDataLayer
62
+
63
+ # Initialize Redis layer
64
+ redis = RedisDataLayer()
65
+
66
+ # Store data in cache
67
+ redis.store_data_in_redis_cache("user:123", {"name": "John", "email": "john@example.com"})
68
+
69
+ # Retrieve data from cache
70
+ user_data = redis.get_data_from_redis_cache("user:123")
71
+
72
+ # Delete data from cache
73
+ redis.delete_data_from_redis_cache("user:123")
74
+ ```
75
+
76
+ ## Requirements
77
+
78
+ - Python 3.8+
79
+ - Django 5.2+
80
+ - Redis 5.0+
81
+ - PostgreSQL (with psycopg)
82
+
83
+ ## Usage Guidelines
84
+
85
+ ### ✅ What End Users Should Use
86
+
87
+ #### **1. Mapper Functions (Primary Usage)**
88
+ ```python
89
+ # IMS Mappers
90
+ from lender_datalayer.ims_mappers import account_mapper, investor_mapper, cp_mapper
91
+
92
+ # Use internal functions of mappers
93
+ user_data = investor_mapper.get_investor_details(investor_id=123)
94
+ account_list = account_mapper.get_user_accounts(user_id=456)
95
+ cp_data = cp_mapper.get_cp_dashboard_data(cp_id=789)
96
+ ```
97
+
98
+ #### **2. iOS Mappers**
99
+ ```python
100
+ from lender_datalayer.ios_mappers import user_mapper, bank_mapper, document_mapper
101
+
102
+ # Use internal functions of mappers
103
+ user_profile = user_mapper.get_user_profile(user_id=123)
104
+ bank_accounts = bank_mapper.get_user_bank_accounts(user_id=456)
105
+ documents = document_mapper.get_user_documents(user_id=789)
106
+ ```
107
+
108
+ #### **3. Redis Operations**
109
+ ```python
110
+ from lender_datalayer import RedisDataLayer
111
+
112
+ redis = RedisDataLayer()
113
+
114
+ # Cache operations
115
+ redis.store_data_in_redis_cache("key", data, ttl=3600)
116
+ cached_data = redis.get_data_from_redis_cache("key")
117
+ redis.delete_data_from_redis_cache("key")
118
+ ```
119
+
120
+ ### ❌ What End Users Should NOT Use
121
+
122
+ #### **Base Classes (Internal Use Only)**
123
+ ```python
124
+ # DON'T use these directly - they are for internal mapper implementation
125
+ from lender_datalayer import BaseDataLayer # ❌ Not for end users
126
+ from lender_datalayer import DataLayerUtils # ❌ Not for end users
127
+ ```
128
+
129
+ #### **Custom Exception Classes (Internal Use Only)**
130
+ ```python
131
+ # DON'T import these directly - they are used internally by mappers
132
+ from lender_datalayer import ConnectionError # ❌ Not for end users
133
+ from lender_datalayer import QueryError # ❌ Not for end users
134
+ ```
135
+
136
+ ## Available Mappers
137
+
138
+ ### IMS Mappers
139
+ - `account_mapper` - Account management functions
140
+ - `investor_mapper` - Investor data functions
141
+ - `cp_mapper` - Credit Partner functions
142
+ - `bank_mapper` - Banking functions
143
+ - `document_mapper` - Document handling functions
144
+ - `partner_mapper` - Partner management functions
145
+ - `thirdparty_mapper` - Third-party integration functions
146
+
147
+ ### iOS Mappers
148
+ - `user_mapper` - User management functions
149
+ - `bank_mapper` - Banking functions
150
+ - `document_mapper` - Document handling functions
151
+ - `dashboard_mapper` - Dashboard data functions
152
+ - `bureau_mapper` - Credit bureau functions
153
+ - `kmi_mapper` - KYC functions
154
+ - `thirdparty_mapper` - Third-party integration functions
155
+
156
+ ## Development
157
+
158
+ ```bash
159
+ # Install in development mode
160
+ pip install -e .[dev]
161
+
162
+ # Format code
163
+ black lender_datalayer/
164
+
165
+ # Type checking
166
+ mypy lender_datalayer/
167
+ ```
168
+
169
+ ## License
170
+
171
+ This package is for personal use only.
@@ -0,0 +1,145 @@
1
+ # Lender Data Layer
2
+
3
+ A comprehensive data access layer for Django applications providing database operations, Redis caching, and various data mappers.
4
+
5
+ ## Features
6
+
7
+ - **Data Mappers**: IMS and iOS specific data mappers with internal functions
8
+ - **Redis Integration**: Caching layer with Redis support
9
+ - **Exception Handling**: Custom exception classes for error handling
10
+ - **Utilities**: Common utilities for data processing
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ pip install lender-datalayer
16
+ ```
17
+
18
+ ## Quick Start
19
+
20
+ ### Using Data Mappers (Recommended)
21
+
22
+ ```python
23
+ # Import specific mappers
24
+ from lender_datalayer.ims_mappers import account_mapper, investor_mapper
25
+ from lender_datalayer.ios_mappers import user_mapper, bank_mapper
26
+
27
+ # Use mapper functions directly
28
+ user_data = user_mapper.get_user_by_id(user_id=123)
29
+ account_info = account_mapper.get_account_details(account_id=456)
30
+ ```
31
+
32
+ ### Using Redis Operations
33
+
34
+ ```python
35
+ from lender_datalayer import RedisDataLayer
36
+
37
+ # Initialize Redis layer
38
+ redis = RedisDataLayer()
39
+
40
+ # Store data in cache
41
+ redis.store_data_in_redis_cache("user:123", {"name": "John", "email": "john@example.com"})
42
+
43
+ # Retrieve data from cache
44
+ user_data = redis.get_data_from_redis_cache("user:123")
45
+
46
+ # Delete data from cache
47
+ redis.delete_data_from_redis_cache("user:123")
48
+ ```
49
+
50
+ ## Requirements
51
+
52
+ - Python 3.8+
53
+ - Django 5.2+
54
+ - Redis 5.0+
55
+ - PostgreSQL (with psycopg)
56
+
57
+ ## Usage Guidelines
58
+
59
+ ### ✅ What End Users Should Use
60
+
61
+ #### **1. Mapper Functions (Primary Usage)**
62
+ ```python
63
+ # IMS Mappers
64
+ from lender_datalayer.ims_mappers import account_mapper, investor_mapper, cp_mapper
65
+
66
+ # Use internal functions of mappers
67
+ user_data = investor_mapper.get_investor_details(investor_id=123)
68
+ account_list = account_mapper.get_user_accounts(user_id=456)
69
+ cp_data = cp_mapper.get_cp_dashboard_data(cp_id=789)
70
+ ```
71
+
72
+ #### **2. iOS Mappers**
73
+ ```python
74
+ from lender_datalayer.ios_mappers import user_mapper, bank_mapper, document_mapper
75
+
76
+ # Use internal functions of mappers
77
+ user_profile = user_mapper.get_user_profile(user_id=123)
78
+ bank_accounts = bank_mapper.get_user_bank_accounts(user_id=456)
79
+ documents = document_mapper.get_user_documents(user_id=789)
80
+ ```
81
+
82
+ #### **3. Redis Operations**
83
+ ```python
84
+ from lender_datalayer import RedisDataLayer
85
+
86
+ redis = RedisDataLayer()
87
+
88
+ # Cache operations
89
+ redis.store_data_in_redis_cache("key", data, ttl=3600)
90
+ cached_data = redis.get_data_from_redis_cache("key")
91
+ redis.delete_data_from_redis_cache("key")
92
+ ```
93
+
94
+ ### ❌ What End Users Should NOT Use
95
+
96
+ #### **Base Classes (Internal Use Only)**
97
+ ```python
98
+ # DON'T use these directly - they are for internal mapper implementation
99
+ from lender_datalayer import BaseDataLayer # ❌ Not for end users
100
+ from lender_datalayer import DataLayerUtils # ❌ Not for end users
101
+ ```
102
+
103
+ #### **Custom Exception Classes (Internal Use Only)**
104
+ ```python
105
+ # DON'T import these directly - they are used internally by mappers
106
+ from lender_datalayer import ConnectionError # ❌ Not for end users
107
+ from lender_datalayer import QueryError # ❌ Not for end users
108
+ ```
109
+
110
+ ## Available Mappers
111
+
112
+ ### IMS Mappers
113
+ - `account_mapper` - Account management functions
114
+ - `investor_mapper` - Investor data functions
115
+ - `cp_mapper` - Credit Partner functions
116
+ - `bank_mapper` - Banking functions
117
+ - `document_mapper` - Document handling functions
118
+ - `partner_mapper` - Partner management functions
119
+ - `thirdparty_mapper` - Third-party integration functions
120
+
121
+ ### iOS Mappers
122
+ - `user_mapper` - User management functions
123
+ - `bank_mapper` - Banking functions
124
+ - `document_mapper` - Document handling functions
125
+ - `dashboard_mapper` - Dashboard data functions
126
+ - `bureau_mapper` - Credit bureau functions
127
+ - `kmi_mapper` - KYC functions
128
+ - `thirdparty_mapper` - Third-party integration functions
129
+
130
+ ## Development
131
+
132
+ ```bash
133
+ # Install in development mode
134
+ pip install -e .[dev]
135
+
136
+ # Format code
137
+ black lender_datalayer/
138
+
139
+ # Type checking
140
+ mypy lender_datalayer/
141
+ ```
142
+
143
+ ## License
144
+
145
+ This package is for personal use only.
@@ -0,0 +1,171 @@
1
+ Metadata-Version: 2.4
2
+ Name: ldc-lender-datalayer
3
+ Version: 1.0.14
4
+ Summary: A comprehensive data access layer for ldc lender apps
5
+ Author: Sandesh Kanagal
6
+ Author-email: sandesh.kanagal@lendenclub.com
7
+ Classifier: Intended Audience :: Developers
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Topic :: Utilities
10
+ Requires-Python: >=3.10.0
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: Django>=5.2.0
13
+ Requires-Dist: psycopg[binary,pool]>=3.2.9
14
+ Requires-Dist: redis>=5.0.3
15
+ Requires-Dist: pytz>=2023.3
16
+ Requires-Dist: python-dateutil>=2.8.2
17
+ Requires-Dist: pycryptodome>=3.19.0
18
+ Dynamic: author
19
+ Dynamic: author-email
20
+ Dynamic: classifier
21
+ Dynamic: description
22
+ Dynamic: description-content-type
23
+ Dynamic: requires-dist
24
+ Dynamic: requires-python
25
+ Dynamic: summary
26
+
27
+ # Lender Data Layer
28
+
29
+ A comprehensive data access layer for Django applications providing database operations, Redis caching, and various data mappers.
30
+
31
+ ## Features
32
+
33
+ - **Data Mappers**: IMS and iOS specific data mappers with internal functions
34
+ - **Redis Integration**: Caching layer with Redis support
35
+ - **Exception Handling**: Custom exception classes for error handling
36
+ - **Utilities**: Common utilities for data processing
37
+
38
+ ## Installation
39
+
40
+ ```bash
41
+ pip install lender-datalayer
42
+ ```
43
+
44
+ ## Quick Start
45
+
46
+ ### Using Data Mappers (Recommended)
47
+
48
+ ```python
49
+ # Import specific mappers
50
+ from lender_datalayer.ims_mappers import account_mapper, investor_mapper
51
+ from lender_datalayer.ios_mappers import user_mapper, bank_mapper
52
+
53
+ # Use mapper functions directly
54
+ user_data = user_mapper.get_user_by_id(user_id=123)
55
+ account_info = account_mapper.get_account_details(account_id=456)
56
+ ```
57
+
58
+ ### Using Redis Operations
59
+
60
+ ```python
61
+ from lender_datalayer import RedisDataLayer
62
+
63
+ # Initialize Redis layer
64
+ redis = RedisDataLayer()
65
+
66
+ # Store data in cache
67
+ redis.store_data_in_redis_cache("user:123", {"name": "John", "email": "john@example.com"})
68
+
69
+ # Retrieve data from cache
70
+ user_data = redis.get_data_from_redis_cache("user:123")
71
+
72
+ # Delete data from cache
73
+ redis.delete_data_from_redis_cache("user:123")
74
+ ```
75
+
76
+ ## Requirements
77
+
78
+ - Python 3.8+
79
+ - Django 5.2+
80
+ - Redis 5.0+
81
+ - PostgreSQL (with psycopg)
82
+
83
+ ## Usage Guidelines
84
+
85
+ ### ✅ What End Users Should Use
86
+
87
+ #### **1. Mapper Functions (Primary Usage)**
88
+ ```python
89
+ # IMS Mappers
90
+ from lender_datalayer.ims_mappers import account_mapper, investor_mapper, cp_mapper
91
+
92
+ # Use internal functions of mappers
93
+ user_data = investor_mapper.get_investor_details(investor_id=123)
94
+ account_list = account_mapper.get_user_accounts(user_id=456)
95
+ cp_data = cp_mapper.get_cp_dashboard_data(cp_id=789)
96
+ ```
97
+
98
+ #### **2. iOS Mappers**
99
+ ```python
100
+ from lender_datalayer.ios_mappers import user_mapper, bank_mapper, document_mapper
101
+
102
+ # Use internal functions of mappers
103
+ user_profile = user_mapper.get_user_profile(user_id=123)
104
+ bank_accounts = bank_mapper.get_user_bank_accounts(user_id=456)
105
+ documents = document_mapper.get_user_documents(user_id=789)
106
+ ```
107
+
108
+ #### **3. Redis Operations**
109
+ ```python
110
+ from lender_datalayer import RedisDataLayer
111
+
112
+ redis = RedisDataLayer()
113
+
114
+ # Cache operations
115
+ redis.store_data_in_redis_cache("key", data, ttl=3600)
116
+ cached_data = redis.get_data_from_redis_cache("key")
117
+ redis.delete_data_from_redis_cache("key")
118
+ ```
119
+
120
+ ### ❌ What End Users Should NOT Use
121
+
122
+ #### **Base Classes (Internal Use Only)**
123
+ ```python
124
+ # DON'T use these directly - they are for internal mapper implementation
125
+ from lender_datalayer import BaseDataLayer # ❌ Not for end users
126
+ from lender_datalayer import DataLayerUtils # ❌ Not for end users
127
+ ```
128
+
129
+ #### **Custom Exception Classes (Internal Use Only)**
130
+ ```python
131
+ # DON'T import these directly - they are used internally by mappers
132
+ from lender_datalayer import ConnectionError # ❌ Not for end users
133
+ from lender_datalayer import QueryError # ❌ Not for end users
134
+ ```
135
+
136
+ ## Available Mappers
137
+
138
+ ### IMS Mappers
139
+ - `account_mapper` - Account management functions
140
+ - `investor_mapper` - Investor data functions
141
+ - `cp_mapper` - Credit Partner functions
142
+ - `bank_mapper` - Banking functions
143
+ - `document_mapper` - Document handling functions
144
+ - `partner_mapper` - Partner management functions
145
+ - `thirdparty_mapper` - Third-party integration functions
146
+
147
+ ### iOS Mappers
148
+ - `user_mapper` - User management functions
149
+ - `bank_mapper` - Banking functions
150
+ - `document_mapper` - Document handling functions
151
+ - `dashboard_mapper` - Dashboard data functions
152
+ - `bureau_mapper` - Credit bureau functions
153
+ - `kmi_mapper` - KYC functions
154
+ - `thirdparty_mapper` - Third-party integration functions
155
+
156
+ ## Development
157
+
158
+ ```bash
159
+ # Install in development mode
160
+ pip install -e .[dev]
161
+
162
+ # Format code
163
+ black lender_datalayer/
164
+
165
+ # Type checking
166
+ mypy lender_datalayer/
167
+ ```
168
+
169
+ ## License
170
+
171
+ This package is for personal use only.
@@ -0,0 +1,48 @@
1
+ MANIFEST.in
2
+ README.md
3
+ pyproject.toml
4
+ requirements.txt
5
+ setup.py
6
+ ldc_lender_datalayer.egg-info/PKG-INFO
7
+ ldc_lender_datalayer.egg-info/SOURCES.txt
8
+ ldc_lender_datalayer.egg-info/dependency_links.txt
9
+ ldc_lender_datalayer.egg-info/requires.txt
10
+ ldc_lender_datalayer.egg-info/top_level.txt
11
+ lender_datalayer/__init__.py
12
+ lender_datalayer/base_datalayer.py
13
+ lender_datalayer/custom_exception_handlers.py
14
+ lender_datalayer/redis_datalayer.py
15
+ lender_datalayer/common/__init__.py
16
+ lender_datalayer/common/constants.py
17
+ lender_datalayer/common/utils/__init__.py
18
+ lender_datalayer/common/utils/datetime_utils.py
19
+ lender_datalayer/common/utils/decorators.py
20
+ lender_datalayer/common/utils/encryption_utils.py
21
+ lender_datalayer/common/utils/random_value_generator_utils.py
22
+ lender_datalayer/common/utils/shared_utils.py
23
+ lender_datalayer/ims_mappers/__init__.py
24
+ lender_datalayer/ims_mappers/account_mapper.py
25
+ lender_datalayer/ims_mappers/authentication_mapper.py
26
+ lender_datalayer/ims_mappers/bank_mapper.py
27
+ lender_datalayer/ims_mappers/config_mapper.py
28
+ lender_datalayer/ims_mappers/cp_dashboard_mapper.py
29
+ lender_datalayer/ims_mappers/cp_mapper.py
30
+ lender_datalayer/ims_mappers/document_mapper.py
31
+ lender_datalayer/ims_mappers/investor_mapper.py
32
+ lender_datalayer/ims_mappers/partner_mapper.py
33
+ lender_datalayer/ims_mappers/thirdparty_mapper.py
34
+ lender_datalayer/ims_mappers/txn_account_mapper.py
35
+ lender_datalayer/ios_mappers/__init__.py
36
+ lender_datalayer/ios_mappers/authentication_mapper.py
37
+ lender_datalayer/ios_mappers/bank_mapper.py
38
+ lender_datalayer/ios_mappers/bureau_mapper.py
39
+ lender_datalayer/ios_mappers/config_mapper.py
40
+ lender_datalayer/ios_mappers/cp_mapper.py
41
+ lender_datalayer/ios_mappers/dashboard_mapper.py
42
+ lender_datalayer/ios_mappers/document_mapper.py
43
+ lender_datalayer/ios_mappers/kmi_mapper.py
44
+ lender_datalayer/ios_mappers/thirdparty_hyperverge_mapper.py
45
+ lender_datalayer/ios_mappers/thirdparty_mapper.py
46
+ lender_datalayer/ios_mappers/user_mapper.py
47
+ lender_datalayer/ios_mappers/user_source_group_mapper.py
48
+ lender_datalayer/s2s_communication_mapper/s2s_communication.py
@@ -0,0 +1,6 @@
1
+ Django>=5.2.0
2
+ psycopg[binary,pool]>=3.2.9
3
+ redis>=5.0.3
4
+ pytz>=2023.3
5
+ python-dateutil>=2.8.2
6
+ pycryptodome>=3.19.0
@@ -0,0 +1,31 @@
1
+ """
2
+ Lender Data Layer - A comprehensive data access layer for Django applications.
3
+
4
+ This package provides database operations, Redis caching, and various data mappers
5
+ for Django applications.
6
+ """
7
+
8
+ from .base_datalayer import BaseDataLayer, DataLayerUtils
9
+ from .redis_datalayer import RedisDataLayer
10
+ from .custom_exception_handlers import (
11
+ DataLayerError,
12
+ ConnectionError,
13
+ QueryError,
14
+ ValidationError,
15
+ TransactionError
16
+ )
17
+
18
+ __version__ = "1.0.8"
19
+ __author__ = "Sandesh Kanagal"
20
+ __email__ = "sandesh.kanagal@lendenclub.com"
21
+
22
+ __all__ = [
23
+ "BaseDataLayer",
24
+ "DataLayerUtils",
25
+ "RedisDataLayer",
26
+ "DataLayerError",
27
+ "ConnectionError",
28
+ "QueryError",
29
+ "ValidationError",
30
+ "TransactionError"
31
+ ]