auciel 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a4db1df8b90eb61efa04eb689e247d0ba58d7e2469e0b06b4ccd3dce458511e
4
- data.tar.gz: e4ae843ec6cc04501c3c517ae8c25bcf2f715dde4b54d74ea370dfed45a73b11
3
+ metadata.gz: 79d371ff04b61c8ced0153f079bde3de877c71e06642063ff905c08c63db5210
4
+ data.tar.gz: f98243cbe37ec7b4a90b64203ab0a7101aec12800c4077a5ba2abdc261830574
5
5
  SHA512:
6
- metadata.gz: 45e2c98006106e4f76778456567dc8a68f7b000042e9afa6d1a5d3e79af7ddff46c5c4736c30dcb6a947c1e0091fb5c69eb6cae878766a23f45c7937342727ff
7
- data.tar.gz: 0ac7d1a7ddf033ffa46cfb16d94a3b6ea4c979a074d0004ff32d564032bfd8ddcd244b8cd8360215e3183fc37ff972afcc41fecd2fd07b939b43d2da1323e661
6
+ metadata.gz: 9a20a3182971a5fc417bfe3a93b77383b82d16919acc46620862f24149e0f9356ebd7d6dfef998f20446f6f320de41ba3f69d1cdd4ebf359dcedb2781c0b7264
7
+ data.tar.gz: f90c839420f5d4eea7d35f92c39246b4a3c7e1b673a84789feeeff42e69d1bcfa2646a05983249ad20679df61ec5f8a029c2a0055485cc5cd8f638eed4c30167
data/lib/auciel.rb CHANGED
@@ -32,7 +32,7 @@ class Auciel
32
32
  @server.register(*SearchEndpoints::SEARCH_ITEM_BY_TEXT)
33
33
 
34
34
  # /prices/:id
35
- @server.register(*PriceEndpoints::GET_PRICE_LIST_BY_ID_AND_NAME)
35
+ @server.register(*PriceEndpoints::GET_PRICE_LIST_BY_ID)
36
36
 
37
37
  # /hot
38
38
  @server.register(*HotEndpoints::GET_HOT_ITEMS_LIST)
@@ -48,4 +48,15 @@ class Auciel
48
48
  rescue Interrupt
49
49
  puts '[auciel] shutting down.'
50
50
  end
51
+
52
+ def all_endpoints
53
+ {
54
+ get_item_by_id: ItemEndpoints::GET_ITEM_BY_ID,
55
+ get_item_by_category: ItemEndpoints::GET_ITEM_BY_CATEGORY,
56
+ search_item_by_text: SearchEndpoints::SEARCH_ITEM_BY_TEXT,
57
+ get_price_list_by_id: PriceEndpoints::GET_PRICE_LIST_BY_ID,
58
+ get_hot_items_list: HotEndpoints::GET_HOT_ITEMS_LIST,
59
+ get_waitlist_items: WaitlistEndpoints::GET_WAITLIST_ITEMS
60
+ }
61
+ end
51
62
  end
