Helper functions for slug processing
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- javascript
调研方向
首先阅读相关 issue #151,以了解本 issue 所请求的 slug 处理上下文。然后根据本 issue 定义所列 helper 的契约,以及它们的验证、查找、规范化和传输行为。当所有指定的 helper 都支持文档中规定的成功和错误情况(包括 slug 传输回滚)时,工作即完成。
由索引模型根据 Issue 内容生成。
描述
In support of #151, the following transforming library for slugs should be added:
getSlugFromMetadata(__rerum:Object)->validSlug:String- extract
"this-slug"from DB record property{__rerum: { slug : "this-slug" } } - throw invalid argument if not
__rerummetadata - return empty
""ifslugproperty empty or missing
- extract
assignSlug(slug:String, document:Object)->document:Object- insert or overwrite
"this-slug"to__rerumproperty for traditional save - empty/remove slug with empty
""
- insert or overwrite
findBySlug(slug:String)async ->document:Object- RERUM lookup for slug match
- 404 on a miss, 400 on a bad slug
transferSlug(toDocument:Object, fromDocument?:Object)async ->200 <location>- RERUM upsert toDocument with
"this-slug"and RERUM patch fromDocument with{ __rerum.slug: "" } - A single transaction, revert on a failure
- RERUM upsert toDocument with
slugExists(slug:String)async ->Boolean- *findBySlug(slug) is not 40x
slugIsValid(slug:String)->Boolean- slug and normalizeSlug(slug) match
normalizeSlug(userSlug:String)->validSlug:String- "This, That & the Other! Various Outré Considerations" -> "this-that-the-other-various-outre-considerations"
buildSluggedId(validSlug:String)->atIdUrl:Url- "this-slug" -> "https://store.rerum.io/v1/id/this-slug"
Only "normalizeSlug" takes user input.
- 主要语言
- JavaScript
- 星标
- 3
- 派生
- 6
- 平均合并
- 4 天 9 小时
- 30 天内合并 PR
- 5
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CenterForDigitalHumanities/rerum_server_nodejs 的其他 Issue
-
bug documentation
难度 2/5 1-3 小时 新手友好度 88/100
-
backend dependencies easy
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 2/5 1-3 小时 新手友好度 82/100
CenterForDigitalHumanities/rerum_server_nodejs#290 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 50/100
-
难度 3/5 1-2 天 新手友好度 74/100
查看 CenterForDigitalHumanities/rerum_server_nodejs 的全部 Issue
相似的 Issue
-
[Bug] @deck.gl/arcgis dist import resolves to unpublished @deck.gl/core source path (9.3.11, 9.4.0)未关闭
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
stac-utils/stac-fields#42 ·
-
agent/security hive/hosted-available-lke648397-260827-5n31 security
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 1 天内回复
-
channels:add check:passed
难度 1/5 1 小时以内 新手友好度 75/100
维护者通常 2 天内回复