Compare commits

..
Author SHA1 Message Date
phoenix 6d52867485 Added Organization struct
Go CI / Test and Lint (push) Successful in 17s
Go Release / build-and-release (pull_request) Successful in 6s
Go CI / Test and Lint (pull_request) Successful in 16s
2026-05-28 15:22:22 -04:00
phoenix 3ccc1a9a6d UserProfile (#1)
Go Release / build-and-release (push) Successful in 5s
Go CI / Test and Lint (push) Successful in 6s
Reviewed-on: phoenix/textsender-models#1
2026-05-27 22:59:45 -04:00
phoenix 5b36e5c42e Login History (#2)
Go Release / build-and-release (push) Successful in 6s
Go CI / Test and Lint (push) Successful in 12s
Reviewed-on: phoenix/textsender-models#2
2026-05-26 22:08:05 -04:00
6 changed files with 67 additions and 22 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
run: |
echo "Creating version"
VERSION="0.2.1"
VERSION="0.2.3"
PROJECT_COMMIT_HASH=$(git rev-parse HEAD | cut -c 1-10)
BRANCH_REF="${{ gitea.ref }}"
BRANCH_NAME=$(echo "$BRANCH_REF" | cut -d '/' -f 3)
+18
View File
@@ -0,0 +1,18 @@
package user
import (
"github.com/google/uuid"
"time"
)
type UserLoginHistory struct {
Id uuid.UUID `json:"id"`
LoginTime time.Time `json:"login_time"`
UserId uuid.UUID `json:"user_id"`
}
type ServiceUserLoginHistory struct {
Id uuid.UUID `json:"id"`
LoginTime time.Time `json:"login_time"`
ServiceUserId uuid.UUID `json:"service_user_id"`
}
+14
View File
@@ -0,0 +1,14 @@
package user
import (
"time"
"github.com/google/uuid"
)
type Organization struct {
Id uuid.UUID `json:"id"`
Name string `json:"name"`
Created *time.Time `json:"created,omitempty"`
}
+10 -8
View File
@@ -7,12 +7,14 @@ import (
)
type User struct {
Id uuid.UUID `json:"id"`
PhoneNumber string `json:"phone_number"`
Username string `json:"username"`
Password string `json:"password"`
Firstname *string `json:"first_name,omitempty"`
Lastname *string `json:"last_name,omitempty"`
Created time.Time `json:"created"`
LastLogin *time.Time `json:"last_login,omitempty"`
Id uuid.UUID `json:"id"`
PhoneNumber string `json:"phone_number"`
Username string `json:"username"`
Password string `json:"password"`
// Firstname is a pointer
Firstname *string `json:"first_name,omitempty"`
// Lastname is a pointer
Lastname *string `json:"last_name,omitempty"`
Created time.Time `json:"created"`
LastLogin *time.Time `json:"last_login,omitempty"`
}
+24 -11
View File
@@ -2,11 +2,19 @@ package user
import (
"fmt"
"time"
"github.com/google/uuid"
)
// TODO: Replace Usr with all the fields from User, except Password and other sensitive fields
type UserProfile struct {
Usr *User `json:"user"`
UserId uuid.UUID `json:"user_id"`
PhoneNumber string `json:"phone_number"`
Username string `json:"username"`
Firstname *string `json:"firstname,omitempty"`
Lastname *string `json:"lastname,omitempty"`
Created time.Time `json:"created"`
LastLogin *time.Time `json:"last_login,omitempty"`
}
func InitUserProfile(usr *User) (usrProfile *UserProfile, err error) {
@@ -14,15 +22,20 @@ func InitUserProfile(usr *User) (usrProfile *UserProfile, err error) {
return nil, fmt.Errorf("User is empty")
} else {
usrProfile = new(UserProfile)
if len(usr.Password) > 0 {
newUsr := User{Id: usr.Id, PhoneNumber: usr.PhoneNumber, Username: usr.Username, Firstname: usr.Firstname, Lastname: usr.Lastname, Created: usr.Created, LastLogin: usr.LastLogin,}
usrProfile.Usr = &newUsr
return usrProfile, nil
} else {
usrProfile.Usr = usr
return usrProfile, nil
usrProfile.UserId = usr.Id
usrProfile.PhoneNumber = usr.PhoneNumber
usrProfile.Username = usr.Username
if usr.Firstname != nil {
usrProfile.Firstname = usr.Firstname
}
if usr.Lastname != nil {
usrProfile.Lastname = usr.Lastname
}
usrProfile.Created = usr.Created
if usr.LastLogin != nil {
usrProfile.LastLogin = usr.LastLogin
}
return usrProfile, nil
}
}
-2
View File
@@ -13,6 +13,4 @@ func TestInitUserProfile(t *testing.T) {
assert.NoError(t, err, "Error %v", err)
assert.NotEmpty(t, profile, "UserProfile is empty")
assert.Empty(t, profile.Usr.Password, "Password should be empty")
}