Coverage for webapp / endpoints / releases.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2025-12-29 22:06 +0000

1# Packages 

2import flask 

3from canonicalwebteam.store_api.dashboard import Dashboard 

4 

5# Local 

6from webapp.helpers import api_publisher_session 

7from webapp.decorators import login_required 

8 

9dashboard = Dashboard(api_publisher_session) 

10 

11 

12@login_required 

13def get_release_history_data(snap_name): 

14 release_history = dashboard.snap_release_history(flask.session, snap_name) 

15 channel_map = dashboard.snap_channel_map(flask.session, snap_name) 

16 snap = channel_map.get("snap", {}) 

17 

18 context = { 

19 "snap_name": snap_name, 

20 "snap_title": snap.get("title"), 

21 "publisher_name": snap.get("publisher", {}).get("display-name", {}), 

22 "release_history": release_history, 

23 "private": snap.get("private"), 

24 "default_track": ( 

25 snap.get("default-track") 

26 if snap.get("default-track") is not None 

27 else "latest" 

28 ), 

29 "channel_map": channel_map.get("channel-map"), 

30 "tracks": snap.get("tracks"), 

31 } 

32 

33 return flask.jsonify({"success": True, "data": context})