|
4 | 4 | // "time" |
5 | 5 | "fmt" |
6 | 6 |
|
| 7 | + "github.com/urnetwork/glog" |
7 | 8 | "github.com/urnetwork/server" |
8 | 9 | "github.com/urnetwork/server/jwt" |
9 | 10 | "github.com/urnetwork/server/model" |
@@ -192,21 +193,39 @@ func UpgradeFromGuestExisting( |
192 | 193 |
|
193 | 194 | } |
194 | 195 |
|
195 | | -type NetworkRemoveResult struct{} |
| 196 | +type NetworkRemoveResultError struct { |
| 197 | + Message string `json:"message"` |
| 198 | +} |
| 199 | + |
| 200 | +type NetworkRemoveResult struct { |
| 201 | + Error *NetworkRemoveResultError `json:"error,omitempty"` |
| 202 | +} |
196 | 203 |
|
197 | 204 | func NetworkRemove(session *session.ClientSession) (*NetworkRemoveResult, error) { |
198 | 205 | success, userAuths := model.RemoveNetwork( |
199 | 206 | session.Ctx, |
200 | 207 | session.ByJwt.NetworkId, |
201 | 208 | &session.ByJwt.UserId, |
202 | 209 | ) |
| 210 | + |
203 | 211 | if success { |
204 | 212 | server.Tx(session.Ctx, func(tx server.PgTx) { |
205 | 213 | for userAuth, _ := range userAuths { |
206 | 214 | ScheduleRemoveProductUpdates(session, userAuth, tx) |
207 | 215 | } |
208 | 216 | }) |
209 | 217 |
|
| 218 | + // ensure we wrap up any Stripe subscriptions for the network |
| 219 | + err := UnsubscribeStripe(session) |
| 220 | + if err != nil { |
| 221 | + glog.Errorf("Failed to unsubscribe Stripe: %v", err) |
| 222 | + return &NetworkRemoveResult{ |
| 223 | + Error: &NetworkRemoveResultError{ |
| 224 | + Message: "Failed to unsubscribe Stripe", |
| 225 | + }, |
| 226 | + }, nil |
| 227 | + } |
| 228 | + |
210 | 229 | return &NetworkRemoveResult{}, nil |
211 | 230 | } |
212 | 231 |
|
|
0 commit comments