MCPcopy Create free account
hub / github.com/bytebase/bytebase / Validate

Function Validate

backend/plugin/webhook/dingtalk/app.go:35–52  ·  view source on GitHub ↗
(ctx context.Context, id, secret, robot, phone string)

Source from the content-addressed store, hash-verified

33}
34
35func Validate(ctx context.Context, id, secret, robot, phone string) error {
36 p := newProvider(id, secret, robot)
37 if err := p.refreshToken(ctx); err != nil {
38 return errors.Wrapf(err, "failed to refresh token")
39 }
40 mobile, err := getDingTalkMobileFromPhone(phone)
41 if err != nil {
42 return errors.Wrapf(err, "failed to parse phone number")
43 }
44 id, err = p.getIDByPhone(ctx, mobile)
45 if err != nil {
46 return errors.Wrapf(err, "failed to get user id by phone")
47 }
48 if err := p.sendMessage(ctx, []string{id}, "test", "test"); err != nil {
49 return errors.Wrapf(err, "failed to send test message")
50 }
51 return nil
52}
53
54func (p *provider) refreshToken(ctx context.Context) error {
55 token, err := getTokenCached(ctx, p.c, p.id, p.secret)

Callers 1

UpdateSettingMethod · 0.92

Calls 5

getIDByPhoneMethod · 0.80
newProviderFunction · 0.70
refreshTokenMethod · 0.45
sendMessageMethod · 0.45

Tested by

no test coverage detected