|
1 | 1 | package cke |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "bytes" |
4 | 5 | "context" |
5 | 6 | "encoding/json" |
6 | 7 | "errors" |
@@ -31,6 +32,7 @@ const ( |
31 | 32 | KeyRecords = "records/" |
32 | 33 | KeyRecordID = "records" |
33 | 34 | KeyResourcePrefix = "resource/" |
| 35 | + KeySabakanDisabled = "sabakan/disabled" |
34 | 36 | KeySabakanQueryVariables = "sabakan/query-variables" |
35 | 37 | KeySabakanTemplate = "sabakan/template" |
36 | 38 | KeySabakanURL = "sabakan/url" |
@@ -573,6 +575,30 @@ func (s Storage) DeleteResource(ctx context.Context, key string) error { |
573 | 575 | return err |
574 | 576 | } |
575 | 577 |
|
| 578 | +// IsSabakanDisabled returns true if sabakan integration is disabled. |
| 579 | +func (s Storage) IsSabakanDisabled(ctx context.Context) (bool, error) { |
| 580 | + resp, err := s.Get(ctx, KeySabakanDisabled) |
| 581 | + if err != nil { |
| 582 | + return false, err |
| 583 | + } |
| 584 | + if resp.Count == 0 { |
| 585 | + return false, nil |
| 586 | + } |
| 587 | + |
| 588 | + if bytes.Equal([]byte("true"), resp.Kvs[0].Value) { |
| 589 | + return true, nil |
| 590 | + } |
| 591 | + return false, nil |
| 592 | +} |
| 593 | + |
| 594 | +// EnableSabakan enables sabakan integration when flag is true. |
| 595 | +// When flag is false, sabakan integration is disabled. |
| 596 | +func (s Storage) EnableSabakan(ctx context.Context, flag bool) error { |
| 597 | + val := fmt.Sprint(!flag) |
| 598 | + _, err := s.Put(ctx, KeySabakanDisabled, val) |
| 599 | + return err |
| 600 | +} |
| 601 | + |
576 | 602 | // SetSabakanQueryVariables sets query variables for Sabakan. |
577 | 603 | // Caller must validate the contents. |
578 | 604 | func (s Storage) SetSabakanQueryVariables(ctx context.Context, vars string) error { |
@@ -646,9 +672,3 @@ func (s Storage) GetSabakanURL(ctx context.Context) (string, error) { |
646 | 672 | } |
647 | 673 | return string(resp.Kvs[0].Value), nil |
648 | 674 | } |
649 | | - |
650 | | -// DeleteSabakanURL deletes URL of sabakan API. |
651 | | -func (s Storage) DeleteSabakanURL(ctx context.Context) error { |
652 | | - _, err := s.Delete(ctx, KeySabakanURL) |
653 | | - return err |
654 | | -} |
|
0 commit comments