domain

package
v0.0.0-...-a021cce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2025 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Community

type Community struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Avatar      string `json:"avatar"`

	TGChatID *int64 `json:"tgChatID"`

	Config  *CommunityConfig `json:"config"`
	Members []*Member        `json:"members,omitempty"`

	MembersCount *int  `json:"membersCount,omitempty"`
	IsMember     *bool `json:"isMember,omitempty"`
}

type CommunityConfig

type CommunityConfig struct {
	Fields []*Field `json:"fields"`
}

type CreateCommunity

type CreateCommunity struct {
	Name        string           `json:"name"`
	Description string           `json:"description"`
	Avatar      string           `json:"avatar"`
	Config      *CommunityConfig `json:"config"`
}

type CreateMember

type CreateMember struct {
	UserID      string        `json:"userId"`
	CommunityID string        `json:"communityId"`
	IsAdmin     bool          `json:"isAdmin"`
	Config      *MemberConfig `json:"config"`
}

type CreateUser

type CreateUser struct {
	UserTGData
}

type Field

type Field struct {
	Type        FieldType `json:"type"`
	Title       string    `json:"title"`
	Description string    `json:"description"`

	Textinput *FieldTextinput `json:"textinput,omitempty"`
	Textarea  *FieldTextarea  `json:"textarea,omitempty"`
}

type FieldTextarea

type FieldTextarea struct {
	Default string `json:"default"`
}

type FieldTextinput

type FieldTextinput struct {
	Default string `json:"default"`
}

type FieldType

type FieldType string
const (
	FieldTypeTextinput FieldType = "textinput"
	FieldTypeTextarea  FieldType = "textarea"
)

type FieldValue

type FieldValue struct {
	Type      FieldType            `json:"type"`
	Textarea  *FieldValueTextarea  `json:"textarea,omitempty"`
	Textinput *FieldValueTextinput `json:"textinput,omitempty"`
}

func (FieldValue) String

func (v FieldValue) String() string

type FieldValueTextarea

type FieldValueTextarea struct {
	Value string `json:"value"`
}

type FieldValueTextinput

type FieldValueTextinput struct {
	Value string `json:"value"`
}

type FilterCommunity

type FilterCommunity struct {
	ID       *string  `json:"id"`
	TGChatID *int64   `json:"tgChatID"`
	Members  []string `json:"members"`

	IncludeMembersCount bool `json:"includeMembersCount"`
}

type FilterMember

type FilterMember struct {
	CommunityID *string `json:"communityId"`
	UserID      *string `json:"userId"`
	IsAdmin     *bool   `json:"isAdmin"`

	IncludeCommunity bool `json:"includeCommunity"`
	IncludeUser      bool `json:"includeUser"`
}

type FilterUser

type FilterUser struct {
	ID         *string `json:"id"`
	TelegramID *int64  `json:"telegramId"`
}

type Member

type Member struct {
	User      *User         `json:"user"`
	Community *Community    `json:"community"`
	IsAdmin   bool          `json:"isAdmin"`
	Config    *MemberConfig `json:"config"`
}

type MemberConfig

type MemberConfig struct {
	// title to field
	Fields map[string]FieldValue `json:"fields"`
}

type PatchCommunity

type PatchCommunity struct {
	ID          string           `json:"id"`
	Name        *string          `json:"name"`
	Description *string          `json:"description"`
	Avatar      *string          `json:"avatar"`
	TGChatID    *int64           `json:"tgChatID"`
	Config      *CommunityConfig `json:"config"`
}

type PatchMe

type PatchMe struct {
	ID        string  `json:"id"`
	FirstName *string `json:"firstName"`
	LastName  *string `json:"lastName"`
}

func (*PatchMe) ToPatchUser

func (pm *PatchMe) ToPatchUser() *PatchUser

type PatchMember

type PatchMember struct {
	UserID      string        `json:"userId"`
	CommunityID string        `json:"id"`
	IsAdmin     *bool         `json:"isAdmin"`
	Config      *MemberConfig `json:"config"`
}

type PatchUser

type PatchUser struct {
	ID               string  `json:"id"`
	FirstName        *string `json:"firstName"`
	LastName         *string `json:"lastName"`
	Avatar           *string `json:"avatar"`
	TelegramUsername *string `json:"telegramUsername"`
}

type User

type User struct {
	ID string `json:"id"`
	UserTGData
}

type UserProfile

type UserProfile struct {
	User    *User     `json:"user"`
	Members []*Member `json:"members"`
}

type UserTGData

type UserTGData struct {
	TelegramID       int64  `json:"telegramId"`
	TelegramUsername string `json:"telegramUsername"`
	FirstName        string `json:"firstName"`
	LastName         string `json:"lastName"`
	Avatar           string `json:"avatar"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL