@@ -57,7 +57,7 @@ type RunTrigger struct {
57
57
SourceableName string `jsonapi:"attr,sourceable-name"`
58
58
WorkspaceName string `jsonapi:"attr,workspace-name"`
59
59
// DEPRECATED. The sourceable field is polymorphic. Use SourceableChoice instead.
60
- Sourceable * Workspace `jsonapi:"relation,sourceable"`
60
+ Sourceable * Workspace `jsonapi:"relation,sourceable,omitempty "`
61
61
SourceableChoice * SourceableChoice `jsonapi:"polyrelation,sourceable"`
62
62
Workspace * Workspace `jsonapi:"relation,workspace"`
63
63
}
@@ -121,6 +121,10 @@ func (s *runTriggers) List(ctx context.Context, workspaceID string, options *Run
121
121
return nil , err
122
122
}
123
123
124
+ for i := range rtl .Items {
125
+ backfillDeprecatedSourceable (rtl .Items [i ])
126
+ }
127
+
124
128
return rtl , nil
125
129
}
126
130
@@ -145,6 +149,8 @@ func (s *runTriggers) Create(ctx context.Context, workspaceID string, options Ru
145
149
return nil , err
146
150
}
147
151
152
+ backfillDeprecatedSourceable (rt )
153
+
148
154
return rt , nil
149
155
}
150
156
@@ -166,6 +172,8 @@ func (s *runTriggers) Read(ctx context.Context, runTriggerID string) (*RunTrigge
166
172
return nil , err
167
173
}
168
174
175
+ backfillDeprecatedSourceable (rt )
176
+
169
177
return rt , nil
170
178
}
171
179
@@ -203,6 +211,14 @@ func (o *RunTriggerListOptions) valid() error {
203
211
return nil
204
212
}
205
213
214
+ func backfillDeprecatedSourceable (runTrigger * RunTrigger ) {
215
+ if runTrigger .Sourceable != nil || runTrigger .SourceableChoice == nil {
216
+ return
217
+ }
218
+
219
+ runTrigger .Sourceable = runTrigger .SourceableChoice .Workspace
220
+ }
221
+
206
222
func validateRunTriggerFilterParam (filterParam RunTriggerFilterOp , includeParams []RunTriggerIncludeOpt ) error {
207
223
switch filterParam {
208
224
case RunTriggerOutbound , RunTriggerInbound :
0 commit comments