func NewWithUsername()

in cmd/gitlab-shell/command/command.go [68:96]


func NewWithUsername(gitlabUsername string, env sshenv.Env, config *config.Config, readWriter *readwriter.ReadWriter) (command.Command, error) {
	args, err := Parse(nil, env)
	if err != nil {
		return nil, err
	}

	// FIXME: When 1.21+ only Golang is supported, it can be refactored by using slices.Contains
	if env.NamespacePath != "" {
		exists := false
		for _, gitCmd := range commandargs.GitCommands {
			if args.CommandType == gitCmd {
				exists = true

				break
			}
		}

		if !exists {
			return nil, disallowedcommand.Error
		}
	}

	args.GitlabUsername = gitlabUsername
	if cmd := Build(args, config, readWriter); cmd != nil {
		return cmd, nil
	}

	return nil, disallowedcommand.Error
}