mirror of
https://github.com/balzack/databag.git
synced 2025-02-14 20:49:16 +00:00
fixing topics not updating
This commit is contained in:
parent
c6653f126b
commit
953dc93ed5
@ -159,6 +159,7 @@ func getChannelRevisionModel(slot *store.ChannelSlot, showData bool) *Channel {
|
|||||||
Revision: slot.Revision,
|
Revision: slot.Revision,
|
||||||
Data: &ChannelData {
|
Data: &ChannelData {
|
||||||
DetailRevision: slot.Channel.DetailRevision,
|
DetailRevision: slot.Channel.DetailRevision,
|
||||||
|
TopicRevision: slot.Channel.TopicRevision,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -200,6 +201,7 @@ func getChannelModel(slot *store.ChannelSlot, showData bool, showList bool) *Cha
|
|||||||
Revision: slot.Revision,
|
Revision: slot.Revision,
|
||||||
Data: &ChannelData {
|
Data: &ChannelData {
|
||||||
DetailRevision: slot.Channel.DetailRevision,
|
DetailRevision: slot.Channel.DetailRevision,
|
||||||
|
TopicRevision: slot.Channel.TopicRevision,
|
||||||
ChannelDetail: &ChannelDetail{
|
ChannelDetail: &ChannelDetail{
|
||||||
DataType: slot.Channel.DataType,
|
DataType: slot.Channel.DataType,
|
||||||
Data: slot.Channel.Data,
|
Data: slot.Channel.Data,
|
||||||
|
@ -182,7 +182,7 @@ func (c *TestContactData) UpdateContactChannels() (err error) {
|
|||||||
tc.channel.Revision = channel.Revision
|
tc.channel.Revision = channel.Revision
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tc := &TestChannel{ channel: Channel{ Id: channel.Id } }
|
tc := &TestChannel{ channel: Channel{ Id: channel.Id, Data: &ChannelData{} } }
|
||||||
c.channels[channel.Id] = tc
|
c.channels[channel.Id] = tc
|
||||||
if err = c.UpdateContactChannel(tc, &channel); err != nil {
|
if err = c.UpdateContactChannel(tc, &channel); err != nil {
|
||||||
return
|
return
|
||||||
@ -191,28 +191,37 @@ func (c *TestContactData) UpdateContactChannels() (err error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *TestContactData) UpdateContactChannel(testChannel *TestChannel, channel *Channel) (err error) {
|
func (c *TestContactData) UpdateContactChannel(storeChannel *TestChannel, channel *Channel) (err error) {
|
||||||
if testChannel.channel.Revision != channel.Revision {
|
if storeChannel.channel.Revision != channel.Revision {
|
||||||
|
if storeChannel.channel.Data.TopicRevision != channel.Data.TopicRevision {
|
||||||
|
if err = c.UpdateContactChannelTopics(storeChannel); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
storeChannel.channel.Data.TopicRevision = channel.Data.TopicRevision
|
||||||
|
}
|
||||||
if channel.Data.ChannelDetail != nil {
|
if channel.Data.ChannelDetail != nil {
|
||||||
testChannel.channel.Data = channel.Data
|
storeChannel.channel.Data.ChannelDetail = channel.Data.ChannelDetail
|
||||||
} else if testChannel.channel.Data == nil || testChannel.channel.Data.DetailRevision != channel.Data.DetailRevision {
|
storeChannel.channel.Data.DetailRevision = channel.Data.DetailRevision
|
||||||
|
} else if storeChannel.channel.Data.DetailRevision != channel.Data.DetailRevision {
|
||||||
token := c.card.Data.CardProfile.Guid + "." + c.card.Data.CardDetail.Token
|
token := c.card.Data.CardProfile.Guid + "." + c.card.Data.CardDetail.Token
|
||||||
params := &TestApiParams{ query: "/channels/{channelId}", path: map[string]string{ "channelId": channel.Id }, tokenType: APP_TOKENCONTACT, token: token }
|
params := &TestApiParams{ query: "/channel/{channelId}", path: map[string]string{ "channelId": channel.Id },
|
||||||
|
tokenType: APP_TOKENCONTACT, token: token }
|
||||||
channel := Channel{}
|
channel := Channel{}
|
||||||
response := &TestApiResponse{ data: &channel }
|
response := &TestApiResponse{ data: &channel }
|
||||||
if err = TestApiRequest(GetChannel, params, response); err != nil {
|
if err = TestApiRequest(GetChannel, params, response); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if channel.Data == nil {
|
if channel.Data == nil {
|
||||||
delete(c.channels, channel.Id)
|
err = errors.New("channel removed during update")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
testChannel.channel.Data = channel.Data
|
storeChannel.channel.Data.ChannelDetail = channel.Data.ChannelDetail
|
||||||
|
storeChannel.channel.Data.DetailRevision = channel.Data.DetailRevision
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = c.UpdateContactChannelTopics(testChannel)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -244,7 +253,7 @@ func (c *TestContactData) UpdateContactChannelTopics(testChannel *TestChannel) (
|
|||||||
testChannel.topics[topic.Id] = &topic
|
testChannel.topics[topic.Id] = &topic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *TestContactData) UpdateContactCardDetail() (err error) {
|
func (c *TestContactData) UpdateContactCardDetail() (err error) {
|
||||||
@ -375,45 +384,54 @@ func (a *TestApp) UpdateChannels() (err error) {
|
|||||||
if channel.Data == nil {
|
if channel.Data == nil {
|
||||||
delete(a.channels, channel.Id)
|
delete(a.channels, channel.Id)
|
||||||
} else {
|
} else {
|
||||||
c, set := a.channels[channel.Id]
|
storeChannel, set := a.channels[channel.Id]
|
||||||
if set {
|
if set {
|
||||||
if channel.Revision != c.channel.Revision {
|
if channel.Revision != storeChannel.channel.Revision {
|
||||||
if err = a.UpdateChannel(c, &channel); err != nil {
|
if err = a.UpdateChannel(storeChannel, &channel); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
c.channel.Revision = channel.Revision
|
storeChannel.channel.Revision = channel.Revision
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c := &TestChannel{ channel: Channel{ Id: channel.Id } }
|
storeChannel := &TestChannel{ channel: Channel{ Id: channel.Id, Data: &ChannelData{} } }
|
||||||
a.channels[channel.Id] = c
|
a.channels[channel.Id] = storeChannel
|
||||||
if err = a.UpdateChannel(c, &channel); err != nil {
|
if err = a.UpdateChannel(storeChannel, &channel); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
c.channel.Revision = channel.Revision
|
storeChannel.channel.Revision = channel.Revision
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *TestApp) UpdateChannel(testChannel *TestChannel, channel *Channel) (err error) {
|
func (a *TestApp) UpdateChannel(storeChannel *TestChannel, channel *Channel) (err error) {
|
||||||
if testChannel.channel.Revision != channel.Revision {
|
if storeChannel.channel.Revision != channel.Revision {
|
||||||
|
if storeChannel.channel.Data.TopicRevision != channel.Data.TopicRevision {
|
||||||
|
if err = a.UpdateChannelTopics(storeChannel); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
storeChannel.channel.Data.TopicRevision = channel.Data.TopicRevision
|
||||||
|
}
|
||||||
if channel.Data.ChannelDetail != nil {
|
if channel.Data.ChannelDetail != nil {
|
||||||
testChannel.channel.Data = channel.Data
|
storeChannel.channel.Data.ChannelDetail = channel.Data.ChannelDetail
|
||||||
} else if testChannel.channel.Data == nil || testChannel.channel.Data.DetailRevision != channel.Data.DetailRevision {
|
storeChannel.channel.Data.DetailRevision = channel.Data.DetailRevision
|
||||||
c := Channel{}
|
} else if storeChannel.channel.Data.DetailRevision != channel.Data.DetailRevision {
|
||||||
params := &TestApiParams{ query: "/channel/{channelId}", path: map[string]string{ "channelId": channel.Id }, tokenType: APP_TOKENAPP, token: a.token }
|
params := &TestApiParams{ query: "/channel/{channelId}", path: map[string]string{ "channelId": channel.Id },
|
||||||
response := &TestApiResponse{ data: &c }
|
tokenType: APP_TOKENAPP, token: a.token }
|
||||||
|
channel := Channel{}
|
||||||
|
response := &TestApiResponse{ data: &channel }
|
||||||
if err = TestApiRequest(GetChannel, params, response); err != nil {
|
if err = TestApiRequest(GetChannel, params, response); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if c.Data == nil {
|
if channel.Data == nil {
|
||||||
delete(a.channels, channel.Id)
|
err = errors.New("channel removed during update")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
testChannel.channel.Data = c.Data
|
storeChannel.channel.Data.ChannelDetail = channel.Data.ChannelDetail
|
||||||
|
storeChannel.channel.Data.DetailRevision = channel.Data.DetailRevision
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = a.UpdateChannelTopics(testChannel)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -443,7 +461,7 @@ func (a *TestApp) UpdateChannelTopics(testChannel *TestChannel) (err error) {
|
|||||||
testChannel.topics[topic.Id] = &topic
|
testChannel.topics[topic.Id] = &topic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *TestApp) UpdateCards() (err error) {
|
func (a *TestApp) UpdateCards() (err error) {
|
||||||
|
@ -168,8 +168,6 @@ func TestMessangerApp(t *testing.T) {
|
|||||||
if testChannel.channel.Id == channel.Id {
|
if testChannel.channel.Id == channel.Id {
|
||||||
for _, t := range testChannel.topics {
|
for _, t := range testChannel.topics {
|
||||||
if t.Id == topic.Id {
|
if t.Id == topic.Id {
|
||||||
PrintMsg(t)
|
|
||||||
PrintMsg(topic)
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user