feat: migrate codes from previous project

This commit is contained in:
ECSS 11
2026-01-19 02:10:24 -06:00
parent 00c0f457c5
commit 724fe14c0e
15 changed files with 420 additions and 10 deletions

48
internal/rss/client.go Normal file
View File

@@ -0,0 +1,48 @@
package rss
import (
"context"
"rss-to-feishu-next/internal/config"
"rss-to-feishu-next/internal/net"
)
type Client struct {
netClient *net.Client
}
func NewClient(client *net.Client) *Client {
return &Client{netClient: client}
}
func (c *Client) FetchRss(ctx context.Context, name, url string) (*Message, error) {
resp, err := c.netClient.Get(ctx, url)
if err != nil {
return nil, err
}
return &Message{
Name: name,
Url: url,
Content: resp,
}, nil
}
func (c *Client) FetchAllRss(ctx context.Context) ([]*Message, error) {
cfg, err := config.LoadConfig()
if err != nil {
return nil, err
}
var messages []*Message
subscribes := cfg.Subscribes
for i := 0; i < len(cfg.Subscribes); i++ {
message, err := c.FetchRss(ctx, subscribes[i].Name, subscribes[i].Url)
if err != nil {
return nil, err
}
messages = append(messages, message)
}
return messages, nil
}