feat: Show collection created date (#2302)
- Shows collection created date in detail view (if present) - Adds `black` formatter to vscode extension recommendations --------- Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
This commit is contained in:
parent
cbcf087a48
commit
4347fcdba5
4
.vscode/extensions.json
vendored
4
.vscode/extensions.json
vendored
@ -2,10 +2,10 @@
|
|||||||
"recommendations": [
|
"recommendations": [
|
||||||
"dbaeumer.vscode-eslint",
|
"dbaeumer.vscode-eslint",
|
||||||
"esbenp.prettier-vscode",
|
"esbenp.prettier-vscode",
|
||||||
"dbaeumer.vscode-eslint",
|
|
||||||
"runem.lit-plugin",
|
"runem.lit-plugin",
|
||||||
"bradlc.vscode-tailwindcss",
|
"bradlc.vscode-tailwindcss",
|
||||||
"redhat.vscode-yaml",
|
"redhat.vscode-yaml",
|
||||||
"streetsidesoftware.code-spell-checker"
|
"streetsidesoftware.code-spell-checker",
|
||||||
|
"ms-python.black-formatter"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -110,6 +110,7 @@ class CollectionOps:
|
|||||||
"""Add new collection"""
|
"""Add new collection"""
|
||||||
crawl_ids = coll_in.crawlIds if coll_in.crawlIds else []
|
crawl_ids = coll_in.crawlIds if coll_in.crawlIds else []
|
||||||
coll_id = uuid4()
|
coll_id = uuid4()
|
||||||
|
created = dt_now()
|
||||||
modified = dt_now()
|
modified = dt_now()
|
||||||
|
|
||||||
coll = Collection(
|
coll = Collection(
|
||||||
@ -118,6 +119,7 @@ class CollectionOps:
|
|||||||
name=coll_in.name,
|
name=coll_in.name,
|
||||||
description=coll_in.description,
|
description=coll_in.description,
|
||||||
caption=coll_in.caption,
|
caption=coll_in.caption,
|
||||||
|
created=created,
|
||||||
modified=modified,
|
modified=modified,
|
||||||
access=coll_in.access,
|
access=coll_in.access,
|
||||||
defaultThumbnailName=coll_in.defaultThumbnailName,
|
defaultThumbnailName=coll_in.defaultThumbnailName,
|
||||||
|
@ -1239,6 +1239,8 @@ class Collection(BaseMongoModel):
|
|||||||
oid: UUID
|
oid: UUID
|
||||||
description: Optional[str] = None
|
description: Optional[str] = None
|
||||||
caption: Optional[str] = None
|
caption: Optional[str] = None
|
||||||
|
|
||||||
|
created: Optional[datetime] = None
|
||||||
modified: Optional[datetime] = None
|
modified: Optional[datetime] = None
|
||||||
|
|
||||||
crawlCount: Optional[int] = 0
|
crawlCount: Optional[int] = 0
|
||||||
@ -1286,6 +1288,7 @@ class CollOut(BaseMongoModel):
|
|||||||
oid: UUID
|
oid: UUID
|
||||||
description: Optional[str] = None
|
description: Optional[str] = None
|
||||||
caption: Optional[str] = None
|
caption: Optional[str] = None
|
||||||
|
created: Optional[datetime] = None
|
||||||
modified: Optional[datetime] = None
|
modified: Optional[datetime] = None
|
||||||
|
|
||||||
crawlCount: Optional[int] = 0
|
crawlCount: Optional[int] = 0
|
||||||
@ -1319,6 +1322,8 @@ class PublicCollOut(BaseMongoModel):
|
|||||||
oid: UUID
|
oid: UUID
|
||||||
description: Optional[str] = None
|
description: Optional[str] = None
|
||||||
caption: Optional[str] = None
|
caption: Optional[str] = None
|
||||||
|
created: Optional[datetime] = None
|
||||||
|
modified: Optional[datetime] = None
|
||||||
|
|
||||||
crawlCount: Optional[int] = 0
|
crawlCount: Optional[int] = 0
|
||||||
pageCount: Optional[int] = 0
|
pageCount: Optional[int] = 0
|
||||||
|
@ -17,7 +17,6 @@ CAPTION = "Short caption"
|
|||||||
UPDATED_CAPTION = "Updated caption"
|
UPDATED_CAPTION = "Updated caption"
|
||||||
|
|
||||||
NON_PUBLIC_COLL_FIELDS = (
|
NON_PUBLIC_COLL_FIELDS = (
|
||||||
"modified",
|
|
||||||
"tags",
|
"tags",
|
||||||
"homeUrlPageId",
|
"homeUrlPageId",
|
||||||
)
|
)
|
||||||
@ -887,6 +886,8 @@ def test_list_public_collections(
|
|||||||
assert collection["oid"]
|
assert collection["oid"]
|
||||||
assert collection["access"] == "public"
|
assert collection["access"] == "public"
|
||||||
assert collection["name"]
|
assert collection["name"]
|
||||||
|
assert collection["created"]
|
||||||
|
assert collection["modified"]
|
||||||
assert collection["dateEarliest"]
|
assert collection["dateEarliest"]
|
||||||
assert collection["dateLatest"]
|
assert collection["dateLatest"]
|
||||||
assert collection["crawlCount"] > 0
|
assert collection["crawlCount"] > 0
|
||||||
@ -1070,6 +1071,8 @@ def test_list_public_colls_home_url_thumbnail():
|
|||||||
assert coll["oid"]
|
assert coll["oid"]
|
||||||
assert coll["access"] == "public"
|
assert coll["access"] == "public"
|
||||||
assert coll["name"]
|
assert coll["name"]
|
||||||
|
assert coll["created"]
|
||||||
|
assert coll["modified"]
|
||||||
assert coll["resources"]
|
assert coll["resources"]
|
||||||
assert coll["dateEarliest"]
|
assert coll["dateEarliest"]
|
||||||
assert coll["dateLatest"]
|
assert coll["dateLatest"]
|
||||||
@ -1117,6 +1120,8 @@ def test_get_public_collection(default_org_id):
|
|||||||
assert coll["oid"] == default_org_id
|
assert coll["oid"] == default_org_id
|
||||||
assert coll["access"] == "public"
|
assert coll["access"] == "public"
|
||||||
assert coll["name"]
|
assert coll["name"]
|
||||||
|
assert coll["created"]
|
||||||
|
assert coll["modified"]
|
||||||
assert coll["resources"]
|
assert coll["resources"]
|
||||||
assert coll["dateEarliest"]
|
assert coll["dateEarliest"]
|
||||||
assert coll["dateLatest"]
|
assert coll["dateLatest"]
|
||||||
@ -1193,6 +1198,8 @@ def test_get_public_collection_unlisted(crawler_auth_headers, default_org_id):
|
|||||||
assert coll["oid"] == default_org_id
|
assert coll["oid"] == default_org_id
|
||||||
assert coll["access"] == "unlisted"
|
assert coll["access"] == "unlisted"
|
||||||
assert coll["name"]
|
assert coll["name"]
|
||||||
|
assert coll["created"]
|
||||||
|
assert coll["modified"]
|
||||||
assert coll["resources"]
|
assert coll["resources"]
|
||||||
assert coll["dateEarliest"]
|
assert coll["dateEarliest"]
|
||||||
assert coll["dateLatest"]
|
assert coll["dateLatest"]
|
||||||
@ -1231,6 +1238,8 @@ def test_get_public_collection_unlisted_org_profile_disabled(
|
|||||||
assert coll["oid"] == default_org_id
|
assert coll["oid"] == default_org_id
|
||||||
assert coll["access"] == "unlisted"
|
assert coll["access"] == "unlisted"
|
||||||
assert coll["name"]
|
assert coll["name"]
|
||||||
|
assert coll["created"]
|
||||||
|
assert coll["modified"]
|
||||||
assert coll["resources"]
|
assert coll["resources"]
|
||||||
assert coll["dateEarliest"]
|
assert coll["dateEarliest"]
|
||||||
assert coll["dateLatest"]
|
assert coll["dateLatest"]
|
||||||
|
@ -479,16 +479,33 @@ export class CollectionDetail extends BtrixElement {
|
|||||||
(col) =>
|
(col) =>
|
||||||
`${this.localize.number(col.pageCount)} ${pluralOf("pages", col.pageCount)}`,
|
`${this.localize.number(col.pageCount)} ${pluralOf("pages", col.pageCount)}`,
|
||||||
)}
|
)}
|
||||||
|
${when(this.collection?.created, (created) =>
|
||||||
|
// Collections created before 49516bc4 is released may not have date in db
|
||||||
|
created
|
||||||
|
? this.renderDetailItem(
|
||||||
|
msg("Date Created"),
|
||||||
|
() =>
|
||||||
|
html`<btrix-format-date
|
||||||
|
date=${created}
|
||||||
|
month="long"
|
||||||
|
day="numeric"
|
||||||
|
year="numeric"
|
||||||
|
hour="numeric"
|
||||||
|
minute="numeric"
|
||||||
|
></btrix-format-date>`,
|
||||||
|
)
|
||||||
|
: nothing,
|
||||||
|
)}
|
||||||
${this.renderDetailItem(
|
${this.renderDetailItem(
|
||||||
msg("Last Updated"),
|
msg("Last Updated"),
|
||||||
(col) =>
|
(col) =>
|
||||||
html`<btrix-format-date
|
html`<btrix-format-date
|
||||||
date=${col.modified}
|
date=${col.modified}
|
||||||
month="2-digit"
|
month="long"
|
||||||
day="2-digit"
|
day="numeric"
|
||||||
year="2-digit"
|
year="numeric"
|
||||||
hour="2-digit"
|
hour="numeric"
|
||||||
minute="2-digit"
|
minute="numeric"
|
||||||
></btrix-format-date>`,
|
></btrix-format-date>`,
|
||||||
)}
|
)}
|
||||||
</btrix-desc-list>
|
</btrix-desc-list>
|
||||||
|
@ -34,6 +34,7 @@ export type PublicCollection = z.infer<typeof publicCollectionSchema>;
|
|||||||
|
|
||||||
export const collectionSchema = publicCollectionSchema.extend({
|
export const collectionSchema = publicCollectionSchema.extend({
|
||||||
id: z.string(),
|
id: z.string(),
|
||||||
|
created: z.string().datetime(),
|
||||||
modified: z.string().datetime(),
|
modified: z.string().datetime(),
|
||||||
tags: z.array(z.string()),
|
tags: z.array(z.string()),
|
||||||
access: z.nativeEnum(CollectionAccess),
|
access: z.nativeEnum(CollectionAccess),
|
||||||
|
Loading…
Reference in New Issue
Block a user