0.17.9 • Published 2 years ago

@36node/template-service v0.17.9

Weekly downloads
154
License
MIT
Repository
github
Last release
2 years ago

@36node/template-service

version downloads

Development

# prepare service with docker
docker-compose -d

# install dependencies
yarn

# start service
yarn start

# if we want to start service as production
# NODE_ENV=production yarn start

# use postman to check api
yarn test:int

Folder structures

├── Dockerfile
├── README.md
├── bin
│   ├── build-docker.sh
│   ├── bump.sh
│   ├── server.js
│   └── sync.js
├── docker-compose.yml
├── jest-mongodb-config.js
├── openapi.yml
├── package.json
├── src
│   ├── api
│   ├── app.js
│   ├── config
│   ├── constants.js
│   ├── index.js
│   ├── jobs
│   ├── lib
│   ├── middlewares
│   ├── models
│   └── services
├── ssl
│   ├── rsa_jwt.key
│   └── rsa_jwt.pub
└── test
    ├── env.json
    ├── jest.config.js
    ├── jest.setup.js
    ├── jest.teardown.js
    └── pet-curd
  • bin: 防止入口文件以及一些编译辅助的脚本。
  • src: source 目录只负责输出模块。
  • src/api: 自动生成的 api 目录包含 koa 桩代码
  • src/config: 配置入口,用 dotenv
  • src/lib: 基础库
  • src/middleware: koa 中间件
  • src/services: api 的实现
  • src/jobs: 实现 deamon 等任务逻辑
  • src/app.js: 主程序
  • src/index.js: 引用目录
  • test: 集成测试
  • openapi.yml: api 定义文件
  • docker-compose.yml: 服务需要依赖的第三方服务

目录引用原则:

  • config 被全局引用
  • services and jobs 引用 models
  • lib 目录可以被任何文件引用

default token

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJ1c2VyIjp7InJvbGVzIjpbIkFETUlOIiwiVVNFUiJdfX0.XA1kE_UdbOsU0rfmG3g1y3SpJ5aFVzPGFBHihVXv58sNatweqLHPEUAwhqobgKgmAbaKa3dlYrXEpHESHZ7AJgQYCfSeVxtsKyoQmcq9OYA0iFcH5oCWQgYqfeWJPOroMlMdNQax5kG-GkuaFbIiwiw-9j_ACS8CSPO9Oq2dQCA

visit jwt.io for more.

{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022,
  "user": {
    "roles": ["ADMIN", "USER"]
  }
}

postman

# 安装 fastman
yarn global add @36node/fastman

# You can get your key from the [integrations dashboard](https://go.postman.co/integrations/services/pm_pro_api)
fastman config -a <your-postman-api-key>

# list all your collections in your postman
fastman ls

# import file into postman, import data.json env.json by your self
fastman import ./test/xxxx/collection.json

# export file from postman
fastman export "Petstore Service" ./test/xxxx/collection.json

Url Pattern

Find more in @36node/sketch/docs/url.md

权限定义

动态角色

  • PET_STORE_OWNER 指 pet's owner

固定角色

  • PET_STORE_BREEDER: 饲养员
  • USER(保留角色): 普通用户,其实是一个无角色
  • ADMIN(保留角色): 包含所有角色的所有权限,测试中不一一测试,单元测试中做一次 ADMIN 角色解析,看是否能够解析成所有角色即可。

有两个用户可以用于测试

  • Admin
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiNWNiOWE0ZWRjNDhhZDQwMDEyMGQyOGEwIiwiZXhwIjoyNTU3MDM1MjU4LCJyb2xlcyI6WyJBRE1JTiJdLCJucyI6Ii9hZHZlbnR1cmVyIn0.DJ7lG-6cI5E8dIq8o6cIk5YCS66GV75Km7EW03GxGzWxigQm6hZsqVeGRruyrwJ6De-3VrS9Rcz7srdPyZpyzHV1VaHd_Xxw1iY2UKPwiVZsnvLgcNIwFQmar6E3pQaBxyT7PT8E4aNwhKPcVDWs-D8Osi5QH6HftFMoW-ZHQJ0
{
  "user": "5cb9a4edc48ad400120d28a0",
  "exp": 2557035258,
  "roles": ["ADMIN"],
  "ns": "/adventurer"
}
  • User
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiNWNiOWE0ZWRjNDhhZDQwMDEyMGQyOGIwIiwiZXhwIjoyNTU3MDM1MjU4LCJucyI6Ii9hZHZlbnR1cmVyIn0.gKb4bRq2RN_gFO03nYDYgjeqTsNdTvmjcnjLbvSfmXVRbX2B0jxl0gaPN31EKfOg1GKkRUxY-y9oqYITajOAcfqfUFGj4p-42iXL8IFiKO8aLmmQl7AuTo_Z0wfL630w8ZSeunfJ4VhbucaCzghzBHPqdD73QdibqNOyK0S8s8E
{
  "user": "5cb9a4edc48ad400120d28b0",
  "exp": 2557035258,
  "ns": "/adventurer"
}

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b feature/something
  3. Commit your changes: git commit -am 'feat: something'
  4. Push to the branch: git push -u origin feature/something
  5. Submit a pull request :D

