@feathersjs/generators 5.0.0-pre.35 → 5.0.0-pre.36
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.
- package/CHANGELOG.md +13 -0
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/lib/app/templates/client.tpl.js +9 -4
- package/lib/app/templates/client.tpl.js.map +1 -1
- package/lib/app/templates/client.tpl.ts +9 -4
- package/lib/app/templates/package.json.tpl.js +1 -1
- package/lib/app/templates/package.json.tpl.js.map +1 -1
- package/lib/app/templates/package.json.tpl.ts +1 -1
- package/lib/app/templates/validators.tpl.js +1 -2
- package/lib/app/templates/validators.tpl.js.map +1 -1
- package/lib/app/templates/validators.tpl.ts +1 -2
- package/lib/authentication/templates/schema.json.tpl.js +1 -0
- package/lib/authentication/templates/schema.json.tpl.js.map +1 -1
- package/lib/authentication/templates/schema.json.tpl.ts +1 -0
- package/lib/authentication/templates/schema.typebox.tpl.js +4 -3
- package/lib/authentication/templates/schema.typebox.tpl.js.map +1 -1
- package/lib/authentication/templates/schema.typebox.tpl.ts +4 -3
- package/lib/service/templates/client.tpl.js +7 -16
- package/lib/service/templates/client.tpl.js.map +1 -1
- package/lib/service/templates/client.tpl.ts +14 -39
- package/lib/service/templates/schema.json.tpl.js +2 -0
- package/lib/service/templates/schema.json.tpl.js.map +1 -1
- package/lib/service/templates/schema.json.tpl.ts +2 -0
- package/lib/service/templates/schema.typebox.tpl.js +4 -3
- package/lib/service/templates/schema.typebox.tpl.js.map +1 -1
- package/lib/service/templates/schema.typebox.tpl.ts +4 -3
- package/lib/service/templates/service.tpl.d.ts +1 -1
- package/lib/service/templates/service.tpl.js +6 -5
- package/lib/service/templates/service.tpl.js.map +1 -1
- package/lib/service/templates/service.tpl.ts +5 -5
- package/lib/service/templates/shared.tpl.d.ts +2 -0
- package/lib/service/templates/shared.tpl.js +50 -0
- package/lib/service/templates/shared.tpl.js.map +1 -0
- package/lib/service/templates/shared.tpl.ts +61 -0
- package/lib/service/type/custom.tpl.js +16 -13
- package/lib/service/type/custom.tpl.js.map +1 -1
- package/lib/service/type/custom.tpl.ts +16 -13
- package/lib/service/type/knex.tpl.js +6 -4
- package/lib/service/type/knex.tpl.js.map +1 -1
- package/lib/service/type/knex.tpl.ts +6 -4
- package/lib/service/type/mongodb.tpl.js +6 -4
- package/lib/service/type/mongodb.tpl.js.map +1 -1
- package/lib/service/type/mongodb.tpl.ts +6 -4
- package/package.json +24 -24
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [5.0.0-pre.36](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.35...v5.0.0-pre.36) (2023-01-29)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **generators:** Add main schema to all validators ([#2997](https://github.com/feathersjs/feathers/issues/2997)) ([5854dea](https://github.com/feathersjs/feathers/commit/5854dea7f610262121a49623ec5bbd474dcd3ef3))
|
|
11
|
+
- **generators:** Add TypeScript as normal instead of dev dependency ([#3011](https://github.com/feathersjs/feathers/issues/3011)) ([2f67398](https://github.com/feathersjs/feathers/commit/2f673987f38b199e75aff629b7cdfcaebfd69c4c))
|
|
12
|
+
- **generators:** Do not removeAdditional in queries ([#3000](https://github.com/feathersjs/feathers/issues/3000)) ([ef501bc](https://github.com/feathersjs/feathers/commit/ef501bcfa528119168787e9d857f1bb90e0c3114))
|
|
13
|
+
- Update all dependencies ([#3024](https://github.com/feathersjs/feathers/issues/3024)) ([283dc47](https://github.com/feathersjs/feathers/commit/283dc4798d85584bc031e6e54b83b4ea77d1edd0))
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
- **generators:** Add service file for shared information ([#3008](https://github.com/feathersjs/feathers/issues/3008)) ([0a1665d](https://github.com/feathersjs/feathers/commit/0a1665d23e002afadb40ed99bf0168f0fceb0054))
|
|
18
|
+
|
|
6
19
|
# [5.0.0-pre.35](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.34...v5.0.0-pre.35) (2023-01-12)
|
|
7
20
|
|
|
8
21
|
### Features
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -18,6 +18,6 @@ Refer to the [Feathers documentation](https://docs.feathersjs.com) for more deta
|
|
|
18
18
|
|
|
19
19
|
## License
|
|
20
20
|
|
|
21
|
-
Copyright (c)
|
|
21
|
+
Copyright (c) 2023 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
|
|
22
22
|
|
|
23
23
|
Licensed under the [MIT license](LICENSE).
|
|
@@ -5,14 +5,18 @@ const pinion_1 = require("@feathershq/pinion");
|
|
|
5
5
|
const commons_1 = require("../../commons");
|
|
6
6
|
const template = ({ name, language }) => /* ts */ `// For more information about this file see https://dove.feathersjs.com/guides/cli/client.html
|
|
7
7
|
import { feathers } from '@feathersjs/feathers'
|
|
8
|
-
import type { TransportConnection,
|
|
8
|
+
import type { TransportConnection, Application } from '@feathersjs/feathers'
|
|
9
9
|
import authenticationClient from '@feathersjs/authentication-client'
|
|
10
10
|
import type { AuthenticationClientOptions } from '@feathersjs/authentication-client'
|
|
11
11
|
|
|
12
|
-
export interface
|
|
13
|
-
|
|
12
|
+
export interface Configuration {
|
|
13
|
+
connection: TransportConnection<ServiceTypes>
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
export interface ServiceTypes {}
|
|
17
|
+
|
|
18
|
+
export type ClientApplication = Application<ServiceTypes, Configuration>
|
|
19
|
+
|
|
16
20
|
/**
|
|
17
21
|
* Returns a ${language === 'ts' ? 'typed' : ''} client for the ${name} app.
|
|
18
22
|
*
|
|
@@ -25,10 +29,11 @@ export const createClient = <Configuration = any> (
|
|
|
25
29
|
connection: TransportConnection<ServiceTypes>,
|
|
26
30
|
authenticationOptions: Partial<AuthenticationClientOptions> = {}
|
|
27
31
|
) => {
|
|
28
|
-
const client = feathers
|
|
32
|
+
const client: ClientApplication = feathers()
|
|
29
33
|
|
|
30
34
|
client.configure(connection)
|
|
31
35
|
client.configure(authenticationClient(authenticationOptions))
|
|
36
|
+
client.set('connection', connection)
|
|
32
37
|
|
|
33
38
|
return client
|
|
34
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.tpl.js","sourceRoot":"","sources":["../../../src/app/templates/client.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,QAAQ,GAAG,CAAC,EAChB,IAAI,EACJ,QAAQ,EACY,EAAE,EAAE,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"client.tpl.js","sourceRoot":"","sources":["../../../src/app/templates/client.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,QAAQ,GAAG,CAAC,EAChB,IAAI,EACJ,QAAQ,EACY,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;eAerB,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,mBAAmB,IAAI;;;;;;;;;;;;;;;;;;;CAmBrE,CAAA;AAEM,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAwB,EAAE,EAAE,CACzD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAAsB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CACxD,CACF,CAAA;AANU,QAAA,QAAQ,YAMlB"}
|
|
@@ -7,14 +7,18 @@ const template = ({
|
|
|
7
7
|
language
|
|
8
8
|
}: AppGeneratorContext) => /* ts */ `// For more information about this file see https://dove.feathersjs.com/guides/cli/client.html
|
|
9
9
|
import { feathers } from '@feathersjs/feathers'
|
|
10
|
-
import type { TransportConnection,
|
|
10
|
+
import type { TransportConnection, Application } from '@feathersjs/feathers'
|
|
11
11
|
import authenticationClient from '@feathersjs/authentication-client'
|
|
12
12
|
import type { AuthenticationClientOptions } from '@feathersjs/authentication-client'
|
|
13
13
|
|
|
14
|
-
export interface
|
|
15
|
-
|
|
14
|
+
export interface Configuration {
|
|
15
|
+
connection: TransportConnection<ServiceTypes>
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
export interface ServiceTypes {}
|
|
19
|
+
|
|
20
|
+
export type ClientApplication = Application<ServiceTypes, Configuration>
|
|
21
|
+
|
|
18
22
|
/**
|
|
19
23
|
* Returns a ${language === 'ts' ? 'typed' : ''} client for the ${name} app.
|
|
20
24
|
*
|
|
@@ -27,10 +31,11 @@ export const createClient = <Configuration = any> (
|
|
|
27
31
|
connection: TransportConnection<ServiceTypes>,
|
|
28
32
|
authenticationOptions: Partial<AuthenticationClientOptions> = {}
|
|
29
33
|
) => {
|
|
30
|
-
const client = feathers
|
|
34
|
+
const client: ClientApplication = feathers()
|
|
31
35
|
|
|
32
36
|
client.configure(connection)
|
|
33
37
|
client.configure(authenticationClient(authenticationOptions))
|
|
38
|
+
client.set('connection', connection)
|
|
34
39
|
|
|
35
40
|
return client
|
|
36
41
|
}
|
|
@@ -49,7 +49,7 @@ const packageJson = ({ name, description, language, packager, database, framewor
|
|
|
49
49
|
lib,
|
|
50
50
|
test
|
|
51
51
|
},
|
|
52
|
-
files: ['lib/client.js', 'lib/**/*.d.ts'],
|
|
52
|
+
files: ['lib/client.js', 'lib/**/*.d.ts', 'lib/**/*.shared.js'],
|
|
53
53
|
main: language === 'ts' ? 'lib/client' : `${lib}/client`,
|
|
54
54
|
...(language === 'ts' ? tsPackageJson(lib) : jsPackageJson(lib))
|
|
55
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.json.tpl.js","sourceRoot":"","sources":["../../../src/app/templates/package.json.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAGjE,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ,GAAG,EAAE;QACpB,GAAG,EAAE,WAAW,GAAG,GAAG;QACtB,QAAQ,EAAE,gCAAgC;QAC1C,KAAK,EAAE,wDAAwD;QAC/D,IAAI,EAAE,eAAe;QACrB,eAAe,EAAE,sCAAsC;KACxD;CACF,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE;QACP,GAAG,EAAE,sBAAsB,GAAG,WAAW;QACzC,OAAO,EAAE,wBAAwB;QACjC,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,gCAAgC;QAC1C,KAAK,EACH,mGAAmG;QACrG,IAAI,EAAE,eAAe;QACrB,eAAe,EAAE,yDAAyD;KAC3E;CACF,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,GAAG,EACH,IAAI,EACJ,MAAM,EACc,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI;IACJ,WAAW;IACX,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAc;IAC5B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;KAC3C;IACD,QAAQ,EAAE;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,UAAU;QACV,MAAM;KACP;IACD,WAAW,EAAE;QACX,GAAG;QACH,IAAI;KACL;IACD,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"package.json.tpl.js","sourceRoot":"","sources":["../../../src/app/templates/package.json.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAGjE,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ,GAAG,EAAE;QACpB,GAAG,EAAE,WAAW,GAAG,GAAG;QACtB,QAAQ,EAAE,gCAAgC;QAC1C,KAAK,EAAE,wDAAwD;QAC/D,IAAI,EAAE,eAAe;QACrB,eAAe,EAAE,sCAAsC;KACxD;CACF,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE;QACP,GAAG,EAAE,sBAAsB,GAAG,WAAW;QACzC,OAAO,EAAE,wBAAwB;QACjC,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,gCAAgC;QAC1C,KAAK,EACH,mGAAmG;QACrG,IAAI,EAAE,eAAe;QACrB,eAAe,EAAE,yDAAyD;KAC3E;CACF,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,GAAG,EACH,IAAI,EACJ,MAAM,EACc,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI;IACJ,WAAW;IACX,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAc;IAC5B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;KAC3C;IACD,QAAQ,EAAE;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,UAAU;QACV,MAAM;KACP;IACD,WAAW,EAAE;QACX,GAAG;QACH,IAAI;KACL;IACD,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,oBAAoB,CAAC;IAC/D,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS;IACxD,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CACjE,CAAC,CAAA;AAEK,MAAM,QAAQ,GAAG,CAAC,GAAwB,EAAE,EAAE,CACnD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,kBAAS,EAAC,WAAW,EAAE,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AADxD,QAAA,QAAQ,YACgD"}
|
|
@@ -62,7 +62,7 @@ const packageJson = ({
|
|
|
62
62
|
lib,
|
|
63
63
|
test
|
|
64
64
|
},
|
|
65
|
-
files: ['lib/client.js', 'lib/**/*.d.ts'],
|
|
65
|
+
files: ['lib/client.js', 'lib/**/*.d.ts', 'lib/**/*.shared.js'],
|
|
66
66
|
main: language === 'ts' ? 'lib/client' : `${lib}/client`,
|
|
67
67
|
...(language === 'ts' ? tsPackageJson(lib) : jsPackageJson(lib))
|
|
68
68
|
})
|
|
@@ -27,8 +27,7 @@ const formats: FormatsPluginOptions = [
|
|
|
27
27
|
export const dataValidator: Ajv = addFormats(new Ajv({}), formats)
|
|
28
28
|
|
|
29
29
|
export const queryValidator: Ajv = addFormats(new Ajv({
|
|
30
|
-
coerceTypes: true
|
|
31
|
-
removeAdditional: true
|
|
30
|
+
coerceTypes: true
|
|
32
31
|
}), formats)
|
|
33
32
|
`;
|
|
34
33
|
const generate = (ctx) => (0, pinion_1.generator)(ctx).then((0, commons_1.renderSource)(validatorTemplate, (0, pinion_1.toFile)(({ lib }) => lib, 'validators')));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.tpl.js","sourceRoot":"","sources":["../../../src/app/templates/validators.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,iBAAiB,GAAG,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"validators.tpl.js","sourceRoot":"","sources":["../../../src/app/templates/validators.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,iBAAiB,GAAG,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BlC,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAwB,EAAE,EAAE,CACnD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,sBAAY,EACV,iBAAiB,EACjB,IAAA,eAAM,EAAsB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAC5D,CACF,CAAA;AANU,QAAA,QAAQ,YAMlB"}
|
|
@@ -26,8 +26,7 @@ const formats: FormatsPluginOptions = [
|
|
|
26
26
|
export const dataValidator: Ajv = addFormats(new Ajv({}), formats)
|
|
27
27
|
|
|
28
28
|
export const queryValidator: Ajv = addFormats(new Ajv({
|
|
29
|
-
coerceTypes: true
|
|
30
|
-
removeAdditional: true
|
|
29
|
+
coerceTypes: true
|
|
31
30
|
}), formats)
|
|
32
31
|
`
|
|
33
32
|
|
|
@@ -32,6 +32,7 @@ export const ${camelName}Schema = {
|
|
|
32
32
|
}
|
|
33
33
|
} as const
|
|
34
34
|
export type ${upperName} = FromSchema<typeof ${camelName}Schema>
|
|
35
|
+
export const ${camelName}Validator = getValidator(${camelName}Schema, dataValidator)
|
|
35
36
|
export const ${camelName}Resolver = resolve<${upperName}, HookContext>({})
|
|
36
37
|
|
|
37
38
|
export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.json.tpl.js","sourceRoot":"","sources":["../../../src/authentication/templates/schema.json.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAAwD;AACxD,oCAAwE;AAExE,MAAM,QAAQ,GAAG,CAAC,EAChB,GAAG,EACH,GAAG,EACH,SAAS,EACT,SAAS,EACT,cAAc,EACd,IAAI,EACJ,QAAQ,EACuB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;EAG7C,IAAA,qBAAa,EAAC,cAAc,EAAE,iEAAiE,CAAC;;oCAE9D,QAAQ;iDACK,QAAQ,IACvD,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,6CAA6C;AACjG;;;eAGe,SAAS;UACd,SAAS;;;iBAGF,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAA,qBAAa,EAAC,cAAc,EAAE,WAAW,CAAC;;MAE1F,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;eACxB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;;MAEjD,cAAc;KACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,KAAK,OAAO;IACd,CAAC,CAAC;iCACqB;IACvB,CAAC,CAAC,OAAO,IAAI,wBAAwB,CACxC;KACA,IAAI,CAAC,KAAK,CAAC;;;cAGJ,SAAS,wBAAwB,SAAS;eACzC,SAAS,sBAAsB,SAAS;;eAExC,SAAS,8BAA8B,SAAS;IAC3D,IAAA,qBAAa,EACb,cAAc,EACd;kCAC8B,CAC/B;;;;eAIY,SAAS;UACd,SAAS;;;;;SAKV,SAAS;;;cAGJ,SAAS,4BAA4B,SAAS;eAC7C,SAAS,gCAAgC,SAAS;eAClD,SAAS,0BAA0B,SAAS;IACvD,IAAA,qBAAa,EAAC,cAAc,EAAE,+CAA+C,CAAC;;;;eAInE,SAAS;UACd,SAAS;;;;;SAKV,SAAS;;;cAGJ,SAAS,6BAA6B,SAAS;eAC9C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;IACxD,IAAA,qBAAa,EAAC,cAAc,EAAE,+CAA+C,CAAC;;;;eAInE,SAAS;UACd,SAAS;;;;qBAIE,SAAS;;;cAGhB,SAAS,6BAA6B,SAAS;eAC9C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;;IAExD,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;mCAEF,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;;;;;CAMnE,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAmC,EAAE,EAAE,CAC9D,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,aAAI,EACF,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,EACjC,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAkC,EAAE,EAAE,CAAC;IACpE,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,SAAS;CACrB,CAAC,EACF,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CACF,CAAA;AAfU,QAAA,QAAQ,YAelB"}
|
|
1
|
+
{"version":3,"file":"schema.json.tpl.js","sourceRoot":"","sources":["../../../src/authentication/templates/schema.json.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAAwD;AACxD,oCAAwE;AAExE,MAAM,QAAQ,GAAG,CAAC,EAChB,GAAG,EACH,GAAG,EACH,SAAS,EACT,SAAS,EACT,cAAc,EACd,IAAI,EACJ,QAAQ,EACuB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;EAG7C,IAAA,qBAAa,EAAC,cAAc,EAAE,iEAAiE,CAAC;;oCAE9D,QAAQ;iDACK,QAAQ,IACvD,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,6CAA6C;AACjG;;;eAGe,SAAS;UACd,SAAS;;;iBAGF,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAA,qBAAa,EAAC,cAAc,EAAE,WAAW,CAAC;;MAE1F,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;eACxB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;;MAEjD,cAAc;KACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,KAAK,OAAO;IACd,CAAC,CAAC;iCACqB;IACvB,CAAC,CAAC,OAAO,IAAI,wBAAwB,CACxC;KACA,IAAI,CAAC,KAAK,CAAC;;;cAGJ,SAAS,wBAAwB,SAAS;eACzC,SAAS,4BAA4B,SAAS;eAC9C,SAAS,sBAAsB,SAAS;;eAExC,SAAS,8BAA8B,SAAS;IAC3D,IAAA,qBAAa,EACb,cAAc,EACd;kCAC8B,CAC/B;;;;eAIY,SAAS;UACd,SAAS;;;;;SAKV,SAAS;;;cAGJ,SAAS,4BAA4B,SAAS;eAC7C,SAAS,gCAAgC,SAAS;eAClD,SAAS,0BAA0B,SAAS;IACvD,IAAA,qBAAa,EAAC,cAAc,EAAE,+CAA+C,CAAC;;;;eAInE,SAAS;UACd,SAAS;;;;;SAKV,SAAS;;;cAGJ,SAAS,6BAA6B,SAAS;eAC9C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;IACxD,IAAA,qBAAa,EAAC,cAAc,EAAE,+CAA+C,CAAC;;;;eAInE,SAAS;UACd,SAAS;;;;qBAIE,SAAS;;;cAGhB,SAAS,6BAA6B,SAAS;eAC9C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;;IAExD,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;mCAEF,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;;;;;CAMnE,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAmC,EAAE,EAAE,CAC9D,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,aAAI,EACF,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,EACjC,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAkC,EAAE,EAAE,CAAC;IACpE,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,SAAS;CACrB,CAAC,EACF,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CACF,CAAA;AAfU,QAAA,QAAQ,YAelB"}
|
|
@@ -41,6 +41,7 @@ export const ${camelName}Schema = {
|
|
|
41
41
|
}
|
|
42
42
|
} as const
|
|
43
43
|
export type ${upperName} = FromSchema<typeof ${camelName}Schema>
|
|
44
|
+
export const ${camelName}Validator = getValidator(${camelName}Schema, dataValidator)
|
|
44
45
|
export const ${camelName}Resolver = resolve<${upperName}, HookContext>({})
|
|
45
46
|
|
|
46
47
|
export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({
|
|
@@ -6,7 +6,7 @@ const commons_1 = require("../../commons");
|
|
|
6
6
|
const index_1 = require("../index");
|
|
7
7
|
const template = ({ cwd, lib, camelName, upperName, authStrategies, type, relative }) => /* ts */ `// For more information about this file see https://dove.feathersjs.com/guides/cli/service.schemas.html
|
|
8
8
|
import { resolve } from '@feathersjs/schema'
|
|
9
|
-
import { Type,
|
|
9
|
+
import { Type, getValidator, querySyntax } from '@feathersjs/typebox'
|
|
10
10
|
import type { Static } from '@feathersjs/typebox'
|
|
11
11
|
${(0, index_1.localTemplate)(authStrategies, `import { passwordHash } from '@feathersjs/authentication-local'`)}
|
|
12
12
|
|
|
@@ -25,6 +25,7 @@ export const ${camelName}Schema = Type.Object({
|
|
|
25
25
|
.join(',\n')}
|
|
26
26
|
},{ $id: '${upperName}', additionalProperties: false })
|
|
27
27
|
export type ${upperName} = Static<typeof ${camelName}Schema>
|
|
28
|
+
export const ${camelName}Validator = getValidator(${camelName}Schema, dataValidator)
|
|
28
29
|
export const ${camelName}Resolver = resolve<${upperName}, HookContext>({})
|
|
29
30
|
|
|
30
31
|
export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({
|
|
@@ -39,7 +40,7 @@ export const ${camelName}DataSchema = Type.Pick(${camelName}Schema, [
|
|
|
39
40
|
{ $id: '${upperName}Data', additionalProperties: false }
|
|
40
41
|
)
|
|
41
42
|
export type ${upperName}Data = Static<typeof ${camelName}DataSchema>
|
|
42
|
-
export const ${camelName}DataValidator =
|
|
43
|
+
export const ${camelName}DataValidator = getValidator(${camelName}DataSchema, dataValidator)
|
|
43
44
|
export const ${camelName}DataResolver = resolve<${upperName}, HookContext>({
|
|
44
45
|
${(0, index_1.localTemplate)(authStrategies, `password: passwordHash({ strategy: 'local' })`)}
|
|
45
46
|
})
|
|
@@ -49,7 +50,7 @@ export const ${camelName}PatchSchema = Type.Partial(${camelName}Schema, {
|
|
|
49
50
|
$id: '${upperName}Patch'
|
|
50
51
|
})
|
|
51
52
|
export type ${upperName}Patch = Static<typeof ${camelName}PatchSchema>
|
|
52
|
-
export const ${camelName}PatchValidator =
|
|
53
|
+
export const ${camelName}PatchValidator = getValidator(${camelName}PatchSchema, dataValidator)
|
|
53
54
|
export const ${camelName}PatchResolver = resolve<${upperName}, HookContext>({
|
|
54
55
|
${(0, index_1.localTemplate)(authStrategies, `password: passwordHash({ strategy: 'local' })`)}
|
|
55
56
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.typebox.tpl.js","sourceRoot":"","sources":["../../../src/authentication/templates/schema.typebox.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAAwD;AACxD,oCAAwE;AAEjE,MAAM,QAAQ,GAAG,CAAC,EACvB,GAAG,EACH,GAAG,EACH,SAAS,EACT,SAAS,EACT,cAAc,EACd,IAAI,EACJ,QAAQ,EACuB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;EAI7C,IAAA,qBAAa,EAAC,cAAc,EAAE,iEAAiE,CAAC;;oCAE9D,QAAQ;iDACK,QAAQ,IACvD,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,6CAA6C;AACjG;;;eAGe,SAAS;IACpB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB;IAC/D,cAAc;KACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,KAAK,OAAO;IACd,CAAC,CAAC;yCAC+B;IACjC,CAAC,CAAC,OAAO,IAAI,kCAAkC,CAClD;KACA,IAAI,CAAC,KAAK,CAAC;YACJ,SAAS;cACP,SAAS,oBAAoB,SAAS;eACrC,SAAS,sBAAsB,SAAS;;eAExC,SAAS,8BAA8B,SAAS;IAC3D,IAAA,qBAAa,EACb,cAAc,EACd;kCAC8B,CAC/B;;;;eAIY,SAAS,0BAA0B,SAAS;IACvD,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;YAE3F,SAAS;;cAEP,SAAS,wBAAwB,SAAS;eACzC,SAAS,
|
|
1
|
+
{"version":3,"file":"schema.typebox.tpl.js","sourceRoot":"","sources":["../../../src/authentication/templates/schema.typebox.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAAwD;AACxD,oCAAwE;AAEjE,MAAM,QAAQ,GAAG,CAAC,EACvB,GAAG,EACH,GAAG,EACH,SAAS,EACT,SAAS,EACT,cAAc,EACd,IAAI,EACJ,QAAQ,EACuB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;EAI7C,IAAA,qBAAa,EAAC,cAAc,EAAE,iEAAiE,CAAC;;oCAE9D,QAAQ;iDACK,QAAQ,IACvD,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,6CAA6C;AACjG;;;eAGe,SAAS;IACpB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB;IAC/D,cAAc;KACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,KAAK,OAAO;IACd,CAAC,CAAC;yCAC+B;IACjC,CAAC,CAAC,OAAO,IAAI,kCAAkC,CAClD;KACA,IAAI,CAAC,KAAK,CAAC;YACJ,SAAS;cACP,SAAS,oBAAoB,SAAS;eACrC,SAAS,4BAA4B,SAAS;eAC9C,SAAS,sBAAsB,SAAS;;eAExC,SAAS,8BAA8B,SAAS;IAC3D,IAAA,qBAAa,EACb,cAAc,EACd;kCAC8B,CAC/B;;;;eAIY,SAAS,0BAA0B,SAAS;IACvD,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;YAE3F,SAAS;;cAEP,SAAS,wBAAwB,SAAS;eACzC,SAAS,gCAAgC,SAAS;eAClD,SAAS,0BAA0B,SAAS;IACvD,IAAA,qBAAa,EAAC,cAAc,EAAE,+CAA+C,CAAC;;;;eAInE,SAAS,8BAA8B,SAAS;UACrD,SAAS;;cAEL,SAAS,yBAAyB,SAAS;eAC1C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;IACxD,IAAA,qBAAa,EAAC,cAAc,EAAE,+CAA+C,CAAC;;;;eAInE,SAAS,+BAA+B,SAAS,aAC9D,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAC/B,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;eAE9E,SAAS;gBACR,SAAS;;;;cAIX,SAAS,yBAAyB,SAAS;eAC1C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;;IAExD,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;mCAEF,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;;;;;CAMnE,CAAA;AAvFY,QAAA,QAAQ,YAuFpB;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAmC,EAAE,EAAE,CAC9D,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,aAAI,EACF,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,EACpC,IAAA,sBAAY,EACV,gBAAQ,EACR,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAkC,EAAE,EAAE,CAAC;IACpE,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,SAAS;CACrB,CAAC,EACF,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CACF,CAAA;AAfU,QAAA,QAAQ,YAelB"}
|
|
@@ -12,7 +12,7 @@ export const template = ({
|
|
|
12
12
|
relative
|
|
13
13
|
}: AuthenticationGeneratorContext) => /* ts */ `// For more information about this file see https://dove.feathersjs.com/guides/cli/service.schemas.html
|
|
14
14
|
import { resolve } from '@feathersjs/schema'
|
|
15
|
-
import { Type,
|
|
15
|
+
import { Type, getValidator, querySyntax } from '@feathersjs/typebox'
|
|
16
16
|
import type { Static } from '@feathersjs/typebox'
|
|
17
17
|
${localTemplate(authStrategies, `import { passwordHash } from '@feathersjs/authentication-local'`)}
|
|
18
18
|
|
|
@@ -34,6 +34,7 @@ export const ${camelName}Schema = Type.Object({
|
|
|
34
34
|
.join(',\n')}
|
|
35
35
|
},{ $id: '${upperName}', additionalProperties: false })
|
|
36
36
|
export type ${upperName} = Static<typeof ${camelName}Schema>
|
|
37
|
+
export const ${camelName}Validator = getValidator(${camelName}Schema, dataValidator)
|
|
37
38
|
export const ${camelName}Resolver = resolve<${upperName}, HookContext>({})
|
|
38
39
|
|
|
39
40
|
export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({
|
|
@@ -51,7 +52,7 @@ export const ${camelName}DataSchema = Type.Pick(${camelName}Schema, [
|
|
|
51
52
|
{ $id: '${upperName}Data', additionalProperties: false }
|
|
52
53
|
)
|
|
53
54
|
export type ${upperName}Data = Static<typeof ${camelName}DataSchema>
|
|
54
|
-
export const ${camelName}DataValidator =
|
|
55
|
+
export const ${camelName}DataValidator = getValidator(${camelName}DataSchema, dataValidator)
|
|
55
56
|
export const ${camelName}DataResolver = resolve<${upperName}, HookContext>({
|
|
56
57
|
${localTemplate(authStrategies, `password: passwordHash({ strategy: 'local' })`)}
|
|
57
58
|
})
|
|
@@ -61,7 +62,7 @@ export const ${camelName}PatchSchema = Type.Partial(${camelName}Schema, {
|
|
|
61
62
|
$id: '${upperName}Patch'
|
|
62
63
|
})
|
|
63
64
|
export type ${upperName}Patch = Static<typeof ${camelName}PatchSchema>
|
|
64
|
-
export const ${camelName}PatchValidator =
|
|
65
|
+
export const ${camelName}PatchValidator = getValidator(${camelName}PatchSchema, dataValidator)
|
|
65
66
|
export const ${camelName}PatchResolver = resolve<${upperName}, HookContext>({
|
|
66
67
|
${localTemplate(authStrategies, `password: passwordHash({ strategy: 'local' })`)}
|
|
67
68
|
})
|
|
@@ -3,28 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generate = void 0;
|
|
4
4
|
const pinion_1 = require("@feathershq/pinion");
|
|
5
5
|
const commons_1 = require("../../commons");
|
|
6
|
-
const importTemplate = ({ upperName, folder, fileName,
|
|
7
|
-
|
|
8
|
-
${upperName}Data,
|
|
9
|
-
${upperName}Query,
|
|
10
|
-
${className}
|
|
11
|
-
} from './services/${folder.join('/')}/${fileName}'
|
|
6
|
+
const importTemplate = ({ upperName, folder, fileName, camelName }) => /* ts */ `
|
|
7
|
+
import { ${camelName}Client } from './services/${folder.join('/')}/${fileName}.shared'
|
|
12
8
|
export type {
|
|
13
9
|
${upperName},
|
|
14
10
|
${upperName}Data,
|
|
15
|
-
${upperName}Query
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type ${upperName}ClientService = Pick<${className}${type !== 'custom' ? `<Params<${upperName}Query>>` : ''}, typeof ${camelName}ServiceMethods[number]>
|
|
11
|
+
${upperName}Query,
|
|
12
|
+
${upperName}Patch
|
|
13
|
+
} from './services/${folder.join('/')}/${fileName}.shared'
|
|
19
14
|
`;
|
|
20
|
-
const
|
|
21
|
-
const registrationTemplate = ({ camelName, path }) => ` client.use('${path}', connection.service('${path}'), {
|
|
22
|
-
methods: ${camelName}ServiceMethods
|
|
23
|
-
})`;
|
|
15
|
+
const registrationTemplate = ({ camelName }) => ` client.configure(${camelName}Client)`;
|
|
24
16
|
const toClientFile = (0, pinion_1.toFile)(({ lib }) => [lib, 'client']);
|
|
25
17
|
const generate = async (ctx) => (0, pinion_1.generator)(ctx)
|
|
26
18
|
.then((0, commons_1.injectSource)(registrationTemplate, (0, pinion_1.before)('return client'), toClientFile))
|
|
27
|
-
.then((0, pinion_1.
|
|
28
|
-
.then((0, pinion_1.when)((ctx) => ctx.language === 'ts', (0, commons_1.injectSource)(importTemplate, (0, pinion_1.after)('import type { AuthenticationClientOptions }'), toClientFile), (0, commons_1.injectSource)(declarationTemplate, (0, pinion_1.after)('export interface ServiceTypes'), toClientFile)));
|
|
19
|
+
.then((0, commons_1.injectSource)(importTemplate, (0, pinion_1.after)(({ language }) => language === 'ts' ? 'import type { AuthenticationClientOptions }' : 'import authenticationClient'), toClientFile));
|
|
29
20
|
exports.generate = generate;
|
|
30
21
|
//# sourceMappingURL=client.tpl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/client.tpl.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"client.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/client.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAqE;AACrE,2CAA4C;AAG5C,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAA2B,EAAE,EAAE,CAAC,QAAQ,CAAC;WAC9F,SAAS,6BAA6B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ;;IAEzE,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;qBACQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ;CAChD,CAAA;AAED,MAAM,oBAAoB,GAAG,CAAC,EAAE,SAAS,EAA2B,EAAE,EAAE,CACtE,sBAAsB,SAAS,SAAS,CAAA;AAE1C,MAAM,YAAY,GAAG,IAAA,eAAM,EAA0B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE3E,MAAM,QAAQ,GAAG,KAAK,EAAE,GAA4B,EAAE,EAAE,CAC7D,IAAA,kBAAS,EAAC,GAAG,CAAC;KACX,IAAI,CAAC,IAAA,sBAAY,EAAC,oBAAoB,EAAE,IAAA,eAAM,EAAC,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC;KAC/E,IAAI,CACH,IAAA,sBAAY,EACV,cAAc,EACd,IAAA,cAAK,EAA0B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC9C,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,6BAA6B,CAClG,EACD,YAAY,CACb,CACF,CAAA;AAXQ,QAAA,QAAQ,YAWhB"}
|
|
@@ -1,40 +1,19 @@
|
|
|
1
|
-
import { generator, toFile,
|
|
1
|
+
import { generator, toFile, after, before } from '@feathershq/pinion'
|
|
2
2
|
import { injectSource } from '../../commons'
|
|
3
3
|
import { ServiceGeneratorContext } from '../index'
|
|
4
4
|
|
|
5
|
-
const importTemplate = ({
|
|
6
|
-
|
|
7
|
-
folder,
|
|
8
|
-
fileName,
|
|
9
|
-
className,
|
|
10
|
-
camelName,
|
|
11
|
-
type
|
|
12
|
-
}: ServiceGeneratorContext) => /* ts */ `import type {
|
|
13
|
-
${upperName},
|
|
14
|
-
${upperName}Data,
|
|
15
|
-
${upperName}Query,
|
|
16
|
-
${className}
|
|
17
|
-
} from './services/${folder.join('/')}/${fileName}'
|
|
5
|
+
const importTemplate = ({ upperName, folder, fileName, camelName }: ServiceGeneratorContext) => /* ts */ `
|
|
6
|
+
import { ${camelName}Client } from './services/${folder.join('/')}/${fileName}.shared'
|
|
18
7
|
export type {
|
|
19
8
|
${upperName},
|
|
20
9
|
${upperName}Data,
|
|
21
|
-
${upperName}Query
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export type ${upperName}ClientService = Pick<${className}${
|
|
25
|
-
type !== 'custom' ? `<Params<${upperName}Query>>` : ''
|
|
26
|
-
}, typeof ${camelName}ServiceMethods[number]>
|
|
10
|
+
${upperName}Query,
|
|
11
|
+
${upperName}Patch
|
|
12
|
+
} from './services/${folder.join('/')}/${fileName}.shared'
|
|
27
13
|
`
|
|
28
14
|
|
|
29
|
-
const
|
|
30
|
-
`
|
|
31
|
-
|
|
32
|
-
const registrationTemplate = ({
|
|
33
|
-
camelName,
|
|
34
|
-
path
|
|
35
|
-
}: ServiceGeneratorContext) => ` client.use('${path}', connection.service('${path}'), {
|
|
36
|
-
methods: ${camelName}ServiceMethods
|
|
37
|
-
})`
|
|
15
|
+
const registrationTemplate = ({ camelName }: ServiceGeneratorContext) =>
|
|
16
|
+
` client.configure(${camelName}Client)`
|
|
38
17
|
|
|
39
18
|
const toClientFile = toFile<ServiceGeneratorContext>(({ lib }) => [lib, 'client'])
|
|
40
19
|
|
|
@@ -42,15 +21,11 @@ export const generate = async (ctx: ServiceGeneratorContext) =>
|
|
|
42
21
|
generator(ctx)
|
|
43
22
|
.then(injectSource(registrationTemplate, before('return client'), toClientFile))
|
|
44
23
|
.then(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
when(
|
|
52
|
-
(ctx) => ctx.language === 'ts',
|
|
53
|
-
injectSource(importTemplate, after('import type { AuthenticationClientOptions }'), toClientFile),
|
|
54
|
-
injectSource(declarationTemplate, after('export interface ServiceTypes'), toClientFile)
|
|
24
|
+
injectSource(
|
|
25
|
+
importTemplate,
|
|
26
|
+
after<ServiceGeneratorContext>(({ language }) =>
|
|
27
|
+
language === 'ts' ? 'import type { AuthenticationClientOptions }' : 'import authenticationClient'
|
|
28
|
+
),
|
|
29
|
+
toClientFile
|
|
55
30
|
)
|
|
56
31
|
)
|
|
@@ -27,7 +27,9 @@ export const ${camelName}Schema = {
|
|
|
27
27
|
}
|
|
28
28
|
} as const
|
|
29
29
|
export type ${upperName} = FromSchema<typeof ${camelName}Schema>
|
|
30
|
+
export const ${camelName}Validator = getValidator(${camelName}Schema, dataValidator)
|
|
30
31
|
export const ${camelName}Resolver = resolve<${upperName}, HookContext>({})
|
|
32
|
+
|
|
31
33
|
export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({})
|
|
32
34
|
|
|
33
35
|
// Schema for creating new data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.json.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/schema.json.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAAwD;AAGxD,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,GAAG,EACqB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;oCAIJ,QAAQ;iDACK,QAAQ,IACvD,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,6CAA6C;AACjG;;;eAGe,SAAS;UACd,SAAS;;;iBAGF,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;MAE5C,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;eACxB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;;;;;;;cAOzC,SAAS,wBAAwB,SAAS;eACzC,SAAS,
|
|
1
|
+
{"version":3,"file":"schema.json.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/schema.json.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAAwD;AAGxD,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,GAAG,EACqB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;oCAIJ,QAAQ;iDACK,QAAQ,IACvD,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,6CAA6C;AACjG;;;eAGe,SAAS;UACd,SAAS;;;iBAGF,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;MAE5C,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;eACxB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;;;;;;;cAOzC,SAAS,wBAAwB,SAAS;eACzC,SAAS,4BAA4B,SAAS;eAC9C,SAAS,sBAAsB,SAAS;;eAExC,SAAS,8BAA8B,SAAS;;;eAGhD,SAAS;UACd,SAAS;;;;;;;;;;cAUL,SAAS,4BAA4B,SAAS;eAC7C,SAAS,gCAAgC,SAAS;eAClD,SAAS,0BAA0B,SAAS;;;eAG5C,SAAS;UACd,SAAS;;;;;SAKV,SAAS;;;cAGJ,SAAS,6BAA6B,SAAS;eAC9C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;;;eAG7C,SAAS;UACd,SAAS;;;;qBAIE,SAAS;;;cAGhB,SAAS,6BAA6B,SAAS;eAC9C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;CAC3D,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,aAAI,EACF,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,EACjC,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,SAAS;CACrB,CAAC,CACH,CACF,CACF,CAAA;AAdU,QAAA,QAAQ,YAclB"}
|
|
@@ -34,7 +34,9 @@ export const ${camelName}Schema = {
|
|
|
34
34
|
}
|
|
35
35
|
} as const
|
|
36
36
|
export type ${upperName} = FromSchema<typeof ${camelName}Schema>
|
|
37
|
+
export const ${camelName}Validator = getValidator(${camelName}Schema, dataValidator)
|
|
37
38
|
export const ${camelName}Resolver = resolve<${upperName}, HookContext>({})
|
|
39
|
+
|
|
38
40
|
export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({})
|
|
39
41
|
|
|
40
42
|
// Schema for creating new data
|
|
@@ -5,7 +5,7 @@ const pinion_1 = require("@feathershq/pinion");
|
|
|
5
5
|
const commons_1 = require("../../commons");
|
|
6
6
|
const template = ({ camelName, upperName, relative, type, cwd, lib }) => /* ts */ `// // For more information about this file see https://dove.feathersjs.com/guides/cli/service.schemas.html
|
|
7
7
|
import { resolve } from '@feathersjs/schema'
|
|
8
|
-
import { Type,
|
|
8
|
+
import { Type, getValidator, querySyntax } from '@feathersjs/typebox'
|
|
9
9
|
import type { Static } from '@feathersjs/typebox'
|
|
10
10
|
|
|
11
11
|
import type { HookContext } from '${relative}/declarations'
|
|
@@ -18,6 +18,7 @@ export const ${camelName}Schema = Type.Object({
|
|
|
18
18
|
text: Type.String()
|
|
19
19
|
}, { $id: '${upperName}', additionalProperties: false })
|
|
20
20
|
export type ${upperName} = Static<typeof ${camelName}Schema>
|
|
21
|
+
export const ${camelName}Validator = getValidator(${camelName}Schema, dataValidator)
|
|
21
22
|
export const ${camelName}Resolver = resolve<${upperName}, HookContext>({})
|
|
22
23
|
|
|
23
24
|
export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({})
|
|
@@ -27,7 +28,7 @@ export const ${camelName}DataSchema = Type.Pick(${camelName}Schema, ['text'], {
|
|
|
27
28
|
$id: '${upperName}Data'
|
|
28
29
|
})
|
|
29
30
|
export type ${upperName}Data = Static<typeof ${camelName}DataSchema>
|
|
30
|
-
export const ${camelName}DataValidator =
|
|
31
|
+
export const ${camelName}DataValidator = getValidator(${camelName}DataSchema, dataValidator)
|
|
31
32
|
export const ${camelName}DataResolver = resolve<${upperName}, HookContext>({})
|
|
32
33
|
|
|
33
34
|
// Schema for updating existing entries
|
|
@@ -35,7 +36,7 @@ export const ${camelName}PatchSchema = Type.Partial(${camelName}DataSchema, {
|
|
|
35
36
|
$id: '${upperName}Patch'
|
|
36
37
|
})
|
|
37
38
|
export type ${upperName}Patch = Static<typeof ${camelName}PatchSchema>
|
|
38
|
-
export const ${camelName}PatchValidator =
|
|
39
|
+
export const ${camelName}PatchValidator = getValidator(${camelName}PatchSchema, dataValidator)
|
|
39
40
|
export const ${camelName}PatchResolver = resolve<${upperName}, HookContext>({})
|
|
40
41
|
|
|
41
42
|
// Schema for allowed query properties
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.typebox.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/schema.typebox.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAAwD;AAGxD,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,GAAG,EACqB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;;oCAKJ,QAAQ;iDACK,QAAQ,IACvD,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,6CAA6C;AACjG;;;eAGe,SAAS;MAClB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB;;eAEtD,SAAS;cACV,SAAS,oBAAoB,SAAS;eACrC,SAAS,sBAAsB,SAAS;;eAExC,SAAS,8BAA8B,SAAS;;;eAGhD,SAAS,0BAA0B,SAAS;UACjD,SAAS;;cAEL,SAAS,wBAAwB,SAAS;eACzC,SAAS,
|
|
1
|
+
{"version":3,"file":"schema.typebox.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/schema.typebox.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAAwD;AAGxD,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,GAAG,EACqB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;;oCAKJ,QAAQ;iDACK,QAAQ,IACvD,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,6CAA6C;AACjG;;;eAGe,SAAS;MAClB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB;;eAEtD,SAAS;cACV,SAAS,oBAAoB,SAAS;eACrC,SAAS,4BAA4B,SAAS;eAC9C,SAAS,sBAAsB,SAAS;;eAExC,SAAS,8BAA8B,SAAS;;;eAGhD,SAAS,0BAA0B,SAAS;UACjD,SAAS;;cAEL,SAAS,wBAAwB,SAAS;eACzC,SAAS,gCAAgC,SAAS;eAClD,SAAS,0BAA0B,SAAS;;;eAG5C,SAAS,8BAA8B,SAAS;UACrD,SAAS;;cAEL,SAAS,yBAAyB,SAAS;eAC1C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;;;eAG7C,SAAS,+BAA+B,SAAS;KAC3D,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;eAEvB,SAAS;gBACR,SAAS;;;;cAIX,SAAS,yBAAyB,SAAS;eAC1C,SAAS,iCAAiC,SAAS;eACnD,SAAS,2BAA2B,SAAS;CAC3D,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,aAAI,EACF,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,EACpC,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,SAAS;CACrB,CAAC,CACH,CACF,CACF,CAAA;AAdU,QAAA,QAAQ,YAclB"}
|
|
@@ -11,7 +11,7 @@ const template = ({
|
|
|
11
11
|
lib
|
|
12
12
|
}: ServiceGeneratorContext) => /* ts */ `// // For more information about this file see https://dove.feathersjs.com/guides/cli/service.schemas.html
|
|
13
13
|
import { resolve } from '@feathersjs/schema'
|
|
14
|
-
import { Type,
|
|
14
|
+
import { Type, getValidator, querySyntax } from '@feathersjs/typebox'
|
|
15
15
|
import type { Static } from '@feathersjs/typebox'
|
|
16
16
|
|
|
17
17
|
import type { HookContext } from '${relative}/declarations'
|
|
@@ -25,6 +25,7 @@ export const ${camelName}Schema = Type.Object({
|
|
|
25
25
|
text: Type.String()
|
|
26
26
|
}, { $id: '${upperName}', additionalProperties: false })
|
|
27
27
|
export type ${upperName} = Static<typeof ${camelName}Schema>
|
|
28
|
+
export const ${camelName}Validator = getValidator(${camelName}Schema, dataValidator)
|
|
28
29
|
export const ${camelName}Resolver = resolve<${upperName}, HookContext>({})
|
|
29
30
|
|
|
30
31
|
export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({})
|
|
@@ -34,7 +35,7 @@ export const ${camelName}DataSchema = Type.Pick(${camelName}Schema, ['text'], {
|
|
|
34
35
|
$id: '${upperName}Data'
|
|
35
36
|
})
|
|
36
37
|
export type ${upperName}Data = Static<typeof ${camelName}DataSchema>
|
|
37
|
-
export const ${camelName}DataValidator =
|
|
38
|
+
export const ${camelName}DataValidator = getValidator(${camelName}DataSchema, dataValidator)
|
|
38
39
|
export const ${camelName}DataResolver = resolve<${upperName}, HookContext>({})
|
|
39
40
|
|
|
40
41
|
// Schema for updating existing entries
|
|
@@ -42,7 +43,7 @@ export const ${camelName}PatchSchema = Type.Partial(${camelName}DataSchema, {
|
|
|
42
43
|
$id: '${upperName}Patch'
|
|
43
44
|
})
|
|
44
45
|
export type ${upperName}Patch = Static<typeof ${camelName}PatchSchema>
|
|
45
|
-
export const ${camelName}PatchValidator =
|
|
46
|
+
export const ${camelName}PatchValidator = getValidator(${camelName}PatchSchema, dataValidator)
|
|
46
47
|
export const ${camelName}PatchResolver = resolve<${upperName}, HookContext>({})
|
|
47
48
|
|
|
48
49
|
// Schema for allowed query properties
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ServiceGeneratorContext } from '../index';
|
|
2
|
-
export declare const template: ({ camelName, authentication, isEntityService,
|
|
2
|
+
export declare const template: ({ camelName, authentication, isEntityService, className, relative, schema, fileName }: ServiceGeneratorContext) => string;
|
|
3
3
|
export declare const generate: (ctx: ServiceGeneratorContext) => Promise<ServiceGeneratorContext>;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generate = exports.template = void 0;
|
|
4
4
|
const pinion_1 = require("@feathershq/pinion");
|
|
5
5
|
const commons_1 = require("../../commons");
|
|
6
|
-
const template = ({ camelName, authentication, isEntityService,
|
|
6
|
+
const template = ({ camelName, authentication, isEntityService, className, relative, schema, fileName }) => /* ts */ `// For more information about this file see https://dove.feathersjs.com/guides/cli/service.html
|
|
7
7
|
${authentication || isEntityService ? `import { authenticate } from '@feathersjs/authentication'` : ''}
|
|
8
8
|
${schema
|
|
9
9
|
? `
|
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
|
|
25
25
|
import type { Application } from '${relative}/declarations'
|
|
26
26
|
import { ${className}, getOptions } from './${fileName}.class'
|
|
27
|
+
import { ${camelName}Path, ${camelName}Methods } from './${fileName}.shared'
|
|
27
28
|
|
|
28
29
|
export * from './${fileName}.class'
|
|
29
30
|
${schema ? `export * from './${fileName}.schema'` : ''}
|
|
@@ -31,14 +32,14 @@ ${schema ? `export * from './${fileName}.schema'` : ''}
|
|
|
31
32
|
// A configure function that registers the service and its hooks via \`app.configure\`
|
|
32
33
|
export const ${camelName} = (app: Application) => {
|
|
33
34
|
// Register our service on the Feathers application
|
|
34
|
-
app.use(
|
|
35
|
+
app.use(${camelName}Path, new ${className}(getOptions(app)), {
|
|
35
36
|
// A list of all methods this service exposes externally
|
|
36
|
-
methods:
|
|
37
|
+
methods: ${camelName}Methods,
|
|
37
38
|
// You can add additional custom events to be sent to clients here
|
|
38
39
|
events: []
|
|
39
40
|
})
|
|
40
41
|
// Initialize hooks
|
|
41
|
-
app.service(
|
|
42
|
+
app.service(${camelName}Path).hooks({
|
|
42
43
|
around: {
|
|
43
44
|
all: [${authentication
|
|
44
45
|
? `
|
|
@@ -93,7 +94,7 @@ export const ${camelName} = (app: Application) => {
|
|
|
93
94
|
// Add this service to the service type index
|
|
94
95
|
declare module '${relative}/declarations' {
|
|
95
96
|
interface ServiceTypes {
|
|
96
|
-
|
|
97
|
+
[${camelName}Path]: ${className}
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/service.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AACtE,2CAA0D;AAGnD,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,cAAc,EACd,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"service.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/service.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AACtE,2CAA0D;AAGnD,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,cAAc,EACd,eAAe,EACf,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACgB,EAAE,EAAE,CAAC,QAAQ,CAAC;EACtC,cAAc,IAAI,eAAe,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,EAAE;EAEpG,MAAM;IACJ,CAAC,CAAC;;;;IAIF,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC,EACN;;oCAEoC,QAAQ;WACjC,SAAS,0BAA0B,QAAQ;WAC3C,SAAS,SAAS,SAAS,qBAAqB,QAAQ;;mBAEhD,QAAQ;EACzB,MAAM,CAAC,CAAC,CAAC,oBAAoB,QAAQ,UAAU,CAAC,CAAC,CAAC,EAAE;;;eAGvC,SAAS;;YAEZ,SAAS,aAAa,SAAS;;eAE5B,SAAS;;;;;gBAKR,SAAS;;cAGjB,cAAc;IACZ,CAAC,CAAC;6BACiB;IACnB,CAAC,CAAC,EACN,IACJ,MAAM;IACJ,CAAC,CAAC;sCACgC,SAAS;oCACX,SAAS,YAAY;IACrD,CAAC,CAAC,EACN;UAEQ,eAAe;IACb,CAAC,CAAC;;;;;;oCAMwB;IAC1B,CAAC,CAAC,EACN;;;cAIE,MAAM;IACJ,CAAC,CAAC;oCACwB,SAAS;mCACV,SAAS;OACrC;IACG,CAAC,CAAC,EACN;;;iBAIE,MAAM;IACJ,CAAC,CAAC;mCACuB,SAAS;kCACV,SAAS;OACpC;IACG,CAAC,CAAC,EACN;gBAEE,MAAM;IACJ,CAAC,CAAC;mCACuB,SAAS;kCACV,SAAS;OACpC;IACG,CAAC,CAAC,EACN;;;;;;;;;;;;;kBAaY,QAAQ;;OAEnB,SAAS,UAAU,SAAS;;;CAGlC,CAAA;AApHY,QAAA,QAAQ,YAoHpB;AAED,MAAM,cAAc,GAAG,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAA2B,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;AAExF,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC;KACX,IAAI,CACH,IAAA,sBAAY,EACV,gBAAQ,EACR,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAA2B,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,EAAE;CACd,CAAC,CACH,CACF;KACA,IAAI,CACH,IAAA,sBAAY,EACV,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAClC,YAAY,SAAS,cAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,GAAG,EACpE,IAAA,gBAAO,GAAE,EACT,cAAc,CACf,CACF;KACA,IAAI,CACH,IAAA,sBAAY,EACV,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,mBAAmB,SAAS,GAAG,EAClD,IAAA,cAAK,EAAC,uBAAuB,CAAC,EAC9B,cAAc,CACf,CACF,CAAA;AA3BQ,QAAA,QAAQ,YA2BhB"}
|
|
@@ -6,7 +6,6 @@ export const template = ({
|
|
|
6
6
|
camelName,
|
|
7
7
|
authentication,
|
|
8
8
|
isEntityService,
|
|
9
|
-
path,
|
|
10
9
|
className,
|
|
11
10
|
relative,
|
|
12
11
|
schema,
|
|
@@ -34,6 +33,7 @@ import {
|
|
|
34
33
|
|
|
35
34
|
import type { Application } from '${relative}/declarations'
|
|
36
35
|
import { ${className}, getOptions } from './${fileName}.class'
|
|
36
|
+
import { ${camelName}Path, ${camelName}Methods } from './${fileName}.shared'
|
|
37
37
|
|
|
38
38
|
export * from './${fileName}.class'
|
|
39
39
|
${schema ? `export * from './${fileName}.schema'` : ''}
|
|
@@ -41,14 +41,14 @@ ${schema ? `export * from './${fileName}.schema'` : ''}
|
|
|
41
41
|
// A configure function that registers the service and its hooks via \`app.configure\`
|
|
42
42
|
export const ${camelName} = (app: Application) => {
|
|
43
43
|
// Register our service on the Feathers application
|
|
44
|
-
app.use(
|
|
44
|
+
app.use(${camelName}Path, new ${className}(getOptions(app)), {
|
|
45
45
|
// A list of all methods this service exposes externally
|
|
46
|
-
methods:
|
|
46
|
+
methods: ${camelName}Methods,
|
|
47
47
|
// You can add additional custom events to be sent to clients here
|
|
48
48
|
events: []
|
|
49
49
|
})
|
|
50
50
|
// Initialize hooks
|
|
51
|
-
app.service(
|
|
51
|
+
app.service(${camelName}Path).hooks({
|
|
52
52
|
around: {
|
|
53
53
|
all: [${
|
|
54
54
|
authentication
|
|
@@ -115,7 +115,7 @@ export const ${camelName} = (app: Application) => {
|
|
|
115
115
|
// Add this service to the service type index
|
|
116
116
|
declare module '${relative}/declarations' {
|
|
117
117
|
interface ServiceTypes {
|
|
118
|
-
|
|
118
|
+
[${camelName}Path]: ${className}
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
`
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generate = void 0;
|
|
4
|
+
const pinion_1 = require("@feathershq/pinion");
|
|
5
|
+
const commons_1 = require("../../commons");
|
|
6
|
+
const sharedTemplate = ({ camelName, upperName, className, fileName, relative, path }) => /* ts */ `// For more information about this file see https://dove.feathersjs.com/guides/cli/service.shared.html
|
|
7
|
+
import type { Params } from '@feathersjs/feathers'
|
|
8
|
+
import type { ClientApplication } from '${relative}/client'
|
|
9
|
+
import type {
|
|
10
|
+
${upperName},
|
|
11
|
+
${upperName}Data,
|
|
12
|
+
${upperName}Patch,
|
|
13
|
+
${upperName}Query,
|
|
14
|
+
${className}
|
|
15
|
+
} from './${fileName}.class'
|
|
16
|
+
|
|
17
|
+
export type { ${upperName}, ${upperName}Data, ${upperName}Patch, ${upperName}Query }
|
|
18
|
+
|
|
19
|
+
export type ${upperName}ClientService = Pick<
|
|
20
|
+
${className}<Params<${upperName}Query>>,
|
|
21
|
+
typeof ${camelName}Methods[number]
|
|
22
|
+
>
|
|
23
|
+
|
|
24
|
+
export const ${camelName}Path = '${path}'
|
|
25
|
+
|
|
26
|
+
export const ${camelName}Methods = ['find', 'get', 'create', 'patch', 'remove'] as const
|
|
27
|
+
|
|
28
|
+
export const ${camelName}Client = (client: ClientApplication) => {
|
|
29
|
+
const connection = client.get('connection')
|
|
30
|
+
|
|
31
|
+
client.use(${camelName}Path, connection.service(${camelName}Path), {
|
|
32
|
+
methods: ${camelName}Methods
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Add this service to the client service type index
|
|
37
|
+
declare module '${relative}/client' {
|
|
38
|
+
interface ServiceTypes {
|
|
39
|
+
[${camelName}Path]: ${upperName}ClientService
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
const generate = async (ctx) => (0, pinion_1.generator)(ctx).then((0, commons_1.renderSource)(sharedTemplate, (0, pinion_1.toFile)(({ lib, folder, fileName }) => [
|
|
44
|
+
lib,
|
|
45
|
+
'services',
|
|
46
|
+
...folder,
|
|
47
|
+
`${fileName}.shared`
|
|
48
|
+
])));
|
|
49
|
+
exports.generate = generate;
|
|
50
|
+
//# sourceMappingURL=shared.tpl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/shared.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,cAAc,GAAG,CAAC,EACtB,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACoB,EAAE,EAAE,CAAC,QAAQ,CAAC;;0CAEE,QAAQ;;IAE9C,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;;gBAEJ,SAAS,KAAK,SAAS,SAAS,SAAS,UAAU,SAAS;;cAE9D,SAAS;IACnB,SAAS,WAAW,SAAS;WACtB,SAAS;;;eAGL,SAAS,WAAW,IAAI;;eAExB,SAAS;;eAET,SAAS;;;eAGT,SAAS,4BAA4B,SAAS;eAC9C,SAAS;;;;;kBAKN,QAAQ;;OAEnB,SAAS,UAAU,SAAS;;;CAGlC,CAAA;AAEM,MAAM,QAAQ,GAAG,KAAK,EAAE,GAA4B,EAAE,EAAE,CAC7D,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,sBAAY,EACV,cAAc,EACd,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,SAAS;CACrB,CAAC,CACH,CACF,CAAA;AAXU,QAAA,QAAQ,YAWlB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { generator, toFile } from '@feathershq/pinion'
|
|
2
|
+
import { renderSource } from '../../commons'
|
|
3
|
+
import { ServiceGeneratorContext } from '../index'
|
|
4
|
+
|
|
5
|
+
const sharedTemplate = ({
|
|
6
|
+
camelName,
|
|
7
|
+
upperName,
|
|
8
|
+
className,
|
|
9
|
+
fileName,
|
|
10
|
+
relative,
|
|
11
|
+
path
|
|
12
|
+
}: ServiceGeneratorContext) => /* ts */ `// For more information about this file see https://dove.feathersjs.com/guides/cli/service.shared.html
|
|
13
|
+
import type { Params } from '@feathersjs/feathers'
|
|
14
|
+
import type { ClientApplication } from '${relative}/client'
|
|
15
|
+
import type {
|
|
16
|
+
${upperName},
|
|
17
|
+
${upperName}Data,
|
|
18
|
+
${upperName}Patch,
|
|
19
|
+
${upperName}Query,
|
|
20
|
+
${className}
|
|
21
|
+
} from './${fileName}.class'
|
|
22
|
+
|
|
23
|
+
export type { ${upperName}, ${upperName}Data, ${upperName}Patch, ${upperName}Query }
|
|
24
|
+
|
|
25
|
+
export type ${upperName}ClientService = Pick<
|
|
26
|
+
${className}<Params<${upperName}Query>>,
|
|
27
|
+
typeof ${camelName}Methods[number]
|
|
28
|
+
>
|
|
29
|
+
|
|
30
|
+
export const ${camelName}Path = '${path}'
|
|
31
|
+
|
|
32
|
+
export const ${camelName}Methods = ['find', 'get', 'create', 'patch', 'remove'] as const
|
|
33
|
+
|
|
34
|
+
export const ${camelName}Client = (client: ClientApplication) => {
|
|
35
|
+
const connection = client.get('connection')
|
|
36
|
+
|
|
37
|
+
client.use(${camelName}Path, connection.service(${camelName}Path), {
|
|
38
|
+
methods: ${camelName}Methods
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Add this service to the client service type index
|
|
43
|
+
declare module '${relative}/client' {
|
|
44
|
+
interface ServiceTypes {
|
|
45
|
+
[${camelName}Path]: ${upperName}ClientService
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
`
|
|
49
|
+
|
|
50
|
+
export const generate = async (ctx: ServiceGeneratorContext) =>
|
|
51
|
+
generator(ctx).then(
|
|
52
|
+
renderSource(
|
|
53
|
+
sharedTemplate,
|
|
54
|
+
toFile(({ lib, folder, fileName }: ServiceGeneratorContext) => [
|
|
55
|
+
lib,
|
|
56
|
+
'services',
|
|
57
|
+
...folder,
|
|
58
|
+
`${fileName}.shared`
|
|
59
|
+
])
|
|
60
|
+
)
|
|
61
|
+
)
|
|
@@ -16,12 +16,14 @@ ${schema
|
|
|
16
16
|
} from './${fileName}.schema'
|
|
17
17
|
`
|
|
18
18
|
: `
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
type ${upperName} = any
|
|
20
|
+
type ${upperName}Data = any
|
|
21
|
+
type ${upperName}Patch = any
|
|
22
|
+
type ${upperName}Query = any
|
|
23
23
|
`}
|
|
24
24
|
|
|
25
|
+
export type { ${upperName}, ${upperName}Data, ${upperName}Patch, ${upperName}Query }
|
|
26
|
+
|
|
25
27
|
export interface ${className}Options {
|
|
26
28
|
app: Application
|
|
27
29
|
}
|
|
@@ -31,24 +33,25 @@ export interface ${upperName}Params extends Params<${upperName}Query> {
|
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
// This is a skeleton for a custom service class. Remove or add the methods you need here
|
|
34
|
-
export class ${className}
|
|
36
|
+
export class ${className}<ServiceParams extends Params = ${upperName}Params>
|
|
37
|
+
implements ServiceInterface<${upperName}, ${upperName}Data, ServiceParams, ${upperName}Patch> {
|
|
35
38
|
constructor (public options: ${className}Options) {
|
|
36
39
|
}
|
|
37
40
|
|
|
38
|
-
async find (_params?:
|
|
41
|
+
async find (_params?: ServiceParams): Promise<${upperName}[]> {
|
|
39
42
|
return []
|
|
40
43
|
}
|
|
41
44
|
|
|
42
|
-
async get (id: Id, _params?:
|
|
45
|
+
async get (id: Id, _params?: ServiceParams): Promise<${upperName}> {
|
|
43
46
|
return {
|
|
44
47
|
id: 0,
|
|
45
48
|
text: \`A new message with ID: \${id}!\`
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
|
|
49
|
-
async create (data: ${upperName}Data, params?:
|
|
50
|
-
async create (data: ${upperName}Data[], params?:
|
|
51
|
-
async create (data: ${upperName}Data|${upperName}Data[], params?:
|
|
52
|
+
async create (data: ${upperName}Data, params?: ServiceParams): Promise<${upperName}>
|
|
53
|
+
async create (data: ${upperName}Data[], params?: ServiceParams): Promise<${upperName}[]>
|
|
54
|
+
async create (data: ${upperName}Data|${upperName}Data[], params?: ServiceParams): Promise<${upperName}|${upperName}[]> {
|
|
52
55
|
if (Array.isArray(data)) {
|
|
53
56
|
return Promise.all(data.map(current => this.create(current, params)));
|
|
54
57
|
}
|
|
@@ -60,14 +63,14 @@ export class ${className} implements ServiceInterface<${upperName}, ${upperName}
|
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
// This method has to be added to the 'methods' option to make it available to clients
|
|
63
|
-
async update (id: NullableId, data: ${upperName}Data, _params?:
|
|
66
|
+
async update (id: NullableId, data: ${upperName}Data, _params?: ServiceParams): Promise<${upperName}> {
|
|
64
67
|
return {
|
|
65
68
|
id: 0,
|
|
66
69
|
...data
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
|
|
70
|
-
async patch (id: NullableId, data: ${upperName}Patch, _params?:
|
|
73
|
+
async patch (id: NullableId, data: ${upperName}Patch, _params?: ServiceParams): Promise<${upperName}> {
|
|
71
74
|
return {
|
|
72
75
|
id: 0,
|
|
73
76
|
text: \`Fallback for \${id}\`,
|
|
@@ -75,7 +78,7 @@ export class ${className} implements ServiceInterface<${upperName}, ${upperName}
|
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
80
|
|
|
78
|
-
async remove (id: NullableId, _params?:
|
|
81
|
+
async remove (id: NullableId, _params?: ServiceParams): Promise<${upperName}> {
|
|
79
82
|
return {
|
|
80
83
|
id: 0,
|
|
81
84
|
text: 'removed'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.tpl.js","sourceRoot":"","sources":["../../../src/service/type/custom.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAGrC,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACgB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;oCAGJ,QAAQ;EAE1C,MAAM;IACJ,CAAC,CAAC;IACF,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"custom.tpl.js","sourceRoot":"","sources":["../../../src/service/type/custom.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAGrC,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACgB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;oCAGJ,QAAQ;EAE1C,MAAM;IACJ,CAAC,CAAC;IACF,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC;OACC,SAAS;OACT,SAAS;OACT,SAAS;OACT,SAAS;CAEhB;;gBAEgB,SAAS,KAAK,SAAS,SAAS,SAAS,UAAU,SAAS;;mBAEzD,SAAS;;;;mBAIT,SAAS,yBAAyB,SAAS;;;;;eAK/C,SAAS,mCAAmC,SAAS;kCAClC,SAAS,KAAK,SAAS,wBAAwB,SAAS;iCACzD,SAAS;;;kDAGQ,SAAS;;;;yDAIF,SAAS;;;;;;;wBAO1C,SAAS,0CAA0C,SAAS;wBAC5D,SAAS,4CAA4C,SAAS;wBAC9D,SAAS,QAAQ,SAAS,4CAA4C,SAAS,IAAI,SAAS;;;;;;;;;;;;wCAY5E,SAAS,2CAA2C,SAAS;;;;;;;uCAO9D,SAAS,4CAA4C,SAAS;;;;;;;;oEAQjC,SAAS;;;;;;;;;;;CAW5E,CAAA;AA9FY,QAAA,QAAQ,YA8FpB;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,sBAAY,EACV,gBAAQ,EACR,IAAA,eAAM,EAA0B,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,QAAQ;CACpB,CAAC,CACH,CACF,CAAA;AAXU,QAAA,QAAQ,YAWlB"}
|
|
@@ -22,13 +22,15 @@ ${
|
|
|
22
22
|
} from './${fileName}.schema'
|
|
23
23
|
`
|
|
24
24
|
: `
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
type ${upperName} = any
|
|
26
|
+
type ${upperName}Data = any
|
|
27
|
+
type ${upperName}Patch = any
|
|
28
|
+
type ${upperName}Query = any
|
|
29
29
|
`
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
export type { ${upperName}, ${upperName}Data, ${upperName}Patch, ${upperName}Query }
|
|
33
|
+
|
|
32
34
|
export interface ${className}Options {
|
|
33
35
|
app: Application
|
|
34
36
|
}
|
|
@@ -38,24 +40,25 @@ export interface ${upperName}Params extends Params<${upperName}Query> {
|
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
// This is a skeleton for a custom service class. Remove or add the methods you need here
|
|
41
|
-
export class ${className}
|
|
43
|
+
export class ${className}<ServiceParams extends Params = ${upperName}Params>
|
|
44
|
+
implements ServiceInterface<${upperName}, ${upperName}Data, ServiceParams, ${upperName}Patch> {
|
|
42
45
|
constructor (public options: ${className}Options) {
|
|
43
46
|
}
|
|
44
47
|
|
|
45
|
-
async find (_params?:
|
|
48
|
+
async find (_params?: ServiceParams): Promise<${upperName}[]> {
|
|
46
49
|
return []
|
|
47
50
|
}
|
|
48
51
|
|
|
49
|
-
async get (id: Id, _params?:
|
|
52
|
+
async get (id: Id, _params?: ServiceParams): Promise<${upperName}> {
|
|
50
53
|
return {
|
|
51
54
|
id: 0,
|
|
52
55
|
text: \`A new message with ID: \${id}!\`
|
|
53
56
|
}
|
|
54
57
|
}
|
|
55
58
|
|
|
56
|
-
async create (data: ${upperName}Data, params?:
|
|
57
|
-
async create (data: ${upperName}Data[], params?:
|
|
58
|
-
async create (data: ${upperName}Data|${upperName}Data[], params?:
|
|
59
|
+
async create (data: ${upperName}Data, params?: ServiceParams): Promise<${upperName}>
|
|
60
|
+
async create (data: ${upperName}Data[], params?: ServiceParams): Promise<${upperName}[]>
|
|
61
|
+
async create (data: ${upperName}Data|${upperName}Data[], params?: ServiceParams): Promise<${upperName}|${upperName}[]> {
|
|
59
62
|
if (Array.isArray(data)) {
|
|
60
63
|
return Promise.all(data.map(current => this.create(current, params)));
|
|
61
64
|
}
|
|
@@ -67,14 +70,14 @@ export class ${className} implements ServiceInterface<${upperName}, ${upperName}
|
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
// This method has to be added to the 'methods' option to make it available to clients
|
|
70
|
-
async update (id: NullableId, data: ${upperName}Data, _params?:
|
|
73
|
+
async update (id: NullableId, data: ${upperName}Data, _params?: ServiceParams): Promise<${upperName}> {
|
|
71
74
|
return {
|
|
72
75
|
id: 0,
|
|
73
76
|
...data
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
79
|
|
|
77
|
-
async patch (id: NullableId, data: ${upperName}Patch, _params?:
|
|
80
|
+
async patch (id: NullableId, data: ${upperName}Patch, _params?: ServiceParams): Promise<${upperName}> {
|
|
78
81
|
return {
|
|
79
82
|
id: 0,
|
|
80
83
|
text: \`Fallback for \${id}\`,
|
|
@@ -82,7 +85,7 @@ export class ${className} implements ServiceInterface<${upperName}, ${upperName}
|
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
87
|
|
|
85
|
-
async remove (id: NullableId, _params?:
|
|
88
|
+
async remove (id: NullableId, _params?: ServiceParams): Promise<${upperName}> {
|
|
86
89
|
return {
|
|
87
90
|
id: 0,
|
|
88
91
|
text: 'removed'
|
|
@@ -32,12 +32,14 @@ ${schema
|
|
|
32
32
|
} from './${fileName}.schema'
|
|
33
33
|
`
|
|
34
34
|
: `
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
type ${upperName} = any
|
|
36
|
+
type ${upperName}Data = any
|
|
37
|
+
type ${upperName}Patch = any
|
|
38
|
+
type ${upperName}Query = any
|
|
39
39
|
`}
|
|
40
40
|
|
|
41
|
+
export type { ${upperName}, ${upperName}Data, ${upperName}Patch, ${upperName}Query }
|
|
42
|
+
|
|
41
43
|
export interface ${upperName}Params extends KnexAdapterParams<${upperName}Query> {
|
|
42
44
|
}
|
|
43
45
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knex.tpl.js","sourceRoot":"","sources":["../../../src/service/type/knex.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,iBAAiB,GAAG,CAAC,EACzB,SAAS,EACe,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;mCAIL,SAAS;;;;;;;iCAOX,SAAS;;CAEzC,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACgB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;;oCAKJ,QAAQ;EAE1C,MAAM;IACJ,CAAC,CAAC;IACF,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"knex.tpl.js","sourceRoot":"","sources":["../../../src/service/type/knex.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,iBAAiB,GAAG,CAAC,EACzB,SAAS,EACe,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;mCAIL,SAAS;;;;;;;iCAOX,SAAS;;CAEzC,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACgB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;;oCAKJ,QAAQ;EAE1C,MAAM;IACJ,CAAC,CAAC;IACF,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC;OACC,SAAS;OACT,SAAS;OACT,SAAS;OACT,SAAS;CAEhB;;gBAEgB,SAAS,KAAK,SAAS,SAAS,SAAS,UAAU,SAAS;;mBAEzD,SAAS,oCAAoC,SAAS;;;;eAI1D,SAAS,mCAAmC,SAAS;wBAC5C,SAAS,KAAK,SAAS,wBAAwB,SAAS;;;;;;sBAM1D,QAAQ,CAAC,QAAQ;aAC1B,QAAQ;;;CAGpB,CAAA;AA/CY,QAAA,QAAQ,YA+CpB;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC;KACX,IAAI,CACH,IAAA,sBAAY,EACV,gBAAQ,EACR,IAAA,eAAM,EAA0B,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,QAAQ;CACpB,CAAC,CACH,CACF;KACA,IAAI,CACH,IAAA,sBAAY,EACV,iBAAiB,EACjB,IAAA,eAAM,EAA0B,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9D,+EAA+E;IAC/E,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAElF,OAAO,GAAG,aAAa,IAAI,SAAS,EAAE,CAAA;AACxC,CAAC,CAAC,CACH,CACF,CAAA;AAvBQ,QAAA,QAAQ,YAuBhB"}
|
|
@@ -42,13 +42,15 @@ ${
|
|
|
42
42
|
} from './${fileName}.schema'
|
|
43
43
|
`
|
|
44
44
|
: `
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
type ${upperName} = any
|
|
46
|
+
type ${upperName}Data = any
|
|
47
|
+
type ${upperName}Patch = any
|
|
48
|
+
type ${upperName}Query = any
|
|
49
49
|
`
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
export type { ${upperName}, ${upperName}Data, ${upperName}Patch, ${upperName}Query }
|
|
53
|
+
|
|
52
54
|
export interface ${upperName}Params extends KnexAdapterParams<${upperName}Query> {
|
|
53
55
|
}
|
|
54
56
|
|
|
@@ -18,12 +18,14 @@ ${schema
|
|
|
18
18
|
} from './${fileName}.schema'
|
|
19
19
|
`
|
|
20
20
|
: `
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
type ${upperName} = any
|
|
22
|
+
type ${upperName}Data = any
|
|
23
|
+
type ${upperName}Patch = any
|
|
24
|
+
type ${upperName}Query = any
|
|
25
25
|
`}
|
|
26
26
|
|
|
27
|
+
export type { ${upperName}, ${upperName}Data, ${upperName}Patch, ${upperName}Query }
|
|
28
|
+
|
|
27
29
|
export interface ${upperName}Params extends MongoDBAdapterParams<${upperName}Query> {
|
|
28
30
|
}
|
|
29
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.tpl.js","sourceRoot":"","sources":["../../../src/service/type/mongodb.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAGrC,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACgB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;;oCAKJ,QAAQ;EAE1C,MAAM;IACJ,CAAC,CAAC;IACF,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mongodb.tpl.js","sourceRoot":"","sources":["../../../src/service/type/mongodb.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAGrC,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACgB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;;oCAKJ,QAAQ;EAE1C,MAAM;IACJ,CAAC,CAAC;IACF,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC;OACC,SAAS;OACT,SAAS;OACT,SAAS;OACT,SAAS;CAEhB;;gBAEgB,SAAS,KAAK,SAAS,SAAS,SAAS,UAAU,SAAS;;mBAEzD,SAAS,uCAAuC,SAAS;;;;eAI7D,SAAS,mCAAmC,SAAS;2BACzC,SAAS,KAAK,SAAS,wBAAwB,SAAS;;;;;;gEAMnB,SAAS;;;CAGxE,CAAA;AA9CY,QAAA,QAAQ,YA8CpB;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,sBAAY,EACV,gBAAQ,EACR,IAAA,eAAM,EAA0B,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,QAAQ;CACpB,CAAC,CACH,CACF,CAAA;AAXU,QAAA,QAAQ,YAWlB"}
|
|
@@ -25,13 +25,15 @@ ${
|
|
|
25
25
|
} from './${fileName}.schema'
|
|
26
26
|
`
|
|
27
27
|
: `
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
type ${upperName} = any
|
|
29
|
+
type ${upperName}Data = any
|
|
30
|
+
type ${upperName}Patch = any
|
|
31
|
+
type ${upperName}Query = any
|
|
32
32
|
`
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
export type { ${upperName}, ${upperName}Data, ${upperName}Patch, ${upperName}Query }
|
|
36
|
+
|
|
35
37
|
export interface ${upperName}Params extends MongoDBAdapterParams<${upperName}Query> {
|
|
36
38
|
}
|
|
37
39
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feathersjs/generators",
|
|
3
|
-
"version": "5.0.0-pre.
|
|
3
|
+
"version": "5.0.0-pre.36",
|
|
4
4
|
"description": "Feathers CLI core generators, powered by Pinion",
|
|
5
5
|
"homepage": "https://feathersjs.com",
|
|
6
6
|
"keywords": [
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"scripts": {
|
|
44
44
|
"prepublish": "npm run compile",
|
|
45
45
|
"compile": "shx rm -rf lib/ && tsc && shx cp -r src/. lib/",
|
|
46
|
-
"test": "mocha --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts"
|
|
46
|
+
"test": "npm run compile && mocha --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts"
|
|
47
47
|
},
|
|
48
48
|
"directories": {
|
|
49
49
|
"lib": "lib"
|
|
@@ -55,35 +55,35 @@
|
|
|
55
55
|
"@feathershq/pinion": "^0.3.5",
|
|
56
56
|
"chalk": "^4.0.1",
|
|
57
57
|
"lodash": "^4.17.21",
|
|
58
|
-
"prettier": "^2.8.
|
|
58
|
+
"prettier": "^2.8.3",
|
|
59
|
+
"typescript": "^4.9.4"
|
|
59
60
|
},
|
|
60
61
|
"devDependencies": {
|
|
61
|
-
"@feathersjs/adapter-commons": "^5.0.0-pre.
|
|
62
|
-
"@feathersjs/authentication": "^5.0.0-pre.
|
|
63
|
-
"@feathersjs/authentication-client": "^5.0.0-pre.
|
|
64
|
-
"@feathersjs/authentication-local": "^5.0.0-pre.
|
|
65
|
-
"@feathersjs/authentication-oauth": "^5.0.0-pre.
|
|
66
|
-
"@feathersjs/configuration": "^5.0.0-pre.
|
|
67
|
-
"@feathersjs/errors": "^5.0.0-pre.
|
|
68
|
-
"@feathersjs/express": "^5.0.0-pre.
|
|
69
|
-
"@feathersjs/feathers": "^5.0.0-pre.
|
|
70
|
-
"@feathersjs/knex": "^5.0.0-pre.
|
|
71
|
-
"@feathersjs/koa": "^5.0.0-pre.
|
|
72
|
-
"@feathersjs/mongodb": "^5.0.0-pre.
|
|
73
|
-
"@feathersjs/rest-client": "^5.0.0-pre.
|
|
74
|
-
"@feathersjs/schema": "^5.0.0-pre.
|
|
75
|
-
"@feathersjs/socketio": "^5.0.0-pre.
|
|
76
|
-
"@feathersjs/transport-commons": "^5.0.0-pre.
|
|
77
|
-
"@feathersjs/typebox": "^5.0.0-pre.
|
|
62
|
+
"@feathersjs/adapter-commons": "^5.0.0-pre.36",
|
|
63
|
+
"@feathersjs/authentication": "^5.0.0-pre.36",
|
|
64
|
+
"@feathersjs/authentication-client": "^5.0.0-pre.36",
|
|
65
|
+
"@feathersjs/authentication-local": "^5.0.0-pre.36",
|
|
66
|
+
"@feathersjs/authentication-oauth": "^5.0.0-pre.36",
|
|
67
|
+
"@feathersjs/configuration": "^5.0.0-pre.36",
|
|
68
|
+
"@feathersjs/errors": "^5.0.0-pre.36",
|
|
69
|
+
"@feathersjs/express": "^5.0.0-pre.36",
|
|
70
|
+
"@feathersjs/feathers": "^5.0.0-pre.36",
|
|
71
|
+
"@feathersjs/knex": "^5.0.0-pre.36",
|
|
72
|
+
"@feathersjs/koa": "^5.0.0-pre.36",
|
|
73
|
+
"@feathersjs/mongodb": "^5.0.0-pre.36",
|
|
74
|
+
"@feathersjs/rest-client": "^5.0.0-pre.36",
|
|
75
|
+
"@feathersjs/schema": "^5.0.0-pre.36",
|
|
76
|
+
"@feathersjs/socketio": "^5.0.0-pre.36",
|
|
77
|
+
"@feathersjs/transport-commons": "^5.0.0-pre.36",
|
|
78
|
+
"@feathersjs/typebox": "^5.0.0-pre.36",
|
|
78
79
|
"@types/mocha": "^10.0.1",
|
|
79
80
|
"@types/node": "^18.11.18",
|
|
80
81
|
"@types/prettier": "^2.7.2",
|
|
81
|
-
"axios": "^1.2.
|
|
82
|
+
"axios": "^1.2.6",
|
|
82
83
|
"mocha": "^10.2.0",
|
|
83
84
|
"shx": "^0.3.4",
|
|
84
85
|
"ts-node": "^10.9.1",
|
|
85
|
-
"type-fest": "^3.5.
|
|
86
|
-
"typescript": "^4.9.4"
|
|
86
|
+
"type-fest": "^3.5.3"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "9a107b463cc80d7f3c28553c908987e05b0b634a"
|
|
89
89
|
}
|