model

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSONNote

type JSONNote struct {
	ID        string    `json:"id"`
	Title     string    `json:"title"`
	Content   string    `json:"content"`
	UserID    string    `json:"user_id"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

JSONNote вспомогательная структура для JSON сериализации

type JSONTimeFields

type JSONTimeFields struct {
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

JSONTimeFields вспомогательная структура для JSON сериализации

type JSONUser

type JSONUser struct {
	ID        string    `json:"id"`
	Username  string    `json:"username"`
	Email     string    `json:"email"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

JSONUser вспомогательная структура для JSON сериализации

type JSONUserWithPassword

type JSONUserWithPassword struct {
	ID        string    `json:"id"`
	Username  string    `json:"username"`
	Email     string    `json:"email"`
	Password  string    `json:"password"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

JSONUserWithPassword вспомогательная структура для JSON сериализации с паролем (для внутреннего хранения)

type Note

type Note struct {
	TimeFields
	// contains filtered or unexported fields
}

Note представляет сущность заметки

func NewNote

func NewNote(title, content, userId string) *Note

NewNote создает новую заметку с инициализацией временных меток

func (*Note) GetContent

func (n *Note) GetContent() string

GetContent возвращает содержимое заметки

func (*Note) GetID

func (n *Note) GetID() string

GetID возвращает идентификатор заметки (реализация интерфейса Entity)

func (*Note) GetTitle

func (n *Note) GetTitle() string

GetTitle возвращает заголовок заметки

func (*Note) GetType

func (n *Note) GetType() string

GetType возвращает тип сущности (реализация интерфейса Entity)

func (*Note) GetUserID

func (n *Note) GetUserID() string

GetUserID возвращает ID пользователя, которому принадлежит заметка

func (*Note) MarshalJSON

func (n *Note) MarshalJSON() ([]byte, error)

MarshalJSON реализует интерфейс json.Marshaler

func (*Note) SetContent

func (n *Note) SetContent(newContent string)

SetContent устанавливает новое содержимое и обновляет временную метку

func (*Note) SetCreatedAt

func (n *Note) SetCreatedAt(createdAt time.Time)

SetCreatedAt устанавливает время создания

func (*Note) SetID

func (n *Note) SetID(id string)

SetID устанавливает идентификатор заметки

func (*Note) SetTitle

func (n *Note) SetTitle(newTitle string)

SetTitle устанавливает новый заголовок и обновляет временную метку

func (*Note) SetUpdatedAt

func (n *Note) SetUpdatedAt(updatedAt time.Time)

SetUpdatedAt устанавливает время обновления

func (*Note) SetUserID

func (n *Note) SetUserID(userId string)

SetUserID устанавливает ID пользователя, которому принадлежит заметка

func (*Note) UnmarshalJSON

func (n *Note) UnmarshalJSON(data []byte) error

UnmarshalJSON реализует интерфейс json.Unmarshaler

type TimeFields

type TimeFields struct {
	// contains filtered or unexported fields
}

TimeFields содержит общие временные метки для сущностей

func (*TimeFields) GetCreatedAt

func (t *TimeFields) GetCreatedAt() time.Time

GetCreatedAt возвращает время создания

func (*TimeFields) GetUpdatedAt

func (t *TimeFields) GetUpdatedAt() time.Time

GetUpdatedAt возвращает время обновления

func (*TimeFields) MarshalJSON

func (t *TimeFields) MarshalJSON() ([]byte, error)

MarshalJSON реализует интерфейс json.Marshaler

func (*TimeFields) UnmarshalJSON

func (t *TimeFields) UnmarshalJSON(data []byte) error

UnmarshalJSON реализует интерфейс json.Unmarshaler

type User

type User struct {
	TimeFields
	// contains filtered or unexported fields
}

User представляет сущность пользователя

func NewUser

func NewUser(username, email, password string) (*User, error)

NewUser создает нового пользователя с инициализацией временных меток

func NewUserWithPasswordHash

func NewUserWithPasswordHash(username, email, passwordHash string) *User

NewUserWithPasswordHash создает нового пользователя с уже хешированным паролем (для загрузки из хранилища)

func (*User) CheckPassword

func (u *User) CheckPassword(password string) bool

CheckPassword проверяет, соответствует ли переданный пароль хешу

func (*User) GetEmail

func (u *User) GetEmail() string

GetEmail возвращает email пользователя

func (*User) GetID

func (u *User) GetID() string

GetID возвращает идентификатор пользователя (реализация интерфейса Entity)

func (*User) GetPassword

func (u *User) GetPassword() string

GetPassword возвращает хеш пароля пользователя

func (*User) GetType

func (u *User) GetType() string

GetType возвращает тип сущности (реализация интерфейса Entity)

func (*User) GetUsername

func (u *User) GetUsername() string

GetUsername возвращает имя пользователя

func (*User) MarshalJSON

func (u *User) MarshalJSON() ([]byte, error)

MarshalJSON реализует интерфейс json.Marshaler При сериализации в JSON пароль не включается в целях безопасности

func (*User) MarshalJSONWithPassword

func (u *User) MarshalJSONWithPassword() ([]byte, error)

MarshalJSONWithPassword реализует сериализацию с включением пароля (для внутреннего хранения)

func (*User) SetCreatedAt

func (u *User) SetCreatedAt(createdAt time.Time)

SetCreatedAt устанавливает время создания

func (*User) SetEmail

func (u *User) SetEmail(newEmail string)

SetEmail устанавливает новый email и обновляет временную метку

func (*User) SetID

func (u *User) SetID(id string)

SetID устанавливает идентификатор пользователя

func (*User) SetPassword

func (u *User) SetPassword(newPassword string) error

SetPassword устанавливает новый пароль (хешируется автоматически) и обновляет временную метку

func (*User) SetPasswordHash

func (u *User) SetPasswordHash(passwordHash string)

SetPasswordHash устанавливает хеш пароля напрямую (для загрузки из базы данных)

func (*User) SetUpdatedAt

func (u *User) SetUpdatedAt(updatedAt time.Time)

SetUpdatedAt устанавливает время обновления

func (*User) SetUsername

func (u *User) SetUsername(newUsername string)

SetUsername устанавливает новое имя пользователя и обновляет временную метку

func (*User) UnmarshalJSON

func (u *User) UnmarshalJSON(data []byte) error

UnmarshalJSON реализует интерфейс json.Unmarshaler

func (*User) UnmarshalJSONWithPassword

func (u *User) UnmarshalJSONWithPassword(data []byte) error

UnmarshalJSONWithPassword реализует десериализацию с извлечением пароля (для внутреннего хранения)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL