Skip to content

Commit

Permalink
Merge pull request #6 from Kyutech-C3/feat/auth-discord
Browse files Browse the repository at this point in the history
feat: implement /api/v1/auth/discord
  • Loading branch information
tosaken1116 authored Apr 6, 2024
2 parents 506f334 + 2f7e900 commit 41958ee
Show file tree
Hide file tree
Showing 6 changed files with 169 additions and 20 deletions.
28 changes: 25 additions & 3 deletions openapi/api_definition.swagger.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,40 @@
swagger: "2.0"
info:
title: proto/schema/auth/discord/callback/callback.proto
title: proto/schema/tags/tags.proto
version: version not set
tags:
- name: DiscordCallbackService
- name: TagsService
- name: TokenService
- name: DiscordService
- name: SignUpService
- name: TagsService
- name: DiscordCallbackService
- name: MeService
consumes:
- application/json
produces:
- application/json
paths:
/v1/auth/discord:
post:
operationId: DiscordService_GetDiscord
responses:
"200":
description: A successful response.
schema:
type: string
"422":
description: Validation Error
schema: {}
examples:
application/json:
detail:
- loc:
- string
- 0
msg: string
type: string
tags:
- DiscordService
/v1/auth/discord/callback:
get:
operationId: DiscordCallbackService_GetDiscordCallback
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,12 @@ syntax = "proto3";

package proto.schema.auth.discord.callback;

import "proto/schema/auth/discord/callback/rpc/callback.proto";
import "proto/schema/auth/discord/callback/resources/callback.proto";
import "proto/schema/auth/discord-callback/rpc/callback.proto";
import "proto/schema/auth/discord-callback/resources/callback.proto";

import "proto/third_party/google/api/annotations.proto";
import "proto/third_party/grpc/openapiv2/options/annotations.proto";
option go_package = "./";

option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
responses : {key : "422";
value : {
description:
"Validation Error" examples : {
key:
"application/json" value : "{\"detail\":[{\"loc\":[\"string\",0],\"msg\":"
"\"string\",\"type\":\"string\"}]}"
}
}
}
}
;
option go_package = "./";

message ErrorResponse {
int32 status = 1;
Expand Down
17 changes: 17 additions & 0 deletions proto/schema/auth/discord/discord.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
syntax = "proto3";

package proto.schema.auth.discord;

import "proto/third_party/google/api/annotations.proto";
import "proto/third_party/google/api/empty.proto";
import "proto/third_party/google/api/wrappers.proto";

option go_package = "./";

service DiscordService {
rpc GetDiscord(google.protobuf.Empty) returns (google.protobuf.StringValue) {
option (google.api.http) = {
post : "/v1/auth/discord"
};
};
}
123 changes: 123 additions & 0 deletions proto/third_party/google/api/wrappers.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Wrappers for primitive (non-message) types. These types are useful
// for embedding primitives in the `google.protobuf.Any` type and for places
// where we need to distinguish between the absence of a primitive
// typed field and its default value.
//
// These wrappers have no meaningful use within repeated fields as they lack
// the ability to detect presence on individual elements.
// These wrappers have no meaningful use within a map or a oneof since
// individual entries of a map or fields of a oneof can already detect presence.

syntax = "proto3";

package google.protobuf;

option cc_enable_arenas = true;
option go_package = "google.golang.org/protobuf/types/known/wrapperspb";
option java_package = "com.google.protobuf";
option java_outer_classname = "WrappersProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";

// Wrapper message for `double`.
//
// The JSON representation for `DoubleValue` is JSON number.
message DoubleValue {
// The double value.
double value = 1;
}

// Wrapper message for `float`.
//
// The JSON representation for `FloatValue` is JSON number.
message FloatValue {
// The float value.
float value = 1;
}

// Wrapper message for `int64`.
//
// The JSON representation for `Int64Value` is JSON string.
message Int64Value {
// The int64 value.
int64 value = 1;
}

// Wrapper message for `uint64`.
//
// The JSON representation for `UInt64Value` is JSON string.
message UInt64Value {
// The uint64 value.
uint64 value = 1;
}

// Wrapper message for `int32`.
//
// The JSON representation for `Int32Value` is JSON number.
message Int32Value {
// The int32 value.
int32 value = 1;
}

// Wrapper message for `uint32`.
//
// The JSON representation for `UInt32Value` is JSON number.
message UInt32Value {
// The uint32 value.
uint32 value = 1;
}

// Wrapper message for `bool`.
//
// The JSON representation for `BoolValue` is JSON `true` and `false`.
message BoolValue {
// The bool value.
bool value = 1;
}

// Wrapper message for `string`.
//
// The JSON representation for `StringValue` is JSON string.
message StringValue {
// The string value.
string value = 1;
}

// Wrapper message for `bytes`.
//
// The JSON representation for `BytesValue` is JSON string.
message BytesValue {
// The bytes value.
bytes value = 1;
}

0 comments on commit 41958ee

Please sign in to comment.