ensure we set each document's Model on find

This commit is contained in:
☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 2025-03-25 16:11:31 -04:00
parent 7fc4ed46c8
commit e6a83d12e3
Signed by: tablet
GPG Key ID: 924A5F6AF051E87C

View File

@ -118,12 +118,16 @@ func (m *Model) Find(query interface{}, opts *options.FindOptionsBuilder) (*Quer
if err == nil { if err == nil {
idoc.setExists(true) idoc.setExists(true)
} }
qq.rawDoc = rawRes qq.rawDoc = rawRes
err = q.All(context.TODO(), &qq.doc) err = q.All(context.TODO(), &qq.doc)
if err != nil { if err != nil {
qq.reOrganize() qq.reOrganize()
err = nil err = nil
} }
for _, doc := range *idoc {
doc.setModel(*m)
}
} }
return qq, err return qq, err
@ -160,9 +164,6 @@ func (m *Model) FindOne(query interface{}, options *options.FindOneOptionsBuilde
} }
qqn := ModelRegistry.new_(m.typeName) qqn := ModelRegistry.new_(m.typeName)
idoc, ok := qqn.(IDocument) idoc, ok := qqn.(IDocument)
if ok {
idoc.setExists(true)
}
qq := &Query{ qq := &Query{
collection: m.getColl(), collection: m.getColl(),
@ -177,6 +178,10 @@ func (m *Model) FindOne(query interface{}, options *options.FindOneOptionsBuilde
qq.reOrganize() qq.reOrganize()
err = nil err = nil
} }
if ok {
idoc.setExists(true)
idoc.setModel(*m)
}
idoc.setSelf(idoc) idoc.setSelf(idoc)
return qq, err return qq, err
} }