Skip to content
This repository was archived by the owner on Aug 15, 2025. It is now read-only.

Commit 9d79343

Browse files
committed
feat: Update routes with possible errors
1 parent dbb7b66 commit 9d79343

File tree

2 files changed

+29
-10
lines changed

2 files changed

+29
-10
lines changed

polyproto/mls/main.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ using OpenAPI;
1919
namespace polyproto.mls;
2020

2121
enum Version {
22-
`v0.1.0-alpha.2`,
22+
`v0.1.0-alpha.3`,
2323
}

polyproto/mls/operations.tsp

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,58 @@ import "./main.tsp";
55
import "../main.tsp";
66

77
using TypeSpec.Http;
8+
using polyproto.models.errors;
89

910
namespace polyproto.mls.routes {
1011
/**
1112
* Create a new MLS group
1213
*/
1314
@post
1415
@route("/groups")
15-
op createGroup(@body keyPackage: KeyPackage): Group;
16+
op createGroup(@body keyPackage: KeyPackage): {
17+
@statusCode _s: 200;
18+
@body _b: Group;
19+
};
1620

1721
/**
1822
* Get information about an MLS group
1923
*/
2024
@get
2125
@route("/groups/{groupId}")
22-
op getGroup(@path groupId: string): Group;
26+
op getGroup(@path groupId: string): {
27+
@statusCode _s: 200;
28+
@body _b: Group;
29+
} | NotFoundOrForbidden;
2330

2431
/**
2532
* Submit a proposal to modify the group
2633
*/
2734
@post
2835
@route("/groups/{groupId}/proposals")
29-
op submitProposal(@path groupId: string, @body proposal: Proposal): void;
36+
op submitProposal(
37+
@path groupId: string,
38+
@body proposal: Proposal,
39+
): void | NotFoundOrForbidden;
3040

3141
/**
3242
* Submit a commit to apply pending proposals
3343
*/
3444
@post
3545
@route("/groups/{groupId}/commits")
36-
op submitCommit(@path groupId: string, @body commit: Commit): Welcome;
46+
op submitCommit(
47+
@path groupId: string,
48+
@body commit: Commit,
49+
): Welcome | NotFoundOrForbidden;
3750

3851
/**
3952
* Get the current state of a group member
4053
*/
4154
@get
4255
@route("/groups/{groupId}/members/{memberId}")
43-
op getMember(@path groupId: string, @path memberId: string): GroupMember;
56+
op getMember(
57+
@path groupId: string,
58+
@path memberId: string,
59+
): GroupMember | NotFoundOrForbidden;
4460

4561
/**
4662
* Update a member's key package
@@ -51,26 +67,29 @@ namespace polyproto.mls.routes {
5167
@path groupId: string,
5268
@path memberId: string,
5369
@body keyPackage: KeyPackage,
54-
): void;
70+
): void | NotFoundOrForbidden;
5571

5672
/**
5773
* Remove a member from the group
5874
*/
5975
@delete
6076
@route("/groups/{groupId}/members/{memberId}")
61-
op removeMember(@path groupId: string, @path memberId: string): void;
77+
op removeMember(
78+
@path groupId: string,
79+
@path memberId: string,
80+
): void | NotFoundOrForbidden;
6281

6382
/**
6483
* Get all pending proposals for a group
6584
*/
6685
@get
6786
@route("/groups/{groupId}/proposals")
68-
op getProposals(@path groupId: string): Proposal[];
87+
op getProposals(@path groupId: string): Proposal[] | NotFoundOrForbidden;
6988

7089
/**
7190
* Get the latest commit for a group
7291
*/
7392
@get
7493
@route("/groups/{groupId}/commits/latest")
75-
op getLatestCommit(@path groupId: string): Commit;
94+
op getLatestCommit(@path groupId: string): Commit | NotFoundOrForbidden;
7695
}

0 commit comments

Comments
 (0)