Skip to content

Commit f132b07

Browse files
authored
fix(server): investigating bugs for mongodoc (#105)
1 parent bc93803 commit f132b07

File tree

1 file changed

+17
-16
lines changed
  • server/internal/infrastructure/mongo/mongodoc

1 file changed

+17
-16
lines changed

server/internal/infrastructure/mongo/mongodoc/scene.go

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package mongodoc
22

33
import (
44
"errors"
5+
"fmt"
56
"time"
67

78
"go.mongodb.org/mongo-driver/bson"
@@ -131,45 +132,45 @@ func NewScene(scene *scene.Scene) (*SceneDocument, string) {
131132
func (d *SceneDocument) Model() (*scene.Scene, error) {
132133
sid, err := id.SceneIDFrom(d.ID)
133134
if err != nil {
134-
return nil, err
135+
return nil, fmt.Errorf("mongo scene: invalid scene.id (%s): %w", d.ID, err)
135136
}
136137
projectID, err := id.ProjectIDFrom(d.Project)
137138
if err != nil {
138-
return nil, err
139+
return nil, fmt.Errorf("mongo scene: invalid scene.project (%s): %w", d.Project, err)
139140
}
140141
prid, err := id.PropertyIDFrom(d.Property)
141142
if err != nil {
142-
return nil, err
143+
return nil, fmt.Errorf("mongo scene: invalid scene.property (%s): %w", d.Property, err)
143144
}
144145
tid, err := accountdomain.WorkspaceIDFrom(d.Team)
145146
if err != nil {
146-
return nil, err
147+
return nil, fmt.Errorf("mongo scene: invalid scene.team (%s): %w", d.Team, err)
147148
}
148149

149150
var lid scene.LayerID
150151
if d.RootLayer != "" {
151152
lid, err = id.LayerIDFrom(d.RootLayer)
152153
if err != nil {
153-
return nil, err
154+
return nil, fmt.Errorf("mongo scene: invalid scene.rootLayer (%s): %w", d.RootLayer, err)
154155
}
155156
}
156157

157158
ws := make([]*scene.Widget, 0, len(d.Widgets))
158159
ps := make([]*scene.Plugin, 0, len(d.Plugins))
159160
clusters := make([]*scene.Cluster, 0, len(d.Clusters))
160161

161-
for _, w := range d.Widgets {
162+
for idx, w := range d.Widgets {
162163
wid, err := id.WidgetIDFrom(w.ID)
163164
if err != nil {
164-
return nil, err
165+
return nil, fmt.Errorf("mongo scene: invalid scene.widgets[%d].id (%s): %w", idx, w.ID, err)
165166
}
166167
pid, err := id.PluginIDFrom(w.Plugin)
167168
if err != nil {
168-
return nil, err
169+
return nil, fmt.Errorf("mongo scene: invalid scene.widgets[%d].plugin (%s): %w", idx, w.Plugin, err)
169170
}
170171
prid, err := id.PropertyIDFrom(w.Property)
171172
if err != nil {
172-
return nil, err
173+
return nil, fmt.Errorf("mongo scene: invalid scene.widgets[%d].property (%s): %w", idx, w.Property, err)
173174
}
174175
sw, err := scene.NewWidget(
175176
wid,
@@ -180,31 +181,31 @@ func (d *SceneDocument) Model() (*scene.Scene, error) {
180181
w.Extended,
181182
)
182183
if err != nil {
183-
return nil, err
184+
return nil, fmt.Errorf("mongo scene: invalid scene.widgets[%d]: %w", idx, err)
184185
}
185186
ws = append(ws, sw)
186187
}
187188

188-
for _, p := range d.Plugins {
189+
for idx, p := range d.Plugins {
189190
pid, err := id.PluginIDFrom(p.Plugin)
190191
if err != nil {
191-
return nil, err
192+
return nil, fmt.Errorf("mongo scene: invalid scene.plugins[%d].plugin (%s): %w", idx, p.Plugin, err)
192193
}
193194
ps = append(ps, scene.NewPlugin(pid, id.PropertyIDFromRef(p.Property)))
194195
}
195196

196-
for _, c := range d.Clusters {
197+
for idx, c := range d.Clusters {
197198
cid, err := id.ClusterIDFrom(c.ID)
198199
if err != nil {
199-
return nil, err
200+
return nil, fmt.Errorf("mongo scene: invalid scene.clusters[%d].id (%s): %w", idx, c.ID, err)
200201
}
201202
pid, err := id.PropertyIDFrom(c.Property)
202203
if err != nil {
203-
return nil, err
204+
return nil, fmt.Errorf("mongo scene: invalid scene.clusters[%d].property (%s): %w", idx, c.Property, err)
204205
}
205206
cluster, err := scene.NewCluster(cid, c.Name, pid)
206207
if err != nil {
207-
return nil, err
208+
return nil, fmt.Errorf("mongo scene: invalid scene.clusters[%d]: %w", idx, err)
208209
}
209210
clusters = append(clusters, cluster)
210211
}

0 commit comments

Comments
 (0)