aboutsummaryrefslogtreecommitdiff
path: root/db/model.go
blob: 0d5cb47996c2813d2c47e83a088c5fa778553d04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package db

import (
	"gorm.io/gorm"
)

type Entry struct {
	gorm.Model
	Title        string
	Link         string
	Format       string
	DateAfter    string
	OutputFolder string
}

type EntryModel struct {
	DB *gorm.DB
}

func (m *EntryModel) Find(id string) Entry {
	var entry Entry
	where := "id = " + id
	m.DB.Where(where).FirstOrInit(&entry)
	return entry
}

func (m *EntryModel) All() []Entry {
	var entries []Entry
	m.DB.Find(&entries)
	return entries
}

func (m *EntryModel) Create(entry *Entry) {
	m.DB.Create(entry)
}

func (m *EntryModel) Update(entry Entry) {
	m.DB.Save(&entry)
}

func (m *EntryModel) Delete(id string) {
	m.DB.Delete(&Entry{}, id)
}