@miradorlabs/web-grpc 3.9.0 → 3.11.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.
@@ -209,6 +209,52 @@ export interface GitHubFilesResponse {
209
209
  files: GitHubFileResult[];
210
210
  }
211
211
 
212
+ export interface CreateInstallTermaPullRequestsRequest {
213
+ organizationId: string;
214
+ projectId: string;
215
+ /** GitHub owner/name, each reachable by the org's installation. */
216
+ repositories: string[];
217
+ }
218
+
219
+ export interface InstallTermaPullRequestResult {
220
+ repository: string;
221
+ /** Set on success, including an already-open setup pull request. */
222
+ number: number;
223
+ url: string;
224
+ /** Set on failure; this repository's failure never aborts the others. */
225
+ errorMessage: string;
226
+ /** The repository already has what `terma install` writes: no commit and no pull request. */
227
+ alreadyInstalled: boolean;
228
+ }
229
+
230
+ export interface CreateInstallTermaPullRequestsResponse {
231
+ status:
232
+ | ResponseStatus
233
+ | undefined;
234
+ /** One result per requested repository, in request order. */
235
+ results: InstallTermaPullRequestResult[];
236
+ }
237
+
238
+ export interface ListInstallTermaPullRequestsRequest {
239
+ organizationId: string;
240
+ projectId: string;
241
+ }
242
+
243
+ export interface InstallTermaPullRequest {
244
+ /** GitHub owner/name. */
245
+ repository: string;
246
+ number: number;
247
+ url: string;
248
+ /** open, merged or closed. */
249
+ state: string;
250
+ updatedAt: string;
251
+ }
252
+
253
+ export interface ListInstallTermaPullRequestsResponse {
254
+ status: ResponseStatus | undefined;
255
+ pullRequests: InstallTermaPullRequest[];
256
+ }
257
+
212
258
  function createBaseGitHubScopeRequest(): GitHubScopeRequest {
213
259
  return { organizationId: "" };
214
260
  }
@@ -2653,85 +2699,798 @@ export const GitHubFilesResponse: MessageFns<GitHubFilesResponse> = {
2653
2699
  },
2654
2700
  };
2655
2701
 
