11//************************************************************************************************
2- // Copyright © 2020 Steven M Cohn. All rights reserved.
2+ // Copyright © 2020 Steven M Cohn. All rights reserved.
33//************************************************************************************************
44
55#pragma warning disable S1075 // URIs should not be hardcoded
@@ -23,14 +23,15 @@ namespace River.OneMoreAddIn.Commands.Tools.Updater
2323 internal class Updater : Loggable , IUpdateReport
2424 {
2525 private const string LatestUrl = "https://api.github.com/repos/stevencohn/onemore/releases" ;
26- private const string Latest = "/latest" ;
26+ // private const string Latest = "/latest";
2727 private const string LatestN = "?per_page=5" ;
2828 private const string TagUrl = "https://github.com/stevencohn/OneMore/releases/tag" ;
2929
3030 private GitRelease release ;
3131 private readonly string productCode ;
3232
3333
34+ public bool IsSkippedRelease { get ; private set ; }
3435 public bool IsUpToDate { get ; private set ; }
3536 public string InstalledDate { get ; private set ; }
3637 public string InstalledUrl { get ; private set ; }
@@ -171,6 +172,13 @@ public async Task<bool> FetchLatestRelease()
171172 var releaseVersion = new Version ( plainver ) ;
172173 IsUpToDate = currentVersion >= releaseVersion ;
173174
175+ // check if this version is skipped...
176+ var collection = new Settings . SettingsProvider ( ) . GetCollection ( "General" ) ;
177+ if ( collection . Get < string > ( "SkippedUpdateVersion" ) == release . tag_name )
178+ {
179+ IsSkippedRelease = true ;
180+ }
181+
174182 return true ;
175183 }
176184
@@ -181,6 +189,16 @@ public async Task<bool> FetchLatestRelease()
181189 }
182190
183191
192+ public void SkipRelease ( )
193+ {
194+ var provider = new Settings . SettingsProvider ( ) ;
195+ var collection = provider . GetCollection ( "General" ) ;
196+ collection . Add ( "SkippedUpdateVersion" , UpdateVersion ) ;
197+ provider . SetCollection ( collection ) ;
198+ provider . Save ( ) ;
199+ }
200+
201+
184202 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
185203
186204 public async Task < bool > Update ( )
@@ -261,6 +279,13 @@ public async Task<bool> Update()
261279#endif
262280 } ) ;
263281
282+ // reset skipped version
283+ var provider = new Settings . SettingsProvider ( ) ;
284+ var collection = provider . GetCollection ( "General" ) ;
285+ collection . Remove ( "SkippedUpdateVersion" ) ;
286+ provider . SetCollection ( collection ) ;
287+ provider . Save ( ) ;
288+
264289 return true ;
265290 }
266291 }
0 commit comments