@@ -560,27 +560,6 @@ func isNotNull(v interface{}) bool {
560
560
// these methods remain unimplemented in the FakeQuerier.
561
561
var ErrUnimplemented = xerrors .New ("unimplemented" )
562
562
563
- func (q * FakeQuerier ) UpdateWorkspaceLockedAt (_ context.Context , arg database.UpdateWorkspaceLockedAtParams ) error {
564
- if err := validateDatabaseType (arg ); err != nil {
565
- return err
566
- }
567
-
568
- q .mutex .Lock ()
569
- defer q .mutex .Unlock ()
570
-
571
- for index , workspace := range q .workspaces {
572
- if workspace .ID != arg .ID {
573
- continue
574
- }
575
- workspace .LockedAt = arg .LockedAt
576
- workspace .LastUsedAt = database .Now ()
577
- q .workspaces [index ] = workspace
578
- return nil
579
- }
580
-
581
- return sql .ErrNoRows
582
- }
583
-
584
563
func (* FakeQuerier ) AcquireLock (_ context.Context , _ int64 ) error {
585
564
return xerrors .New ("AcquireLock must only be called within a transaction" )
586
565
}
@@ -4851,13 +4830,31 @@ func (q *FakeQuerier) UpdateWorkspaceLastUsedAt(_ context.Context, arg database.
4851
4830
return sql .ErrNoRows
4852
4831
}
4853
4832
4854
- func (q * FakeQuerier ) UpdateWorkspaceLockedDeletingAt (ctx context.Context , arg database.UpdateWorkspaceLockedDeletingAtParams ) error {
4855
- err := validateDatabaseType (arg )
4856
- if err != nil {
4833
+ func (q * FakeQuerier ) UpdateWorkspaceLockedDeletingAt (_ context.Context , arg database.UpdateWorkspaceLockedDeletingAtParams ) error {
4834
+ if err := validateDatabaseType (arg ); err != nil {
4857
4835
return err
4858
4836
}
4859
-
4860
- panic ("not implemented" )
4837
+ q .mutex .Lock ()
4838
+ defer q .mutex .Unlock ()
4839
+ for index , workspace := range q .workspaces {
4840
+ if workspace .ID != arg .ID {
4841
+ continue
4842
+ }
4843
+ workspace .LockedAt = arg .LockedAt
4844
+ if workspace .LockedAt .Time .IsZero () {
4845
+ workspace .LastUsedAt = database .Now ()
4846
+ workspace .DeletingAt = sql.NullTime {}
4847
+ }
4848
+ if arg .LockedTtlMs > 0 && ! workspace .LockedAt .Time .IsZero () {
4849
+ workspace .DeletingAt = sql.NullTime {
4850
+ Valid : true ,
4851
+ Time : workspace .LockedAt .Time .Add (time .Duration (arg .LockedTtlMs ) * time .Millisecond ),
4852
+ }
4853
+ }
4854
+ q .workspaces [index ] = workspace
4855
+ return nil
4856
+ }
4857
+ return sql .ErrNoRows
4861
4858
}
4862
4859
4863
4860
func (q * FakeQuerier ) UpdateWorkspaceProxy (_ context.Context , arg database.UpdateWorkspaceProxyParams ) (database.WorkspaceProxy , error ) {
@@ -4940,13 +4937,30 @@ func (q *FakeQuerier) UpdateWorkspaceTTLToBeWithinTemplateMax(_ context.Context,
4940
4937
return nil
4941
4938
}
4942
4939
4943
- func (q * FakeQuerier ) UpdateWorkspacesDeletingAtByTemplateID (ctx context.Context , arg database.UpdateWorkspacesDeletingAtByTemplateIDParams ) error {
4940
+ func (q * FakeQuerier ) UpdateWorkspacesDeletingAtByTemplateID (_ context.Context , arg database.UpdateWorkspacesDeletingAtByTemplateIDParams ) error {
4941
+ q .mutex .Lock ()
4942
+ defer q .mutex .Unlock ()
4943
+
4944
4944
err := validateDatabaseType (arg )
4945
4945
if err != nil {
4946
4946
return err
4947
4947
}
4948
4948
4949
- panic ("not implemented" )
4949
+ for i , ws := range q .workspaces {
4950
+ if ws .LockedAt .Time .IsZero () {
4951
+ continue
4952
+ }
4953
+ deletingAt := sql.NullTime {
4954
+ Valid : arg .LockedTtlMs > 0 ,
4955
+ }
4956
+ if arg .LockedTtlMs > 0 {
4957
+ deletingAt .Time = ws .LockedAt .Time .Add (time .Duration (arg .LockedTtlMs ) * time .Millisecond )
4958
+ }
4959
+ ws .DeletingAt = deletingAt
4960
+ q .workspaces [i ] = ws
4961
+ }
4962
+
4963
+ return nil
4950
4964
}
4951
4965
4952
4966
func (q * FakeQuerier ) UpsertAppSecurityKey (_ context.Context , data string ) error {
0 commit comments