1.0.34 • Published 1 month ago

w-web-api v1.0.34

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

w-web-api

A web service for APIs.

language npm version license gzip file size npm download npm download jsdelivr download

Documentation

To view documentation or get support, visit docs.

Installation

Using npm(ES6 module):

npm i w-web-api

Example for server:

Link: [dev source code]

import WOrm from 'w-orm-mongodb/src/WOrmMongodb.mjs' //自行選擇引用ORM, 使用Mongodb測試
import WWebApi from './server/WWebApi.mjs'
import getSettings from './g.getSettings.mjs'

//st let st = getSettings()

let url = mongodb://${st.dbUsername}:${st.dbPassword}@${st.dbIP}:${st.dbPort} //使用Mongodb測試 let db = st.dbName let opt = {

bCheckUser: false,
getUserById: null,
bExcludeWhenNotAdmin: false,

serverPort: 11005,
subfolder: '', //mapi
urlRedirect: 'https://www.google.com/', //本機測試時得先編譯, 再瀏覽: http://localhost:11005/

webName: {
    'eng': 'API Service',
    'cht': 'API管理系統',
},
webDescription: {
    'eng': 'A web service package as methods to send requests to and receive responses from an API.',
    'cht': 'A web service package as methods to send requests to and receive responses from an API.',
},
webLogo: 'data:image/svg+xml;base64,...',

}

let getUserByToken = async (token) => { // return {} //測試無法登入 if (token === '{token-for-application}') { //提供外部應用系統作為存取使用者 return { id: 'id-for-application', name: 'application', email: 'application@example.com', isAdmin: 'y', } } if (token === 'sys') { //開發階段w-ui-loginout自動給予browser使用者(且位於localhost)的token為sys return { id: 'id-for-admin', name: '測試者', email: 'admin@example.com', isAdmin: 'y', } } console.log('invalid token', token) console.log('於生產環境時得加入SSO等驗證token機制') return {} }

let verifyBrowserUser = (user, caller) => { console.log('verifyBrowserUser/user', user) // return false //測試無法登入 console.log('於生產環境時得加入限制瀏覽器使用者身份機制') return user.isAdmin === 'y' //測試僅系統管理者使用 }

let verifyAppUser = (user, caller) => { console.log('verifyAppUser/user', user) // return false //測試無法登入 console.log('於生產環境時得加入限制應用程式使用者身份機制') return user.isAdmin === 'y' //測試僅系統管理者使用 }

//WWebApi let instWWebApi = WWebApi(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser, opt)

instWWebApi.on('error', (err) => { console.log(err) })

1.0.34

1 month ago

1.0.33

1 month ago

1.0.29

6 months ago

1.0.32

6 months ago

1.0.31

6 months ago

1.0.30

6 months ago

1.0.26

11 months ago

1.0.25

11 months ago

1.0.24

11 months ago

1.0.28

11 months ago

1.0.27

11 months ago

1.0.22

1 year ago

1.0.23

1 year ago

1.0.21

2 years ago

1.0.19

2 years ago

1.0.20

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago