Rewrite generator and update for Lemmy 0.18.3
This commit is contained in:
parent
9f4bae88f2
commit
44dbe8c934
24
README.md
24
README.md
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[![Go Reference](https://pkg.go.dev/badge/go.arsenm.dev/go-lemmy.svg)](https://pkg.go.dev/go.elara.ws/go-lemmy)
|
[![Go Reference](https://pkg.go.dev/badge/go.arsenm.dev/go-lemmy.svg)](https://pkg.go.dev/go.elara.ws/go-lemmy)
|
||||||
|
|
||||||
Go bindings to the [Lemmy](https://join-lemmy.org) API, automatically generated directly from Lemmy's source code using the generator in [cmd/gen](cmd/gen).
|
Go bindings to the [Lemmy](https://join-lemmy.org) API, automatically generated from Lemmy's source code using the generator in [cmd/gen](cmd/gen).
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
@ -10,18 +10,24 @@ Examples:
|
|||||||
|
|
||||||
### How to generate
|
### How to generate
|
||||||
|
|
||||||
First, build the generator:
|
First, clone the [lemmy-js-client](https://github.com/LemmyNet/lemmy-js-client) repo at whatever version you need:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/LemmyNet/lemmy-js-client -b 0.18.3
|
||||||
|
```
|
||||||
|
|
||||||
|
Inside it, build the JSON docs file:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run docs -- --json docs.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Next, build the generator:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go build ./cmd/gen
|
go build ./cmd/gen
|
||||||
```
|
```
|
||||||
|
|
||||||
Clone Lemmy's source code at whatever version you need:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/LemmyNet/lemmy -b 0.16.7
|
|
||||||
```
|
|
||||||
|
|
||||||
Remove all the existing generated code:
|
Remove all the existing generated code:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -31,7 +37,7 @@ rm **/*.gen.go
|
|||||||
Execute the generator:
|
Execute the generator:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./gen -out-dir .
|
./gen -json-file <path_to_docs.json> -out-dir .
|
||||||
```
|
```
|
||||||
|
|
||||||
And that's it! Your generated code should be ready for use.
|
And that's it! Your generated code should be ready for use.
|
||||||
|
192
cmd/gen/extractor/extractor.go
Normal file
192
cmd/gen/extractor/extractor.go
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
package extractor
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/tidwall/gjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Route struct {
|
||||||
|
Name string
|
||||||
|
Summary string
|
||||||
|
Method string
|
||||||
|
Path string
|
||||||
|
ParamsName string
|
||||||
|
ParamsID int64
|
||||||
|
ReturnName string
|
||||||
|
ReturnID int64
|
||||||
|
}
|
||||||
|
|
||||||
|
type Struct struct {
|
||||||
|
Name string
|
||||||
|
Fields []Field
|
||||||
|
UnionNames []string
|
||||||
|
}
|
||||||
|
|
||||||
|
type Field struct {
|
||||||
|
Name string
|
||||||
|
IsArray bool
|
||||||
|
IsOptional bool
|
||||||
|
Type string
|
||||||
|
}
|
||||||
|
|
||||||
|
type Extractor struct {
|
||||||
|
root gjson.Result
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(path string) (*Extractor, error) {
|
||||||
|
data, err := os.ReadFile(path)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &Extractor{gjson.ParseBytes(data)}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *Extractor) Routes() []Route {
|
||||||
|
var out []Route
|
||||||
|
routes := e.root.Get("children.#.children.#(kind==2048)#|@flatten")
|
||||||
|
for _, route := range routes.Array() {
|
||||||
|
name := route.Get("name").String()
|
||||||
|
signature := route.Get(`signatures.0`)
|
||||||
|
|
||||||
|
httpInfo := signature.Get(`comment.summary.#(kind=="code").text`).String()
|
||||||
|
if !strings.HasPrefix(httpInfo, "`HTTP") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
method, path := parseHTTPInfo(httpInfo)
|
||||||
|
|
||||||
|
summary := strings.TrimSpace(signature.Get(`comment.summary.#(kind=="text").text`).String())
|
||||||
|
if summary == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
paramsID := signature.Get("parameters.0.type.target").Int()
|
||||||
|
paramsName := signature.Get("parameters.0.type.name").String()
|
||||||
|
returnID := signature.Get("type.typeArguments.0.target").Int()
|
||||||
|
returnName := signature.Get("type.typeArguments.0.name").String()
|
||||||
|
|
||||||
|
out = append(out, Route{
|
||||||
|
Name: name,
|
||||||
|
Summary: summary,
|
||||||
|
Method: method,
|
||||||
|
Path: path,
|
||||||
|
ParamsName: paramsName,
|
||||||
|
ParamsID: paramsID,
|
||||||
|
ReturnName: returnName,
|
||||||
|
ReturnID: returnID,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *Extractor) Structs(routes []Route) []Struct {
|
||||||
|
var ids []int64
|
||||||
|
for _, route := range routes {
|
||||||
|
ids = append(ids, route.ParamsID)
|
||||||
|
if route.ReturnID != 0 {
|
||||||
|
ids = append(ids, route.ReturnID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
structs := map[int64]Struct{}
|
||||||
|
e.getStructs(ids, structs)
|
||||||
|
return getKeys(structs)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *Extractor) getStructs(ids []int64, structs map[int64]Struct) {
|
||||||
|
for _, id := range ids {
|
||||||
|
if _, ok := structs[id]; ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
jstruct := e.root.Get(fmt.Sprintf("children.#(id==%d)", id))
|
||||||
|
if !jstruct.Exists() {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
name := jstruct.Get("name").String()
|
||||||
|
|
||||||
|
if jstruct.Get("type.type").String() == "union" {
|
||||||
|
structs[id] = Struct{
|
||||||
|
Name: name,
|
||||||
|
UnionNames: e.unionNames(jstruct),
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fields, newIDs := e.fields(jstruct)
|
||||||
|
|
||||||
|
structs[id] = Struct{
|
||||||
|
Name: name,
|
||||||
|
Fields: fields,
|
||||||
|
}
|
||||||
|
|
||||||
|
e.getStructs(newIDs, structs)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *Extractor) unionNames(jstruct gjson.Result) []string {
|
||||||
|
jnames := jstruct.Get("type.types").Array()
|
||||||
|
out := make([]string, len(jnames))
|
||||||
|
for i, name := range jnames {
|
||||||
|
out[i] = name.Get("value").String()
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *Extractor) fields(jstruct gjson.Result) ([]Field, []int64) {
|
||||||
|
var fields []Field
|
||||||
|
var ids []int64
|
||||||
|
jfields := jstruct.Get("children").Array()
|
||||||
|
for _, jfield := range jfields {
|
||||||
|
var field Field
|
||||||
|
|
||||||
|
field.Name = jfield.Get("name").String()
|
||||||
|
field.IsOptional = jfield.Get("flags.isOptional").Bool()
|
||||||
|
|
||||||
|
if jfield.Get("type.type").String() == "array" {
|
||||||
|
field.IsArray = true
|
||||||
|
field.Type = jfield.Get("type.elementType.name").String()
|
||||||
|
|
||||||
|
switch jfield.Get("type.elementType.type").String() {
|
||||||
|
case "reference":
|
||||||
|
ids = append(ids, jfield.Get("type.elementType.target").Int())
|
||||||
|
case "union":
|
||||||
|
field.Type = "string"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
field.Type = jfield.Get("type.name").String()
|
||||||
|
|
||||||
|
switch jfield.Get("type.type").String() {
|
||||||
|
case "reference":
|
||||||
|
ids = append(ids, jfield.Get("type.target").Int())
|
||||||
|
case "union":
|
||||||
|
field.Type = "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fields = append(fields, field)
|
||||||
|
}
|
||||||
|
return fields, ids
|
||||||
|
}
|
||||||
|
|
||||||
|
func parseHTTPInfo(httpInfo string) (method, path string) {
|
||||||
|
httpInfo = strings.Trim(httpInfo, "`")
|
||||||
|
method, path, _ = strings.Cut(httpInfo, " ")
|
||||||
|
method = strings.TrimPrefix(method, "HTTP.")
|
||||||
|
method = strings.ToUpper(method)
|
||||||
|
return method, path
|
||||||
|
}
|
||||||
|
|
||||||
|
func getKeys(m map[int64]Struct) []Struct {
|
||||||
|
out := make([]Struct, len(m))
|
||||||
|
i := 0
|
||||||
|
for _, s := range m {
|
||||||
|
out[i] = s
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
@ -5,7 +5,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/dave/jennifer/jen"
|
"github.com/dave/jennifer/jen"
|
||||||
"go.elara.ws/go-lemmy/cmd/gen/parser"
|
"go.elara.ws/go-lemmy/cmd/gen/extractor"
|
||||||
)
|
)
|
||||||
|
|
||||||
type RoutesGenerator struct {
|
type RoutesGenerator struct {
|
||||||
@ -17,23 +17,30 @@ func NewRoutes(w io.Writer, pkgName string) *RoutesGenerator {
|
|||||||
return &RoutesGenerator{w, pkgName}
|
return &RoutesGenerator{w, pkgName}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *RoutesGenerator) Generate(routes []parser.Route, impls map[string]string) error {
|
func (r *RoutesGenerator) Generate(routes []extractor.Route) error {
|
||||||
f := jen.NewFile(r.PkgName)
|
f := jen.NewFile(r.PkgName)
|
||||||
f.HeaderComment("Code generated by go.elara.ws/go-lemmy/cmd/gen (routes generator). DO NOT EDIT.")
|
f.HeaderComment("Code generated by go.elara.ws/go-lemmy/cmd/gen (routes generator). DO NOT EDIT.")
|
||||||
|
|
||||||
for _, r := range routes {
|
for _, r := range routes {
|
||||||
resStruct := impls[r.Struct]
|
|
||||||
|
|
||||||
|
f.Comment(r.Summary)
|
||||||
f.Func().Params(
|
f.Func().Params(
|
||||||
jen.Id("c").Id("*Client"),
|
jen.Id("c").Id("*Client"),
|
||||||
).Id(transformName(r.Struct)).Params(
|
).Id(transformName(r.Name)).Params(
|
||||||
jen.Id("ctx").Qual("context", "Context"),
|
jen.Id("ctx").Qual("context", "Context"),
|
||||||
jen.Id("data").Qual("go.elara.ws/go-lemmy/types", r.Struct),
|
jen.Id("data").Qual("go.elara.ws/go-lemmy/types", r.ParamsName),
|
||||||
).Params(
|
).ParamsFunc(func(g *jen.Group) {
|
||||||
jen.Op("*").Qual("go.elara.ws/go-lemmy/types", resStruct),
|
if r.ReturnName != "" {
|
||||||
jen.Error(),
|
g.Op("*").Qual("go.elara.ws/go-lemmy/types", r.ReturnName)
|
||||||
).BlockFunc(func(g *jen.Group) {
|
}
|
||||||
g.Id("resData").Op(":=").Op("&").Qual("go.elara.ws/go-lemmy/types", resStruct).Block()
|
g.Error()
|
||||||
|
}).BlockFunc(func(g *jen.Group) {
|
||||||
|
returnName := r.ReturnName
|
||||||
|
if returnName == "" {
|
||||||
|
returnName = "EmptyResponse"
|
||||||
|
}
|
||||||
|
|
||||||
|
g.Id("resData").Op(":=").Op("&").Qual("go.elara.ws/go-lemmy/types", returnName).Block()
|
||||||
|
|
||||||
var funcName string
|
var funcName string
|
||||||
switch r.Method {
|
switch r.Method {
|
||||||
@ -46,16 +53,28 @@ func (r *RoutesGenerator) Generate(routes []parser.Route, impls map[string]strin
|
|||||||
g.List(jen.Id("res"), jen.Err()).Op(":=").Id("c").Dot(funcName).Params(
|
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"),
|
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(
|
g.If(jen.Err().Op("!=").Nil()).BlockFunc(func(g *jen.Group) {
|
||||||
jen.Return(jen.Nil(), jen.Err()),
|
if returnName == "EmptyResponse" {
|
||||||
)
|
g.Return(jen.Err())
|
||||||
|
} else {
|
||||||
|
g.Return(jen.Nil(), jen.Err())
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
g.Err().Op("=").Id("resError").Params(jen.Id("res"), jen.Id("resData").Dot("LemmyResponse"))
|
g.Err().Op("=").Id("resError").Params(jen.Id("res"), jen.Id("resData").Dot("LemmyResponse"))
|
||||||
g.If(jen.Err().Op("!=").Nil()).Block(
|
g.If(jen.Err().Op("!=").Nil()).BlockFunc(func(g *jen.Group) {
|
||||||
jen.Return(jen.Nil(), jen.Err()),
|
if returnName == "EmptyResponse" {
|
||||||
)
|
g.Return(jen.Err())
|
||||||
|
} else {
|
||||||
|
g.Return(jen.Nil(), jen.Err())
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
g.Return(jen.Id("resData"), jen.Nil())
|
if returnName == "EmptyResponse" {
|
||||||
|
g.Return(jen.Nil())
|
||||||
|
} else {
|
||||||
|
g.Return(jen.Id("resData"), jen.Nil())
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,6 +82,7 @@ func (r *RoutesGenerator) Generate(routes []parser.Route, impls map[string]strin
|
|||||||
}
|
}
|
||||||
|
|
||||||
func transformName(s string) string {
|
func transformName(s string) string {
|
||||||
|
s = strings.ToUpper(s[:1]) + s[1:]
|
||||||
s = strings.TrimPrefix(s, "Get")
|
s = strings.TrimPrefix(s, "Get")
|
||||||
s = strings.TrimPrefix(s, "List")
|
s = strings.TrimPrefix(s, "List")
|
||||||
return s
|
return s
|
||||||
|
@ -3,9 +3,10 @@ package generator
|
|||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
"strings"
|
"strings"
|
||||||
|
"unicode"
|
||||||
|
|
||||||
"github.com/dave/jennifer/jen"
|
"github.com/dave/jennifer/jen"
|
||||||
"go.elara.ws/go-lemmy/cmd/gen/parser"
|
"go.elara.ws/go-lemmy/cmd/gen/extractor"
|
||||||
)
|
)
|
||||||
|
|
||||||
type StructGenerator struct {
|
type StructGenerator struct {
|
||||||
@ -17,36 +18,88 @@ func NewStruct(w io.Writer, pkgName string) *StructGenerator {
|
|||||||
return &StructGenerator{w, pkgName}
|
return &StructGenerator{w, pkgName}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *StructGenerator) Generate(items []parser.Item) error {
|
func (s *StructGenerator) Generate(items []extractor.Struct) error {
|
||||||
f := jen.NewFile(s.PkgName)
|
f := jen.NewFile(s.PkgName)
|
||||||
f.HeaderComment("Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.")
|
f.HeaderComment("Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.")
|
||||||
|
|
||||||
for _, item := range items {
|
for _, item := range items {
|
||||||
if item.Struct != nil {
|
if len(item.UnionNames) > 0 {
|
||||||
st := item.Struct
|
f.Type().Id(item.Name).String()
|
||||||
f.Type().Id(st.Name).StructFunc(func(g *jen.Group) {
|
|
||||||
for _, field := range st.Fields {
|
f.Const().DefsFunc(func(g *jen.Group) {
|
||||||
g.Id(field.Name).Id(field.Type).Tag(map[string]string{
|
for _, member := range item.UnionNames {
|
||||||
"json": field.OrigName,
|
constName := strings.Replace(item.Name+string(member), " ", "", -1)
|
||||||
"url": field.OrigName + ",omitempty",
|
g.Id(constName).Id(item.Name).Op("=").Lit(string(member))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
f.Type().Id(item.Name).StructFunc(func(g *jen.Group) {
|
||||||
|
for _, field := range item.Fields {
|
||||||
|
g.Id(transformFieldName(field.Name)).Id(getType(field)).Tag(map[string]string{
|
||||||
|
"json": field.Name,
|
||||||
|
"url": field.Name + ",omitempty",
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.HasSuffix(st.Name, "Response") {
|
if strings.HasSuffix(item.Name, "Response") {
|
||||||
g.Id("LemmyResponse")
|
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)).Id(e.Name).Op("=").Lit(string(member))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return f.Render(s.w)
|
return f.Render(s.w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getType(f extractor.Field) string {
|
||||||
|
t := transformType(f.Type)
|
||||||
|
if f.IsArray {
|
||||||
|
t = "[]" + t
|
||||||
|
}
|
||||||
|
if f.IsOptional {
|
||||||
|
t = "Optional[" + t + "]"
|
||||||
|
}
|
||||||
|
return t
|
||||||
|
}
|
||||||
|
|
||||||
|
func transformType(s string) string {
|
||||||
|
switch s {
|
||||||
|
case "number":
|
||||||
|
return "float64"
|
||||||
|
case "boolean":
|
||||||
|
return "bool"
|
||||||
|
default:
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func transformFieldName(s string) string {
|
||||||
|
s = snakeToCamel(s)
|
||||||
|
s = strings.NewReplacer(
|
||||||
|
"Id", "ID",
|
||||||
|
"Url", "URL",
|
||||||
|
"Nsfw", "NSFW",
|
||||||
|
"Jwt", "JWT",
|
||||||
|
"Crud", "CRUD",
|
||||||
|
).Replace(s)
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
func snakeToCamel(s string) string {
|
||||||
|
sb := &strings.Builder{}
|
||||||
|
capitalizeNext := true
|
||||||
|
for _, char := range s {
|
||||||
|
if char == '_' {
|
||||||
|
capitalizeNext = true
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if capitalizeNext {
|
||||||
|
sb.WriteRune(unicode.ToUpper(char))
|
||||||
|
capitalizeNext = false
|
||||||
|
} else {
|
||||||
|
sb.WriteRune(char)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sb.String()
|
||||||
|
}
|
||||||
|
162
cmd/gen/main.go
162
cmd/gen/main.go
@ -2,14 +2,11 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"io/fs"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
|
"go.elara.ws/go-lemmy/cmd/gen/extractor"
|
||||||
"go.elara.ws/go-lemmy/cmd/gen/generator"
|
"go.elara.ws/go-lemmy/cmd/gen/generator"
|
||||||
"go.elara.ws/go-lemmy/cmd/gen/parser"
|
|
||||||
"go.elara.ws/logger"
|
"go.elara.ws/logger"
|
||||||
"go.elara.ws/logger/log"
|
"go.elara.ws/logger/log"
|
||||||
)
|
)
|
||||||
@ -18,145 +15,33 @@ func init() {
|
|||||||
log.Logger = logger.NewPretty(os.Stderr)
|
log.Logger = logger.NewPretty(os.Stderr)
|
||||||
}
|
}
|
||||||
|
|
||||||
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_http.rs"
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
lemmyDir := flag.String("lemmy-dir", "lemmy", "Path to Lemmy repository")
|
jsonFile := flag.String("json-file", "lemmy.json", "Path to the JSON file generated from lemmy's docs")
|
||||||
outDir := flag.String("out-dir", "out", "Directory to write output in")
|
outDir := flag.String("out-dir", "out", "Directory to write output in")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
baseStructDir := filepath.Join(*outDir, "types")
|
e, err := extractor.New(*jsonFile)
|
||||||
sp := parser.NewStruct(nil)
|
|
||||||
sp.Skip = []string{"LemmyContext", "Recipient", "WsMessage", "Connect", "SessionInfo"}
|
|
||||||
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()
|
|
||||||
|
|
||||||
_, err = outFl.WriteString("// Source: " + path + "\n")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return generator.NewStruct(outFl, "types").Generate(fileStructs)
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal("Error walking directory while parsing structs").Err(err).Str("dir", dir).Send()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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 {
|
|
||||||
log.Fatal("Error walking directory while parsing impls").Err(err).Str("dir", dir).Send()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
routesPath := filepath.Join(*lemmyDir, routesFile)
|
|
||||||
rf, err := os.Open(routesPath)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Error opening routes file").Err(err).Send()
|
log.Fatal("Error creating extractor").Err(err).Send()
|
||||||
}
|
}
|
||||||
defer rf.Close()
|
|
||||||
|
|
||||||
rp := parser.NewRoutes(rf)
|
routes := e.Routes()
|
||||||
routes, err := rp.Parse()
|
structs := e.Structs(routes)
|
||||||
|
|
||||||
|
err = os.MkdirAll(filepath.Join(*outDir, "types"), 0o755)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Error parsing routes file").Err(err).Send()
|
log.Fatal("Error creating types directory").Err(err).Send()
|
||||||
|
}
|
||||||
|
|
||||||
|
otf, err := os.Create(filepath.Join(*outDir, "types/types.gen.go"))
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Error creating types output file").Err(err).Send()
|
||||||
|
}
|
||||||
|
defer otf.Close()
|
||||||
|
|
||||||
|
err = generator.NewStruct(otf, "types").Generate(structs)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Error generating output routes file").Err(err).Send()
|
||||||
}
|
}
|
||||||
|
|
||||||
orf, err := os.Create(filepath.Join(*outDir, "routes.gen.go"))
|
orf, err := os.Create(filepath.Join(*outDir, "routes.gen.go"))
|
||||||
@ -165,12 +50,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
defer orf.Close()
|
defer orf.Close()
|
||||||
|
|
||||||
_, err = orf.WriteString("// Source: " + routesPath + "\n")
|
err = generator.NewRoutes(orf, "lemmy").Generate(routes)
|
||||||
if err != nil {
|
|
||||||
log.Fatal("Error writing source string to routes file").Err(err).Send()
|
|
||||||
}
|
|
||||||
|
|
||||||
err = generator.NewRoutes(orf, "lemmy").Generate(routes, impls)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Error generating output routes file").Err(err).Send()
|
log.Fatal("Error generating output routes file").Err(err).Send()
|
||||||
}
|
}
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
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)
|
|
||||||
}
|
|
@ -1,121 +0,0 @@
|
|||||||
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)
|
|
||||||
}
|
|
@ -1,274 +0,0 @@
|
|||||||
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
|
|
||||||
}
|
|
||||||
structName = s.TransformName(structName)
|
|
||||||
|
|
||||||
// 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
|
|
||||||
}
|
|
||||||
enumName = s.TransformName(enumName)
|
|
||||||
|
|
||||||
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) {
|
|
||||||
encountered := map[string]struct{}{}
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, ok := encountered[sm[1]]; ok {
|
|
||||||
continue
|
|
||||||
} else {
|
|
||||||
encountered[sm[1]] = struct{}{}
|
|
||||||
}
|
|
||||||
|
|
||||||
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 "LemmyTime"
|
|
||||||
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 := ""
|
|
||||||
|
|
||||||
s = strings.ReplaceAll(s, "Crud", "CRUD")
|
|
||||||
|
|
||||||
splitName := strings.Split(s, "_")
|
|
||||||
for _, segment := range splitName {
|
|
||||||
switch segment {
|
|
||||||
case "id":
|
|
||||||
out += "ID"
|
|
||||||
case "url":
|
|
||||||
out += "URL"
|
|
||||||
case "nsfw":
|
|
||||||
out += "NSFW"
|
|
||||||
case "jwt":
|
|
||||||
out += "JWT"
|
|
||||||
case "crud":
|
|
||||||
out += "CRUD"
|
|
||||||
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)
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
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)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
5
go.mod
5
go.mod
@ -3,10 +3,9 @@ module go.elara.ws/go-lemmy
|
|||||||
go 1.19
|
go 1.19
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/cenkalti/backoff/v4 v4.2.0
|
|
||||||
github.com/dave/jennifer v1.6.0
|
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/tidwall/gjson v1.17.0
|
||||||
go.elara.ws/logger v0.0.0-20230421022458-e80700db2090
|
go.elara.ws/logger v0.0.0-20230421022458-e80700db2090
|
||||||
golang.org/x/exp v0.0.0-20230105000112-eab7a2c85304
|
golang.org/x/exp v0.0.0-20230105000112-eab7a2c85304
|
||||||
)
|
)
|
||||||
@ -14,6 +13,8 @@ require (
|
|||||||
require (
|
require (
|
||||||
github.com/gookit/color v1.5.1 // indirect
|
github.com/gookit/color v1.5.1 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.14 // indirect
|
github.com/mattn/go-isatty v0.0.14 // indirect
|
||||||
|
github.com/tidwall/match v1.1.1 // indirect
|
||||||
|
github.com/tidwall/pretty v1.2.0 // indirect
|
||||||
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
|
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
|
||||||
golang.org/x/sys v0.1.0 // indirect
|
golang.org/x/sys v0.1.0 // indirect
|
||||||
)
|
)
|
||||||
|
10
go.sum
10
go.sum
@ -1,5 +1,3 @@
|
|||||||
github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4=
|
|
||||||
github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
|
|
||||||
github.com/dave/jennifer v1.6.0 h1:MQ/6emI2xM7wt0tJzJzyUik2Q3Tcn2eE0vtYgh4GPVI=
|
github.com/dave/jennifer v1.6.0 h1:MQ/6emI2xM7wt0tJzJzyUik2Q3Tcn2eE0vtYgh4GPVI=
|
||||||
github.com/dave/jennifer v1.6.0/go.mod h1:AxTG893FiZKqxy3FP1kL80VMshSMuz2G+EgvszgGRnk=
|
github.com/dave/jennifer v1.6.0/go.mod h1:AxTG893FiZKqxy3FP1kL80VMshSMuz2G+EgvszgGRnk=
|
||||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||||
@ -10,8 +8,6 @@ github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD
|
|||||||
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/gookit/color v1.5.1 h1:Vjg2VEcdHpwq+oY63s/ksHrgJYCTo0bwWvmmYWdE9fQ=
|
github.com/gookit/color v1.5.1 h1:Vjg2VEcdHpwq+oY63s/ksHrgJYCTo0bwWvmmYWdE9fQ=
|
||||||
github.com/gookit/color v1.5.1/go.mod h1:wZFzea4X8qN6vHOSP2apMb4/+w/orMznEzYsIHPaqKM=
|
github.com/gookit/color v1.5.1/go.mod h1:wZFzea4X8qN6vHOSP2apMb4/+w/orMznEzYsIHPaqKM=
|
||||||
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/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
|
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
|
||||||
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
@ -19,6 +15,12 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
|
|||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
|
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
|
||||||
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
|
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
|
||||||
|
github.com/tidwall/gjson v1.17.0 h1:/Jocvlh98kcTfpN2+JzGQWQcqrPQwDrVEMApx/M5ZwM=
|
||||||
|
github.com/tidwall/gjson v1.17.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
|
||||||
|
github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
|
||||||
|
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
|
||||||
|
github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
|
||||||
|
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
|
||||||
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8=
|
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8=
|
||||||
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs=
|
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs=
|
||||||
go.elara.ws/logger v0.0.0-20230421022458-e80700db2090 h1:RVC8XvWo6Yw4HUshqx4TSzuBDScDghafU6QFRJ4xPZg=
|
go.elara.ws/logger v0.0.0-20230421022458-e80700db2090 h1:RVC8XvWo6Yw4HUshqx4TSzuBDScDghafU6QFRJ4xPZg=
|
||||||
|
2006
routes.gen.go
2006
routes.gen.go
File diff suppressed because it is too large
Load Diff
@ -1,27 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/activity.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Activity struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
Data any `json:"data" url:"data,omitempty"`
|
|
||||||
Local bool `json:"local" url:"local,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
ApID string `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Sensitive bool `json:"sensitive" url:"sensitive,omitempty"`
|
|
||||||
}
|
|
||||||
type ActivityInsertForm struct {
|
|
||||||
Data any `json:"data" url:"data,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
ApID string `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Sensitive Optional[bool] `json:"sensitive" url:"sensitive,omitempty"`
|
|
||||||
}
|
|
||||||
type ActivityUpdateForm struct {
|
|
||||||
Data any `json:"data" url:"data,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Sensitive Optional[bool] `json:"sensitive" url:"sensitive,omitempty"`
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/actor_language.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type LocalUserLanguage struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
type LocalUserLanguageForm struct {
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityLanguage struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityLanguageForm struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
type SiteLanguage struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
SiteID int `json:"site_id" url:"site_id,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
type SiteLanguageForm struct {
|
|
||||||
SiteID int `json:"site_id" url:"site_id,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/build_response.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
@ -1,67 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/comment.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `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 CommentInsertForm struct {
|
|
||||||
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 Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
ApID Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
Distinguished Optional[bool] `json:"distinguished" url:"distinguished,omitempty"`
|
|
||||||
LanguageID Optional[int] `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentUpdateForm struct {
|
|
||||||
Content Optional[string] `json:"content" url:"content,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
ApID Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
Distinguished Optional[bool] `json:"distinguished" url:"distinguished,omitempty"`
|
|
||||||
LanguageID Optional[int] `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentLike struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Score int16 `json:"score" url:"score,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentLikeForm struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Score int16 `json:"score" url:"score,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentSaved struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentSavedForm struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
}
|
|
@ -1,98 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/comment.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
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"`
|
|
||||||
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 DistinguishComment struct {
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Distinguished bool `json:"distinguished" url:"distinguished,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_ids" url:"recipient_ids,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[int32] `json:"max_depth" url:"max_depth,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"`
|
|
||||||
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[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 string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type ListCommentReportsResponse struct {
|
|
||||||
CommentReports []CommentReportView `json:"comment_reports" url:"comment_reports,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/comment_reply.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentReplyInsertForm struct {
|
|
||||||
RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Read Optional[bool] `json:"read" url:"read,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentReplyUpdateForm struct {
|
|
||||||
Read Optional[bool] `json:"read" url:"read,omitempty"`
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/comment_report.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentReportForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
@ -1,113 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/community.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Community 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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `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"`
|
|
||||||
PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
PublicKey string `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
|
|
||||||
Icon Optional[string] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
FollowersURL string `json:"followers_url" url:"followers_url,omitempty"`
|
|
||||||
InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
|
|
||||||
SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,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"`
|
|
||||||
ModeratorsURL Optional[string] `json:"moderators_url" url:"moderators_url,omitempty"`
|
|
||||||
FeaturedURL Optional[string] `json:"featured_url" url:"featured_url,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityInsertForm struct {
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
Title string `json:"title" url:"title,omitempty"`
|
|
||||||
Description Optional[string] `json:"description" url:"description,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
ActorID Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
PublicKey string `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
|
|
||||||
Icon Optional[string] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
FollowersURL Optional[string] `json:"followers_url" url:"followers_url,omitempty"`
|
|
||||||
InboxURL Optional[string] `json:"inbox_url" url:"inbox_url,omitempty"`
|
|
||||||
SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
|
|
||||||
ModeratorsURL Optional[string] `json:"moderators_url" url:"moderators_url,omitempty"`
|
|
||||||
FeaturedURL Optional[string] `json:"featured_url" url:"featured_url,omitempty"`
|
|
||||||
Hidden Optional[bool] `json:"hidden" url:"hidden,omitempty"`
|
|
||||||
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityUpdateForm struct {
|
|
||||||
Title Optional[string] `json:"title" url:"title,omitempty"`
|
|
||||||
Description Optional[Optional[string]] `json:"description" url:"description,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
ActorID Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
PublicKey Optional[string] `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
PrivateKey Optional[Optional[string]] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
|
|
||||||
Icon Optional[Optional[string]] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[Optional[string]] `json:"banner" url:"banner,omitempty"`
|
|
||||||
FollowersURL Optional[string] `json:"followers_url" url:"followers_url,omitempty"`
|
|
||||||
InboxURL Optional[string] `json:"inbox_url" url:"inbox_url,omitempty"`
|
|
||||||
SharedInboxURL Optional[Optional[string]] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
|
|
||||||
ModeratorsURL Optional[string] `json:"moderators_url" url:"moderators_url,omitempty"`
|
|
||||||
FeaturedURL Optional[string] `json:"featured_url" url:"featured_url,omitempty"`
|
|
||||||
Hidden Optional[bool] `json:"hidden" url:"hidden,omitempty"`
|
|
||||||
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityModerator struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityModeratorForm struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityPersonBan struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Expires LemmyTime `json:"expires" url:"expires,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityPersonBanForm struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Expires LemmyTime `json:"expires" url:"expires,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityFollower struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Pending bool `json:"pending" url:"pending,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityFollowerForm struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Pending bool `json:"pending" url:"pending,omitempty"`
|
|
||||||
}
|
|
@ -1,117 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/community.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
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"`
|
|
||||||
DiscussionLanguages []int `json:"discussion_languages" url:"discussion_languages,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"`
|
|
||||||
DiscussionLanguages Optional[[]int] `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityResponse struct {
|
|
||||||
CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
|
|
||||||
DiscussionLanguages []int `json:"discussion_languages" url:"discussion_languages,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 PersonView `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"`
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/community_block.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type CommunityBlock struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityBlockForm struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/custom_emoji.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type CustomEmoji struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
Shortcode string `json:"shortcode" url:"shortcode,omitempty"`
|
|
||||||
ImageURL string `json:"image_url" url:"image_url,omitempty"`
|
|
||||||
AltText string `json:"alt_text" url:"alt_text,omitempty"`
|
|
||||||
Category string `json:"category" url:"category,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
type CustomEmojiInsertForm struct {
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
Shortcode string `json:"shortcode" url:"shortcode,omitempty"`
|
|
||||||
ImageURL string `json:"image_url" url:"image_url,omitempty"`
|
|
||||||
AltText string `json:"alt_text" url:"alt_text,omitempty"`
|
|
||||||
Category string `json:"category" url:"category,omitempty"`
|
|
||||||
}
|
|
||||||
type CustomEmojiUpdateForm struct {
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
ImageURL string `json:"image_url" url:"image_url,omitempty"`
|
|
||||||
AltText string `json:"alt_text" url:"alt_text,omitempty"`
|
|
||||||
Category string `json:"category" url:"category,omitempty"`
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/custom_emoji.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type CreateCustomEmoji struct {
|
|
||||||
Category string `json:"category" url:"category,omitempty"`
|
|
||||||
Shortcode string `json:"shortcode" url:"shortcode,omitempty"`
|
|
||||||
ImageURL string `json:"image_url" url:"image_url,omitempty"`
|
|
||||||
AltText string `json:"alt_text" url:"alt_text,omitempty"`
|
|
||||||
Keywords []string `json:"keywords" url:"keywords,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type EditCustomEmoji struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Category string `json:"category" url:"category,omitempty"`
|
|
||||||
ImageURL string `json:"image_url" url:"image_url,omitempty"`
|
|
||||||
AltText string `json:"alt_text" url:"alt_text,omitempty"`
|
|
||||||
Keywords []string `json:"keywords" url:"keywords,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type DeleteCustomEmoji struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type DeleteCustomEmojiResponse struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Success bool `json:"success" url:"success,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
type CustomEmojiResponse struct {
|
|
||||||
CustomEmoji CustomEmojiView `json:"custom_emoji" url:"custom_emoji,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/custom_emoji_keyword.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type CustomEmojiKeyword struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
CustomEmojiID int `json:"custom_emoji_id" url:"custom_emoji_id,omitempty"`
|
|
||||||
Keyword string `json:"keyword" url:"keyword,omitempty"`
|
|
||||||
}
|
|
||||||
type CustomEmojiKeywordInsertForm struct {
|
|
||||||
CustomEmojiID int `json:"custom_emoji_id" url:"custom_emoji_id,omitempty"`
|
|
||||||
Keyword string `json:"keyword" url:"keyword,omitempty"`
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/email_verification.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type EmailVerification struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
Email string `json:"email" url:"email,omitempty"`
|
|
||||||
VerificationCode string `json:"verification_code" url:"verification_code,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type EmailVerificationForm struct {
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
Email string `json:"email" url:"email,omitempty"`
|
|
||||||
VerificationToken string `json:"verification_token" url:"verification_token,omitempty"`
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/federation_allowlist.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type FederationAllowList struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
type FederationAllowListForm struct {
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/federation_blocklist.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type FederationBlockList struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
type FederationBlockListForm struct {
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/instance.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Instance struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Domain string `json:"domain" url:"domain,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Software Optional[string] `json:"software" url:"software,omitempty"`
|
|
||||||
Version Optional[string] `json:"version" url:"version,omitempty"`
|
|
||||||
}
|
|
||||||
type InstanceForm struct {
|
|
||||||
Domain string `json:"domain" url:"domain,omitempty"`
|
|
||||||
Software Optional[string] `json:"software" url:"software,omitempty"`
|
|
||||||
Version Optional[string] `json:"version" url:"version,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/language.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Language struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
Code string `json:"code" url:"code,omitempty"`
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
}
|
|
@ -1,95 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/lib.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type SortType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
SortTypeActive SortType = "Active"
|
|
||||||
SortTypeHot SortType = "Hot"
|
|
||||||
SortTypeNew SortType = "New"
|
|
||||||
SortTypeOld SortType = "Old"
|
|
||||||
SortTypeTopDay SortType = "TopDay"
|
|
||||||
SortTypeTopWeek SortType = "TopWeek"
|
|
||||||
SortTypeTopMonth SortType = "TopMonth"
|
|
||||||
SortTypeTopYear SortType = "TopYear"
|
|
||||||
SortTypeTopAll SortType = "TopAll"
|
|
||||||
SortTypeMostComments SortType = "MostComments"
|
|
||||||
SortTypeNewComments SortType = "NewComments"
|
|
||||||
SortTypeTopHour SortType = "TopHour"
|
|
||||||
SortTypeTopSixHour SortType = "TopSixHour"
|
|
||||||
SortTypeTopTwelveHour SortType = "TopTwelveHour"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CommentSortType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
CommentSortTypeHot CommentSortType = "Hot"
|
|
||||||
CommentSortTypeTop CommentSortType = "Top"
|
|
||||||
CommentSortTypeNew CommentSortType = "New"
|
|
||||||
CommentSortTypeOld CommentSortType = "Old"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ListingType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
ListingTypeAll ListingType = "All"
|
|
||||||
ListingTypeLocal ListingType = "Local"
|
|
||||||
ListingTypeSubscribed ListingType = "Subscribed"
|
|
||||||
)
|
|
||||||
|
|
||||||
type RegistrationMode string
|
|
||||||
|
|
||||||
const (
|
|
||||||
RegistrationModeClosed RegistrationMode = "Closed"
|
|
||||||
RegistrationModeRequireApplication RegistrationMode = "RequireApplication"
|
|
||||||
RegistrationModeOpen RegistrationMode = "Open"
|
|
||||||
)
|
|
||||||
|
|
||||||
type SearchType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
SearchTypeAll SearchType = "All"
|
|
||||||
SearchTypeComments SearchType = "Comments"
|
|
||||||
SearchTypePosts SearchType = "Posts"
|
|
||||||
SearchTypeCommunities SearchType = "Communities"
|
|
||||||
SearchTypeUsers SearchType = "Users"
|
|
||||||
SearchTypeUrl SearchType = "Url"
|
|
||||||
)
|
|
||||||
|
|
||||||
type SubscribedType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
SubscribedTypeSubscribed SubscribedType = "Subscribed"
|
|
||||||
SubscribedTypeNotSubscribed SubscribedType = "NotSubscribed"
|
|
||||||
SubscribedTypePending SubscribedType = "Pending"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ModlogActionType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
ModlogActionTypeAll ModlogActionType = "All"
|
|
||||||
ModlogActionTypeModRemovePost ModlogActionType = "ModRemovePost"
|
|
||||||
ModlogActionTypeModLockPost ModlogActionType = "ModLockPost"
|
|
||||||
ModlogActionTypeModFeaturePost ModlogActionType = "ModFeaturePost"
|
|
||||||
ModlogActionTypeModRemoveComment ModlogActionType = "ModRemoveComment"
|
|
||||||
ModlogActionTypeModRemoveCommunity ModlogActionType = "ModRemoveCommunity"
|
|
||||||
ModlogActionTypeModBanFromCommunity ModlogActionType = "ModBanFromCommunity"
|
|
||||||
ModlogActionTypeModAddCommunity ModlogActionType = "ModAddCommunity"
|
|
||||||
ModlogActionTypeModTransferCommunity ModlogActionType = "ModTransferCommunity"
|
|
||||||
ModlogActionTypeModAdd ModlogActionType = "ModAdd"
|
|
||||||
ModlogActionTypeModBan ModlogActionType = "ModBan"
|
|
||||||
ModlogActionTypeModHideCommunity ModlogActionType = "ModHideCommunity"
|
|
||||||
ModlogActionTypeAdminPurgePerson ModlogActionType = "AdminPurgePerson"
|
|
||||||
ModlogActionTypeAdminPurgeCommunity ModlogActionType = "AdminPurgeCommunity"
|
|
||||||
ModlogActionTypeAdminPurgePost ModlogActionType = "AdminPurgePost"
|
|
||||||
ModlogActionTypeAdminPurgeComment ModlogActionType = "AdminPurgeComment"
|
|
||||||
)
|
|
||||||
|
|
||||||
type PostFeatureType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
PostFeatureTypeLocal PostFeatureType = "Local"
|
|
||||||
PostFeatureTypeCommunity PostFeatureType = "Community"
|
|
||||||
)
|
|
@ -1,4 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/lib.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
@ -1,77 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/local_site.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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"`
|
|
||||||
EnableNSFW bool `json:"enable_nsfw" url:"enable_nsfw,omitempty"`
|
|
||||||
CommunityCreationAdminOnly bool `json:"community_creation_admin_only" url:"community_creation_admin_only,omitempty"`
|
|
||||||
RequireEmailVerification bool `json:"require_email_verification" url:"require_email_verification,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 ListingType `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 int32 `json:"actor_name_max_length" url:"actor_name_max_length,omitempty"`
|
|
||||||
FederationEnabled bool `json:"federation_enabled" url:"federation_enabled,omitempty"`
|
|
||||||
FederationWorkerCount int32 `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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
RegistrationMode RegistrationMode `json:"registration_mode" url:"registration_mode,omitempty"`
|
|
||||||
ReportsEmailAdmins bool `json:"reports_email_admins" url:"reports_email_admins,omitempty"`
|
|
||||||
}
|
|
||||||
type LocalSiteInsertForm struct {
|
|
||||||
SiteID int `json:"site_id" url:"site_id,omitempty"`
|
|
||||||
SiteSetup Optional[bool] `json:"site_setup" url:"site_setup,omitempty"`
|
|
||||||
EnableDownvotes Optional[bool] `json:"enable_downvotes" url:"enable_downvotes,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"`
|
|
||||||
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[ListingType] `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
|
|
||||||
LegalInformation Optional[string] `json:"legal_information" url:"legal_information,omitempty"`
|
|
||||||
HideModlogModNames Optional[bool] `json:"hide_modlog_mod_names" url:"hide_modlog_mod_names,omitempty"`
|
|
||||||
ApplicationEmailAdmins Optional[bool] `json:"application_email_admins" url:"application_email_admins,omitempty"`
|
|
||||||
SlurFilterRegex Optional[string] `json:"slur_filter_regex" url:"slur_filter_regex,omitempty"`
|
|
||||||
ActorNameMaxLength Optional[int32] `json:"actor_name_max_length" url:"actor_name_max_length,omitempty"`
|
|
||||||
FederationEnabled Optional[bool] `json:"federation_enabled" url:"federation_enabled,omitempty"`
|
|
||||||
FederationWorkerCount Optional[int32] `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"`
|
|
||||||
RegistrationMode Optional[RegistrationMode] `json:"registration_mode" url:"registration_mode,omitempty"`
|
|
||||||
ReportsEmailAdmins Optional[bool] `json:"reports_email_admins" url:"reports_email_admins,omitempty"`
|
|
||||||
}
|
|
||||||
type LocalSiteUpdateForm struct {
|
|
||||||
SiteSetup Optional[bool] `json:"site_setup" url:"site_setup,omitempty"`
|
|
||||||
EnableDownvotes Optional[bool] `json:"enable_downvotes" url:"enable_downvotes,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"`
|
|
||||||
ApplicationQuestion Optional[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[ListingType] `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
|
|
||||||
LegalInformation Optional[Optional[string]] `json:"legal_information" url:"legal_information,omitempty"`
|
|
||||||
HideModlogModNames Optional[bool] `json:"hide_modlog_mod_names" url:"hide_modlog_mod_names,omitempty"`
|
|
||||||
ApplicationEmailAdmins Optional[bool] `json:"application_email_admins" url:"application_email_admins,omitempty"`
|
|
||||||
SlurFilterRegex Optional[Optional[string]] `json:"slur_filter_regex" url:"slur_filter_regex,omitempty"`
|
|
||||||
ActorNameMaxLength Optional[int32] `json:"actor_name_max_length" url:"actor_name_max_length,omitempty"`
|
|
||||||
FederationEnabled Optional[bool] `json:"federation_enabled" url:"federation_enabled,omitempty"`
|
|
||||||
FederationWorkerCount Optional[int32] `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"`
|
|
||||||
RegistrationMode Optional[RegistrationMode] `json:"registration_mode" url:"registration_mode,omitempty"`
|
|
||||||
ReportsEmailAdmins Optional[bool] `json:"reports_email_admins" url:"reports_email_admins,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
@ -1,53 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/local_site_rate_limit.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type LocalSiteRateLimit struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
Message int32 `json:"message" url:"message,omitempty"`
|
|
||||||
MessagePerSecond int32 `json:"message_per_second" url:"message_per_second,omitempty"`
|
|
||||||
Post int32 `json:"post" url:"post,omitempty"`
|
|
||||||
PostPerSecond int32 `json:"post_per_second" url:"post_per_second,omitempty"`
|
|
||||||
Register int32 `json:"register" url:"register,omitempty"`
|
|
||||||
RegisterPerSecond int32 `json:"register_per_second" url:"register_per_second,omitempty"`
|
|
||||||
Image int32 `json:"image" url:"image,omitempty"`
|
|
||||||
ImagePerSecond int32 `json:"image_per_second" url:"image_per_second,omitempty"`
|
|
||||||
Comment int32 `json:"comment" url:"comment,omitempty"`
|
|
||||||
CommentPerSecond int32 `json:"comment_per_second" url:"comment_per_second,omitempty"`
|
|
||||||
Search int32 `json:"search" url:"search,omitempty"`
|
|
||||||
SearchPerSecond int32 `json:"search_per_second" url:"search_per_second,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
type LocalSiteRateLimitInsertForm struct {
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
Message Optional[int32] `json:"message" url:"message,omitempty"`
|
|
||||||
MessagePerSecond Optional[int32] `json:"message_per_second" url:"message_per_second,omitempty"`
|
|
||||||
Post Optional[int32] `json:"post" url:"post,omitempty"`
|
|
||||||
PostPerSecond Optional[int32] `json:"post_per_second" url:"post_per_second,omitempty"`
|
|
||||||
Register Optional[int32] `json:"register" url:"register,omitempty"`
|
|
||||||
RegisterPerSecond Optional[int32] `json:"register_per_second" url:"register_per_second,omitempty"`
|
|
||||||
Image Optional[int32] `json:"image" url:"image,omitempty"`
|
|
||||||
ImagePerSecond Optional[int32] `json:"image_per_second" url:"image_per_second,omitempty"`
|
|
||||||
Comment Optional[int32] `json:"comment" url:"comment,omitempty"`
|
|
||||||
CommentPerSecond Optional[int32] `json:"comment_per_second" url:"comment_per_second,omitempty"`
|
|
||||||
Search Optional[int32] `json:"search" url:"search,omitempty"`
|
|
||||||
SearchPerSecond Optional[int32] `json:"search_per_second" url:"search_per_second,omitempty"`
|
|
||||||
}
|
|
||||||
type LocalSiteRateLimitUpdateForm struct {
|
|
||||||
Message Optional[int32] `json:"message" url:"message,omitempty"`
|
|
||||||
MessagePerSecond Optional[int32] `json:"message_per_second" url:"message_per_second,omitempty"`
|
|
||||||
Post Optional[int32] `json:"post" url:"post,omitempty"`
|
|
||||||
PostPerSecond Optional[int32] `json:"post_per_second" url:"post_per_second,omitempty"`
|
|
||||||
Register Optional[int32] `json:"register" url:"register,omitempty"`
|
|
||||||
RegisterPerSecond Optional[int32] `json:"register_per_second" url:"register_per_second,omitempty"`
|
|
||||||
Image Optional[int32] `json:"image" url:"image,omitempty"`
|
|
||||||
ImagePerSecond Optional[int32] `json:"image_per_second" url:"image_per_second,omitempty"`
|
|
||||||
Comment Optional[int32] `json:"comment" url:"comment,omitempty"`
|
|
||||||
CommentPerSecond Optional[int32] `json:"comment_per_second" url:"comment_per_second,omitempty"`
|
|
||||||
Search Optional[int32] `json:"search" url:"search,omitempty"`
|
|
||||||
SearchPerSecond Optional[int32] `json:"search_per_second" url:"search_per_second,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/local_user.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type LocalUser struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
PasswordEncrypted string `json:"password_encrypted" url:"password_encrypted,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 SortType `json:"default_sort_type" url:"default_sort_type,omitempty"`
|
|
||||||
DefaultListingType ListingType `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"`
|
|
||||||
SendNotificationsToEmail bool `json:"send_notifications_to_email" url:"send_notifications_to_email,omitempty"`
|
|
||||||
ValidatorTime LemmyTime `json:"validator_time" url:"validator_time,omitempty"`
|
|
||||||
ShowScores bool `json:"show_scores" url:"show_scores,omitempty"`
|
|
||||||
ShowBotAccounts bool `json:"show_bot_accounts" url:"show_bot_accounts,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"`
|
|
||||||
Totp2faSecret Optional[string] `json:"totp_2fa_secret" url:"totp_2fa_secret,omitempty"`
|
|
||||||
Totp2faURL Optional[string] `json:"totp_2fa_url" url:"totp_2fa_url,omitempty"`
|
|
||||||
}
|
|
||||||
type LocalUserInsertForm struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
PasswordEncrypted string `json:"password_encrypted" url:"password_encrypted,omitempty"`
|
|
||||||
Email Optional[string] `json:"email" url:"email,omitempty"`
|
|
||||||
ShowNSFW Optional[bool] `json:"show_nsfw" url:"show_nsfw,omitempty"`
|
|
||||||
Theme Optional[string] `json:"theme" url:"theme,omitempty"`
|
|
||||||
DefaultSortType Optional[SortType] `json:"default_sort_type" url:"default_sort_type,omitempty"`
|
|
||||||
DefaultListingType Optional[ListingType] `json:"default_listing_type" url:"default_listing_type,omitempty"`
|
|
||||||
InterfaceLanguage Optional[string] `json:"interface_language" url:"interface_language,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"`
|
|
||||||
ShowBotAccounts Optional[bool] `json:"show_bot_accounts" url:"show_bot_accounts,omitempty"`
|
|
||||||
ShowScores Optional[bool] `json:"show_scores" url:"show_scores,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"`
|
|
||||||
EmailVerified Optional[bool] `json:"email_verified" url:"email_verified,omitempty"`
|
|
||||||
AcceptedApplication Optional[bool] `json:"accepted_application" url:"accepted_application,omitempty"`
|
|
||||||
Totp2faSecret Optional[Optional[string]] `json:"totp_2fa_secret" url:"totp_2fa_secret,omitempty"`
|
|
||||||
Totp2faURL Optional[Optional[string]] `json:"totp_2fa_url" url:"totp_2fa_url,omitempty"`
|
|
||||||
}
|
|
||||||
type LocalUserUpdateForm struct {
|
|
||||||
PasswordEncrypted Optional[string] `json:"password_encrypted" url:"password_encrypted,omitempty"`
|
|
||||||
Email Optional[Optional[string]] `json:"email" url:"email,omitempty"`
|
|
||||||
ShowNSFW Optional[bool] `json:"show_nsfw" url:"show_nsfw,omitempty"`
|
|
||||||
Theme Optional[string] `json:"theme" url:"theme,omitempty"`
|
|
||||||
DefaultSortType Optional[SortType] `json:"default_sort_type" url:"default_sort_type,omitempty"`
|
|
||||||
DefaultListingType Optional[ListingType] `json:"default_listing_type" url:"default_listing_type,omitempty"`
|
|
||||||
InterfaceLanguage Optional[string] `json:"interface_language" url:"interface_language,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"`
|
|
||||||
ShowBotAccounts Optional[bool] `json:"show_bot_accounts" url:"show_bot_accounts,omitempty"`
|
|
||||||
ShowScores Optional[bool] `json:"show_scores" url:"show_scores,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"`
|
|
||||||
EmailVerified Optional[bool] `json:"email_verified" url:"email_verified,omitempty"`
|
|
||||||
AcceptedApplication Optional[bool] `json:"accepted_application" url:"accepted_application,omitempty"`
|
|
||||||
Totp2faSecret Optional[Optional[string]] `json:"totp_2fa_secret" url:"totp_2fa_secret,omitempty"`
|
|
||||||
Totp2faURL Optional[Optional[string]] `json:"totp_2fa_url" url:"totp_2fa_url,omitempty"`
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/mod.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
@ -1,205 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/moderator.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type ModRemovePost struct {
|
|
||||||
ID int32 `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 bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModRemovePostForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
||||||
type ModLockPost struct {
|
|
||||||
ID int32 `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 bool `json:"locked" url:"locked,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModLockPostForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
||||||
type ModFeaturePost struct {
|
|
||||||
ID int32 `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"`
|
|
||||||
Featured bool `json:"featured" url:"featured,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
IsFeaturedCommunity bool `json:"is_featured_community" url:"is_featured_community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModFeaturePostForm struct {
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Featured bool `json:"featured" url:"featured,omitempty"`
|
|
||||||
IsFeaturedCommunity bool `json:"is_featured_community" url:"is_featured_community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModRemoveComment struct {
|
|
||||||
ID int32 `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 bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModRemoveCommentForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
||||||
type ModRemoveCommunity struct {
|
|
||||||
ID int32 `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 bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
Expires LemmyTime `json:"expires" url:"expires,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModRemoveCommunityForm struct {
|
|
||||||
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 LemmyTime `json:"expires" url:"expires,omitempty"`
|
|
||||||
}
|
|
||||||
type ModBanFromCommunity struct {
|
|
||||||
ID int32 `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 bool `json:"banned" url:"banned,omitempty"`
|
|
||||||
Expires LemmyTime `json:"expires" url:"expires,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModBanFromCommunityForm struct {
|
|
||||||
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 LemmyTime `json:"expires" url:"expires,omitempty"`
|
|
||||||
}
|
|
||||||
type ModBan struct {
|
|
||||||
ID int32 `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 bool `json:"banned" url:"banned,omitempty"`
|
|
||||||
Expires LemmyTime `json:"expires" url:"expires,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModHideCommunityForm struct {
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
Hidden Optional[bool] `json:"hidden" url:"hidden,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
}
|
|
||||||
type ModHideCommunity struct {
|
|
||||||
ID int32 `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"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
Hidden bool `json:"hidden" url:"hidden,omitempty"`
|
|
||||||
}
|
|
||||||
type ModBanForm struct {
|
|
||||||
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 LemmyTime `json:"expires" url:"expires,omitempty"`
|
|
||||||
}
|
|
||||||
type ModAddCommunity struct {
|
|
||||||
ID int32 `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 bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModAddCommunityForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
||||||
type ModTransferCommunity struct {
|
|
||||||
ID int32 `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"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModTransferCommunityForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
||||||
type ModAdd struct {
|
|
||||||
ID int32 `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 bool `json:"removed" url:"removed,omitempty"`
|
|
||||||
When LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type ModAddForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
||||||
type AdminPurgePerson struct {
|
|
||||||
ID int32 `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 LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgePersonForm struct {
|
|
||||||
AdminPersonID int `json:"admin_person_id" url:"admin_person_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgeCommunity struct {
|
|
||||||
ID int32 `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 LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgeCommunityForm struct {
|
|
||||||
AdminPersonID int `json:"admin_person_id" url:"admin_person_id,omitempty"`
|
|
||||||
Reason Optional[string] `json:"reason" url:"reason,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgePost struct {
|
|
||||||
ID int32 `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 LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgePostForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
||||||
type AdminPurgeComment struct {
|
|
||||||
ID int32 `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 LemmyTime `json:"when_" url:"when_,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgeCommentForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/password_reset_request.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type PasswordResetRequest struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
TokenEncrypted string `json:"token_encrypted" url:"token_encrypted,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
}
|
|
||||||
type PasswordResetRequestForm struct {
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
TokenEncrypted string `json:"token_encrypted" url:"token_encrypted,omitempty"`
|
|
||||||
}
|
|
@ -1,84 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/person.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Person 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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `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"`
|
|
||||||
PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
PublicKey string `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,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 LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonInsertForm struct {
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
PublicKey string `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
|
|
||||||
Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
|
|
||||||
Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
ActorID Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
Bio Optional[string] `json:"bio" url:"bio,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
|
|
||||||
Banner Optional[string] `json:"banner" url:"banner,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
InboxURL Optional[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 Optional[bool] `json:"admin" url:"admin,omitempty"`
|
|
||||||
BotAccount Optional[bool] `json:"bot_account" url:"bot_account,omitempty"`
|
|
||||||
BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonUpdateForm struct {
|
|
||||||
DisplayName Optional[Optional[string]] `json:"display_name" url:"display_name,omitempty"`
|
|
||||||
Avatar Optional[Optional[string]] `json:"avatar" url:"avatar,omitempty"`
|
|
||||||
Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
ActorID Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
Bio Optional[Optional[string]] `json:"bio" url:"bio,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
PublicKey Optional[string] `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
PrivateKey Optional[Optional[string]] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
|
|
||||||
Banner Optional[Optional[string]] `json:"banner" url:"banner,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
InboxURL Optional[string] `json:"inbox_url" url:"inbox_url,omitempty"`
|
|
||||||
SharedInboxURL Optional[Optional[string]] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
|
|
||||||
MatrixUserID Optional[Optional[string]] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
|
|
||||||
Admin Optional[bool] `json:"admin" url:"admin,omitempty"`
|
|
||||||
BotAccount Optional[bool] `json:"bot_account" url:"bot_account,omitempty"`
|
|
||||||
BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonFollower struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
FollowerID int `json:"follower_id" url:"follower_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Pending bool `json:"pending" url:"pending,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonFollowerForm struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
FollowerID int `json:"follower_id" url:"follower_id,omitempty"`
|
|
||||||
Pending bool `json:"pending" url:"pending,omitempty"`
|
|
||||||
}
|
|
@ -1,212 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/person.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Login struct {
|
|
||||||
UsernameOrEmail string `json:"username_or_email" url:"username_or_email,omitempty"`
|
|
||||||
Password string `json:"password" url:"password,omitempty"`
|
|
||||||
Totp2faToken Optional[string] `json:"totp_2fa_token" url:"totp_2fa_token,omitempty"`
|
|
||||||
}
|
|
||||||
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 {
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type GetCaptchaResponse struct {
|
|
||||||
Ok Optional[CaptchaResponse] `json:"ok" url:"ok,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
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[SortType] `json:"default_sort_type" url:"default_sort_type,omitempty"`
|
|
||||||
DefaultListingType Optional[ListingType] `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"`
|
|
||||||
GenerateTotp2fa Optional[bool] `json:"generate_totp_2fa" url:"generate_totp_2fa,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 LoginResponse struct {
|
|
||||||
JWT Optional[string] `json:"jwt" url:"jwt,omitempty"`
|
|
||||||
RegistrationCreated bool `json:"registration_created" url:"registration_created,omitempty"`
|
|
||||||
VerifyEmailSent bool `json:"verify_email_sent" url:"verify_email_sent,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
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 PersonView `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 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 []PersonView `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 BannedPersonsResponse struct {
|
|
||||||
Banned []PersonView `json:"banned" url:"banned,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
type BanPersonResponse struct {
|
|
||||||
PersonView PersonView `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 BlockPersonResponse struct {
|
|
||||||
PersonView PersonView `json:"person_view" url:"person_view,omitempty"`
|
|
||||||
Blocked bool `json:"blocked" url:"blocked,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
type GetReplies 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 GetRepliesResponse struct {
|
|
||||||
Replies []CommentReplyView `json:"replies" url:"replies,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
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 GetPersonMentionsResponse struct {
|
|
||||||
Mentions []PersonMentionView `json:"mentions" url:"mentions,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
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
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/person_block.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type PersonBlock struct {
|
|
||||||
ID int `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
TargetID int `json:"target_id" url:"target_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonBlockForm struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
TargetID int `json:"target_id" url:"target_id,omitempty"`
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/person_mention.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonMentionInsertForm struct {
|
|
||||||
RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Read Optional[bool] `json:"read" url:"read,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonMentionUpdateForm struct {
|
|
||||||
Read Optional[bool] `json:"read" url:"read,omitempty"`
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/post.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted bool `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
NSFW bool `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
EmbedTitle Optional[string] `json:"embed_title" url:"embed_title,omitempty"`
|
|
||||||
EmbedDescription Optional[string] `json:"embed_description" url:"embed_description,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"`
|
|
||||||
EmbedVideoURL Optional[string] `json:"embed_video_url" url:"embed_video_url,omitempty"`
|
|
||||||
LanguageID int `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
FeaturedCommunity bool `json:"featured_community" url:"featured_community,omitempty"`
|
|
||||||
FeaturedLocal bool `json:"featured_local" url:"featured_local,omitempty"`
|
|
||||||
}
|
|
||||||
type PostInsertForm struct {
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
URL Optional[string] `json:"url" url:"url,omitempty"`
|
|
||||||
Body Optional[string] `json:"body" url:"body,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
Locked Optional[bool] `json:"locked" url:"locked,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,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 Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
LanguageID Optional[int] `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
FeaturedCommunity Optional[bool] `json:"featured_community" url:"featured_community,omitempty"`
|
|
||||||
FeaturedLocal Optional[bool] `json:"featured_local" url:"featured_local,omitempty"`
|
|
||||||
}
|
|
||||||
type PostUpdateForm struct {
|
|
||||||
Name Optional[string] `json:"name" url:"name,omitempty"`
|
|
||||||
NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
|
|
||||||
URL Optional[Optional[string]] `json:"url" url:"url,omitempty"`
|
|
||||||
Body Optional[Optional[string]] `json:"body" url:"body,omitempty"`
|
|
||||||
Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
|
|
||||||
Locked Optional[bool] `json:"locked" url:"locked,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
EmbedTitle Optional[Optional[string]] `json:"embed_title" url:"embed_title,omitempty"`
|
|
||||||
EmbedDescription Optional[Optional[string]] `json:"embed_description" url:"embed_description,omitempty"`
|
|
||||||
EmbedVideoURL Optional[Optional[string]] `json:"embed_video_url" url:"embed_video_url,omitempty"`
|
|
||||||
ThumbnailURL Optional[Optional[string]] `json:"thumbnail_url" url:"thumbnail_url,omitempty"`
|
|
||||||
ApID Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
LanguageID Optional[int] `json:"language_id" url:"language_id,omitempty"`
|
|
||||||
FeaturedCommunity Optional[bool] `json:"featured_community" url:"featured_community,omitempty"`
|
|
||||||
FeaturedLocal Optional[bool] `json:"featured_local" url:"featured_local,omitempty"`
|
|
||||||
}
|
|
||||||
type PostLike struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Score int16 `json:"score" url:"score,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type PostLikeForm struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Score int16 `json:"score" url:"score,omitempty"`
|
|
||||||
}
|
|
||||||
type PostSaved struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type PostSavedForm struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
}
|
|
||||||
type PostRead struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type PostReadForm struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
}
|
|
@ -1,129 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/post.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
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"`
|
|
||||||
CrossPosts []PostView `json:"cross_posts" url:"cross_posts,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 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 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 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 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 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 string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type FeaturePost struct {
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Featured bool `json:"featured" url:"featured,omitempty"`
|
|
||||||
FeatureType PostFeatureType `json:"feature_type" url:"feature_type,omitempty"`
|
|
||||||
Auth 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 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 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 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 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"`
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/post_report.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
type PostReportForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
@ -1,37 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/private_message.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
ApID string `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local bool `json:"local" url:"local,omitempty"`
|
|
||||||
}
|
|
||||||
type PrivateMessageInsertForm struct {
|
|
||||||
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 Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
Read Optional[bool] `json:"read" url:"read,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
ApID Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
}
|
|
||||||
type PrivateMessageUpdateForm struct {
|
|
||||||
Content Optional[string] `json:"content" url:"content,omitempty"`
|
|
||||||
Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
|
|
||||||
Read Optional[bool] `json:"read" url:"read,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
ApID Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
|
|
||||||
Local Optional[bool] `json:"local" url:"local,omitempty"`
|
|
||||||
}
|
|
@ -1,63 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/private_message.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type CreatePrivateMessage struct {
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
|
|
||||||
Auth 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 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 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 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 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 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 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 string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type ListPrivateMessageReportsResponse struct {
|
|
||||||
PrivateMessageReports []PrivateMessageReportView `json:"private_message_reports" url:"private_message_reports,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/private_message_report.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
type PrivateMessageReportForm struct {
|
|
||||||
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"`
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/registration_application.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type RegistrationApplication struct {
|
|
||||||
ID int32 `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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type RegistrationApplicationInsertForm struct {
|
|
||||||
LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
|
|
||||||
Answer string `json:"answer" url:"answer,omitempty"`
|
|
||||||
}
|
|
||||||
type RegistrationApplicationUpdateForm struct {
|
|
||||||
AdminID Optional[Optional[int]] `json:"admin_id" url:"admin_id,omitempty"`
|
|
||||||
DenyReason Optional[Optional[string]] `json:"deny_reason" url:"deny_reason,omitempty"`
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/request.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
@ -1,9 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/secret.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Secret struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
JWTSecret string `json:"jwt_secret" url:"jwt_secret,omitempty"`
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/sensitive.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
@ -1,48 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/site.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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 LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `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 LemmyTime `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 SiteInsertForm struct {
|
|
||||||
Name string `json:"name" url:"name,omitempty"`
|
|
||||||
Sidebar Optional[string] `json:"sidebar" url:"sidebar,omitempty"`
|
|
||||||
Updated LemmyTime `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 Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
|
|
||||||
InboxURL Optional[string] `json:"inbox_url" url:"inbox_url,omitempty"`
|
|
||||||
PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
PublicKey Optional[string] `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
InstanceID int `json:"instance_id" url:"instance_id,omitempty"`
|
|
||||||
}
|
|
||||||
type SiteUpdateForm struct {
|
|
||||||
Name Optional[string] `json:"name" url:"name,omitempty"`
|
|
||||||
Sidebar Optional[Optional[string]] `json:"sidebar" url:"sidebar,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
Icon Optional[Optional[string]] `json:"icon" url:"icon,omitempty"`
|
|
||||||
Banner Optional[Optional[string]] `json:"banner" url:"banner,omitempty"`
|
|
||||||
Description Optional[Optional[string]] `json:"description" url:"description,omitempty"`
|
|
||||||
ActorID Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
|
|
||||||
LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
|
|
||||||
InboxURL Optional[string] `json:"inbox_url" url:"inbox_url,omitempty"`
|
|
||||||
PrivateKey Optional[Optional[string]] `json:"private_key" url:"private_key,omitempty"`
|
|
||||||
PublicKey Optional[string] `json:"public_key" url:"public_key,omitempty"`
|
|
||||||
}
|
|
@ -1,243 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/site.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Search struct {
|
|
||||||
Q string `json:"q" url:"q,omitempty"`
|
|
||||||
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"`
|
|
||||||
Type Optional[SearchType] `json:"type_" url:"type_,omitempty"`
|
|
||||||
Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
|
|
||||||
ListingType Optional[ListingType] `json:"listing_type" url:"listing_type,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 SearchResponse struct {
|
|
||||||
Type SearchType `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 []PersonView `json:"users" url:"users,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
type ResolveObject struct {
|
|
||||||
Q string `json:"q" url:"q,omitempty"`
|
|
||||||
Auth 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[PersonView] `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"`
|
|
||||||
Type Optional[ModlogActionType] `json:"type_" url:"type_,omitempty"`
|
|
||||||
OtherPersonID Optional[int] `json:"other_person_id" url:"other_person_id,omitempty"`
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type GetModlogResponse struct {
|
|
||||||
RemovedPosts []ModRemovePostView `json:"removed_posts" url:"removed_posts,omitempty"`
|
|
||||||
LockedPosts []ModLockPostView `json:"locked_posts" url:"locked_posts,omitempty"`
|
|
||||||
FeaturedPosts []ModFeaturePostView `json:"featured_posts" url:"featured_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"`
|
|
||||||
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"`
|
|
||||||
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[ListingType] `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[int32] `json:"actor_name_max_length" url:"actor_name_max_length,omitempty"`
|
|
||||||
RateLimitMessage Optional[int32] `json:"rate_limit_message" url:"rate_limit_message,omitempty"`
|
|
||||||
RateLimitMessagePerSecond Optional[int32] `json:"rate_limit_message_per_second" url:"rate_limit_message_per_second,omitempty"`
|
|
||||||
RateLimitPost Optional[int32] `json:"rate_limit_post" url:"rate_limit_post,omitempty"`
|
|
||||||
RateLimitPostPerSecond Optional[int32] `json:"rate_limit_post_per_second" url:"rate_limit_post_per_second,omitempty"`
|
|
||||||
RateLimitRegister Optional[int32] `json:"rate_limit_register" url:"rate_limit_register,omitempty"`
|
|
||||||
RateLimitRegisterPerSecond Optional[int32] `json:"rate_limit_register_per_second" url:"rate_limit_register_per_second,omitempty"`
|
|
||||||
RateLimitImage Optional[int32] `json:"rate_limit_image" url:"rate_limit_image,omitempty"`
|
|
||||||
RateLimitImagePerSecond Optional[int32] `json:"rate_limit_image_per_second" url:"rate_limit_image_per_second,omitempty"`
|
|
||||||
RateLimitComment Optional[int32] `json:"rate_limit_comment" url:"rate_limit_comment,omitempty"`
|
|
||||||
RateLimitCommentPerSecond Optional[int32] `json:"rate_limit_comment_per_second" url:"rate_limit_comment_per_second,omitempty"`
|
|
||||||
RateLimitSearch Optional[int32] `json:"rate_limit_search" url:"rate_limit_search,omitempty"`
|
|
||||||
RateLimitSearchPerSecond Optional[int32] `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[int32] `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"`
|
|
||||||
RegistrationMode Optional[RegistrationMode] `json:"registration_mode" url:"registration_mode,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"`
|
|
||||||
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"`
|
|
||||||
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[ListingType] `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[int32] `json:"actor_name_max_length" url:"actor_name_max_length,omitempty"`
|
|
||||||
RateLimitMessage Optional[int32] `json:"rate_limit_message" url:"rate_limit_message,omitempty"`
|
|
||||||
RateLimitMessagePerSecond Optional[int32] `json:"rate_limit_message_per_second" url:"rate_limit_message_per_second,omitempty"`
|
|
||||||
RateLimitPost Optional[int32] `json:"rate_limit_post" url:"rate_limit_post,omitempty"`
|
|
||||||
RateLimitPostPerSecond Optional[int32] `json:"rate_limit_post_per_second" url:"rate_limit_post_per_second,omitempty"`
|
|
||||||
RateLimitRegister Optional[int32] `json:"rate_limit_register" url:"rate_limit_register,omitempty"`
|
|
||||||
RateLimitRegisterPerSecond Optional[int32] `json:"rate_limit_register_per_second" url:"rate_limit_register_per_second,omitempty"`
|
|
||||||
RateLimitImage Optional[int32] `json:"rate_limit_image" url:"rate_limit_image,omitempty"`
|
|
||||||
RateLimitImagePerSecond Optional[int32] `json:"rate_limit_image_per_second" url:"rate_limit_image_per_second,omitempty"`
|
|
||||||
RateLimitComment Optional[int32] `json:"rate_limit_comment" url:"rate_limit_comment,omitempty"`
|
|
||||||
RateLimitCommentPerSecond Optional[int32] `json:"rate_limit_comment_per_second" url:"rate_limit_comment_per_second,omitempty"`
|
|
||||||
RateLimitSearch Optional[int32] `json:"rate_limit_search" url:"rate_limit_search,omitempty"`
|
|
||||||
RateLimitSearchPerSecond Optional[int32] `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[int32] `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"`
|
|
||||||
RegistrationMode Optional[RegistrationMode] `json:"registration_mode" url:"registration_mode,omitempty"`
|
|
||||||
ReportsEmailAdmins Optional[bool] `json:"reports_email_admins" url:"reports_email_admins,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"`
|
|
||||||
Taglines []Tagline `json:"taglines" url:"taglines,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
type GetSiteResponse struct {
|
|
||||||
SiteView SiteView `json:"site_view" url:"site_view,omitempty"`
|
|
||||||
Admins []PersonView `json:"admins" url:"admins,omitempty"`
|
|
||||||
Version string `json:"version" url:"version,omitempty"`
|
|
||||||
MyUser Optional[MyUserInfo] `json:"my_user" url:"my_user,omitempty"`
|
|
||||||
AllLanguages []Language `json:"all_languages" url:"all_languages,omitempty"`
|
|
||||||
DiscussionLanguages []int `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
Taglines []Tagline `json:"taglines" url:"taglines,omitempty"`
|
|
||||||
CustomEmojis []CustomEmojiView `json:"custom_emojis" url:"custom_emojis,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
type GetFederatedInstances struct {
|
|
||||||
Auth Optional[string] `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type GetFederatedInstancesResponse struct {
|
|
||||||
FederatedInstances Optional[FederatedInstances] `json:"federated_instances" url:"federated_instances,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
||||||
type MyUserInfo struct {
|
|
||||||
LocalUserView LocalUserView `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 []int `json:"discussion_languages" url:"discussion_languages,omitempty"`
|
|
||||||
}
|
|
||||||
type LeaveAdmin struct {
|
|
||||||
Auth string `json:"auth" url:"auth,omitempty"`
|
|
||||||
}
|
|
||||||
type FederatedInstances struct {
|
|
||||||
Linked []Instance `json:"linked" url:"linked,omitempty"`
|
|
||||||
Allowed []Instance `json:"allowed" url:"allowed,omitempty"`
|
|
||||||
Blocked []Instance `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[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `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 int32 `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 int64 `json:"registration_applications" url:"registration_applications,omitempty"`
|
|
||||||
LemmyResponse
|
|
||||||
}
|
|
@ -1,86 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_views/src/structs.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
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"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
CommentCreator Person `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[int16] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
Resolver Optional[Person] `json:"resolver" url:"resolver,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentView struct {
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community Community `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 SubscribedType `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Saved bool `json:"saved" url:"saved,omitempty"`
|
|
||||||
CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
|
|
||||||
MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
}
|
|
||||||
type LocalUserView struct {
|
|
||||||
LocalUser LocalUser `json:"local_user" url:"local_user,omitempty"`
|
|
||||||
Person Person `json:"person" url:"person,omitempty"`
|
|
||||||
Counts PersonAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
}
|
|
||||||
type PostReportView struct {
|
|
||||||
PostReport PostReport `json:"post_report" url:"post_report,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
PostCreator Person `json:"post_creator" url:"post_creator,omitempty"`
|
|
||||||
CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
|
|
||||||
MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
Counts PostAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
Resolver Optional[Person] `json:"resolver" url:"resolver,omitempty"`
|
|
||||||
}
|
|
||||||
type PostView struct {
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
Community Community `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 SubscribedType `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[int16] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
UnreadComments int64 `json:"unread_comments" url:"unread_comments,omitempty"`
|
|
||||||
}
|
|
||||||
type PrivateMessageView struct {
|
|
||||||
PrivateMessage PrivateMessage `json:"private_message" url:"private_message,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
Recipient Person `json:"recipient" url:"recipient,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 Person `json:"private_message_creator" url:"private_message_creator,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
Resolver Optional[Person] `json:"resolver" url:"resolver,omitempty"`
|
|
||||||
}
|
|
||||||
type RegistrationApplicationView struct {
|
|
||||||
RegistrationApplication RegistrationApplication `json:"registration_application" url:"registration_application,omitempty"`
|
|
||||||
CreatorLocalUser LocalUser `json:"creator_local_user" url:"creator_local_user,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
Admin Optional[Person] `json:"admin" url:"admin,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"`
|
|
||||||
Counts SiteAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
}
|
|
||||||
type CustomEmojiView struct {
|
|
||||||
CustomEmoji CustomEmoji `json:"custom_emoji" url:"custom_emoji,omitempty"`
|
|
||||||
Keywords []CustomEmojiKeyword `json:"keywords" url:"keywords,omitempty"`
|
|
||||||
}
|
|
@ -1,95 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_views_moderator/src/structs.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type ModAddCommunityView struct {
|
|
||||||
ModAddCommunity ModAddCommunity `json:"mod_add_community" url:"mod_add_community,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
ModdedPerson Person `json:"modded_person" url:"modded_person,omitempty"`
|
|
||||||
}
|
|
||||||
type ModAddView struct {
|
|
||||||
ModAdd ModAdd `json:"mod_add" url:"mod_add,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
ModdedPerson Person `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[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
BannedPerson Person `json:"banned_person" url:"banned_person,omitempty"`
|
|
||||||
}
|
|
||||||
type ModBanView struct {
|
|
||||||
ModBan ModBan `json:"mod_ban" url:"mod_ban,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
BannedPerson Person `json:"banned_person" url:"banned_person,omitempty"`
|
|
||||||
}
|
|
||||||
type ModHideCommunityView struct {
|
|
||||||
ModHideCommunity ModHideCommunity `json:"mod_hide_community" url:"mod_hide_community,omitempty"`
|
|
||||||
Admin Optional[Person] `json:"admin" url:"admin,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModLockPostView struct {
|
|
||||||
ModLockPost ModLockPost `json:"mod_lock_post" url:"mod_lock_post,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModRemoveCommentView struct {
|
|
||||||
ModRemoveComment ModRemoveComment `json:"mod_remove_comment" url:"mod_remove_comment,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Commenter Person `json:"commenter" url:"commenter,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModRemoveCommunityView struct {
|
|
||||||
ModRemoveCommunity ModRemoveCommunity `json:"mod_remove_community" url:"mod_remove_community,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModRemovePostView struct {
|
|
||||||
ModRemovePost ModRemovePost `json:"mod_remove_post" url:"mod_remove_post,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModFeaturePostView struct {
|
|
||||||
ModFeaturePost ModFeaturePost `json:"mod_feature_post" url:"mod_feature_post,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModTransferCommunityView struct {
|
|
||||||
ModTransferCommunity ModTransferCommunity `json:"mod_transfer_community" url:"mod_transfer_community,omitempty"`
|
|
||||||
Moderator Optional[Person] `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
ModdedPerson Person `json:"modded_person" url:"modded_person,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgeCommentView struct {
|
|
||||||
AdminPurgeComment AdminPurgeComment `json:"admin_purge_comment" url:"admin_purge_comment,omitempty"`
|
|
||||||
Admin Optional[Person] `json:"admin" url:"admin,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgeCommunityView struct {
|
|
||||||
AdminPurgeCommunity AdminPurgeCommunity `json:"admin_purge_community" url:"admin_purge_community,omitempty"`
|
|
||||||
Admin Optional[Person] `json:"admin" url:"admin,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgePersonView struct {
|
|
||||||
AdminPurgePerson AdminPurgePerson `json:"admin_purge_person" url:"admin_purge_person,omitempty"`
|
|
||||||
Admin Optional[Person] `json:"admin" url:"admin,omitempty"`
|
|
||||||
}
|
|
||||||
type AdminPurgePostView struct {
|
|
||||||
AdminPurgePost AdminPurgePost `json:"admin_purge_post" url:"admin_purge_post,omitempty"`
|
|
||||||
Admin Optional[Person] `json:"admin" url:"admin,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
type ModlogListParams struct {
|
|
||||||
CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
ModPersonID Optional[int] `json:"mod_person_id" url:"mod_person_id,omitempty"`
|
|
||||||
OtherPersonID Optional[int] `json:"other_person_id" url:"other_person_id,omitempty"`
|
|
||||||
Page Optional[int64] `json:"page" url:"page,omitempty"`
|
|
||||||
Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
|
|
||||||
HideModlogNames bool `json:"hide_modlog_names" url:"hide_modlog_names,omitempty"`
|
|
||||||
}
|
|
@ -1,76 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/aggregates/structs.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type CommentAggregates struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
CommentID int `json:"comment_id" url:"comment_id,omitempty"`
|
|
||||||
Score int64 `json:"score" url:"score,omitempty"`
|
|
||||||
Upvotes int64 `json:"upvotes" url:"upvotes,omitempty"`
|
|
||||||
Downvotes int64 `json:"downvotes" url:"downvotes,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
ChildCount int32 `json:"child_count" url:"child_count,omitempty"`
|
|
||||||
HotRank int32 `json:"hot_rank" url:"hot_rank,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityAggregates struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
CommunityID int `json:"community_id" url:"community_id,omitempty"`
|
|
||||||
Subscribers int64 `json:"subscribers" url:"subscribers,omitempty"`
|
|
||||||
Posts int64 `json:"posts" url:"posts,omitempty"`
|
|
||||||
Comments int64 `json:"comments" url:"comments,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
UsersActiveDay int64 `json:"users_active_day" url:"users_active_day,omitempty"`
|
|
||||||
UsersActiveWeek int64 `json:"users_active_week" url:"users_active_week,omitempty"`
|
|
||||||
UsersActiveMonth int64 `json:"users_active_month" url:"users_active_month,omitempty"`
|
|
||||||
UsersActiveHalfYear int64 `json:"users_active_half_year" url:"users_active_half_year,omitempty"`
|
|
||||||
HotRank int32 `json:"hot_rank" url:"hot_rank,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonAggregates struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
PostCount int64 `json:"post_count" url:"post_count,omitempty"`
|
|
||||||
PostScore int64 `json:"post_score" url:"post_score,omitempty"`
|
|
||||||
CommentCount int64 `json:"comment_count" url:"comment_count,omitempty"`
|
|
||||||
CommentScore int64 `json:"comment_score" url:"comment_score,omitempty"`
|
|
||||||
}
|
|
||||||
type PostAggregates struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
Comments int64 `json:"comments" url:"comments,omitempty"`
|
|
||||||
Score int64 `json:"score" url:"score,omitempty"`
|
|
||||||
Upvotes int64 `json:"upvotes" url:"upvotes,omitempty"`
|
|
||||||
Downvotes int64 `json:"downvotes" url:"downvotes,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
NewestCommentTimeNecro LemmyTime `json:"newest_comment_time_necro" url:"newest_comment_time_necro,omitempty"`
|
|
||||||
NewestCommentTime LemmyTime `json:"newest_comment_time" url:"newest_comment_time,omitempty"`
|
|
||||||
FeaturedCommunity bool `json:"featured_community" url:"featured_community,omitempty"`
|
|
||||||
FeaturedLocal bool `json:"featured_local" url:"featured_local,omitempty"`
|
|
||||||
HotRank int32 `json:"hot_rank" url:"hot_rank,omitempty"`
|
|
||||||
HotRankActive int32 `json:"hot_rank_active" url:"hot_rank_active,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonPostAggregates struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
ReadComments int64 `json:"read_comments" url:"read_comments,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonPostAggregatesForm struct {
|
|
||||||
PersonID int `json:"person_id" url:"person_id,omitempty"`
|
|
||||||
PostID int `json:"post_id" url:"post_id,omitempty"`
|
|
||||||
ReadComments int64 `json:"read_comments" url:"read_comments,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
}
|
|
||||||
type SiteAggregates struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
SiteID int `json:"site_id" url:"site_id,omitempty"`
|
|
||||||
Users int64 `json:"users" url:"users,omitempty"`
|
|
||||||
Posts int64 `json:"posts" url:"posts,omitempty"`
|
|
||||||
Comments int64 `json:"comments" url:"comments,omitempty"`
|
|
||||||
Communities int64 `json:"communities" url:"communities,omitempty"`
|
|
||||||
UsersActiveDay int64 `json:"users_active_day" url:"users_active_day,omitempty"`
|
|
||||||
UsersActiveWeek int64 `json:"users_active_week" url:"users_active_week,omitempty"`
|
|
||||||
UsersActiveMonth int64 `json:"users_active_month" url:"users_active_month,omitempty"`
|
|
||||||
UsersActiveHalfYear int64 `json:"users_active_half_year" url:"users_active_half_year,omitempty"`
|
|
||||||
}
|
|
@ -1,63 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_views_actor/src/structs.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type CommunityBlockView struct {
|
|
||||||
Person Person `json:"person" url:"person,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityFollowerView struct {
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
Follower Person `json:"follower" url:"follower,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityModeratorView struct {
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
Moderator Person `json:"moderator" url:"moderator,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityPersonBanView struct {
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
Person Person `json:"person" url:"person,omitempty"`
|
|
||||||
}
|
|
||||||
type CommunityView struct {
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
Subscribed SubscribedType `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Blocked bool `json:"blocked" url:"blocked,omitempty"`
|
|
||||||
Counts CommunityAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonBlockView struct {
|
|
||||||
Person Person `json:"person" url:"person,omitempty"`
|
|
||||||
Target Person `json:"target" url:"target,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonMentionView struct {
|
|
||||||
PersonMention PersonMention `json:"person_mention" url:"person_mention,omitempty"`
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
Recipient Person `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 SubscribedType `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Saved bool `json:"saved" url:"saved,omitempty"`
|
|
||||||
CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
|
|
||||||
MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
}
|
|
||||||
type CommentReplyView struct {
|
|
||||||
CommentReply CommentReply `json:"comment_reply" url:"comment_reply,omitempty"`
|
|
||||||
Comment Comment `json:"comment" url:"comment,omitempty"`
|
|
||||||
Creator Person `json:"creator" url:"creator,omitempty"`
|
|
||||||
Post Post `json:"post" url:"post,omitempty"`
|
|
||||||
Community Community `json:"community" url:"community,omitempty"`
|
|
||||||
Recipient Person `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 SubscribedType `json:"subscribed" url:"subscribed,omitempty"`
|
|
||||||
Saved bool `json:"saved" url:"saved,omitempty"`
|
|
||||||
CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
|
|
||||||
MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
|
|
||||||
}
|
|
||||||
type PersonView struct {
|
|
||||||
Person Person `json:"person" url:"person,omitempty"`
|
|
||||||
Counts PersonAggregates `json:"counts" url:"counts,omitempty"`
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
// Source: lemmy/crates/db_schema/src/source/tagline.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type Tagline struct {
|
|
||||||
ID int32 `json:"id" url:"id,omitempty"`
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
Published LemmyTime `json:"published" url:"published,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
||||||
type TaglineForm struct {
|
|
||||||
LocalSiteID int `json:"local_site_id" url:"local_site_id,omitempty"`
|
|
||||||
Content string `json:"content" url:"content,omitempty"`
|
|
||||||
Updated LemmyTime `json:"updated" url:"updated,omitempty"`
|
|
||||||
}
|
|
1596
types/types.gen.go
Normal file
1596
types/types.gen.go
Normal file
File diff suppressed because it is too large
Load Diff
@ -7,6 +7,10 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type EmptyResponse struct {
|
||||||
|
LemmyResponse
|
||||||
|
}
|
||||||
|
|
||||||
type LemmyResponse struct {
|
type LemmyResponse struct {
|
||||||
Error Optional[string] `json:"error" url:"error,omitempty"`
|
Error Optional[string] `json:"error" url:"error,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
// Source: lemmy/crates/api_common/src/utils.rs
|
|
||||||
// Code generated by go.elara.ws/go-lemmy/cmd/gen (struct generator). DO NOT EDIT.
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
type EndpointType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
EndpointTypeCommunity EndpointType = "Community"
|
|
||||||
EndpointTypePerson EndpointType = "Person"
|
|
||||||
EndpointTypePost EndpointType = "Post"
|
|
||||||
EndpointTypeComment EndpointType = "Comment"
|
|
||||||
EndpointTypePrivateMessage EndpointType = "PrivateMessage"
|
|
||||||
)
|
|
Loading…
Reference in New Issue
Block a user