23 lines
615 B
Go
23 lines
615 B
Go
package usecase
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/TelegramExchange/tgex-backend/tg_parser/internal/domain"
|
|
)
|
|
|
|
func (uc *UseCase) FetchChannelMetaByInvite(ctx context.Context, inviteLink string) (domain.Channel, error) {
|
|
channel, err := uc.telegram.ParseChannelMetaByInvite(ctx, inviteLink)
|
|
if err != nil {
|
|
return domain.Channel{}, fmt.Errorf("uc.telegram.ParseChannelMetaByInvite: %s", err)
|
|
}
|
|
|
|
err = uc.database.UpdateChannelIfNotAccessible(ctx, channel.TelegramID)
|
|
if err != nil {
|
|
return domain.Channel{}, fmt.Errorf("uc.database.UpdateChannelIfNotAccessible: %s", err)
|
|
}
|
|
|
|
return channel, nil
|
|
}
|