Add comments to storage types
This commit is contained in:
parent
1fbdf7fc9d
commit
94197780e1
7 changed files with 31 additions and 8 deletions
|
@ -7,9 +7,12 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type MediaFile struct {
|
type MediaFile struct {
|
||||||
ID string `gorm:"primarykey"`
|
ID string `gorm:"primarykey"` // The unique ID of this media file
|
||||||
CreatedAt time.Time
|
CreatedAt time.Time // When this entry was created
|
||||||
UpdatedAt time.Time
|
UpdatedAt time.Time // When this entry was last updated
|
||||||
|
// When this entry was deleted (for soft deletions)
|
||||||
|
// Soft delete means that this entry still exists in the db, but gorm won't include it anymore unless specifically told to
|
||||||
|
// If not null, this entry is marked as deleted
|
||||||
DeletedAt gorm.DeletedAt `gorm:"index"`
|
DeletedAt gorm.DeletedAt `gorm:"index"`
|
||||||
Remote bool // whether the attachment is a remote one
|
Remote bool // whether the attachment is a remote one
|
||||||
Link string // url if remote attachment, identifier if local
|
Link string // url if remote attachment, identifier if local
|
||||||
|
|
|
@ -5,19 +5,28 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// What feed a note is targeting (public, home, followers or dm)
|
||||||
type NoteTarget uint8
|
type NoteTarget uint8
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
// The note is intended for the public
|
||||||
NOTE_TARGET_PUBLIC = NoteTarget(0)
|
NOTE_TARGET_PUBLIC = NoteTarget(0)
|
||||||
|
// The note is intended only for the home screen
|
||||||
|
// not really any idea what the difference is compared to public
|
||||||
|
// Maybe home notes don't show up on the server feed but still for everyone's home feed if it reaches them via follow or boost
|
||||||
NOTE_TARGET_HOME = NoteTarget(1 << iota)
|
NOTE_TARGET_HOME = NoteTarget(1 << iota)
|
||||||
|
// The note is intended only for followers
|
||||||
NOTE_TARGET_FOLLOWERS
|
NOTE_TARGET_FOLLOWERS
|
||||||
|
// The note is intended only for a DM to one or more targets
|
||||||
NOTE_TARGET_DM
|
NOTE_TARGET_DM
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Converts the NoteTarget value into a type the DB can use
|
||||||
func (n *NoteTarget) Value() (driver.Value, error) {
|
func (n *NoteTarget) Value() (driver.Value, error) {
|
||||||
return n, nil
|
return n, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Converts the raw value from the DB into a NoteTarget
|
||||||
func (n *NoteTarget) Scan(value any) error {
|
func (n *NoteTarget) Scan(value any) error {
|
||||||
vBig, ok := value.(int64)
|
vBig, ok := value.(int64)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
|
|
@ -7,9 +7,12 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type Note struct {
|
type Note struct {
|
||||||
ID string `gorm:"primarykey"` // Make ID a string (uuid) for other implementations
|
ID string `gorm:"primarykey"` // Make ID a string (uuid) for other implementations
|
||||||
CreatedAt time.Time
|
CreatedAt time.Time // When this entry was created
|
||||||
UpdatedAt time.Time
|
UpdatedAt time.Time // When this entry was last updated
|
||||||
|
// When this entry was deleted (for soft deletions)
|
||||||
|
// Soft delete means that this entry still exists in the db, but gorm won't include it anymore unless specifically told to
|
||||||
|
// If not null, this entry is marked as deleted
|
||||||
DeletedAt gorm.DeletedAt `gorm:"index"`
|
DeletedAt gorm.DeletedAt `gorm:"index"`
|
||||||
Creator string // Full handle of the creator, eg: @max@example.com
|
Creator string // Full handle of the creator, eg: @max@example.com
|
||||||
Remote bool // Whether the note is originally a remote one and just "cached"
|
Remote bool // Whether the note is originally a remote one and just "cached"
|
||||||
|
|
|
@ -8,8 +8,11 @@ import (
|
||||||
|
|
||||||
type RemoteServer struct {
|
type RemoteServer struct {
|
||||||
ID string `gorm:"primarykey"` // ID is also server url
|
ID string `gorm:"primarykey"` // ID is also server url
|
||||||
CreatedAt time.Time
|
CreatedAt time.Time // When this entry was created
|
||||||
UpdatedAt time.Time
|
UpdatedAt time.Time // When this entry was last updated
|
||||||
|
// When this entry was deleted (for soft deletions)
|
||||||
|
// Soft delete means that this entry still exists in the db, but gorm won't include it anymore unless specifically told to
|
||||||
|
// If not null, this entry is marked as deleted
|
||||||
DeletedAt gorm.DeletedAt `gorm:"index"`
|
DeletedAt gorm.DeletedAt `gorm:"index"`
|
||||||
ServerType RemoteServerType // What software the server is running. Useful for formatting
|
ServerType RemoteServerType // What software the server is running. Useful for formatting
|
||||||
Name string // What the server wants to be known as (usually same as url)
|
Name string // What the server wants to be known as (usually same as url)
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// What software a server is running
|
||||||
// Mostly important for rendering
|
// Mostly important for rendering
|
||||||
type RemoteServerType string
|
type RemoteServerType string
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,9 @@ type User struct {
|
||||||
Handle string // Handle is the full handle, eg @max@example.com
|
Handle string // Handle is the full handle, eg @max@example.com
|
||||||
CreatedAt time.Time // When this entry was created
|
CreatedAt time.Time // When this entry was created
|
||||||
UpdatedAt time.Time // When this account was last updated. Will also be used for refreshing remote accounts
|
UpdatedAt time.Time // When this account was last updated. Will also be used for refreshing remote accounts
|
||||||
|
// When this entry was deleted (for soft deletions)
|
||||||
|
// Soft delete means that this entry still exists in the db, but gorm won't include it anymore unless specifically told to
|
||||||
|
// If not null, this entry is marked as deleted
|
||||||
DeletedAt gorm.DeletedAt `gorm:"index"`
|
DeletedAt gorm.DeletedAt `gorm:"index"`
|
||||||
Remote bool // Whether the account is a local or remote one
|
Remote bool // Whether the account is a local or remote one
|
||||||
Server string // The url of the server this account is from
|
Server string // The url of the server this account is from
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// What kind of being a user identifies as
|
||||||
type Being string
|
type Being string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
Loading…
Reference in a new issue