Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
22fe1fdf98
|
|||
|
2ca838a50f
|
@@ -68,7 +68,7 @@ func (s *Service) GetTodayMemory(ctx context.Context) (*search.Memory, error) {
|
|||||||
mem := &search.Memory{
|
mem := &search.Memory{
|
||||||
Memo: memo,
|
Memo: memo,
|
||||||
Tier: tier,
|
Tier: tier,
|
||||||
Date: memo.DisplayTime,
|
Date: memo.CreateTime,
|
||||||
}
|
}
|
||||||
|
|
||||||
s.mu.Lock()
|
s.mu.Lock()
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ type Memo struct {
|
|||||||
Creator string `json:"creator"`
|
Creator string `json:"creator"`
|
||||||
CreateTime time.Time `json:"createTime"`
|
CreateTime time.Time `json:"createTime"`
|
||||||
UpdateTime time.Time `json:"updateTime"`
|
UpdateTime time.Time `json:"updateTime"`
|
||||||
DisplayTime time.Time `json:"displayTime"`
|
|
||||||
Content string `json:"content"`
|
Content string `json:"content"`
|
||||||
Visibility string `json:"visibility"`
|
Visibility string `json:"visibility"`
|
||||||
Tags []string `json:"tags"`
|
Tags []string `json:"tags"`
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ func (s *Selector) tryTiers(
|
|||||||
// Build candidates
|
// Build candidates
|
||||||
candidates := make([]candidate, len(filtered))
|
candidates := make([]candidate, len(filtered))
|
||||||
for i, m := range filtered {
|
for i, m := range filtered {
|
||||||
yearsAgo := today.Year() - m.DisplayTime.Year()
|
yearsAgo := today.Year() - m.CreateTime.Year()
|
||||||
if yearsAgo < 0 {
|
if yearsAgo < 0 {
|
||||||
yearsAgo = 0
|
yearsAgo = 0
|
||||||
}
|
}
|
||||||
@@ -151,7 +151,7 @@ func (s *Selector) tryTiers(
|
|||||||
Tier: tier,
|
Tier: tier,
|
||||||
YearsAgo: picked.yearsAgo,
|
YearsAgo: picked.yearsAgo,
|
||||||
ShowCount: picked.showCount,
|
ShowCount: picked.showCount,
|
||||||
Date: picked.memo.DisplayTime,
|
Date: picked.memo.CreateTime,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -244,7 +244,7 @@ func (s *Selector) fullFallback(ctx context.Context) (*Memory, error) {
|
|||||||
return &Memory{
|
return &Memory{
|
||||||
Memo: picked.memo,
|
Memo: picked.memo,
|
||||||
Tier: 0,
|
Tier: 0,
|
||||||
Date: picked.memo.DisplayTime,
|
Date: picked.memo.CreateTime,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,16 +29,6 @@ func formatMemory(mem *search.Memory, publicURL string) string {
|
|||||||
// Content
|
// Content
|
||||||
b.WriteString(escapeHTML(mem.Memo.Content))
|
b.WriteString(escapeHTML(mem.Memo.Content))
|
||||||
|
|
||||||
// Tags
|
|
||||||
if len(mem.Memo.Tags) > 0 {
|
|
||||||
b.WriteString("\n\n")
|
|
||||||
tags := make([]string, len(mem.Memo.Tags))
|
|
||||||
for i, t := range mem.Memo.Tags {
|
|
||||||
tags[i] = "#" + t
|
|
||||||
}
|
|
||||||
b.WriteString(strings.Join(tags, " "))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Link to original
|
// Link to original
|
||||||
memoURL := fmt.Sprintf("%s/%s", publicURL, mem.Memo.Name)
|
memoURL := fmt.Sprintf("%s/%s", publicURL, mem.Memo.Name)
|
||||||
b.WriteString("\n\n<a href=\"" + memoURL + "\">Оригинал</a>")
|
b.WriteString("\n\n<a href=\"" + memoURL + "\">Оригинал</a>")
|
||||||
|
|||||||
+4
-4
@@ -11,7 +11,7 @@
|
|||||||
### Используемый эндпоинт
|
### Используемый эндпоинт
|
||||||
|
|
||||||
```
|
```
|
||||||
GET /api/v1/memos?filter={CEL}&pageSize={N}&orderBy=display_time+desc
|
GET /api/v1/memos?filter={CEL}&pageSize={N}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Фильтрация по дате
|
### Фильтрация по дате
|
||||||
@@ -22,9 +22,9 @@ API поддерживает CEL-фильтры по полю `created_ts` (Unix
|
|||||||
created_ts >= 1707696000 && created_ts < 1707782400
|
created_ts >= 1707696000 && created_ts < 1707782400
|
||||||
```
|
```
|
||||||
|
|
||||||
Поле `display_time` (пользовательская дата) недоступно для фильтрации через CEL.
|
В качестве даты заметки используем `create_time` (поле `createTime` в JSON).
|
||||||
Поэтому используем `created_ts` как основу, а `display_time` учитываем при
|
Поле `display_time` удалено из API в memos v0.28.0 (зарезервировано в proto),
|
||||||
пост-обработке, если он отличается от `created_ts`.
|
поэтому оно больше не доступно ни для фильтрации, ни для отображения.
|
||||||
|
|
||||||
### Ограничения
|
### Ограничения
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user