refactoring plan
This commit is contained in:
parent
7ae1cdda9f
commit
4c38cc4f5c
20
app/app.go
20
app/app.go
@ -148,6 +148,7 @@ func New(ctx context.Context, options interface{}) (appInit.CommonApp, error) {
|
||||
return nil
|
||||
})
|
||||
|
||||
// TODO: remove roles logic from project
|
||||
// Start Roles
|
||||
roles, err := role.NewRoles(ctx, hlogger, role.MongoDalOptions{
|
||||
DalName: "MongoRoles",
|
||||
@ -160,9 +161,10 @@ func New(ctx context.Context, options interface{}) (appInit.CommonApp, error) {
|
||||
}
|
||||
|
||||
// Set routers
|
||||
// TODO: remove
|
||||
validators := h.CreateValidators(
|
||||
&h.RequestCreatePayment{},
|
||||
&h.RequestCreatePayout{},
|
||||
&h.RequestCreatePayout{},
|
||||
)
|
||||
|
||||
chCommon := h.CommonOpts{
|
||||
@ -170,7 +172,7 @@ func New(ctx context.Context, options interface{}) (appInit.CommonApp, error) {
|
||||
Mongo: connMongo,
|
||||
Hl: hlogger,
|
||||
}
|
||||
|
||||
// TODO: remove unnecessary with all usages
|
||||
crucsNotifier, err := tb.NewBot(tb.Settings{
|
||||
Token: "",
|
||||
Verbose: false,
|
||||
@ -183,6 +185,11 @@ func New(ctx context.Context, options interface{}) (appInit.CommonApp, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// TODO: use echo or gofiber. please remove this f*cking strange shit
|
||||
// TODO: actualise api for invoice and available methods
|
||||
// invoice используется для получения ссылки на оплату. по сути он выполняет 2 действия: складывает запись запроса в базу, чтобы хранились actions которые надо выполнить в ответ на события, и запросить у соответствующего платёжного сервиса правильную платёжную ссылку
|
||||
// TODO: для каждого платёжного аггрегатора надо реализовать хендлер типа /listener/{paywayId}, где paywayId - айди аггрегатора
|
||||
|
||||
router, svcRouter, allowedRoles := r.NewCombineRouter("", r.Handlers{
|
||||
"/listener/create/refill": {
|
||||
Handle: func(w http.ResponseWriter, r *http.Request) {
|
||||
@ -196,13 +203,13 @@ func New(ctx context.Context, options interface{}) (appInit.CommonApp, error) {
|
||||
h.CreatePayoutHandler(ch, payWay)
|
||||
},
|
||||
}, // pub 0b922668de7e440f263d36bf91c506d3 sek 82afd8dad1db3785d4a94e539e142a39
|
||||
"/listener/{payWay}": { // @TODO: изменить эндпоинт - иногда возникает баг когда не работают create/payout
|
||||
"/listener/{payWay}": {
|
||||
Handle: func(w http.ResponseWriter, r *http.Request) {
|
||||
ch := h.NewHandler(w, r, chCommon, validator.Validator{})
|
||||
h.PaymentListenerHandler(ch, payWay)
|
||||
},
|
||||
},
|
||||
"/payoutListener/{payWay}": {
|
||||
"/payoutListener/{payWay}": { //TODO: remove unnecessary
|
||||
Handle: func(w http.ResponseWriter, r *http.Request) {
|
||||
ch := h.NewHandler(w, r, chCommon, validator.Validator{})
|
||||
h.PayoutListenerHandler(ch, payWay)
|
||||
@ -216,6 +223,8 @@ func New(ctx context.Context, options interface{}) (appInit.CommonApp, error) {
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
// TODO: remove unnecessary
|
||||
// Set Middlewares
|
||||
mw := middleware.NewMiddleware(
|
||||
opts.IsProduction,
|
||||
@ -227,12 +236,15 @@ func New(ctx context.Context, options interface{}) (appInit.CommonApp, error) {
|
||||
opts.ExposeHeaders,
|
||||
)
|
||||
|
||||
|
||||
//TODO: remove unnecessary
|
||||
router.Use(
|
||||
mw.MiddlewareLogger,
|
||||
mw.MiddlewareOriginAccess,
|
||||
mw.MiddlewareRecovery,
|
||||
)
|
||||
|
||||
// TODO: remove unnecessary
|
||||
svcRouter.Use(
|
||||
//mw.MiddlewareJwtCookie,
|
||||
//mw.MiddlewareJwt,
|
||||
|
21
openapi.yaml
21
openapi.yaml
@ -7,6 +7,21 @@ info:
|
||||
tags:
|
||||
- name: pay
|
||||
paths:
|
||||
/available
|
||||
get:
|
||||
description: метод для получения списка доступных вариантов для оплаты
|
||||
tags:
|
||||
- pay
|
||||
responses:
|
||||
'200':
|
||||
description: список доступных вариантов оплаты
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
example: ["qiwi", "visa", "tinkoff"]
|
||||
items:
|
||||
type: string
|
||||
/invoice:
|
||||
post:
|
||||
description: метод для создания запроса на оплату
|
||||
@ -50,6 +65,10 @@ components:
|
||||
type: string
|
||||
example: "rub"
|
||||
description: валюта, в которой юзер хочет запросить деньги. Если для такой валюты нет платёжного решения, через переменные окружения должна передаваться дефолтная валюта, которая будет использоваться в таком случае
|
||||
payway:
|
||||
type: string
|
||||
example: "qiwi"
|
||||
description: платёжный метод, который хочет использовать пользователь для пополнения баланса
|
||||
additional:
|
||||
type: string
|
||||
example: "+79885895677"
|
||||
@ -81,4 +100,4 @@ components:
|
||||
data:
|
||||
type: string
|
||||
description: данные, которые надо передать. в условиях https запросов это json или query string
|
||||
example: "{\"some\":\"shit\"}"
|
||||
example: "{\"some\":\"shit\"}"
|
||||
|
Loading…
Reference in New Issue
Block a user