-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: account recover with email #149
Conversation
Deploying with Cloudflare Pages
|
const results = await ctx.kvs.accounts.get(capability.with) | ||
if (!results) { | ||
throw new Failure('Account not found...') | ||
return new Failure('Account not found.') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It feels counter-intuitive to return an error...why can we not throw these?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are known errors that should be returned to the user but not sent to sentry.
Ucanto supports multiple invocations in the same request thats why the responses are always arrays, so some invocations can succeed and some can error thats why we dont throw here.
In ucanto a known error like "account not found" is a valid response, the server types also include those. Any other exception error like "fail to parse json" that we want to send to sentry we should throw from the code.
// For testing | ||
if (ctx.config.ENV === 'test') { | ||
return encoded | ||
return url |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only return in test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes just for tests so we can process the delegation without dealing with emails.
Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
354b850
to
0175220
Compare
🤖 I have created a release *beep* *boop* --- ## [1.1.0](upload-client-v1.0.0...upload-client-v1.1.0) (2022-11-18) ### Features * account recover with email ([#149](#149)) ([6c659ba](6c659ba)) * allow custom shard size ([#185](#185)) ([0cada8a](0cada8a)) * explicit resource ([#181](#181)) ([785924b](785924b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [6.0.0](access-v5.0.2...access-v6.0.0) (2022-11-22) ### ⚠ BREAKING CHANGES * **access-client:** bump to major * store/list and upload/list types now require nb object with optional properties ### Features * [#153](#153) ([#177](#177)) ([d6d448c](d6d448c)) * **access-client:** bump to major ([4d5899f](4d5899f)) * account recover with email ([#149](#149)) ([6c659ba](6c659ba)) * add support for list pagination in list capability invocations ([#184](#184)) ([ced23db](ced23db)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [5.0.0](upload-client-v4.0.0...upload-client-v5.0.0) (2022-12-07) ### ⚠ BREAKING CHANGES * upgrade access-api @ucanto/* and @ipld/dag-ucan major versions ([#246](#246)) * upload/list items have a shards array property ([#229](#229)) * upgrade to `@ucanto/{interface,principal}`@^4.0.0 ([#238](#238)) * follow up on the capabilities extract ([#239](#239)) * rename callback ([#198](#198)) ### Features * [#153](#153) ([#177](#177)) ([d6d448c](d6d448c)) * a base for a new web3.storage upload-client ([#141](#141)) ([9d4b5be](9d4b5be)) * **access-client:** cli and recover ([#207](#207)) ([adb3a8d](adb3a8d)) * account recover with email ([#149](#149)) ([6c659ba](6c659ba)) * add static uploads API ([#148](#148)) ([d85d051](d85d051)) * allow custom shard size ([#185](#185)) ([0cada8a](0cada8a)) * explicit resource ([#181](#181)) ([785924b](785924b)) * follow up on the capabilities extract ([#239](#239)) ([ef5e779](ef5e779)) * Revert "feat!: upgrade to `@ucanto/{interface,principal}`@^4.0.0" ([#245](#245)) ([c182bbe](c182bbe)) * support pagination ([#204](#204)) ([a5296a6](a5296a6)), closes [#201](#201) * upgrade access-api @ucanto/* and @ipld/dag-ucan major versions ([#246](#246)) ([5e663d1](5e663d1)) * upgrade to `@ucanto/{interface,principal}`@^4.0.0 ([#238](#238)) ([2f3bab8](2f3bab8)) * upload/list items have a shards array property ([#229](#229)) ([c00da35](c00da35)) ### Bug Fixes * export types ([c8d0a3f](c8d0a3f)) * list response results return type ([#206](#206)) ([4bca6c1](4bca6c1)) * store export ([#197](#197)) ([9b836e6](9b836e6)) * upload client list needs empty nb ([#194](#194)) ([ff7fbb8](ff7fbb8)) * uploadFile requires BlobLike not Blob ([1cc7681](1cc7681)) ### Code Refactoring * rename callback ([#198](#198)) ([5b8ef7d](5b8ef7d)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [4.0.0](access-api-v3.0.0...access-api-v4.0.0) (2022-12-13) ### ⚠ BREAKING CHANGES * upgrade access-api @ucanto/* and @ipld/dag-ucan major versions ([#246](#246)) * access-client store decoupling ([#228](#228)) * upgrade to `@ucanto/{interface,principal}`@^4.0.0 ([#238](#238)) * follow up on the capabilities extract ([#239](#239)) * doc capabilities & make requierd nb non-optionals ([#159](#159)) * Remove 0.8 caps and add account delegation to the service ([#123](#123)) * bump to 0.9 ([#116](#116)) ### Features * [#153](#153) ([#177](#177)) ([d6d448c](d6d448c)) * access-api uses DID env variable when building its ucanto server id ([#275](#275)) ([311da78](311da78)) * **access-client:** cli and recover ([#207](#207)) ([adb3a8d](adb3a8d)) * account recover with email ([#149](#149)) ([6c659ba](6c659ba)) * bump to 0.9 ([#116](#116)) ([3e0b63f](3e0b63f)) * doc capabilities & make requierd nb non-optionals ([#159](#159)) ([6496773](6496773)) * follow up on the capabilities extract ([#239](#239)) ([ef5e779](ef5e779)) * Remove 0.8 caps and add account delegation to the service ([#123](#123)) ([878f8c9](878f8c9)), closes [#117](#117) [#121](#121) * Revert "feat!: upgrade to `@ucanto/{interface,principal}`@^4.0.0" ([#245](#245)) ([c182bbe](c182bbe)) * sync encode/decode delegations ([#276](#276)) ([ab981fb](ab981fb)) * upgrade access-api @ucanto/* and @ipld/dag-ucan major versions ([#246](#246)) ([5e663d1](5e663d1)) * upgrade to `@ucanto/{interface,principal}`@^4.0.0 ([#238](#238)) ([2f3bab8](2f3bab8)) ### Bug Fixes * 0.9 ([#78](#78)) ([1b1ed01](1b1ed01)) * add validation copy ([#257](#257)) ([7f50af4](7f50af4)), closes [#139](#139) * fix Access API cannot get space/info [#243](#243) ([#255](#255)) ([1bacd54](1bacd54)) * fix d1 migrations ([#264](#264)) ([fb8c09d](fb8c09d)) * make d1 spaces.metadata nullable and change to kysely ([#284](#284)) ([c8a9ce5](c8a9ce5)), closes [#280](#280) * make multiformats 9 go away ([#133](#133)) ([2668880](2668880)) * miniflare dev script ([#137](#137)) ([1c5a4e2](1c5a4e2)) * testing staging deploy ([3d500fa](3d500fa)) * try to deploy api staging ([18b7b29](18b7b29)) * try to deploy staging ([c616818](c616818)) ### Code Refactoring * access-client store decoupling ([#228](#228)) ([a785278](a785278)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Theres also a commit with changes to rename access to access-client Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
🤖 I have created a release *beep* *boop* --- ## [1.1.0](upload-client-v1.0.0...upload-client-v1.1.0) (2022-11-18) ### Features * account recover with email ([#149](#149)) ([91ad47d](91ad47d)) * allow custom shard size ([#185](#185)) ([2130405](2130405)) * explicit resource ([#181](#181)) ([c127431](c127431)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [6.0.0](access-v5.0.2...access-v6.0.0) (2022-11-22) ### ⚠ BREAKING CHANGES * **access-client:** bump to major * store/list and upload/list types now require nb object with optional properties ### Features * [#153](#153) ([#177](#177)) ([7fbf2a1](7fbf2a1)) * **access-client:** bump to major ([7be598d](7be598d)) * account recover with email ([#149](#149)) ([91ad47d](91ad47d)) * add support for list pagination in list capability invocations ([#184](#184)) ([23206ad](23206ad)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [5.0.0](upload-client-v4.0.0...upload-client-v5.0.0) (2022-12-07) ### ⚠ BREAKING CHANGES * upgrade access-api @ucanto/* and @ipld/dag-ucan major versions ([#246](#246)) * upload/list items have a shards array property ([#229](#229)) * upgrade to `@ucanto/{interface,principal}`@^4.0.0 ([#238](#238)) * follow up on the capabilities extract ([#239](#239)) * rename callback ([#198](#198)) ### Features * [#153](#153) ([#177](#177)) ([7fbf2a1](7fbf2a1)) * a base for a new web3.storage upload-client ([#141](#141)) ([72c08d7](72c08d7)) * **access-client:** cli and recover ([#207](#207)) ([720dafb](720dafb)) * account recover with email ([#149](#149)) ([91ad47d](91ad47d)) * add static uploads API ([#148](#148)) ([8b735fa](8b735fa)) * allow custom shard size ([#185](#185)) ([2130405](2130405)) * explicit resource ([#181](#181)) ([c127431](c127431)) * follow up on the capabilities extract ([#239](#239)) ([717fcaa](717fcaa)) * Revert "feat!: upgrade to `@ucanto/{interface,principal}`@^4.0.0" ([#245](#245)) ([197439e](197439e)) * support pagination ([#204](#204)) ([363e3ac](363e3ac)), closes [#201](#201) * upgrade access-api @ucanto/* and @ipld/dag-ucan major versions ([#246](#246)) ([65d191c](65d191c)) * upgrade to `@ucanto/{interface,principal}`@^4.0.0 ([#238](#238)) ([309aff0](309aff0)) * upload/list items have a shards array property ([#229](#229)) ([723b281](723b281)) ### Bug Fixes * export types ([c44a252](c44a252)) * list response results return type ([#206](#206)) ([e49c685](e49c685)) * store export ([#197](#197)) ([d2296c5](d2296c5)) * upload client list needs empty nb ([#194](#194)) ([7894fb9](7894fb9)) * uploadFile requires BlobLike not Blob ([56ec496](56ec496)) ### Code Refactoring * rename callback ([#198](#198)) ([2349763](2349763)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [4.0.0](access-api-v3.0.0...access-api-v4.0.0) (2022-12-13) ### ⚠ BREAKING CHANGES * upgrade access-api @ucanto/* and @ipld/dag-ucan major versions ([#246](#246)) * access-client store decoupling ([#228](#228)) * upgrade to `@ucanto/{interface,principal}`@^4.0.0 ([#238](#238)) * follow up on the capabilities extract ([#239](#239)) * doc capabilities & make requierd nb non-optionals ([#159](#159)) * Remove 0.8 caps and add account delegation to the service ([#123](#123)) * bump to 0.9 ([#116](#116)) ### Features * [#153](#153) ([#177](#177)) ([7fbf2a1](7fbf2a1)) * access-api uses DID env variable when building its ucanto server id ([#275](#275)) ([e8326ec](e8326ec)) * **access-client:** cli and recover ([#207](#207)) ([720dafb](720dafb)) * account recover with email ([#149](#149)) ([91ad47d](91ad47d)) * bump to 0.9 ([#116](#116)) ([29cf63c](29cf63c)) * doc capabilities & make requierd nb non-optionals ([#159](#159)) ([f6b6d06](f6b6d06)) * follow up on the capabilities extract ([#239](#239)) ([717fcaa](717fcaa)) * Remove 0.8 caps and add account delegation to the service ([#123](#123)) ([c3c58b9](c3c58b9)), closes [#117](#117) [#121](#121) * Revert "feat!: upgrade to `@ucanto/{interface,principal}`@^4.0.0" ([#245](#245)) ([197439e](197439e)) * sync encode/decode delegations ([#276](#276)) ([9d48372](9d48372)) * upgrade access-api @ucanto/* and @ipld/dag-ucan major versions ([#246](#246)) ([65d191c](65d191c)) * upgrade to `@ucanto/{interface,principal}`@^4.0.0 ([#238](#238)) ([309aff0](309aff0)) ### Bug Fixes * 0.9 ([#78](#78)) ([561c68b](561c68b)) * add validation copy ([#257](#257)) ([0bd49ce](0bd49ce)), closes [#139](#139) * fix Access API cannot get space/info [#243](#243) ([#255](#255)) ([1a74031](1a74031)) * fix d1 migrations ([#264](#264)) ([5b8a6e7](5b8a6e7)) * make d1 spaces.metadata nullable and change to kysely ([#284](#284)) ([7f09479](7f09479)), closes [#280](#280) * make multiformats 9 go away ([#133](#133)) ([cdb4109](cdb4109)) * miniflare dev script ([#137](#137)) ([f2cffb2](f2cffb2)) * testing staging deploy ([975cffc](975cffc)) * try to deploy api staging ([5130464](5130464)) * try to deploy staging ([4e56657](4e56657)) ### Code Refactoring * access-client store decoupling ([#228](#228)) ([64c7496](64c7496)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Theres also a commit with changes to rename access to access-client