definitions: domain.BetStatus: enum: - 0 - 1 - 2 - 3 type: integer x-enum-varnames: - BET_STATUS_PENDING - BET_STATUS_WIN - BET_STATUS_LOSS - BET_STATUS_ERROR domain.Outcome: type: object domain.Role: enum: - admin - customer - super_admin - branch_manager - cashier type: string x-enum-varnames: - RoleAdmin - RoleCustomer - RoleSuperAdmin - RoleBranchManager - RoleCashier handlers.BetRes: properties: amount: example: 100 type: number branch_id: example: 2 type: integer full_name: example: John type: string id: example: 1 type: integer is_shop_bet: example: false type: boolean outcomes: items: $ref: '#/definitions/domain.Outcome' type: array phone_number: example: "1234567890" type: string status: allOf: - $ref: '#/definitions/domain.BetStatus' example: 1 total_odds: example: 4.22 type: number user_id: example: 2 type: integer type: object handlers.CheckPhoneEmailExistReq: properties: email: example: john.doe@example.com type: string phone_number: example: "1234567890" type: string type: object handlers.CheckPhoneEmailExistRes: properties: email_exist: type: boolean phone_number_exist: type: boolean type: object handlers.CreateBetReq: properties: amount: example: 100 type: number full_name: example: John type: string is_shop_bet: example: false type: boolean outcomes: items: type: integer type: array phone_number: example: "1234567890" type: string status: allOf: - $ref: '#/definitions/domain.BetStatus' example: 1 total_odds: example: 4.22 type: number type: object handlers.CreateTicketReq: properties: amount: example: 100 type: number outcomes: items: type: integer type: array total_odds: example: 4.22 type: number type: object handlers.CreateTicketRes: properties: fast_code: example: 1234 type: integer type: object handlers.RegisterCodeReq: properties: email: example: john.doe@example.com type: string phone_number: example: "1234567890" type: string type: object handlers.RegisterUserReq: properties: email: example: john.doe@example.com type: string first_name: example: John type: string last_name: example: Doe type: string otp: description: Role string example: "123456" type: string password: example: password123 type: string phone_number: example: "1234567890" type: string referal_code: example: ABC123 type: string type: object handlers.ResetCodeReq: properties: email: example: john.doe@example.com type: string phone_number: example: "1234567890" type: string type: object handlers.ResetPasswordReq: properties: email: type: string otp: type: string password: type: string phoneNumber: type: string type: object handlers.TicketRes: properties: amount: example: 100 type: number id: example: 1 type: integer outcomes: items: $ref: '#/definitions/domain.Outcome' type: array total_odds: example: 4.22 type: number type: object handlers.UpdateCashOutReq: properties: cashedOut: type: boolean type: object handlers.UserProfileRes: properties: created_at: type: string email: type: string email_verified: type: boolean first_name: type: string id: type: integer last_name: type: string phone_number: type: string phone_verified: type: boolean role: $ref: '#/definitions/domain.Role' suspended: type: boolean suspended_at: type: string updated_at: type: string type: object handlers.loginCustomerReq: properties: email: example: john.doe@example.com type: string password: example: password123 type: string phone_number: example: "1234567890" type: string type: object handlers.loginCustomerRes: properties: access_token: type: string refresh_token: type: string type: object handlers.logoutReq: properties: refresh_token: type: string type: object handlers.refreshToken: properties: access_token: type: string refresh_token: type: string type: object response.APIResponse: properties: data: {} message: type: string metadata: {} status: $ref: '#/definitions/response.Status' timestamp: type: string type: object response.Status: enum: - error - success type: string x-enum-varnames: - Error - Success info: contact: email: support@swagger.io name: API Support url: http://www.swagger.io/support description: This is server for FortuneBet. license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html termsOfService: http://swagger.io/terms/ title: FortuneBet API version: "1.0" paths: /auth/login: post: consumes: - application/json description: Login customer parameters: - description: Login customer in: body name: login required: true schema: $ref: '#/definitions/handlers.loginCustomerReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/handlers.loginCustomerRes' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "401": description: Unauthorized schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Login customer tags: - auth /auth/logout: post: consumes: - application/json description: Logout customer parameters: - description: Logout customer in: body name: logout required: true schema: $ref: '#/definitions/handlers.logoutReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/response.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "401": description: Unauthorized schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Logout customer tags: - auth /auth/refresh: post: consumes: - application/json description: Refresh token parameters: - description: tokens in: body name: refresh required: true schema: $ref: '#/definitions/handlers.refreshToken' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/handlers.loginCustomerRes' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "401": description: Unauthorized schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Refresh token tags: - auth /bet: get: consumes: - application/json description: Gets all the bets produces: - application/json responses: "200": description: OK schema: items: $ref: '#/definitions/handlers.BetRes' type: array "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Gets all bets tags: - bet post: consumes: - application/json description: Creates a bet parameters: - description: Creates bet in: body name: createBet required: true schema: $ref: '#/definitions/handlers.CreateBetReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/handlers.BetRes' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Create a bet tags: - bet /bet/{id}: delete: consumes: - application/json description: Deletes bet by id parameters: - description: Bet ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/response.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Deletes bet by id tags: - bet get: consumes: - application/json description: Gets a single bet by id parameters: - description: Bet ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/handlers.BetRes' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Gets bet by id tags: - bet patch: consumes: - application/json description: Updates the cashed out field parameters: - description: Bet ID in: path name: id required: true type: integer - description: Updates Cashed Out in: body name: updateCashOut required: true schema: $ref: '#/definitions/handlers.UpdateCashOutReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/response.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Updates the cashed out field tags: - bet /ticket: get: consumes: - application/json description: Retrieve all tickets produces: - application/json responses: "200": description: OK schema: items: $ref: '#/definitions/handlers.TicketRes' type: array "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Get all tickets tags: - ticket post: consumes: - application/json description: Creates a temporary ticket parameters: - description: Creates ticket in: body name: createTicket required: true schema: $ref: '#/definitions/handlers.CreateTicketReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/handlers.CreateTicketRes' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Create a temporary ticket tags: - ticket /ticket/{id}: get: consumes: - application/json description: Retrieve ticket details by ticket ID parameters: - description: Ticket ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/handlers.TicketRes' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Get ticket by ID tags: - ticket /user/checkPhoneEmailExist: post: consumes: - application/json description: Check if phone number or email exist parameters: - description: Check phone number or email exist in: body name: checkPhoneEmailExist required: true schema: $ref: '#/definitions/handlers.CheckPhoneEmailExistReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/handlers.CheckPhoneEmailExistRes' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Check if phone number or email exist tags: - user /user/profile: get: consumes: - application/json description: Get user profile produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/handlers.UserProfileRes' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' security: - Bearer: [] summary: Get user profile tags: - user /user/register: post: consumes: - application/json description: Register user parameters: - description: Register user in: body name: registerUser required: true schema: $ref: '#/definitions/handlers.RegisterUserReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/response.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Register user tags: - user /user/resetPassword: post: consumes: - application/json description: Reset password parameters: - description: Reset password in: body name: resetPassword required: true schema: $ref: '#/definitions/handlers.ResetPasswordReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/response.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Reset password tags: - user /user/sendRegisterCode: post: consumes: - application/json description: Send register code parameters: - description: Send register code in: body name: registerCode required: true schema: $ref: '#/definitions/handlers.RegisterCodeReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/response.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Send register code tags: - user /user/sendResetCode: post: consumes: - application/json description: Send reset code parameters: - description: Send reset code in: body name: resetCode required: true schema: $ref: '#/definitions/handlers.ResetCodeReq' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/response.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/response.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/response.APIResponse' summary: Send reset code tags: - user securityDefinitions: Bearer: in: header name: Authorization type: apiKey swagger: "2.0"