|
|
@ -295,21 +295,18 @@ func findResourceList(ctx context.Context, tx *sql.Tx, find *api.ResourceFind) (
|
|
|
|
where, args = append(where, "id in (SELECT resource_id FROM memo_resource WHERE memo_id = ?)"), append(args, *v)
|
|
|
|
where, args = append(where, "id in (SELECT resource_id FROM memo_resource WHERE memo_id = ?)"), append(args, *v)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
query := `
|
|
|
|
fields := []string{"id", "filename", "external_link", "type", "size", "creator_id", "created_ts", "updated_ts"}
|
|
|
|
|
|
|
|
if find.GetBlob {
|
|
|
|
|
|
|
|
fields = append(fields, "blob")
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
query := fmt.Sprintf(`
|
|
|
|
SELECT
|
|
|
|
SELECT
|
|
|
|
id,
|
|
|
|
%s
|
|
|
|
filename,
|
|
|
|
|
|
|
|
blob,
|
|
|
|
|
|
|
|
external_link,
|
|
|
|
|
|
|
|
type,
|
|
|
|
|
|
|
|
size,
|
|
|
|
|
|
|
|
creator_id,
|
|
|
|
|
|
|
|
created_ts,
|
|
|
|
|
|
|
|
updated_ts
|
|
|
|
|
|
|
|
FROM resource
|
|
|
|
FROM resource
|
|
|
|
WHERE ` + strings.Join(where, " AND ") + `
|
|
|
|
WHERE %s
|
|
|
|
ORDER BY id DESC
|
|
|
|
ORDER BY id DESC
|
|
|
|
`
|
|
|
|
`, strings.Join(fields, ", "), strings.Join(where, " AND "))
|
|
|
|
rows, err := tx.QueryContext(ctx, query, args...)
|
|
|
|
rows, err := tx.QueryContext(ctx, query, args...)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return nil, FormatError(err)
|
|
|
|
return nil, FormatError(err)
|
|
|
@ -319,16 +316,21 @@ func findResourceList(ctx context.Context, tx *sql.Tx, find *api.ResourceFind) (
|
|
|
|
resourceRawList := make([]*resourceRaw, 0)
|
|
|
|
resourceRawList := make([]*resourceRaw, 0)
|
|
|
|
for rows.Next() {
|
|
|
|
for rows.Next() {
|
|
|
|
var resourceRaw resourceRaw
|
|
|
|
var resourceRaw resourceRaw
|
|
|
|
if err := rows.Scan(
|
|
|
|
dest := []interface{}{
|
|
|
|
&resourceRaw.ID,
|
|
|
|
&resourceRaw.ID,
|
|
|
|
&resourceRaw.Filename,
|
|
|
|
&resourceRaw.Filename,
|
|
|
|
&resourceRaw.Blob,
|
|
|
|
|
|
|
|
&resourceRaw.ExternalLink,
|
|
|
|
&resourceRaw.ExternalLink,
|
|
|
|
&resourceRaw.Type,
|
|
|
|
&resourceRaw.Type,
|
|
|
|
&resourceRaw.Size,
|
|
|
|
&resourceRaw.Size,
|
|
|
|
&resourceRaw.CreatorID,
|
|
|
|
&resourceRaw.CreatorID,
|
|
|
|
&resourceRaw.CreatedTs,
|
|
|
|
&resourceRaw.CreatedTs,
|
|
|
|
&resourceRaw.UpdatedTs,
|
|
|
|
&resourceRaw.UpdatedTs,
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if find.GetBlob {
|
|
|
|
|
|
|
|
dest = append(dest, &resourceRaw.Blob)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if err := rows.Scan(
|
|
|
|
|
|
|
|
dest...,
|
|
|
|
); err != nil {
|
|
|
|
); err != nil {
|
|
|
|
return nil, FormatError(err)
|
|
|
|
return nil, FormatError(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|