| 364 | } |
| 365 | |
| 366 | func ConnectionLog(t testing.TB, db database.Store, seed database.UpsertConnectionLogParams) database.ConnectionLog { |
| 367 | arg := database.UpsertConnectionLogParams{ |
| 368 | ID: takeFirst(seed.ID, uuid.New()), |
| 369 | Time: takeFirst(seed.Time, dbtime.Now()), |
| 370 | OrganizationID: takeFirst(seed.OrganizationID, uuid.New()), |
| 371 | WorkspaceOwnerID: takeFirst(seed.WorkspaceOwnerID, uuid.New()), |
| 372 | WorkspaceID: takeFirst(seed.WorkspaceID, uuid.New()), |
| 373 | WorkspaceName: takeFirst(seed.WorkspaceName, testutil.GetRandomName(t)), |
| 374 | AgentName: takeFirst(seed.AgentName, testutil.GetRandomName(t)), |
| 375 | Type: takeFirst(seed.Type, database.ConnectionTypeSsh), |
| 376 | Code: sql.NullInt32{ |
| 377 | Int32: takeFirst(seed.Code.Int32, 0), |
| 378 | Valid: takeFirst(seed.Code.Valid, false), |
| 379 | }, |
| 380 | IP: pqtype.Inet{ |
| 381 | IPNet: net.IPNet{ |
| 382 | IP: net.IPv4(127, 0, 0, 1), |
| 383 | Mask: net.IPv4Mask(255, 255, 255, 255), |
| 384 | }, |
| 385 | Valid: true, |
| 386 | }, |
| 387 | UserAgent: sql.NullString{ |
| 388 | String: takeFirst(seed.UserAgent.String, ""), |
| 389 | Valid: takeFirst(seed.UserAgent.Valid, false), |
| 390 | }, |
| 391 | UserID: uuid.NullUUID{ |
| 392 | UUID: takeFirst(seed.UserID.UUID, uuid.Nil), |
| 393 | Valid: takeFirst(seed.UserID.Valid, false), |
| 394 | }, |
| 395 | SlugOrPort: sql.NullString{ |
| 396 | String: takeFirst(seed.SlugOrPort.String, ""), |
| 397 | Valid: takeFirst(seed.SlugOrPort.Valid, false), |
| 398 | }, |
| 399 | ConnectionID: uuid.NullUUID{ |
| 400 | UUID: takeFirst(seed.ConnectionID.UUID, uuid.Nil), |
| 401 | Valid: takeFirst(seed.ConnectionID.Valid, false), |
| 402 | }, |
| 403 | DisconnectReason: sql.NullString{ |
| 404 | String: takeFirst(seed.DisconnectReason.String, ""), |
| 405 | Valid: takeFirst(seed.DisconnectReason.Valid, false), |
| 406 | }, |
| 407 | ConnectionStatus: takeFirst(seed.ConnectionStatus, database.ConnectionStatusConnected), |
| 408 | } |
| 409 | |
| 410 | var disconnectTime sql.NullTime |
| 411 | if arg.ConnectionStatus == database.ConnectionStatusDisconnected { |
| 412 | disconnectTime = sql.NullTime{Time: arg.Time, Valid: true} |
| 413 | } |
| 414 | |
| 415 | err := db.BatchUpsertConnectionLogs(genCtx, database.BatchUpsertConnectionLogsParams{ |
| 416 | ID: []uuid.UUID{arg.ID}, |
| 417 | ConnectTime: []time.Time{arg.Time}, |
| 418 | OrganizationID: []uuid.UUID{arg.OrganizationID}, |
| 419 | WorkspaceOwnerID: []uuid.UUID{arg.WorkspaceOwnerID}, |
| 420 | WorkspaceID: []uuid.UUID{arg.WorkspaceID}, |
| 421 | WorkspaceName: []string{arg.WorkspaceName}, |
| 422 | AgentName: []string{arg.AgentName}, |
| 423 | Type: []database.ConnectionType{arg.Type}, |