๋๊ตญ๋ฏผ ๊ตญ๊ตฐ ์ํต ์๋น์ค ๋ ์บ ํ๋ฅผ ์ฌ์ดํธ ์ธ๋ถ์์ ์ด์ฉํ๊ธฐ ์ํด ๋ง๋ ๋น๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ํ์ฌ ์ธํฐ๋ท ํธ์ง ๋ฐ์ก์ ์ค์ฌ์ผ๋ก ๊ตฌํ๋์ด ์์ต๋๋ค.
$ npm install the-camp-lib --save
const thecamp = require('the-camp-lib');
// or
import * as thecamp from 'the-camp-lib';
async function main() {
const cookies = await thecamp.login('[email protected]', 'password');
const [group] = await thecamp.fetchGroups(cookies, '00์ฐ๋', '20190829');
const trainee = {
traineeName: '๋ฐ๋ซ๋ซ',
birth: '19981129',
unitCode: group.unitCode,
groupId: group.groupId,
relationship: thecamp.Relationship.FRIEND,
};
const message = {
title: '์ ๋ชฉ',
content: '๋ด์ฉ',
};
await thecamp.sendMessage(cookies, trainee, message);
}
๋ ์บ ํ๋ ๋ก๊ทธ์ธํ ๋ ์์ฑํ ์ฟ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ์ ์ ์๋ณํฉ๋๋ค. ๋ก๊ทธ์ธ์ด ํ์ํ ์๋น์ค๋ฅผ ์ด์ฉํ๋ ค๋ฉด HTTP ์์ฒญ ํค๋์ ๋ก๊ทธ์ธ ์ ์์ฑ๋ ์ฟ ํค๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค.
์ ์ฅ์๋ฅผ ํด๋ก ํ๊ณ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
$ git clone https://github.com/ParkSB/the-camp-lib.git
$ cd the-camp-lib
$ npm install
๋ชจ๋ ์ฝ๋๋ src ๋๋ ํ ๋ฆฌ ์๋์ ์์ต๋๋ค. ์ฐจํ ์ ๋ ํ
์คํธ ํ๊ฒฝ์ ๊ตฌ์ถํ ์์ ์
๋๋ค. ๊ทธ ์ ๊น์ง๋ test/interaration ๋๋ ํ ๋ฆฌ ํ์์ ํ
์คํธํ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ts-node filename.ts
๋ฅผ ์คํํ๋ ๋ฐฉ์์ผ๋ก ํ
์คํธ ํฉ๋๋ค.
์์์ npm run build
๋ฅผ ์คํํ๋ฉด dist ๋๋ ํ ๋ฆฌ์ ๋น๋๋ ํ์ผ์ด ๋ง๋ค์ด์ง๋๋ค. test ๋๋ ํ ๋ฆฌ ํ์์ ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ ๋ค ์์์ npm init
, npm install ../../ --save
๋ฅผ ์คํํ๋ฉด ํด๋น ๋๋ ํ ๋ฆฌ์ ํจํค์ง๊ฐ ์ค์น๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ก์ปฌ์์ ๋ฐฐํฌ ๋ฒ์ ์ ํ
์คํธํ ์ ์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ ์บ ํ์ ๊ฐ์ ๋ ๊ณ์ ์ด ํ์ํฉ๋๋ค.
์ธ์ ์๋ณ์ ์ํ ์ฟ ํค.
scouter: stirng
jsessionid: string
ํ๋ จ๋ณ ์ ๋ณด.
unitCode: string
- ํ๋ จ๋ณ์ด ์์๋ ์ฐ๋/์ฌ๋จ ์๋ณ ์ฝ๋groupId: string
- ํ๋ จ๋ณ์ด ์์๋ ์นดํ ์๋ณ ์ฝ๋traineeName: string
- ํ๋ จ๋ณ ์ด๋ฆ (ex.๋ฐ๋ซ๋ซ
)birth: number
- ํ๋ จ๋ณ ์๋ ์์ผ (ex.19981129
)relationship: Relationship
- ํ๋ จ๋ณ๊ณผ์ ๊ด๊ณ
ํ๋ จ๋ณ๊ณผ์ ๊ด๊ณ.
MOTHER = '์ด๋จธ๋'
FATHER = '์๋ฒ์ง'
SPOUSE = '๋ฐฐ์ฐ์'
GRANDPARENTS = '์กฐ๋ถ๋ชจ'
SIBLING = 'ํ์ /๋จ๋งค'
FRIEND = '์น๊ตฌ'
LOVER = '์ ์ธ'
RELATIVE = '์น์ฒ'
์ธํฐ๋ท ํธ์ง ์ ๋ณด.
title: string
- ํธ์ง ์ ๋ชฉcontent: string
- ํธ์ง ๋ด์ฉ (2000์ ์ดํ)boardId?: string
fileInfo?: any[]
- ์ฒจ๋ถ ํ์ผ ์ ๋ณด (๊ตฌํ ์์ )
๊ฐ์ ์นดํ ์ ๋ณด.
unitName: string
- ์ฐ๋/์ฌ๋จ ์ด๋ฆ (ex.00์ฐ๋
,00์ฌ๋จ
)fullName: string
- ์นดํ ์ ์ฒด ์ด๋ฆ (ex.00์ฐ๋ 0๊ต์ก๋ 00์ค๋
)enterDate: string
- ํ๋ จ๋ณ ์ ์ ๋ ์ง (ex.20190829
)groupId: string
- ์นดํ ์๋ณ ์ฝ๋groupName: string
- ์นดํ ์ด๋ฆ (ex.0๊ต์ก๋ 00์ค๋
)groupImage: string
- ์นดํ ๋ํ ์ด๋ฏธ์งaccessDate: string
- ์์ฒญ ๋ ์งunitCode: string
- ์ฐ๋/์ฌ๋จ ์๋ณ ์ฝ๋unitType: number
- ์ก๊ตฐํ๋ จ์(1
)/์ฌ๋จ์ ๊ต๋(2
) ์ฌ๋ถgrade: number
๋ ์บ ํ์ ๋ก๊ทธ์ธํด ์ธ์ ์ฟ ํค๋ฅผ ์ป๋๋ค.
- Parameters
id: string
- ๋ ์บ ํ ๊ณ์ ์ด๋ฉ์ผpassword: string
- ๋ ์บ ํ ๊ณ์ ๋น๋ฐ๋ฒํธ
- Return value
Promise<Cookie>
- ์ธ์ ์๋ณ์ ์ํ ์ฟ ํค
๊ฐ์ ์นดํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค.
- Parameters
cookies: Cookie
- ์ธ์ ์๋ณ์ ์ํ ์ฟ ํคunitName?: string (Optional)
- ํ๋ จ๋ณ์ด ์์๋ ์ฐ๋/์ฌ๋จ ์ด๋ฆ (ex.00์ฐ๋
,00์ฌ๋จ
)enterDate?: string (Optional)
- ํ๋ จ๋ณ ์ ์ ๋ ์ง (ex.20190829
)
- Retrun value
Promise<Group[]>
- ๊ฐ์ ํ ์นดํ ๋ชฉ๋ก.unitName
๋๋enterDate
๊ฐ ์ฃผ์ด์ง๋ฉด ํด๋น ํ๋ จ๋ณ์ด ์์๋ ์นดํ๋งGroup[]
ํ์ ์ผ๋ก ๋ฐํํ๋ค.
์ธํฐ๋ท ํธ์ง๋ฅผ ์ ์กํ๋ค.
- Parameters
cookies: Cookie
- ์ธ์ ์๋ณ์ ์ํ ์ฟ ํคtrainee: Trainee
- ํ๋ จ๋ณ ์ ๋ณดmessage: Message
- ์ธํฐ๋ท ํธ์ง ์ ๋ณด.message.boardId
๋๋message.fileInfo
๊ฐ ์ฃผ์ด์ง์ง ์์ผ๋ฉด ๊ฐ๊ฐ ๋น ๋ฌธ์์ด๊ณผ ๋น ๋ฐฐ์ด์ ํ ๋นํ๋ค.
- Return value
Promise<request.Response>
- ์์ฒญ์ ๋ํ HTTP ์๋ต
- send-message: ์ธํฐ๋ท ํธ์ง ์ ์ก ์์
This project is licensed under the MIT License - see the LICENSE file for details.