Как настроить пользовательские поля для пользователя в PocketBase
Я использую бэкэнд PocketBase только с аутентификацией по электронной почте/паролю, и я добавил пару настраиваемых полей в свою «коллекцию» пользователей. Пользователь имеет следующие значения:
- идентификатор
- электронная почта
- имя пользователя (записывается как profile.username на PB)
- profileImage (написано как profile.profileImage на PB)
- созданный
- обновлен
Из-за необходимости проекта я использую API с клиентом go и создаю пользователя следующим образом:
func CreateUser(...) (...) {
user := models.User{
UserId: stringUserid,
Email: "fake@mail.com",
Username: username,
Password: stringUserid + "_" + username,
PasswordConfirm: stringUserid + "_" + username,
Profile: models.UserProfile{
Username: username,
ProfileImage: profileImage
},
}
jsonBody, errorMarshal := json.Marshal(user)
if errorMarshal != nil {
return "", errorMarshal
}
resp, err := http.Post(BackendURL+"/api/users", "application/json", bytes.NewBuffer(jsonBody))
if err != nil {
return "", err
}
}
Где models.User + models.UserProfile объявляется следующим образом:
type User struct {
UserId string `json:"userId"`
Email string `json:"email"`
Profile UserProfile `json:"profile"`
Password string `json:"password"`
PasswordConfirm string `json:"passwordConfirm"`
}
type UserProfile struct {
Username string `json:"username"`
ProfileImage string `json:"profileImage"`
}
При отправке запроса POST он действительно создает нового пользователя в коллекции, но, похоже, он не устанавливает значения имени пользователя и профиляImage в то, что я отправляю как JSON. Я знаю, что рекомендуется использовать готовые пакеты JavaScript/Dart при использовании PocketBase, но для нужд моего проекта я могу использовать только Go. Я также пытался использовать следующую структуру для типа пользователя:
type User struct {
UserId string `json:"userId"`
Email string `json:"email"`
Username string `json:"username"`
Password string `json:"password"`
PasswordConfirm string `json:"passwordConfirm"`
}
Действительно ли возможно установить настраиваемые поля таким образом? Спасибо.