|
- // Copyright © 2023 OpenIM open source community. All rights reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
-
- package service
-
- import (
- "time"
-
- "github.com/OpenIMSDK/OpenKF/server/internal/conn/client"
- "github.com/OpenIMSDK/OpenKF/server/internal/utils"
- "github.com/OpenIMSDK/OpenKF/server/pkg/log"
- )
-
- // SendCode send code to email.
- func (svc *Service) SendCode(email string) (err error) {
- // check the code is exist
- cmd := svc.Cache.Get(svc.Ctx, "code:"+email)
- var code string
- if cmd.Err() != nil {
- code = utils.GenerateCode()
- // save code in 60s
- status := svc.Cache.Set(svc.Ctx, "code:"+email, code, time.Second*60)
- if status.Err() != nil {
- return status.Err()
- }
- }
-
- // generate code
- err = client.SendEmail(email, "OpenKF Admin Register", "Your verification code is "+code)
-
- return err
- }
-
- // Test test.
- func (svc *Service) Test() {
- log.Info("test...")
- }
|