@metacensus/api 0.0.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +121 -6
  2. package/dist/index.d.ts +1 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +9 -7
  5. package/dist/index.js.map +1 -1
  6. package/dist/public.d.ts +6 -0
  7. package/dist/public.d.ts.map +1 -0
  8. package/dist/public.js +14 -0
  9. package/dist/public.js.map +1 -0
  10. package/dist/signing.d.ts +2 -0
  11. package/dist/signing.d.ts.map +1 -0
  12. package/dist/signing.js +5 -0
  13. package/dist/signing.js.map +1 -0
  14. package/dist/src/client.d.ts +54 -0
  15. package/dist/src/client.d.ts.map +1 -0
  16. package/dist/src/client.js +146 -0
  17. package/dist/src/client.js.map +1 -0
  18. package/dist/src/metacensus/public/v1/common.d.ts +20 -0
  19. package/dist/src/metacensus/public/v1/common.d.ts.map +1 -0
  20. package/dist/src/metacensus/public/v1/common.js +26 -0
  21. package/dist/src/metacensus/public/v1/common.js.map +1 -0
  22. package/dist/src/metacensus/public/v1/partner.d.ts +55 -0
  23. package/dist/src/metacensus/public/v1/partner.d.ts.map +1 -0
  24. package/dist/src/metacensus/public/v1/partner.js +22 -0
  25. package/dist/src/metacensus/public/v1/partner.js.map +1 -0
  26. package/dist/src/metacensus/v1/auth.d.ts +17 -3
  27. package/dist/src/metacensus/v1/auth.d.ts.map +1 -1
  28. package/dist/src/metacensus/v1/auth.js +0 -1
  29. package/dist/src/metacensus/v1/auth.js.map +1 -1
  30. package/dist/src/metacensus/v1/common.d.ts +54 -6
  31. package/dist/src/metacensus/v1/common.d.ts.map +1 -1
  32. package/dist/src/metacensus/v1/common.js +10 -0
  33. package/dist/src/metacensus/v1/common.js.map +1 -1
  34. package/dist/src/metacensus/v1/prop.d.ts +56 -27
  35. package/dist/src/metacensus/v1/prop.d.ts.map +1 -1
  36. package/dist/src/metacensus/v1/prop.js +19 -20
  37. package/dist/src/metacensus/v1/prop.js.map +1 -1
  38. package/dist/src/metacensus/v1/topic.d.ts +20 -10
  39. package/dist/src/metacensus/v1/topic.d.ts.map +1 -1
  40. package/dist/src/metacensus/v1/topic.js +0 -1
  41. package/dist/src/metacensus/v1/topic.js.map +1 -1
  42. package/dist/src/metacensus/v1/user.d.ts +14 -5
  43. package/dist/src/metacensus/v1/user.d.ts.map +1 -1
  44. package/dist/src/metacensus/v1/user.js +0 -1
  45. package/dist/src/metacensus/v1/user.js.map +1 -1
  46. package/dist/src/route-manifest.d.ts +3 -0
  47. package/dist/src/route-manifest.d.ts.map +1 -1
  48. package/dist/src/route-manifest.js +32 -30
  49. package/dist/src/route-manifest.js.map +1 -1
  50. package/dist/src/signing.d.ts +37 -0
  51. package/dist/src/signing.d.ts.map +1 -0
  52. package/dist/src/signing.js +193 -0
  53. package/dist/src/signing.js.map +1 -0
  54. package/package.json +16 -4
  55. package/dist/src/metacensus/v1/extraction.d.ts +0 -48
  56. package/dist/src/metacensus/v1/extraction.d.ts.map +0 -1
  57. package/dist/src/metacensus/v1/extraction.js +0 -8
  58. package/dist/src/metacensus/v1/extraction.js.map +0 -1
  59. package/dist/src/metacensus/v1/paper.d.ts +0 -57
  60. package/dist/src/metacensus/v1/paper.d.ts.map +0 -1
  61. package/dist/src/metacensus/v1/paper.js +0 -8
  62. package/dist/src/metacensus/v1/paper.js.map +0 -1
  63. package/dist/src/metacensus/v1/protocol.d.ts +0 -42
  64. package/dist/src/metacensus/v1/protocol.d.ts.map +0 -1
  65. package/dist/src/metacensus/v1/protocol.js +0 -8
  66. package/dist/src/metacensus/v1/protocol.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/auth.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,iCAAiC;AAEjC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;CAC7B;AAED,MAAM,WAAW,cAAc;CAC9B"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/auth.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,iCAAiC;AAEjC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EACJ,WAAW,GACX,SAAS,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;CAC7B;AAED,MAAM,WAAW,cAAc;CAC9B"}
