using wmbasic-api-types
This commit is contained in:
parent
82903a8029
commit
f6ac48daab
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
/**
|
|
||||||
* @typedef {import('../types') }
|
|
||||||
*/
|
|
||||||
|
|
||||||
var utils = require("../lib/utils")
|
var utils = require("../lib/utils")
|
||||||
|
|
||||||
@ -18,7 +15,7 @@ var utils = require("../lib/utils")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @type {import('../types').HookResponse} */
|
/** @type {import('wmbasic-api-types').HookResponse} */
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
var response = null
|
var response = null
|
||||||
return response
|
return response
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
/**
|
|
||||||
* @typedef {import('../types') }
|
|
||||||
*/
|
|
||||||
|
|
||||||
var config = require("../config")
|
var config = require("../config")
|
||||||
var utils = require("../lib/utils")
|
var utils = require("../lib/utils")
|
||||||
@ -30,7 +27,7 @@ var utils = require("../lib/utils")
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @type {import('../types').HookResponse} */
|
/** @type {import('wmbasic-api-types').HookResponse} */
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
var response = null
|
var response = null
|
||||||
return response
|
return response
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
/**
|
|
||||||
* @typedef {import('../types') }
|
|
||||||
*/
|
|
||||||
|
|
||||||
var utils = require("../lib/utils")
|
var utils = require("../lib/utils")
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
/**
|
|
||||||
* @typedef {import('../types') }
|
|
||||||
*/
|
|
||||||
|
|
||||||
var utils = require("../lib/utils")
|
var utils = require("../lib/utils")
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
/**
|
|
||||||
* @typedef {import('../types') }
|
|
||||||
*/
|
|
||||||
|
|
||||||
var utils = require("../lib/utils")
|
var utils = require("../lib/utils")
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
/**
|
|
||||||
* @typedef {import('../types') }
|
|
||||||
*/
|
|
||||||
|
|
||||||
var config = require("../config")
|
var config = require("../config")
|
||||||
|
|
||||||
@ -25,7 +22,7 @@ function randomToken() {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {import('../types').HookContext} c
|
* @param {import('wmbasic-api-types').HookContext} c
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
function isPublicToken(c) {
|
function isPublicToken(c) {
|
||||||
@ -37,7 +34,7 @@ function isPublicToken(c) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {import('../types').HookContext} c
|
* @param {import('wmbasic-api-types').HookContext} c
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
function isSsrToken(c) {
|
function isSsrToken(c) {
|
||||||
@ -49,7 +46,7 @@ function isSsrToken(c) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {import('../types').HookContext} c
|
* @param {import('wmbasic-api-types').HookContext} c
|
||||||
* @param {string} filename
|
* @param {string} filename
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
/**
|
|
||||||
* @typedef {import('../types') }
|
|
||||||
*/
|
|
||||||
|
|
||||||
var utils = require("../lib/utils")
|
var utils = require("../lib/utils")
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
/**
|
|
||||||
* @typedef {import('../types') }
|
|
||||||
*/
|
|
||||||
|
|
||||||
;(function () {
|
;(function () {
|
||||||
throw {
|
throw {
|
||||||
|
247
api/hooks/types.d.ts
vendored
247
api/hooks/types.d.ts
vendored
@ -1,247 +0,0 @@
|
|||||||
export interface CollectionDocument {
|
|
||||||
id?: string
|
|
||||||
insertTime?: Date
|
|
||||||
updateTime?: Date
|
|
||||||
[key: string]: any
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ReadCollectionOptions {
|
|
||||||
filter?: {
|
|
||||||
[key: string]: any
|
|
||||||
}
|
|
||||||
selector?: {
|
|
||||||
[key: string]: any
|
|
||||||
}
|
|
||||||
projection?: string
|
|
||||||
offset?: number
|
|
||||||
limit?: number
|
|
||||||
sort?: string[]
|
|
||||||
}
|
|
||||||
|
|
||||||
interface GetHookData {
|
|
||||||
/**
|
|
||||||
* true if only one document was requested via /COLLECTION/ID
|
|
||||||
*/
|
|
||||||
one?: boolean
|
|
||||||
/**
|
|
||||||
* get list of documents (only valid after stage "read" in "get" hook)
|
|
||||||
*/
|
|
||||||
results(): CollectionDocument[]
|
|
||||||
/**
|
|
||||||
* filter map only valid for "get" hooks
|
|
||||||
*/
|
|
||||||
filter?: {
|
|
||||||
[key: string]: any
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* selector map only valid for "get" hooks
|
|
||||||
*/
|
|
||||||
selector?: {
|
|
||||||
[key: string]: any
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* offset only valid for "get" hooks
|
|
||||||
*/
|
|
||||||
offset?: number
|
|
||||||
/**
|
|
||||||
* limit only valid for "get" hooks
|
|
||||||
*/
|
|
||||||
limit?: number
|
|
||||||
/**
|
|
||||||
* sort only valid for "get" hooks
|
|
||||||
*/
|
|
||||||
sort?: string[] | string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface PostHookData {
|
|
||||||
/**
|
|
||||||
* post data only valid in "post" and "put" hooks
|
|
||||||
*/
|
|
||||||
data?: CollectionDocument
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface HookContext extends GetHookData, PostHookData {
|
|
||||||
request(): {
|
|
||||||
method: string
|
|
||||||
remoteAddr: string
|
|
||||||
host: string
|
|
||||||
url: string
|
|
||||||
path: string
|
|
||||||
param(p: string): string
|
|
||||||
query(q: string): string
|
|
||||||
header(h: string): string
|
|
||||||
body(): string
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* read results from a collection
|
|
||||||
*
|
|
||||||
* @param colName collection name
|
|
||||||
* @param options options map
|
|
||||||
*/
|
|
||||||
readCollection(
|
|
||||||
colName: string,
|
|
||||||
options?: ReadCollectionOptions
|
|
||||||
): CollectionDocument[]
|
|
||||||
|
|
||||||
/**
|
|
||||||
* read count of documents for filter from a collection
|
|
||||||
*
|
|
||||||
* @param colName collection name
|
|
||||||
* @param options options map (only filter is valid)
|
|
||||||
*/
|
|
||||||
readCollectionCount(
|
|
||||||
colName: string,
|
|
||||||
options?: ReadCollectionOptions
|
|
||||||
): number
|
|
||||||
|
|
||||||
/**
|
|
||||||
* create a document in a collection
|
|
||||||
*
|
|
||||||
* @param colName collection name
|
|
||||||
* @param data data map
|
|
||||||
*/
|
|
||||||
createDocument(
|
|
||||||
colName: string,
|
|
||||||
data: CollectionDocument
|
|
||||||
): CollectionDocument
|
|
||||||
|
|
||||||
/**
|
|
||||||
* update a document in a collection
|
|
||||||
*
|
|
||||||
* @param colName collection name
|
|
||||||
* @param id id of entry
|
|
||||||
* @param data new/changed data
|
|
||||||
*/
|
|
||||||
updateDocument(
|
|
||||||
colName: string,
|
|
||||||
id: string,
|
|
||||||
data: CollectionDocument
|
|
||||||
): CollectionDocument
|
|
||||||
|
|
||||||
/**
|
|
||||||
* deletes one document by id from collection
|
|
||||||
*
|
|
||||||
* @param colName collection name
|
|
||||||
* @param id id of entry
|
|
||||||
*/
|
|
||||||
deleteDocument(colName: string, id: string): { message: "ok" }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* deletes documents by filter from collection
|
|
||||||
*
|
|
||||||
* @param colName collection name
|
|
||||||
* @param options options map, only filter valid
|
|
||||||
*/
|
|
||||||
deleteDocuments(
|
|
||||||
colName: string,
|
|
||||||
options?: ReadCollectionOptions
|
|
||||||
): { message: "ok"; removed: number }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* send an email
|
|
||||||
*
|
|
||||||
* @param options email options map
|
|
||||||
*/
|
|
||||||
mail(options: {
|
|
||||||
to: string | string[]
|
|
||||||
cc?: string | string[]
|
|
||||||
bcc?: string | string[]
|
|
||||||
subject?: string
|
|
||||||
from: string
|
|
||||||
fromName?: string
|
|
||||||
plain?: string
|
|
||||||
html?: string
|
|
||||||
attach?: string | string[]
|
|
||||||
}): void
|
|
||||||
|
|
||||||
/**
|
|
||||||
* execute a template code and return result
|
|
||||||
*
|
|
||||||
* @param code template code
|
|
||||||
* @param contextData template context map
|
|
||||||
*/
|
|
||||||
template(
|
|
||||||
code: string,
|
|
||||||
contextData?: {
|
|
||||||
[key: string]: any
|
|
||||||
}
|
|
||||||
): string
|
|
||||||
|
|
||||||
/**
|
|
||||||
* read a file relative to config dir and return its content
|
|
||||||
*
|
|
||||||
* @param path relative file path
|
|
||||||
*/
|
|
||||||
file(path: string): string
|
|
||||||
|
|
||||||
/**
|
|
||||||
* http request
|
|
||||||
*
|
|
||||||
* @param url url for request
|
|
||||||
* @param options request options
|
|
||||||
*/
|
|
||||||
fetch(
|
|
||||||
url: string,
|
|
||||||
options?: {
|
|
||||||
method?: string
|
|
||||||
headers?: { [key: string]: string }
|
|
||||||
body?: string
|
|
||||||
}
|
|
||||||
): {
|
|
||||||
status: number
|
|
||||||
statusText: string
|
|
||||||
headers: { [key: string]: string }
|
|
||||||
trailer: { [key: string]: string }
|
|
||||||
url: string
|
|
||||||
body: {
|
|
||||||
text(): string
|
|
||||||
json(): any
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* dumps data to header and server log
|
|
||||||
*
|
|
||||||
* @param toDump data to dump
|
|
||||||
*/
|
|
||||||
dump(...toDump: any): void
|
|
||||||
|
|
||||||
/**
|
|
||||||
* set response header
|
|
||||||
*
|
|
||||||
* @param name header name
|
|
||||||
* @param value value
|
|
||||||
*/
|
|
||||||
header(name: string, value: any): void
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get JWT authentication
|
|
||||||
*/
|
|
||||||
auth(): {
|
|
||||||
id: string
|
|
||||||
username: string
|
|
||||||
role: number
|
|
||||||
permissions: string[]
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get Sentry trace id
|
|
||||||
*/
|
|
||||||
sentryTraceId(): string
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface HookException {
|
|
||||||
status?: number
|
|
||||||
html?: string
|
|
||||||
[key: string]: any
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface HookResponse extends GetHookData, PostHookData {
|
|
||||||
data?: CollectionDocument
|
|
||||||
results?: any
|
|
||||||
}
|
|
||||||
|
|
||||||
declare global {
|
|
||||||
var context: HookContext
|
|
||||||
}
|
|
@ -38,7 +38,8 @@
|
|||||||
"svelte-routing": "^1.4.2",
|
"svelte-routing": "^1.4.2",
|
||||||
"svelte-scrollto": "^0.2.0",
|
"svelte-scrollto": "^0.2.0",
|
||||||
"tslib": "^2.0.3",
|
"tslib": "^2.0.3",
|
||||||
"typescript": "^4.1.2"
|
"typescript": "^4.1.2",
|
||||||
|
"wmbasic-api-types": "https://gitbase.de/cms/wmbasic-api-types.git"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sentry/browser": "^6.2.1",
|
"@sentry/browser": "^6.2.1",
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"include": ["src/**/*", "types/**/*"],
|
"include": ["src/**/*", "types/**/*"],
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"module": "esnext",
|
"module": "esnext",
|
||||||
"typeRoots": ["./node_modules/@types", "./types"],
|
"typeRoots": ["./node_modules/@types", "./types", "wmbasic-api-types"],
|
||||||
|
|
||||||
"target": "esnext",
|
"target": "esnext",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
|
@ -3613,6 +3613,10 @@ whatwg-url@^7.0.0:
|
|||||||
tr46 "^1.0.1"
|
tr46 "^1.0.1"
|
||||||
webidl-conversions "^4.0.2"
|
webidl-conversions "^4.0.2"
|
||||||
|
|
||||||
|
"wmbasic-api-types@https://gitbase.de/cms/wmbasic-api-types.git":
|
||||||
|
version "0.0.1"
|
||||||
|
resolved "https://gitbase.de/cms/wmbasic-api-types.git#8f988cf2acaee3a0d1c84109adce199234db3845"
|
||||||
|
|
||||||
word-wrap@~1.2.3:
|
word-wrap@~1.2.3:
|
||||||
version "1.2.3"
|
version "1.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
||||||
|
Loading…
Reference in New Issue
Block a user