2656
- /**
2657
- * One GitHub App connection per organization. Credentials never leave the
2658
- * account service; installation tokens are minted on demand and never stored.
2659
- */
2660
- export interface GitHubGatewayService {
2661
- GetGitHubConnector(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubStatusResponse>;
2662
- BeginGitHubConnection(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubBeginResponse>;
2663
- CompleteGitHubConnection(request: GitHubCompleteRequest, metadata?: Metadata): Promise<GitHubStatusResponse>;
2664
- DisconnectGitHubConnection(request: GitHubDisconnectRequest, metadata?: Metadata): Promise<GitHubEmptyResponse>;
2665
- ListGitHubRepositories(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubRepositoriesResponse>;
2666
- ListGitHubPullRequests(request: GitHubPullRequestsRequest, metadata?: Metadata): Promise<GitHubPullRequestsResponse>;
2667
- ListGitHubIssues(request: GitHubIssuesRequest, metadata?: Metadata): Promise<GitHubIssuesResponse>;
2668
- ListGitHubFiles(request: GitHubFilesRequest, metadata?: Metadata): Promise<GitHubFilesResponse>;
2669
- ReceiveGitHubWebhook(request: GitHubWebhookRequest, metadata?: Metadata): Promise<GitHubEmptyResponse>;
2702
+ function createBaseCreateInstallTermaPullRequestsRequest(): CreateInstallTermaPullRequestsRequest {
2703
+ return { organizationId: "", projectId: "", repositories: [] };
2670
2704
  }
2671
2705
 
2672
- export const GitHubGatewayServiceServiceName = "gateway.web.v1.GitHubGatewayService";
2673
- export class GitHubGatewayServiceClientImpl implements GitHubGatewayService {
2674
- private readonly rpc: Rpc;
2675
- private readonly service: string;
2676
- constructor(rpc: Rpc, opts?: { service?: string }) {
2677
- this.service = opts?.service || GitHubGatewayServiceServiceName;
2678
- this.rpc = rpc;
2679
- this.GetGitHubConnector = this.GetGitHubConnector.bind(this);
2680
- this.BeginGitHubConnection = this.BeginGitHubConnection.bind(this);
2681
- this.CompleteGitHubConnection = this.CompleteGitHubConnection.bind(this);
2682
- this.DisconnectGitHubConnection = this.DisconnectGitHubConnection.bind(this);
2683
- this.ListGitHubRepositories = this.ListGitHubRepositories.bind(this);
2684
- this.ListGitHubPullRequests = this.ListGitHubPullRequests.bind(this);
2685
- this.ListGitHubIssues = this.ListGitHubIssues.bind(this);
2686
- this.ListGitHubFiles = this.ListGitHubFiles.bind(this);
2687
- this.ReceiveGitHubWebhook = this.ReceiveGitHubWebhook.bind(this);
2688
- }
2689
- GetGitHubConnector(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubStatusResponse> {
2690
- const data = GitHubScopeRequest.encode(request).finish();
2691
- const promise = this.rpc.request(this.service, "GetGitHubConnector", data, metadata);
2692
- return promise.then((data) => GitHubStatusResponse.decode(new BinaryReader(data)));
2693
- }
2706
+ export const CreateInstallTermaPullRequestsRequest: MessageFns<CreateInstallTermaPullRequestsRequest> = {
2707
+ encode(message: CreateInstallTermaPullRequestsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
2708
+ if (message.organizationId !== "") {
2709
+ writer.uint32(10).string(message.organizationId);
2710
+ }
2711
+ if (message.projectId !== "") {
2712
+ writer.uint32(18).string(message.projectId);
2713
+ }
2714
+ for (const v of message.repositories) {
2715
+ writer.uint32(26).string(v!);
2716
+ }
2717
+ return writer;
2718
+ },
2694
2719
 
2695
- BeginGitHubConnection(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubBeginResponse> {
2696
- const data = GitHubScopeRequest.encode(request).finish();
2697
- const promise = this.rpc.request(this.service, "BeginGitHubConnection", data, metadata);
2698
- return promise.then((data) => GitHubBeginResponse.decode(new BinaryReader(data)));
2699
- }
2720
+ decode(input: BinaryReader | Uint8Array, length?: number): CreateInstallTermaPullRequestsRequest {
2721
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
2722
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
2723
+ if (previousRecursionDepth >= 100) {
2724
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
2725
+ }
2726
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
2727
+ try {
2728
+ const end = length === undefined ? reader.len : reader.pos + length;
2729
+ const message = createBaseCreateInstallTermaPullRequestsRequest();
2730
+ while (reader.pos < end) {
2731
+ const tag = reader.uint32();
2732
+ switch (tag >>> 3) {
2733
+ case 1: {
2734
+ if (tag !== 10) {
2735
+ break;
2736
+ }
2700
2737
 
2701
- CompleteGitHubConnection(request: GitHubCompleteRequest, metadata?: Metadata): Promise<GitHubStatusResponse> {
2702
- const data = GitHubCompleteRequest.encode(request).finish();
2703
- const promise = this.rpc.request(this.service, "CompleteGitHubConnection", data, metadata);
2704
- return promise.then((data) => GitHubStatusResponse.decode(new BinaryReader(data)));
2705
- }
2738
+ message.organizationId = reader.string();
2739
+ continue;
2740
+ }
2741
+ case 2: {
2742
+ if (tag !== 18) {
2743
+ break;
2744
+ }
2706
2745
 
2707
- DisconnectGitHubConnection(request: GitHubDisconnectRequest, metadata?: Metadata): Promise<GitHubEmptyResponse> {
2708
- const data = GitHubDisconnectRequest.encode(request).finish();
2709
- const promise = this.rpc.request(this.service, "DisconnectGitHubConnection", data, metadata);
2710
- return promise.then((data) => GitHubEmptyResponse.decode(new BinaryReader(data)));
2711
- }
2746
+ message.projectId = reader.string();
2747
+ continue;
2748
+ }
2749
+ case 3: {
2750
+ if (tag !== 26) {
2751
+ break;
2752
+ }
2712
2753
 
2713
- ListGitHubRepositories(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubRepositoriesResponse> {
2714
- const data = GitHubScopeRequest.encode(request).finish();
2715
- const promise = this.rpc.request(this.service, "ListGitHubRepositories", data, metadata);
2716
- return promise.then((data) => GitHubRepositoriesResponse.decode(new BinaryReader(data)));
2717
- }
2754
+ message.repositories.push(reader.string());
2755
+ continue;
2756
+ }
2757
+ }
2758
+ if ((tag & 7) === 4 || tag === 0) {
2759
+ break;
2760
+ }
2761
+ reader.skip(tag & 7);
2762
+ }
2763
+ return message;
2764
+ } finally {
2765
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
2766
+ }
2767
+ },
2718
2768
 
2719
- ListGitHubPullRequests(request: GitHubPullRequestsRequest, metadata?: Metadata): Promise<GitHubPullRequestsResponse> {
2720
- const data = GitHubPullRequestsRequest.encode(request).finish();
2721
- const promise = this.rpc.request(this.service, "ListGitHubPullRequests", data, metadata);
2722
- return promise.then((data) => GitHubPullRequestsResponse.decode(new BinaryReader(data)));
2723
- }
2769
+ fromJSON(object: any): CreateInstallTermaPullRequestsRequest {
2770
+ return {
2771
+ organizationId: isSet(object.organizationId)
2772
+ ? globalThis.String(object.organizationId)
2773
+ : isSet(object.organization_id)
2774
+ ? globalThis.String(object.organization_id)
2775
+ : "",
2776
+ projectId: isSet(object.projectId)
2777
+ ? globalThis.String(object.projectId)
2778
+ : isSet(object.project_id)
2779
+ ? globalThis.String(object.project_id)
2780
+ : "",
2781
+ repositories: globalThis.Array.isArray(object?.repositories)
2782
+ ? object.repositories.map((e: any) => globalThis.String(e))
2783
+ : [],
2784
+ };
2785
+ },
2724
2786
 
2725
- ListGitHubIssues(request: GitHubIssuesRequest, metadata?: Metadata): Promise<GitHubIssuesResponse> {
2726
- const data = GitHubIssuesRequest.encode(request).finish();
2727
- const promise = this.rpc.request(this.service, "ListGitHubIssues", data, metadata);
2728
- return promise.then((data) => GitHubIssuesResponse.decode(new BinaryReader(data)));
2729
- }
2787
+ toJSON(message: CreateInstallTermaPullRequestsRequest): unknown {
2788
+ const obj: any = {};
2789
+ if (message.organizationId !== "") {
2790
+ obj.organizationId = message.organizationId;
2791
+ }
2792
+ if (message.projectId !== "") {
2793
+ obj.projectId = message.projectId;
2794
+ }
2795
+ if (message.repositories?.length) {
2796
+ obj.repositories = message.repositories;
2797
+ }
2798
+ return obj;
2799
+ },
2730
2800
 
2731
- ListGitHubFiles(request: GitHubFilesRequest, metadata?: Metadata): Promise<GitHubFilesResponse> {
2732
- const data = GitHubFilesRequest.encode(request).finish();
2733
- const promise = this.rpc.request(this.service, "ListGitHubFiles", data, metadata);
2734
- return promise.then((data) => GitHubFilesResponse.decode(new BinaryReader(data)));
2801
+ create<I extends Exact<DeepPartial<CreateInstallTermaPullRequestsRequest>, I>>(
2802
+ base?: I,
2803
+ ): CreateInstallTermaPullRequestsRequest {
2804
+ return CreateInstallTermaPullRequestsRequest.fromPartial(base ?? ({} as any));
2805
+ },
2806
+ fromPartial<I extends Exact<DeepPartial<CreateInstallTermaPullRequestsRequest>, I>>(
2807
+ object: I,
2808
+ ): CreateInstallTermaPullRequestsRequest {
2809
+ const message = createBaseCreateInstallTermaPullRequestsRequest();
2810
+ message.organizationId = object.organizationId ?? "";
2811
+ message.projectId = object.projectId ?? "";
2812
+ message.repositories = object.repositories?.map((e) => e) || [];
2813
+ return message;
2814
+ },
2815
+ };
2816
+
2817
+ function createBaseInstallTermaPullRequestResult(): InstallTermaPullRequestResult {
2818
+ return { repository: "", number: 0, url: "", errorMessage: "", alreadyInstalled: false };
2819
+ }
2820
+
2821
+ export const InstallTermaPullRequestResult: MessageFns<InstallTermaPullRequestResult> = {
2822
+ encode(message: InstallTermaPullRequestResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
2823
+ if (message.repository !== "") {
2824
+ writer.uint32(10).string(message.repository);
2825
+ }
2826
+ if (message.number !== 0) {
2827
+ writer.uint32(16).int64(message.number);
2828
+ }
2829
+ if (message.url !== "") {
2830
+ writer.uint32(26).string(message.url);
2831
+ }
2832
+ if (message.errorMessage !== "") {
2833
+ writer.uint32(34).string(message.errorMessage);
2834
+ }
2835
+ if (message.alreadyInstalled !== false) {
2836
+ writer.uint32(40).bool(message.alreadyInstalled);
2837
+ }
2838
+ return writer;
2839
+ },
2840
+
2841
+ decode(input: BinaryReader | Uint8Array, length?: number): InstallTermaPullRequestResult {
2842
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
2843
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
2844
+ if (previousRecursionDepth >= 100) {
2845
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
2846
+ }
2847
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
2848
+ try {
2849
+ const end = length === undefined ? reader.len : reader.pos + length;
2850
+ const message = createBaseInstallTermaPullRequestResult();
2851
+ while (reader.pos < end) {
2852
+ const tag = reader.uint32();
2853
+ switch (tag >>> 3) {
2854
+ case 1: {
2855
+ if (tag !== 10) {
2856
+ break;
2857
+ }
2858
+
2859
+ message.repository = reader.string();
2860
+ continue;
2861
+ }
2862
+ case 2: {
2863
+ if (tag !== 16) {
2864
+ break;
2865
+ }
2866
+
2867
+ message.number = longToNumber(reader.int64());
2868
+ continue;
2869
+ }
2870
+ case 3: {
2871
+ if (tag !== 26) {
2872
+ break;
2873
+ }
2874
+
2875
+ message.url = reader.string();
2876
+ continue;
2877
+ }
2878
+ case 4: {
2879
+ if (tag !== 34) {
2880
+ break;
2881
+ }
2882
+
2883
+ message.errorMessage = reader.string();
2884
+ continue;
2885
+ }
2886
+ case 5: {
2887
+ if (tag !== 40) {
2888
+ break;
2889
+ }
2890
+
2891
+ message.alreadyInstalled = reader.bool();
2892
+ continue;
2893
+ }
2894
+ }
2895
+ if ((tag & 7) === 4 || tag === 0) {
2896
+ break;
2897
+ }
2898
+ reader.skip(tag & 7);
2899
+ }
2900
+ return message;
2901
+ } finally {
2902
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
2903
+ }
2904
+ },
2905
+
2906
+ fromJSON(object: any): InstallTermaPullRequestResult {
2907
+ return {
2908
+ repository: isSet(object.repository) ? globalThis.String(object.repository) : "",
2909
+ number: isSet(object.number) ? globalThis.Number(object.number) : 0,
2910
+ url: isSet(object.url) ? globalThis.String(object.url) : "",
2911
+ errorMessage: isSet(object.errorMessage)
2912
+ ? globalThis.String(object.errorMessage)
2913
+ : isSet(object.error_message)
2914
+ ? globalThis.String(object.error_message)
2915
+ : "",
2916
+ alreadyInstalled: isSet(object.alreadyInstalled)
2917
+ ? globalThis.Boolean(object.alreadyInstalled)
2918
+ : isSet(object.already_installed)
2919
+ ? globalThis.Boolean(object.already_installed)
2920
+ : false,
2921
+ };
2922
+ },
2923
+
2924
+ toJSON(message: InstallTermaPullRequestResult): unknown {
2925
+ const obj: any = {};
2926
+ if (message.repository !== "") {
2927
+ obj.repository = message.repository;
2928
+ }
2929
+ if (message.number !== 0) {
2930
+ obj.number = Math.round(message.number);
2931
+ }
2932
+ if (message.url !== "") {
2933
+ obj.url = message.url;
2934
+ }
2935
+ if (message.errorMessage !== "") {
2936
+ obj.errorMessage = message.errorMessage;
2937
+ }
2938
+ if (message.alreadyInstalled !== false) {
2939
+ obj.alreadyInstalled = message.alreadyInstalled;
2940
+ }
2941
+ return obj;
2942
+ },
2943
+
2944
+ create<I extends Exact<DeepPartial<InstallTermaPullRequestResult>, I>>(base?: I): InstallTermaPullRequestResult {
2945
+ return InstallTermaPullRequestResult.fromPartial(base ?? ({} as any));
2946
+ },
2947
+ fromPartial<I extends Exact<DeepPartial<InstallTermaPullRequestResult>, I>>(
2948
+ object: I,
2949
+ ): InstallTermaPullRequestResult {
2950
+ const message = createBaseInstallTermaPullRequestResult();
2951
+ message.repository = object.repository ?? "";
2952
+ message.number = object.number ?? 0;
2953
+ message.url = object.url ?? "";
2954
+ message.errorMessage = object.errorMessage ?? "";
2955
+ message.alreadyInstalled = object.alreadyInstalled ?? false;
2956
+ return message;
2957
+ },
2958
+ };
2959
+
2960
+ function createBaseCreateInstallTermaPullRequestsResponse(): CreateInstallTermaPullRequestsResponse {
2961
+ return { status: undefined, results: [] };
2962
+ }
2963
+
2964
+ export const CreateInstallTermaPullRequestsResponse: MessageFns<CreateInstallTermaPullRequestsResponse> = {
2965
+ encode(message: CreateInstallTermaPullRequestsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
2966
+ if (message.status !== undefined) {
2967
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
2968
+ }
2969
+ for (const v of message.results) {
2970
+ InstallTermaPullRequestResult.encode(v!, writer.uint32(18).fork()).join();
2971
+ }
2972
+ return writer;
2973
+ },
2974
+
2975
+ decode(input: BinaryReader | Uint8Array, length?: number): CreateInstallTermaPullRequestsResponse {
2976
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
2977
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
2978
+ if (previousRecursionDepth >= 100) {
2979
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
2980
+ }
2981
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
2982
+ try {
2983
+ const end = length === undefined ? reader.len : reader.pos + length;
2984
+ const message = createBaseCreateInstallTermaPullRequestsResponse();
2985
+ while (reader.pos < end) {
2986
+ const tag = reader.uint32();
2987
+ switch (tag >>> 3) {
2988
+ case 1: {
2989
+ if (tag !== 10) {
2990
+ break;
2991
+ }
2992
+
2993
+ message.status = ResponseStatus.decode(reader, reader.uint32());
2994
+ continue;
2995
+ }
2996
+ case 2: {
2997
+ if (tag !== 18) {
2998
+ break;
2999
+ }
3000
+
3001
+ message.results.push(InstallTermaPullRequestResult.decode(reader, reader.uint32()));
3002
+ continue;
3003
+ }
3004
+ }
3005
+ if ((tag & 7) === 4 || tag === 0) {
3006
+ break;
3007
+ }
3008
+ reader.skip(tag & 7);
3009
+ }
3010
+ return message;
3011
+ } finally {
3012
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
3013
+ }
3014
+ },
3015
+
3016
+ fromJSON(object: any): CreateInstallTermaPullRequestsResponse {
3017
+ return {
3018
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
3019
+ results: globalThis.Array.isArray(object?.results)
3020
+ ? object.results.map((e: any) => InstallTermaPullRequestResult.fromJSON(e))
3021
+ : [],
3022
+ };
3023
+ },
3024
+
3025
+ toJSON(message: CreateInstallTermaPullRequestsResponse): unknown {
3026
+ const obj: any = {};
3027
+ if (message.status !== undefined) {
3028
+ obj.status = ResponseStatus.toJSON(message.status);
3029
+ }
3030
+ if (message.results?.length) {
3031
+ obj.results = message.results.map((e) => InstallTermaPullRequestResult.toJSON(e));
3032
+ }
3033
+ return obj;
3034
+ },
3035
+
3036
+ create<I extends Exact<DeepPartial<CreateInstallTermaPullRequestsResponse>, I>>(
3037
+ base?: I,
3038
+ ): CreateInstallTermaPullRequestsResponse {
3039
+ return CreateInstallTermaPullRequestsResponse.fromPartial(base ?? ({} as any));
3040
+ },
3041
+ fromPartial<I extends Exact<DeepPartial<CreateInstallTermaPullRequestsResponse>, I>>(
3042
+ object: I,
3043
+ ): CreateInstallTermaPullRequestsResponse {
3044
+ const message = createBaseCreateInstallTermaPullRequestsResponse();
3045
+ message.status = (object.status !== undefined && object.status !== null)
3046
+ ? ResponseStatus.fromPartial(object.status)
3047
+ : undefined;
3048
+ message.results = object.results?.map((e) => InstallTermaPullRequestResult.fromPartial(e)) || [];
3049
+ return message;
3050
+ },
3051
+ };
3052
+
3053
+ function createBaseListInstallTermaPullRequestsRequest(): ListInstallTermaPullRequestsRequest {
3054
+ return { organizationId: "", projectId: "" };
3055
+ }
3056
+
3057
+ export const ListInstallTermaPullRequestsRequest: MessageFns<ListInstallTermaPullRequestsRequest> = {
3058
+ encode(message: ListInstallTermaPullRequestsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
3059
+ if (message.organizationId !== "") {
3060
+ writer.uint32(10).string(message.organizationId);
3061
+ }
3062
+ if (message.projectId !== "") {
3063
+ writer.uint32(18).string(message.projectId);
3064
+ }
3065
+ return writer;
3066
+ },
3067
+
3068
+ decode(input: BinaryReader | Uint8Array, length?: number): ListInstallTermaPullRequestsRequest {
3069
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3070
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
3071
+ if (previousRecursionDepth >= 100) {
3072
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3073
+ }
3074
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
3075
+ try {
3076
+ const end = length === undefined ? reader.len : reader.pos + length;
3077
+ const message = createBaseListInstallTermaPullRequestsRequest();
3078
+ while (reader.pos < end) {
3079
+ const tag = reader.uint32();
3080
+ switch (tag >>> 3) {
3081
+ case 1: {
3082
+ if (tag !== 10) {
3083
+ break;
3084
+ }
3085
+
3086
+ message.organizationId = reader.string();
3087
+ continue;
3088
+ }
3089
+ case 2: {
3090
+ if (tag !== 18) {
3091
+ break;
3092
+ }
3093
+
3094
+ message.projectId = reader.string();
3095
+ continue;
3096
+ }
3097
+ }
3098
+ if ((tag & 7) === 4 || tag === 0) {
3099
+ break;
3100
+ }
3101
+ reader.skip(tag & 7);
3102
+ }
3103
+ return message;
3104
+ } finally {
3105
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
3106
+ }
3107
+ },
3108
+
3109
+ fromJSON(object: any): ListInstallTermaPullRequestsRequest {
3110
+ return {
3111
+ organizationId: isSet(object.organizationId)
3112
+ ? globalThis.String(object.organizationId)
3113
+ : isSet(object.organization_id)
3114
+ ? globalThis.String(object.organization_id)
3115
+ : "",
3116
+ projectId: isSet(object.projectId)
3117
+ ? globalThis.String(object.projectId)
3118
+ : isSet(object.project_id)
3119
+ ? globalThis.String(object.project_id)
3120
+ : "",
3121
+ };
3122
+ },
3123
+
3124
+ toJSON(message: ListInstallTermaPullRequestsRequest): unknown {
3125
+ const obj: any = {};
3126
+ if (message.organizationId !== "") {
3127
+ obj.organizationId = message.organizationId;
3128
+ }
3129
+ if (message.projectId !== "") {
3130
+ obj.projectId = message.projectId;
3131
+ }
3132
+ return obj;
3133
+ },
3134
+
3135
+ create<I extends Exact<DeepPartial<ListInstallTermaPullRequestsRequest>, I>>(
3136
+ base?: I,
3137
+ ): ListInstallTermaPullRequestsRequest {
3138
+ return ListInstallTermaPullRequestsRequest.fromPartial(base ?? ({} as any));
3139
+ },
3140
+ fromPartial<I extends Exact<DeepPartial<ListInstallTermaPullRequestsRequest>, I>>(
3141
+ object: I,
3142
+ ): ListInstallTermaPullRequestsRequest {
3143
+ const message = createBaseListInstallTermaPullRequestsRequest();
3144
+ message.organizationId = object.organizationId ?? "";
3145
+ message.projectId = object.projectId ?? "";
3146
+ return message;
3147
+ },
3148
+ };
3149
+
3150
+ function createBaseInstallTermaPullRequest(): InstallTermaPullRequest {
3151
+ return { repository: "", number: 0, url: "", state: "", updatedAt: "" };
3152
+ }
3153
+
3154
+ export const InstallTermaPullRequest: MessageFns<InstallTermaPullRequest> = {
3155
+ encode(message: InstallTermaPullRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
3156
+ if (message.repository !== "") {
3157
+ writer.uint32(10).string(message.repository);
3158
+ }
3159
+ if (message.number !== 0) {
3160
+ writer.uint32(16).int64(message.number);
3161
+ }
3162
+ if (message.url !== "") {
3163
+ writer.uint32(26).string(message.url);
3164
+ }
3165
+ if (message.state !== "") {
3166
+ writer.uint32(34).string(message.state);
3167
+ }
3168
+ if (message.updatedAt !== "") {
3169
+ writer.uint32(42).string(message.updatedAt);
3170
+ }
3171
+ return writer;
3172
+ },
3173
+
3174
+ decode(input: BinaryReader | Uint8Array, length?: number): InstallTermaPullRequest {
3175
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3176
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
3177
+ if (previousRecursionDepth >= 100) {
3178
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3179
+ }
3180
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
3181
+ try {
3182
+ const end = length === undefined ? reader.len : reader.pos + length;
3183
+ const message = createBaseInstallTermaPullRequest();
3184
+ while (reader.pos < end) {
3185
+ const tag = reader.uint32();
3186
+ switch (tag >>> 3) {
3187
+ case 1: {
3188
+ if (tag !== 10) {
3189
+ break;
3190
+ }
3191
+
3192
+ message.repository = reader.string();
3193
+ continue;
3194
+ }
3195
+ case 2: {
3196
+ if (tag !== 16) {
3197
+ break;
3198
+ }
3199
+
3200
+ message.number = longToNumber(reader.int64());
3201
+ continue;
3202
+ }
3203
+ case 3: {
3204
+ if (tag !== 26) {
3205
+ break;
3206
+ }
3207
+
3208
+ message.url = reader.string();
3209
+ continue;
3210
+ }
3211
+ case 4: {
3212
+ if (tag !== 34) {
3213
+ break;
3214
+ }
3215
+
3216
+ message.state = reader.string();
3217
+ continue;
3218
+ }
3219
+ case 5: {
3220
+ if (tag !== 42) {
3221
+ break;
3222
+ }
3223
+
3224
+ message.updatedAt = reader.string();
3225
+ continue;
3226
+ }
3227
+ }
3228
+ if ((tag & 7) === 4 || tag === 0) {
3229
+ break;
3230
+ }
3231
+ reader.skip(tag & 7);
3232
+ }
3233
+ return message;
3234
+ } finally {
3235
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
3236
+ }
3237
+ },
3238
+
3239
+ fromJSON(object: any): InstallTermaPullRequest {
3240
+ return {
3241
+ repository: isSet(object.repository) ? globalThis.String(object.repository) : "",
3242
+ number: isSet(object.number) ? globalThis.Number(object.number) : 0,
3243
+ url: isSet(object.url) ? globalThis.String(object.url) : "",
3244
+ state: isSet(object.state) ? globalThis.String(object.state) : "",
3245
+ updatedAt: isSet(object.updatedAt)
3246
+ ? globalThis.String(object.updatedAt)
3247
+ : isSet(object.updated_at)
3248
+ ? globalThis.String(object.updated_at)
3249
+ : "",
3250
+ };
3251
+ },
3252
+
3253
+ toJSON(message: InstallTermaPullRequest): unknown {
3254
+ const obj: any = {};
3255
+ if (message.repository !== "") {
3256
+ obj.repository = message.repository;
3257
+ }
3258
+ if (message.number !== 0) {
3259
+ obj.number = Math.round(message.number);
3260
+ }
3261
+ if (message.url !== "") {
3262
+ obj.url = message.url;
3263
+ }
3264
+ if (message.state !== "") {
3265
+ obj.state = message.state;
3266
+ }
3267
+ if (message.updatedAt !== "") {
3268
+ obj.updatedAt = message.updatedAt;
3269
+ }
3270
+ return obj;
3271
+ },
3272
+
3273
+ create<I extends Exact<DeepPartial<InstallTermaPullRequest>, I>>(base?: I): InstallTermaPullRequest {
3274
+ return InstallTermaPullRequest.fromPartial(base ?? ({} as any));
3275
+ },
3276
+ fromPartial<I extends Exact<DeepPartial<InstallTermaPullRequest>, I>>(object: I): InstallTermaPullRequest {
3277
+ const message = createBaseInstallTermaPullRequest();
3278
+ message.repository = object.repository ?? "";
3279
+ message.number = object.number ?? 0;
3280
+ message.url = object.url ?? "";
3281
+ message.state = object.state ?? "";
3282
+ message.updatedAt = object.updatedAt ?? "";
3283
+ return message;
3284
+ },
3285
+ };
3286
+
3287
+ function createBaseListInstallTermaPullRequestsResponse(): ListInstallTermaPullRequestsResponse {
3288
+ return { status: undefined, pullRequests: [] };
3289
+ }
3290
+
3291
+ export const ListInstallTermaPullRequestsResponse: MessageFns<ListInstallTermaPullRequestsResponse> = {
3292
+ encode(message: ListInstallTermaPullRequestsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
3293
+ if (message.status !== undefined) {
3294
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
3295
+ }
3296
+ for (const v of message.pullRequests) {
3297
+ InstallTermaPullRequest.encode(v!, writer.uint32(18).fork()).join();
3298
+ }
3299
+ return writer;
3300
+ },
3301
+
3302
+ decode(input: BinaryReader | Uint8Array, length?: number): ListInstallTermaPullRequestsResponse {
3303
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3304
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
3305
+ if (previousRecursionDepth >= 100) {
3306
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3307
+ }
3308
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
3309
+ try {
3310
+ const end = length === undefined ? reader.len : reader.pos + length;
3311
+ const message = createBaseListInstallTermaPullRequestsResponse();
3312
+ while (reader.pos < end) {
3313
+ const tag = reader.uint32();
3314
+ switch (tag >>> 3) {
3315
+ case 1: {
3316
+ if (tag !== 10) {
3317
+ break;
3318
+ }
3319
+
3320
+ message.status = ResponseStatus.decode(reader, reader.uint32());
3321
+ continue;
3322
+ }
3323
+ case 2: {
3324
+ if (tag !== 18) {
3325
+ break;
3326
+ }
3327
+
3328
+ message.pullRequests.push(InstallTermaPullRequest.decode(reader, reader.uint32()));
3329
+ continue;
3330
+ }
3331
+ }
3332
+ if ((tag & 7) === 4 || tag === 0) {
3333
+ break;
3334
+ }
3335
+ reader.skip(tag & 7);
3336
+ }
3337
+ return message;
3338
+ } finally {
3339
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
3340
+ }
3341
+ },
3342
+
3343
+ fromJSON(object: any): ListInstallTermaPullRequestsResponse {
3344
+ return {
3345
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
3346
+ pullRequests: globalThis.Array.isArray(object?.pullRequests)
3347
+ ? object.pullRequests.map((e: any) => InstallTermaPullRequest.fromJSON(e))
3348
+ : globalThis.Array.isArray(object?.pull_requests)
3349
+ ? object.pull_requests.map((e: any) => InstallTermaPullRequest.fromJSON(e))
3350
+ : [],
3351
+ };
3352
+ },
3353
+
3354
+ toJSON(message: ListInstallTermaPullRequestsResponse): unknown {
3355
+ const obj: any = {};
3356
+ if (message.status !== undefined) {
3357
+ obj.status = ResponseStatus.toJSON(message.status);
3358
+ }
3359
+ if (message.pullRequests?.length) {
3360
+ obj.pullRequests = message.pullRequests.map((e) => InstallTermaPullRequest.toJSON(e));
3361
+ }
3362
+ return obj;
3363
+ },
3364
+
3365
+ create<I extends Exact<DeepPartial<ListInstallTermaPullRequestsResponse>, I>>(
3366
+ base?: I,
3367
+ ): ListInstallTermaPullRequestsResponse {
3368
+ return ListInstallTermaPullRequestsResponse.fromPartial(base ?? ({} as any));
3369
+ },
3370
+ fromPartial<I extends Exact<DeepPartial<ListInstallTermaPullRequestsResponse>, I>>(
3371
+ object: I,
3372
+ ): ListInstallTermaPullRequestsResponse {
3373
+ const message = createBaseListInstallTermaPullRequestsResponse();
3374
+ message.status = (object.status !== undefined && object.status !== null)
3375
+ ? ResponseStatus.fromPartial(object.status)
3376
+ : undefined;
3377
+ message.pullRequests = object.pullRequests?.map((e) => InstallTermaPullRequest.fromPartial(e)) || [];
3378
+ return message;
3379
+ },
3380
+ };
3381
+
3382
+ /**
3383
+ * One GitHub App connection per organization. Credentials never leave the
3384
+ * account service; installation tokens are minted on demand and never stored.
3385
+ */
3386
+ export interface GitHubGatewayService {
3387
+ GetGitHubConnector(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubStatusResponse>;
3388
+ BeginGitHubConnection(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubBeginResponse>;
3389
+ CompleteGitHubConnection(request: GitHubCompleteRequest, metadata?: Metadata): Promise<GitHubStatusResponse>;
3390
+ DisconnectGitHubConnection(request: GitHubDisconnectRequest, metadata?: Metadata): Promise<GitHubEmptyResponse>;
3391
+ ListGitHubRepositories(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubRepositoriesResponse>;
3392
+ ListGitHubPullRequests(request: GitHubPullRequestsRequest, metadata?: Metadata): Promise<GitHubPullRequestsResponse>;
3393
+ ListGitHubIssues(request: GitHubIssuesRequest, metadata?: Metadata): Promise<GitHubIssuesResponse>;
3394
+ ListGitHubFiles(request: GitHubFilesRequest, metadata?: Metadata): Promise<GitHubFilesResponse>;
3395
+ /** Org admins only. Opens one pull request per repository that sets Terma up for the team. */
3396
+ CreateInstallTermaPullRequests(
3397
+ request: CreateInstallTermaPullRequestsRequest,
3398
+ metadata?: Metadata,
3399
+ ): Promise<CreateInstallTermaPullRequestsResponse>;
3400
+ /**
3401
+ * Org members. Every setup pull request Terma opened for the team on GitHub, open, merged or closed (a repository can
3402
+ * have several over time), most recently updated first.
3403
+ */
3404
+ ListInstallTermaPullRequests(
3405
+ request: ListInstallTermaPullRequestsRequest,
3406
+ metadata?: Metadata,
3407
+ ): Promise<ListInstallTermaPullRequestsResponse>;
3408
+ ReceiveGitHubWebhook(request: GitHubWebhookRequest, metadata?: Metadata): Promise<GitHubEmptyResponse>;
3409
+ }
3410
+
3411
+ export const GitHubGatewayServiceServiceName = "gateway.web.v1.GitHubGatewayService";
3412
+ export class GitHubGatewayServiceClientImpl implements GitHubGatewayService {
3413
+ private readonly rpc: Rpc;
3414
+ private readonly service: string;
3415
+ constructor(rpc: Rpc, opts?: { service?: string }) {
3416
+ this.service = opts?.service || GitHubGatewayServiceServiceName;
3417
+ this.rpc = rpc;
3418
+ this.GetGitHubConnector = this.GetGitHubConnector.bind(this);
3419
+ this.BeginGitHubConnection = this.BeginGitHubConnection.bind(this);
3420
+ this.CompleteGitHubConnection = this.CompleteGitHubConnection.bind(this);
3421
+ this.DisconnectGitHubConnection = this.DisconnectGitHubConnection.bind(this);
3422
+ this.ListGitHubRepositories = this.ListGitHubRepositories.bind(this);
3423
+ this.ListGitHubPullRequests = this.ListGitHubPullRequests.bind(this);
3424
+ this.ListGitHubIssues = this.ListGitHubIssues.bind(this);
3425
+ this.ListGitHubFiles = this.ListGitHubFiles.bind(this);
3426
+ this.CreateInstallTermaPullRequests = this.CreateInstallTermaPullRequests.bind(this);
3427
+ this.ListInstallTermaPullRequests = this.ListInstallTermaPullRequests.bind(this);
3428
+ this.ReceiveGitHubWebhook = this.ReceiveGitHubWebhook.bind(this);
3429
+ }
3430
+ GetGitHubConnector(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubStatusResponse> {
3431
+ const data = GitHubScopeRequest.encode(request).finish();
3432
+ const promise = this.rpc.request(this.service, "GetGitHubConnector", data, metadata);
3433
+ return promise.then((data) => GitHubStatusResponse.decode(new BinaryReader(data)));
3434
+ }
3435
+
3436
+ BeginGitHubConnection(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubBeginResponse> {
3437
+ const data = GitHubScopeRequest.encode(request).finish();
3438
+ const promise = this.rpc.request(this.service, "BeginGitHubConnection", data, metadata);
3439
+ return promise.then((data) => GitHubBeginResponse.decode(new BinaryReader(data)));
3440
+ }
3441
+
3442
+ CompleteGitHubConnection(request: GitHubCompleteRequest, metadata?: Metadata): Promise<GitHubStatusResponse> {
3443
+ const data = GitHubCompleteRequest.encode(request).finish();
3444
+ const promise = this.rpc.request(this.service, "CompleteGitHubConnection", data, metadata);
3445
+ return promise.then((data) => GitHubStatusResponse.decode(new BinaryReader(data)));
3446
+ }
3447
+
3448
+ DisconnectGitHubConnection(request: GitHubDisconnectRequest, metadata?: Metadata): Promise<GitHubEmptyResponse> {
3449
+ const data = GitHubDisconnectRequest.encode(request).finish();
3450
+ const promise = this.rpc.request(this.service, "DisconnectGitHubConnection", data, metadata);
3451
+ return promise.then((data) => GitHubEmptyResponse.decode(new BinaryReader(data)));
3452
+ }
3453
+
3454
+ ListGitHubRepositories(request: GitHubScopeRequest, metadata?: Metadata): Promise<GitHubRepositoriesResponse> {
3455
+ const data = GitHubScopeRequest.encode(request).finish();
3456
+ const promise = this.rpc.request(this.service, "ListGitHubRepositories", data, metadata);
3457
+ return promise.then((data) => GitHubRepositoriesResponse.decode(new BinaryReader(data)));
3458
+ }
3459
+
3460
+ ListGitHubPullRequests(request: GitHubPullRequestsRequest, metadata?: Metadata): Promise<GitHubPullRequestsResponse> {
3461
+ const data = GitHubPullRequestsRequest.encode(request).finish();
3462
+ const promise = this.rpc.request(this.service, "ListGitHubPullRequests", data, metadata);
3463
+ return promise.then((data) => GitHubPullRequestsResponse.decode(new BinaryReader(data)));
3464
+ }
3465
+
3466
+ ListGitHubIssues(request: GitHubIssuesRequest, metadata?: Metadata): Promise<GitHubIssuesResponse> {
3467
+ const data = GitHubIssuesRequest.encode(request).finish();
3468
+ const promise = this.rpc.request(this.service, "ListGitHubIssues", data, metadata);
3469
+ return promise.then((data) => GitHubIssuesResponse.decode(new BinaryReader(data)));
3470
+ }
3471
+
3472
+ ListGitHubFiles(request: GitHubFilesRequest, metadata?: Metadata): Promise<GitHubFilesResponse> {
3473
+ const data = GitHubFilesRequest.encode(request).finish();
3474
+ const promise = this.rpc.request(this.service, "ListGitHubFiles", data, metadata);
3475
+ return promise.then((data) => GitHubFilesResponse.decode(new BinaryReader(data)));
3476
+ }
3477
+
3478
+ CreateInstallTermaPullRequests(
3479
+ request: CreateInstallTermaPullRequestsRequest,
3480
+ metadata?: Metadata,
3481
+ ): Promise<CreateInstallTermaPullRequestsResponse> {
3482
+ const data = CreateInstallTermaPullRequestsRequest.encode(request).finish();
3483
+ const promise = this.rpc.request(this.service, "CreateInstallTermaPullRequests", data, metadata);
3484
+ return promise.then((data) => CreateInstallTermaPullRequestsResponse.decode(new BinaryReader(data)));
3485
+ }
3486
+
3487
+ ListInstallTermaPullRequests(
3488
+ request: ListInstallTermaPullRequestsRequest,
3489
+ metadata?: Metadata,
3490
+ ): Promise<ListInstallTermaPullRequestsResponse> {
3491
+ const data = ListInstallTermaPullRequestsRequest.encode(request).finish();
3492
+ const promise = this.rpc.request(this.service, "ListInstallTermaPullRequests", data, metadata);
3493
+ return promise.then((data) => ListInstallTermaPullRequestsResponse.decode(new BinaryReader(data)));
2735
3494
  }
2736
3495
 
2737
3496
  ReceiveGitHubWebhook(request: GitHubWebhookRequest, metadata?: Metadata): Promise<GitHubEmptyResponse> {