You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: user.go
    path of file: ./repos/plik/server/cmd
    
    the code of the file until where you have to start completion: package cmd

import (
	"fmt"
	"github.com/dustin/go-humanize"
	"github.com/root-gg/utils"
	"github.com/spf13/cobra"
	"os"

	"github.com/root-gg/plik/server/common"
	"github.com/root-gg/plik/server/server"
)

type userFlagParams struct {
	provider    string
	login       string
	name        string
	password    string
	email       string
	admin       bool
	maxFileSize string
	maxUserSize string
	maxTTL      string
}

var userParams = userFlagParams{}

// userCmd represents all users command
var userCmd = &cobra.Command{
	Use:   "user",
	Short: "Manipulate users",
}

// createUserCmd represents the "user create" command
var createUserCmd = &cobra.Command{
	Use:   "create",
	Short: "Create user",
	Run:   createUser,
}

// listUsersCmd represents the "user list" command
var listUsersCmd = &cobra.Command{
	Use:   "list",
	Short: "List users",
	Run:   listUsers,
}

// showUserCmd represents the "user show" command
var showUserCmd = &cobra.Command{
	Use:   "show",
	Short: "Show user info",
	Run:   showUser,
}

// updateUserCmd represents the "user update" command
var updateUserCmd = &cobra.Command{
	Use:   "update",
	Short: "Update user info",
	Run:   updateUser,
}

// deleteUserCmd represents the "user delete" command
var deleteUserCmd = &cobra.Command{
	Use:   "delete",
	Short: "Delete user",
	Run:   deleteUser,
}

func init() {
	rootCmd.AddCommand(userCmd)

	// Here you will define your flags and configuration settings.
	userCmd
    
func init() {
	rootCmd.AddCommand(userCmd)

	// Here you will define your flags and configuration settings.
	userCmd.PersistentFlags().StringVar(&userParams.provider, "provider", common.ProviderLocal, "user provider [local|google|ovh]")
	userCmd.PersistentFlags().StringVar(&userParams.login, "login", "", "user login")

	userCmd.AddCommand(createUserCmd)
	createUserCmd.Flags().StringVar(&userParams.name, "name", "", "user name")
	createUserCmd.Flags().StringVar(&userParams.email, "email", "", "user email")
	createUserCmd.Flags().StringVar(&userParams.password, "password", "", "user password")
	createUserCmd.Flags().StringVar(&userParams.maxFileSize, "max-file-size", "", "user max file size")
	createUserCmd.Flags().StringVar(&userParams.maxUserSize, "max-user-size", "", "user max user size")
	createUserCmd.Flags().StringVar(&userParams.maxTTL, "max-ttl", "", "user max ttl")
	createUserCmd.Flags().BoolVar(&userParams.admin, "admin", false, "user admin")

	userCmd.AddCommand(updateUserCmd)
	updateUserCmd.Flags().StringVar(&userParams.name, "name", "", "user name")
	updateUserCmd.Flags().StringVar(&userParams.email, "email", "", "user email")
	updateUserCmd.Flags().StringVar(&userParams.password, "password", "", "user password")
	updateUserCmd.Flags().StringVar(&userParams.maxFileSize, "max-file-size", "", "user max file size")
	updateUserCmd.Flags().StringVar(&userParams.maxUserSize, "max-user-size", "", "user max user size")
	updateUserCmd.Flags().StringVar(&userParams.maxTTL, "max-ttl", "", "user max ttl")
	updateUserCmd.Flags().BoolVar(&userParams.admin, "admin", false, "user admin")

	userCmd.AddCommand(listUsersCmd)
	userCmd.AddCommand(showUserCmd)
	userCmd.AddCommand(deleteUserCmd)
}