mirror of
https://github.com/aykhans/slash-e.git
synced 2025-04-20 22:07:15 +00:00
chore: add view field into shortcut api
This commit is contained in:
parent
d61c99f95a
commit
19cdea6bca
@ -54,6 +54,7 @@ type Shortcut struct {
|
|||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
Visibility Visibility `json:"visibility"`
|
Visibility Visibility `json:"visibility"`
|
||||||
Tags []string `json:"tags"`
|
Tags []string `json:"tags"`
|
||||||
|
View int `json:"view"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateShortcutRequest struct {
|
type CreateShortcutRequest struct {
|
||||||
@ -279,9 +280,20 @@ func (s *APIV1Service) composeShortcut(ctx context.Context, shortcut *Shortcut)
|
|||||||
ID: &shortcut.CreatorID,
|
ID: &shortcut.CreatorID,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "Failed to get creator")
|
||||||
}
|
}
|
||||||
shortcut.Creator = convertUserFromStore(user)
|
shortcut.Creator = convertUserFromStore(user)
|
||||||
|
|
||||||
|
activityList, err := s.Store.ListActivities(ctx, &store.FindActivity{
|
||||||
|
Type: store.ActivityShortcutView,
|
||||||
|
Level: store.ActivityInfo,
|
||||||
|
Where: []string{fmt.Sprintf("json_extract(payload, '$.shortcutId') = %d", shortcut.ID)},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.Wrap(err, "Failed to list activities")
|
||||||
|
}
|
||||||
|
shortcut.View = len(activityList)
|
||||||
|
|
||||||
return shortcut, nil
|
return shortcut, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,6 +311,11 @@ func convertVisibilityToStore(visibility Visibility) store.Visibility {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func convertShortcutFromStore(shortcut *store.Shortcut) *Shortcut {
|
func convertShortcutFromStore(shortcut *store.Shortcut) *Shortcut {
|
||||||
|
tags := []string{}
|
||||||
|
if shortcut.Tag != "" {
|
||||||
|
tags = append(tags, strings.Split(shortcut.Tag, " ")...)
|
||||||
|
}
|
||||||
|
|
||||||
return &Shortcut{
|
return &Shortcut{
|
||||||
ID: shortcut.ID,
|
ID: shortcut.ID,
|
||||||
CreatedTs: shortcut.CreatedTs,
|
CreatedTs: shortcut.CreatedTs,
|
||||||
@ -309,6 +326,6 @@ func convertShortcutFromStore(shortcut *store.Shortcut) *Shortcut {
|
|||||||
Description: shortcut.Description,
|
Description: shortcut.Description,
|
||||||
Visibility: Visibility(shortcut.Visibility),
|
Visibility: Visibility(shortcut.Visibility),
|
||||||
RowStatus: RowStatus(shortcut.RowStatus),
|
RowStatus: RowStatus(shortcut.RowStatus),
|
||||||
Tags: strings.Split(shortcut.Tag, " "),
|
Tags: tags,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,7 @@ type Activity struct {
|
|||||||
type FindActivity struct {
|
type FindActivity struct {
|
||||||
Type ActivityType
|
Type ActivityType
|
||||||
Level ActivityLevel
|
Level ActivityLevel
|
||||||
|
Where []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Store) CreateActivity(ctx context.Context, create *Activity) (*Activity, error) {
|
func (s *Store) CreateActivity(ctx context.Context, create *Activity) (*Activity, error) {
|
||||||
@ -142,6 +143,9 @@ func listActivities(ctx context.Context, tx *sql.Tx, find *FindActivity) ([]*Act
|
|||||||
if find.Level != "" {
|
if find.Level != "" {
|
||||||
where, args = append(where, "level = ?"), append(args, find.Level.String())
|
where, args = append(where, "level = ?"), append(args, find.Level.String())
|
||||||
}
|
}
|
||||||
|
if find.Where != nil {
|
||||||
|
where = append(where, find.Where...)
|
||||||
|
}
|
||||||
|
|
||||||
query := `
|
query := `
|
||||||
SELECT
|
SELECT
|
||||||
|
Loading…
x
Reference in New Issue
Block a user