From cdf042d79dd4cb93d9a3a99b740f3816c2ceed76 Mon Sep 17 00:00:00 2001 From: SoXX Date: Wed, 15 Nov 2023 15:07:35 +0100 Subject: [PATCH] docs: reworked README Signed-off-by: SoXX --- README.md | 169 ++++++++++++++++++++++++++++++++++++++++++++++---- README.md.OLD | 65 +++++++++++++++++++ 2 files changed, 221 insertions(+), 13 deletions(-) create mode 100644 README.md.OLD diff --git a/README.md b/README.md index 83d3ca3..6975cfc 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,158 @@ # Go-e621 SDK -An unofficial e621 SDK (Client) library to interact with **e621**, **e923** and **e6ai**. Maintained by the Anthrove Development Team. +An unofficial e621 SDK (Client) library to interact with **e621**, **e923** and **e6ai**. +Maintained by the Anthrove Development Team. -- Caching? -- Auto pagination - - sync - - async -- connected/inelegant calls -- more docs +## Table of Contents -# Completeness +- [Installation](#installation) +- [Usage](#usage) +- [Configuration](#configuration) +- [Examples](#examples) +- [Feature Completeness](#feature-completeness) + +## Installation + +Include instructions on how to install or get your Golang client API. This might include: + +```bash +go get -u git.dragse.it/anthrove/e621-sdk-go +``` + +## Usage + +```golang +package main + +import ( + "git.dragse.it/anthrove/e621-sdk-go/pkg/e621" + "log" +) + +func main() { + + ApiUser := "" + ApiKey := "" + e621User := "" + + client := e621.NewClient(ApiUser, ApiKey) + user, err := client.GetUserByName(e621User).Execute() + if err != nil { + log.Panic(err) + } + log.Printf("User ID of user %s: %d ", user.Name, user.ID) +} + +``` + +## Examples + +This SDK Supports three levels of usage, Low Level, Mid Level & High Level. + +All of those are available to you, you find some examples in the example directory. + +High Level: + +````go +package main + +import ( + "git.dragse.it/anthrove/e621-sdk-go/pkg/e621" + "log" +) + +func main() { + + ApiUser := "" + ApiKey := "" + e621User := "" + + client := e621.NewClient(ApiUser, ApiKey) + user, err := client.GetUserByName(e621User).Execute() + if err != nil { + log.Panic(err) + } + log.Printf("User ID of user %s: %d ", user.Name, user.ID) +} +```` + +Mid Level: + +````go +package main + +import ( + "git.dragse.it/anthrove/e621-sdk-go/pkg/e621/builder" + "git.dragse.it/anthrove/e621-sdk-go/pkg/e621/model" + "log" + "net/http" +) + +func main() { + // Define the request context with essential information. + requestContext := model.RequestContext{ + Client: http.Client{}, + Host: "https://e621.net", + UserAgent: "Go-e621-SDK (@username)", + Username: "API_USER", // Replace with your username + APIKey: "API_KEY", // Replace with your API key + } + + // Specify the username for retrieval. + username := "" // Replace with the desired username. + + // Call the GetUser function to retrieve the specified user. + userBuilder := builder.NewGetUserBuilder(requestContext) + user, err := userBuilder.SetUsername(username).Execute() + + if err != nil { + panic(err) + } + + log.Printf("User ID of user %s: %d ", user.Name, user.ID) + +} + +```` + +Low Level: + +````go +package main + +import ( + "git.dragse.it/anthrove/e621-sdk-go/pkg/e621/endpoints" + "git.dragse.it/anthrove/e621-sdk-go/pkg/e621/model" + "log" + "net/http" +) + +func main() { + // Define the request context with essential information. + requestContext := model.RequestContext{ + Client: http.Client{}, + Host: "https://e621.net", + UserAgent: "Go-e621-SDK (@username)", + Username: "API_USER", // Replace with your username + APIKey: "API_KEY", // Replace with your API key + } + + // Specify the username for retrieval. + username := "" // Replace with the desired username. + + // Call the GetUser function to retrieve the specified user. + user, err := endpoints.GetUser(requestContext, username) + + if err != nil { + panic(err) + } + + log.Printf("User ID of user %s: %d ", user.Name, user.ID) +} + +```` + +## Feature Completeness _Legend_ @@ -23,7 +166,7 @@ _High Level API_ | Area | Complete | Comment | |:-----------------|:------------------:|:--------| -| Authentication | :x: | | +| Authentication | :heavy_check_mark: | | | Posts | :heavy_minus_sign: | | | Tags | :heavy_minus_sign: | | | Tag aliases | :x: | | @@ -38,7 +181,7 @@ _Mid Level API_ | Area | Get | Set | |:-----------------|:------------------:|:----| -| Authentication | :x: | | +| Authentication | :heavy_check_mark: | | | Posts | :heavy_check_mark: | | | Tags | :heavy_check_mark: | | | Tag aliases | :x: | | @@ -47,13 +190,13 @@ _Mid Level API_ | Pools | :heavy_check_mark: | | | Users | :heavy_check_mark: | | | Favorites | :heavy_check_mark: | | -| DB export | :x: | +| DB export | :heavy_check_mark: | _Low Level API_ | Area | Get | Set | |:-----------------|:------------------:|:----| -| Authentication | :x: | | +| Authentication | :heavy_check_mark: | | | Posts | :heavy_check_mark: | | | Tags | :heavy_check_mark: | | | Tag aliases | :x: | | @@ -62,4 +205,4 @@ _Low Level API_ | Pools | :heavy_check_mark: | | | Users | :heavy_check_mark: | | | Favorites | :heavy_check_mark: | | -| DB export | :x: | | \ No newline at end of file +| DB export | :heavy_check_mark: | | \ No newline at end of file diff --git a/README.md.OLD b/README.md.OLD new file mode 100644 index 0000000..83d3ca3 --- /dev/null +++ b/README.md.OLD @@ -0,0 +1,65 @@ +# Go-e621 SDK + +An unofficial e621 SDK (Client) library to interact with **e621**, **e923** and **e6ai**. Maintained by the Anthrove Development Team. + +- Caching? +- Auto pagination + - sync + - async +- connected/inelegant calls +- more docs + +# Completeness + +_Legend_ + +| Symbol | Meaning | +|:------------------:|:----------------------| +| :x: | Not implemented | +| :heavy_minus_sign: | Partially implemented | +| :heavy_check_mark: | Fully implemented | + +_High Level API_ + +| Area | Complete | Comment | +|:-----------------|:------------------:|:--------| +| Authentication | :x: | | +| Posts | :heavy_minus_sign: | | +| Tags | :heavy_minus_sign: | | +| Tag aliases | :x: | | +| Tag implications | :x: | | +| Notes | :x: | | +| Pools | :x: | | +| Users | :heavy_check_mark: | | +| Favorites | :heavy_minus_sign: | | +| DB export | :x: | | + +_Mid Level API_ + +| Area | Get | Set | +|:-----------------|:------------------:|:----| +| Authentication | :x: | | +| Posts | :heavy_check_mark: | | +| Tags | :heavy_check_mark: | | +| Tag aliases | :x: | | +| Tag implications | :x: | | +| Notes | :heavy_check_mark: | | +| Pools | :heavy_check_mark: | | +| Users | :heavy_check_mark: | | +| Favorites | :heavy_check_mark: | | +| DB export | :x: | + +_Low Level API_ + +| Area | Get | Set | +|:-----------------|:------------------:|:----| +| Authentication | :x: | | +| Posts | :heavy_check_mark: | | +| Tags | :heavy_check_mark: | | +| Tag aliases | :x: | | +| Tag implications | :x: | | +| Notes | :heavy_check_mark: | | +| Pools | :heavy_check_mark: | | +| Users | :heavy_check_mark: | | +| Favorites | :heavy_check_mark: | | +| DB export | :x: | | \ No newline at end of file