Исходники и презентации

This commit is contained in:
2025-05-23 07:26:39 +03:00
parent aa948179d5
commit 02d8430a3a
514 changed files with 13773 additions and 0 deletions

View File

@ -0,0 +1,9 @@
package entity
type Client struct {
Id int
Name string
Surname string
Age int
Address string
}

View File

@ -0,0 +1,21 @@
package service
import "golang_course/lessons/interfaces/consumer_interface/entity"
type clientUpdater interface {
UpdateClient(entity.Client) error
}
type ClientUpdater struct {
repository clientUpdater
}
func NewClientUpdater(repository clientUpdater) ClientUpdater {
return ClientUpdater{
repository: repository,
}
}
func (s *ClientUpdater) UpdateClient(client entity.Client) error {
return s.repository.UpdateClient(client)
}

View File

@ -0,0 +1,28 @@
package service
import "golang_course/lessons/interfaces/consumer_interface/entity"
type clientGetter interface {
GetClient(int) (entity.Client, error)
}
type MessageSender struct {
repository clientGetter
}
func NewMessageSender(repository clientGetter) MessageSender {
return MessageSender{
repository: repository,
}
}
func (s *MessageSender) SendMessage(userId int, message string) error {
_, err := s.repository.GetClient(userId)
if err != nil {
return err
}
// send message to client
return nil
}

View File

@ -0,0 +1,35 @@
package mysql
import "golang_course/lessons/interfaces/consumer_interface/entity"
type MySQLStorage struct{}
func (s *MySQLStorage) GetAllClients() ([]entity.Client, error) {
// already implemented
return nil, nil
}
func (s *MySQLStorage) GetClientsByAge(age int) ([]entity.Client, error) {
// already implemented
return nil, nil
}
func (s *MySQLStorage) GetClient(id int) (entity.Client, error) {
// already implemented
return entity.Client{}, nil
}
func (s *MySQLStorage) RemoveClient(id int) error {
// already implemented
return nil
}
func (s *MySQLStorage) UpdateClient(client entity.Client) error {
// already implemented
return nil
}
func (s *MySQLStorage) CreateClient(client entity.Client) error {
// already implemented
return nil
}

View File

@ -0,0 +1,35 @@
package redis
import "golang_course/lessons/interfaces/consumer_interface/entity"
type RedisStorage struct{}
func (s *RedisStorage) GetAllClients() ([]entity.Client, error) {
// already implemented
return nil, nil
}
func (s *RedisStorage) GetClientsByAge(age int) ([]entity.Client, error) {
// already implemented
return nil, nil
}
func (s *RedisStorage) GetClient(id int) (entity.Client, error) {
// already implemented
return entity.Client{}, nil
}
func (s *RedisStorage) RemoveClient(id int) error {
// already implemented
return nil
}
func (s *RedisStorage) UpdateClient(client entity.Client) error {
// already implemented
return nil
}
func (s *RedisStorage) CreateClient(client entity.Client) error {
// already implemented
return nil
}