@@ -3,6 +3,5 @@
3
3
  // protoc-gen-ts_proto v2.7.7
4
4
  // protoc unknown
5
5
  // source: metacensus/v1/auth.proto
6
- /* eslint-disable */
7
6
  export const protobufPackage = "metacensus.v1";
8
7
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/auth.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAEnC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/auth.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAKnC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
@@ -1,15 +1,11 @@
1
1
  export declare const protobufPackage = "metacensus.v1";
2
2
  /** Shared types. */
3
- /**
4
- * ListMetadata is the pagination envelope for list responses. No route
5
- * paginates yet, so nothing references it.
6
- */
3
+ /** Pagination envelope for list responses; no route paginates yet. */
7
4
  export interface ListMetadata {
8
5
  /** 1-based. */
9
6
  page: number;
10
- /** Items per page. */
11
7
  limit: number;
12
- /** Items across all pages, not just this one. */
8
+ /** Across all pages, not just this one. */
13
9
  total: number;
14
10
  }
15
11
  export interface HealthcheckRequest {
@@ -17,4 +13,56 @@ export interface HealthcheckRequest {
17
13
  export interface HealthcheckResponse {
18
14
  status: string;
19
15
  }
16
+ /**
17
+ * One participant's signature over one content message. Not verified at the
18
+ * API edge — see README.md, "The signing chain".
19
+ */
20
+ export interface UserSignature {
21
+ /**
22
+ * Empty only on the sign-up that enrolls the key; public_key carries it
23
+ * inline there instead.
24
+ */
25
+ signerId: string;
26
+ /** base64url SHA-256 of public_key's SPKI DER. */
27
+ keyId: string;
28
+ alg: UserSignature_Alg;
29
+ /** base64url SPKI DER; set only on the sign-up that enrolls the key. */
30
+ publicKey: string;
31
+ /**
32
+ * The signer's claimed time, not the server's — see `recorded` on signed
33
+ * records for what the pair does and does not bound.
34
+ */
35
+ signingTime?: string | undefined;
36
+ /**
37
+ * Exactly how this signature is computed and checked; changing the
38
+ * canonicalization, digest, or encoding changes this string.
39
+ */
40
+ spec: string;
41
+ /**
42
+ * Full proto name of the message `content` holds, e.g.
43
+ * "metacensus.v1.PropContent". Stops a signature over one type being
44
+ * replayed as another.
45
+ */
46
+ contentType: string;
47
+ /** Excluded from its own digest by being emptied, not dropped. */
48
+ value: string;
49
+ }
50
+ /**
51
+ * Closed vocabulary: an unrecognized value fails to decode rather than
52
+ * reaching a verifier. See README.md, "The signing chain", before adding one.
53
+ */
54
+ export declare enum UserSignature_Alg {
55
+ Unspecified = "Unspecified",
56
+ /** Es384 - JOSE fixed-width r||s, never DER. */
57
+ Es384 = "Es384"
58
+ }
59
+ /**
60
+ * The part of a user record its owner signs. Lives here, not user.proto,
61
+ * because auth.proto's SignUpRequest and user.proto's User both need it.
62
+ */
63
+ export interface UserContent {
64
+ name: string;
65
+ email: string;
66
+ country: string;
67
+ }
20
68
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/common.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,oBAAoB;AAEpB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/common.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,oBAAoB;AAEpB,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,iBAAiB,CAAC;IACvB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EACR,MAAM,GACN,SAAS,CAAC;IACd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,gDAAgD;IAChD,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -5,4 +5,14 @@
5
5
  // source: metacensus/v1/common.proto
6
6
  /* eslint-disable */
7
7
  export const protobufPackage = "metacensus.v1";
8
+ /**
9
+ * Closed vocabulary: an unrecognized value fails to decode rather than
10
+ * reaching a verifier. See README.md, "The signing chain", before adding one.
11
+ */
12
+ export var UserSignature_Alg;
13
+ (function (UserSignature_Alg) {
14
+ UserSignature_Alg["Unspecified"] = "Unspecified";
15
+ /** Es384 - JOSE fixed-width r||s, never DER. */
16
+ UserSignature_Alg["Es384"] = "Es384";
17
+ })(UserSignature_Alg || (UserSignature_Alg = {}));
8
18
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/common.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,qCAAqC;AAErC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/common.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,qCAAqC;AAErC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAyD/C;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,gDAA2B,CAAA;IAC3B,gDAAgD;IAChD,oCAAe,CAAA;AACjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B"}
@@ -1,19 +1,34 @@
1
+ import type { UserSignature } from "./common.js";
1
2
  export declare const protobufPackage = "metacensus.v1";
2
3
  /** Propositions and votes: the consensus mechanism. */
3
4
  /**
4
- * Prop is a motion a topic's members vote on. It can be functional, changing
5
- * the topic, or simply establish consensus.
5
+ * A motion a topic's members vote on, as a signed record. `author_id` and
6
+ * `created` were removed: they're `user_signature.signer_id` and
7
+ * `.signing_time` now.
6
8
  */
7
9
  export interface Prop {
10
+ /** Minted by the server, outside the signature. */
8
11
  id: string;
9
- authorId: string;
10
- created?: string | undefined;
11
- type: Prop_Type;
12
- /** The text of the proposition, and the text `Vote.citations` index into. */
12
+ /**
13
+ * Server's observation; see UserSignature.signing_time for the author's
14
+ * claim.
15
+ */
16
+ recorded?: string | undefined;
17
+ content?: PropContent | undefined;
18
+ userSignature?: UserSignature | undefined;
19
+ }
20
+ /**
21
+ * What a prop's author signs; carries `topic_id` but not the prop's own
22
+ * server-minted id.
23
+ */
24
+ export interface PropContent {
25
+ topicId: string;
26
+ type: PropContent_Type;
27
+ /** The text `VoteContent.citations` indexes into. */
13
28
  description: string;
14
29
  }
15
- /** Type is what the proposition would do if it passed. */
16
- export declare enum Prop_Type {
30
+ /** What the proposition would do if it passed. */
31
+ export declare enum PropContent_Type {
17
32
  Unspecified = "Unspecified",
18
33
  Statement = "Statement",
19
34
  TopicQuestion = "TopicQuestion",
@@ -24,30 +39,42 @@ export declare enum Prop_Type {
24
39
  PaperIncludeMetaAnalysis = "PaperIncludeMetaAnalysis"
25
40
  }
26
41
  /**
27
- * Vote is one member's position on one prop, keyed by `(propId, userId)`: a
28
- * second vote from the same user replaces the first rather than adding to it.
42
+ * One member's position on one prop, keyed by `(propId, userId)`; a second
43
+ * vote from the same user replaces the first rather than adding to it.
29
44
  */
30
45
  export interface Vote {
46
+ /**
47
+ * Server's observation, and the only ordering a reader may use —
48
+ * `user_signature.signing_time` is the voter's own claim.
49
+ */
50
+ recorded?: string | undefined;
51
+ content?: VoteContent | undefined;
52
+ userSignature?: UserSignature | undefined;
53
+ }
54
+ /**
55
+ * What a voter signs. `user_id` duplicates `user_signature.signer_id` by
56
+ * design; persistence owes refusing the two when they disagree (see
57
+ * README.md, "Open questions").
58
+ */
59
+ export interface VoteContent {
60
+ topicId: string;
31
61
  propId: string;
32
62
  userId: string;
33
- position: Vote_Position;
34
- /** Free-text rationale. */
63
+ position: VoteContent_Position;
35
64
  explanation: string;
36
65
  /**
37
- * Spans of the prop's `description` the voter highlighted. Meaningful only
38
- * for an `Against` vote; cleared when the position changes to any other.
66
+ * Highlighted spans of the prop's `description`; meaningful only for
67
+ * `Against`, cleared otherwise.
39
68
  */
40
69
  citations: PropCitation[];
41
- /** When the vote was most recently cast. Overwritten on every recast. */
42
- lastCast?: string | undefined;
43
70
  }
44
- export declare enum Vote_Position {
71
+ export declare enum VoteContent_Position {
45
72
  Unspecified = "Unspecified",
46
73
  For = "For",
47
74
  Against = "Against",
48
75
  Abstain = "Abstain"
49
76
  }
50
- /** PropCitation is a half-open character range in a prop's `description`. */
77
+ /** A half-open character range in a prop's `description`. */
51
78
  export interface PropCitation {
52
79
  start: number;
53
80
  end: number;
@@ -62,29 +89,31 @@ export interface PropGetRequest {
62
89
  topicId: string;
63
90
  propId: string;
64
91
  }
65
- /** PropCreateRequest takes no author: it is the authenticated user. */
92
+ /**
93
+ * No author field — that's `user_signature.signer_id`. `topic_id` is bound
94
+ * by the path and re-signed inside `content`; the two must agree.
95
+ */
66
96
  export interface PropCreateRequest {
67
97
  topicId: string;
68
- type: Prop_Type;
69
- description: string;
98
+ content?: PropContent | undefined;
99
+ userSignature?: UserSignature | undefined;
70
100
  }
71
101
  export interface VoteListRequest {
72
102
  topicId: string;
73
103
  propId: string;
74
104
  }
75
- /** VoteList is the only way to read a prop's votes. */
105
+ /** The only way to read a prop's votes. */
76
106
  export interface VoteList {
77
107
  items: Vote[];
78
108
  }
79
109
  /**
80
- * VoteSetRequest sets rather than creates: it replaces the caller's previous
81
- * vote on this prop.
110
+ * Replaces the caller's previous vote rather than creating a new one; both
111
+ * path ids are re-signed inside `content` (see PropCreateRequest).
82
112
  */
83
113
  export interface VoteSetRequest {
84
114
  topicId: string;
85
115
  propId: string;
86
- position: Vote_Position;
87
- explanation: string;
88
- citations: PropCitation[];
116
+ content?: VoteContent | undefined;
117
+ userSignature?: UserSignature | undefined;
89
118
  }
90
119
  //# sourceMappingURL=prop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/prop.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,uDAAuD;AAEvD;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,0DAA0D;AAC1D,oBAAY,SAAS;IACnB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"prop.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/prop.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,uDAAuD;AAEvD;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,gBAAgB,CAAC;IACvB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,oBAAY,oBAAoB;IAC9B,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C"}
@@ -3,25 +3,24 @@
3
3
  // protoc-gen-ts_proto v2.7.7
4
4
  // protoc unknown
5
5
  // source: metacensus/v1/prop.proto
6
- /* eslint-disable */
7
6
  export const protobufPackage = "metacensus.v1";
8
- /** Type is what the proposition would do if it passed. */
9
- export var Prop_Type;
10
- (function (Prop_Type) {
11
- Prop_Type["Unspecified"] = "Unspecified";
12
- Prop_Type["Statement"] = "Statement";
13
- Prop_Type["TopicQuestion"] = "TopicQuestion";
14
- Prop_Type["TopicChange"] = "TopicChange";
15
- Prop_Type["UserAdmit"] = "UserAdmit";
16
- Prop_Type["UserExpulse"] = "UserExpulse";
17
- Prop_Type["PaperExtractionComplete"] = "PaperExtractionComplete";
18
- Prop_Type["PaperIncludeMetaAnalysis"] = "PaperIncludeMetaAnalysis";
19
- })(Prop_Type || (Prop_Type = {}));
20
- export var Vote_Position;
21
- (function (Vote_Position) {
22
- Vote_Position["Unspecified"] = "Unspecified";
23
- Vote_Position["For"] = "For";
24
- Vote_Position["Against"] = "Against";
25
- Vote_Position["Abstain"] = "Abstain";
26
- })(Vote_Position || (Vote_Position = {}));
7
+ /** What the proposition would do if it passed. */
8
+ export var PropContent_Type;
9
+ (function (PropContent_Type) {
10
+ PropContent_Type["Unspecified"] = "Unspecified";
11
+ PropContent_Type["Statement"] = "Statement";
12
+ PropContent_Type["TopicQuestion"] = "TopicQuestion";
13
+ PropContent_Type["TopicChange"] = "TopicChange";
14
+ PropContent_Type["UserAdmit"] = "UserAdmit";
15
+ PropContent_Type["UserExpulse"] = "UserExpulse";
16
+ PropContent_Type["PaperExtractionComplete"] = "PaperExtractionComplete";
17
+ PropContent_Type["PaperIncludeMetaAnalysis"] = "PaperIncludeMetaAnalysis";
18
+ })(PropContent_Type || (PropContent_Type = {}));
19
+ export var VoteContent_Position;
20
+ (function (VoteContent_Position) {
21
+ VoteContent_Position["Unspecified"] = "Unspecified";
22
+ VoteContent_Position["For"] = "For";
23
+ VoteContent_Position["Against"] = "Against";
24
+ VoteContent_Position["Abstain"] = "Abstain";
25
+ })(VoteContent_Position || (VoteContent_Position = {}));
27
26
  //# sourceMappingURL=prop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/prop.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAEnC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAiB/C,0DAA0D;AAC1D,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;IACvB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,gEAAmD,CAAA;IACnD,kEAAqD,CAAA;AACvD,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAqBD,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
1
+ {"version":3,"file":"prop.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/prop.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAKnC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAgC/C,kDAAkD;AAClD,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,+CAA2B,CAAA;IAC3B,2CAAuB,CAAA;IACvB,mDAA+B,CAAA;IAC/B,+CAA2B,CAAA;IAC3B,2CAAuB,CAAA;IACvB,+CAA2B,CAAA;IAC3B,uEAAmD,CAAA;IACnD,yEAAqD,CAAA;AACvD,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAkCD,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,mDAA2B,CAAA;IAC3B,mCAAW,CAAA;IACX,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;AACrB,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B"}
@@ -1,9 +1,23 @@
1
+ import type { UserSignature } from "./common.js";
1
2
  export declare const protobufPackage = "metacensus.v1";
2
3
  /** Topics and their membership. */
3
- /** Topic is a systematic review in progress. */
4
+ /** A systematic review in progress, as a signed record. */
4
5
  export interface Topic {
6
+ /** Minted by the server, outside the signature. */
5
7
  id: string;
6
- created?: string | undefined;
8
+ /**
9
+ * Server's observation; see UserSignature.signing_time for the author's
10
+ * claim.
11
+ */
12
+ recorded?: string | undefined;
13
+ content?: TopicContent | undefined;
14
+ userSignature?: UserSignature | undefined;
15
+ }
16
+ /**
17
+ * What a topic's author signs; carries no id — the server mints the
18
+ * topic's key.
19
+ */
20
+ export interface TopicContent {
7
21
  name: string;
8
22
  description: string;
9
23
  }
@@ -16,20 +30,16 @@ export interface TopicGetRequest {
16
30
  topicId: string;
17
31
  }
18
32
  export interface TopicCreateRequest {
19
- name: string;
20
- description: string;
21
- }
22
- export interface TopicProtocolRequest {
23
- topicId: string;
33
+ content?: TopicContent | undefined;
34
+ userSignature?: UserSignature | undefined;
24
35
  }
25
36
  /**
26
- * Member is a user's membership of a topic. No backend implements the member
27
- * routes yet.
37
+ * A user's membership of a topic. No backend implements the member routes
38
+ * yet, so it carries no signature.
28
39
  */
29
40
  export interface Member {
30
41
  /** The member's user id, not an id of the membership itself. */
31
42
  id: string;
32
- /** When the user joined the topic. */
33
43
  joined?: string | undefined;
34
44
  }
35
45
  export interface MemberListRequest {
@@ -1 +1 @@
1
- {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/topic.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,mCAAmC;AAEnC,gDAAgD;AAChD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/topic.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,mCAAmC;AAEnC,2DAA2D;AAC3D,MAAM,WAAW,KAAK;IACpB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -3,6 +3,5 @@
3
3
  // protoc-gen-ts_proto v2.7.7
4
4
  // protoc unknown
5
5
  // source: metacensus/v1/topic.proto
6
- /* eslint-disable */
7
6
  export const protobufPackage = "metacensus.v1";
8
7
  //# sourceMappingURL=topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/topic.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,oCAAoC;AAEpC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/topic.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,oCAAoC;AAKpC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
@@ -1,11 +1,20 @@
1
+ import type { UserContent, UserSignature } from "./common.js";
1
2
  export declare const protobufPackage = "metacensus.v1";
2
3
  /** Users. Sign-up and login live in auth.proto. */
4
+ /**
5
+ * A signed record. Also the key directory: reading a user's enrolling
6
+ * `user_signature.public_key` is how a verifier resolves a `key_id`.
7
+ */
3
8
  export interface User {
9
+ /** Minted by the server, outside the signature. */
4
10
  id: string;
5
- name: string;
6
- email: string;
7
- country: string;
8
- created?: string | undefined;
11
+ /**
12
+ * Server's observation; see UserSignature.signing_time for the author's
13
+ * claim.
14
+ */
15
+ recorded?: string | undefined;
16
+ content?: UserContent | undefined;
17
+ userSignature?: UserSignature | undefined;
9
18
  }
10
19
  export interface UserListRequest {
11
20
  }
@@ -15,7 +24,7 @@ export interface UserList {
15
24
  export interface UserGetRequest {
16
25
  userId: string;
17
26
  }
18
- /** SelfGetRequest is empty: the user is the authenticated one. */
27
+ /** Empty: the user is the authenticated one. */
19
28
  export interface SelfGetRequest {
20
29
  }
21
30
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/user.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,mDAAmD;AAEnD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;CAC9B"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/user.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,mDAAmD;AAEnD;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;CAC9B"}
@@ -3,6 +3,5 @@
3
3
  // protoc-gen-ts_proto v2.7.7
4
4
  // protoc unknown
5
5
  // source: metacensus/v1/user.proto
6
- /* eslint-disable */
7
6
  export const protobufPackage = "metacensus.v1";
8
7
  //# sourceMappingURL=user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/user.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAEnC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/user.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAKnC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export declare const apiPrefix = "/metacensus/api/v1";
2
+ export declare const publicPrefix = "/metacensus/public";
2
3
  export interface Route {
4
+ readonly prefix: string;
3
5
  readonly service: string;
4
6
  readonly rpc: string;
5
7
  readonly method: string;
@@ -7,6 +9,7 @@ export interface Route {
7
9
  readonly params: readonly string[];
8
10
  readonly query: readonly string[];
9
11
  readonly body: string;
12
+ readonly signed: boolean;
10
13
  readonly request: string;
11
14
  readonly response: string;
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"route-manifest.d.ts","sourceRoot":"","sources":["../../src/route-manifest.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAO9C,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,EAAE,SAAS,KAAK,EAyBlC,CAAC"}
1
+ {"version":3,"file":"route-manifest.d.ts","sourceRoot":"","sources":["../../src/route-manifest.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAK9C,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAMjD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,EAAE,SAAS,KAAK,EAmBlC,CAAC"}
@@ -1,34 +1,36 @@
1
- // Code generated by cmd/routegen. DO NOT EDIT.
2
- // The whole route table of /metacensus/api/v1 on one screen, generated from
3
- // the google.api.http annotations on each resource's service in metacensus/v1.
4
- // The path every route below hangs off. Join it with a route's `path` to get
5
- // the path a client actually requests; the reverse proxy in front of the API
6
- // is what makes that resolve.
1
+ // Code generated by routegen. DO NOT EDIT.
2
+ // Every MetaCensus route on one screen, generated from the google.api.http
3
+ // annotations on each service. One manifest for both surfaces; see the
4
+ // repository README, "Routes". Each surface has its own prefix:
5
+ //
6
+ // apiPrefix /metacensus/api/v1 the authenticated API
7
+ // publicPrefix /metacensus/public the public, unauthenticated surface
8
+ // The path metacensus.v1 routes hang off (the authenticated API). Join it with a route's
9
+ // `path` for the path a client requests; a route carries its own `prefix`, so
10
+ // joining needs no knowledge of which surface it came from.
7
11
  export const apiPrefix = "/metacensus/api/v1";
12
+ // The path metacensus.public.v1 routes hang off (the public, unauthenticated surface). Join it with a route's
13
+ // `path` for the path a client requests; a route carries its own `prefix`, so
14
+ // joining needs no knowledge of which surface it came from.
15
+ export const publicPrefix = "/metacensus/public";
8
16
  export const routes = [
9
- { service: "AuthRoutes", rpc: "Login", method: "POST", path: "/login", params: [], query: [], body: "*", request: "LoginRequest", response: "Session" },
10
- { service: "AuthRoutes", rpc: "SignUp", method: "POST", path: "/signup", params: [], query: [], body: "*", request: "SignUpRequest", response: "Session" },
11
- { service: "AuthRoutes", rpc: "Logout", method: "POST", path: "/logout", params: [], query: [], body: "", request: "LogoutRequest", response: "LogoutResponse" },
12
- { service: "HealthRoutes", rpc: "Healthcheck", method: "GET", path: "/healthcheck", params: [], query: [], body: "", request: "HealthcheckRequest", response: "HealthcheckResponse" },
13
- { service: "ExtractionRoutes", rpc: "GetExtraction", method: "GET", path: "/extraction", params: [], query: ["topicId", "paperId", "protocolId"], body: "", request: "DataExtractionGetRequest", response: "DataExtraction" },
14
- { service: "ExtractionRoutes", rpc: "UpsertExtraction", method: "POST", path: "/extraction", params: [], query: [], body: "*", request: "DataExtraction", response: "DataExtraction" },
15
- { service: "PaperRoutes", rpc: "ListPapers", method: "POST", path: "/paper", params: [], query: [], body: "*", request: "PaperListRequest", response: "PaperList" },
16
- { service: "PaperRoutes", rpc: "CreatePaper", method: "POST", path: "/paper/create", params: [], query: [], body: "*", request: "PaperCreateRequest", response: "Paper" },
17
- { service: "PaperRoutes", rpc: "LookupPaper", method: "GET", path: "/paper/lookup", params: [], query: ["pmid"], body: "", request: "PaperLookupRequest", response: "PaperLookupResponse" },
18
- { service: "PropRoutes", rpc: "ListProps", method: "GET", path: "/topic/{topicId}/prop", params: ["topicId"], query: [], body: "", request: "PropListRequest", response: "PropList" },
19
- { service: "PropRoutes", rpc: "GetProp", method: "GET", path: "/topic/{topicId}/prop/{propId}", params: ["topicId", "propId"], query: [], body: "", request: "PropGetRequest", response: "Prop" },
20
- { service: "PropRoutes", rpc: "CreateProp", method: "POST", path: "/topic/{topicId}/prop", params: ["topicId"], query: [], body: "*", request: "PropCreateRequest", response: "Prop" },
21
- { service: "PropRoutes", rpc: "ListVotes", method: "GET", path: "/topic/{topicId}/prop/{propId}/vote", params: ["topicId", "propId"], query: [], body: "", request: "VoteListRequest", response: "VoteList" },
22
- { service: "PropRoutes", rpc: "SetVote", method: "POST", path: "/topic/{topicId}/prop/{propId}/vote", params: ["topicId", "propId"], query: [], body: "*", request: "VoteSetRequest", response: "Vote" },
23
- { service: "ProtocolRoutes", rpc: "CreateProtocol", method: "POST", path: "/protocol", params: [], query: [], body: "*", request: "ProtocolCreateRequest", response: "Protocol" },
24
- { service: "TopicRoutes", rpc: "ListTopics", method: "GET", path: "/topic", params: [], query: [], body: "", request: "TopicListRequest", response: "TopicList" },
25
- { service: "TopicRoutes", rpc: "GetTopic", method: "GET", path: "/topic/{topicId}", params: ["topicId"], query: [], body: "", request: "TopicGetRequest", response: "Topic" },
26
- { service: "TopicRoutes", rpc: "CreateTopic", method: "POST", path: "/topic", params: [], query: [], body: "*", request: "TopicCreateRequest", response: "Topic" },
27
- { service: "TopicRoutes", rpc: "GetProtocol", method: "GET", path: "/topic/{topicId}/protocol", params: ["topicId"], query: [], body: "", request: "TopicProtocolRequest", response: "Protocol" },
28
- { service: "TopicRoutes", rpc: "ListMembers", method: "GET", path: "/topic/{topicId}/member", params: ["topicId"], query: [], body: "", request: "MemberListRequest", response: "MemberList" },
29
- { service: "TopicRoutes", rpc: "GetMember", method: "GET", path: "/topic/{topicId}/member/{userId}", params: ["topicId", "userId"], query: [], body: "", request: "MemberGetRequest", response: "Member" },
30
- { service: "UserRoutes", rpc: "ListUsers", method: "GET", path: "/user", params: [], query: [], body: "", request: "UserListRequest", response: "UserList" },
31
- { service: "UserRoutes", rpc: "GetUser", method: "GET", path: "/user/{userId}", params: ["userId"], query: [], body: "", request: "UserGetRequest", response: "User" },
32
- { service: "UserRoutes", rpc: "GetSelf", method: "GET", path: "/self", params: [], query: [], body: "", request: "SelfGetRequest", response: "User" },
17
+ { prefix: apiPrefix, service: "AuthRoutes", rpc: "Login", method: "POST", path: "/login", params: [], query: [], body: "*", signed: false, request: "LoginRequest", response: "Session" },
18
+ { prefix: apiPrefix, service: "AuthRoutes", rpc: "SignUp", method: "POST", path: "/signup", params: [], query: [], body: "*", signed: true, request: "SignUpRequest", response: "Session" },
19
+ { prefix: apiPrefix, service: "AuthRoutes", rpc: "Logout", method: "POST", path: "/logout", params: [], query: [], body: "", signed: false, request: "LogoutRequest", response: "LogoutResponse" },
20
+ { prefix: apiPrefix, service: "HealthRoutes", rpc: "Healthcheck", method: "GET", path: "/healthcheck", params: [], query: [], body: "", signed: false, request: "HealthcheckRequest", response: "HealthcheckResponse" },
21
+ { prefix: apiPrefix, service: "PropRoutes", rpc: "ListProps", method: "GET", path: "/topic/{topicId}/prop", params: ["topicId"], query: [], body: "", signed: false, request: "PropListRequest", response: "PropList" },
22
+ { prefix: apiPrefix, service: "PropRoutes", rpc: "GetProp", method: "GET", path: "/topic/{topicId}/prop/{propId}", params: ["topicId", "propId"], query: [], body: "", signed: false, request: "PropGetRequest", response: "Prop" },
23
+ { prefix: apiPrefix, service: "PropRoutes", rpc: "CreateProp", method: "POST", path: "/topic/{topicId}/prop", params: ["topicId"], query: [], body: "*", signed: true, request: "PropCreateRequest", response: "Prop" },
24
+ { prefix: apiPrefix, service: "PropRoutes", rpc: "ListVotes", method: "GET", path: "/topic/{topicId}/prop/{propId}/vote", params: ["topicId", "propId"], query: [], body: "", signed: false, request: "VoteListRequest", response: "VoteList" },
25
+ { prefix: apiPrefix, service: "PropRoutes", rpc: "SetVote", method: "POST", path: "/topic/{topicId}/prop/{propId}/vote", params: ["topicId", "propId"], query: [], body: "*", signed: true, request: "VoteSetRequest", response: "Vote" },
26
+ { prefix: apiPrefix, service: "TopicRoutes", rpc: "ListTopics", method: "GET", path: "/topic", params: [], query: [], body: "", signed: false, request: "TopicListRequest", response: "TopicList" },
27
+ { prefix: apiPrefix, service: "TopicRoutes", rpc: "GetTopic", method: "GET", path: "/topic/{topicId}", params: ["topicId"], query: [], body: "", signed: false, request: "TopicGetRequest", response: "Topic" },
28
+ { prefix: apiPrefix, service: "TopicRoutes", rpc: "CreateTopic", method: "POST", path: "/topic", params: [], query: [], body: "*", signed: true, request: "TopicCreateRequest", response: "Topic" },
29
+ { prefix: apiPrefix, service: "TopicRoutes", rpc: "ListMembers", method: "GET", path: "/topic/{topicId}/member", params: ["topicId"], query: [], body: "", signed: false, request: "MemberListRequest", response: "MemberList" },
30
+ { prefix: apiPrefix, service: "TopicRoutes", rpc: "GetMember", method: "GET", path: "/topic/{topicId}/member/{userId}", params: ["topicId", "userId"], query: [], body: "", signed: false, request: "MemberGetRequest", response: "Member" },
31
+ { prefix: apiPrefix, service: "UserRoutes", rpc: "ListUsers", method: "GET", path: "/user", params: [], query: [], body: "", signed: false, request: "UserListRequest", response: "UserList" },
32
+ { prefix: apiPrefix, service: "UserRoutes", rpc: "GetUser", method: "GET", path: "/user/{userId}", params: ["userId"], query: [], body: "", signed: false, request: "UserGetRequest", response: "User" },
33
+ { prefix: apiPrefix, service: "UserRoutes", rpc: "GetSelf", method: "GET", path: "/self", params: [], query: [], body: "", signed: false, request: "SelfGetRequest", response: "User" },
34
+ { prefix: publicPrefix, service: "PartnerRoutes", rpc: "SubmitPartnerInterest", method: "POST", path: "/partner", params: [], query: [], body: "*", signed: false, request: "PartnerSubmission", response: "PartnerReceipt" },
33
35
  ];
34
36
  //# sourceMappingURL=route-manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"route-manifest.js","sourceRoot":"","sources":["../../src/route-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-manifest.js","sourceRoot":"","sources":["../../src/route-manifest.ts"],"names":[],"mappings":"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"}