@@ -1,23 +1,41 @@
1
- # frozen_string_literal: true
2
-
3
- module Constants
4
- COOKIE =
5
- '__RequestVerificationToken=0q_pyZ8OMkALLxxv_pj6ty10hXKTDq3Sl_1NAbV5WYhUAbNvcurT6GwSUDmBRnaZVyEmd0lcTlR3I6X7_cXkAwH-nGQG_G2E6MQZPNcfNd41'
6
- RVT = 'MGf54RSTVQkYrPo4Dvaf9IOuSilYwQIzWfdBI4PhFrV1l1o_e0BRmf78J6I7pVn_gcqj5DAv-G3MfFiWoUqFE3R62-Kxdcm4CgkRGd7oq7Y1'
7
- ROOT_URL = 'https://na-trade.naeu.playblackdesert.com/Home'
8
- WORLD_MARKET_LIST = '/GetWorldMarketList'
9
- MARKET_SUB_LIST = '/GetWorldMarketSubList'
10
- MARKET_SEARCH_LIST = '/GetWorldMarketSearchList'
11
- MARKET_SELL_BUY_INFO = '/GetItemSellBuyInfo'
12
- MARKET_HOT_LIST = '/GetWorldMarketHotList'
13
- MARKET_WAIT_LIST = '/GetWorldMarketWaitList'
14
- REQUEST_OPTS = {
15
- method: 'post',
16
- headers: {
17
- 'Content-Type': 'application/x-www-form-urlencoded',
18
- 'User-Agent':
19
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
20
- Cookie: COOKIE
21
- }
22
- }.freeze
23
- end
1
+ # frozen_string_literal: true
2
+
3
+ REGION = ENV['BDO_AP_REGION'] || 'na'
4
+
5
+ REGION_DOMAINS = {
6
+ na: 'na-trade.naeu.playblackdesert.com',
7
+ eu: 'eu-trade.naeu.playblackdesert.com',
8
+ eu_console: 'eu-trade.console.playblackdesert.com',
9
+ na_console: 'na-trade.console.playblackdesert.com',
10
+ asia_console: 'asia-trade.console.playblackdesert.com',
11
+ sea: 'trade.sea.playblackdesert.com',
12
+ mena: 'trade.tr.playblackdesert.com',
13
+ kr: 'trade.kr.playblackdesert.com',
14
+ ru: 'trade.ru.playblackdesert.com',
15
+ jp: 'trade.jp.playblackdesert.com',
16
+ th: 'trade.th.playblackdesert.com',
17
+ tw: 'trade.tw.playblackdesert.com',
18
+ sa: 'blackdesert-tradeweb.playredfox.com'
19
+ }.freeze
20
+
21
+ module Constants
22
+ COOKIE =
23
+ '__RequestVerificationToken=0q_pyZ8OMkALLxxv_pj6ty10hXKTDq3Sl_1NAbV5WYhUAbNvcurT6GwSUDmBRnaZVyEmd0lcTlR3I6X7_cXkAwH-nGQG_G2E6MQZPNcfNd41'
24
+ RVT = 'MGf54RSTVQkYrPo4Dvaf9IOuSilYwQIzWfdBI4PhFrV1l1o_e0BRmf78J6I7pVn_gcqj5DAv-G3MfFiWoUqFE3R62-Kxdcm4CgkRGd7oq7Y1'
25
+ ROOT_URL = "https://#{REGION_DOMAINS[REGION.to_sym]}/Home"
26
+ WORLD_MARKET_LIST = '/GetWorldMarketList'
27
+ MARKET_SUB_LIST = '/GetWorldMarketSubList'
28
+ MARKET_SEARCH_LIST = '/GetWorldMarketSearchList'
29
+ MARKET_SELL_BUY_INFO = '/GetItemSellBuyInfo'
30
+ MARKET_HOT_LIST = '/GetWorldMarketHotList'
31
+ MARKET_WAIT_LIST = '/GetWorldMarketWaitList'
32
+ REQUEST_OPTS = {
33
+ method: 'post',
34
+ headers: {
35
+ 'Content-Type': 'application/x-www-form-urlencoded',
36
+ 'User-Agent':
37
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
38
+ Cookie: COOKIE
39
+ }
40
+ }.freeze
41
+ end
@@ -42,7 +42,7 @@ module PriceEndpoints
42
42
  }.to_json
43
43
  end
44
44
 
45
- def self.price_list_by_id_and_name
45
+ def self.price_list_by_id
46
46
  lambda do |req|
47
47
  item_id = req[:vars]['id']
48
48
  uri = URI "#{Constants::ROOT_URL}#{Constants::MARKET_SELL_BUY_INFO}"
@@ -53,10 +53,10 @@ module PriceEndpoints
53
53
  end
54
54
  end
55
55
 
56
- GET_PRICE_LIST_BY_ID_AND_NAME = {
56
+ GET_PRICE_LIST_BY_ID = {
57
57
  method: 'get',
58
58
  path: '/prices/:id',
59
- responder: price_list_by_id_and_name,
59
+ responder: price_list_by_id,
60
60
  opts: { content_type: 'application/json' }
61
61
  }.values.freeze
62
62
  end
data/readme.md CHANGED
@@ -1,4 +1,4 @@
1
- # auciel
1
+ # auciel [![gem version](https://badge.fury.io/rb/auciel.svg)](https://badge.fury.io/rb/auciel)
2
2
 
3
3
  auciel is a wrapper for the black desert central market api. its purpose is to enable developers to get data from the market more easily, without having to figure out the strict (and odd) request structures required for the raw central market api.
4
4
 
@@ -8,7 +8,27 @@ built with the [tsurezure](https://github.com/jpegzilla/tsurezure) [![gem versio
8
8
 
9
9
  ### installing from rubygems
10
10
 
11
- _no gem yet_
11
+ ```ruby
12
+ # gemfile
13
+
14
+ source 'https://rubygems.org'
15
+
16
+ gem 'auciel'
17
+ ```
18
+
19
+ ```ruby
20
+ # script.rb
21
+
22
+ require 'auciel'
23
+
24
+ server = Auciel.new 8888
25
+
26
+ server.listen
27
+ ```
28
+
29
+ or
30
+
31
+ `gem install auciel`
12
32
 
13
33
  ### executable
14
34
 
@@ -32,6 +52,13 @@ you can also just run `ruby main.rb` in the root directory and a server will sta
32
52
 
33
53
  ## endpoints
34
54
 
55
+ 1. [get item by id](#itemid)
56
+ 1. [get item by category](#itemcatsub)
57
+ 1. [search for an item](#searchqsearch-text)
58
+ 1. [get prices by item id](#pricesid)
59
+ 1. [get list of popular items](#hot)
60
+ 1. [get market waitlist](#waitlist)
61
+
35
62
  ### `/item/:id`
36
63
 
37
64
  retrieves information about an item based on its id. equivalent to `GetWorldMarketSubList` in the raw api. example:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auciel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - jpegzilla