opensoma 0.4.0 → 0.5.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.
Files changed (56) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/commands/auth.d.ts +1 -1
  3. package/dist/src/commands/auth.d.ts.map +1 -1
  4. package/dist/src/commands/auth.js +94 -52
  5. package/dist/src/commands/auth.js.map +1 -1
  6. package/dist/src/constants.d.ts +40 -0
  7. package/dist/src/constants.d.ts.map +1 -1
  8. package/dist/src/constants.js +42 -0
  9. package/dist/src/constants.js.map +1 -1
  10. package/dist/src/formatters.d.ts.map +1 -1
  11. package/dist/src/formatters.js +42 -16
  12. package/dist/src/formatters.js.map +1 -1
  13. package/dist/src/index.d.ts +3 -0
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +2 -0
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/shared/utils/toz.d.ts +23 -0
  18. package/dist/src/shared/utils/toz.d.ts.map +1 -0
  19. package/dist/src/shared/utils/toz.js +72 -0
  20. package/dist/src/shared/utils/toz.js.map +1 -0
  21. package/dist/src/token-extractor.d.ts +9 -1
  22. package/dist/src/token-extractor.d.ts.map +1 -1
  23. package/dist/src/token-extractor.js +54 -10
  24. package/dist/src/token-extractor.js.map +1 -1
  25. package/dist/src/toz-formatters.d.ts +9 -0
  26. package/dist/src/toz-formatters.d.ts.map +1 -0
  27. package/dist/src/toz-formatters.js +151 -0
  28. package/dist/src/toz-formatters.js.map +1 -0
  29. package/dist/src/toz-http.d.ts +27 -0
  30. package/dist/src/toz-http.d.ts.map +1 -0
  31. package/dist/src/toz-http.js +154 -0
  32. package/dist/src/toz-http.js.map +1 -0
  33. package/dist/src/types.d.ts +52 -0
  34. package/dist/src/types.d.ts.map +1 -1
  35. package/dist/src/types.js +46 -0
  36. package/dist/src/types.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/__fixtures__/toz/toz_all_branches.json +211 -0
  39. package/src/__fixtures__/toz/toz_booking.html +2190 -0
  40. package/src/__fixtures__/toz/toz_boothes.json +59 -0
  41. package/src/__fixtures__/toz/toz_duration.json +25 -0
  42. package/src/__fixtures__/toz/toz_mypage_response.html +388 -0
  43. package/src/__fixtures__/toz/toz_page.html +211 -0
  44. package/src/commands/auth.ts +107 -50
  45. package/src/constants.ts +50 -0
  46. package/src/formatters.ts +44 -16
  47. package/src/index.ts +3 -0
  48. package/src/shared/utils/toz.test.ts +133 -0
  49. package/src/shared/utils/toz.ts +100 -0
  50. package/src/token-extractor.test.ts +30 -5
  51. package/src/token-extractor.ts +65 -13
  52. package/src/toz-formatters.test.ts +197 -0
  53. package/src/toz-formatters.ts +211 -0
  54. package/src/toz-http.test.ts +157 -0
  55. package/src/toz-http.ts +188 -0
  56. package/src/types.ts +58 -0
