@@ -534,27 +534,6 @@ func isNotNull(v interface{}) bool {
534
534
// these methods remain unimplemented in the FakeQuerier.
535
535
var ErrUnimplemented = xerrors .New ("unimplemented" )
536
536
537
- func (q * FakeQuerier ) UpdateWorkspaceLockedAt (_ context.Context , arg database.UpdateWorkspaceLockedAtParams ) error {
538
- if err := validateDatabaseType (arg ); err != nil {
539
- return err
540
- }
541
-
542
- q .mutex .Lock ()
543
- defer q .mutex .Unlock ()
544
-
545
- for index , workspace := range q .workspaces {
546
- if workspace .ID != arg .ID {
547
- continue
548
- }
549
- workspace .LockedAt = arg .LockedAt
550
- workspace .LastUsedAt = database .Now ()
551
- q .workspaces [index ] = workspace
552
- return nil
553
- }
554
-
555
- return sql .ErrNoRows
556
- }
557
-
558
537
func (* FakeQuerier ) AcquireLock (_ context.Context , _ int64 ) error {
559
538
return xerrors .New ("AcquireLock must only be called within a transaction" )
560
539
}
@@ -4836,13 +4815,31 @@ func (q *FakeQuerier) UpdateWorkspaceLastUsedAt(_ context.Context, arg database.
4836
4815
return sql .ErrNoRows
4837
4816
}
4838
4817
4839
- func (q * FakeQuerier ) UpdateWorkspaceLockedDeletingAt (ctx context.Context , arg database.UpdateWorkspaceLockedDeletingAtParams ) error {
4840
- err := validateDatabaseType (arg )
4841
- if err != nil {
4818
+ func (q * FakeQuerier ) UpdateWorkspaceLockedDeletingAt (_ context.Context , arg database.UpdateWorkspaceLockedDeletingAtParams ) error {
4819
+ if err := validateDatabaseType (arg ); err != nil {
4842
4820
return err
4843
4821
}
4844
-
4845
- panic ("not implemented" )
4822
+ q .mutex .Lock ()
4823
+ defer q .mutex .Unlock ()
4824
+ for index , workspace := range q .workspaces {
4825
+ if workspace .ID != arg .ID {
4826
+ continue
4827
+ }
4828
+ workspace .LockedAt = arg .LockedAt
4829
+ if workspace .LockedAt .Time .IsZero () {
4830
+ workspace .LastUsedAt = database .Now ()
4831
+ workspace .DeletingAt = sql.NullTime {}
4832
+ }
4833
+ if arg .LockedTtlMs > 0 && ! workspace .LockedAt .Time .IsZero () {
4834
+ workspace .DeletingAt = sql.NullTime {
4835
+ Valid : true ,
4836
+ Time : workspace .LockedAt .Time .Add (time .Duration (arg .LockedTtlMs ) * time .Millisecond ),
4837
+ }
4838
+ }
4839
+ q .workspaces [index ] = workspace
4840
+ return nil
4841
+ }
4842
+ return sql .ErrNoRows
4846
4843
}
4847
4844
4848
4845
func (q * FakeQuerier ) UpdateWorkspaceProxy (_ context.Context , arg database.UpdateWorkspaceProxyParams ) (database.WorkspaceProxy , error ) {
@@ -4925,13 +4922,30 @@ func (q *FakeQuerier) UpdateWorkspaceTTLToBeWithinTemplateMax(_ context.Context,
4925
4922
return nil
4926
4923
}
4927
4924
4928
- func (q * FakeQuerier ) UpdateWorkspacesDeletingAtByTemplateID (ctx context.Context , arg database.UpdateWorkspacesDeletingAtByTemplateIDParams ) error {
4925
+ func (q * FakeQuerier ) UpdateWorkspacesDeletingAtByTemplateID (_ context.Context , arg database.UpdateWorkspacesDeletingAtByTemplateIDParams ) error {
4926
+ q .mutex .Lock ()
4927
+ defer q .mutex .Unlock ()
4928
+
4929
4929
err := validateDatabaseType (arg )
4930
4930
if err != nil {
4931
4931
return err
4932
4932
}
4933
4933
4934
- panic ("not implemented" )
4934
+ for i , ws := range q .workspaces {
4935
+ if ws .LockedAt .Time .IsZero () {
4936
+ continue
4937
+ }
4938
+ deletingAt := sql.NullTime {
4939
+ Valid : arg .LockedTtlMs > 0 ,
4940
+ }
4941
+ if arg .LockedTtlMs > 0 {
4942
+ deletingAt .Time = ws .LockedAt .Time .Add (time .Duration (arg .LockedTtlMs ) * time .Millisecond )
4943
+ }
4944
+ ws .DeletingAt = deletingAt
4945
+ q .workspaces [i ] = ws
4946
+ }
4947
+
4948
+ return nil
4935
4949
}
4936
4950
4937
4951
func (q * FakeQuerier ) UpsertAppSecurityKey (_ context.Context , data string ) error {
0 commit comments