Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( FlagUsername = &cli.StringFlag{ Name: "username", Usage: "Your Vodafone username", EnvVars: []string{"VODAFONE_USERNAME"}, } FlagPassword = &cli.StringFlag{ Name: "password", Usage: "Your Vodafone password", EnvVars: []string{"VODAFONE_PASSWORD"}, } FlagDirectory = &cli.PathFlag{ Name: "directory", Usage: "The directory to store the invoices in", EnvVars: []string{"VODAFONE_DUMP_DIRECTORY"}, } FlagPaperlessURL = &cli.StringFlag{ Name: "paperless-url", Usage: "The URL of the paperless instance to upload the invoices to", EnvVars: []string{"PAPERLESS_URL"}, } FlagPaperlessToken = &cli.StringFlag{ Name: "paperless-token", Usage: "The token to use for authentication against paperless", EnvVars: []string{"PAPERLESS_TOKEN"}, } FlagPaperlessUsername = &cli.StringFlag{ Name: "paperless-username", Usage: "The username to use for authentication against paperless. Will be ignored if token is set.", EnvVars: []string{"PAPERLESS_USERNAME"}, } FlagPaperlessPassword = &cli.StringFlag{ Name: "paperless-password", Usage: "The password to use for authentication against paperless. Will be ignored if token is set.", EnvVars: []string{"PAPERLESS_PASSWORD"}, } FlagPaperlessCorrespondent = &cli.StringFlag{ Name: "paperless-correspondent", Usage: "The ID of correspondent to use for the invoices", EnvVars: []string{"PAPERLESS_CORRESPONDENT"}, } FlagPaperlessDocumentType = &cli.StringFlag{ Name: "paperless-document-type", Usage: "The ID of the document type to use for the invoices", EnvVars: []string{"PAPERLESS_DOCUMENT_TYPE"}, } )
View Source
var DumpInvoicesCommand = &cli.Command{ Name: "dump", Usage: "Dump all invoices to the specified directory.", Flags: []cli.Flag{ FlagUsername, FlagPassword, FlagDirectory, }, Action: func(c *cli.Context) error { return DumpInvoice( c.String(FlagUsername.Name), c.String(FlagPassword.Name), c.Path(FlagDirectory.Name), ) }, }
View Source
var DumpToPaperlessCommand = &cli.Command{ Name: "dump-to-paperless", Usage: "Dumps all invoices to paperless / paperless ngx.", Flags: []cli.Flag{ FlagUsername, FlagPassword, FlagPaperlessURL, FlagPaperlessToken, FlagPaperlessUsername, FlagPaperlessPassword, FlagPaperlessCorrespondent, FlagPaperlessDocumentType, }, Action: func(c *cli.Context) error { return DumpToPaperless( c.String(FlagUsername.Name), c.String(FlagPassword.Name), &PaperlessDumpConfig{ Correspondent: c.String(FlagPaperlessCorrespondent.Name), DocumentType: c.String(FlagPaperlessDocumentType.Name), Config: &paperless.Config{ URL: c.String(FlagPaperlessURL.Name), APIKey: c.String(FlagPaperlessToken.Name), Username: c.String(FlagPaperlessUsername.Name), Password: c.String(FlagPaperlessPassword.Name), }, }, ) }, }
View Source
var LoginTestCommand = &cli.Command{ Name: "login-test", Usage: "Test your login credentials", Flags: []cli.Flag{ FlagUsername, FlagPassword, }, Action: func(c *cli.Context) error { _, err := login.Do(c.String(FlagUsername.Name), c.String(FlagPassword.Name)) if err != nil { fmt.Println("Login failed") fmt.Println(err) } else { fmt.Println("Login successful") } return err }, }
View Source
var UserInfoCommand = &cli.Command{ Name: "user-info", Usage: "List information about the logged in users.", Flags: []cli.Flag{ FlagUsername, FlagPassword, }, Action: func(c *cli.Context) error { loginData, err := login.Do(c.String(FlagUsername.Name), c.String(FlagPassword.Name)) if err != nil { fmt.Println("Login failed") return err } userInfo, err := login.GetUserInfo(loginData) if err != nil { fmt.Println("Failed to retrieve user info") return err } fmt.Println(userInfo.HumanReadableString()) return err }, }
Functions ¶
func DumpToPaperless ¶
func DumpToPaperless(username string, password string, paperlessInfo *PaperlessDumpConfig) error
Types ¶
Click to show internal directories.
Click to hide internal directories.