05/29 Update shared items displayed on Grantee items
This commit is contained in:
@@ -142,6 +142,22 @@ def update_item(item_id):
|
||||
from datetime import datetime, timezone
|
||||
item.updated_at = datetime.now(timezone.utc).replace(tzinfo=None)
|
||||
|
||||
# Re-encrypt accepted shared copies if the owner provided updated ciphertext.
|
||||
# Each entry: { share_id, enc_data, iv, enc_name?, iv_name? }
|
||||
from app.models.shared_item import SharedItem
|
||||
for upd in (data.get('shared_updates') or []):
|
||||
share = SharedItem.query.filter_by(
|
||||
id=upd.get('share_id'),
|
||||
owner_id=g.current_user_id,
|
||||
accepted=True,
|
||||
).first()
|
||||
if share and upd.get('enc_data') and upd.get('iv'):
|
||||
share.enc_data = upd['enc_data']
|
||||
share.iv = upd['iv']
|
||||
if upd.get('enc_name') is not None:
|
||||
share.enc_name = upd['enc_name']
|
||||
share.iv_name = upd.get('iv_name')
|
||||
|
||||
try:
|
||||
db.session.flush()
|
||||
AuditLog.log(
|
||||
|
||||
Reference in New Issue
Block a user