models

package
v1.0.8 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2025 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DirectoriesResponse

type DirectoriesResponse struct {
	Data  []Directory `json:"data"`
	Count int         `json:"count"`
	Error string      `json:"error"`
}

DirectoriesResponse represents the response from the API

type Directory

type Directory struct {
	ID              string    `json:"id"`
	Slug            string    `json:"slug"`
	Name            string    `json:"name"`
	URL             string    `json:"url"`
	Description     string    `json:"description"`
	Categories      []string  `json:"categories"`
	Pricing         string    `json:"pricing"`
	LinkType        string    `json:"link_type"`
	DomainRating    int       `json:"domain_rating"`
	OrganicTraffic  int       `json:"organic_traffic"`
	OrganicKeywords int       `json:"organic_keywords"`
	HelpfulCount    int       `json:"helpful_count"`
	ViewCount       int       `json:"view_count"`
	SubmissionURL   string    `json:"submission_url"`
	IsAffiliate     bool      `json:"is_affiliate"`
	AffiliateURL    string    `json:"affiliate_url"`
	IsActive        bool      `json:"is_active"`
	CreatedAt       time.Time `json:"created_at"`
	UpdatedAt       time.Time `json:"updated_at"`
}

Directory represents a single directory listing

type ExportFormat

type ExportFormat string

ExportFormat represents an export file format

const (
	FormatCSV      ExportFormat = "csv"
	FormatJSON     ExportFormat = "json"
	FormatMarkdown ExportFormat = "markdown"
)

type Favorite

type Favorite struct {
	ID          int       `json:"id"`
	UserID      string    `json:"user_id"`
	DirectoryID string    `json:"directory_id"`
	CreatedAt   time.Time `json:"created_at"`
}

Favorite represents a user's favorite directory

type FilterOptions

type FilterOptions struct {
	Query      string
	Categories []string
	Pricing    []string
	LinkType   []string
	DRMin      int
	DRMax      int
	SortBy     string
	Limit      int
	Offset     int
}

FilterOptions represents filtering criteria

type SortOption

type SortOption string

SortOption represents sorting options

const (
	SortMostHelpful SortOption = "helpful"
	SortHighestDR   SortOption = "dr"
	SortNewest      SortOption = "newest"
	SortAlpha       SortOption = "alpha"
)

type Submission

type Submission struct {
	ID          int       `json:"id"`
	UserID      string    `json:"user_id"`
	DirectoryID int       `json:"directory_id"`
	Status      string    `json:"status"` // pending, submitted, approved, rejected
	Notes       string    `json:"notes"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}

Submission represents a user's submission tracking

type User

type User struct {
	ID        string    `json:"id"`
	Email     string    `json:"email"`
	CreatedAt time.Time `json:"created_at"`
}

User represents an authenticated user

Jump to

Keyboard shortcuts

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