@@ -0,0 +1,59 @@
1
+ [
2
+ {
3
+ "resultMsg": "SUCCESS",
4
+ "id": 740,
5
+ "branchName": "토즈타워점",
6
+ "branchTel": "02-3454-0116",
7
+ "name": "304 _ A",
8
+ "minUseUserCount": 1,
9
+ "enableMaxUserCount": 2,
10
+ "boothGroupName": "2인부스 A타입",
11
+ "boothGroupUrl": "https://moim.toz.co.kr/branchDetail?branch_id=28&url=&path=",
12
+ "boothMemoForUser": "15,000원(기본2시간) / 기업, 학생할인 적용",
13
+ "durationTime": null,
14
+ "possDate": null,
15
+ "possStartTime": null,
16
+ "possEndTime": null,
17
+ "specialDiscount": null,
18
+ "isLargeBooth": false,
19
+ "s_possDate": null
20
+ },
21
+ {
22
+ "resultMsg": "SUCCESS",
23
+ "id": 737,
24
+ "branchName": "토즈타워점",
25
+ "branchTel": "02-3454-0116",
26
+ "name": "303 _ A",
27
+ "minUseUserCount": 1,
28
+ "enableMaxUserCount": 2,
29
+ "boothGroupName": "좌식(1~2인부스) A타입",
30
+ "boothGroupUrl": "https://moim.toz.co.kr/branchDetail?branch_id=28&url=&path=",
31
+ "boothMemoForUser": "15,000원(기본2시간) / 모니터 무료 / 기업, 학생할인 적용",
32
+ "durationTime": null,
33
+ "possDate": null,
34
+ "possStartTime": null,
35
+ "possEndTime": null,
36
+ "specialDiscount": null,
37
+ "isLargeBooth": false,
38
+ "s_possDate": null
39
+ },
40
+ {
41
+ "resultMsg": "SUCCESS",
42
+ "id": 745,
43
+ "branchName": "토즈타워점",
44
+ "branchTel": "02-3454-0116",
45
+ "name": "311 _ B",
46
+ "minUseUserCount": 2,
47
+ "enableMaxUserCount": 4,
48
+ "boothGroupName": "3~4인 부스 B타입",
49
+ "boothGroupUrl": "https://moim.toz.co.kr/branchDetail?branch_id=28&url=&path=",
50
+ "boothMemoForUser": "25,000원(기본2시간) / 모니터 무료 / 기업, 학생할인 적용",
51
+ "durationTime": null,
52
+ "possDate": null,
53
+ "possStartTime": null,
54
+ "possEndTime": null,
55
+ "specialDiscount": null,
56
+ "isLargeBooth": false,
57
+ "s_possDate": null
58
+ }
59
+ ]
@@ -0,0 +1,25 @@
1
+ [
2
+ { "calendarWeek": "MONDAY", "key": "0200", "value": "2시간" },
3
+ { "calendarWeek": "MONDAY", "key": "0230", "value": "2시간 30분" },
4
+ { "calendarWeek": "MONDAY", "key": "0300", "value": "3시간" },
5
+ { "calendarWeek": "MONDAY", "key": "0330", "value": "3시간 30분" },
6
+ { "calendarWeek": "MONDAY", "key": "0400", "value": "4시간" },
7
+ { "calendarWeek": "MONDAY", "key": "0430", "value": "4시간 30분" },
8
+ { "calendarWeek": "MONDAY", "key": "0500", "value": "5시간" },
9
+ { "calendarWeek": "MONDAY", "key": "0530", "value": "5시간 30분" },
10
+ { "calendarWeek": "MONDAY", "key": "0600", "value": "6시간" },
11
+ { "calendarWeek": "MONDAY", "key": "0630", "value": "6시간 30분" },
12
+ { "calendarWeek": "MONDAY", "key": "0700", "value": "7시간" },
13
+ { "calendarWeek": "MONDAY", "key": "0730", "value": "7시간 30분" },
14
+ { "calendarWeek": "MONDAY", "key": "0800", "value": "8시간" },
15
+ { "calendarWeek": "MONDAY", "key": "0830", "value": "8시간 30분" },
16
+ { "calendarWeek": "MONDAY", "key": "0900", "value": "9시간" },
17
+ { "calendarWeek": "MONDAY", "key": "0930", "value": "9시간 30분" },
18
+ { "calendarWeek": "MONDAY", "key": "1000", "value": "10시간" },
19
+ { "calendarWeek": "MONDAY", "key": "1030", "value": "10시간 30분" },
20
+ { "calendarWeek": "MONDAY", "key": "1100", "value": "11시간" },
21
+ { "calendarWeek": "MONDAY", "key": "1130", "value": "11시간 30분" },
22
+ { "calendarWeek": "MONDAY", "key": "1200", "value": "12시간" },
23
+ { "calendarWeek": "MONDAY", "key": "1230", "value": "12시간 30분" },
24
+ { "calendarWeek": "MONDAY", "key": "1300", "value": "13시간" }
25
+ ]
@@ -0,0 +1,388 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
+ <title>토즈</title>
6
+
7
+ <script type="text/javascript" src="/js/jquery-1.4.4.min.js"></script>
8
+ <script type="text/javascript" src="/js/jquery-ui-1.8.9.custom.min.js"></script>
9
+ <script type="text/javascript" src="/js/jquery.ui.datepicker-ko.js"></script>
10
+ <link type="text/css" href="/css/blitzer/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
11
+ <link type="text/css" href="/css/partnerReservation.css" rel="stylesheet" />
12
+ <style type="text/css">
13
+ a:link {
14
+ text-decoration: none;
15
+ color: #666666;
16
+ font-size: 10px;
17
+ }
18
+ a:visited {
19
+ text-decoration: none;
20
+ color: #666666;
21
+ font-size: 10px;
22
+ }
23
+ a:active {
24
+ text-decoration: none;
25
+ color: #666666;
26
+ font-size: 10px;
27
+ }
28
+ a:hover {
29
+ text-decoration: underline;
30
+ color: #cd5050;
31
+ font-size: 10px;
32
+ }
33
+
34
+ #searchForm fieldset {
35
+ padding: 5px;
36
+ border: 0;
37
+ border-left: 1px solid #e6e6e6;
38
+ border-top: 1px solid #e6e6e6;
39
+ border-right: 1px solid #e6e6e6;
40
+ }
41
+ #searchForm input {
42
+ border: 0;
43
+ border-bottom: 1px solid #abadb3;
44
+ border-radius: 6px;
45
+ padding: 2px 7px;
46
+ }
47
+ </style>
48
+ <script type="text/javascript">
49
+ $(document).ready(function () {
50
+ $('#startdate').datepicker({
51
+ showOn: 'button',
52
+ buttonImage: '/images/old/icon_day.gif',
53
+ buttonImageOnly: true,
54
+ onSelect: function (dateText, inst) {},
55
+ })
56
+ })
57
+ $(document).ready(function () {
58
+ $('#enddate').datepicker({
59
+ showOn: 'button',
60
+ buttonImage: '/images/old/icon_day.gif',
61
+ buttonImageOnly: true,
62
+ onSelect: function (dateText, inst) {},
63
+ })
64
+ })
65
+ function destroyReservation(reservation_id) {
66
+ if (confirm('정말로 취소하시겠습니까?')) {
67
+ $.ajax({
68
+ type: 'POST',
69
+ url: './ajaxCancelReservation.htm',
70
+ data: {
71
+ reservation_id: reservation_id,
72
+ },
73
+ success: function (res) {
74
+ if (res == 'SUCCESS') {
75
+ alert('취소되었습니다.')
76
+ location.href = './mypage.htm?key=&projectSeq=&addedInfo=&tozApplyType='
77
+ } else if (res == 'FAILED') {
78
+ alert('취소하지 못했습니다.')
79
+ } else {
80
+ alert('취소되었습니다.')
81
+ location.href = res
82
+ }
83
+ },
84
+ error: function (res) {
85
+ alert('취소하지 못했습니다..')
86
+ },
87
+ })
88
+ }
89
+ }
90
+
91
+ function goOPage(page) {
92
+ //location.href = "./mypage.htm?key=&projectSeq=&addedInfo=&tozApplyType=&opage=" + page;
93
+ var form = document.searchForm
94
+ form.opage.value = page
95
+ form.submit()
96
+ }
97
+ function goRPage(page) {
98
+ //location.href = "./mypage.htm?key=&projectSeq=&addedInfo=&tozApplyType=&rpage=" + page;
99
+ var form = document.searchForm
100
+ form.rpage.value = page
101
+ form.submit()
102
+ }
103
+ function rSearching() {
104
+ var form = document.searchForm
105
+ form.rpage.value = 1
106
+ return true
107
+ }
108
+ function searchFormReset() {
109
+ var form = document.searchForm
110
+ form.startdate.value = ''
111
+ form.enddate.value = ''
112
+ form.meetingName.value = ''
113
+ }
114
+ </script>
115
+ </head>
116
+ <body>
117
+ <!-- top -->
118
+
119
+ <center>
120
+ <div id="layoutHeader">
121
+ <div class="left">
122
+ <a href="/partner/reservation/fkii3/swmaestro/index.htm?key=&projectSeq=&addedInfo=&tozApplyType="
123
+ ><img src="/images/partner/toz_logo.gif"
124
+ /></a>
125
+ </div>
126
+ <div class="right">
127
+ <div style="padding-top: 14px; font-size: 14px; font-weight: bold">AI‧SW마에스트로</div>
128
+ </div>
129
+ </div>
130
+ <div><img width="100%" height="27px" src="/images/partner/head_line.gif" /></div>
131
+ </center>
132
+
133
+ <!-- // top -->
134
+
135
+ <table border="0" width="100%" cellspacing="0" cellpadding="0" valign="top">
136
+ <!-- 컨텐츠 영역 : 시작 -->
137
+ <tr>
138
+ <td align="center" style="padding: 33px 0 0 0">
139
+ <table border="0" width="700" cellspacing="0" cellpadding="0">
140
+ <tr>
141
+ <td align="left" width="100%" valign="top">
142
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
143
+ <tr>
144
+ <td>
145
+ <img src="/images/partner/toz_mypage_login.gif" />
146
+ </td>
147
+ </tr>
148
+ </table>
149
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" style="display: none">
150
+ <tr>
151
+ <td style="padding-top: 28px">
152
+ <img src="/images/partner/guideline_3.gif" />
153
+ </td>
154
+ </tr>
155
+ <tr>
156
+ <td>
157
+ <table cellpadding="0" cellspacing="0" class="reservation">
158
+ <col width="50" />
159
+ <col width="*" />
160
+ <col width="100" />
161
+ <col width="70" />
162
+ <col width="100" />
163
+ <col width="70" />
164
+ <col width="90" />
165
+ <thead class="">
166
+ <tr>
167
+ <th>NO</th>
168
+
169
+ 모임명 :
170
+
171
+ <th>모임일</th>
172
+ <th>인원</th>
173
+ <th>작성일</th>
174
+ <th>처리현황</th>
175
+ <th>&nbsp;</th>
176
+ </tr>
177
+ </thead>
178
+ <tbody>
179
+ <tr>
180
+ <td colspan="7">예약 요청 정보가 없습니다.</td>
181
+ </tr>
182
+ </tbody>
183
+ </table>
184
+ </td>
185
+ </tr>
186
+ <tr>
187
+ <td><img src="/images/old/line.png" /></td>
188
+ </tr>
189
+ </table>
190
+ <div style="text-align: center; margin: 10px 0 40px 0; display: none">
191
+ <table width="100%" cellpadding="0" cellspacing="0">
192
+ <tr>
193
+ <td
194
+ style="
195
+ letter-spacing: 4px;
196
+ font-size: 12px;
197
+ font-weight: bold;
198
+ font-family: verdana;
199
+ color: #ffffff;
200
+ "
201
+ >
202
+ <img src="/images/common/_paging_prev.gif" border="0" />&nbsp;<img
203
+ src="/images/common/_paging_separator.gif"
204
+ border="0"
205
+ />
206
+ <font style="font-weight: bold; color: #f81a23">1</font>&nbsp;<img
207
+ src="/images/common/_paging_separator.gif"
208
+ border="0"
209
+ />
210
+ <img src="/images/common/_paging_next.gif" border="0" />
211
+ </td>
212
+ </tr>
213
+ </table>
214
+ </div>
215
+ </td>
216
+ </tr>
217
+ <tr>
218
+ <td align="left" width="100%" valign="top">
219
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
220
+ <tr>
221
+ <td style="padding-top: 28px"><img src="/images/partner/guideline_4.gif" /></td>
222
+ </tr>
223
+ <tr>
224
+ <td>
225
+ <form
226
+ id="searchForm"
227
+ name="searchForm"
228
+ action="./mypage.htm"
229
+ method="post"
230
+ onsubmit="return rSearching()"
231
+ >
232
+ <input type="hidden" name="opage" value="1" />
233
+ <input type="hidden" name="rpage" value="1" />
234
+ <input type="hidden" name="key" value="" />
235
+ <input type="hidden" name="projectSeq" value="" />
236
+ <input type="hidden" name="tozApplyType" value="" />
237
+ <input type="hidden" name="addedInfo" value="" />
238
+ <fieldset style="border-bottom: 0">
239
+ <legend>검색필드</legend>
240
+ <strong>기간 : </strong>
241
+ <input type="text" id="startdate" name="startdate" style="width: 80px" value="" readonly /> ~
242
+ <input type="text" id="enddate" name="enddate" style="width: 80px" value="" readonly />
243
+ <strong style="margin-left: 10px"> 모임명 : </strong>
244
+
245
+ <input type="text" name="meetingName" value="" />
246
+ <button type="submit" style="margin: 0 10px">검색</button>
247
+ <button type="button" onclick="searchFormReset()">검색초기화</button>
248
+ </fieldset>
249
+ </form>
250
+ </td>
251
+ </tr>
252
+ <tr>
253
+ <td>
254
+ <table cellpadding="0" cellspacing="0" class="reservation">
255
+ <col width="50" />
256
+ <col width="*" />
257
+ <col width="80" />
258
+ <col width="100" />
259
+ <col width="70" />
260
+ <col width="80" />
261
+ <col width="80" />
262
+ <col width="80" />
263
+ <thead class="">
264
+ <tr>
265
+ <th>NO</th>
266
+
267
+ <th>모임명</th>
268
+
269
+ <th>모임일</th>
270
+ <th>모임시간</th>
271
+ <th>지점</th>
272
+ <th>부스</th>
273
+ <th>예약접수일</th>
274
+ <th>상태</th>
275
+ </tr>
276
+ </thead>
277
+ <tbody>
278
+ <tr>
279
+ <td colspan="8">실시간 예약 정보가 없습니다.</td>
280
+ </tr>
281
+ </tbody>
282
+ </table>
283
+ </td>
284
+ </tr>
285
+ <tr>
286
+ <td><img src="/images/old/line.png" /></td>
287
+ </tr>
288
+ </table>
289
+ <div style="text-align: center; margin: 10px 0 40px 0">
290
+ <table width="100%" cellpadding="0" cellspacing="0">
291
+ <tr>
292
+ <td
293
+ style="
294
+ letter-spacing: 4px;
295
+ font-size: 12px;
296
+ font-weight: bold;
297
+ font-family: verdana;
298
+ color: #ffffff;
299
+ "
300
+ >
301
+ <img src="/images/common/_paging_prev.gif" border="0" />&nbsp;<img
302
+ src="/images/common/_paging_separator.gif"
303
+ border="0"
304
+ />
305
+ <font style="font-weight: bold; color: #f81a23">1</font>&nbsp;<img
306
+ src="/images/common/_paging_separator.gif"
307
+ border="0"
308
+ />
309
+ <img src="/images/common/_paging_next.gif" border="0" />
310
+ </td>
311
+ </tr>
312
+ </table>
313
+ </div>
314
+ </td>
315
+ </tr>
316
+ </table>
317
+ </td>
318
+ </tr>
319
+ </table>
320
+
321
+ <!-- bottom -->
322
+
323
+ <center>
324
+ <div style="margin-top: 20px">
325
+ <img width="100%" height="27px" src="/images/partner/bottom_line.gif" />
326
+ <img
327
+ src="/images/partner/bottom_1.gif"
328
+ usemap="#map_bottom_1"
329
+ style="position: relative; top: -20px; left: -280px"
330
+ />
331
+ <map name="map_bottom_1">
332
+ <area
333
+ alt="회사소개"
334
+ coords="0,0,36,9"
335
+ href="javascript:alert('TOZ그룹페이지가 리뉴얼 오픈 준비중입니다.\n새로운 모습으로 곧 인사드리겠습니다.')"
336
+ target="_blank"
337
+ />
338
+ <area alt="사업제휴" coords="58,0,98,9" href="https://www.toz.co.kr/customerCenter/partner" target="_blank" />
339
+ <area
340
+ alt="채용정보"
341
+ coords="120,0,155,9"
342
+ href="javascript:open_popup( 'http://www.toz.co.kr/recruit/recruitList', 1140, 900 )"
343
+ target="_blank"
344
+ />
345
+ <area
346
+ alt="이용약관"
347
+ coords="180,0,216,9"
348
+ href="javascript:open_popup( 'https://www.toz.co.kr/rule/policy/1', 600, 700 )"
349
+ target="_blank"
350
+ />
351
+ <!-- <area alt="개인정보보호정책" coords="239,0,310,9" href="http://www.toz.co.kr/member/security.htm" target="_blank"> -->
352
+ <area
353
+ alt="개인정보취급방침"
354
+ coords="239,0,310,9"
355
+ href="javascript:open_popup( 'https://www.toz.co.kr/rule/privacy/1', 600, 700 )"
356
+ target="_blank"
357
+ />
358
+ <!-- <area alt="개인정보취급방침" coords="333,0,399,9" href="http://www.toz.co.kr/member/privaterule.htm" tabindex="_blank"> -->
359
+ </map>
360
+ </div>
361
+ <div id="layoutBottom">
362
+ <img src="/images/partner/bottom_3.gif" style="position: relative; top: -20px; left: -80px" />
363
+ </div>
364
+ </center>
365
+
366
+ <!-- google analytics for (http)partner.toz.co.kr -->
367
+ <script type="text/javascript">
368
+ function open_popup(url, width, height) {
369
+ var popOption = 'width=' + width + ', height=' + height + ', resizable=no, scrollbars=yes, status=no;' //팝업창 옵션(optoin)
370
+ window.open(url, '', popOption)
371
+ }
372
+ var _gaq = _gaq || []
373
+ _gaq.push(['_setAccount', 'UA-23075111-3'])
374
+ _gaq.push(['_trackPageview'])
375
+
376
+ ;(function () {
377
+ var ga = document.createElement('script')
378
+ ga.type = 'text/javascript'
379
+ ga.async = true
380
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'
381
+ var s = document.getElementsByTagName('script')[0]
382
+ s.parentNode.insertBefore(ga, s)
383
+ })()
384
+ </script>
385
+ <!-- // google analytics for (http)partner.toz.co.kr -->
386
+ <!-- // bottom -->
387
+ </body>
388
+ </html>