Как настроить пользовательские поля для пользователя в 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"`
}

Действительно ли возможно установить настраиваемые поля таким образом? Спасибо.

0 ответов

Другие вопросы по тегам