Skip to content

Commit

Permalink
updated offline functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
KenWilliamson committed Feb 2, 2021
1 parent cbf733e commit 5959a93
Show file tree
Hide file tree
Showing 6 changed files with 506 additions and 74 deletions.
2 changes: 2 additions & 0 deletions api.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@ type API interface {
GetFailAddNoteItemList() []NoteItem
GetFailUpdateNoteItemList() []NoteItem

FlushFailedCache()

SetNoteList(noteList []Note)
GetNoteList() []Note
}
4 changes: 2 additions & 2 deletions checkboxItem.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func (a *NotesAPI) AddCheckboxItem(ni *CheckboxNoteItem) *ResponseID {
if !suc {
rtn.Code = int64(stat)
}
if !suc || stat != 200 {
if (!suc || stat != 200) && !a.retryCall {
a.FailAddCheckboxNoteItemList = append(a.FailAddCheckboxNoteItemList, *ni)
a.setSavedCheckboxItem(ni)
}
Expand All @@ -65,7 +65,7 @@ func (a *NotesAPI) UpdateCheckboxItem(ni *CheckboxNoteItem) *Response {
if !suc {
rtn.Code = int64(stat)
}
if !suc || stat != 200 {
if (!suc || stat != 200) && !a.retryCall {
a.FailUpdateCheckboxNoteItemList = append(a.FailAddCheckboxNoteItemList, *ni)
a.setSavedCheckboxItem(ni)
}
Expand Down
164 changes: 94 additions & 70 deletions coverage.out
Original file line number Diff line number Diff line change
@@ -1,54 +1,4 @@
mode: set
github.com/Ulbora/cocka2notesApi/user.go:30.47,35.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:44.2,45.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:35.16,40.15 5 1
github.com/Ulbora/cocka2notesApi/user.go:40.15,42.4 1 1
github.com/Ulbora/cocka2notesApi/user.go:49.50,54.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:63.2,64.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:54.16,59.15 5 1
github.com/Ulbora/cocka2notesApi/user.go:59.15,61.4 1 1
github.com/Ulbora/cocka2notesApi/user.go:68.58,73.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:82.2,83.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:73.16,78.15 5 1
github.com/Ulbora/cocka2notesApi/user.go:78.15,80.4 1 1
github.com/Ulbora/cocka2notesApi/user.go:87.79,100.2 9 1
github.com/Ulbora/cocka2notesApi/user.go:103.48,115.2 8 1
github.com/Ulbora/cocka2notesApi/user.go:118.50,123.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:129.2,131.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:123.16,128.3 4 1
github.com/Ulbora/cocka2notesApi/user.go:135.53,140.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:149.2,150.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:140.16,145.15 5 1
github.com/Ulbora/cocka2notesApi/user.go:145.15,147.4 1 1
github.com/Ulbora/cocka2notesApi/api.go:66.49,69.22 3 1
github.com/Ulbora/cocka2notesApi/api.go:72.2,72.24 1 1
github.com/Ulbora/cocka2notesApi/api.go:69.22,71.3 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:32.70,37.16 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:50.2,51.13 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:37.16,42.11 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:45.3,45.26 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:42.11,44.4 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:45.26,48.4 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:55.71,60.16 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:73.2,74.13 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:60.16,65.11 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:68.3,68.26 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:65.11,67.4 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:68.26,71.4 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:78.59,89.2 9 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:91.64,94.17 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:94.17,95.29 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:95.29,97.38 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:97.38,99.53 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:109.5,109.10 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:99.53,101.58 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:101.58,106.12 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:112.8,112.28 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:112.28,117.29 4 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:117.29,118.38 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:118.38,124.10 3 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:131.72,133.2 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:136.75,138.2 1 1
github.com/Ulbora/cocka2notesApi/note.go:30.49,35.16 5 1
github.com/Ulbora/cocka2notesApi/note.go:44.2,45.13 2 1
github.com/Ulbora/cocka2notesApi/note.go:35.16,40.15 5 1
Expand Down Expand Up @@ -89,15 +39,15 @@ github.com/Ulbora/cocka2notesApi/note.go:239.41,241.2 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:32.58,37.16 5 1
github.com/Ulbora/cocka2notesApi/noteItem.go:50.2,51.13 2 1
github.com/Ulbora/cocka2notesApi/noteItem.go:37.16,42.11 5 1
github.com/Ulbora/cocka2notesApi/noteItem.go:45.3,45.26 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:45.3,45.44 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:42.11,44.4 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:45.26,48.4 2 1
github.com/Ulbora/cocka2notesApi/noteItem.go:45.44,48.4 2 1
github.com/Ulbora/cocka2notesApi/noteItem.go:55.59,60.16 5 1
github.com/Ulbora/cocka2notesApi/noteItem.go:73.2,74.13 2 1
github.com/Ulbora/cocka2notesApi/noteItem.go:60.16,65.11 5 1
github.com/Ulbora/cocka2notesApi/noteItem.go:68.3,68.26 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:68.3,68.44 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:65.11,67.4 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:68.26,71.4 2 1
github.com/Ulbora/cocka2notesApi/noteItem.go:68.44,71.4 2 1
github.com/Ulbora/cocka2notesApi/noteItem.go:78.55,89.2 9 1
github.com/Ulbora/cocka2notesApi/noteItem.go:91.52,93.17 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:93.17,94.29 1 1
Expand All @@ -112,19 +62,93 @@ github.com/Ulbora/cocka2notesApi/noteItem.go:117.29,118.38 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:118.38,124.10 4 1
github.com/Ulbora/cocka2notesApi/noteItem.go:131.56,133.2 1 1
github.com/Ulbora/cocka2notesApi/noteItem.go:136.59,138.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:47.33,56.2 6 1
github.com/Ulbora/cocka2notesApi/notesApi.go:59.44,61.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:63.106,64.20 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:67.2,69.37 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:75.2,76.16 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:82.2,82.12 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:64.20,66.3 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:69.37,72.3 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:72.8,74.3 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:76.16,77.37 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:77.37,80.4 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:86.43,88.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:91.43,93.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:96.42,98.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:101.45,103.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:106.50,108.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:48.33,57.2 6 1
github.com/Ulbora/cocka2notesApi/notesApi.go:60.44,62.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:64.106,65.20 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:68.2,70.37 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:76.2,77.16 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:83.2,83.12 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:65.20,67.3 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:70.37,73.3 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:73.8,75.3 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:77.16,78.37 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:78.37,81.4 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:87.43,89.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:92.43,94.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:97.42,99.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:102.45,104.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:107.50,109.2 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:112.39,113.44 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:131.2,131.47 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:148.2,148.36 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:165.2,165.39 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:113.44,117.48 4 1
github.com/Ulbora/cocka2notesApi/notesApi.go:124.3,125.10 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:117.48,120.20 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:120.20,122.5 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:125.10,128.4 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:131.47,134.51 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:141.3,142.10 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:134.51,137.20 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:137.20,139.5 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:142.10,145.4 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:148.36,151.40 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:158.3,159.10 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:151.40,154.20 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:154.20,156.5 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:159.10,162.4 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:165.39,168.43 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:175.3,176.10 2 1
github.com/Ulbora/cocka2notesApi/notesApi.go:168.43,171.20 3 1
github.com/Ulbora/cocka2notesApi/notesApi.go:171.20,173.5 1 1
github.com/Ulbora/cocka2notesApi/notesApi.go:176.10,179.4 2 1
github.com/Ulbora/cocka2notesApi/user.go:30.47,35.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:44.2,45.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:35.16,40.15 5 1
github.com/Ulbora/cocka2notesApi/user.go:40.15,42.4 1 1
github.com/Ulbora/cocka2notesApi/user.go:49.50,54.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:63.2,64.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:54.16,59.15 5 1
github.com/Ulbora/cocka2notesApi/user.go:59.15,61.4 1 1
github.com/Ulbora/cocka2notesApi/user.go:68.58,73.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:82.2,83.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:73.16,78.15 5 1
github.com/Ulbora/cocka2notesApi/user.go:78.15,80.4 1 1
github.com/Ulbora/cocka2notesApi/user.go:87.79,100.2 9 1
github.com/Ulbora/cocka2notesApi/user.go:103.48,115.2 8 1
github.com/Ulbora/cocka2notesApi/user.go:118.50,123.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:129.2,131.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:123.16,128.3 4 1
github.com/Ulbora/cocka2notesApi/user.go:135.53,140.16 5 1
github.com/Ulbora/cocka2notesApi/user.go:149.2,150.13 2 1
github.com/Ulbora/cocka2notesApi/user.go:140.16,145.15 5 1
github.com/Ulbora/cocka2notesApi/user.go:145.15,147.4 1 1
github.com/Ulbora/cocka2notesApi/api.go:66.49,69.22 3 1
github.com/Ulbora/cocka2notesApi/api.go:72.2,72.24 1 1
github.com/Ulbora/cocka2notesApi/api.go:69.22,71.3 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:32.70,37.16 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:50.2,51.13 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:37.16,42.11 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:45.3,45.44 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:42.11,44.4 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:45.44,48.4 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:55.71,60.16 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:73.2,74.13 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:60.16,65.11 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:68.3,68.44 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:65.11,67.4 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:68.44,71.4 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:78.59,89.2 9 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:91.64,94.17 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:94.17,95.29 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:95.29,97.38 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:97.38,99.53 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:109.5,109.10 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:99.53,101.58 2 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:101.58,106.12 5 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:112.8,112.28 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:112.28,117.29 4 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:117.29,118.38 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:118.38,124.10 3 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:131.72,133.2 1 1
github.com/Ulbora/cocka2notesApi/checkboxItem.go:136.75,138.2 1 1
4 changes: 2 additions & 2 deletions noteItem.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func (a *NotesAPI) AddNoteItem(ni *NoteItem) *ResponseID {
if !suc {
rtn.Code = int64(stat)
}
if !suc || stat != 200 {
if (!suc || stat != 200) && !a.retryCall {
a.FailAddNoteItemList = append(a.FailAddNoteItemList, *ni)
a.setSavedTextItem(ni)
}
Expand All @@ -65,7 +65,7 @@ func (a *NotesAPI) UpdateNoteItem(ni *NoteItem) *Response {
if !suc {
rtn.Code = int64(stat)
}
if !suc || stat != 200 {
if (!suc || stat != 200) && !a.retryCall {
a.FailUpdateNoteItemList = append(a.FailUpdateNoteItemList, *ni)
a.setSavedTextItem(ni)
}
Expand Down
74 changes: 74 additions & 0 deletions notesApi.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ type NotesAPI struct {
FailUpdateCheckboxNoteItemList []CheckboxNoteItem
FailAddNoteItemList []NoteItem
FailUpdateNoteItemList []NoteItem
retryCall bool
}

//GetNew GetNew
Expand Down Expand Up @@ -106,3 +107,76 @@ func (a *NotesAPI) SetHeader(head *Headers) {
func (a *NotesAPI) OverrideProxy(proxy px.Proxy) {
a.proxy = proxy
}

//FlushFailedCache FlushFailedCache
func (a *NotesAPI) FlushFailedCache() {
if len(a.FailAddCheckboxNoteItemList) > 0 {
a.log.Debug("FailAddCheckboxNoteItemList: ", a.FailAddCheckboxNoteItemList)
var suc = true
a.retryCall = true
for i := range a.FailAddCheckboxNoteItemList {
res := a.AddCheckboxItem(&a.FailAddCheckboxNoteItemList[i])
a.log.Debug("AddCheckboxItem suc: ", res.Success)
if !res.Success {
suc = false
}
}
a.retryCall = false
if suc {
a.FailAddCheckboxNoteItemList = a.FailAddCheckboxNoteItemList[:0]
a.log.Debug("FailAddCheckboxNoteItemList size after clear : ", len(a.FailAddCheckboxNoteItemList))
}
}

if len(a.FailUpdateCheckboxNoteItemList) > 0 {
var suc = true
a.retryCall = true
for i := range a.FailUpdateCheckboxNoteItemList {
res := a.UpdateCheckboxItem(&a.FailUpdateCheckboxNoteItemList[i])
a.log.Debug("UpdateCheckboxItem suc: ", res.Success)
if !res.Success {
suc = false
}
}
a.retryCall = false
if suc {
a.FailUpdateCheckboxNoteItemList = a.FailUpdateCheckboxNoteItemList[:0]
a.log.Debug("FailUpdateCheckboxNoteItemList size after clear : ", len(a.FailUpdateCheckboxNoteItemList))
}
}

if len(a.FailAddNoteItemList) > 0 {
var suc = true
a.retryCall = true
for i := range a.FailAddNoteItemList {
res := a.AddNoteItem(&a.FailAddNoteItemList[i])
a.log.Debug("AddNoteItem suc: ", res.Success)
if !res.Success {
suc = false
}
}
a.retryCall = false
if suc {
a.FailAddNoteItemList = a.FailAddNoteItemList[:0]
a.log.Debug("FailAddNoteItemList size after clear : ", len(a.FailAddNoteItemList))
}
}

if len(a.FailUpdateNoteItemList) > 0 {
var suc = true
a.retryCall = true
for i := range a.FailUpdateNoteItemList {
res := a.UpdateNoteItem(&a.FailUpdateNoteItemList[i])
a.log.Debug("UpdateNoteItem suc: ", res.Success)
if !res.Success {
suc = false
}
}
a.retryCall = false
if suc {
a.FailUpdateNoteItemList = a.FailUpdateNoteItemList[:0]
a.log.Debug("FailUpdateNoteItemList size after clear : ", len(a.FailUpdateNoteItemList))
}
}

}
Loading

0 comments on commit 5959a93

Please sign in to comment.