@@ -19,7 +19,7 @@ def query_asset_info(asset_id):
19
19
log .debug (result )
20
20
except Exception as e :
21
21
session .rollback
22
- log .exception (f"query_asset_info operation failed { e } " )
22
+ log .exception (f"query_asset_info failed { e } " )
23
23
finally :
24
24
if session is not None :
25
25
session .close ()
@@ -42,7 +42,6 @@ def add_asset_info(asset_info):
42
42
new_asset = AssetInfo (
43
43
asset_id = asset_info .asset_id ,
44
44
asset_name = asset_info .asset_name ,
45
- asset_owner = asset_info .asset_owner ,
46
45
asset_category = asset_info .asset_category ,
47
46
)
48
47
log .debug (f"add_asset_info { new_asset } " )
@@ -51,7 +50,7 @@ def add_asset_info(asset_info):
51
50
result = new_asset
52
51
except Exception as e :
53
52
session .rollback
54
- log .exception (f"add_asset_info operation failed { e } " )
53
+ log .exception (f"add_asset_info failed { e } " )
55
54
finally :
56
55
if session is not None :
57
56
session .close ()
@@ -83,7 +82,7 @@ def update_asset_info(asset_id, asset_info):
83
82
result = AssetInfo
84
83
except Exception as e :
85
84
session .rollback
86
- log .exception (f"update_asset_info operation failed { e } " )
85
+ log .exception (f"update_asset_info failed { e } " )
87
86
finally :
88
87
if session is not None :
89
88
session .close ()
@@ -94,7 +93,9 @@ def update_asset_info(asset_id, asset_info):
94
93
def delete_asset_info (asset_id ):
95
94
session = db_obj .get_db_session ()
96
95
try :
97
- query_result = session .query (AssetInfo ).filter (AssetInfo .asset_id == asset_id )
96
+ query_result = session .query (AssetInfo ).filter (
97
+ AssetInfo .asset_id == asset_id
98
+ )
98
99
if query_result .count () == 0 :
99
100
log .error (f" asset not found { asset_id } " )
100
101
result = 0
@@ -105,7 +106,7 @@ def delete_asset_info(asset_id):
105
106
session .commit ()
106
107
except Exception as e :
107
108
session .rollback
108
- log .exception (f"delete_asset_info operation failed { e } " )
109
+ log .exception (f"delete_asset_info failed { e } " )
109
110
finally :
110
111
if session is not None :
111
112
session .close ()
@@ -117,26 +118,64 @@ def update_asset_category(category, count):
117
118
log .debug (f"update_asset_category { category } { count } " )
118
119
session = db_obj .get_db_session ()
119
120
try :
120
- query_result = session .query (AssetCategory ).filter (AssetCategory
10000
.category_name == category )
121
+ query_result = session .query (AssetCategory ).filter (
122
+ AssetCategory .category_name == category
123
+ )
121
124
if query_result .count () == 0 :
122
- new_category = AssetCategory (
123
- category_name = category ,
124
- asset_count = 1 ,
125
- )
125
+ new_category = AssetCategory (category_name = category , asset_count = 1 ,)
126
126
log .debug (f"adding asset category { category } " )
127
127
session .add (new_category )
128
128
else :
129
129
query_result .update (
130
130
{
131
- AssetCategory .asset_count : query_result .first ().asset_count + count ,
131
+ AssetCategory .asset_count : query_result .first ().asset_count
132
+ + count ,
132
133
}
133
134
)
134
135
log .debug (f"updating asset category { category } " )
135
136
session .commit ()
136
137
except Exception as e :
137
138
session .rollback
138
- log .exception (f"update_asset_category operation failed { e } " )
139
+ log .exception (f"update_asset_category failed { e } " )
140
+ finally :
141
+ if session is not None :
142
+ session .close ()
143
+ log .debug (f"session closed" )
144
+
145
+
146
+ class AssetUserDao :
147
+ @staticmethod
148
+ def get_available_asset_by_category (asset_category ):
149
+ session = db_obj .get_db_session ()
150
+ try :
151
+ asset_id = (
152
+ session .query (AssetInfo .asset_id )
153
+ .filter (AssetInfo .asset_category == asset_category , AssetInfo .asset_owner is None )
154
+ .first ()
155
+ )
156
+ except Exception as e :
157
+ log .exception (f"get_available_asset_by_category failed { e } " )
158
+ finally :
159
+ if session is not None :
160
+ session .close ()
161
+ log .debug (f"session closed" )
162
+ return asset_id
163
+
164
+ @staticmethod
165
+ def assign_asset_to_user (asset_id , user_id ):
166
+ session = db_obj .get_db_session ()
167
+ try :
168
+ result = (
169
+ session .query (AssetInfo )
170
+ .filter (AssetInfo .asset_id == asset_id )
171
+ .update ({AssetInfo .asset_owner : user_id })
172
+ )
173
+ session .commit ()
174
+ except Exception as e :
175
+ session .rollback
176
+ log .exception (f"assign_asset_to_user failed { e } " )
139
177
finally :
140
178
if session is not None :
141
179
session .close ()
142
180
log .debug (f"session closed" )
181
+ return result
0 commit comments