Author

tpl-service © 36node, Released under the MIT License. Authored and maintained by 36node with help from contributors (list).

github.com/zzswang · GitHub @36node

0.17.9

2 years ago

0.17.7

3 years ago

0.17.6

3 years ago

0.17.4

3 years ago

0.17.5

3 years ago

0.17.3

3 years ago

0.17.2

3 years ago

0.17.1

3 years ago

0.17.0

3 years ago

0.16.14

3 years ago

0.16.13

4 years ago

0.16.12

4 years ago

0.16.11

4 years ago

0.16.10

4 years ago

0.16.9

4 years ago

0.16.8

4 years ago

0.16.6

4 years ago

0.16.7

4 years ago

0.16.5

4 years ago

0.16.4

4 years ago

0.16.3

4 years ago

0.16.2

4 years ago

0.16.1

4 years ago

0.16.0

4 years ago

0.15.14

4 years ago

0.15.13

4 years ago

0.15.12

4 years ago

0.15.11

4 years ago

0.15.10

4 years ago

0.15.9

4 years ago

0.15.8

4 years ago

0.15.7

4 years ago

0.15.6

4 years ago

0.15.4

4 years ago

0.15.3

4 years ago

0.15.2

4 years ago

0.15.1

4 years ago

0.13.42

4 years ago

0.13.41

4 years ago

0.13.40

4 years ago

0.13.39

4 years ago

0.13.38

4 years ago

0.13.37

4 years ago

0.13.36

4 years ago

0.13.35

4 years ago

0.13.34

4 years ago

0.13.33

5 years ago

0.13.32

5 years ago

0.13.31

5 years ago

0.13.29

5 years ago

0.13.28

5 years ago

0.13.27

5 years ago

0.13.26

5 years ago

0.13.24

5 years ago

0.13.23

5 years ago

0.13.22

5 years ago

0.13.21

5 years ago

0.13.20

5 years ago

0.13.19

5 years ago

0.13.18

5 years ago

0.13.17

5 years ago

0.13.15

5 years ago

0.13.14

5 years ago

0.13.13

5 years ago

0.13.11

5 years ago

0.13.10

5 years ago

0.13.9

5 years ago

0.13.8

5 years ago

0.13.7

5 years ago

0.13.6

5 years ago

0.13.5

5 years ago

0.13.4

5 years ago

0.13.3

5 years ago

0.13.2

5 years ago

0.13.1

5 years ago

0.13.0

5 years ago

0.12.6

5 years ago

0.12.5

5 years ago

0.12.4

5 years ago

0.12.3

5 years ago

0.12.2

5 years ago

0.12.1

5 years ago

0.11.13

5 years ago

0.11.12

5 years ago

0.11.11

5 years ago

0.11.10

5 years ago

0.11.9

5 years ago

0.11.6

5 years ago

0.11.5

5 years ago

0.11.4

5 years ago

0.11.3

5 years ago

0.11.2

5 years ago

0.11.1

5 years ago

0.11.0

5 years ago

0.10.2

5 years ago

0.10.1

5 years ago

0.10.0

5 years ago

0.9.5

5 years ago

0.9.4

5 years ago

0.9.3

5 years ago

0.9.2

5 years ago

0.9.1

5 years ago

0.8.16

5 years ago

0.8.15

5 years ago

0.8.12

5 years ago

0.8.11

5 years ago

0.8.10

5 years ago

0.8.9

5 years ago

0.8.8

5 years ago

0.8.7

5 years ago

0.8.6

5 years ago

0.8.5

5 years ago

0.8.4

5 years ago

0.8.3

5 years ago

0.8.2

5 years ago

0.8.1

5 years ago

0.7.27

5 years ago

0.7.26

5 years ago

0.7.25

5 years ago

0.7.24

5 years ago

0.7.23

5 years ago

0.7.22

5 years ago

0.7.21

5 years ago

0.7.20

5 years ago

0.7.18

5 years ago

0.7.17

5 years ago

0.7.16

5 years ago

0.7.15

5 years ago

0.7.14

6 years ago

0.7.13

6 years ago

0.7.12

6 years ago

0.7.11

6 years ago

0.7.10

6 years ago

0.7.9

6 years ago

0.7.8

6 years ago

0.7.7

6 years ago

0.7.6

6 years ago

0.7.5

6 years ago

0.7.4

6 years ago

0.7.3

6 years ago

0.7.2

6 years ago

0.7.1

6 years ago

0.7.0

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.3

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.3.7

6 years ago

0.3.5

6 years ago

0.2.0

6 years ago

0.1.3

6 years ago