fix(api): switch user resource names to usernames (#5779)
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
This commit is contained in:
@@ -145,6 +145,7 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
|
||||
}
|
||||
|
||||
query := "SELECT " + strings.Join(fields, ", ") + " FROM `memo`" + " " +
|
||||
"LEFT JOIN `user` AS `memo_creator` ON `memo`.`creator_id` = `memo_creator`.`id`" + " " +
|
||||
"LEFT JOIN `memo_relation` ON `memo`.`id` = `memo_relation`.`memo_id` AND `memo_relation`.`type` = 'COMMENT'" + " " +
|
||||
"LEFT JOIN `memo` AS `parent_memo` ON `memo_relation`.`related_memo_id` = `parent_memo`.`id`" + " " +
|
||||
"WHERE " + strings.Join(where, " AND ") + " " +
|
||||
|
||||
@@ -131,6 +131,7 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
|
||||
|
||||
query := `SELECT ` + strings.Join(fields, ", ") + `
|
||||
FROM memo
|
||||
LEFT JOIN "user" AS memo_creator ON memo.creator_id = memo_creator.id
|
||||
LEFT JOIN memo_relation ON memo.id = memo_relation.memo_id AND memo_relation.type = 'COMMENT'
|
||||
LEFT JOIN memo AS parent_memo ON memo_relation.related_memo_id = parent_memo.id
|
||||
WHERE ` + strings.Join(where, " AND ") + `
|
||||
|
||||
@@ -137,6 +137,7 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
|
||||
}
|
||||
|
||||
query := "SELECT " + strings.Join(fields, ", ") + "FROM `memo` " +
|
||||
"LEFT JOIN `user` AS `memo_creator` ON `memo`.`creator_id` = `memo_creator`.`id` " +
|
||||
"LEFT JOIN `memo_relation` ON `memo`.`id` = `memo_relation`.`memo_id` AND `memo_relation`.`type` = \"COMMENT\" " +
|
||||
"LEFT JOIN `memo` AS `parent_memo` ON `memo_relation`.`related_memo_id` = `parent_memo`.`id` " +
|
||||
"WHERE " + strings.Join(where, " AND ") + " " +
|
||||
|
||||
@@ -184,6 +184,32 @@ func TestMemoFilterPinnedPredicate(t *testing.T) {
|
||||
require.True(t, memos[0].Pinned)
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Creator Field Tests
|
||||
// Schema: creator (string resource name), creator_id (int, ==, !=)
|
||||
// =============================================================================
|
||||
|
||||
func TestMemoFilterCreatorEquals(t *testing.T) {
|
||||
t.Parallel()
|
||||
tc := NewMemoFilterTestContext(t)
|
||||
defer tc.Close()
|
||||
|
||||
user2, err := tc.Store.CreateUser(tc.Ctx, &store.User{
|
||||
Username: "user2",
|
||||
Role: store.RoleUser,
|
||||
Email: "user2@example.com",
|
||||
Nickname: "User 2",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
tc.CreateMemo(NewMemoBuilder("memo-user1", tc.User.ID).Content("User 1 memo"))
|
||||
tc.CreateMemo(NewMemoBuilder("memo-user2", user2.ID).Content("User 2 memo"))
|
||||
|
||||
memos := tc.ListWithFilter(`creator == "users/` + tc.User.Username + `"`)
|
||||
require.Len(t, memos, 1)
|
||||
require.Equal(t, tc.User.ID, memos[0].CreatorID)
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Creator ID Field Tests
|
||||
// Schema: creator_id (int, ==, !=)
|
||||
|
||||
Reference in New Issue
Block a user