Use autogenerated bindings for Lemmy 0.16.7
This commit is contained in:
parent
c19f44c304
commit
a355158d88
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
/test
|
/test
|
||||||
|
/gen
|
@ -9,13 +9,13 @@ Example:
|
|||||||
```go
|
```go
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
c, err := lemmy.New("https://lemmy.ml")
|
c, err := lemmy.New("https://lemmygrad.ml")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = c.Login(ctx, types.Login{
|
err = c.ClientLogin(ctx, types.Login{
|
||||||
UsernameOrEmail: "email@example.com",
|
UsernameOrEmail: "user@example.com",
|
||||||
Password: `TestPwd`,
|
Password: `TestPwd`,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
128
admin.go
128
admin.go
@ -1,128 +0,0 @@
|
|||||||
package lemmy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"go.arsenm.dev/go-lemmy/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *Client) AddAdmin(ctx context.Context, d types.AddAdmin) (*types.AddAdminResponse, error) {
|
|
||||||
ar := &types.AddAdminResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/admin/add", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) ApproveRegistrationApplication(ctx context.Context, d types.ApproveRegistrationApplication) (*types.RegistrationApplicationResponse, error) {
|
|
||||||
ar := &types.RegistrationApplicationResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/admin/registration_application/approve", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) UnreadRegistrationApplicationCount(ctx context.Context, d types.GetUnreadRegistrationApplicationCount) (*types.GetUnreadRegistrationApplicationCountResponse, error) {
|
|
||||||
ar := &types.GetUnreadRegistrationApplicationCountResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/admin/registration_application/count", nil, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) RegistrationApplications(ctx context.Context, d types.ListRegistrationApplications) (*types.ListRegistrationApplicationsResponse, error) {
|
|
||||||
ar := &types.ListRegistrationApplicationsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/admin/registration_application/list", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PurgeComment(ctx context.Context, d types.PurgeComment) (*types.PurgeItemResponse, error) {
|
|
||||||
ar := &types.PurgeItemResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/admin/purge/comment", nil, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PurgeCommunity(ctx context.Context, d types.PurgeCommunity) (*types.PurgeItemResponse, error) {
|
|
||||||
ar := &types.PurgeItemResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/admin/purge/community", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PurgePerson(ctx context.Context, d types.PurgePerson) (*types.PurgeItemResponse, error) {
|
|
||||||
ar := &types.PurgeItemResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/admin/purge/person", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PurgePost(ctx context.Context, d types.PurgePost) (*types.PurgeItemResponse, error) {
|
|
||||||
ar := &types.PurgeItemResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/admin/purge/post", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
61
cmd/gen/generator/routes.go
Normal file
61
cmd/gen/generator/routes.go
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
package generator
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/dave/jennifer/jen"
|
||||||
|
"go.arsenm.dev/go-lemmy/cmd/gen/parser"
|
||||||
|
)
|
||||||
|
|
||||||
|
type RoutesGenerator struct {
|
||||||
|
w io.Writer
|
||||||
|
PkgName string
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewRoutes(w io.Writer, pkgName string) *RoutesGenerator {
|
||||||
|
return &RoutesGenerator{w, pkgName}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *RoutesGenerator) Generate(routes []parser.Route, impls map[string]string) error {
|
||||||
|
f := jen.NewFile(r.PkgName)
|
||||||
|
for _, r := range routes {
|
||||||
|
resStruct := impls[r.Struct]
|
||||||
|
|
||||||
|
f.Func().Params(
|
||||||
|
jen.Id("c").Id("*Client"),
|
||||||
|
).Id(strings.TrimPrefix(r.Struct, "Get")).Params(
|
||||||
|
jen.Id("ctx").Qual("context", "Context"),
|
||||||
|
jen.Id("data").Qual("go.arsenm.dev/go-lemmy/types", r.Struct),
|
||||||
|
).Params(
|
||||||
|
jen.Op("*").Qual("go.arsenm.dev/go-lemmy/types", resStruct),
|
||||||
|
jen.Error(),
|
||||||
|
).BlockFunc(func(g *jen.Group) {
|
||||||
|
g.Id("resData").Op(":=").Op("&").Qual("go.arsenm.dev/go-lemmy/types", resStruct).Block()
|
||||||
|
|
||||||
|
var funcName string
|
||||||
|
switch r.Method {
|
||||||
|
case "GET":
|
||||||
|
funcName = "getReq"
|
||||||
|
default:
|
||||||
|
funcName = "req"
|
||||||
|
}
|
||||||
|
|
||||||
|
g.List(jen.Id("res"), jen.Err()).Op(":=").Id("c").Dot(funcName).Params(
|
||||||
|
jen.Id("ctx"), jen.Lit(r.Method), jen.Lit(r.Path), jen.Id("data"), jen.Op("&").Id("resData"),
|
||||||
|
)
|
||||||
|
g.If(jen.Err().Op("!=").Nil()).Block(
|
||||||
|
jen.Return(jen.Nil(), jen.Err()),
|
||||||
|
)
|
||||||
|
|
||||||
|
g.Err().Op("=").Id("resError").Params(jen.Id("res"), jen.Id("resData").Dot("LemmyResponse"))
|
||||||
|
g.If(jen.Err().Op("!=").Nil()).Block(
|
||||||
|
jen.Return(jen.Nil(), jen.Err()),
|
||||||
|
)
|
||||||
|
|
||||||
|
g.Return(jen.Id("resData"), jen.Nil())
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return f.Render(r.w)
|
||||||
|
}
|
57
cmd/gen/generator/struct.go
Normal file
57
cmd/gen/generator/struct.go
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
package generator
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"go.arsenm.dev/go-lemmy/cmd/gen/parser"
|
||||||
|
"github.com/dave/jennifer/jen"
|
||||||
|
)
|
||||||
|
|
||||||
|
type StructGenerator struct {
|
||||||
|
w io.Writer
|
||||||
|
PkgName string
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewStruct(w io.Writer, pkgName string) *StructGenerator {
|
||||||
|
return &StructGenerator{w, pkgName}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *StructGenerator) Generate(items []parser.Item) error {
|
||||||
|
f := jen.NewFile(s.PkgName)
|
||||||
|
for _, item := range items {
|
||||||
|
if item.Struct != nil {
|
||||||
|
st := item.Struct
|
||||||
|
f.Type().Id(st.Name).StructFunc(func(g *jen.Group) {
|
||||||
|
for _, field := range st.Fields {
|
||||||
|
var t jen.Code
|
||||||
|
if field.Type == "time.Time" {
|
||||||
|
t = jen.Qual("time", "Time")
|
||||||
|
} else {
|
||||||
|
t = jen.Id(field.Type)
|
||||||
|
}
|
||||||
|
|
||||||
|
g.Id(field.Name).Add(t).Tag(map[string]string{
|
||||||
|
"json": field.OrigName + ",omitempty",
|
||||||
|
"url": field.OrigName + ",omitempty",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.HasSuffix(st.Name, "Response") {
|
||||||
|
g.Id("LemmyResponse")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else if item.Enum != nil {
|
||||||
|
e := item.Enum
|
||||||
|
f.Type().Id(e.Name).String()
|
||||||
|
|
||||||
|
f.Const().DefsFunc(func(g *jen.Group) {
|
||||||
|
for _, member := range e.Members {
|
||||||
|
g.Id(e.Name + string(member)).Op("=").Lit(string(member))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return f.Render(s.w)
|
||||||
|
}
|
160
cmd/gen/main.go
Normal file
160
cmd/gen/main.go
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"flag"
|
||||||
|
"io/fs"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"go.arsenm.dev/go-lemmy/cmd/gen/generator"
|
||||||
|
"go.arsenm.dev/go-lemmy/cmd/gen/parser"
|
||||||
|
)
|
||||||
|
|
||||||
|
var implDirs = [...]string{
|
||||||
|
"crates/api_crud/src",
|
||||||
|
"crates/apub/src/api",
|
||||||
|
"crates/api/src",
|
||||||
|
}
|
||||||
|
|
||||||
|
var structDirs = [...]string{
|
||||||
|
"crates/api_common",
|
||||||
|
"crates/db_schema/src/source",
|
||||||
|
"crates/db_views_actor/src/structs.rs",
|
||||||
|
"crates/db_views/src/structs.rs",
|
||||||
|
"crates/db_views_moderator/src/structs.rs",
|
||||||
|
"crates/db_schema/src/aggregates/structs.rs",
|
||||||
|
"crates/db_schema/src/lib.rs",
|
||||||
|
"crates/websocket/src/lib.rs",
|
||||||
|
}
|
||||||
|
|
||||||
|
const routesFile = "src/api_routes.rs"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
lemmyDir := flag.String("lemmy-dir", "lemmy", "Path to Lemmy repository")
|
||||||
|
outDir := flag.String("out-dir", "out", "Directory to write output in")
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
|
baseStructDir := filepath.Join(*outDir, "types")
|
||||||
|
sp := parser.NewStruct(nil)
|
||||||
|
sp.Skip = []string{"LemmyContext"}
|
||||||
|
for _, structDir := range structDirs {
|
||||||
|
dir := filepath.Join(*lemmyDir, structDir)
|
||||||
|
err := filepath.WalkDir(dir, func(path string, d fs.DirEntry, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if d.IsDir() {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if filepath.Ext(path) != ".rs" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
name := d.Name()
|
||||||
|
if name == "context.rs" ||
|
||||||
|
name == "local_user_language.rs" ||
|
||||||
|
name == "chat_server.rs" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
fl, err := os.Open(path)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer fl.Close()
|
||||||
|
|
||||||
|
sp.Reset(fl)
|
||||||
|
fileStructs, err := sp.Parse()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
nameNoExt := strings.TrimSuffix(d.Name(), ".rs")
|
||||||
|
goFilePath := filepath.Join(baseStructDir, nameNoExt+".gen.go")
|
||||||
|
|
||||||
|
i := 1
|
||||||
|
_, err = os.Stat(goFilePath)
|
||||||
|
for err == nil {
|
||||||
|
goFilePath = filepath.Join(baseStructDir, nameNoExt+"."+strconv.Itoa(i)+".gen.go")
|
||||||
|
_, err = os.Stat(goFilePath)
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
|
||||||
|
outFl, err := os.Create(goFilePath)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer outFl.Close()
|
||||||
|
|
||||||
|
return generator.NewStruct(outFl, "types").Generate(fileStructs)
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ip := parser.NewImpl(nil)
|
||||||
|
impls := map[string]string{}
|
||||||
|
for _, implDir := range implDirs {
|
||||||
|
dir := filepath.Join(*lemmyDir, implDir)
|
||||||
|
err := filepath.WalkDir(dir, func(path string, d fs.DirEntry, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if d.IsDir() {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if filepath.Ext(path) != ".rs" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
fl, err := os.Open(path)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer fl.Close()
|
||||||
|
|
||||||
|
ip.Reset(fl)
|
||||||
|
implMap, err := ip.Parse()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for reqStruct, resStruct := range implMap {
|
||||||
|
impls[reqStruct] = resStruct
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rf, err := os.Open(filepath.Join(*lemmyDir, routesFile))
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer rf.Close()
|
||||||
|
|
||||||
|
rp := parser.NewRoutes(rf)
|
||||||
|
routes, err := rp.Parse()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
orf, err := os.Create(filepath.Join(*outDir, "routes.gen.go"))
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer orf.Close()
|
||||||
|
|
||||||
|
err = generator.NewRoutes(orf, "lemmy").Generate(routes, impls)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
62
cmd/gen/parser/impl.go
Normal file
62
cmd/gen/parser/impl.go
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
package parser
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"errors"
|
||||||
|
"io"
|
||||||
|
"regexp"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
implRegex = regexp.MustCompile(`impl Perform.* for (.+) {`)
|
||||||
|
respTypeRegex = regexp.MustCompile(`type Response = (.+);`)
|
||||||
|
)
|
||||||
|
|
||||||
|
var ErrNoType = errors.New("type line not found")
|
||||||
|
|
||||||
|
type ImplParser struct {
|
||||||
|
r *bufio.Reader
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewImpl(r io.Reader) *ImplParser {
|
||||||
|
return &ImplParser{
|
||||||
|
r: bufio.NewReader(r),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i *ImplParser) Parse() (map[string]string, error) {
|
||||||
|
out := map[string]string{}
|
||||||
|
for {
|
||||||
|
line, err := i.r.ReadString('\n')
|
||||||
|
if errors.Is(err, io.EOF) {
|
||||||
|
break
|
||||||
|
} else if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if implRegex.MatchString(line) {
|
||||||
|
im := implRegex.FindStringSubmatch(line)
|
||||||
|
|
||||||
|
line, err := i.r.ReadString('\n')
|
||||||
|
if errors.Is(err, io.EOF) {
|
||||||
|
return nil, io.ErrUnexpectedEOF
|
||||||
|
} else if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if !respTypeRegex.MatchString(line) {
|
||||||
|
return nil, ErrNoType
|
||||||
|
}
|
||||||
|
|
||||||
|
rtm := respTypeRegex.FindStringSubmatch(line)
|
||||||
|
|
||||||
|
out[im[1]] = rtm[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i *ImplParser) Reset(r io.Reader) {
|
||||||
|
i.r.Reset(r)
|
||||||
|
}
|
121
cmd/gen/parser/routes.go
Normal file
121
cmd/gen/parser/routes.go
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
package parser
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"errors"
|
||||||
|
"io"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
scopeRegex = regexp.MustCompile(`web::(?:scope|resource)\("(.*)"\)\n`)
|
||||||
|
routeRegex = regexp.MustCompile(`\.route\(\n?\s*(?:"(.*)",[ \n])?\s*web::(.+)\(\)\.to\(route_.*::<(.+)>`)
|
||||||
|
)
|
||||||
|
|
||||||
|
type Route struct {
|
||||||
|
Path string
|
||||||
|
Method string
|
||||||
|
Struct string
|
||||||
|
}
|
||||||
|
|
||||||
|
type RoutesParser struct {
|
||||||
|
r *bufio.Reader
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewRoutes(r io.Reader) *RoutesParser {
|
||||||
|
return &RoutesParser{
|
||||||
|
r: bufio.NewReader(r),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *RoutesParser) Parse() ([]Route, error) {
|
||||||
|
var out []Route
|
||||||
|
for {
|
||||||
|
line, err := r.r.ReadString('\n')
|
||||||
|
if errors.Is(err, io.EOF) {
|
||||||
|
break
|
||||||
|
} else if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if scopeRegex.MatchString(line) {
|
||||||
|
scopePath := scopeRegex.FindStringSubmatch(line)[1]
|
||||||
|
if scopePath == "/api/v3" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
routes, err := r.parseRoutes()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := range routes {
|
||||||
|
path, err := url.JoinPath(scopePath, routes[i].Path)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
routes[i].Path = path
|
||||||
|
}
|
||||||
|
|
||||||
|
out = append(out, routes...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *RoutesParser) parseRoutes() ([]Route, error) {
|
||||||
|
var out []Route
|
||||||
|
for {
|
||||||
|
line, err := r.r.ReadString('\n')
|
||||||
|
if errors.Is(err, io.EOF) {
|
||||||
|
if strings.TrimSpace(line)[:1] == ")" {
|
||||||
|
return out, nil
|
||||||
|
} else {
|
||||||
|
return nil, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
} else if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.TrimSpace(line) == ".route(" {
|
||||||
|
lines, err := r.readLines(3)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
line += lines
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.TrimSpace(line)[:1] == ")" {
|
||||||
|
return out, nil
|
||||||
|
} else if strings.HasPrefix(line, "//") {
|
||||||
|
continue
|
||||||
|
} else if !routeRegex.MatchString(line) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
sm := routeRegex.FindStringSubmatch(line)
|
||||||
|
out = append(out, Route{
|
||||||
|
Path: sm[1],
|
||||||
|
Method: strings.ToUpper(sm[2]),
|
||||||
|
Struct: sm[3],
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *RoutesParser) readLines(n int) (string, error) {
|
||||||
|
out := ""
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
line, err := r.r.ReadString('\n')
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
out += line
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *RoutesParser) Reset(rd io.Reader) {
|
||||||
|
r.r.Reset(rd)
|
||||||
|
}
|
259
cmd/gen/parser/struct.go
Normal file
259
cmd/gen/parser/struct.go
Normal file
@ -0,0 +1,259 @@
|
|||||||
|
package parser
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"errors"
|
||||||
|
"io"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"golang.org/x/exp/slices"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
structRegex = regexp.MustCompile(`pub struct (.+) \{`)
|
||||||
|
fieldRegex = regexp.MustCompile(`(?U) {1,1}([^ ]+): (.+),`)
|
||||||
|
|
||||||
|
enumRegex = regexp.MustCompile(`pub enum (.+) \{`)
|
||||||
|
memberRegex = regexp.MustCompile(` ([^ #]+),\n`)
|
||||||
|
)
|
||||||
|
|
||||||
|
type Item struct {
|
||||||
|
Struct *Struct
|
||||||
|
Enum *Enum
|
||||||
|
}
|
||||||
|
|
||||||
|
type Struct struct {
|
||||||
|
Name string
|
||||||
|
Fields []Field
|
||||||
|
}
|
||||||
|
|
||||||
|
type Field struct {
|
||||||
|
OrigName string
|
||||||
|
Name string
|
||||||
|
Type string
|
||||||
|
}
|
||||||
|
|
||||||
|
type Enum struct {
|
||||||
|
Name string
|
||||||
|
Members []Member
|
||||||
|
}
|
||||||
|
|
||||||
|
type Member string
|
||||||
|
|
||||||
|
type StructParser struct {
|
||||||
|
r *bufio.Reader
|
||||||
|
Skip []string
|
||||||
|
TransformName func(string) string
|
||||||
|
TransformType func(string) string
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewStruct(r io.Reader) *StructParser {
|
||||||
|
return &StructParser{
|
||||||
|
r: bufio.NewReader(r),
|
||||||
|
TransformName: TransformNameGo,
|
||||||
|
TransformType: TransformTypeGo,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *StructParser) Parse() ([]Item, error) {
|
||||||
|
var out []Item
|
||||||
|
for {
|
||||||
|
line, err := s.r.ReadString('\n')
|
||||||
|
if errors.Is(err, io.EOF) {
|
||||||
|
break
|
||||||
|
} else if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if structRegex.MatchString(line) {
|
||||||
|
structName := structRegex.FindStringSubmatch(line)[1]
|
||||||
|
if slices.Contains(s.Skip, structName) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the line ends with "}", this is a struct with no fields
|
||||||
|
if strings.HasSuffix(line, "}\n") {
|
||||||
|
out = append(out, Item{
|
||||||
|
Struct: &Struct{
|
||||||
|
Name: structRegex.FindStringSubmatch(line)[1],
|
||||||
|
},
|
||||||
|
})
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
fields, err := s.parseStructFields()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
out = append(out, Item{
|
||||||
|
Struct: &Struct{
|
||||||
|
Name: structName,
|
||||||
|
Fields: fields,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
} else if enumRegex.MatchString(line) {
|
||||||
|
enumName := enumRegex.FindStringSubmatch(line)[1]
|
||||||
|
if slices.Contains(s.Skip, enumName) {
|
||||||
|
continue
|
||||||
|
|
||||||
|
}
|
||||||
|
members, err := s.parseEnumMemebers()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
out = append(out, Item{
|
||||||
|
Enum: &Enum{
|
||||||
|
Name: enumName,
|
||||||
|
Members: members,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *StructParser) parseStructFields() ([]Field, error) {
|
||||||
|
var out []Field
|
||||||
|
for {
|
||||||
|
line, err := s.r.ReadString('\n')
|
||||||
|
if errors.Is(err, io.EOF) {
|
||||||
|
if strings.HasPrefix(line, "}") {
|
||||||
|
return out, nil
|
||||||
|
} else {
|
||||||
|
return nil, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
} else if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.HasPrefix(line, "}") {
|
||||||
|
return out, nil
|
||||||
|
} else if strings.HasPrefix(line, "//") {
|
||||||
|
continue
|
||||||
|
} else if !fieldRegex.MatchString(line) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
sm := fieldRegex.FindStringSubmatch(line)
|
||||||
|
if sm[1] == "Example" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
out = append(out, Field{
|
||||||
|
OrigName: sm[1],
|
||||||
|
Name: s.TransformName(sm[1]),
|
||||||
|
Type: s.TransformType(sm[2]),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *StructParser) parseEnumMemebers() ([]Member, error) {
|
||||||
|
var out []Member
|
||||||
|
for {
|
||||||
|
line, err := s.r.ReadString('\n')
|
||||||
|
if errors.Is(err, io.EOF) {
|
||||||
|
if strings.HasPrefix(line, "}") {
|
||||||
|
return out, nil
|
||||||
|
} else {
|
||||||
|
return nil, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
} else if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.HasPrefix(line, "}") {
|
||||||
|
return out, nil
|
||||||
|
} else if strings.HasPrefix(line, "//") {
|
||||||
|
continue
|
||||||
|
} else if !memberRegex.MatchString(line) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
sm := memberRegex.FindStringSubmatch(line)
|
||||||
|
|
||||||
|
out = append(out, Member(sm[1]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TransformTypeGo transforms Rust types to Go
|
||||||
|
//
|
||||||
|
// Example: TransformTypeGo("Option<Vec<i64>>") // returns "Optional[[]int64]"
|
||||||
|
func TransformTypeGo(t string) string {
|
||||||
|
prefix := ""
|
||||||
|
suffix := ""
|
||||||
|
|
||||||
|
for strings.HasPrefix(t, "Option<") {
|
||||||
|
t = strings.TrimPrefix(strings.TrimSuffix(t, ">"), "Option<")
|
||||||
|
prefix += "Optional["
|
||||||
|
suffix += "]"
|
||||||
|
}
|
||||||
|
|
||||||
|
for strings.HasPrefix(t, "Vec<") {
|
||||||
|
t = strings.TrimPrefix(strings.TrimSuffix(t, ">"), "Vec<")
|
||||||
|
prefix += "[]"
|
||||||
|
}
|
||||||
|
|
||||||
|
for strings.HasPrefix(t, "Sensitive<") {
|
||||||
|
t = strings.TrimPrefix(strings.TrimSuffix(t, ">"), "Sensitive<")
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.HasSuffix(t, "Id") {
|
||||||
|
t = "int"
|
||||||
|
}
|
||||||
|
|
||||||
|
switch t {
|
||||||
|
case "String", "Url", "DbUrl", "Ltree":
|
||||||
|
t = "string"
|
||||||
|
case "usize":
|
||||||
|
t = "uint"
|
||||||
|
case "i64":
|
||||||
|
t = "int64"
|
||||||
|
case "i32":
|
||||||
|
t = "int32"
|
||||||
|
case "i16":
|
||||||
|
t = "int16"
|
||||||
|
case "i8":
|
||||||
|
t = "int8"
|
||||||
|
case "chrono::NaiveDateTime":
|
||||||
|
return "time.Time"
|
||||||
|
case "Value":
|
||||||
|
return "any"
|
||||||
|
}
|
||||||
|
|
||||||
|
return prefix + t + suffix
|
||||||
|
}
|
||||||
|
|
||||||
|
// TransformNameGo transforms conventional Rust naming to
|
||||||
|
// conventional Go naming.
|
||||||
|
//
|
||||||
|
// Example: TransformNameGo("post_id") // returns "PostID"
|
||||||
|
func TransformNameGo(s string) string {
|
||||||
|
out := ""
|
||||||
|
|
||||||
|
splitName := strings.Split(s, "_")
|
||||||
|
for _, segment := range splitName {
|
||||||
|
switch segment {
|
||||||
|
case "id":
|
||||||
|
out += "ID"
|
||||||
|
case "url":
|
||||||
|
out += "URL"
|
||||||
|
case "nsfw":
|
||||||
|
out += "NSFW"
|
||||||
|
default:
|
||||||
|
if len(segment) == 0 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
out += strings.ToUpper(segment[:1]) + segment[1:]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *StructParser) Reset(r io.Reader) {
|
||||||
|
s.r.Reset(r)
|
||||||
|
}
|
49
cmd/gen/parser/struct_test.go
Normal file
49
cmd/gen/parser/struct_test.go
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
package parser
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestTransformNameGo(t *testing.T) {
|
||||||
|
type testcase struct {
|
||||||
|
name string
|
||||||
|
expect string
|
||||||
|
}
|
||||||
|
|
||||||
|
cases := []testcase{
|
||||||
|
{"post_id", "PostID"},
|
||||||
|
{"nsfw", "NSFW"},
|
||||||
|
{"test_url", "TestURL"},
|
||||||
|
{"some_complex_name_with_id_and_nsfw_and_url", "SomeComplexNameWithIDAndNSFWAndURL"},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, testcase := range cases {
|
||||||
|
t.Run(testcase.name, func(t *testing.T) {
|
||||||
|
got := TransformNameGo(testcase.name)
|
||||||
|
if got != testcase.expect {
|
||||||
|
t.Errorf("Expected %s, got %s", testcase.expect, got)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestTransformTypeGo(t *testing.T) {
|
||||||
|
type testcase struct {
|
||||||
|
typeName string
|
||||||
|
expect string
|
||||||
|
}
|
||||||
|
|
||||||
|
cases := []testcase{
|
||||||
|
{"i16", "int16"},
|
||||||
|
{"Option<Vec<i64>>", "Optional[[]int64]"},
|
||||||
|
{"Url", "string"},
|
||||||
|
{"Sensitive<String>", "string"},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, testcase := range cases {
|
||||||
|
t.Run(testcase.typeName, func(t *testing.T) {
|
||||||
|
got := TransformTypeGo(testcase.typeName)
|
||||||
|
if got != testcase.expect {
|
||||||
|
t.Errorf("Expected %s, got %s", testcase.expect, got)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
158
comment.go
158
comment.go
@ -1,158 +0,0 @@
|
|||||||
package lemmy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"go.arsenm.dev/go-lemmy/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *Client) Comments(ctx context.Context, d types.GetComments) (*types.GetCommentsResponse, error) {
|
|
||||||
ar := &types.GetCommentsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/comment/list", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) CreateComment(ctx context.Context, d types.CreateComment) (*types.CommentResponse, error) {
|
|
||||||
ar := &types.CommentResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/comment", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) CreateCommentReport(ctx context.Context, d types.CreateCommentReport) (*types.CommentReportResponse, error) {
|
|
||||||
ar := &types.CommentReportResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/comment/report", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) DeleteComment(ctx context.Context, d types.DeleteComment) (*types.CommentResponse, error) {
|
|
||||||
ar := &types.CommentResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/comment/delete", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) RemoveComment(ctx context.Context, d types.RemoveComment) (*types.CommentResponse, error) {
|
|
||||||
ar := &types.CommentResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/comment/remove", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) EditComment(ctx context.Context, d types.EditComment) (*types.CommentResponse, error) {
|
|
||||||
ar := &types.CommentResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/comment", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) LikeComment(ctx context.Context, d types.CreateCommentLike) (*types.CommentResponse, error) {
|
|
||||||
ar := &types.CommentResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/comment/like", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) CommentReports(ctx context.Context, d types.ListCommentReports) (*types.ListCommentReportsResponse, error) {
|
|
||||||
ar := &types.ListCommentReportsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/comments/report/list", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) MarkCommentReplyAsRead(ctx context.Context, d types.MarkCommentReplyAsRead) (*types.CommentResponse, error) {
|
|
||||||
ar := &types.CommentResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/comment/mark_as_read", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) SaveComment(ctx context.Context, d types.SaveComment) (*types.CommentResponse, error) {
|
|
||||||
ar := &types.CommentResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/comment/save", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
173
community.go
173
community.go
@ -1,173 +0,0 @@
|
|||||||
package lemmy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"go.arsenm.dev/go-lemmy/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *Client) AddModToCommunity(ctx context.Context, d types.AddModToCommunity) (*types.AddModToCommunityResponse, error) {
|
|
||||||
ar := &types.AddModToCommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/community/mod", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) BanFromCommunity(ctx context.Context, d types.BanFromCommunity) (*types.BanFromCommunityResponse, error) {
|
|
||||||
ar := &types.BanFromCommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/community/ban_user", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) BlockCommunity(ctx context.Context, d types.BlockCommunity) (*types.BlockCommunityResponse, error) {
|
|
||||||
ar := &types.BlockCommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/community/block", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) CreateCommunity(ctx context.Context, d types.CreateCommunity) (*types.CommunityResponse, error) {
|
|
||||||
ar := &types.CommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/community", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) EditCommunity(ctx context.Context, d types.EditCommunity) (*types.CommunityResponse, error) {
|
|
||||||
ar := &types.CommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/community", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) FollowCommunity(ctx context.Context, d types.FollowCommunity) (*types.CommunityResponse, error) {
|
|
||||||
ar := &types.CommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/community/follow", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) DeleteCommunity(ctx context.Context, d types.DeleteCommunity) (*types.CommunityResponse, error) {
|
|
||||||
ar := &types.CommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/community/delete", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) RemoveCommunity(ctx context.Context, d types.RemoveCommunity) (*types.CommunityResponse, error) {
|
|
||||||
ar := &types.CommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/community/remove", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Community(ctx context.Context, d types.GetCommunity) (*types.GetCommunityResponse, error) {
|
|
||||||
ar := &types.GetCommunityResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/community", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Communities(ctx context.Context, d types.ListCommunities) (*types.ListCommunitiesResponse, error) {
|
|
||||||
ar := &types.ListCommunitiesResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/community/list", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) TransferCommunity(ctx context.Context, d types.TransferCommunity) (*types.GetCommunityResponse, error) {
|
|
||||||
ar := &types.GetCommunityResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/community/transfer", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
2
go.mod
2
go.mod
@ -3,6 +3,8 @@ module go.arsenm.dev/go-lemmy
|
|||||||
go 1.19
|
go 1.19
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/dave/jennifer v1.6.0
|
||||||
github.com/google/go-querystring v1.1.0
|
github.com/google/go-querystring v1.1.0
|
||||||
github.com/gorilla/websocket v1.4.2
|
github.com/gorilla/websocket v1.4.2
|
||||||
|
golang.org/x/exp v0.0.0-20230105000112-eab7a2c85304
|
||||||
)
|
)
|
||||||
|
6
go.sum
6
go.sum
@ -1,7 +1,11 @@
|
|||||||
github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
|
github.com/dave/jennifer v1.6.0 h1:MQ/6emI2xM7wt0tJzJzyUik2Q3Tcn2eE0vtYgh4GPVI=
|
||||||
|
github.com/dave/jennifer v1.6.0/go.mod h1:AxTG893FiZKqxy3FP1kL80VMshSMuz2G+EgvszgGRnk=
|
||||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
|
||||||
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
|
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
|
||||||
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
|
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
|
||||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
||||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||||
|
golang.org/x/exp v0.0.0-20230105000112-eab7a2c85304 h1:YUqj+XKtfrn3kXjFIiZ8jwKROD7ioAOOHUuo3ZZ2opc=
|
||||||
|
golang.org/x/exp v0.0.0-20230105000112-eab7a2c85304/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
15
lemmy.go
15
lemmy.go
@ -36,23 +36,16 @@ func NewWithClient(baseURL string, client *http.Client) (*Client, error) {
|
|||||||
return &Client{baseURL: u, client: client}, nil
|
return &Client{baseURL: u, client: client}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Login logs in to Lemmy by sending an HTTP request to the
|
// ClientLogin logs in to Lemmy by sending an HTTP request to the
|
||||||
// login endpoint. It stores the returned token in the client
|
// login endpoint. It stores the returned token in the client
|
||||||
// for future use.
|
// for future use.
|
||||||
func (c *Client) Login(ctx context.Context, l types.Login) error {
|
func (c *Client) ClientLogin(ctx context.Context, l types.Login) error {
|
||||||
var lr types.LoginResponse
|
lr, err := c.Login(ctx, l)
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/login", l, &lr)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = resError(res, lr.LemmyResponse)
|
c.Token = lr.Jwt.MustValue()
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
c.Token = lr.JWT.MustValue()
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
301
person.go
301
person.go
@ -1,301 +0,0 @@
|
|||||||
package lemmy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"go.arsenm.dev/go-lemmy/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *Client) BanPerson(ctx context.Context, d types.BanPerson) (*types.BanPersonResponse, error) {
|
|
||||||
ar := &types.BanPersonResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/ban", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) BlockPerson(ctx context.Context, d types.BlockPerson) (*types.BlockPersonResponse, error) {
|
|
||||||
ar := &types.BlockPersonResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/block", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) ChangePassword(ctx context.Context, d types.ChangePassword) (*types.LoginResponse, error) {
|
|
||||||
ar := &types.LoginResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/user/change_password", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
c.Token = ar.JWT.MustValue()
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) DeleteAccount(ctx context.Context, d types.DeleteAccount) (*types.DeleteAccountResponse, error) {
|
|
||||||
ar := &types.DeleteAccountResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/delete_account", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) BannedPersons(ctx context.Context, d types.GetBannedPersons) (*types.BannedPersonsResponse, error) {
|
|
||||||
ar := &types.BannedPersonsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/user/banned", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Captcha(ctx context.Context, d types.GetCaptcha) (*types.CaptchaResponse, error) {
|
|
||||||
ar := &types.CaptchaResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/user/get_captcha", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PersonDetails(ctx context.Context, d types.GetPersonDetails) (*types.GetPersonDetailsResponse, error) {
|
|
||||||
ar := &types.GetPersonDetailsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/user", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PersonMentions(ctx context.Context, d types.GetPersonMentions) (*types.GetPersonMentionsResponse, error) {
|
|
||||||
ar := &types.GetPersonMentionsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/user/mention", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Replies(ctx context.Context, d types.GetReplies) (*types.GetRepliesResponse, error) {
|
|
||||||
ar := &types.GetRepliesResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/user/replies", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) ReportCount(ctx context.Context, d types.GetReportCount) (*types.GetReportCountResponse, error) {
|
|
||||||
ar := &types.GetReportCountResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/user/report_count", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) UnreadCount(ctx context.Context, d types.GetUnreadCount) (*types.GetUnreadCountResponse, error) {
|
|
||||||
ar := &types.GetUnreadCountResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/user/unread_count", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) LeaveAdmin(ctx context.Context, d types.LeaveAdmin) (*types.GetSiteResponse, error) {
|
|
||||||
ar := &types.GetSiteResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/leave_admin", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) MarkAllAsRead(ctx context.Context, d types.MarkAllAsRead) (*types.GetRepliesResponse, error) {
|
|
||||||
ar := &types.GetRepliesResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/mark_all_as_read", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) MarkPersonMentionAsRead(ctx context.Context, d types.MarkPersonMentionAsRead) (*types.PersonMentionResponse, error) {
|
|
||||||
ar := &types.PersonMentionResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/mention/mark_as_read", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PasswordChange(ctx context.Context, d types.PasswordChange) (*types.LoginResponse, error) {
|
|
||||||
ar := &types.LoginResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/password_change", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
c.Token = ar.JWT.MustValue()
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PasswordReset(ctx context.Context, d types.PasswordReset) (*types.PasswordResetResponse, error) {
|
|
||||||
ar := &types.PasswordResetResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/password_reset", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Register(ctx context.Context, d types.Register) (*types.LoginResponse, error) {
|
|
||||||
ar := &types.LoginResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/user/register", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
c.Token = ar.JWT.MustValue()
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) SaveUserSettings(ctx context.Context, d types.SaveUserSettings) (*types.LoginResponse, error) {
|
|
||||||
ar := &types.LoginResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/user/save_user_settings", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
c.Token = ar.JWT.MustValue()
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) VerifyEmail(ctx context.Context, d types.VerifyEmail) (*types.VerifyEmailResponse, error) {
|
|
||||||
ar := &types.VerifyEmailResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/user/verify_email", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
233
post.go
233
post.go
@ -1,233 +0,0 @@
|
|||||||
package lemmy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"go.arsenm.dev/go-lemmy/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *Client) CreatePost(ctx context.Context, d types.CreatePost) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/post", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) EditPost(ctx context.Context, d types.EditPost) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/post", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Post(ctx context.Context, d types.GetPost) (*types.GetPostResponse, error) {
|
|
||||||
ar := &types.GetPostResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/post", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) CreatePostReport(ctx context.Context, d types.CreatePostReport) (*types.PostReportResponse, error) {
|
|
||||||
ar := &types.PostReportResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/post/report", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) DeletePost(ctx context.Context, d types.DeletePost) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/post/delete", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) RemovePost(ctx context.Context, d types.RemovePost) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/post/remove", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Posts(ctx context.Context, d types.GetPosts) (*types.GetPostsResponse, error) {
|
|
||||||
ar := &types.GetPostsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/post/list", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) SiteMetadata(ctx context.Context, d types.GetSiteMetadata) (*types.GetSiteMetadataResponse, error) {
|
|
||||||
ar := &types.GetSiteMetadataResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/post/site_metadata", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) LikePost(ctx context.Context, d types.CreatePostLike) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/post/like", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PostReports(ctx context.Context, d types.ListPostReports) (*types.ListPostReportsResponse, error) {
|
|
||||||
ar := &types.ListPostReportsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/post/report/list", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) LockPost(ctx context.Context, d types.LockPost) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/post/lock", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) MarkPostAsRead(ctx context.Context, d types.MarkPostAsRead) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/post/mark_as_read", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) ResolvePostReport(ctx context.Context, d types.ResolvePostReport) (*types.PostReportResponse, error) {
|
|
||||||
ar := &types.PostReportResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/post/report/resolve", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) SavePost(ctx context.Context, d types.SavePost) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/post/save", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) StickyPost(ctx context.Context, d types.StickyPost) (*types.PostResponse, error) {
|
|
||||||
ar := &types.PostResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/post/sticky", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
@ -1,128 +0,0 @@
|
|||||||
package lemmy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"go.arsenm.dev/go-lemmy/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *Client) CreatePrivateMessage(ctx context.Context, d types.CreatePrivateMessage) (*types.PrivateMessageResponse, error) {
|
|
||||||
ar := &types.PrivateMessageResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/private_message", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) CreatePrivateMessageReport(ctx context.Context, d types.CreatePrivateMessageReport) (*types.PrivateMessageReportResponse, error) {
|
|
||||||
ar := &types.PrivateMessageReportResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/private_message/report", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) DeletePrivateMessage(ctx context.Context, d types.DeletePrivateMessage) (*types.PrivateMessageResponse, error) {
|
|
||||||
ar := &types.PrivateMessageResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/private_message/delete", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) EditPrivateMessage(ctx context.Context, d types.EditPrivateMessage) (*types.PrivateMessageResponse, error) {
|
|
||||||
ar := &types.PrivateMessageResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/private_message", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PrivateMessages(ctx context.Context, d types.GetPrivateMessages) (*types.PrivateMessagesResponse, error) {
|
|
||||||
ar := &types.PrivateMessagesResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/private_message/list", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) PrivateMessageReports(ctx context.Context, d types.ListPrivateMessageReports) (*types.ListPrivateMessageReportsResponse, error) {
|
|
||||||
ar := &types.ListPrivateMessageReportsResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/private_message/report/list", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) MarkPrivateMessageAsRead(ctx context.Context, d types.MarkPrivateMessageAsRead) (*types.PrivateMessageResponse, error) {
|
|
||||||
ar := &types.PrivateMessageResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/private_message/mark_as_read", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) ResolvePrivateMessageReport(ctx context.Context, d types.ResolvePrivateMessageReport) (*types.PrivateMessageReportResponse, error) {
|
|
||||||
ar := &types.PrivateMessageReportResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/private_message/report/resolve", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
967
routes.gen.go
Normal file
967
routes.gen.go
Normal file
@ -0,0 +1,967 @@
|
|||||||
|
package lemmy
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
types "go.arsenm.dev/go-lemmy/types"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (c *Client) Site(ctx context.Context, data types.GetSite) (*types.GetSiteResponse, error) {
|
||||||
|
resData := &types.GetSiteResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/site", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreateSite(ctx context.Context, data types.CreateSite) (*types.SiteResponse, error) {
|
||||||
|
resData := &types.SiteResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/site", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) EditSite(ctx context.Context, data types.EditSite) (*types.SiteResponse, error) {
|
||||||
|
resData := &types.SiteResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/site", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) SiteConfig(ctx context.Context, data types.GetSiteConfig) (*types.GetSiteConfigResponse, error) {
|
||||||
|
resData := &types.GetSiteConfigResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/site/config", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) SaveSiteConfig(ctx context.Context, data types.SaveSiteConfig) (*types.GetSiteConfigResponse, error) {
|
||||||
|
resData := &types.GetSiteConfigResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/site/config", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Modlog(ctx context.Context, data types.GetModlog) (*types.GetModlogResponse, error) {
|
||||||
|
resData := &types.GetModlogResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/modlog", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Search(ctx context.Context, data types.Search) (*types.SearchResponse, error) {
|
||||||
|
resData := &types.SearchResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/search", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ResolveObject(ctx context.Context, data types.ResolveObject) (*types.ResolveObjectResponse, error) {
|
||||||
|
resData := &types.ResolveObjectResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/resolve_object", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreateCommunity(ctx context.Context, data types.CreateCommunity) (*types.CommunityResponse, error) {
|
||||||
|
resData := &types.CommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Community(ctx context.Context, data types.GetCommunity) (*types.GetCommunityResponse, error) {
|
||||||
|
resData := &types.GetCommunityResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/community", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) EditCommunity(ctx context.Context, data types.EditCommunity) (*types.CommunityResponse, error) {
|
||||||
|
resData := &types.CommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/community", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) HideCommunity(ctx context.Context, data types.HideCommunity) (*types.CommunityResponse, error) {
|
||||||
|
resData := &types.CommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/community/hide", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ListCommunities(ctx context.Context, data types.ListCommunities) (*types.ListCommunitiesResponse, error) {
|
||||||
|
resData := &types.ListCommunitiesResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/community/list", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) FollowCommunity(ctx context.Context, data types.FollowCommunity) (*types.CommunityResponse, error) {
|
||||||
|
resData := &types.CommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/follow", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) BlockCommunity(ctx context.Context, data types.BlockCommunity) (*types.BlockCommunityResponse, error) {
|
||||||
|
resData := &types.BlockCommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/block", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) DeleteCommunity(ctx context.Context, data types.DeleteCommunity) (*types.CommunityResponse, error) {
|
||||||
|
resData := &types.CommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/delete", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) RemoveCommunity(ctx context.Context, data types.RemoveCommunity) (*types.CommunityResponse, error) {
|
||||||
|
resData := &types.CommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/remove", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) TransferCommunity(ctx context.Context, data types.TransferCommunity) (*types.GetCommunityResponse, error) {
|
||||||
|
resData := &types.GetCommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/transfer", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) BanFromCommunity(ctx context.Context, data types.BanFromCommunity) (*types.BanFromCommunityResponse, error) {
|
||||||
|
resData := &types.BanFromCommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/ban_user", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) AddModToCommunity(ctx context.Context, data types.AddModToCommunity) (*types.AddModToCommunityResponse, error) {
|
||||||
|
resData := &types.AddModToCommunityResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/mod", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CommunityJoin(ctx context.Context, data types.CommunityJoin) (*types.CommunityJoinResponse, error) {
|
||||||
|
resData := &types.CommunityJoinResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/join", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ModJoin(ctx context.Context, data types.ModJoin) (*types.ModJoinResponse, error) {
|
||||||
|
resData := &types.ModJoinResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/community/mod/join", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreatePost(ctx context.Context, data types.CreatePost) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Post(ctx context.Context, data types.GetPost) (*types.GetPostResponse, error) {
|
||||||
|
resData := &types.GetPostResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/post", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) EditPost(ctx context.Context, data types.EditPost) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/post", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) DeletePost(ctx context.Context, data types.DeletePost) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post/delete", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) RemovePost(ctx context.Context, data types.RemovePost) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post/remove", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) MarkPostAsRead(ctx context.Context, data types.MarkPostAsRead) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post/mark_as_read", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) LockPost(ctx context.Context, data types.LockPost) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post/lock", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) StickyPost(ctx context.Context, data types.StickyPost) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post/sticky", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Posts(ctx context.Context, data types.GetPosts) (*types.GetPostsResponse, error) {
|
||||||
|
resData := &types.GetPostsResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/post/list", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreatePostLike(ctx context.Context, data types.CreatePostLike) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post/like", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) SavePost(ctx context.Context, data types.SavePost) (*types.PostResponse, error) {
|
||||||
|
resData := &types.PostResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/post/save", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) PostJoin(ctx context.Context, data types.PostJoin) (*types.PostJoinResponse, error) {
|
||||||
|
resData := &types.PostJoinResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post/join", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreatePostReport(ctx context.Context, data types.CreatePostReport) (*types.PostReportResponse, error) {
|
||||||
|
resData := &types.PostReportResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/post/report", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ResolvePostReport(ctx context.Context, data types.ResolvePostReport) (*types.PostReportResponse, error) {
|
||||||
|
resData := &types.PostReportResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/post/report/resolve", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ListPostReports(ctx context.Context, data types.ListPostReports) (*types.ListPostReportsResponse, error) {
|
||||||
|
resData := &types.ListPostReportsResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/post/report/list", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) SiteMetadata(ctx context.Context, data types.GetSiteMetadata) (*types.GetSiteMetadataResponse, error) {
|
||||||
|
resData := &types.GetSiteMetadataResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/post/site_metadata", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreateComment(ctx context.Context, data types.CreateComment) (*types.CommentResponse, error) {
|
||||||
|
resData := &types.CommentResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/comment", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Comment(ctx context.Context, data types.GetComment) (*types.CommentResponse, error) {
|
||||||
|
resData := &types.CommentResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/comment", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) EditComment(ctx context.Context, data types.EditComment) (*types.CommentResponse, error) {
|
||||||
|
resData := &types.CommentResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/comment", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) DeleteComment(ctx context.Context, data types.DeleteComment) (*types.CommentResponse, error) {
|
||||||
|
resData := &types.CommentResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/comment/delete", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) RemoveComment(ctx context.Context, data types.RemoveComment) (*types.CommentResponse, error) {
|
||||||
|
resData := &types.CommentResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/comment/remove", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) MarkCommentAsRead(ctx context.Context, data types.MarkCommentAsRead) (*types.CommentResponse, error) {
|
||||||
|
resData := &types.CommentResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/comment/mark_as_read", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreateCommentLike(ctx context.Context, data types.CreateCommentLike) (*types.CommentResponse, error) {
|
||||||
|
resData := &types.CommentResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/comment/like", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) SaveComment(ctx context.Context, data types.SaveComment) (*types.CommentResponse, error) {
|
||||||
|
resData := &types.CommentResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/comment/save", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Comments(ctx context.Context, data types.GetComments) (*types.GetCommentsResponse, error) {
|
||||||
|
resData := &types.GetCommentsResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/comment/list", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreateCommentReport(ctx context.Context, data types.CreateCommentReport) (*types.CommentReportResponse, error) {
|
||||||
|
resData := &types.CommentReportResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/comment/report", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ResolveCommentReport(ctx context.Context, data types.ResolveCommentReport) (*types.CommentReportResponse, error) {
|
||||||
|
resData := &types.CommentReportResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/comment/report/resolve", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ListCommentReports(ctx context.Context, data types.ListCommentReports) (*types.ListCommentReportsResponse, error) {
|
||||||
|
resData := &types.ListCommentReportsResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/comment/report/list", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) PrivateMessages(ctx context.Context, data types.GetPrivateMessages) (*types.PrivateMessagesResponse, error) {
|
||||||
|
resData := &types.PrivateMessagesResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/private_message/list", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) CreatePrivateMessage(ctx context.Context, data types.CreatePrivateMessage) (*types.PrivateMessageResponse, error) {
|
||||||
|
resData := &types.PrivateMessageResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/private_message", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) EditPrivateMessage(ctx context.Context, data types.EditPrivateMessage) (*types.PrivateMessageResponse, error) {
|
||||||
|
resData := &types.PrivateMessageResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/private_message", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) DeletePrivateMessage(ctx context.Context, data types.DeletePrivateMessage) (*types.PrivateMessageResponse, error) {
|
||||||
|
resData := &types.PrivateMessageResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/private_message/delete", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) MarkPrivateMessageAsRead(ctx context.Context, data types.MarkPrivateMessageAsRead) (*types.PrivateMessageResponse, error) {
|
||||||
|
resData := &types.PrivateMessageResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/private_message/mark_as_read", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Register(ctx context.Context, data types.Register) (*types.LoginResponse, error) {
|
||||||
|
resData := &types.LoginResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/register", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Captcha(ctx context.Context, data types.GetCaptcha) (*types.GetCaptchaResponse, error) {
|
||||||
|
resData := &types.GetCaptchaResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/user/get_captcha", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) PersonDetails(ctx context.Context, data types.GetPersonDetails) (*types.GetPersonDetailsResponse, error) {
|
||||||
|
resData := &types.GetPersonDetailsResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/user", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) PersonMentions(ctx context.Context, data types.GetPersonMentions) (*types.GetPersonMentionsResponse, error) {
|
||||||
|
resData := &types.GetPersonMentionsResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/user/mention", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) MarkPersonMentionAsRead(ctx context.Context, data types.MarkPersonMentionAsRead) (*types.PersonMentionResponse, error) {
|
||||||
|
resData := &types.PersonMentionResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/mention/mark_as_read", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Replies(ctx context.Context, data types.GetReplies) (*types.GetRepliesResponse, error) {
|
||||||
|
resData := &types.GetRepliesResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/user/replies", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) UserJoin(ctx context.Context, data types.UserJoin) (*types.UserJoinResponse, error) {
|
||||||
|
resData := &types.UserJoinResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/join", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) BanPerson(ctx context.Context, data types.BanPerson) (*types.BanPersonResponse, error) {
|
||||||
|
resData := &types.BanPersonResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/ban", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) BannedPersons(ctx context.Context, data types.GetBannedPersons) (*types.BannedPersonsResponse, error) {
|
||||||
|
resData := &types.BannedPersonsResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/user/banned", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) BlockPerson(ctx context.Context, data types.BlockPerson) (*types.BlockPersonResponse, error) {
|
||||||
|
resData := &types.BlockPersonResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/block", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) Login(ctx context.Context, data types.Login) (*types.LoginResponse, error) {
|
||||||
|
resData := &types.LoginResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/login", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) DeleteAccount(ctx context.Context, data types.DeleteAccount) (*types.DeleteAccountResponse, error) {
|
||||||
|
resData := &types.DeleteAccountResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/delete_account", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) PasswordReset(ctx context.Context, data types.PasswordReset) (*types.PasswordResetResponse, error) {
|
||||||
|
resData := &types.PasswordResetResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/password_reset", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) PasswordChangeAfterReset(ctx context.Context, data types.PasswordChangeAfterReset) (*types.LoginResponse, error) {
|
||||||
|
resData := &types.LoginResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/password_change", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) MarkAllAsRead(ctx context.Context, data types.MarkAllAsRead) (*types.GetRepliesResponse, error) {
|
||||||
|
resData := &types.GetRepliesResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/mark_all_as_read", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) SaveUserSettings(ctx context.Context, data types.SaveUserSettings) (*types.LoginResponse, error) {
|
||||||
|
resData := &types.LoginResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/user/save_user_settings", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ChangePassword(ctx context.Context, data types.ChangePassword) (*types.LoginResponse, error) {
|
||||||
|
resData := &types.LoginResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/user/change_password", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ReportCount(ctx context.Context, data types.GetReportCount) (*types.GetReportCountResponse, error) {
|
||||||
|
resData := &types.GetReportCountResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/user/report_count", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) UnreadCount(ctx context.Context, data types.GetUnreadCount) (*types.GetUnreadCountResponse, error) {
|
||||||
|
resData := &types.GetUnreadCountResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/user/unread_count", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) VerifyEmail(ctx context.Context, data types.VerifyEmail) (*types.VerifyEmailResponse, error) {
|
||||||
|
resData := &types.VerifyEmailResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/verify_email", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) LeaveAdmin(ctx context.Context, data types.LeaveAdmin) (*types.GetSiteResponse, error) {
|
||||||
|
resData := &types.GetSiteResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/user/leave_admin", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) AddAdmin(ctx context.Context, data types.AddAdmin) (*types.AddAdminResponse, error) {
|
||||||
|
resData := &types.AddAdminResponse{}
|
||||||
|
res, err := c.req(ctx, "POST", "/admin/add", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) UnreadRegistrationApplicationCount(ctx context.Context, data types.GetUnreadRegistrationApplicationCount) (*types.GetUnreadRegistrationApplicationCountResponse, error) {
|
||||||
|
resData := &types.GetUnreadRegistrationApplicationCountResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/admin/registration_application/count", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ListRegistrationApplications(ctx context.Context, data types.ListRegistrationApplications) (*types.ListRegistrationApplicationsResponse, error) {
|
||||||
|
resData := &types.ListRegistrationApplicationsResponse{}
|
||||||
|
res, err := c.getReq(ctx, "GET", "/admin/registration_application/list", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
||||||
|
func (c *Client) ApproveRegistrationApplication(ctx context.Context, data types.ApproveRegistrationApplication) (*types.RegistrationApplicationResponse, error) {
|
||||||
|
resData := &types.RegistrationApplicationResponse{}
|
||||||
|
res, err := c.req(ctx, "PUT", "/admin/registration_application/approve", data, &resData)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = resError(res, resData.LemmyResponse)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return resData, nil
|
||||||
|
}
|
23
search.go
23
search.go
@ -1,23 +0,0 @@
|
|||||||
package lemmy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"go.arsenm.dev/go-lemmy/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *Client) Search(ctx context.Context, d types.Search) (*types.SearchResponse, error) {
|
|
||||||
ar := &types.SearchResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/search", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
53
site.go
53
site.go
@ -1,53 +0,0 @@
|
|||||||
package lemmy
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"go.arsenm.dev/go-lemmy/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *Client) CreateSite(ctx context.Context, d types.CreateSite) (*types.SiteResponse, error) {
|
|
||||||
ar := &types.SiteResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPost, "/site", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) EditSite(ctx context.Context, d types.EditSite) (*types.SiteResponse, error) {
|
|
||||||
ar := &types.SiteResponse{}
|
|
||||||
res, err := c.req(ctx, http.MethodPut, "/site", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) Site(ctx context.Context, d types.GetSite) (*types.GetSiteResponse, error) {
|
|
||||||
ar := &types.GetSiteResponse{}
|
|
||||||
res, err := c.getReq(ctx, http.MethodGet, "/site", d, &ar)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = resError(res, ar.LemmyResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ar, nil
|
|
||||||
}
|
|
20
types/activity.gen.go
Normal file
20
types/activity.gen.go
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type Activity struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Data any `json:"data,omitempty" url:"data,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Sensitive Optional[bool] `json:"sensitive,omitempty" url:"sensitive,omitempty"`
|
||||||
|
}
|
||||||
|
type ActivityForm struct {
|
||||||
|
Data any `json:"data,omitempty" url:"data,omitempty"`
|
||||||
|
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Sensitive bool `json:"sensitive,omitempty" url:"sensitive,omitempty"`
|
||||||
|
}
|
@ -1,55 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type PersonAggregates struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
PostCount int `json:"post_count" url:"post_count,omitempty"`
|
|
||||||
PostScore int `json:"post_score" url:"post_score,omitempty"`
|
|
||||||
CommentCount int `json:"comment_count" url:"comment_count,omitempty"`
|
|
||||||
CommentScore int `json:"comment_score" url:"comment_score,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SiteAggregates struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
SiteID int `json:"site_id" url:"site_id,omitempty"`
|
|
||||||
Users int `json:"users" url:"users,omitempty"`
|
|
||||||
Posts int `json:"posts" url:"posts,omitempty"`
|
|
||||||
Comments int `json:"comments" url:"comments,omitempty"`
|
|
||||||
Communities int `json:"communities" url:"communities,omitempty"`
|
|
||||||
UsersActiveDay int `json:"users_active_day" url:"users_active_day,omitempty"`
|
|
||||||
UsersActiveWeek int `json:"users_active_week" url:"users_active_week,omitempty"`
|
|
||||||
UsersActiveMonth int `json:"users_active_month" url:"users_active_month,omitempty"`
|
|
||||||
UsersActiveHalfYear int `json:"users_active_half_year" url:"users_active_half_year,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PostAggregates struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Comments int `json:"comments" url:"comments,omitempty"`
|
|
||||||
Score int `json:"score" url:"score,omitempty"`
|
|
||||||
Upvotes int `json:"upvotes" url:"upvotes,omitempty"`
|
|
||||||
Downvotes int `json:"downvotes" url:"downvotes,omitempty"`
|
|
||||||
NewestCommentTimeNecro string `json:"newest_comment_time_necro" url:"newest_comment_time_necro,omitempty"`
|
|
||||||
NewestCommentTime string `json:"newest_comment_time" url:"newest_comment_time,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityAggregates struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Subscribers int `json:"subscribers" url:"subscribers,omitempty"`
|
|
||||||
Posts int `json:"posts" url:"posts,omitempty"`
|
|
||||||
Comments int `json:"comments" url:"comments,omitempty"`
|
|
||||||
UsersActiveDay int `json:"users_active_day" url:"users_active_day,omitempty"`
|
|
||||||
UsersActiveWeek int `json:"users_active_week" url:"users_active_week,omitempty"`
|
|
||||||
UsersActiveMonth int `json:"users_active_month" url:"users_active_month,omitempty"`
|
|
||||||
UsersActiveHalfYear int `json:"users_active_half_year" url:"users_active_half_year,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentAggregates struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Score int `json:"score" url:"score,omitempty"`
|
|
||||||
Upvotes int `json:"upvotes" url:"upvotes,omitempty"`
|
|
||||||
Downvotes int `json:"downvotes" url:"downvotes,omitempty"`
|
|
||||||
ChildCount int `json:"child_count" url:"child_count,omitempty"`
|
|
||||||
}
|
|
69
types/comment.1.gen.go
Normal file
69
types/comment.1.gen.go
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type Comment struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
ParentID Optional[int] `json:"parent_id,omitempty" url:"parent_id,omitempty"`
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentAlias1 struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
ParentID Optional[int] `json:"parent_id,omitempty" url:"parent_id,omitempty"`
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentForm struct {
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
ParentID Optional[int] `json:"parent_id,omitempty" url:"parent_id,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Read Optional[bool] `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
ApID Optional[string] `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentLike struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Score int16 `json:"score,omitempty" url:"score,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentLikeForm struct {
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Score int16 `json:"score,omitempty" url:"score,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentSaved struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentSavedForm struct {
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
}
|
90
types/comment.gen.go
Normal file
90
types/comment.gen.go
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type CreateComment struct {
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
ParentID Optional[int] `json:"parent_id,omitempty" url:"parent_id,omitempty"`
|
||||||
|
FormID Optional[string] `json:"form_id,omitempty" url:"form_id,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetComment struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type EditComment struct {
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
FormID Optional[string] `json:"form_id,omitempty" url:"form_id,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type DeleteComment struct {
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type RemoveComment struct {
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type MarkCommentAsRead struct {
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type SaveComment struct {
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Save bool `json:"save,omitempty" url:"save,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentResponse struct {
|
||||||
|
CommentView CommentView `json:"comment_view,omitempty" url:"comment_view,omitempty"`
|
||||||
|
RecipientIds []int `json:"recipient_ids,omitempty" url:"recipient_ids,omitempty"`
|
||||||
|
FormID Optional[string] `json:"form_id,omitempty" url:"form_id,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type CreateCommentLike struct {
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Score int16 `json:"score,omitempty" url:"score,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetComments struct {
|
||||||
|
Type Optional[ListingType] `json:"type_,omitempty" url:"type_,omitempty"`
|
||||||
|
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
CommunityName Optional[string] `json:"community_name,omitempty" url:"community_name,omitempty"`
|
||||||
|
SavedOnly Optional[bool] `json:"saved_only,omitempty" url:"saved_only,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetCommentsResponse struct {
|
||||||
|
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type CreateCommentReport struct {
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentReportResponse struct {
|
||||||
|
CommentReportView CommentReportView `json:"comment_report_view,omitempty" url:"comment_report_view,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type ResolveCommentReport struct {
|
||||||
|
ReportID int `json:"report_id,omitempty" url:"report_id,omitempty"`
|
||||||
|
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type ListCommentReports struct {
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
UnresolvedOnly Optional[bool] `json:"unresolved_only,omitempty" url:"unresolved_only,omitempty"`
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type ListCommentReportsResponse struct {
|
||||||
|
CommentReports []CommentReportView `json:"comment_reports,omitempty" url:"comment_reports,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
105
types/comment.go
105
types/comment.go
@ -1,105 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type CreateComment struct {
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
ParentID Optional[int] `json:"parent_id" url:"parent_id,omitempty"`
|
|
||||||
LanguageID Optional[int] `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
FormID Optional[string] `json:"form_id" url:"form_id,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetComment struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type EditComment struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Content Optional[string] `json:"content" url:"content,omitempty"`
|
|
||||||
Distinguished Optional[bool] `json:"distinguished" url:"distinguished,omitempty"`
|
|
||||||
LanguageID Optional[int] `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
FormID Optional[string] `json:"form_id" url:"form_id,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type DeleteComment struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type RemoveComment struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Removed bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SaveComment struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Save bool `json:"save" url:"save,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentResponse struct {
|
|
||||||
CommentView CommentView `json:"comment_view" url:"comment_view,omitempty"`
|
|
||||||
RecipientIDs []int `json:"recipient_i_ds" url:"recipient_i_ds,omitempty"`
|
|
||||||
FormID Optional[string] `json:"form_id" url:"form_id,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type CreateCommentLike struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Score int16 `json:"score" url:"score,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetComments struct {
|
|
||||||
Type Optional[ListingType] `json:"type" url:"type,omitempty"`
|
|
||||||
Sort Optional[CommentSortType] `json:"sort" url:"sort,omitempty"`
|
|
||||||
MaxDepth Optional[int] `json:"max_depth" url:"max_depth,omitempty"`
|
|
||||||
Page Optional[int] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int] `json:"limit" url:"limit,omitempty"`
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
CommunityName Optional[string] `json:"community_name" url:"community_name,omitempty"`
|
|
||||||
PostID Optional[int] `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
ParentID Optional[int] `json:"parent_id" url:"parent_id,omitempty"`
|
|
||||||
SavedOnly Optional[bool] `json:"saved_only" url:"saved_only,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetCommentsResponse struct {
|
|
||||||
Comments []CommentView `json:"comments" url:"comments,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type CreateCommentReport struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Reason string `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentReportResponse struct {
|
|
||||||
CommentReportView CommentReportView `json:"comment_report_view" url:"comment_report_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type ResolveCommentReport struct {
|
|
||||||
ReportID int `json:"report_id" url:"report_id,omitempty"`
|
|
||||||
Resolved bool `json:"resolved" url:"resolved,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListCommentReports struct {
|
|
||||||
Page Optional[int] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int] `json:"limit" url:"limit,omitempty"`
|
|
||||||
UnresolvedOnly Optional[bool] `json:"unresolved_only" url:"unresolved_only,omitempty"`
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListCommentReportsResponse struct {
|
|
||||||
CommentReports []CommentReportView `json:"comment_reports" url:"comment_reports,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
21
types/comment_report.gen.go
Normal file
21
types/comment_report.gen.go
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type CommentReport struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
OriginalCommentText string `json:"original_comment_text,omitempty" url:"original_comment_text,omitempty"`
|
||||||
|
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"`
|
||||||
|
ResolverID Optional[int] `json:"resolver_id,omitempty" url:"resolver_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentReportForm struct {
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
OriginalCommentText string `json:"original_comment_text,omitempty" url:"original_comment_text,omitempty"`
|
||||||
|
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
}
|
100
types/community.1.gen.go
Normal file
100
types/community.1.gen.go
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type Community struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Title string `json:"title,omitempty" url:"title,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
NSFW bool `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"`
|
||||||
|
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"`
|
||||||
|
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
|
||||||
|
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
FollowersURL string `json:"followers_url,omitempty" url:"followers_url,omitempty"`
|
||||||
|
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
Hidden bool `json:"hidden,omitempty" url:"hidden,omitempty"`
|
||||||
|
PostingRestrictedToMods bool `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunitySafe struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Title string `json:"title,omitempty" url:"title,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
NSFW bool `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Hidden bool `json:"hidden,omitempty" url:"hidden,omitempty"`
|
||||||
|
PostingRestrictedToMods bool `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityForm struct {
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Title string `json:"title,omitempty" url:"title,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
ActorID Optional[string] `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
PrivateKey Optional[Optional[string]] `json:"private_key,omitempty" url:"private_key,omitempty"`
|
||||||
|
PublicKey Optional[string] `json:"public_key,omitempty" url:"public_key,omitempty"`
|
||||||
|
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
|
||||||
|
Icon Optional[Optional[string]] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[Optional[string]] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
FollowersURL Optional[string] `json:"followers_url,omitempty" url:"followers_url,omitempty"`
|
||||||
|
InboxURL Optional[string] `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[Optional[string]] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
Hidden Optional[bool] `json:"hidden,omitempty" url:"hidden,omitempty"`
|
||||||
|
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityModerator struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityModeratorForm struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityPersonBan struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityPersonBanForm struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityFollower struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Pending Optional[bool] `json:"pending,omitempty" url:"pending,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityFollowerForm struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Pending bool `json:"pending,omitempty" url:"pending,omitempty"`
|
||||||
|
}
|
111
types/community.gen.go
Normal file
111
types/community.gen.go
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type GetCommunity struct {
|
||||||
|
ID Optional[int] `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name Optional[string] `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetCommunityResponse struct {
|
||||||
|
CommunityView CommunityView `json:"community_view,omitempty" url:"community_view,omitempty"`
|
||||||
|
Site Optional[Site] `json:"site,omitempty" url:"site,omitempty"`
|
||||||
|
Moderators []CommunityModeratorView `json:"moderators,omitempty" url:"moderators,omitempty"`
|
||||||
|
Online uint `json:"online,omitempty" url:"online,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type CreateCommunity struct {
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Title string `json:"title,omitempty" url:"title,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityResponse struct {
|
||||||
|
CommunityView CommunityView `json:"community_view,omitempty" url:"community_view,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type ListCommunities struct {
|
||||||
|
Type Optional[ListingType] `json:"type_,omitempty" url:"type_,omitempty"`
|
||||||
|
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type ListCommunitiesResponse struct {
|
||||||
|
Communities []CommunityView `json:"communities,omitempty" url:"communities,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type BanFromCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Ban bool `json:"ban,omitempty" url:"ban,omitempty"`
|
||||||
|
RemoveData Optional[bool] `json:"remove_data,omitempty" url:"remove_data,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Expires Optional[int64] `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type BanFromCommunityResponse struct {
|
||||||
|
PersonView PersonViewSafe `json:"person_view,omitempty" url:"person_view,omitempty"`
|
||||||
|
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type AddModToCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Added bool `json:"added,omitempty" url:"added,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type AddModToCommunityResponse struct {
|
||||||
|
Moderators []CommunityModeratorView `json:"moderators,omitempty" url:"moderators,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type EditCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Title Optional[string] `json:"title,omitempty" url:"title,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type HideCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Hidden bool `json:"hidden,omitempty" url:"hidden,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type DeleteCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type RemoveCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Expires Optional[int64] `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type FollowCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Follow bool `json:"follow,omitempty" url:"follow,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type BlockCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Block bool `json:"block,omitempty" url:"block,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type BlockCommunityResponse struct {
|
||||||
|
CommunityView CommunityView `json:"community_view,omitempty" url:"community_view,omitempty"`
|
||||||
|
Blocked bool `json:"blocked,omitempty" url:"blocked,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type TransferCommunity struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
@ -1,131 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type GetCommunity struct {
|
|
||||||
ID Optional[int] `json:"id" url:"id,omitempty"`
|
|
||||||
Name Optional[string] `json:"name" url:"name,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetCommunityResponse struct {
|
|
||||||
CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
|
|
||||||
Site Optional[Site] `json:"site" url:"site,omitempty"`
|
|
||||||
Moderators []CommunityModeratorView `json:"moderators" url:"moderators,omitempty"`
|
|
||||||
Online uint `json:"online" url:"online,omitempty"`
|
|
||||||
DiscussionLanguages []int `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
DefaultPostLanguage Optional[int] `json:"default_post_language" url:"default_post_language,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type CreateCommunity struct {
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
Title string `json:"title" url:"title,omitempty"`
|
|
||||||
Description Optional[string] `json:"description" url:"description,omitempty"`
|
|
||||||
Icon Optional[string] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityResponse struct {
|
|
||||||
CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListCommunities struct {
|
|
||||||
Type Optional[ListingType] `json:"type" url:"type,omitempty"`
|
|
||||||
Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListCommunitiesResponse struct {
|
|
||||||
Communities []CommunityView `json:"communities" url:"communities,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type BanFromCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Ban bool `json:"ban" url:"ban,omitempty"`
|
|
||||||
RemoveData Optional[bool] `json:"remove_data" url:"remove_data,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Expires Optional[int64] `json:"expires" url:"expires,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type BanFromCommunityResponse struct {
|
|
||||||
PersonView PersonViewSafe `json:"person_view" url:"person_view,omitempty"`
|
|
||||||
Banned bool `json:"banned" url:"banned,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type AddModToCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Added bool `json:"added" url:"added,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AddModToCommunityResponse struct {
|
|
||||||
Moderators []CommunityModeratorView `json:"moderators" url:"moderators,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type EditCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Title Optional[string] `json:"title" url:"title,omitempty"`
|
|
||||||
Description Optional[string] `json:"description" url:"description,omitempty"`
|
|
||||||
Icon Optional[string] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
|
|
||||||
DiscussionLanguages Optional[[]int] `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type HideCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Hidden bool `json:"hidden" url:"hidden,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type DeleteCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type RemoveCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Removed bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Expires Optional[int64] `json:"expires" url:"expires,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type FollowCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Follow bool `json:"follow" url:"follow,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type BlockCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Block bool `json:"block" url:"block,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type BlockCommunityResponse struct {
|
|
||||||
CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
|
|
||||||
Blocked bool `json:"blocked" url:"blocked,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type TransferCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
14
types/community_block.gen.go
Normal file
14
types/community_block.gen.go
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type CommunityBlock struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityBlockForm struct {
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
}
|
16
types/email_verification.gen.go
Normal file
16
types/email_verification.gen.go
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type EmailVerification struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"`
|
||||||
|
Email string `json:"email,omitempty" url:"email,omitempty"`
|
||||||
|
VerificationCode string `json:"verification_code,omitempty" url:"verification_code,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type EmailVerificationForm struct {
|
||||||
|
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"`
|
||||||
|
Email string `json:"email,omitempty" url:"email,omitempty"`
|
||||||
|
VerificationToken string `json:"verification_token,omitempty" url:"verification_token,omitempty"`
|
||||||
|
}
|
36
types/lib.1.gen.go
Normal file
36
types/lib.1.gen.go
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type SortType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
SortTypeActive = "Active"
|
||||||
|
SortTypeHot = "Hot"
|
||||||
|
SortTypeNew = "New"
|
||||||
|
SortTypeTopDay = "TopDay"
|
||||||
|
SortTypeTopWeek = "TopWeek"
|
||||||
|
SortTypeTopMonth = "TopMonth"
|
||||||
|
SortTypeTopYear = "TopYear"
|
||||||
|
SortTypeTopAll = "TopAll"
|
||||||
|
SortTypeMostComments = "MostComments"
|
||||||
|
SortTypeNewComments = "NewComments"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ListingType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
ListingTypeAll = "All"
|
||||||
|
ListingTypeLocal = "Local"
|
||||||
|
ListingTypeSubscribed = "Subscribed"
|
||||||
|
ListingTypeCommunity = "Community"
|
||||||
|
)
|
||||||
|
|
||||||
|
type SearchType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
SearchTypeAll = "All"
|
||||||
|
SearchTypeComments = "Comments"
|
||||||
|
SearchTypePosts = "Posts"
|
||||||
|
SearchTypeCommunities = "Communities"
|
||||||
|
SearchTypeUsers = "Users"
|
||||||
|
SearchTypeUrl = "Url"
|
||||||
|
)
|
90
types/lib.2.gen.go
Normal file
90
types/lib.2.gen.go
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type UserOperation string
|
||||||
|
|
||||||
|
const (
|
||||||
|
UserOperationLogin = "Login"
|
||||||
|
UserOperationGetCaptcha = "GetCaptcha"
|
||||||
|
UserOperationMarkCommentAsRead = "MarkCommentAsRead"
|
||||||
|
UserOperationSaveComment = "SaveComment"
|
||||||
|
UserOperationCreateCommentLike = "CreateCommentLike"
|
||||||
|
UserOperationCreateCommentReport = "CreateCommentReport"
|
||||||
|
UserOperationResolveCommentReport = "ResolveCommentReport"
|
||||||
|
UserOperationListCommentReports = "ListCommentReports"
|
||||||
|
UserOperationCreatePostLike = "CreatePostLike"
|
||||||
|
UserOperationLockPost = "LockPost"
|
||||||
|
UserOperationStickyPost = "StickyPost"
|
||||||
|
UserOperationMarkPostAsRead = "MarkPostAsRead"
|
||||||
|
UserOperationSavePost = "SavePost"
|
||||||
|
UserOperationCreatePostReport = "CreatePostReport"
|
||||||
|
UserOperationResolvePostReport = "ResolvePostReport"
|
||||||
|
UserOperationListPostReports = "ListPostReports"
|
||||||
|
UserOperationGetReportCount = "GetReportCount"
|
||||||
|
UserOperationGetUnreadCount = "GetUnreadCount"
|
||||||
|
UserOperationVerifyEmail = "VerifyEmail"
|
||||||
|
UserOperationFollowCommunity = "FollowCommunity"
|
||||||
|
UserOperationGetReplies = "GetReplies"
|
||||||
|
UserOperationGetPersonMentions = "GetPersonMentions"
|
||||||
|
UserOperationMarkPersonMentionAsRead = "MarkPersonMentionAsRead"
|
||||||
|
UserOperationGetModlog = "GetModlog"
|
||||||
|
UserOperationBanFromCommunity = "BanFromCommunity"
|
||||||
|
UserOperationAddModToCommunity = "AddModToCommunity"
|
||||||
|
UserOperationAddAdmin = "AddAdmin"
|
||||||
|
UserOperationGetUnreadRegistrationApplicationCount = "GetUnreadRegistrationApplicationCount"
|
||||||
|
UserOperationListRegistrationApplications = "ListRegistrationApplications"
|
||||||
|
UserOperationApproveRegistrationApplication = "ApproveRegistrationApplication"
|
||||||
|
UserOperationBanPerson = "BanPerson"
|
||||||
|
UserOperationGetBannedPersons = "GetBannedPersons"
|
||||||
|
UserOperationSearch = "Search"
|
||||||
|
UserOperationResolveObject = "ResolveObject"
|
||||||
|
UserOperationMarkAllAsRead = "MarkAllAsRead"
|
||||||
|
UserOperationSaveUserSettings = "SaveUserSettings"
|
||||||
|
UserOperationTransferCommunity = "TransferCommunity"
|
||||||
|
UserOperationLeaveAdmin = "LeaveAdmin"
|
||||||
|
UserOperationPasswordReset = "PasswordReset"
|
||||||
|
UserOperationPasswordChange = "PasswordChange"
|
||||||
|
UserOperationMarkPrivateMessageAsRead = "MarkPrivateMessageAsRead"
|
||||||
|
UserOperationUserJoin = "UserJoin"
|
||||||
|
UserOperationGetSiteConfig = "GetSiteConfig"
|
||||||
|
UserOperationSaveSiteConfig = "SaveSiteConfig"
|
||||||
|
UserOperationPostJoin = "PostJoin"
|
||||||
|
UserOperationCommunityJoin = "CommunityJoin"
|
||||||
|
UserOperationModJoin = "ModJoin"
|
||||||
|
UserOperationChangePassword = "ChangePassword"
|
||||||
|
UserOperationGetSiteMetadata = "GetSiteMetadata"
|
||||||
|
UserOperationBlockCommunity = "BlockCommunity"
|
||||||
|
UserOperationBlockPerson = "BlockPerson"
|
||||||
|
)
|
||||||
|
|
||||||
|
type UserOperationCrud string
|
||||||
|
|
||||||
|
const (
|
||||||
|
UserOperationCrudCreateSite = "CreateSite"
|
||||||
|
UserOperationCrudGetSite = "GetSite"
|
||||||
|
UserOperationCrudEditSite = "EditSite"
|
||||||
|
UserOperationCrudCreateCommunity = "CreateCommunity"
|
||||||
|
UserOperationCrudListCommunities = "ListCommunities"
|
||||||
|
UserOperationCrudGetCommunity = "GetCommunity"
|
||||||
|
UserOperationCrudEditCommunity = "EditCommunity"
|
||||||
|
UserOperationCrudDeleteCommunity = "DeleteCommunity"
|
||||||
|
UserOperationCrudRemoveCommunity = "RemoveCommunity"
|
||||||
|
UserOperationCrudCreatePost = "CreatePost"
|
||||||
|
UserOperationCrudGetPost = "GetPost"
|
||||||
|
UserOperationCrudGetPosts = "GetPosts"
|
||||||
|
UserOperationCrudEditPost = "EditPost"
|
||||||
|
UserOperationCrudDeletePost = "DeletePost"
|
||||||
|
UserOperationCrudRemovePost = "RemovePost"
|
||||||
|
UserOperationCrudCreateComment = "CreateComment"
|
||||||
|
UserOperationCrudGetComment = "GetComment"
|
||||||
|
UserOperationCrudGetComments = "GetComments"
|
||||||
|
UserOperationCrudEditComment = "EditComment"
|
||||||
|
UserOperationCrudDeleteComment = "DeleteComment"
|
||||||
|
UserOperationCrudRemoveComment = "RemoveComment"
|
||||||
|
UserOperationCrudRegister = "Register"
|
||||||
|
UserOperationCrudGetPersonDetails = "GetPersonDetails"
|
||||||
|
UserOperationCrudDeleteAccount = "DeleteAccount"
|
||||||
|
UserOperationCrudCreatePrivateMessage = "CreatePrivateMessage"
|
||||||
|
UserOperationCrudGetPrivateMessages = "GetPrivateMessages"
|
||||||
|
UserOperationCrudEditPrivateMessage = "EditPrivateMessage"
|
||||||
|
UserOperationCrudDeletePrivateMessage = "DeletePrivateMessage"
|
||||||
|
)
|
1
types/lib.gen.go
Normal file
1
types/lib.gen.go
Normal file
@ -0,0 +1 @@
|
|||||||
|
package types
|
61
types/local_user.gen.go
Normal file
61
types/local_user.gen.go
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type LocalUser struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
PasswordEncrypted string `json:"password_encrypted,omitempty" url:"password_encrypted,omitempty"`
|
||||||
|
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"`
|
||||||
|
ShowNSFW bool `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"`
|
||||||
|
Theme string `json:"theme,omitempty" url:"theme,omitempty"`
|
||||||
|
DefaultSortType int16 `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"`
|
||||||
|
DefaultListingType int16 `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"`
|
||||||
|
Lang string `json:"lang,omitempty" url:"lang,omitempty"`
|
||||||
|
ShowAvatars bool `json:"show_avatars,omitempty" url:"show_avatars,omitempty"`
|
||||||
|
SendNotificationsToEmail bool `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"`
|
||||||
|
ValidatorTime time.Time `json:"validator_time,omitempty" url:"validator_time,omitempty"`
|
||||||
|
ShowBotAccounts bool `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"`
|
||||||
|
ShowScores bool `json:"show_scores,omitempty" url:"show_scores,omitempty"`
|
||||||
|
ShowReadPosts bool `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"`
|
||||||
|
ShowNewPostNotifs bool `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"`
|
||||||
|
EmailVerified bool `json:"email_verified,omitempty" url:"email_verified,omitempty"`
|
||||||
|
AcceptedApplication bool `json:"accepted_application,omitempty" url:"accepted_application,omitempty"`
|
||||||
|
}
|
||||||
|
type LocalUserForm struct {
|
||||||
|
PersonID Optional[int] `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
PasswordEncrypted Optional[string] `json:"password_encrypted,omitempty" url:"password_encrypted,omitempty"`
|
||||||
|
Email Optional[Optional[string]] `json:"email,omitempty" url:"email,omitempty"`
|
||||||
|
ShowNSFW Optional[bool] `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"`
|
||||||
|
Theme Optional[string] `json:"theme,omitempty" url:"theme,omitempty"`
|
||||||
|
DefaultSortType Optional[int16] `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"`
|
||||||
|
DefaultListingType Optional[int16] `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"`
|
||||||
|
Lang Optional[string] `json:"lang,omitempty" url:"lang,omitempty"`
|
||||||
|
ShowAvatars Optional[bool] `json:"show_avatars,omitempty" url:"show_avatars,omitempty"`
|
||||||
|
SendNotificationsToEmail Optional[bool] `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"`
|
||||||
|
ShowBotAccounts Optional[bool] `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"`
|
||||||
|
ShowScores Optional[bool] `json:"show_scores,omitempty" url:"show_scores,omitempty"`
|
||||||
|
ShowReadPosts Optional[bool] `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"`
|
||||||
|
ShowNewPostNotifs Optional[bool] `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"`
|
||||||
|
EmailVerified Optional[bool] `json:"email_verified,omitempty" url:"email_verified,omitempty"`
|
||||||
|
AcceptedApplication Optional[bool] `json:"accepted_application,omitempty" url:"accepted_application,omitempty"`
|
||||||
|
}
|
||||||
|
type LocalUserSettings struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"`
|
||||||
|
ShowNSFW bool `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"`
|
||||||
|
Theme string `json:"theme,omitempty" url:"theme,omitempty"`
|
||||||
|
DefaultSortType int16 `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"`
|
||||||
|
DefaultListingType int16 `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"`
|
||||||
|
Lang string `json:"lang,omitempty" url:"lang,omitempty"`
|
||||||
|
ShowAvatars bool `json:"show_avatars,omitempty" url:"show_avatars,omitempty"`
|
||||||
|
SendNotificationsToEmail bool `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"`
|
||||||
|
ValidatorTime time.Time `json:"validator_time,omitempty" url:"validator_time,omitempty"`
|
||||||
|
ShowBotAccounts bool `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"`
|
||||||
|
ShowScores bool `json:"show_scores,omitempty" url:"show_scores,omitempty"`
|
||||||
|
ShowReadPosts bool `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"`
|
||||||
|
ShowNewPostNotifs bool `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"`
|
||||||
|
EmailVerified bool `json:"email_verified,omitempty" url:"email_verified,omitempty"`
|
||||||
|
AcceptedApplication bool `json:"accepted_application,omitempty" url:"accepted_application,omitempty"`
|
||||||
|
}
|
1
types/mod.gen.go
Normal file
1
types/mod.gen.go
Normal file
@ -0,0 +1 @@
|
|||||||
|
package types
|
160
types/moderator.gen.go
Normal file
160
types/moderator.gen.go
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type ModRemovePost struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModRemovePostForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
}
|
||||||
|
type ModLockPost struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Locked Optional[bool] `json:"locked,omitempty" url:"locked,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModLockPostForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Locked Optional[bool] `json:"locked,omitempty" url:"locked,omitempty"`
|
||||||
|
}
|
||||||
|
type ModStickyPost struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Stickied Optional[bool] `json:"stickied,omitempty" url:"stickied,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModStickyPostForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Stickied Optional[bool] `json:"stickied,omitempty" url:"stickied,omitempty"`
|
||||||
|
}
|
||||||
|
type ModRemoveComment struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModRemoveCommentForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
}
|
||||||
|
type ModRemoveCommunity struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModRemoveCommunityForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
}
|
||||||
|
type ModBanFromCommunity struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModBanFromCommunityForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
}
|
||||||
|
type ModBan struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModHideCommunityForm struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
Hidden Optional[bool] `json:"hidden,omitempty" url:"hidden,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
}
|
||||||
|
type ModHideCommunity struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Hidden Optional[bool] `json:"hidden,omitempty" url:"hidden,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModBanForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
}
|
||||||
|
type ModAddCommunity struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModAddCommunityForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
}
|
||||||
|
type ModTransferCommunity struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModTransferCommunityForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
}
|
||||||
|
type ModAdd struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
|
||||||
|
}
|
||||||
|
type ModAddForm struct {
|
||||||
|
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
}
|
162
types/others.go
162
types/others.go
@ -1,162 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type UserOperation string
|
|
||||||
|
|
||||||
const (
|
|
||||||
UserOpLogin UserOperation = "Login"
|
|
||||||
UserOpRegister UserOperation = "Register"
|
|
||||||
UserOpGetCaptcha UserOperation = "GetCaptcha"
|
|
||||||
UserOpCreateCommunity UserOperation = "CreateCommunity"
|
|
||||||
UserOpCreatePost UserOperation = "CreatePost"
|
|
||||||
UserOpListCommunities UserOperation = "ListCommunities"
|
|
||||||
UserOpGetPost UserOperation = "GetPost"
|
|
||||||
UserOpGetCommunity UserOperation = "GetCommunity"
|
|
||||||
UserOpCreateComment UserOperation = "CreateComment"
|
|
||||||
UserOpEditComment UserOperation = "EditComment"
|
|
||||||
UserOpDeleteComment UserOperation = "DeleteComment"
|
|
||||||
UserOpRemoveComment UserOperation = "RemoveComment"
|
|
||||||
UserOpSaveComment UserOperation = "SaveComment"
|
|
||||||
UserOpCreateCommentLike UserOperation = "CreateCommentLike"
|
|
||||||
UserOpGetPosts UserOperation = "GetPosts"
|
|
||||||
UserOpCreatePostLike UserOperation = "CreatePostLike"
|
|
||||||
UserOpEditPost UserOperation = "EditPost"
|
|
||||||
UserOpDeletePost UserOperation = "DeletePost"
|
|
||||||
UserOpRemovePost UserOperation = "RemovePost"
|
|
||||||
UserOpLockPost UserOperation = "LockPost"
|
|
||||||
UserOpFeaturePost UserOperation = "FeaturePost"
|
|
||||||
UserOpMarkPostAsRead UserOperation = "MarkPostAsRead"
|
|
||||||
UserOpSavePost UserOperation = "SavePost"
|
|
||||||
UserOpEditCommunity UserOperation = "EditCommunity"
|
|
||||||
UserOpDeleteCommunity UserOperation = "DeleteCommunity"
|
|
||||||
UserOpRemoveCommunity UserOperation = "RemoveCommunity"
|
|
||||||
UserOpFollowCommunity UserOperation = "FollowCommunity"
|
|
||||||
UserOpGetPersonDetails UserOperation = "GetPersonDetails"
|
|
||||||
UserOpGetReplies UserOperation = "GetReplies"
|
|
||||||
UserOpGetPersonMentions UserOperation = "GetPersonMentions"
|
|
||||||
UserOpMarkPersonMentionAsRead UserOperation = "MarkPersonMentionAsRead"
|
|
||||||
UserOpMarkCommentReplyAsRead UserOperation = "MarkCommentReplyAsRead"
|
|
||||||
UserOpGetModlog UserOperation = "GetModlog"
|
|
||||||
UserOpBanFromCommunity UserOperation = "BanFromCommunity"
|
|
||||||
UserOpAddModToCommunity UserOperation = "AddModToCommunity"
|
|
||||||
UserOpCreateSite UserOperation = "CreateSite"
|
|
||||||
UserOpEditSite UserOperation = "EditSite"
|
|
||||||
UserOpGetSite UserOperation = "GetSite"
|
|
||||||
UserOpAddAdmin UserOperation = "AddAdmin"
|
|
||||||
UserOpGetUnreadRegistrationApplicationCount UserOperation = "GetUnreadRegistrationApplicationCount"
|
|
||||||
UserOpListRegistrationApplications UserOperation = "ListRegistrationApplications"
|
|
||||||
UserOpApproveRegistrationApplication UserOperation = "ApproveRegistrationApplication"
|
|
||||||
UserOpBanPerson UserOperation = "BanPerson"
|
|
||||||
UserOpGetBannedPersons UserOperation = "GetBannedPersons"
|
|
||||||
UserOpSearch UserOperation = "Search"
|
|
||||||
UserOpResolveObject UserOperation = "ResolveObject"
|
|
||||||
UserOpMarkAllAsRead UserOperation = "MarkAllAsRead"
|
|
||||||
UserOpSaveUserSettings UserOperation = "SaveUserSettings"
|
|
||||||
UserOpTransferCommunity UserOperation = "TransferCommunity"
|
|
||||||
UserOpLeaveAdmin UserOperation = "LeaveAdmin"
|
|
||||||
UserOpDeleteAccount UserOperation = "DeleteAccount"
|
|
||||||
UserOpPasswordReset UserOperation = "PasswordReset"
|
|
||||||
UserOpPasswordChange UserOperation = "PasswordChange"
|
|
||||||
UserOpCreatePrivateMessage UserOperation = "CreatePrivateMessage"
|
|
||||||
UserOpEditPrivateMessage UserOperation = "EditPrivateMessage"
|
|
||||||
UserOpDeletePrivateMessage UserOperation = "DeletePrivateMessage"
|
|
||||||
UserOpMarkPrivateMessageAsRead UserOperation = "MarkPrivateMessageAsRead"
|
|
||||||
UserOpCreatePrivateMessageReport UserOperation = "CreatePrivateMessageReport"
|
|
||||||
UserOpResolvePrivateMessageReport UserOperation = "ResolvePrivateMessageReport"
|
|
||||||
UserOpListPrivateMessageReports UserOperation = "ListPrivateMessageReports"
|
|
||||||
UserOpGetPrivateMessages UserOperation = "GetPrivateMessages"
|
|
||||||
UserOpUserJoin UserOperation = "UserJoin"
|
|
||||||
UserOpGetComments UserOperation = "GetComments"
|
|
||||||
UserOpPostJoin UserOperation = "PostJoin"
|
|
||||||
UserOpCommunityJoin UserOperation = "CommunityJoin"
|
|
||||||
UserOpChangePassword UserOperation = "ChangePassword"
|
|
||||||
UserOpGetSiteMetadata UserOperation = "GetSiteMetadata"
|
|
||||||
UserOpBlockCommunity UserOperation = "BlockCommunity"
|
|
||||||
UserOpBlockPerson UserOperation = "BlockPerson"
|
|
||||||
UserOpPurgePerson UserOperation = "PurgePerson"
|
|
||||||
UserOpPurgeCommunity UserOperation = "PurgeCommunity"
|
|
||||||
UserOpPurgePost UserOperation = "PurgePost"
|
|
||||||
UserOpPurgeComment UserOperation = "PurgeComment"
|
|
||||||
UserOpCreateCommentReport UserOperation = "CreateCommentReport"
|
|
||||||
UserOpResolveCommentReport UserOperation = "ResolveCommentReport"
|
|
||||||
UserOpListCommentReports UserOperation = "ListCommentReports"
|
|
||||||
UserOpCreatePostReport UserOperation = "CreatePostReport"
|
|
||||||
UserOpResolvePostReport UserOperation = "ResolvePostReport"
|
|
||||||
UserOpListPostReports UserOperation = "ListPostReports"
|
|
||||||
UserOpGetReportCount UserOperation = "GetReportCount"
|
|
||||||
UserOpGetUnreadCount UserOperation = "GetUnreadCount"
|
|
||||||
UserOpVerifyEmail UserOperation = "VerifyEmail"
|
|
||||||
)
|
|
||||||
|
|
||||||
type SortType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
Active SortType = "Active"
|
|
||||||
Hot SortType = "Hot"
|
|
||||||
New SortType = "New"
|
|
||||||
Old SortType = "Old"
|
|
||||||
TopDay SortType = "TopDay"
|
|
||||||
TopWeek SortType = "TopWeek"
|
|
||||||
TopMonth SortType = "TopMonth"
|
|
||||||
TopYear SortType = "TopYear"
|
|
||||||
TopAll SortType = "TopAll"
|
|
||||||
MostComments SortType = "MostComments"
|
|
||||||
NewComments SortType = "NewComments"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CommentSortType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
CommentSortHot CommentSortType = "Hot"
|
|
||||||
CommentSortTop CommentSortType = "Top"
|
|
||||||
CommentSortNew CommentSortType = "New"
|
|
||||||
CommentSortOld CommentSortType = "Old"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ListingType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
ListingAll ListingType = "All"
|
|
||||||
ListingLocal ListingType = "Local"
|
|
||||||
ListingSubscribed ListingType = "Subscribed"
|
|
||||||
ListingCommunity ListingType = "Community"
|
|
||||||
)
|
|
||||||
|
|
||||||
type SearchType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
SearchAll SearchType = "All"
|
|
||||||
SearchComments SearchType = "Comments"
|
|
||||||
SearchPosts SearchType = "Posts"
|
|
||||||
SearchCommunities SearchType = "Communities"
|
|
||||||
SearchUsers SearchType = "Users"
|
|
||||||
SearchURL SearchType = "URL"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ModlogActionType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
ModlogAll ModlogActionType = "All"
|
|
||||||
ModlogModRemovePost ModlogActionType = "ModRemovePost"
|
|
||||||
ModlogModLockPost ModlogActionType = "ModLockPost"
|
|
||||||
ModlogModStickyPost ModlogActionType = "ModStickyPost"
|
|
||||||
ModlogModRemoveComment ModlogActionType = "ModRemoveComment"
|
|
||||||
ModlogModRemoveCommunity ModlogActionType = "ModRemoveCommunity"
|
|
||||||
ModlogModBanFromCommunity ModlogActionType = "ModBanFromCommunity"
|
|
||||||
ModlogModAddCommunity ModlogActionType = "ModAddCommunity"
|
|
||||||
ModlogModTransferCommunity ModlogActionType = "ModTransferCommunity"
|
|
||||||
ModlogModAdd ModlogActionType = "ModAdd"
|
|
||||||
ModlogModBan ModlogActionType = "ModBan"
|
|
||||||
ModlogModHideCommunity ModlogActionType = "ModHideCommunity"
|
|
||||||
ModlogAdminPurgePerson ModlogActionType = "AdminPurgePerson"
|
|
||||||
ModlogAdminPurgeCommunity ModlogActionType = "AdminPurgeCommunity"
|
|
||||||
ModlogAdminPurgePost ModlogActionType = "AdminPurgePost"
|
|
||||||
ModlogAdminPurgeComment ModlogActionType = "AdminPurgeComment"
|
|
||||||
)
|
|
||||||
|
|
||||||
type SubscribedType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
Subscribed SubscribedType = "Subscribed"
|
|
||||||
NotSubscribed SubscribedType = "NotSubscribed"
|
|
||||||
Pending SubscribedType = "Pending"
|
|
||||||
)
|
|
14
types/password_reset_request.gen.go
Normal file
14
types/password_reset_request.gen.go
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type PasswordResetRequest struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
TokenEncrypted string `json:"token_encrypted,omitempty" url:"token_encrypted,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"`
|
||||||
|
}
|
||||||
|
type PasswordResetRequestForm struct {
|
||||||
|
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"`
|
||||||
|
TokenEncrypted string `json:"token_encrypted,omitempty" url:"token_encrypted,omitempty"`
|
||||||
|
}
|
155
types/person.1.gen.go
Normal file
155
types/person.1.gen.go
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type Person struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"`
|
||||||
|
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"`
|
||||||
|
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"`
|
||||||
|
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"`
|
||||||
|
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
|
||||||
|
Admin bool `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"`
|
||||||
|
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonSafe struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"`
|
||||||
|
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"`
|
||||||
|
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
|
||||||
|
Admin bool `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"`
|
||||||
|
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonAlias1 struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"`
|
||||||
|
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"`
|
||||||
|
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"`
|
||||||
|
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"`
|
||||||
|
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
|
||||||
|
Admin bool `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"`
|
||||||
|
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonSafeAlias1 struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"`
|
||||||
|
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"`
|
||||||
|
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
|
||||||
|
Admin bool `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"`
|
||||||
|
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonAlias2 struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"`
|
||||||
|
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"`
|
||||||
|
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"`
|
||||||
|
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"`
|
||||||
|
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
|
||||||
|
Admin bool `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"`
|
||||||
|
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonSafeAlias2 struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"`
|
||||||
|
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"`
|
||||||
|
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
|
||||||
|
Admin bool `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"`
|
||||||
|
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonForm struct {
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
DisplayName Optional[Optional[string]] `json:"display_name,omitempty" url:"display_name,omitempty"`
|
||||||
|
Avatar Optional[Optional[string]] `json:"avatar,omitempty" url:"avatar,omitempty"`
|
||||||
|
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ActorID Optional[string] `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
Bio Optional[Optional[string]] `json:"bio,omitempty" url:"bio,omitempty"`
|
||||||
|
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
PrivateKey Optional[Optional[string]] `json:"private_key,omitempty" url:"private_key,omitempty"`
|
||||||
|
PublicKey Optional[string] `json:"public_key,omitempty" url:"public_key,omitempty"`
|
||||||
|
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
|
||||||
|
Banner Optional[Optional[string]] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
InboxURL Optional[string] `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
SharedInboxURL Optional[Optional[string]] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
|
||||||
|
MatrixUserID Optional[Optional[string]] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
|
||||||
|
Admin Optional[bool] `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
BotAccount Optional[bool] `json:"bot_account,omitempty" url:"bot_account,omitempty"`
|
||||||
|
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"`
|
||||||
|
}
|
228
types/person.gen.go
Normal file
228
types/person.gen.go
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type Login struct {
|
||||||
|
UsernameOrEmail string `json:"username_or_email,omitempty" url:"username_or_email,omitempty"`
|
||||||
|
Password string `json:"password,omitempty" url:"password,omitempty"`
|
||||||
|
}
|
||||||
|
type Register struct {
|
||||||
|
Username string `json:"username,omitempty" url:"username,omitempty"`
|
||||||
|
Password string `json:"password,omitempty" url:"password,omitempty"`
|
||||||
|
PasswordVerify string `json:"password_verify,omitempty" url:"password_verify,omitempty"`
|
||||||
|
ShowNSFW bool `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"`
|
||||||
|
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"`
|
||||||
|
CaptchaUuid Optional[string] `json:"captcha_uuid,omitempty" url:"captcha_uuid,omitempty"`
|
||||||
|
CaptchaAnswer Optional[string] `json:"captcha_answer,omitempty" url:"captcha_answer,omitempty"`
|
||||||
|
Honeypot Optional[string] `json:"honeypot,omitempty" url:"honeypot,omitempty"`
|
||||||
|
Answer Optional[string] `json:"answer,omitempty" url:"answer,omitempty"`
|
||||||
|
}
|
||||||
|
type GetCaptcha struct{}
|
||||||
|
type GetCaptchaResponse struct {
|
||||||
|
Ok Optional[CaptchaResponse] `json:"ok,omitempty" url:"ok,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type CaptchaResponse struct {
|
||||||
|
Png string `json:"png,omitempty" url:"png,omitempty"`
|
||||||
|
Wav string `json:"wav,omitempty" url:"wav,omitempty"`
|
||||||
|
Uuid string `json:"uuid,omitempty" url:"uuid,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type SaveUserSettings struct {
|
||||||
|
ShowNSFW Optional[bool] `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"`
|
||||||
|
ShowScores Optional[bool] `json:"show_scores,omitempty" url:"show_scores,omitempty"`
|
||||||
|
Theme Optional[string] `json:"theme,omitempty" url:"theme,omitempty"`
|
||||||
|
DefaultSortType Optional[int16] `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"`
|
||||||
|
DefaultListingType Optional[int16] `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"`
|
||||||
|
Lang Optional[string] `json:"lang,omitempty" url:"lang,omitempty"`
|
||||||
|
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"`
|
||||||
|
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"`
|
||||||
|
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"`
|
||||||
|
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
|
||||||
|
ShowAvatars Optional[bool] `json:"show_avatars,omitempty" url:"show_avatars,omitempty"`
|
||||||
|
SendNotificationsToEmail Optional[bool] `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"`
|
||||||
|
BotAccount Optional[bool] `json:"bot_account,omitempty" url:"bot_account,omitempty"`
|
||||||
|
ShowBotAccounts Optional[bool] `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"`
|
||||||
|
ShowReadPosts Optional[bool] `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"`
|
||||||
|
ShowNewPostNotifs Optional[bool] `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type ChangePassword struct {
|
||||||
|
NewPassword string `json:"new_password,omitempty" url:"new_password,omitempty"`
|
||||||
|
NewPasswordVerify string `json:"new_password_verify,omitempty" url:"new_password_verify,omitempty"`
|
||||||
|
OldPassword string `json:"old_password,omitempty" url:"old_password,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type LoginResponse struct {
|
||||||
|
Jwt Optional[string] `json:"jwt,omitempty" url:"jwt,omitempty"`
|
||||||
|
RegistrationCreated bool `json:"registration_created,omitempty" url:"registration_created,omitempty"`
|
||||||
|
VerifyEmailSent bool `json:"verify_email_sent,omitempty" url:"verify_email_sent,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetPersonDetails struct {
|
||||||
|
PersonID Optional[int] `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Username Optional[string] `json:"username,omitempty" url:"username,omitempty"`
|
||||||
|
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
SavedOnly Optional[bool] `json:"saved_only,omitempty" url:"saved_only,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetPersonDetailsResponse struct {
|
||||||
|
PersonView PersonViewSafe `json:"person_view,omitempty" url:"person_view,omitempty"`
|
||||||
|
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"`
|
||||||
|
Posts []PostView `json:"posts,omitempty" url:"posts,omitempty"`
|
||||||
|
Moderates []CommunityModeratorView `json:"moderates,omitempty" url:"moderates,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetRepliesResponse struct {
|
||||||
|
Replies []CommentView `json:"replies,omitempty" url:"replies,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetPersonMentionsResponse struct {
|
||||||
|
Mentions []PersonMentionView `json:"mentions,omitempty" url:"mentions,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type MarkAllAsRead struct {
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type AddAdmin struct {
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Added bool `json:"added,omitempty" url:"added,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type AddAdminResponse struct {
|
||||||
|
Admins []PersonViewSafe `json:"admins,omitempty" url:"admins,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type BanPerson struct {
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Ban bool `json:"ban,omitempty" url:"ban,omitempty"`
|
||||||
|
RemoveData Optional[bool] `json:"remove_data,omitempty" url:"remove_data,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Expires Optional[int64] `json:"expires,omitempty" url:"expires,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetBannedPersons struct {
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type BannedPersonsResponse struct {
|
||||||
|
Banned []PersonViewSafe `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type BanPersonResponse struct {
|
||||||
|
PersonView PersonViewSafe `json:"person_view,omitempty" url:"person_view,omitempty"`
|
||||||
|
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type BlockPerson struct {
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Block bool `json:"block,omitempty" url:"block,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type BlockPersonResponse struct {
|
||||||
|
PersonView PersonViewSafe `json:"person_view,omitempty" url:"person_view,omitempty"`
|
||||||
|
Blocked bool `json:"blocked,omitempty" url:"blocked,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetReplies struct {
|
||||||
|
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
UnreadOnly Optional[bool] `json:"unread_only,omitempty" url:"unread_only,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetPersonMentions struct {
|
||||||
|
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
UnreadOnly Optional[bool] `json:"unread_only,omitempty" url:"unread_only,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type MarkPersonMentionAsRead struct {
|
||||||
|
PersonMentionID int `json:"person_mention_id,omitempty" url:"person_mention_id,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonMentionResponse struct {
|
||||||
|
PersonMentionView PersonMentionView `json:"person_mention_view,omitempty" url:"person_mention_view,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type DeleteAccount struct {
|
||||||
|
Password string `json:"password,omitempty" url:"password,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type DeleteAccountResponse struct {
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type PasswordReset struct {
|
||||||
|
Email string `json:"email,omitempty" url:"email,omitempty"`
|
||||||
|
}
|
||||||
|
type PasswordResetResponse struct {
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type PasswordChangeAfterReset struct {
|
||||||
|
Token string `json:"token,omitempty" url:"token,omitempty"`
|
||||||
|
Password string `json:"password,omitempty" url:"password,omitempty"`
|
||||||
|
PasswordVerify string `json:"password_verify,omitempty" url:"password_verify,omitempty"`
|
||||||
|
}
|
||||||
|
type CreatePrivateMessage struct {
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type EditPrivateMessage struct {
|
||||||
|
PrivateMessageID int `json:"private_message_id,omitempty" url:"private_message_id,omitempty"`
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type DeletePrivateMessage struct {
|
||||||
|
PrivateMessageID int `json:"private_message_id,omitempty" url:"private_message_id,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type MarkPrivateMessageAsRead struct {
|
||||||
|
PrivateMessageID int `json:"private_message_id,omitempty" url:"private_message_id,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetPrivateMessages struct {
|
||||||
|
UnreadOnly Optional[bool] `json:"unread_only,omitempty" url:"unread_only,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type PrivateMessagesResponse struct {
|
||||||
|
PrivateMessages []PrivateMessageView `json:"private_messages,omitempty" url:"private_messages,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type PrivateMessageResponse struct {
|
||||||
|
PrivateMessageView PrivateMessageView `json:"private_message_view,omitempty" url:"private_message_view,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetReportCount struct {
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetReportCountResponse struct {
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
CommentReports int64 `json:"comment_reports,omitempty" url:"comment_reports,omitempty"`
|
||||||
|
PostReports int64 `json:"post_reports,omitempty" url:"post_reports,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetUnreadCount struct {
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetUnreadCountResponse struct {
|
||||||
|
Replies int64 `json:"replies,omitempty" url:"replies,omitempty"`
|
||||||
|
Mentions int64 `json:"mentions,omitempty" url:"mentions,omitempty"`
|
||||||
|
PrivateMessages int64 `json:"private_messages,omitempty" url:"private_messages,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type VerifyEmail struct {
|
||||||
|
Token string `json:"token,omitempty" url:"token,omitempty"`
|
||||||
|
}
|
||||||
|
type VerifyEmailResponse struct {
|
||||||
|
LemmyResponse
|
||||||
|
}
|
243
types/person.go
243
types/person.go
@ -1,243 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type Login struct {
|
|
||||||
Password string `json:"password" url:"password,omitempty"`
|
|
||||||
UsernameOrEmail string `json:"username_or_email" url:"username_or_email,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type LoginResponse struct {
|
|
||||||
JWT Optional[string] `json:"jwt" url:"jwt,omitempty"`
|
|
||||||
RegistrationCreated bool `json:"registration_created" url:"registration_created,omitempty"`
|
|
||||||
VeriftEmailSent bool `json:"verify_email_sent" url:"verify_email_sent,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type Register struct {
|
|
||||||
Username string `json:"username" url:"username,omitempty"`
|
|
||||||
Password string `json:"password" url:"password,omitempty"`
|
|
||||||
PasswordVerify string `json:"password_verify" url:"password_verify,omitempty"`
|
|
||||||
ShowNSFW bool `json:"show_nsfw" url:"show_nsfw,omitempty"`
|
|
||||||
Email Optional[string] `json:"email" url:"email,omitempty"`
|
|
||||||
CaptchaUuid Optional[string] `json:"captcha_uuid" url:"captcha_uuid,omitempty"`
|
|
||||||
CaptchaAnswer Optional[string] `json:"captcha_answer" url:"captcha_answer,omitempty"`
|
|
||||||
Honeypot Optional[string] `json:"honeypot" url:"honeypot,omitempty"`
|
|
||||||
Answer Optional[string] `json:"answer" url:"answer,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetCaptcha struct{}
|
|
||||||
|
|
||||||
type CaptchaResponse struct {
|
|
||||||
Png string `json:"png" url:"png,omitempty"`
|
|
||||||
Wav string `json:"wav" url:"wav,omitempty"`
|
|
||||||
Uuid string `json:"uuid" url:"uuid,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type SaveUserSettings struct {
|
|
||||||
ShowNSFW Optional[bool] `json:"show_nsfw" url:"show_nsfw,omitempty"`
|
|
||||||
ShowScores Optional[bool] `json:"show_scores" url:"show_scores,omitempty"`
|
|
||||||
Theme Optional[string] `json:"theme" url:"theme,omitempty"`
|
|
||||||
DefaultSortType Optional[int16] `json:"default_sort_type" url:"default_sort_type,omitempty"`
|
|
||||||
DefaultListingType Optional[int16] `json:"default_listing_type" url:"default_listing_type,omitempty"`
|
|
||||||
InterfaceLanguage Optional[string] `json:"interface_language" url:"interface_language,omitempty"`
|
|
||||||
Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
|
|
||||||
Email Optional[string] `json:"email" url:"email,omitempty"`
|
|
||||||
Bio Optional[string] `json:"bio" url:"bio,omitempty"`
|
|
||||||
MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
|
|
||||||
ShowAvatars Optional[bool] `json:"show_avatars" url:"show_avatars,omitempty"`
|
|
||||||
SendNotificationsToEmail Optional[bool] `json:"send_notifications_to_email" url:"send_notifications_to_email,omitempty"`
|
|
||||||
BotAccount Optional[bool] `json:"bot_account" url:"bot_account,omitempty"`
|
|
||||||
ShowBotAccounts Optional[bool] `json:"show_bot_accounts" url:"show_bot_accounts,omitempty"`
|
|
||||||
ShowReadPosts Optional[bool] `json:"show_read_posts" url:"show_read_posts,omitempty"`
|
|
||||||
ShowNewPostNotifs Optional[bool] `json:"show_new_post_notifs" url:"show_new_post_notifs,omitempty"`
|
|
||||||
DiscussionLanguages Optional[[]int] `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ChangePassword struct {
|
|
||||||
NewPassword string `json:"new_password" url:"new_password,omitempty"`
|
|
||||||
NewPasswordVerify string `json:"new_password_verify" url:"new_password_verify,omitempty"`
|
|
||||||
OldPassword string `json:"old_password" url:"old_password,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPersonDetails struct {
|
|
||||||
PersonID Optional[int] `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Username Optional[string] `json:"username" url:"username,omitempty"`
|
|
||||||
Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
SavedOnly Optional[bool] `json:"saved_only" url:"saved_only,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPersonDetailsResponse struct {
|
|
||||||
PersonView PersonViewSafe `json:"person_view" url:"person_view,omitempty"`
|
|
||||||
Comments []CommentView `json:"comments" url:"comments,omitempty"`
|
|
||||||
Posts []PostView `json:"posts" url:"posts,omitempty"`
|
|
||||||
Moderates []CommunityModeratorView `json:"moderates" url:"moderates,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetReplies struct {
|
|
||||||
Limit Optional[int] `json:"limit" url:"limit,omitempty"`
|
|
||||||
Page Optional[int] `json:"page" url:"page,omitempty"`
|
|
||||||
Sort Optional[CommentSortType] `json:"sort" url:"sort,omitempty"`
|
|
||||||
UnreadOnly Optional[bool] `json:"unread_only" url:"unread_only,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetRepliesResponse struct {
|
|
||||||
Replies []CommentReplyView `json:"replies" url:"replies,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPersonMentionsResponse struct {
|
|
||||||
Mentions []PersonMentionView `json:"mentions" url:"mentions,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type MarkAllAsRead struct {
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AddAdmin struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Added bool `json:"added" url:"added,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AddAdminResponse struct {
|
|
||||||
Admins []PersonViewSafe `json:"admins" url:"admins,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type BanPerson struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Ban bool `json:"ban" url:"ban,omitempty"`
|
|
||||||
RemoveData Optional[bool] `json:"remove_data" url:"remove_data,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Expires Optional[int64] `json:"expires" url:"expires,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetBannedPersons struct {
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type BanPersonResponse struct {
|
|
||||||
PersonView PersonViewSafe `json:"person_view" url:"person_view,omitempty"`
|
|
||||||
Banned bool `json:"banned" url:"banned,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type BlockPerson struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Block bool `json:"block" url:"block,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPersonMentions struct {
|
|
||||||
Sort Optional[CommentSortType] `json:"sort" url:"sort,omitempty"`
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
UnreadOnly Optional[bool] `json:"unread_only" url:"unread_only,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type MarkPersonMentionAsRead struct {
|
|
||||||
PersonMentionID int `json:"person_mention_id" url:"person_mention_id,omitempty"`
|
|
||||||
Read bool `json:"read" url:"read,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PersonMentionResponse struct {
|
|
||||||
PersonMentionView PersonMentionView `json:"person_mention_view" url:"person_mention_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type MarkCommentReplyAsRead struct {
|
|
||||||
CommentReplyID int `json:"comment_reply_id" url:"comment_reply_id,omitempty"`
|
|
||||||
Read bool `json:"read" url:"read,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentReplyResponse struct {
|
|
||||||
CommentReplyView CommentReplyView `json:"comment_reply_view" url:"comment_reply_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type DeleteAccount struct {
|
|
||||||
Password string `json:"password" url:"password,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type DeleteAccountResponse struct {
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type PasswordReset struct {
|
|
||||||
Email string `json:"email" url:"email,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PasswordResetResponse struct {
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type PasswordChangeAfterReset struct {
|
|
||||||
Token string `json:"token" url:"token,omitempty"`
|
|
||||||
Password string `json:"password" url:"password,omitempty"`
|
|
||||||
PasswordVerify string `json:"password_verify" url:"password_verify,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetReportCount struct {
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetReportCountResponse struct {
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
CommentReports int64 `json:"comment_reports" url:"comment_reports,omitempty"`
|
|
||||||
PostReports int64 `json:"post_reports" url:"post_reports,omitempty"`
|
|
||||||
PrivateMessageReports Optional[int64] `json:"private_message_reports" url:"private_message_reports,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetUnreadCount struct {
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetUnreadCountResponse struct {
|
|
||||||
Replies int64 `json:"replies" url:"replies,omitempty"`
|
|
||||||
Mentions int64 `json:"mentions" url:"mentions,omitempty"`
|
|
||||||
PrivateMessages int64 `json:"private_messages" url:"private_messages,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type VerifyEmail struct {
|
|
||||||
Token string `json:"token" url:"token,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type VerifyEmailResponse struct {
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type BlockPersonResponse struct {
|
|
||||||
Blocked bool `json:"blocked" url:"blocked,omitempty"`
|
|
||||||
PersonView PersonViewSafe `json:"person_view" url:"person_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type BannedPersonsResponse struct {
|
|
||||||
Banned []PersonViewSafe `json:"banned" url:"banned,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type PasswordChange struct {
|
|
||||||
Password string `json:"password" url:"password,omitempty"`
|
|
||||||
PasswordVerify string `json:"password_verify" url:"password_verify,omitempty"`
|
|
||||||
Token string `json:"token" url:"token,omitempty"`
|
|
||||||
}
|
|
14
types/person_block.gen.go
Normal file
14
types/person_block.gen.go
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type PersonBlock struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
TargetID int `json:"target_id,omitempty" url:"target_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonBlockForm struct {
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
TargetID int `json:"target_id,omitempty" url:"target_id,omitempty"`
|
||||||
|
}
|
16
types/person_mention.gen.go
Normal file
16
types/person_mention.gen.go
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type PersonMention struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonMentionForm struct {
|
||||||
|
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Read Optional[bool] `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
}
|
77
types/post.1.gen.go
Normal file
77
types/post.1.gen.go
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type Post struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"`
|
||||||
|
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"`
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Locked bool `json:"locked,omitempty" url:"locked,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
NSFW bool `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
Stickied bool `json:"stickied,omitempty" url:"stickied,omitempty"`
|
||||||
|
EmbedTitle Optional[string] `json:"embed_title,omitempty" url:"embed_title,omitempty"`
|
||||||
|
EmbedDescription Optional[string] `json:"embed_description,omitempty" url:"embed_description,omitempty"`
|
||||||
|
EmbedHtml Optional[string] `json:"embed_html,omitempty" url:"embed_html,omitempty"`
|
||||||
|
ThumbnailURL Optional[string] `json:"thumbnail_url,omitempty" url:"thumbnail_url,omitempty"`
|
||||||
|
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
}
|
||||||
|
type PostForm struct {
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"`
|
||||||
|
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"`
|
||||||
|
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Locked Optional[bool] `json:"locked,omitempty" url:"locked,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
Stickied Optional[bool] `json:"stickied,omitempty" url:"stickied,omitempty"`
|
||||||
|
EmbedTitle Optional[string] `json:"embed_title,omitempty" url:"embed_title,omitempty"`
|
||||||
|
EmbedDescription Optional[string] `json:"embed_description,omitempty" url:"embed_description,omitempty"`
|
||||||
|
EmbedHtml Optional[string] `json:"embed_html,omitempty" url:"embed_html,omitempty"`
|
||||||
|
ThumbnailURL Optional[string] `json:"thumbnail_url,omitempty" url:"thumbnail_url,omitempty"`
|
||||||
|
ApID Optional[string] `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
}
|
||||||
|
type PostLike struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Score int16 `json:"score,omitempty" url:"score,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type PostLikeForm struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Score int16 `json:"score,omitempty" url:"score,omitempty"`
|
||||||
|
}
|
||||||
|
type PostSaved struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type PostSavedForm struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
}
|
||||||
|
type PostRead struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type PostReadForm struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
}
|
123
types/post.gen.go
Normal file
123
types/post.gen.go
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type CreatePost struct {
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"`
|
||||||
|
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"`
|
||||||
|
Honeypot Optional[string] `json:"honeypot,omitempty" url:"honeypot,omitempty"`
|
||||||
|
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type PostResponse struct {
|
||||||
|
PostView PostView `json:"post_view,omitempty" url:"post_view,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetPost struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetPostResponse struct {
|
||||||
|
PostView PostView `json:"post_view,omitempty" url:"post_view,omitempty"`
|
||||||
|
CommunityView CommunityView `json:"community_view,omitempty" url:"community_view,omitempty"`
|
||||||
|
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"`
|
||||||
|
Moderators []CommunityModeratorView `json:"moderators,omitempty" url:"moderators,omitempty"`
|
||||||
|
Online uint `json:"online,omitempty" url:"online,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetPosts struct {
|
||||||
|
Type Optional[ListingType] `json:"type_,omitempty" url:"type_,omitempty"`
|
||||||
|
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
CommunityName Optional[string] `json:"community_name,omitempty" url:"community_name,omitempty"`
|
||||||
|
SavedOnly Optional[bool] `json:"saved_only,omitempty" url:"saved_only,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetPostsResponse struct {
|
||||||
|
Posts []PostView `json:"posts,omitempty" url:"posts,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type CreatePostLike struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Score int16 `json:"score,omitempty" url:"score,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type EditPost struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Name Optional[string] `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"`
|
||||||
|
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"`
|
||||||
|
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type DeletePost struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type RemovePost struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
|
||||||
|
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type MarkPostAsRead struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type LockPost struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Locked bool `json:"locked,omitempty" url:"locked,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type StickyPost struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Stickied bool `json:"stickied,omitempty" url:"stickied,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type SavePost struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Save bool `json:"save,omitempty" url:"save,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type CreatePostReport struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type PostReportResponse struct {
|
||||||
|
PostReportView PostReportView `json:"post_report_view,omitempty" url:"post_report_view,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type ResolvePostReport struct {
|
||||||
|
ReportID int `json:"report_id,omitempty" url:"report_id,omitempty"`
|
||||||
|
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type ListPostReports struct {
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
UnresolvedOnly Optional[bool] `json:"unresolved_only,omitempty" url:"unresolved_only,omitempty"`
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type ListPostReportsResponse struct {
|
||||||
|
PostReports []PostReportView `json:"post_reports,omitempty" url:"post_reports,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetSiteMetadata struct {
|
||||||
|
URL string `json:"url,omitempty" url:"url,omitempty"`
|
||||||
|
}
|
||||||
|
type GetSiteMetadataResponse struct {
|
||||||
|
Metadata SiteMetadata `json:"metadata,omitempty" url:"metadata,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type SiteMetadata struct {
|
||||||
|
Title Optional[string] `json:"title,omitempty" url:"title,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
Image Optional[string] `json:"image,omitempty" url:"image,omitempty"`
|
||||||
|
Html Optional[string] `json:"html,omitempty" url:"html,omitempty"`
|
||||||
|
}
|
146
types/post.go
146
types/post.go
@ -1,146 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type CreatePost struct {
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
URL Optional[string] `json:"url" url:"url,omitempty"`
|
|
||||||
Body Optional[string] `json:"body" url:"body,omitempty"`
|
|
||||||
Honeypot Optional[string] `json:"honeypot" url:"honeypot,omitempty"`
|
|
||||||
NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
LanguageID Optional[int] `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PostResponse struct {
|
|
||||||
PostView PostView `json:"post_view" url:"post_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPost struct {
|
|
||||||
ID Optional[int] `json:"id" url:"id,omitempty"`
|
|
||||||
CommentID Optional[int] `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPostResponse struct {
|
|
||||||
PostView PostView `json:"post_view" url:"post_view,omitempty"`
|
|
||||||
CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
|
|
||||||
Moderators []CommunityModeratorView `json:"moderators" url:"moderators,omitempty"`
|
|
||||||
Online uint `json:"online" url:"online,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPosts struct {
|
|
||||||
Type Optional[ListingType] `json:"type" url:"type,omitempty"`
|
|
||||||
Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
CommunityName Optional[string] `json:"community_name" url:"community_name,omitempty"`
|
|
||||||
SavedOnly Optional[bool] `json:"saved_only" url:"saved_only,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPostsResponse struct {
|
|
||||||
Posts []PostView `json:"posts" url:"posts,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type CreatePostLike struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Score int16 `json:"score" url:"score,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type EditPost struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Name Optional[string] `json:"name" url:"name,omitempty"`
|
|
||||||
URL Optional[string] `json:"url" url:"url,omitempty"`
|
|
||||||
Body Optional[string] `json:"body" url:"body,omitempty"`
|
|
||||||
NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
LanguageID Optional[int] `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type DeletePost struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type RemovePost struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Removed bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type MarkPostAsRead struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Read bool `json:"read" url:"read,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type LockPost struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Locked bool `json:"locked" url:"locked,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type StickyPost struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Stickied bool `json:"stickied" url:"stickied,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SavePost struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Save bool `json:"save" url:"save,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CreatePostReport struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Reason string `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PostReportResponse struct {
|
|
||||||
PostReportView PostReportView `json:"post_report_view" url:"post_report_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type ResolvePostReport struct {
|
|
||||||
ReportID int `json:"report_id" url:"report_id,omitempty"`
|
|
||||||
Resolved bool `json:"resolved" url:"resolved,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListPostReports struct {
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
UnresolvedOnly Optional[bool] `json:"unresolved_only" url:"unresolved_only,omitempty"`
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListPostReportsResponse struct {
|
|
||||||
PostReports []PostReportView `json:"post_reports" url:"post_reports,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetSiteMetadata struct {
|
|
||||||
URL string `json:"url" url:"url,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetSiteMetadataResponse struct {
|
|
||||||
Metadata SiteMetadata `json:"metadata" url:"metadata,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type SiteMetadata struct {
|
|
||||||
Title Optional[string] `json:"title" url:"title,omitempty"`
|
|
||||||
Description Optional[string] `json:"description" url:"description,omitempty"`
|
|
||||||
Image Optional[string] `json:"image" url:"image,omitempty"`
|
|
||||||
EmbedVideoURL Optional[string] `json:"embed_video_url" url:"embed_video_url,omitempty"`
|
|
||||||
}
|
|
25
types/post_report.gen.go
Normal file
25
types/post_report.gen.go
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type PostReport struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
OriginalPostName string `json:"original_post_name,omitempty" url:"original_post_name,omitempty"`
|
||||||
|
OriginalPostURL Optional[string] `json:"original_post_url,omitempty" url:"original_post_url,omitempty"`
|
||||||
|
OriginalPostBody Optional[string] `json:"original_post_body,omitempty" url:"original_post_body,omitempty"`
|
||||||
|
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"`
|
||||||
|
ResolverID Optional[int] `json:"resolver_id,omitempty" url:"resolver_id,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
}
|
||||||
|
type PostReportForm struct {
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
OriginalPostName string `json:"original_post_name,omitempty" url:"original_post_name,omitempty"`
|
||||||
|
OriginalPostURL Optional[string] `json:"original_post_url,omitempty" url:"original_post_url,omitempty"`
|
||||||
|
OriginalPostBody Optional[string] `json:"original_post_body,omitempty" url:"original_post_body,omitempty"`
|
||||||
|
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
|
||||||
|
}
|
@ -1,71 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type CreatePrivateMessage struct {
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type EditPrivateMessage struct {
|
|
||||||
PrivateMessageID int `json:"private_message_id" url:"private_message_id,omitempty"`
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type DeletePrivateMessage struct {
|
|
||||||
PrivateMessageID int `json:"private_message_id" url:"private_message_id,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type MarkPrivateMessageAsRead struct {
|
|
||||||
PrivateMessageID int `json:"private_message_id" url:"private_message_id,omitempty"`
|
|
||||||
Read bool `json:"read" url:"read,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetPrivateMessages struct {
|
|
||||||
UnreadOnly Optional[bool] `json:"unread_only" url:"unread_only,omitempty"`
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PrivateMessagesResponse struct {
|
|
||||||
PrivateMessages []PrivateMessageView `json:"private_messages" url:"private_messages,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type PrivateMessageResponse struct {
|
|
||||||
PrivateMessageView PrivateMessageView `json:"private_message_view" url:"private_message_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type CreatePrivateMessageReport struct {
|
|
||||||
PrivateMessageID int `json:"private_message_id" url:"private_message_id,omitempty"`
|
|
||||||
Reason string `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PrivateMessageReportResponse struct {
|
|
||||||
PrivateMessageReportView PrivateMessageReportView `json:"private_message_report_view" url:"private_message_report_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type ResolvePrivateMessageReport struct {
|
|
||||||
ReportID int `json:"report_id" url:"report_id,omitempty"`
|
|
||||||
Resolved bool `json:"resolved" url:"resolved,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListPrivateMessageReports struct {
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
UnresolvedOnly Optional[bool] `json:"unresolved_only" url:"unresolved_only,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListPrivateMessageReportsResponse struct {
|
|
||||||
PrivateMessageReports []PrivateMessageReportView `json:"private_message_reports" url:"private_message_reports,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
27
types/private_message.gen.go
Normal file
27
types/private_message.gen.go
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type PrivateMessage struct {
|
||||||
|
ID int `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"`
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Local bool `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
}
|
||||||
|
type PrivateMessageForm struct {
|
||||||
|
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"`
|
||||||
|
Content string `json:"content,omitempty" url:"content,omitempty"`
|
||||||
|
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"`
|
||||||
|
Read Optional[bool] `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
ApID Optional[string] `json:"ap_id,omitempty" url:"ap_id,omitempty"`
|
||||||
|
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"`
|
||||||
|
}
|
18
types/registration_application.gen.go
Normal file
18
types/registration_application.gen.go
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type RegistrationApplication struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"`
|
||||||
|
Answer string `json:"answer,omitempty" url:"answer,omitempty"`
|
||||||
|
AdminID Optional[int] `json:"admin_id,omitempty" url:"admin_id,omitempty"`
|
||||||
|
DenyReason Optional[string] `json:"deny_reason,omitempty" url:"deny_reason,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type RegistrationApplicationForm struct {
|
||||||
|
LocalUserID Optional[int] `json:"local_user_id,omitempty" url:"local_user_id,omitempty"`
|
||||||
|
Answer Optional[string] `json:"answer,omitempty" url:"answer,omitempty"`
|
||||||
|
AdminID Optional[int] `json:"admin_id,omitempty" url:"admin_id,omitempty"`
|
||||||
|
DenyReason Optional[Optional[string]] `json:"deny_reason,omitempty" url:"deny_reason,omitempty"`
|
||||||
|
}
|
1
types/request.gen.go
Normal file
1
types/request.gen.go
Normal file
@ -0,0 +1 @@
|
|||||||
|
package types
|
6
types/secret.gen.go
Normal file
6
types/secret.gen.go
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type Secret struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
JwtSecret string `json:"jwt_secret,omitempty" url:"jwt_secret,omitempty"`
|
||||||
|
}
|
1
types/sensitive.gen.go
Normal file
1
types/sensitive.gen.go
Normal file
@ -0,0 +1 @@
|
|||||||
|
package types
|
54
types/site.1.gen.go
Normal file
54
types/site.1.gen.go
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type Site struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Sidebar Optional[string] `json:"sidebar,omitempty" url:"sidebar,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
EnableDownvotes bool `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"`
|
||||||
|
OpenRegistration bool `json:"open_registration,omitempty" url:"open_registration,omitempty"`
|
||||||
|
EnableNSFW bool `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"`
|
||||||
|
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
CommunityCreationAdminOnly bool `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"`
|
||||||
|
RequireEmailVerification bool `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"`
|
||||||
|
RequireApplication bool `json:"require_application,omitempty" url:"require_application,omitempty"`
|
||||||
|
ApplicationQuestion Optional[string] `json:"application_question,omitempty" url:"application_question,omitempty"`
|
||||||
|
PrivateInstance bool `json:"private_instance,omitempty" url:"private_instance,omitempty"`
|
||||||
|
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
|
||||||
|
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"`
|
||||||
|
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"`
|
||||||
|
DefaultTheme string `json:"default_theme,omitempty" url:"default_theme,omitempty"`
|
||||||
|
DefaultPostListingType string `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"`
|
||||||
|
LegalInformation Optional[string] `json:"legal_information,omitempty" url:"legal_information,omitempty"`
|
||||||
|
}
|
||||||
|
type SiteForm struct {
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Sidebar Optional[Optional[string]] `json:"sidebar,omitempty" url:"sidebar,omitempty"`
|
||||||
|
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"`
|
||||||
|
EnableDownvotes Optional[bool] `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"`
|
||||||
|
OpenRegistration Optional[bool] `json:"open_registration,omitempty" url:"open_registration,omitempty"`
|
||||||
|
EnableNSFW Optional[bool] `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"`
|
||||||
|
Icon Optional[Optional[string]] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[Optional[string]] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
Description Optional[Optional[string]] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"`
|
||||||
|
RequireEmailVerification Optional[bool] `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"`
|
||||||
|
RequireApplication Optional[bool] `json:"require_application,omitempty" url:"require_application,omitempty"`
|
||||||
|
ApplicationQuestion Optional[Optional[string]] `json:"application_question,omitempty" url:"application_question,omitempty"`
|
||||||
|
PrivateInstance Optional[bool] `json:"private_instance,omitempty" url:"private_instance,omitempty"`
|
||||||
|
ActorID Optional[string] `json:"actor_id,omitempty" url:"actor_id,omitempty"`
|
||||||
|
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
|
||||||
|
InboxURL Optional[string] `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
|
||||||
|
PrivateKey Optional[Optional[string]] `json:"private_key,omitempty" url:"private_key,omitempty"`
|
||||||
|
PublicKey Optional[string] `json:"public_key,omitempty" url:"public_key,omitempty"`
|
||||||
|
DefaultTheme Optional[string] `json:"default_theme,omitempty" url:"default_theme,omitempty"`
|
||||||
|
DefaultPostListingType Optional[string] `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"`
|
||||||
|
LegalInformation Optional[string] `json:"legal_information,omitempty" url:"legal_information,omitempty"`
|
||||||
|
}
|
160
types/site.gen.go
Normal file
160
types/site.gen.go
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type Search struct {
|
||||||
|
Q string `json:"q,omitempty" url:"q,omitempty"`
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
CommunityName Optional[string] `json:"community_name,omitempty" url:"community_name,omitempty"`
|
||||||
|
CreatorID Optional[int] `json:"creator_id,omitempty" url:"creator_id,omitempty"`
|
||||||
|
Type Optional[SearchType] `json:"type_,omitempty" url:"type_,omitempty"`
|
||||||
|
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"`
|
||||||
|
ListingType Optional[ListingType] `json:"listing_type,omitempty" url:"listing_type,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type SearchResponse struct {
|
||||||
|
Type string `json:"type_,omitempty" url:"type_,omitempty"`
|
||||||
|
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"`
|
||||||
|
Posts []PostView `json:"posts,omitempty" url:"posts,omitempty"`
|
||||||
|
Communities []CommunityView `json:"communities,omitempty" url:"communities,omitempty"`
|
||||||
|
Users []PersonViewSafe `json:"users,omitempty" url:"users,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type ResolveObject struct {
|
||||||
|
Q string `json:"q,omitempty" url:"q,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type ResolveObjectResponse struct {
|
||||||
|
Comment Optional[CommentView] `json:"comment,omitempty" url:"comment,omitempty"`
|
||||||
|
Post Optional[PostView] `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community Optional[CommunityView] `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Person Optional[PersonViewSafe] `json:"person,omitempty" url:"person,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetModlog struct {
|
||||||
|
ModPersonID Optional[int] `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
|
||||||
|
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetModlogResponse struct {
|
||||||
|
RemovedPosts []ModRemovePostView `json:"removed_posts,omitempty" url:"removed_posts,omitempty"`
|
||||||
|
LockedPosts []ModLockPostView `json:"locked_posts,omitempty" url:"locked_posts,omitempty"`
|
||||||
|
StickiedPosts []ModStickyPostView `json:"stickied_posts,omitempty" url:"stickied_posts,omitempty"`
|
||||||
|
RemovedComments []ModRemoveCommentView `json:"removed_comments,omitempty" url:"removed_comments,omitempty"`
|
||||||
|
RemovedCommunities []ModRemoveCommunityView `json:"removed_communities,omitempty" url:"removed_communities,omitempty"`
|
||||||
|
BannedFromCommunity []ModBanFromCommunityView `json:"banned_from_community,omitempty" url:"banned_from_community,omitempty"`
|
||||||
|
Banned []ModBanView `json:"banned,omitempty" url:"banned,omitempty"`
|
||||||
|
AddedToCommunity []ModAddCommunityView `json:"added_to_community,omitempty" url:"added_to_community,omitempty"`
|
||||||
|
TransferredToCommunity []ModTransferCommunityView `json:"transferred_to_community,omitempty" url:"transferred_to_community,omitempty"`
|
||||||
|
Added []ModAddView `json:"added,omitempty" url:"added,omitempty"`
|
||||||
|
HiddenCommunities []ModHideCommunityView `json:"hidden_communities,omitempty" url:"hidden_communities,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type CreateSite struct {
|
||||||
|
Name string `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Sidebar Optional[string] `json:"sidebar,omitempty" url:"sidebar,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
EnableDownvotes Optional[bool] `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"`
|
||||||
|
OpenRegistration Optional[bool] `json:"open_registration,omitempty" url:"open_registration,omitempty"`
|
||||||
|
EnableNSFW Optional[bool] `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"`
|
||||||
|
CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"`
|
||||||
|
RequireEmailVerification Optional[bool] `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"`
|
||||||
|
RequireApplication Optional[bool] `json:"require_application,omitempty" url:"require_application,omitempty"`
|
||||||
|
ApplicationQuestion Optional[string] `json:"application_question,omitempty" url:"application_question,omitempty"`
|
||||||
|
PrivateInstance Optional[bool] `json:"private_instance,omitempty" url:"private_instance,omitempty"`
|
||||||
|
DefaultTheme Optional[string] `json:"default_theme,omitempty" url:"default_theme,omitempty"`
|
||||||
|
DefaultPostListingType Optional[string] `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type EditSite struct {
|
||||||
|
Name Optional[string] `json:"name,omitempty" url:"name,omitempty"`
|
||||||
|
Sidebar Optional[string] `json:"sidebar,omitempty" url:"sidebar,omitempty"`
|
||||||
|
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
|
||||||
|
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
|
||||||
|
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
|
||||||
|
EnableDownvotes Optional[bool] `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"`
|
||||||
|
OpenRegistration Optional[bool] `json:"open_registration,omitempty" url:"open_registration,omitempty"`
|
||||||
|
EnableNSFW Optional[bool] `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"`
|
||||||
|
CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"`
|
||||||
|
RequireEmailVerification Optional[bool] `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"`
|
||||||
|
RequireApplication Optional[bool] `json:"require_application,omitempty" url:"require_application,omitempty"`
|
||||||
|
ApplicationQuestion Optional[string] `json:"application_question,omitempty" url:"application_question,omitempty"`
|
||||||
|
PrivateInstance Optional[bool] `json:"private_instance,omitempty" url:"private_instance,omitempty"`
|
||||||
|
DefaultTheme Optional[string] `json:"default_theme,omitempty" url:"default_theme,omitempty"`
|
||||||
|
DefaultPostListingType Optional[string] `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"`
|
||||||
|
LegalInformation Optional[string] `json:"legal_information,omitempty" url:"legal_information,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetSite struct {
|
||||||
|
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type SiteResponse struct {
|
||||||
|
SiteView SiteView `json:"site_view,omitempty" url:"site_view,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetSiteResponse struct {
|
||||||
|
SiteView Optional[SiteView] `json:"site_view,omitempty" url:"site_view,omitempty"`
|
||||||
|
Admins []PersonViewSafe `json:"admins,omitempty" url:"admins,omitempty"`
|
||||||
|
Online uint `json:"online,omitempty" url:"online,omitempty"`
|
||||||
|
Version string `json:"version,omitempty" url:"version,omitempty"`
|
||||||
|
MyUser Optional[MyUserInfo] `json:"my_user,omitempty" url:"my_user,omitempty"`
|
||||||
|
FederatedInstances Optional[FederatedInstances] `json:"federated_instances,omitempty" url:"federated_instances,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type MyUserInfo struct {
|
||||||
|
LocalUserView LocalUserSettingsView `json:"local_user_view,omitempty" url:"local_user_view,omitempty"`
|
||||||
|
Follows []CommunityFollowerView `json:"follows,omitempty" url:"follows,omitempty"`
|
||||||
|
Moderates []CommunityModeratorView `json:"moderates,omitempty" url:"moderates,omitempty"`
|
||||||
|
CommunityBlocks []CommunityBlockView `json:"community_blocks,omitempty" url:"community_blocks,omitempty"`
|
||||||
|
PersonBlocks []PersonBlockView `json:"person_blocks,omitempty" url:"person_blocks,omitempty"`
|
||||||
|
}
|
||||||
|
type LeaveAdmin struct {
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetSiteConfig struct {
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetSiteConfigResponse struct {
|
||||||
|
ConfigHjson string `json:"config_hjson,omitempty" url:"config_hjson,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type SaveSiteConfig struct {
|
||||||
|
ConfigHjson string `json:"config_hjson,omitempty" url:"config_hjson,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type FederatedInstances struct {
|
||||||
|
Linked []string `json:"linked,omitempty" url:"linked,omitempty"`
|
||||||
|
Allowed Optional[[]string] `json:"allowed,omitempty" url:"allowed,omitempty"`
|
||||||
|
Blocked Optional[[]string] `json:"blocked,omitempty" url:"blocked,omitempty"`
|
||||||
|
}
|
||||||
|
type ListRegistrationApplications struct {
|
||||||
|
UnreadOnly Optional[bool] `json:"unread_only,omitempty" url:"unread_only,omitempty"`
|
||||||
|
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"`
|
||||||
|
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type ListRegistrationApplicationsResponse struct {
|
||||||
|
RegistrationApplications []RegistrationApplicationView `json:"registration_applications,omitempty" url:"registration_applications,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type ApproveRegistrationApplication struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
Approve bool `json:"approve,omitempty" url:"approve,omitempty"`
|
||||||
|
DenyReason Optional[string] `json:"deny_reason,omitempty" url:"deny_reason,omitempty"`
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type RegistrationApplicationResponse struct {
|
||||||
|
RegistrationApplication RegistrationApplicationView `json:"registration_application,omitempty" url:"registration_application,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type GetUnreadRegistrationApplicationCount struct {
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type GetUnreadRegistrationApplicationCountResponse struct {
|
||||||
|
RegistrationApplications int64 `json:"registration_applications,omitempty" url:"registration_applications,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
256
types/site.go
256
types/site.go
@ -1,256 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type Search struct {
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
CommunityName Optional[string] `json:"community_name" url:"community_name,omitempty"`
|
|
||||||
CreatorID Optional[int] `json:"creator_id" url:"creator_id,omitempty"`
|
|
||||||
Limit Optional[int] `json:"limit" url:"limit,omitempty"`
|
|
||||||
ListingType Optional[ListingType] `json:"listing_type" url:"listing_type,omitempty"`
|
|
||||||
Page Optional[int] `json:"page" url:"page,omitempty"`
|
|
||||||
Query string `json:"q" url:"q,omitempty"`
|
|
||||||
Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
|
|
||||||
Type Optional[SearchType] `json:"type_" url:"type_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SearchResponse struct {
|
|
||||||
Type string `json:"type" url:"type,omitempty"`
|
|
||||||
Comments []CommentView `json:"comments" url:"comments,omitempty"`
|
|
||||||
Posts []PostView `json:"posts" url:"posts,omitempty"`
|
|
||||||
Communities []CommunityView `json:"communities" url:"communities,omitempty"`
|
|
||||||
Users []PersonViewSafe `json:"users" url:"users,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type ResolveObject struct {
|
|
||||||
Query string `json:"q" url:"q,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ResolveObjectResponse struct {
|
|
||||||
Comment Optional[CommentView] `json:"comment" url:"comment,omitempty"`
|
|
||||||
Post Optional[PostView] `json:"post" url:"post,omitempty"`
|
|
||||||
Community Optional[CommunityView] `json:"community" url:"community,omitempty"`
|
|
||||||
Person Optional[PersonViewSafe] `json:"person" url:"person,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetModlog struct {
|
|
||||||
ModPersonID Optional[int] `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
Type Optional[ModlogActionType] `json:"type" url:"type,omitempty"`
|
|
||||||
OtherPersonID Optional[int] `json:"other_person_id" url:"other_person_id,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetModlogResponse struct {
|
|
||||||
RemovedPosts []ModRemovePostView `json:"removed_posts" url:"removed_posts,omitempty"`
|
|
||||||
LockedPosts []ModLockPostView `json:"locked_posts" url:"locked_posts,omitempty"`
|
|
||||||
StickiedPosts []ModStickyPostView `json:"stickied_posts" url:"stickied_posts,omitempty"`
|
|
||||||
RemovedComments []ModRemoveCommentView `json:"removed_comments" url:"removed_comments,omitempty"`
|
|
||||||
RemovedCommunities []ModRemoveCommunityView `json:"removed_communities" url:"removed_communities,omitempty"`
|
|
||||||
BannedFromCommunity []ModBanFromCommunityView `json:"banned_from_community" url:"banned_from_community,omitempty"`
|
|
||||||
Banned []ModBanView `json:"banned" url:"banned,omitempty"`
|
|
||||||
AddedToCommunity []ModAddCommunityView `json:"added_to_community" url:"added_to_community,omitempty"`
|
|
||||||
TransferredToCommunity []ModTransferCommunityView `json:"transferred_to_community" url:"transferred_to_community,omitempty"`
|
|
||||||
Added []ModAddView `json:"added" url:"added,omitempty"`
|
|
||||||
AdminPurgedPersons []AdminPurgePersonView `json:"admin_purged_persons" url:"admin_purged_persons,omitempty"`
|
|
||||||
AdminPurgedCommunities []AdminPurgeCommunityView `json:"admin_purged_communities" url:"admin_purged_communities,omitempty"`
|
|
||||||
AdminPurgedPosts []AdminPurgePostView `json:"admin_purged_posts" url:"admin_purged_posts,omitempty"`
|
|
||||||
AdminPurgedComments []AdminPurgeCommentView `json:"admin_purged_comments" url:"admin_purged_comments,omitempty"`
|
|
||||||
HiddenCommunities []ModHideCommunityView `json:"hidden_communities" url:"hidden_communities,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type CreateSite struct {
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
Sidebar Optional[string] `json:"sidebar" url:"sidebar,omitempty"`
|
|
||||||
Description Optional[string] `json:"description" url:"description,omitempty"`
|
|
||||||
Icon Optional[string] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
EnableDownvotes Optional[bool] `json:"enable_downvotes" url:"enable_downvotes,omitempty"`
|
|
||||||
OpenRegistration Optional[bool] `json:"open_registration" url:"open_registration,omitempty"`
|
|
||||||
EnableNSFW Optional[bool] `json:"enable_nsfw" url:"enable_nsfw,omitempty"`
|
|
||||||
CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only" url:"community_creation_admin_only,omitempty"`
|
|
||||||
RequireEmailVerification Optional[bool] `json:"require_email_verification" url:"require_email_verification,omitempty"`
|
|
||||||
RequireApplication Optional[bool] `json:"require_application" url:"require_application,omitempty"`
|
|
||||||
ApplicationQuestion Optional[string] `json:"application_question" url:"application_question,omitempty"`
|
|
||||||
PrivateInstance Optional[bool] `json:"private_instance" url:"private_instance,omitempty"`
|
|
||||||
DefaultTheme Optional[string] `json:"default_theme" url:"default_theme,omitempty"`
|
|
||||||
DefaultPostListingType Optional[string] `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
|
|
||||||
LegalInformation Optional[string] `json:"legal_information" url:"legal_information,omitempty"`
|
|
||||||
ApplicationEmailAdmins Optional[bool] `json:"application_email_admins" url:"application_email_admins,omitempty"`
|
|
||||||
HideModlogModNames Optional[bool] `json:"hide_modlog_mod_names" url:"hide_modlog_mod_names,omitempty"`
|
|
||||||
DiscussionLanguages Optional[[]int] `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
SlurFilterRegex Optional[string] `json:"slur_filter_regex" url:"slur_filter_regex,omitempty"`
|
|
||||||
ActorNameMaxLength Optional[int] `json:"actor_name_max_length" url:"actor_name_max_length,omitempty"`
|
|
||||||
RateLimitMessage Optional[int] `json:"rate_limit_message" url:"rate_limit_message,omitempty"`
|
|
||||||
RateLimitMessagePerSecond Optional[int] `json:"rate_limit_message_per_second" url:"rate_limit_message_per_second,omitempty"`
|
|
||||||
RateLimitPost Optional[int] `json:"rate_limit_post" url:"rate_limit_post,omitempty"`
|
|
||||||
RateLimitPostPerSecond Optional[int] `json:"rate_limit_post_per_second" url:"rate_limit_post_per_second,omitempty"`
|
|
||||||
RateLimitRegister Optional[int] `json:"rate_limit_register" url:"rate_limit_register,omitempty"`
|
|
||||||
RateLimitRegisterPerSecond Optional[int] `json:"rate_limit_register_per_second" url:"rate_limit_register_per_second,omitempty"`
|
|
||||||
RateLimitImage Optional[int] `json:"rate_limit_image" url:"rate_limit_image,omitempty"`
|
|
||||||
RateLimitImagePerSecond Optional[int] `json:"rate_limit_image_per_second" url:"rate_limit_image_per_second,omitempty"`
|
|
||||||
RateLimitComment Optional[int] `json:"rate_limit_comment" url:"rate_limit_comment,omitempty"`
|
|
||||||
RateLimitCommentPerSecond Optional[int] `json:"rate_limit_comment_per_second" url:"rate_limit_comment_per_second,omitempty"`
|
|
||||||
RateLimitSearch Optional[int] `json:"rate_limit_search" url:"rate_limit_search,omitempty"`
|
|
||||||
RateLimitSearchPerSecond Optional[int] `json:"rate_limit_search_per_second" url:"rate_limit_search_per_second,omitempty"`
|
|
||||||
FederationEnabled Optional[bool] `json:"federation_enabled" url:"federation_enabled,omitempty"`
|
|
||||||
FederationDebug Optional[bool] `json:"federation_debug" url:"federation_debug,omitempty"`
|
|
||||||
FederationWorkerCount Optional[int] `json:"federation_worker_count" url:"federation_worker_count,omitempty"`
|
|
||||||
CaptchaEnabled Optional[bool] `json:"captcha_enabled" url:"captcha_enabled,omitempty"`
|
|
||||||
CaptchaDifficulty Optional[string] `json:"captcha_difficulty" url:"captcha_difficulty,omitempty"`
|
|
||||||
AllowedInstances Optional[[]string] `json:"allowed_instances" url:"allowed_instances,omitempty"`
|
|
||||||
BlockedInstances Optional[[]string] `json:"blocked_instances" url:"blocked_instances,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type EditSite struct {
|
|
||||||
Name Optional[string] `json:"name" url:"name,omitempty"`
|
|
||||||
Sidebar Optional[string] `json:"sidebar" url:"sidebar,omitempty"`
|
|
||||||
Description Optional[string] `json:"description" url:"description,omitempty"`
|
|
||||||
Icon Optional[string] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
EnableDownvotes Optional[bool] `json:"enable_downvotes" url:"enable_downvotes,omitempty"`
|
|
||||||
OpenRegistration Optional[bool] `json:"open_registration" url:"open_registration,omitempty"`
|
|
||||||
EnableNSFW Optional[bool] `json:"enable_nsfw" url:"enable_nsfw,omitempty"`
|
|
||||||
CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only" url:"community_creation_admin_only,omitempty"`
|
|
||||||
RequireEmailVerification Optional[bool] `json:"require_email_verification" url:"require_email_verification,omitempty"`
|
|
||||||
RequireApplication Optional[bool] `json:"require_application" url:"require_application,omitempty"`
|
|
||||||
ApplicationQuestion Optional[string] `json:"application_question" url:"application_question,omitempty"`
|
|
||||||
PrivateInstance Optional[bool] `json:"private_instance" url:"private_instance,omitempty"`
|
|
||||||
DefaultTheme Optional[string] `json:"default_theme" url:"default_theme,omitempty"`
|
|
||||||
DefaultPostListingType Optional[string] `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
|
|
||||||
LegalInformation Optional[string] `json:"legal_information" url:"legal_information,omitempty"`
|
|
||||||
ApplicationEmailAdmins Optional[bool] `json:"application_email_admins" url:"application_email_admins,omitempty"`
|
|
||||||
HideModlogModNames Optional[bool] `json:"hide_modlog_mod_names" url:"hide_modlog_mod_names,omitempty"`
|
|
||||||
DiscussionLanguages Optional[[]int] `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
SlurFilterRegex Optional[string] `json:"slur_filter_regex" url:"slur_filter_regex,omitempty"`
|
|
||||||
ActorNameMaxLength Optional[int] `json:"actor_name_max_length" url:"actor_name_max_length,omitempty"`
|
|
||||||
RateLimitMessage Optional[int] `json:"rate_limit_message" url:"rate_limit_message,omitempty"`
|
|
||||||
RateLimitMessagePerSecond Optional[int] `json:"rate_limit_message_per_second" url:"rate_limit_message_per_second,omitempty"`
|
|
||||||
RateLimitPost Optional[int] `json:"rate_limit_post" url:"rate_limit_post,omitempty"`
|
|
||||||
RateLimitPostPerSecond Optional[int] `json:"rate_limit_post_per_second" url:"rate_limit_post_per_second,omitempty"`
|
|
||||||
RateLimitRegister Optional[int] `json:"rate_limit_register" url:"rate_limit_register,omitempty"`
|
|
||||||
RateLimitRegisterPerSecond Optional[int] `json:"rate_limit_register_per_second" url:"rate_limit_register_per_second,omitempty"`
|
|
||||||
RateLimitImage Optional[int] `json:"rate_limit_image" url:"rate_limit_image,omitempty"`
|
|
||||||
RateLimitImagePerSecond Optional[int] `json:"rate_limit_image_per_second" url:"rate_limit_image_per_second,omitempty"`
|
|
||||||
RateLimitComment Optional[int] `json:"rate_limit_comment" url:"rate_limit_comment,omitempty"`
|
|
||||||
RateLimitCommentPerSecond Optional[int] `json:"rate_limit_comment_per_second" url:"rate_limit_comment_per_second,omitempty"`
|
|
||||||
RateLimitSearch Optional[int] `json:"rate_limit_search" url:"rate_limit_search,omitempty"`
|
|
||||||
RateLimitSearchPerSecond Optional[int] `json:"rate_limit_search_per_second" url:"rate_limit_search_per_second,omitempty"`
|
|
||||||
FederationEnabled Optional[bool] `json:"federation_enabled" url:"federation_enabled,omitempty"`
|
|
||||||
FederationDebug Optional[bool] `json:"federation_debug" url:"federation_debug,omitempty"`
|
|
||||||
FederationWorkerCount Optional[int] `json:"federation_worker_count" url:"federation_worker_count,omitempty"`
|
|
||||||
CaptchaEnabled Optional[bool] `json:"captcha_enabled" url:"captcha_enabled,omitempty"`
|
|
||||||
CaptchaDifficulty Optional[string] `json:"captcha_difficulty" url:"captcha_difficulty,omitempty"`
|
|
||||||
AllowedInstances Optional[[]string] `json:"allowed_instances" url:"allowed_instances,omitempty"`
|
|
||||||
BlockedInstances Optional[[]string] `json:"blocked_instances" url:"blocked_instances,omitempty"`
|
|
||||||
Taglines Optional[[]string] `json:"taglines" url:"taglines,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetSite struct {
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SiteResponse struct {
|
|
||||||
SiteView SiteView `json:"site_view" url:"site_view,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetSiteResponse struct {
|
|
||||||
SiteView SiteView `json:"site_view" url:"site_view,omitempty"`
|
|
||||||
Admins []PersonViewSafe `json:"admins" url:"admins,omitempty"`
|
|
||||||
Online int `json:"online" url:"online,omitempty"`
|
|
||||||
Version string `json:"version" url:"version,omitempty"`
|
|
||||||
MyUser Optional[MyUserInfo] `json:"my_user" url:"my_user,omitempty"`
|
|
||||||
FederatedInstances Optional[FederatedInstances] `json:"federated_instances" url:"federated_instances,omitempty"`
|
|
||||||
AllLanguages []Language `json:"all_languages" url:"all_languages,omitempty"`
|
|
||||||
DiscussionLanguages []int `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
Taglines Optional[[]Tagline] `json:"taglines" url:"taglines,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type MyUserInfo struct {
|
|
||||||
LocalUserView LocalUserSettingsView `json:"local_user_view" url:"local_user_view,omitempty"`
|
|
||||||
Follows []CommunityFollowerView `json:"follows" url:"follows,omitempty"`
|
|
||||||
Moderates []CommunityModeratorView `json:"moderates" url:"moderates,omitempty"`
|
|
||||||
CommunityBlocks []CommunityBlockView `json:"community_blocks" url:"community_blocks,omitempty"`
|
|
||||||
PersonBlocks []PersonBlockView `json:"person_blocks" url:"person_blocks,omitempty"`
|
|
||||||
DiscussionLanguages []Language `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type LeaveAdmin struct {
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type FederatedInstances struct {
|
|
||||||
Linked []string `json:"linked" url:"linked,omitempty"`
|
|
||||||
Allowed Optional[[]string] `json:"allowed" url:"allowed,omitempty"`
|
|
||||||
Blocked Optional[[]string] `json:"blocked" url:"blocked,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PurgePerson struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PurgeCommunity struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PurgePost struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PurgeComment struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PurgeItemResponse struct {
|
|
||||||
Success bool `json:"success" url:"success,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListRegistrationApplications struct {
|
|
||||||
UnreadOnly Optional[bool] `json:"unread_only" url:"unread_only,omitempty"`
|
|
||||||
Page Optional[int] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int] `json:"limit" url:"limit,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ListRegistrationApplicationsResponse struct {
|
|
||||||
RegistrationApplications []RegistrationApplicationView `json:"registration_applications" url:"registration_applications,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type ApproveRegistrationApplication struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Approve bool `json:"approve" url:"approve,omitempty"`
|
|
||||||
DenyReason Optional[string] `json:"deny_reason" url:"deny_reason,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type RegistrationApplicationResponse struct {
|
|
||||||
RegistrationApplication RegistrationApplicationView `json:"registration_application" url:"registration_application,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetUnreadRegistrationApplicationCount struct {
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetUnreadRegistrationApplicationCountResponse struct {
|
|
||||||
RegistrationApplications int `json:"registration_applications" url:"registration_applications,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
402
types/source.go
402
types/source.go
@ -1,402 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
import "time"
|
|
||||||
|
|
||||||
type LocalUserSettings struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Email Optional[string] `json:"email" url:"email,omitempty"`
|
|
||||||
ShowNSFW bool `json:"show_nsfw" url:"show_nsfw,omitempty"`
|
|
||||||
Theme string `json:"theme" url:"theme,omitempty"`
|
|
||||||
DefaultSortType int `json:"default_sort_type" url:"default_sort_type,omitempty"`
|
|
||||||
DefaultListingType int `json:"default_listing_type" url:"default_listing_type,omitempty"`
|
|
||||||
InterfaceLanguage string `json:"interface_language" url:"interface_language,omitempty"`
|
|
||||||
ShowAvatars bool `json:"show_avatars" url:"show_avatars,omitempty"`
|
|
||||||
SendNotifications bool `json:"send_notifications_to_email" url:"send_notifications_to_email,omitempty"`
|
|
||||||
ValidatorTime string `json:"validator_time" url:"validator_time,omitempty"`
|
|
||||||
ShowBotAccounts bool `json:"show_bot_accounts" url:"show_bot_accounts,omitempty"`
|
|
||||||
ShowScores bool `json:"show_scores" url:"show_scores,omitempty"`
|
|
||||||
ShowReadPosts bool `json:"show_read_posts" url:"show_read_posts,omitempty"`
|
|
||||||
ShowNewPostNotifs bool `json:"show_new_post_notifs" url:"show_new_post_notifs,omitempty"`
|
|
||||||
EmailVerified bool `json:"email_verified" url:"email_verified,omitempty"`
|
|
||||||
AcceptedApplication bool `json:"accepted_application" url:"accepted_application,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PersonSafe struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
|
|
||||||
Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
|
|
||||||
Banned bool `json:"banned" url:"banned,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
ActorID string `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
Bio Optional[string] `json:"bio" url:"bio,omitempty"`
|
|
||||||
Local bool `json:"local" url:"local,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
|
|
||||||
SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
|
|
||||||
MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
|
|
||||||
Admin bool `json:"admin" url:"admin,omitempty"`
|
|
||||||
BotAccount bool `json:"bot_account" url:"bot_account,omitempty"`
|
|
||||||
BanExpires Optional[string] `json:"ban_expires" url:"ban_expires,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Site struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
Sidebar Optional[string] `json:"sidebar" url:"sidebar,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
Icon Optional[string] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
Description Optional[string] `json:"description" url:"description,omitempty"`
|
|
||||||
ActorID string `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
LastRefreshedAt string `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
|
|
||||||
InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
|
|
||||||
PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
PublicKey string `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type LocalSite struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
SiteID int `json:"site_id" url:"site_id,omitempty"`
|
|
||||||
SiteSetup bool `json:"site_setup" url:"site_setup,omitempty"`
|
|
||||||
EnableDownvotes bool `json:"enable_downvotes" url:"enable_downvotes,omitempty"`
|
|
||||||
OpenRegistration bool `json:"open_registration" url:"open_registration,omitempty"`
|
|
||||||
EnableNSFW bool `json:"enable_nsfw" url:"enable_nsfw,omitempty"`
|
|
||||||
AdminOnlyCommunityCreation bool `json:"community_creation_admin_only" url:"community_creation_admin_only,omitempty"`
|
|
||||||
RequireEmailVerification bool `json:"require_email_verification" url:"require_email_verification,omitempty"`
|
|
||||||
RequireApplication bool `json:"require_application" url:"require_application,omitempty"`
|
|
||||||
ApplicationQuestion Optional[string] `json:"application_question" url:"application_question,omitempty"`
|
|
||||||
PrivateInstance bool `json:"private_instance" url:"private_instance,omitempty"`
|
|
||||||
DefaultTheme string `json:"default_theme" url:"default_theme,omitempty"`
|
|
||||||
DefaultPostListingType string `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
|
|
||||||
LegalInformation Optional[string] `json:"legal_information" url:"legal_information,omitempty"`
|
|
||||||
HideModlogModNames bool `json:"hide_modlog_mod_names" url:"hide_modlog_mod_names,omitempty"`
|
|
||||||
ApplicationEmailAdmins bool `json:"application_email_admins" url:"application_email_admins,omitempty"`
|
|
||||||
SlurFilterRegex Optional[string] `json:"slur_filter_regex" url:"slur_filter_regex,omitempty"`
|
|
||||||
ActorNameMaxLength int `json:"actor_name_max_length" url:"actor_name_max_length,omitempty"`
|
|
||||||
FederationEnabled bool `json:"federation_enabled" url:"federation_enabled,omitempty"`
|
|
||||||
FederationDebug bool `json:"federation_debug" url:"federation_debug,omitempty"`
|
|
||||||
FederationStrictAllowlist bool `json:"federation_strict_allowlist" url:"federation_strict_allowlist,omitempty"`
|
|
||||||
FederationRetryLimit int `json:"federation_http_fetch_retry_limit" url:"federation_http_fetch_retry_limit,omitempty"`
|
|
||||||
FederationWorkerCount int `json:"federation_worker_count" url:"federation_worker_count,omitempty"`
|
|
||||||
CaptchaEnabled bool `json:"captcha_enabled" url:"captcha_enabled,omitempty"`
|
|
||||||
CaptchaDifficulty string `json:"captcha_difficulty" url:"captcha_difficulty,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type LocalSiteRateLimit struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
Message int `json:"message" url:"message,omitempty"`
|
|
||||||
MessagePerSecond int `json:"message_per_second" url:"message_per_second,omitempty"`
|
|
||||||
Post int `json:"post" url:"post,omitempty"`
|
|
||||||
PostPerSecond int `json:"post_per_second" url:"post_per_second,omitempty"`
|
|
||||||
Register int `json:"register" url:"register,omitempty"`
|
|
||||||
RegisterPerSecond int `json:"register_per_second" url:"register_per_second,omitempty"`
|
|
||||||
Image int `json:"image" url:"image,omitempty"`
|
|
||||||
ImagePerSecond int `json:"image_per_second" url:"image_per_second,omitempty"`
|
|
||||||
Comment int `json:"comment" url:"comment,omitempty"`
|
|
||||||
CommentPerSecond int `json:"comment_per_second" url:"comment_per_second,omitempty"`
|
|
||||||
Search int `json:"search" url:"search,omitempty"`
|
|
||||||
SearchPerSecond int `json:"search_per_second" url:"search_per_second,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PrivateMessage struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
|
|
||||||
RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
Read bool `json:"read" url:"read,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
ApID string `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local bool `json:"local" url:"local,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PostReport struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
OriginalPostName string `json:"original_post_name" url:"original_post_name,omitempty"`
|
|
||||||
OriginalPostURL Optional[string] `json:"original_post_url" url:"original_post_url,omitempty"`
|
|
||||||
OriginalPostBody Optional[string] `json:"original_post_body" url:"original_post_body,omitempty"`
|
|
||||||
Reason string `json:"reason" url:"reason,omitempty"`
|
|
||||||
Resolved bool `json:"resolved" url:"resolved,omitempty"`
|
|
||||||
ResolverID Optional[int] `json:"resolver_id" url:"resolver_id,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Post struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
URL Optional[string] `json:"url" url:"url,omitempty"`
|
|
||||||
Body Optional[string] `json:"body" url:"body,omitempty"`
|
|
||||||
CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Removed bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
Locked bool `json:"locked" url:"locked,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
NSFW bool `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
Stickied bool `json:"stickied" url:"stickied,omitempty"`
|
|
||||||
EmbedTitle Optional[string] `json:"embed_title" url:"embed_title,omitempty"`
|
|
||||||
EmbedDescription Optional[string] `json:"embed_description" url:"embed_description,omitempty"`
|
|
||||||
EmbedVideoURL Optional[string] `json:"embed_video_url" url:"embed_video_url,omitempty"`
|
|
||||||
ThumbnailURL Optional[string] `json:"thumbnail_url" url:"thumbnail_url,omitempty"`
|
|
||||||
ApID string `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local bool `json:"local" url:"local,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PasswordResetRequest struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
TokenEncrypted string `json:"token_encrypted" url:"token_encrypted,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModRemovePost struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModLockPost struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Locked Optional[bool] `json:"locked" url:"locked,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModStickyPost represents a post stickied by a moderator.
|
|
||||||
type ModStickyPost struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Stickied Optional[bool] `json:"stickied" url:"stickied,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModRemoveComment represents a comment removal by a moderator.
|
|
||||||
type ModRemoveComment struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModRemoveCommunity represents a community removal by a moderator.
|
|
||||||
type ModRemoveCommunity struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
Expires Optional[string] `json:"expires" url:"expires,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModBanFromCommunity represents a user being banned from a community by a moderator.
|
|
||||||
type ModBanFromCommunity struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
|
|
||||||
Expires Optional[string] `json:"expires" url:"expires,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModBan represents a user being banned by a moderator.
|
|
||||||
type ModBan struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
|
|
||||||
Expires Optional[string] `json:"expires" url:"expires,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModAddCommunity represents a user being added as a moderator of a community.
|
|
||||||
type ModAddCommunity struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModTransferCommunity represents a community being transferred to another moderator.
|
|
||||||
type ModTransferCommunity struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModAdd represents a user being added as a moderator.
|
|
||||||
type ModAdd struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AdminPurgePerson struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
AdminPersonID int `json:"admin_person_id" url:"admin_person_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AdminPurgeCommunity struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
AdminPersonID int `json:"admin_person_id" url:"admin_person_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AdminPurgePost struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
AdminPersonID int `json:"admin_person_id" url:"admin_person_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AdminPurgeComment struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
AdminPersonID int `json:"admin_person_id" url:"admin_person_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
When string `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunitySafe struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
Title string `json:"title" url:"title,omitempty"`
|
|
||||||
Description Optional[string] `json:"description" url:"description,omitempty"`
|
|
||||||
Removed bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
NSFW bool `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
ActorID string `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
Local bool `json:"local" url:"local,omitempty"`
|
|
||||||
Icon Optional[string] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
Hidden bool `json:"hidden" url:"hidden,omitempty"`
|
|
||||||
PostingRestrictedToMods bool `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentReport struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
OriginalCommentText string `json:"original_comment_text" url:"original_comment_text,omitempty"`
|
|
||||||
Reason string `json:"reason" url:"reason,omitempty"`
|
|
||||||
Resolved bool `json:"resolved" url:"resolved,omitempty"`
|
|
||||||
ResolverID Optional[int] `json:"resolver_id" url:"resolver_id,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Comment struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
Removed bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
APID string `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local bool `json:"local" url:"local,omitempty"`
|
|
||||||
Path string `json:"path" url:"path,omitempty"`
|
|
||||||
Distinguished bool `json:"distinguished" url:"distinguished,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PersonMention struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Read bool `json:"read" url:"read,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Language struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Code string `json:"code" url:"code,omitempty"`
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PrivateMessageReport struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
|
|
||||||
PrivateMessageID int `json:"private_message_id" url:"private_message_id,omitempty"`
|
|
||||||
OriginalPMText string `json:"original_pm_text" url:"original_pm_text,omitempty"`
|
|
||||||
Reason string `json:"reason" url:"reason,omitempty"`
|
|
||||||
Resolved bool `json:"resolved" url:"resolved,omitempty"`
|
|
||||||
ResolverID Optional[int] `json:"resolver_id" url:"resolver_id,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type RegistrationApplication struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
Answer string `json:"answer" url:"answer,omitempty"`
|
|
||||||
AdminID Optional[int] `json:"admin_id" url:"admin_id,omitempty"`
|
|
||||||
DenyReason Optional[string] `json:"deny_reason" url:"deny_reason,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModHideCommunityView struct {
|
|
||||||
ModHideCommunity ModHideCommunity `json:"mod_hide_community" url:"mod_hide_community,omitempty"`
|
|
||||||
Admin Optional[PersonSafe] `json:"admin" url:"admin,omitempty"`
|
|
||||||
Community CommunitySafe `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModHideCommunity struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Hidden Optional[bool] `json:"hidden" url:"hidden,omitempty"`
|
|
||||||
When time.Time `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentReply struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Read bool `json:"read" url:"read,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
75
types/structs.1.gen.go
Normal file
75
types/structs.1.gen.go
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type CommentReportView struct {
|
||||||
|
CommentReport CommentReport `json:"comment_report,omitempty" url:"comment_report,omitempty"`
|
||||||
|
Comment Comment `json:"comment,omitempty" url:"comment,omitempty"`
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"`
|
||||||
|
CommentCreator PersonSafeAlias1 `json:"comment_creator,omitempty" url:"comment_creator,omitempty"`
|
||||||
|
Counts CommentAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"`
|
||||||
|
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"`
|
||||||
|
Resolver Optional[PersonSafeAlias2] `json:"resolver,omitempty" url:"resolver,omitempty"`
|
||||||
|
}
|
||||||
|
type CommentView struct {
|
||||||
|
Comment Comment `json:"comment,omitempty" url:"comment,omitempty"`
|
||||||
|
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"`
|
||||||
|
Recipient Optional[PersonSafeAlias1] `json:"recipient,omitempty" url:"recipient,omitempty"`
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Counts CommentAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"`
|
||||||
|
Subscribed bool `json:"subscribed,omitempty" url:"subscribed,omitempty"`
|
||||||
|
Saved bool `json:"saved,omitempty" url:"saved,omitempty"`
|
||||||
|
CreatorBlocked bool `json:"creator_blocked,omitempty" url:"creator_blocked,omitempty"`
|
||||||
|
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"`
|
||||||
|
}
|
||||||
|
type LocalUserView struct {
|
||||||
|
LocalUser LocalUser `json:"local_user,omitempty" url:"local_user,omitempty"`
|
||||||
|
Person Person `json:"person,omitempty" url:"person,omitempty"`
|
||||||
|
Counts PersonAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
}
|
||||||
|
type LocalUserSettingsView struct {
|
||||||
|
LocalUser LocalUserSettings `json:"local_user,omitempty" url:"local_user,omitempty"`
|
||||||
|
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"`
|
||||||
|
Counts PersonAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
}
|
||||||
|
type PostReportView struct {
|
||||||
|
PostReport PostReport `json:"post_report,omitempty" url:"post_report,omitempty"`
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"`
|
||||||
|
PostCreator PersonSafeAlias1 `json:"post_creator,omitempty" url:"post_creator,omitempty"`
|
||||||
|
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"`
|
||||||
|
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"`
|
||||||
|
Counts PostAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
Resolver Optional[PersonSafeAlias2] `json:"resolver,omitempty" url:"resolver,omitempty"`
|
||||||
|
}
|
||||||
|
type PostView struct {
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"`
|
||||||
|
Counts PostAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
Subscribed bool `json:"subscribed,omitempty" url:"subscribed,omitempty"`
|
||||||
|
Saved bool `json:"saved,omitempty" url:"saved,omitempty"`
|
||||||
|
Read bool `json:"read,omitempty" url:"read,omitempty"`
|
||||||
|
CreatorBlocked bool `json:"creator_blocked,omitempty" url:"creator_blocked,omitempty"`
|
||||||
|
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"`
|
||||||
|
}
|
||||||
|
type PrivateMessageView struct {
|
||||||
|
PrivateMessage PrivateMessage `json:"private_message,omitempty" url:"private_message,omitempty"`
|
||||||
|
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"`
|
||||||
|
Recipient PersonSafeAlias1 `json:"recipient,omitempty" url:"recipient,omitempty"`
|
||||||
|
}
|
||||||
|
type RegistrationApplicationView struct {
|
||||||
|
RegistrationApplication RegistrationApplication `json:"registration_application,omitempty" url:"registration_application,omitempty"`
|
||||||
|
CreatorLocalUser LocalUserSettings `json:"creator_local_user,omitempty" url:"creator_local_user,omitempty"`
|
||||||
|
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"`
|
||||||
|
Admin Optional[PersonSafeAlias1] `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
}
|
||||||
|
type SiteView struct {
|
||||||
|
Site Site `json:"site,omitempty" url:"site,omitempty"`
|
||||||
|
Counts SiteAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
}
|
66
types/structs.2.gen.go
Normal file
66
types/structs.2.gen.go
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type ModAddCommunityView struct {
|
||||||
|
ModAddCommunity ModAddCommunity `json:"mod_add_community,omitempty" url:"mod_add_community,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
ModdedPerson PersonSafeAlias1 `json:"modded_person,omitempty" url:"modded_person,omitempty"`
|
||||||
|
}
|
||||||
|
type ModAddView struct {
|
||||||
|
ModAdd ModAdd `json:"mod_add,omitempty" url:"mod_add,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
ModdedPerson PersonSafeAlias1 `json:"modded_person,omitempty" url:"modded_person,omitempty"`
|
||||||
|
}
|
||||||
|
type ModBanFromCommunityView struct {
|
||||||
|
ModBanFromCommunity ModBanFromCommunity `json:"mod_ban_from_community,omitempty" url:"mod_ban_from_community,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
BannedPerson PersonSafeAlias1 `json:"banned_person,omitempty" url:"banned_person,omitempty"`
|
||||||
|
}
|
||||||
|
type ModBanView struct {
|
||||||
|
ModBan ModBan `json:"mod_ban,omitempty" url:"mod_ban,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
BannedPerson PersonSafeAlias1 `json:"banned_person,omitempty" url:"banned_person,omitempty"`
|
||||||
|
}
|
||||||
|
type ModHideCommunityView struct {
|
||||||
|
ModHideCommunity ModHideCommunity `json:"mod_hide_community,omitempty" url:"mod_hide_community,omitempty"`
|
||||||
|
Admin PersonSafe `json:"admin,omitempty" url:"admin,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
}
|
||||||
|
type ModLockPostView struct {
|
||||||
|
ModLockPost ModLockPost `json:"mod_lock_post,omitempty" url:"mod_lock_post,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
}
|
||||||
|
type ModRemoveCommentView struct {
|
||||||
|
ModRemoveComment ModRemoveComment `json:"mod_remove_comment,omitempty" url:"mod_remove_comment,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
Comment Comment `json:"comment,omitempty" url:"comment,omitempty"`
|
||||||
|
Commenter PersonSafeAlias1 `json:"commenter,omitempty" url:"commenter,omitempty"`
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
}
|
||||||
|
type ModRemoveCommunityView struct {
|
||||||
|
ModRemoveCommunity ModRemoveCommunity `json:"mod_remove_community,omitempty" url:"mod_remove_community,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
}
|
||||||
|
type ModRemovePostView struct {
|
||||||
|
ModRemovePost ModRemovePost `json:"mod_remove_post,omitempty" url:"mod_remove_post,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
}
|
||||||
|
type ModStickyPostView struct {
|
||||||
|
ModStickyPost ModStickyPost `json:"mod_sticky_post,omitempty" url:"mod_sticky_post,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
}
|
||||||
|
type ModTransferCommunityView struct {
|
||||||
|
ModTransferCommunity ModTransferCommunity `json:"mod_transfer_community,omitempty" url:"mod_transfer_community,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
ModdedPerson PersonSafeAlias1 `json:"modded_person,omitempty" url:"modded_person,omitempty"`
|
||||||
|
}
|
56
types/structs.3.gen.go
Normal file
56
types/structs.3.gen.go
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type CommentAggregates struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
|
||||||
|
Score int64 `json:"score,omitempty" url:"score,omitempty"`
|
||||||
|
Upvotes int64 `json:"upvotes,omitempty" url:"upvotes,omitempty"`
|
||||||
|
Downvotes int64 `json:"downvotes,omitempty" url:"downvotes,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityAggregates struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
Subscribers int64 `json:"subscribers,omitempty" url:"subscribers,omitempty"`
|
||||||
|
Posts int64 `json:"posts,omitempty" url:"posts,omitempty"`
|
||||||
|
Comments int64 `json:"comments,omitempty" url:"comments,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
UsersActiveDay int64 `json:"users_active_day,omitempty" url:"users_active_day,omitempty"`
|
||||||
|
UsersActiveWeek int64 `json:"users_active_week,omitempty" url:"users_active_week,omitempty"`
|
||||||
|
UsersActiveMonth int64 `json:"users_active_month,omitempty" url:"users_active_month,omitempty"`
|
||||||
|
UsersActiveHalfYear int64 `json:"users_active_half_year,omitempty" url:"users_active_half_year,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonAggregates struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
|
||||||
|
PostCount int64 `json:"post_count,omitempty" url:"post_count,omitempty"`
|
||||||
|
PostScore int64 `json:"post_score,omitempty" url:"post_score,omitempty"`
|
||||||
|
CommentCount int64 `json:"comment_count,omitempty" url:"comment_count,omitempty"`
|
||||||
|
CommentScore int64 `json:"comment_score,omitempty" url:"comment_score,omitempty"`
|
||||||
|
}
|
||||||
|
type PostAggregates struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
Comments int64 `json:"comments,omitempty" url:"comments,omitempty"`
|
||||||
|
Score int64 `json:"score,omitempty" url:"score,omitempty"`
|
||||||
|
Upvotes int64 `json:"upvotes,omitempty" url:"upvotes,omitempty"`
|
||||||
|
Downvotes int64 `json:"downvotes,omitempty" url:"downvotes,omitempty"`
|
||||||
|
Stickied bool `json:"stickied,omitempty" url:"stickied,omitempty"`
|
||||||
|
Published time.Time `json:"published,omitempty" url:"published,omitempty"`
|
||||||
|
NewestCommentTimeNecro time.Time `json:"newest_comment_time_necro,omitempty" url:"newest_comment_time_necro,omitempty"`
|
||||||
|
NewestCommentTime time.Time `json:"newest_comment_time,omitempty" url:"newest_comment_time,omitempty"`
|
||||||
|
}
|
||||||
|
type SiteAggregates struct {
|
||||||
|
ID int32 `json:"id,omitempty" url:"id,omitempty"`
|
||||||
|
SiteID int32 `json:"site_id,omitempty" url:"site_id,omitempty"`
|
||||||
|
Users int64 `json:"users,omitempty" url:"users,omitempty"`
|
||||||
|
Posts int64 `json:"posts,omitempty" url:"posts,omitempty"`
|
||||||
|
Comments int64 `json:"comments,omitempty" url:"comments,omitempty"`
|
||||||
|
Communities int64 `json:"communities,omitempty" url:"communities,omitempty"`
|
||||||
|
UsersActiveDay int64 `json:"users_active_day,omitempty" url:"users_active_day,omitempty"`
|
||||||
|
UsersActiveWeek int64 `json:"users_active_week,omitempty" url:"users_active_week,omitempty"`
|
||||||
|
UsersActiveMonth int64 `json:"users_active_month,omitempty" url:"users_active_month,omitempty"`
|
||||||
|
UsersActiveHalfYear int64 `json:"users_active_half_year,omitempty" url:"users_active_half_year,omitempty"`
|
||||||
|
}
|
46
types/structs.gen.go
Normal file
46
types/structs.gen.go
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type CommunityBlockView struct {
|
||||||
|
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityFollowerView struct {
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Follower PersonSafe `json:"follower,omitempty" url:"follower,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityModeratorView struct {
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityPersonBanView struct {
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityView struct {
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Subscribed bool `json:"subscribed,omitempty" url:"subscribed,omitempty"`
|
||||||
|
Blocked bool `json:"blocked,omitempty" url:"blocked,omitempty"`
|
||||||
|
Counts CommunityAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonBlockView struct {
|
||||||
|
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"`
|
||||||
|
Target PersonSafeAlias1 `json:"target,omitempty" url:"target,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonMentionView struct {
|
||||||
|
PersonMention PersonMention `json:"person_mention,omitempty" url:"person_mention,omitempty"`
|
||||||
|
Comment Comment `json:"comment,omitempty" url:"comment,omitempty"`
|
||||||
|
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"`
|
||||||
|
Post Post `json:"post,omitempty" url:"post,omitempty"`
|
||||||
|
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
|
||||||
|
Recipient PersonSafeAlias1 `json:"recipient,omitempty" url:"recipient,omitempty"`
|
||||||
|
Counts CommentAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"`
|
||||||
|
Subscribed bool `json:"subscribed,omitempty" url:"subscribed,omitempty"`
|
||||||
|
Saved bool `json:"saved,omitempty" url:"saved,omitempty"`
|
||||||
|
CreatorBlocked bool `json:"creator_blocked,omitempty" url:"creator_blocked,omitempty"`
|
||||||
|
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"`
|
||||||
|
}
|
||||||
|
type PersonViewSafe struct {
|
||||||
|
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"`
|
||||||
|
Counts PersonAggregates `json:"counts,omitempty" url:"counts,omitempty"`
|
||||||
|
}
|
1
types/utils.gen.go
Normal file
1
types/utils.gen.go
Normal file
@ -0,0 +1 @@
|
|||||||
|
package types
|
254
types/views.go
254
types/views.go
@ -1,254 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type PersonViewSafe struct {
|
|
||||||
Person PersonSafe `json:"person" url:"person,omitempty"`
|
|
||||||
Counts PersonAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PersonMentionView struct {
|
|
||||||
PersonMention PersonMention `json:"person_mention" url:"person_mention,omitempty"`
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
Recipient PersonSafe `json:"recipient" url:"recipient,omitempty"`
|
|
||||||
Counts CommentAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
|
|
||||||
Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Saved bool `json:"saved" url:"saved,omitempty"`
|
|
||||||
CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
|
|
||||||
MyVote Optional[int] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type LocalUserSettingsView struct {
|
|
||||||
LocalUserSettings LocalUserSettings `json:"local_user_settings" url:"local_user_settings,omitempty"`
|
|
||||||
Person PersonSafe `json:"person" url:"person,omitempty"`
|
|
||||||
Counts PersonAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SiteView struct {
|
|
||||||
Site Site `json:"site" url:"site,omitempty"`
|
|
||||||
LocalSite LocalSite `json:"local_site" url:"local_site,omitempty"`
|
|
||||||
LocalSiteRateLimit LocalSiteRateLimit `json:"local_site_rate_limit" url:"local_site_rate_limit,omitempty"`
|
|
||||||
Taglines Optional[[]Tagline] `json:"taglines" url:"taglines,omitempty"`
|
|
||||||
Counts SiteAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PrivateMessageView struct {
|
|
||||||
PrivateMessage PrivateMessage `json:"private_message" url:"private_message,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
Recipient PersonSafe `json:"recipient" url:"recipient,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PostView struct {
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
Community CommunitySafe `json:"community" url:"community,omitempty"`
|
|
||||||
CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
|
|
||||||
Counts PostAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Saved bool `json:"saved" url:"saved,omitempty"`
|
|
||||||
Read bool `json:"read" url:"read,omitempty"`
|
|
||||||
CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
|
|
||||||
MyVote Optional[int] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
UnreadComments int `json:"unread_comments" url:"unread_comments,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PostReportView struct {
|
|
||||||
PostReport PostReport `json:"post_report" url:"post_report,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community CommunitySafe `json:"community" url:"community,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
PostCreator PersonSafe `json:"post_creator" url:"post_creator,omitempty"`
|
|
||||||
CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
|
|
||||||
MyVote Optional[int] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
Counts PostAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
Resolver Optional[PersonSafe] `json:"resolver" url:"resolver,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentView struct {
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community CommunitySafe `json:"community" url:"community,omitempty"`
|
|
||||||
Counts CommentAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
|
|
||||||
Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Saved bool `json:"saved" url:"saved,omitempty"`
|
|
||||||
CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
|
|
||||||
MyVote Optional[int] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentReportView struct {
|
|
||||||
CommentReport CommentReport `json:"comment_report" url:"comment_report,omitempty"`
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
CommentCreator PersonSafe `json:"comment_creator" url:"comment_creator,omitempty"`
|
|
||||||
Counts CommentAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
|
|
||||||
MyVote Optional[int] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
Resolver Optional[PersonSafe] `json:"resolver" url:"resolver,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModAddCommunityView struct {
|
|
||||||
ModAddCommunity ModAddCommunity `json:"mod_add_community" url:"mod_add_community,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
ModdedPerson PersonSafe `json:"modded_person" url:"modded_person,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModTransferCommunityView struct {
|
|
||||||
ModTransferCommunity ModTransferCommunity `json:"mod_transfer_community" url:"mod_transfer_community,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
ModdedPerson PersonSafe `json:"modded_person" url:"modded_person,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModAddView struct {
|
|
||||||
ModAdd ModAdd `json:"mod_add" url:"mod_add,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
ModdedPerson PersonSafe `json:"modded_person" url:"modded_person,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModBanFromCommunityView struct {
|
|
||||||
ModBanFromCommunity ModBanFromCommunity `json:"mod_ban_from_community" url:"mod_ban_from_community,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
BannedPerson PersonSafe `json:"banned_person" url:"banned_person,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModBanView struct {
|
|
||||||
ModBan ModBan `json:"mod_ban" url:"mod_ban,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
BannedPerson PersonSafe `json:"banned_person" url:"banned_person,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModLockPostView struct {
|
|
||||||
ModLockPost ModLockPost `json:"mod_lock_post" url:"mod_lock_post,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModRemoveCommentView struct {
|
|
||||||
ModRemoveComment ModRemoveComment `json:"mod_remove_comment" url:"mod_remove_comment,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Commenter PersonSafe `json:"commenter" url:"commenter,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModRemoveCommunityView struct {
|
|
||||||
ModRemoveCommunity ModRemoveCommunity `json:"mod_remove_community" url:"mod_remove_community,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModRemovePostView struct {
|
|
||||||
ModRemovePost ModRemovePost `json:"mod_remove_post" url:"mod_remove_post,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModStickyPostView struct {
|
|
||||||
ModStickyPost ModStickyPost `json:"mod_sticky_post" url:"mod_sticky_post,omitempty"`
|
|
||||||
Moderator Optional[PersonSafe] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AdminPurgeCommunityView struct {
|
|
||||||
AdminPurgeCommunity AdminPurgeCommunity `json:"admin_purge_community" url:"admin_purge_community,omitempty"`
|
|
||||||
Admin Optional[PersonSafe] `json:"admin" url:"admin,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AdminPurgePersonView struct {
|
|
||||||
AdminPurgePerson AdminPurgePerson `json:"admin_purge_person" url:"admin_purge_person,omitempty"`
|
|
||||||
Admin Optional[PersonSafe] `json:"admin" url:"admin,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AdminPurgePostView struct {
|
|
||||||
AdminPurgePost AdminPurgePost `json:"admin_purge_post" url:"admin_purge_post,omitempty"`
|
|
||||||
Admin Optional[PersonSafe] `json:"admin" url:"admin,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AdminPurgeCommentView struct {
|
|
||||||
AdminPurgeComment AdminPurgeComment `json:"admin_purge_comment" url:"admin_purge_comment,omitempty"`
|
|
||||||
Admin Optional[PersonSafe] `json:"admin" url:"admin,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityFollowerView struct {
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
Follower PersonSafe `json:"follower" url:"follower,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityBlockView struct {
|
|
||||||
PersonSafe PersonSafe `json:"person_safe" url:"person_safe,omitempty"`
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityModeratorView struct {
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityPersonBanView struct {
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
Person PersonSafe `json:"person" url:"person,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PersonBlockView struct {
|
|
||||||
PersonSafe PersonSafe `json:"person_safe" url:"person_safe,omitempty"`
|
|
||||||
Target PersonSafe `json:"target" url:"target,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityView struct {
|
|
||||||
CommunitySafe CommunitySafe `json:"community_safe" url:"community_safe,omitempty"`
|
|
||||||
Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Blocked bool `json:"blocked" url:"blocked,omitempty"`
|
|
||||||
Counts CommunityAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type RegistrationApplicationView struct {
|
|
||||||
RegistrationApplication RegistrationApplication `json:"registration_application" url:"registration_application,omitempty"`
|
|
||||||
CreatorLocalUser LocalUserSettings `json:"creator_local_user" url:"creator_local_user,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
Admin Optional[PersonSafe] `json:"admin" url:"admin,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PrivateMessageReportView struct {
|
|
||||||
PrivateMessageReport PrivateMessageReport `json:"private_message_report" url:"private_message_report,omitempty"`
|
|
||||||
PrivateMessage PrivateMessage `json:"private_message" url:"private_message,omitempty"`
|
|
||||||
PrivateMessageCreator PersonSafe `json:"private_message_creator" url:"private_message_creator,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
Resolver Optional[PersonSafe] `json:"resolver" url:"resolver,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Tagline struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
Published string `json:"published" url:"published,omitempty"`
|
|
||||||
Updated Optional[string] `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommentReplyView struct {
|
|
||||||
CommentReply CommentReply `json:"comment_reply" url:"comment_reply,omitempty"`
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Creator PersonSafe `json:"creator" url:"creator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community CommunitySafe `json:"community" url:"community,omitempty"`
|
|
||||||
Recipient PersonSafe `json:"recipient" url:"recipient,omitempty"`
|
|
||||||
Counts CommentAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
|
|
||||||
Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Saved bool `json:"saved" url:"saved,omitempty"`
|
|
||||||
CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
|
|
||||||
MyVote Optional[int] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
}
|
|
30
types/websocket.gen.go
Normal file
30
types/websocket.gen.go
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package types
|
||||||
|
|
||||||
|
type UserJoin struct {
|
||||||
|
Auth string `json:"auth,omitempty" url:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
type UserJoinResponse struct {
|
||||||
|
Joined bool `json:"joined,omitempty" url:"joined,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type CommunityJoin struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
}
|
||||||
|
type CommunityJoinResponse struct {
|
||||||
|
Joined bool `json:"joined,omitempty" url:"joined,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type ModJoin struct {
|
||||||
|
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
|
||||||
|
}
|
||||||
|
type ModJoinResponse struct {
|
||||||
|
Joined bool `json:"joined,omitempty" url:"joined,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
type PostJoin struct {
|
||||||
|
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
|
||||||
|
}
|
||||||
|
type PostJoinResponse struct {
|
||||||
|
Joined bool `json:"joined,omitempty" url:"joined,omitempty"`
|
||||||
|
LemmyResponse
|
||||||
|
}
|
@ -1,37 +0,0 @@
|
|||||||
package types
|
|
||||||
|
|
||||||
type UserJoin struct {
|
|
||||||
Auth string `json:"auth"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type UserJoinResponse struct {
|
|
||||||
Joined bool `json:"joined"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityJoin struct {
|
|
||||||
CommunityID int `json:"community_id"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type CommunityJoinResponse struct {
|
|
||||||
Joined bool `json:"joined"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModJoin struct {
|
|
||||||
CommunityID int `json:"community_id"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ModJoinResponse struct {
|
|
||||||
Joined bool `json:"joined"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
|
|
||||||
type PostJoin struct {
|
|
||||||
PostID int `json:"post_id"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type PostJoinResponse struct {
|
|
||||||
Joined bool `json:"joined"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
@ -60,10 +60,10 @@ func NewWebSocket(baseURL string) (*WSClient, error) {
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Login logs in to Lemmy by sending an HTTP request to the
|
// ClientLogin logs in to Lemmy by sending an HTTP request to the
|
||||||
// login endpoint. It stores the returned token in the client
|
// login endpoint. It stores the returned token in the client
|
||||||
// for future use.
|
// for future use.
|
||||||
func (c *WSClient) Login(ctx context.Context, l types.Login) error {
|
func (c *WSClient) ClientLogin(ctx context.Context, l types.Login) error {
|
||||||
u := &url.URL{}
|
u := &url.URL{}
|
||||||
*u = *c.baseURL
|
*u = *c.baseURL
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ func (c *WSClient) Login(ctx context.Context, l types.Login) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hc := &Client{baseURL: u, client: http.DefaultClient}
|
hc := &Client{baseURL: u, client: http.DefaultClient}
|
||||||
err := hc.Login(ctx, l)
|
err := hc.ClientLogin(ctx, l)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user