-
Notifications
You must be signed in to change notification settings - Fork 6
后端接口设计
李大狗 edited this page Sep 17, 2022
·
11 revisions
Soul-Card 后端使用加载在 FaaS 上的 SoulCard Snippets。
https://github.com/WeLightProject/tai_shang_micro_faas_system
curl --location --request POST 'https://faasbyleeduckgo.gigalixirapp.com/api/v1/run?name=[ModuleName]&func_name=[func_name]' \
--header 'Content-Type: application/json' \
--data-raw '{
"params": [params_list]
}'
用户管理模块。
create_user(info, "dao" | "user" , addr, msg, signature)
直接创建用户,需要经过签名正确性的校验与msg
时间戳的校验。
create_user(info, "user", addr, msg, signature, inviter_addr, invatation)
通过邀请链接创建用户,会校验邀请链接的合法性。
update_user(info, role, addr, msg, signature)
更新用户信息。
get_user(addr)
通过地址拿到用户信息
get_role_map("dao")
拿到所有 dao 的信息。
get_role_list("dao", "addr" | "name")
拿到所有 dao addr 或 dao name。
邀请管理模块。
gen_invitation(addr, msg, signature)
创建邀请。
check_invitation(addr, invitation)
检查邀请是否合法。
数据处理模块。
rand_msg()
拿到一个指定格式的随机字符串用于签名验证。
check_format(data, "dao" | "user")
查看数据格式是否正确。
get_github_white_map()
拿到 Github 白名单地图。
analyze_github(addr, username_or_userid)
分析该用户是否在白名单中,可以使用唯一的github_id,也可以使用用户名。
analyze_github(addr, username_or_userid, "only_org")
经检查该用户是否为组织提交过代码(仅限于白名单中的 Repos),而不检查每个仓库。
get_data(ipfs_cid)
从 ifps 上拿数据
put_data(addr, data, msg, signature)
data is a base64-encoded webpage. the upload limit is 500_000 bit = 62.5 kb
测试用例合集