From 593840ec28d36567e147f3750d7cff927e776c45 Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Mon, 10 Nov 2025 21:50:15 +0500 Subject: [PATCH] new file: main_dc/yalarba/api_es/internal/models/user.go modified: main_dc/yalarba/api_tp/internal/models/contacts.go modifay --- .../yalarba/api_es/internal/models/user.go | 40 +++++++++++++++++++ .../api_tp/internal/models/contacts.go | 24 ++++++----- 2 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 main_dc/yalarba/api_es/internal/models/user.go diff --git a/main_dc/yalarba/api_es/internal/models/user.go b/main_dc/yalarba/api_es/internal/models/user.go new file mode 100644 index 0000000..d067296 --- /dev/null +++ b/main_dc/yalarba/api_es/internal/models/user.go @@ -0,0 +1,40 @@ +package models + +import ( + "time" + + "gorm.io/gorm" +) + +type User struct { + ID uint `json:"id" gorm:"primarykey"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + DeletedAt gorm.DeletedAt `json:"deleted_at,omitempty" gorm:"index"` + + Name string `json:"name" gorm:"size:100;not null"` + FullName string `json:"full_name" gorm:"size:1000"` + FirstName string `json:"first_name" gorm:"size:50"` + LastName string `json:"last_nmae" gorm:"size:50"` + Email string `json:"email" gorm:"size:255;uniqueIndex;not null"` + Password string `json:"-" gorm:"size:255;not null"` +} + +type CreateUserRequest struct { + Name string `json:"name" validate:"required,min=2,max=100"` + Email string `json:"email" validate:"required,email"` + Password string `json:"password" validate:"required,min=6"` +} + +type UpdateUserRequest struct { + Name string `json:"name" validate:"omitempty,min=2,max=100"` + Email string `json:"email" validate:"omitempty,email"` +} + +type UserResponse struct { + ID uint `json:"id"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + Name string `json:"name"` + Email string `json:"email"` +} diff --git a/main_dc/yalarba/api_tp/internal/models/contacts.go b/main_dc/yalarba/api_tp/internal/models/contacts.go index e0c664a..2578c48 100644 --- a/main_dc/yalarba/api_tp/internal/models/contacts.go +++ b/main_dc/yalarba/api_tp/internal/models/contacts.go @@ -1,19 +1,21 @@ package models -import { - "fmt" -} +import ( + "time" + + "gorm.io/gorm" +) type Contact struct { - ID uint `json:"id" gorm:"primarykey"` - UserId uint + ID uint `json:"id" gorm:"primarykey"` + UserId uint CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at,omitempty" gorm:"index"` - FirstName string - LastName string - PhoneNumber string - SocialLinks map[string]string - -} \ No newline at end of file + FirstName string + LastName string + PhoneNumbers map[string]string + SocialLinks map[string]string + Emails map[string]string +}