mirror of
https://github.com/OMGeeky/google-apis-rs.git
synced 2025-12-26 17:02:24 +01:00
Add walletobjects CLI
This commit is contained in:
44
gen/walletobjects1-cli/Cargo.toml
Normal file
44
gen/walletobjects1-cli/Cargo.toml
Normal file
@@ -0,0 +1,44 @@
|
||||
# DO NOT EDIT !
|
||||
# This file was generated automatically from 'src/generator/templates/Cargo.toml.mako'
|
||||
# DO NOT EDIT !
|
||||
[package]
|
||||
|
||||
name = "google-walletobjects1-cli"
|
||||
version = "4.0.2+20220928"
|
||||
authors = ["Sebastian Thiel <byronimo@gmail.com>"]
|
||||
description = "A complete library to interact with Walletobjects (protocol v1)"
|
||||
repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/walletobjects1-cli"
|
||||
homepage = "https://developers.google.com/pay/passes"
|
||||
documentation = "http://byron.github.io/google-apis-rs/google_walletobjects1_cli"
|
||||
license = "MIT"
|
||||
keywords = ["walletobjects", "google", "cli"]
|
||||
autobins = false
|
||||
edition = "2018"
|
||||
|
||||
[[bin]]
|
||||
name = "walletobjects1"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "^ 1.0"
|
||||
hyper-rustls = "0.23.0"
|
||||
mime = "^ 0.2.0"
|
||||
serde = { version = "^ 1.0", features = ["derive"] }
|
||||
serde_json = "^ 1.0"
|
||||
itertools = "^ 0.10"
|
||||
google-clis-common = { path = "../../google-clis-common", version = "4.0" }
|
||||
strsim = "^0.5"
|
||||
clap = "^2.0"
|
||||
http = "^0.2"
|
||||
hyper = { version = "0.14", features = ["full"] }
|
||||
tokio = { version = "^ 1.0", features = ["full"] }
|
||||
tower-service = "^0.3.1"
|
||||
|
||||
|
||||
|
||||
[dependencies.google-walletobjects1]
|
||||
path = "../walletobjects1"
|
||||
version = "4.0.2+20220928"
|
||||
|
||||
# [features]
|
||||
# default = ["yup-oauth2"]
|
||||
30
gen/walletobjects1-cli/LICENSE.md
Normal file
30
gen/walletobjects1-cli/LICENSE.md
Normal file
@@ -0,0 +1,30 @@
|
||||
<!---
|
||||
DO NOT EDIT !
|
||||
This file was generated automatically from 'src/generator/templates/LICENSE.md.mako'
|
||||
DO NOT EDIT !
|
||||
-->
|
||||
The MIT License (MIT)
|
||||
=====================
|
||||
|
||||
Copyright © `2015-2020` `Sebastian Thiel`
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the “Software”), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
214
gen/walletobjects1-cli/README.md
Normal file
214
gen/walletobjects1-cli/README.md
Normal file
@@ -0,0 +1,214 @@
|
||||
<!---
|
||||
DO NOT EDIT !
|
||||
This file was generated automatically from 'src/generator/templates/cli/README.md.mako'
|
||||
DO NOT EDIT !
|
||||
-->
|
||||
The `walletobjects1` command-line interface *(CLI)* allows to use most features of the *Google Walletobjects* service from the comfort of your terminal.
|
||||
|
||||
By default all output is printed to standard out, but flags can be set to direct it into a file independent of your shell's
|
||||
capabilities. Errors will be printed to standard error, and cause the program's exit code to be non-zero.
|
||||
|
||||
If data-structures are requested, these will be returned as pretty-printed JSON, to be useful as input to other tools.
|
||||
|
||||
Everything else about the *Walletobjects* API can be found at the
|
||||
[official documentation site](https://developers.google.com/pay/passes).
|
||||
|
||||
# Installation and Source Code
|
||||
|
||||
Install the command-line interface with cargo using:
|
||||
|
||||
```bash
|
||||
cargo install google-walletobjects1-cli
|
||||
```
|
||||
|
||||
Find the source code [on github](https://github.com/Byron/google-apis-rs/tree/main/gen/walletobjects1-cli).
|
||||
|
||||
# Usage
|
||||
|
||||
This documentation was generated from the *Walletobjects* API at revision *20220928*. The CLI is at version *4.0.2*.
|
||||
|
||||
```bash
|
||||
walletobjects1 [options]
|
||||
eventticketclass
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
eventticketobject
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
modifylinkedofferobjects <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
flightclass
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
flightobject
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
genericclass
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
genericobject
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
giftcardclass
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
giftcardobject
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
issuer
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
jwt
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
loyaltyclass
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
loyaltyobject
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
modifylinkedofferobjects <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
offerclass
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
offerobject
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
permissions
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
smarttap
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
transitclass
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
transitobject
|
||||
addmessage <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
get <resource-id> [-p <v>]... [-o <out>]
|
||||
insert (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
list [-p <v>]... [-o <out>]
|
||||
patch <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
update <resource-id> (-r <kv>)... [-p <v>]... [-o <out>]
|
||||
walletobjects1 --help
|
||||
|
||||
Configuration:
|
||||
[--scope <url>]...
|
||||
Specify the authentication a method should be executed in. Each scope
|
||||
requires the user to grant this application permission to use it.
|
||||
If unset, it defaults to the shortest scope url for a particular method.
|
||||
--config-dir <folder>
|
||||
A directory into which we will store our persistent data. Defaults to
|
||||
a user-writable directory that we will create during the first invocation.
|
||||
[default: ~/.google-service-cli]
|
||||
|
||||
```
|
||||
|
||||
# Configuration
|
||||
|
||||
The program will store all persistent data in the `~/.google-service-cli` directory in *JSON* files prefixed with `walletobjects1-`. You can change the directory used to store configuration with the `--config-dir` flag on a per-invocation basis.
|
||||
|
||||
More information about the various kinds of persistent data are given in the following paragraphs.
|
||||
|
||||
# Authentication
|
||||
|
||||
Most APIs require a user to authenticate any request. If this is the case, the [scope][scopes] determines the
|
||||
set of permissions granted. The granularity of these is usually no more than *read-only* or *full-access*.
|
||||
|
||||
If not set, the system will automatically select the smallest feasible scope, e.g. when invoking a
|
||||
method that is read-only, it will ask only for a read-only scope.
|
||||
You may use the `--scope` flag to specify a scope directly.
|
||||
All applicable scopes are documented in the respective method's CLI documentation.
|
||||
|
||||
The first time a scope is used, the user is asked for permission. Follow the instructions given
|
||||
by the CLI to grant permissions, or to decline.
|
||||
|
||||
If a scope was authenticated by the user, the respective information will be stored as *JSON* in the configuration
|
||||
directory, e.g. `~/.google-service-cli/walletobjects1-token-<scope-hash>.json`. No manual management of these tokens
|
||||
is necessary.
|
||||
|
||||
To revoke granted authentication, please refer to the [official documentation][revoke-access].
|
||||
|
||||
# Application Secrets
|
||||
|
||||
In order to allow any application to use Google services, it will need to be registered using the
|
||||
[Google Developer Console][google-dev-console]. APIs the application may use are then enabled for it
|
||||
one by one. Most APIs can be used for free and have a daily quota.
|
||||
|
||||
To allow more comfortable usage of the CLI without forcing anyone to register an own application, the CLI
|
||||
comes with a default application secret that is configured accordingly. This also means that heavy usage
|
||||
all around the world may deplete the daily quota.
|
||||
|
||||
You can workaround this limitation by putting your own secrets file at this location:
|
||||
`~/.google-service-cli/walletobjects1-secret.json`, assuming that the required *walletobjects* API
|
||||
was enabled for it. Such a secret file can be downloaded in the *Google Developer Console* at
|
||||
*APIs & auth -> Credentials -> Download JSON* and used as is.
|
||||
|
||||
Learn more about how to setup Google projects and enable APIs using the [official documentation][google-project-new].
|
||||
|
||||
|
||||
# Debugging
|
||||
|
||||
Even though the CLI does its best to provide usable error messages, sometimes it might be desirable to know
|
||||
what exactly led to a particular issue. This is done by allowing all client-server communication to be
|
||||
output to standard error *as-is*.
|
||||
|
||||
The `--debug` flag will print errors using the `Debug` representation to standard error.
|
||||
|
||||
You may consider redirecting standard error into a file for ease of use, e.g. `walletobjects1 --debug <resource> <method> [options] 2>debug.txt`.
|
||||
|
||||
|
||||
[scopes]: https://developers.google.com/+/api/oauth#scopes
|
||||
[revoke-access]: http://webapps.stackexchange.com/a/30849
|
||||
[google-dev-console]: https://console.developers.google.com/
|
||||
[google-project-new]: https://developers.google.com/console/help/new/
|
||||
127
gen/walletobjects1-cli/mkdocs.yml
Normal file
127
gen/walletobjects1-cli/mkdocs.yml
Normal file
@@ -0,0 +1,127 @@
|
||||
site_name: Walletobjects v4.0.2+20220928
|
||||
site_url: http://byron.github.io/google-apis-rs/google-walletobjects1-cli
|
||||
site_description: A complete library to interact with Walletobjects (protocol v1)
|
||||
|
||||
repo_url: https://github.com/Byron/google-apis-rs/tree/main/gen/walletobjects1-cli
|
||||
|
||||
docs_dir: docs
|
||||
site_dir: build_html
|
||||
|
||||
nav:
|
||||
- Home: 'index.md'
|
||||
- 'Eventticketclass':
|
||||
- 'Addmessage': 'eventticketclass_addmessage.md'
|
||||
- 'Get': 'eventticketclass_get.md'
|
||||
- 'Insert': 'eventticketclass_insert.md'
|
||||
- 'List': 'eventticketclass_list.md'
|
||||
- 'Patch': 'eventticketclass_patch.md'
|
||||
- 'Update': 'eventticketclass_update.md'
|
||||
- 'Eventticketobject':
|
||||
- 'Addmessage': 'eventticketobject_addmessage.md'
|
||||
- 'Get': 'eventticketobject_get.md'
|
||||
- 'Insert': 'eventticketobject_insert.md'
|
||||
- 'List': 'eventticketobject_list.md'
|
||||
- 'Modifylinkedofferobjects': 'eventticketobject_modifylinkedofferobjects.md'
|
||||
- 'Patch': 'eventticketobject_patch.md'
|
||||
- 'Update': 'eventticketobject_update.md'
|
||||
- 'Flightclass':
|
||||
- 'Addmessage': 'flightclass_addmessage.md'
|
||||
- 'Get': 'flightclass_get.md'
|
||||
- 'Insert': 'flightclass_insert.md'
|
||||
- 'List': 'flightclass_list.md'
|
||||
- 'Patch': 'flightclass_patch.md'
|
||||
- 'Update': 'flightclass_update.md'
|
||||
- 'Flightobject':
|
||||
- 'Addmessage': 'flightobject_addmessage.md'
|
||||
- 'Get': 'flightobject_get.md'
|
||||
- 'Insert': 'flightobject_insert.md'
|
||||
- 'List': 'flightobject_list.md'
|
||||
- 'Patch': 'flightobject_patch.md'
|
||||
- 'Update': 'flightobject_update.md'
|
||||
- 'Genericclass':
|
||||
- 'Get': 'genericclass_get.md'
|
||||
- 'Insert': 'genericclass_insert.md'
|
||||
- 'List': 'genericclass_list.md'
|
||||
- 'Patch': 'genericclass_patch.md'
|
||||
- 'Update': 'genericclass_update.md'
|
||||
- 'Genericobject':
|
||||
- 'Get': 'genericobject_get.md'
|
||||
- 'Insert': 'genericobject_insert.md'
|
||||
- 'List': 'genericobject_list.md'
|
||||
- 'Patch': 'genericobject_patch.md'
|
||||
- 'Update': 'genericobject_update.md'
|
||||
- 'Giftcardclass':
|
||||
- 'Addmessage': 'giftcardclass_addmessage.md'
|
||||
- 'Get': 'giftcardclass_get.md'
|
||||
- 'Insert': 'giftcardclass_insert.md'
|
||||
- 'List': 'giftcardclass_list.md'
|
||||
- 'Patch': 'giftcardclass_patch.md'
|
||||
- 'Update': 'giftcardclass_update.md'
|
||||
- 'Giftcardobject':
|
||||
- 'Addmessage': 'giftcardobject_addmessage.md'
|
||||
- 'Get': 'giftcardobject_get.md'
|
||||
- 'Insert': 'giftcardobject_insert.md'
|
||||
- 'List': 'giftcardobject_list.md'
|
||||
- 'Patch': 'giftcardobject_patch.md'
|
||||
- 'Update': 'giftcardobject_update.md'
|
||||
- 'Issuer':
|
||||
- 'Get': 'issuer_get.md'
|
||||
- 'Insert': 'issuer_insert.md'
|
||||
- 'List': 'issuer_list.md'
|
||||
- 'Patch': 'issuer_patch.md'
|
||||
- 'Update': 'issuer_update.md'
|
||||
- 'Jwt':
|
||||
- 'Insert': 'jwt_insert.md'
|
||||
- 'Loyaltyclass':
|
||||
- 'Addmessage': 'loyaltyclass_addmessage.md'
|
||||
- 'Get': 'loyaltyclass_get.md'
|
||||
- 'Insert': 'loyaltyclass_insert.md'
|
||||
- 'List': 'loyaltyclass_list.md'
|
||||
- 'Patch': 'loyaltyclass_patch.md'
|
||||
- 'Update': 'loyaltyclass_update.md'
|
||||
- 'Loyaltyobject':
|
||||
- 'Addmessage': 'loyaltyobject_addmessage.md'
|
||||
- 'Get': 'loyaltyobject_get.md'
|
||||
- 'Insert': 'loyaltyobject_insert.md'
|
||||
- 'List': 'loyaltyobject_list.md'
|
||||
- 'Modifylinkedofferobjects': 'loyaltyobject_modifylinkedofferobjects.md'
|
||||
- 'Patch': 'loyaltyobject_patch.md'
|
||||
- 'Update': 'loyaltyobject_update.md'
|
||||
- 'Offerclass':
|
||||
- 'Addmessage': 'offerclass_addmessage.md'
|
||||
- 'Get': 'offerclass_get.md'
|
||||
- 'Insert': 'offerclass_insert.md'
|
||||
- 'List': 'offerclass_list.md'
|
||||
- 'Patch': 'offerclass_patch.md'
|
||||
- 'Update': 'offerclass_update.md'
|
||||
- 'Offerobject':
|
||||
- 'Addmessage': 'offerobject_addmessage.md'
|
||||
- 'Get': 'offerobject_get.md'
|
||||
- 'Insert': 'offerobject_insert.md'
|
||||
- 'List': 'offerobject_list.md'
|
||||
- 'Patch': 'offerobject_patch.md'
|
||||
- 'Update': 'offerobject_update.md'
|
||||
- 'Permissions':
|
||||
- 'Get': 'permissions_get.md'
|
||||
- 'Update': 'permissions_update.md'
|
||||
- 'Smarttap':
|
||||
- 'Insert': 'smarttap_insert.md'
|
||||
- 'Transitclass':
|
||||
- 'Addmessage': 'transitclass_addmessage.md'
|
||||
- 'Get': 'transitclass_get.md'
|
||||
- 'Insert': 'transitclass_insert.md'
|
||||
- 'List': 'transitclass_list.md'
|
||||
- 'Patch': 'transitclass_patch.md'
|
||||
- 'Update': 'transitclass_update.md'
|
||||
- 'Transitobject':
|
||||
- 'Addmessage': 'transitobject_addmessage.md'
|
||||
- 'Get': 'transitobject_get.md'
|
||||
- 'Insert': 'transitobject_insert.md'
|
||||
- 'List': 'transitobject_list.md'
|
||||
- 'Patch': 'transitobject_patch.md'
|
||||
- 'Update': 'transitobject_update.md'
|
||||
|
||||
theme: readthedocs
|
||||
|
||||
copyright: Copyright © 2015-2020, `Sebastian Thiel`
|
||||
|
||||
17676
gen/walletobjects1-cli/src/main.rs
Normal file
17676
gen/walletobjects1-cli/src/main.rs
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user