@contember/engine-vimeo-plugin 2.1.0-alpha.37 → 2.1.0-alpha.39

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.
Files changed (52) hide show
  1. package/dist/development/index.cjs +25 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +26 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/Config.cjs +25 -0
  6. package/dist/development/src/Config.cjs.map +1 -0
  7. package/dist/development/src/Config.js +8 -0
  8. package/dist/development/src/Config.js.map +1 -0
  9. package/dist/development/src/VimeoConfigProcessor.cjs +44 -0
  10. package/dist/development/src/VimeoConfigProcessor.cjs.map +1 -0
  11. package/dist/development/src/VimeoConfigProcessor.js +27 -0
  12. package/dist/development/src/VimeoConfigProcessor.js.map +1 -0
  13. package/dist/development/src/VimeoSchemaContributor.cjs +90 -0
  14. package/dist/development/src/VimeoSchemaContributor.cjs.map +1 -0
  15. package/dist/development/src/VimeoSchemaContributor.js +90 -0
  16. package/dist/development/src/VimeoSchemaContributor.js.map +1 -0
  17. package/dist/development/src/VimeoService.cjs +50 -0
  18. package/dist/development/src/VimeoService.cjs.map +1 -0
  19. package/dist/development/src/VimeoService.js +50 -0
  20. package/dist/development/src/VimeoService.js.map +1 -0
  21. package/dist/production/index.cjs +25 -0
  22. package/dist/production/index.cjs.map +1 -0
  23. package/dist/production/index.js +26 -0
  24. package/dist/production/index.js.map +1 -0
  25. package/dist/production/src/Config.cjs +25 -0
  26. package/dist/production/src/Config.cjs.map +1 -0
  27. package/dist/production/src/Config.js +8 -0
  28. package/dist/production/src/Config.js.map +1 -0
  29. package/dist/production/src/VimeoConfigProcessor.cjs +44 -0
  30. package/dist/production/src/VimeoConfigProcessor.cjs.map +1 -0
  31. package/dist/production/src/VimeoConfigProcessor.js +27 -0
  32. package/dist/production/src/VimeoConfigProcessor.js.map +1 -0
  33. package/dist/production/src/VimeoSchemaContributor.cjs +90 -0
  34. package/dist/production/src/VimeoSchemaContributor.cjs.map +1 -0
  35. package/dist/production/src/VimeoSchemaContributor.js +90 -0
  36. package/dist/production/src/VimeoSchemaContributor.js.map +1 -0
  37. package/dist/production/src/VimeoService.cjs +50 -0
  38. package/dist/production/src/VimeoService.cjs.map +1 -0
  39. package/dist/production/src/VimeoService.js +50 -0
  40. package/dist/production/src/VimeoService.js.map +1 -0
  41. package/dist/types/Config.d.ts +9 -0
  42. package/dist/types/Config.d.ts.map +1 -0
  43. package/dist/types/VimeoConfigProcessor.d.ts +8 -0
  44. package/dist/types/VimeoConfigProcessor.d.ts.map +1 -0
  45. package/dist/types/VimeoSchemaContributor.d.ts +11 -0
  46. package/dist/types/VimeoSchemaContributor.d.ts.map +1 -0
  47. package/dist/types/VimeoService.d.ts +21 -0
  48. package/dist/types/VimeoService.d.ts.map +1 -0
  49. package/dist/types/index.d.ts +12 -0
  50. package/dist/types/index.d.ts.map +1 -0
  51. package/dist/types/tsconfig.tsbuildinfo +1 -0
  52. package/package.json +7 -7
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Typesafe = require("@contember/typesafe");
4
+ const Config = require("./Config.cjs");
5
+ function _interopNamespaceDefault(e) {
6
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
+ if (e) {
8
+ for (const k in e) {
9
+ if (k !== "default") {
10
+ const d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: () => e[k]
14
+ });
15
+ }
16
+ }
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+ const Typesafe__namespace = /* @__PURE__ */ _interopNamespaceDefault(Typesafe);
22
+ class VimeoConfigProcessor {
23
+ getProjectConfigSchema(slug) {
24
+ return Typesafe__namespace.union(
25
+ (input, path = []) => Typesafe__namespace.valueAt(input, ["vimeo", "token"]) === void 0 ? {} : Typesafe__namespace.fail(path),
26
+ Typesafe__namespace.object({
27
+ vimeo: Config.vimeoConfigSchema
28
+ })
29
+ );
30
+ }
31
+ prepareConfigTemplate(template, { env }) {
32
+ return {
33
+ ...template,
34
+ projectDefaults: {
35
+ ...template.projectDefaults,
36
+ vimeo: {
37
+ token: `%?project.secret.vimeo.token||project.env.VIMEO_TOKEN%`
38
+ }
39
+ }
40
+ };
41
+ }
42
+ }
43
+ exports.VimeoConfigProcessor = VimeoConfigProcessor;
44
+ //# sourceMappingURL=VimeoConfigProcessor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoConfigProcessor.cjs","sources":["../../../../packages/engine-vimeo-plugin/src/VimeoConfigProcessor.ts"],"sourcesContent":["import { ConfigProcessor, ConfigTemplate, ConfigTemplateContext } from '@contember/engine-plugins'\nimport * as Typesafe from '@contember/typesafe'\nimport { ProjectVimeoConfig, vimeoConfigSchema } from './Config'\n\nexport class VimeoConfigProcessor implements ConfigProcessor<ProjectVimeoConfig> {\n\tgetProjectConfigSchema?(slug: string): Typesafe.Type<ProjectVimeoConfig> {\n\t\treturn Typesafe.union(\n\t\t\t(input, path = []) => Typesafe.valueAt(input, ['vimeo', 'token']) === undefined ? {} : Typesafe.fail(path),\n\t\t\tTypesafe.object({\n\t\t\t\tvimeo: vimeoConfigSchema,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprepareConfigTemplate(template: ConfigTemplate, { env }: ConfigTemplateContext) {\n\t\treturn {\n\t\t\t...template,\n\t\t\tprojectDefaults: {\n\t\t\t\t...template.projectDefaults,\n\t\t\t\tvimeo: {\n\t\t\t\t\ttoken: `%?project.secret.vimeo.token||project.env.VIMEO_TOKEN%`,\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["Typesafe","vimeoConfigSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,qBAAoE;AAAA,EAChF,uBAAwB,MAAiD;AACxE,WAAOA,oBAAS;AAAA,MACf,CAAC,OAAO,OAAO,CAAA,MAAOA,oBAAS,QAAQ,OAAO,CAAC,SAAS,OAAO,CAAC,MAAM,SAAY,CAAA,IAAKA,oBAAS,KAAK,IAAI;AAAA,MACzGA,oBAAS,OAAO;AAAA,QACf,OAAOC,OAAAA;AAAAA,MAAA,CACP;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,sBAAsB,UAA0B,EAAE,OAA8B;AAC/E,WAAO;AAAA,MACN,GAAG;AAAA,MACH,iBAAiB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,OAAO;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,MACR;AAAA,IACD;AAAA,EAEF;AACD;;"}
@@ -0,0 +1,27 @@
1
+ import * as Typesafe from "@contember/typesafe";
2
+ import { vimeoConfigSchema } from "./Config.js";
3
+ class VimeoConfigProcessor {
4
+ getProjectConfigSchema(slug) {
5
+ return Typesafe.union(
6
+ (input, path = []) => Typesafe.valueAt(input, ["vimeo", "token"]) === void 0 ? {} : Typesafe.fail(path),
7
+ Typesafe.object({
8
+ vimeo: vimeoConfigSchema
9
+ })
10
+ );
11
+ }
12
+ prepareConfigTemplate(template, { env }) {
13
+ return {
14
+ ...template,
15
+ projectDefaults: {
16
+ ...template.projectDefaults,
17
+ vimeo: {
18
+ token: `%?project.secret.vimeo.token||project.env.VIMEO_TOKEN%`
19
+ }
20
+ }
21
+ };
22
+ }
23
+ }
24
+ export {
25
+ VimeoConfigProcessor
26
+ };
27
+ //# sourceMappingURL=VimeoConfigProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoConfigProcessor.js","sources":["../../../../packages/engine-vimeo-plugin/src/VimeoConfigProcessor.ts"],"sourcesContent":["import { ConfigProcessor, ConfigTemplate, ConfigTemplateContext } from '@contember/engine-plugins'\nimport * as Typesafe from '@contember/typesafe'\nimport { ProjectVimeoConfig, vimeoConfigSchema } from './Config'\n\nexport class VimeoConfigProcessor implements ConfigProcessor<ProjectVimeoConfig> {\n\tgetProjectConfigSchema?(slug: string): Typesafe.Type<ProjectVimeoConfig> {\n\t\treturn Typesafe.union(\n\t\t\t(input, path = []) => Typesafe.valueAt(input, ['vimeo', 'token']) === undefined ? {} : Typesafe.fail(path),\n\t\t\tTypesafe.object({\n\t\t\t\tvimeo: vimeoConfigSchema,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprepareConfigTemplate(template: ConfigTemplate, { env }: ConfigTemplateContext) {\n\t\treturn {\n\t\t\t...template,\n\t\t\tprojectDefaults: {\n\t\t\t\t...template.projectDefaults,\n\t\t\t\tvimeo: {\n\t\t\t\t\ttoken: `%?project.secret.vimeo.token||project.env.VIMEO_TOKEN%`,\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,qBAAoE;AAAA,EAChF,uBAAwB,MAAiD;AACxE,WAAO,SAAS;AAAA,MACf,CAAC,OAAO,OAAO,CAAA,MAAO,SAAS,QAAQ,OAAO,CAAC,SAAS,OAAO,CAAC,MAAM,SAAY,CAAA,IAAK,SAAS,KAAK,IAAI;AAAA,MACzG,SAAS,OAAO;AAAA,QACf,OAAO;AAAA,MAAA,CACP;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,sBAAsB,UAA0B,EAAE,OAA8B;AAC/E,WAAO;AAAA,MACN,GAAG;AAAA,MACH,iBAAiB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,OAAO;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,MACR;AAAA,IACD;AAAA,EAEF;AACD;"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const graphql = require("graphql");
4
+ class VimeoSchemaContributor {
5
+ constructor(vimeoServiceFactory) {
6
+ this.vimeoServiceFactory = vimeoServiceFactory;
7
+ }
8
+ getCacheKey(context) {
9
+ return context.project.vimeo ? "yes" : "no";
10
+ }
11
+ createSchema(context) {
12
+ if (!context.project.vimeo) {
13
+ return void 0;
14
+ }
15
+ if (!context.identity.projectRoles.find(
16
+ (role) => context.schema.acl.roles[role]?.vimeo?.upload
17
+ )) {
18
+ return void 0;
19
+ }
20
+ const uploadMutation = this.createMutation();
21
+ const mutation = {
22
+ generateVimeoUploadUrl: uploadMutation
23
+ };
24
+ return {
25
+ mutation: new graphql.GraphQLObjectType({
26
+ name: "Mutation",
27
+ fields: () => mutation
28
+ }),
29
+ query: new graphql.GraphQLObjectType({
30
+ name: "Query",
31
+ fields: () => ({
32
+ vimeoDummyQuery: {
33
+ type: graphql.GraphQLString
34
+ }
35
+ })
36
+ })
37
+ };
38
+ }
39
+ createMutation() {
40
+ return {
41
+ type: new graphql.GraphQLNonNull(
42
+ new graphql.GraphQLObjectType({
43
+ name: "VimeoUploadResponse",
44
+ fields: {
45
+ ok: { type: new graphql.GraphQLNonNull(graphql.GraphQLBoolean) },
46
+ errors: {
47
+ type: new graphql.GraphQLNonNull(
48
+ new graphql.GraphQLList(
49
+ new graphql.GraphQLNonNull(
50
+ new graphql.GraphQLObjectType({
51
+ name: "VimeoUploadError",
52
+ fields: {
53
+ endUserMessage: { type: graphql.GraphQLString },
54
+ developerMessage: { type: graphql.GraphQLString },
55
+ code: { type: graphql.GraphQLInt }
56
+ }
57
+ })
58
+ )
59
+ )
60
+ )
61
+ },
62
+ result: {
63
+ type: new graphql.GraphQLObjectType({
64
+ name: "VimeoUploadResult",
65
+ fields: {
66
+ uploadUrl: { type: new graphql.GraphQLNonNull(graphql.GraphQLString) },
67
+ vimeoId: { type: new graphql.GraphQLNonNull(graphql.GraphQLString) }
68
+ }
69
+ })
70
+ }
71
+ }
72
+ })
73
+ ),
74
+ args: {
75
+ size: {
76
+ type: new graphql.GraphQLNonNull(graphql.GraphQLInt)
77
+ }
78
+ },
79
+ resolve: async (parent, args, ctx) => {
80
+ if (!ctx.project.vimeo) {
81
+ throw new graphql.GraphQLError("Vimeo is not configured for this project");
82
+ }
83
+ const vimeoService = this.vimeoServiceFactory.create(ctx.project.vimeo);
84
+ return await vimeoService.getUploadUrl(args.size);
85
+ }
86
+ };
87
+ }
88
+ }
89
+ exports.VimeoSchemaContributor = VimeoSchemaContributor;
90
+ //# sourceMappingURL=VimeoSchemaContributor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoSchemaContributor.cjs","sources":["../../../../packages/engine-vimeo-plugin/src/VimeoSchemaContributor.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLError,\n\tGraphQLFieldConfig,\n\tGraphQLInt,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { VimeoServiceFactory } from './VimeoService'\nimport { ProjectVimeoConfig } from './Config'\nimport { GraphQLSchemaContributor, GraphQLSchemaContributorContext } from '@contember/engine-plugins'\n\ninterface VimeoAcl {\n\tupload?: boolean\n}\n\nexport class VimeoSchemaContributor implements GraphQLSchemaContributor {\n\tconstructor(\n\t\tprivate readonly vimeoServiceFactory: VimeoServiceFactory,\n\t) {}\n\n\tgetCacheKey?(context: GraphQLSchemaContributorContext): string {\n\t\treturn context.project.vimeo ? 'yes' : 'no'\n\t}\n\n\tcreateSchema(context: GraphQLSchemaContributorContext): GraphQLSchemaConfig | undefined {\n\t\tif (!context.project.vimeo) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tif (\n\t\t\t!context.identity.projectRoles.find(\n\t\t\t\trole => (context.schema.acl.roles[role]?.vimeo as VimeoAcl | undefined)?.upload,\n\t\t\t)\n\t\t) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst uploadMutation = this.createMutation()\n\t\tconst mutation = {\n\t\t\tgenerateVimeoUploadUrl: uploadMutation as GraphQLFieldConfig<any, any, any>,\n\t\t}\n\t\treturn {\n\t\t\tmutation: new GraphQLObjectType({\n\t\t\t\tname: 'Mutation',\n\t\t\t\tfields: () => mutation,\n\t\t\t}),\n\t\t\tquery: new GraphQLObjectType({\n\t\t\t\tname: 'Query',\n\t\t\t\tfields: () => ({\n\t\t\t\t\tvimeoDummyQuery: {\n\t\t\t\t\t\ttype: GraphQLString,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t}),\n\t\t}\n\t}\n\n\tprivate createMutation(): GraphQLFieldConfig<any, any, any> {\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(\n\t\t\t\tnew GraphQLObjectType({\n\t\t\t\t\tname: 'VimeoUploadResponse',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\t\t\t\terrors: {\n\t\t\t\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\t\t\t\tnew GraphQLList(\n\t\t\t\t\t\t\t\t\tnew GraphQLNonNull(\n\t\t\t\t\t\t\t\t\t\tnew GraphQLObjectType({\n\t\t\t\t\t\t\t\t\t\t\tname: 'VimeoUploadError',\n\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\tendUserMessage: { type: GraphQLString },\n\t\t\t\t\t\t\t\t\t\t\t\tdeveloperMessage: { type: GraphQLString },\n\t\t\t\t\t\t\t\t\t\t\t\tcode: { type: GraphQLInt },\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\ttype: new GraphQLObjectType({\n\t\t\t\t\t\t\t\tname: 'VimeoUploadResult',\n\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\tuploadUrl: { type: new GraphQLNonNull(GraphQLString) },\n\t\t\t\t\t\t\t\t\tvimeoId: { type: new GraphQLNonNull(GraphQLString) },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\targs: {\n\t\t\t\tsize: {\n\t\t\t\t\ttype: new GraphQLNonNull(GraphQLInt),\n\t\t\t\t},\n\t\t\t},\n\t\t\tresolve: async (parent: any, args: { size: number }, ctx: { project: ProjectVimeoConfig }) => {\n\t\t\t\tif (!ctx.project.vimeo) {\n\t\t\t\t\tthrow new GraphQLError('Vimeo is not configured for this project')\n\t\t\t\t}\n\t\t\t\tconst vimeoService = this.vimeoServiceFactory.create(ctx.project.vimeo)\n\t\t\t\treturn await vimeoService.getUploadUrl(args.size)\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["GraphQLObjectType","GraphQLString","GraphQLNonNull","GraphQLBoolean","GraphQLList","GraphQLInt","GraphQLError"],"mappings":";;;AAmBO,MAAM,uBAA2D;AAAA,EACvE,YACkB,qBAChB;AADgB,SAAA,sBAAA;AAAA,EACf;AAAA,EAEH,YAAa,SAAkD;AAC9D,WAAO,QAAQ,QAAQ,QAAQ,QAAQ;AAAA,EACxC;AAAA,EAEA,aAAa,SAA2E;AACvF,QAAI,CAAC,QAAQ,QAAQ,OAAO;AAC3B,aAAO;AAAA,IACR;AAEA,QACC,CAAC,QAAQ,SAAS,aAAa;AAAA,MAC9B,UAAS,QAAQ,OAAO,IAAI,MAAM,IAAI,GAAG,OAAgC;AAAA,IAAA,GAEzE;AACD,aAAO;AAAA,IACR;AAEA,UAAM,iBAAiB,KAAK,eAAA;AAC5B,UAAM,WAAW;AAAA,MAChB,wBAAwB;AAAA,IAAA;AAEzB,WAAO;AAAA,MACN,UAAU,IAAIA,QAAAA,kBAAkB;AAAA,QAC/B,MAAM;AAAA,QACN,QAAQ,MAAM;AAAA,MAAA,CACd;AAAA,MACD,OAAO,IAAIA,QAAAA,kBAAkB;AAAA,QAC5B,MAAM;AAAA,QACN,QAAQ,OAAO;AAAA,UACd,iBAAiB;AAAA,YAChB,MAAMC,QAAAA;AAAAA,UAAA;AAAA,QACP;AAAA,MACD,CACA;AAAA,IAAA;AAAA,EAEH;AAAA,EAEQ,iBAAoD;AAC3D,WAAO;AAAA,MACN,MAAM,IAAIC,QAAAA;AAAAA,QACT,IAAIF,0BAAkB;AAAA,UACrB,MAAM;AAAA,UACN,QAAQ;AAAA,YACP,IAAI,EAAE,MAAM,IAAIE,QAAAA,eAAeC,QAAAA,cAAc,EAAA;AAAA,YAC7C,QAAQ;AAAA,cACP,MAAM,IAAID,QAAAA;AAAAA,gBACT,IAAIE,QAAAA;AAAAA,kBACH,IAAIF,QAAAA;AAAAA,oBACH,IAAIF,0BAAkB;AAAA,sBACrB,MAAM;AAAA,sBACN,QAAQ;AAAA,wBACP,gBAAgB,EAAE,MAAMC,sBAAA;AAAA,wBACxB,kBAAkB,EAAE,MAAMA,sBAAA;AAAA,wBAC1B,MAAM,EAAE,MAAMI,QAAAA,WAAA;AAAA,sBAAW;AAAA,oBAC1B,CACA;AAAA,kBAAA;AAAA,gBACF;AAAA,cACD;AAAA,YACD;AAAA,YAED,QAAQ;AAAA,cACP,MAAM,IAAIL,QAAAA,kBAAkB;AAAA,gBAC3B,MAAM;AAAA,gBACN,QAAQ;AAAA,kBACP,WAAW,EAAE,MAAM,IAAIE,QAAAA,eAAeD,QAAAA,aAAa,EAAA;AAAA,kBACnD,SAAS,EAAE,MAAM,IAAIC,QAAAA,eAAeD,QAAAA,aAAa,EAAA;AAAA,gBAAE;AAAA,cACpD,CACA;AAAA,YAAA;AAAA,UACF;AAAA,QACD,CACA;AAAA,MAAA;AAAA,MAEF,MAAM;AAAA,QACL,MAAM;AAAA,UACL,MAAM,IAAIC,QAAAA,eAAeG,QAAAA,UAAU;AAAA,QAAA;AAAA,MACpC;AAAA,MAED,SAAS,OAAO,QAAa,MAAwB,QAAyC;AAC7F,YAAI,CAAC,IAAI,QAAQ,OAAO;AACvB,gBAAM,IAAIC,QAAAA,aAAa,0CAA0C;AAAA,QAClE;AACA,cAAM,eAAe,KAAK,oBAAoB,OAAO,IAAI,QAAQ,KAAK;AACtE,eAAO,MAAM,aAAa,aAAa,KAAK,IAAI;AAAA,MACjD;AAAA,IAAA;AAAA,EAEF;AACD;;"}
@@ -0,0 +1,90 @@
1
+ import { GraphQLObjectType, GraphQLString, GraphQLNonNull, GraphQLError, GraphQLInt, GraphQLList, GraphQLBoolean } from "graphql";
2
+ class VimeoSchemaContributor {
3
+ constructor(vimeoServiceFactory) {
4
+ this.vimeoServiceFactory = vimeoServiceFactory;
5
+ }
6
+ getCacheKey(context) {
7
+ return context.project.vimeo ? "yes" : "no";
8
+ }
9
+ createSchema(context) {
10
+ if (!context.project.vimeo) {
11
+ return void 0;
12
+ }
13
+ if (!context.identity.projectRoles.find(
14
+ (role) => context.schema.acl.roles[role]?.vimeo?.upload
15
+ )) {
16
+ return void 0;
17
+ }
18
+ const uploadMutation = this.createMutation();
19
+ const mutation = {
20
+ generateVimeoUploadUrl: uploadMutation
21
+ };
22
+ return {
23
+ mutation: new GraphQLObjectType({
24
+ name: "Mutation",
25
+ fields: () => mutation
26
+ }),
27
+ query: new GraphQLObjectType({
28
+ name: "Query",
29
+ fields: () => ({
30
+ vimeoDummyQuery: {
31
+ type: GraphQLString
32
+ }
33
+ })
34
+ })
35
+ };
36
+ }
37
+ createMutation() {
38
+ return {
39
+ type: new GraphQLNonNull(
40
+ new GraphQLObjectType({
41
+ name: "VimeoUploadResponse",
42
+ fields: {
43
+ ok: { type: new GraphQLNonNull(GraphQLBoolean) },
44
+ errors: {
45
+ type: new GraphQLNonNull(
46
+ new GraphQLList(
47
+ new GraphQLNonNull(
48
+ new GraphQLObjectType({
49
+ name: "VimeoUploadError",
50
+ fields: {
51
+ endUserMessage: { type: GraphQLString },
52
+ developerMessage: { type: GraphQLString },
53
+ code: { type: GraphQLInt }
54
+ }
55
+ })
56
+ )
57
+ )
58
+ )
59
+ },
60
+ result: {
61
+ type: new GraphQLObjectType({
62
+ name: "VimeoUploadResult",
63
+ fields: {
64
+ uploadUrl: { type: new GraphQLNonNull(GraphQLString) },
65
+ vimeoId: { type: new GraphQLNonNull(GraphQLString) }
66
+ }
67
+ })
68
+ }
69
+ }
70
+ })
71
+ ),
72
+ args: {
73
+ size: {
74
+ type: new GraphQLNonNull(GraphQLInt)
75
+ }
76
+ },
77
+ resolve: async (parent, args, ctx) => {
78
+ if (!ctx.project.vimeo) {
79
+ throw new GraphQLError("Vimeo is not configured for this project");
80
+ }
81
+ const vimeoService = this.vimeoServiceFactory.create(ctx.project.vimeo);
82
+ return await vimeoService.getUploadUrl(args.size);
83
+ }
84
+ };
85
+ }
86
+ }
87
+ export {
88
+ VimeoSchemaContributor
89
+ };
90
+ //# sourceMappingURL=VimeoSchemaContributor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoSchemaContributor.js","sources":["../../../../packages/engine-vimeo-plugin/src/VimeoSchemaContributor.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLError,\n\tGraphQLFieldConfig,\n\tGraphQLInt,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { VimeoServiceFactory } from './VimeoService'\nimport { ProjectVimeoConfig } from './Config'\nimport { GraphQLSchemaContributor, GraphQLSchemaContributorContext } from '@contember/engine-plugins'\n\ninterface VimeoAcl {\n\tupload?: boolean\n}\n\nexport class VimeoSchemaContributor implements GraphQLSchemaContributor {\n\tconstructor(\n\t\tprivate readonly vimeoServiceFactory: VimeoServiceFactory,\n\t) {}\n\n\tgetCacheKey?(context: GraphQLSchemaContributorContext): string {\n\t\treturn context.project.vimeo ? 'yes' : 'no'\n\t}\n\n\tcreateSchema(context: GraphQLSchemaContributorContext): GraphQLSchemaConfig | undefined {\n\t\tif (!context.project.vimeo) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tif (\n\t\t\t!context.identity.projectRoles.find(\n\t\t\t\trole => (context.schema.acl.roles[role]?.vimeo as VimeoAcl | undefined)?.upload,\n\t\t\t)\n\t\t) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst uploadMutation = this.createMutation()\n\t\tconst mutation = {\n\t\t\tgenerateVimeoUploadUrl: uploadMutation as GraphQLFieldConfig<any, any, any>,\n\t\t}\n\t\treturn {\n\t\t\tmutation: new GraphQLObjectType({\n\t\t\t\tname: 'Mutation',\n\t\t\t\tfields: () => mutation,\n\t\t\t}),\n\t\t\tquery: new GraphQLObjectType({\n\t\t\t\tname: 'Query',\n\t\t\t\tfields: () => ({\n\t\t\t\t\tvimeoDummyQuery: {\n\t\t\t\t\t\ttype: GraphQLString,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t}),\n\t\t}\n\t}\n\n\tprivate createMutation(): GraphQLFieldConfig<any, any, any> {\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(\n\t\t\t\tnew GraphQLObjectType({\n\t\t\t\t\tname: 'VimeoUploadResponse',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\t\t\t\terrors: {\n\t\t\t\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\t\t\t\tnew GraphQLList(\n\t\t\t\t\t\t\t\t\tnew GraphQLNonNull(\n\t\t\t\t\t\t\t\t\t\tnew GraphQLObjectType({\n\t\t\t\t\t\t\t\t\t\t\tname: 'VimeoUploadError',\n\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\tendUserMessage: { type: GraphQLString },\n\t\t\t\t\t\t\t\t\t\t\t\tdeveloperMessage: { type: GraphQLString },\n\t\t\t\t\t\t\t\t\t\t\t\tcode: { type: GraphQLInt },\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\ttype: new GraphQLObjectType({\n\t\t\t\t\t\t\t\tname: 'VimeoUploadResult',\n\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\tuploadUrl: { type: new GraphQLNonNull(GraphQLString) },\n\t\t\t\t\t\t\t\t\tvimeoId: { type: new GraphQLNonNull(GraphQLString) },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\targs: {\n\t\t\t\tsize: {\n\t\t\t\t\ttype: new GraphQLNonNull(GraphQLInt),\n\t\t\t\t},\n\t\t\t},\n\t\t\tresolve: async (parent: any, args: { size: number }, ctx: { project: ProjectVimeoConfig }) => {\n\t\t\t\tif (!ctx.project.vimeo) {\n\t\t\t\t\tthrow new GraphQLError('Vimeo is not configured for this project')\n\t\t\t\t}\n\t\t\t\tconst vimeoService = this.vimeoServiceFactory.create(ctx.project.vimeo)\n\t\t\t\treturn await vimeoService.getUploadUrl(args.size)\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAmBO,MAAM,uBAA2D;AAAA,EACvE,YACkB,qBAChB;AADgB,SAAA,sBAAA;AAAA,EACf;AAAA,EAEH,YAAa,SAAkD;AAC9D,WAAO,QAAQ,QAAQ,QAAQ,QAAQ;AAAA,EACxC;AAAA,EAEA,aAAa,SAA2E;AACvF,QAAI,CAAC,QAAQ,QAAQ,OAAO;AAC3B,aAAO;AAAA,IACR;AAEA,QACC,CAAC,QAAQ,SAAS,aAAa;AAAA,MAC9B,UAAS,QAAQ,OAAO,IAAI,MAAM,IAAI,GAAG,OAAgC;AAAA,IAAA,GAEzE;AACD,aAAO;AAAA,IACR;AAEA,UAAM,iBAAiB,KAAK,eAAA;AAC5B,UAAM,WAAW;AAAA,MAChB,wBAAwB;AAAA,IAAA;AAEzB,WAAO;AAAA,MACN,UAAU,IAAI,kBAAkB;AAAA,QAC/B,MAAM;AAAA,QACN,QAAQ,MAAM;AAAA,MAAA,CACd;AAAA,MACD,OAAO,IAAI,kBAAkB;AAAA,QAC5B,MAAM;AAAA,QACN,QAAQ,OAAO;AAAA,UACd,iBAAiB;AAAA,YAChB,MAAM;AAAA,UAAA;AAAA,QACP;AAAA,MACD,CACA;AAAA,IAAA;AAAA,EAEH;AAAA,EAEQ,iBAAoD;AAC3D,WAAO;AAAA,MACN,MAAM,IAAI;AAAA,QACT,IAAI,kBAAkB;AAAA,UACrB,MAAM;AAAA,UACN,QAAQ;AAAA,YACP,IAAI,EAAE,MAAM,IAAI,eAAe,cAAc,EAAA;AAAA,YAC7C,QAAQ;AAAA,cACP,MAAM,IAAI;AAAA,gBACT,IAAI;AAAA,kBACH,IAAI;AAAA,oBACH,IAAI,kBAAkB;AAAA,sBACrB,MAAM;AAAA,sBACN,QAAQ;AAAA,wBACP,gBAAgB,EAAE,MAAM,cAAA;AAAA,wBACxB,kBAAkB,EAAE,MAAM,cAAA;AAAA,wBAC1B,MAAM,EAAE,MAAM,WAAA;AAAA,sBAAW;AAAA,oBAC1B,CACA;AAAA,kBAAA;AAAA,gBACF;AAAA,cACD;AAAA,YACD;AAAA,YAED,QAAQ;AAAA,cACP,MAAM,IAAI,kBAAkB;AAAA,gBAC3B,MAAM;AAAA,gBACN,QAAQ;AAAA,kBACP,WAAW,EAAE,MAAM,IAAI,eAAe,aAAa,EAAA;AAAA,kBACnD,SAAS,EAAE,MAAM,IAAI,eAAe,aAAa,EAAA;AAAA,gBAAE;AAAA,cACpD,CACA;AAAA,YAAA;AAAA,UACF;AAAA,QACD,CACA;AAAA,MAAA;AAAA,MAEF,MAAM;AAAA,QACL,MAAM;AAAA,UACL,MAAM,IAAI,eAAe,UAAU;AAAA,QAAA;AAAA,MACpC;AAAA,MAED,SAAS,OAAO,QAAa,MAAwB,QAAyC;AAC7F,YAAI,CAAC,IAAI,QAAQ,OAAO;AACvB,gBAAM,IAAI,aAAa,0CAA0C;AAAA,QAClE;AACA,cAAM,eAAe,KAAK,oBAAoB,OAAO,IAAI,QAAQ,KAAK;AACtE,eAAO,MAAM,aAAa,aAAa,KAAK,IAAI;AAAA,MACjD;AAAA,IAAA;AAAA,EAEF;AACD;"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ class VimeoService {
4
+ constructor(config) {
5
+ this.config = config;
6
+ }
7
+ async getUploadUrl(filesize) {
8
+ const authorizationHeader = "Bearer " + this.config.token;
9
+ const response = await fetch("https://api.vimeo.com/me/videos?fields=uri,name,upload", {
10
+ method: "POST",
11
+ headers: {
12
+ "Content-Type": "application/json",
13
+ "Authorization": authorizationHeader
14
+ },
15
+ body: JSON.stringify({
16
+ upload: {
17
+ approach: "tus",
18
+ size: filesize
19
+ }
20
+ })
21
+ });
22
+ if (response.status !== 200) {
23
+ const { error_code, developer_message, error } = await response.json();
24
+ return {
25
+ ok: false,
26
+ errors: [
27
+ {
28
+ code: error_code,
29
+ developerMessage: developer_message,
30
+ endUserMessage: error
31
+ }
32
+ ]
33
+ };
34
+ }
35
+ const data = await response.json();
36
+ if (!data.uri.startsWith("/videos/")) {
37
+ throw new Error(`Invalid vimeo response with following URI: ${data.uri}`);
38
+ }
39
+ const vimeoId = data.uri.substring(8);
40
+ return { ok: true, errors: [], result: { uploadUrl: data.upload.upload_link, vimeoId } };
41
+ }
42
+ }
43
+ class VimeoServiceFactory {
44
+ create(config) {
45
+ return new VimeoService(config);
46
+ }
47
+ }
48
+ exports.VimeoService = VimeoService;
49
+ exports.VimeoServiceFactory = VimeoServiceFactory;
50
+ //# sourceMappingURL=VimeoService.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoService.cjs","sources":["../../../../packages/engine-vimeo-plugin/src/VimeoService.ts"],"sourcesContent":["import { VimeoConfig } from './Config'\n\nexport class VimeoService {\n\tconstructor(public readonly config: VimeoConfig) {}\n\n\tpublic async getUploadUrl(filesize: number): Promise<{\n\t\tok: boolean\n\t\terrors: { code: number; endUserMessage: string; developerMessage: string }[]\n\t\tresult?: { uploadUrl: string; vimeoId: string }\n\t}> {\n\t\tconst authorizationHeader = 'Bearer ' + this.config.token\n\n\t\tconst response = await fetch('https://api.vimeo.com/me/videos?fields=uri,name,upload', {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'Authorization': authorizationHeader,\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tupload: {\n\t\t\t\t\tapproach: 'tus',\n\t\t\t\t\tsize: filesize,\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif (response.status !== 200) {\n\t\t\tconst { error_code, developer_message, error } = (await response.json()) as any\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: error_code,\n\t\t\t\t\t\tdeveloperMessage: developer_message,\n\t\t\t\t\t\tendUserMessage: error,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t}\n\t\tconst data: any = await response.json()\n\t\tif (!data.uri.startsWith('/videos/')) {\n\t\t\tthrow new Error(`Invalid vimeo response with following URI: ${data.uri}`)\n\t\t}\n\t\tconst vimeoId = data.uri.substring(8)\n\t\treturn { ok: true, errors: [], result: { uploadUrl: data.upload.upload_link, vimeoId } }\n\t}\n}\n\nexport class VimeoServiceFactory {\n\tpublic create(config: VimeoConfig) {\n\t\treturn new VimeoService(config)\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAa;AAAA,EACzB,YAA4B,QAAqB;AAArB,SAAA,SAAA;AAAA,EAAsB;AAAA,EAElD,MAAa,aAAa,UAIvB;AACF,UAAM,sBAAsB,YAAY,KAAK,OAAO;AAEpD,UAAM,WAAW,MAAM,MAAM,0DAA0D;AAAA,MACtF,QAAQ;AAAA,MACR,SAAS;AAAA,QACR,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,MAAA;AAAA,MAElB,MAAM,KAAK,UAAU;AAAA,QACpB,QAAQ;AAAA,UACP,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,MACP,CACA;AAAA,IAAA,CACD;AACD,QAAI,SAAS,WAAW,KAAK;AAC5B,YAAM,EAAE,YAAY,mBAAmB,UAAW,MAAM,SAAS,KAAA;AACjE,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ;AAAA,UACP;AAAA,YACC,MAAM;AAAA,YACN,kBAAkB;AAAA,YAClB,gBAAgB;AAAA,UAAA;AAAA,QACjB;AAAA,MACD;AAAA,IAEF;AACA,UAAM,OAAY,MAAM,SAAS,KAAA;AACjC,QAAI,CAAC,KAAK,IAAI,WAAW,UAAU,GAAG;AACrC,YAAM,IAAI,MAAM,8CAA8C,KAAK,GAAG,EAAE;AAAA,IACzE;AACA,UAAM,UAAU,KAAK,IAAI,UAAU,CAAC;AACpC,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,GAAI,QAAQ,EAAE,WAAW,KAAK,OAAO,aAAa,UAAQ;AAAA,EACtF;AACD;AAEO,MAAM,oBAAoB;AAAA,EACzB,OAAO,QAAqB;AAClC,WAAO,IAAI,aAAa,MAAM;AAAA,EAC/B;AACD;;;"}
@@ -0,0 +1,50 @@
1
+ class VimeoService {
2
+ constructor(config) {
3
+ this.config = config;
4
+ }
5
+ async getUploadUrl(filesize) {
6
+ const authorizationHeader = "Bearer " + this.config.token;
7
+ const response = await fetch("https://api.vimeo.com/me/videos?fields=uri,name,upload", {
8
+ method: "POST",
9
+ headers: {
10
+ "Content-Type": "application/json",
11
+ "Authorization": authorizationHeader
12
+ },
13
+ body: JSON.stringify({
14
+ upload: {
15
+ approach: "tus",
16
+ size: filesize
17
+ }
18
+ })
19
+ });
20
+ if (response.status !== 200) {
21
+ const { error_code, developer_message, error } = await response.json();
22
+ return {
23
+ ok: false,
24
+ errors: [
25
+ {
26
+ code: error_code,
27
+ developerMessage: developer_message,
28
+ endUserMessage: error
29
+ }
30
+ ]
31
+ };
32
+ }
33
+ const data = await response.json();
34
+ if (!data.uri.startsWith("/videos/")) {
35
+ throw new Error(`Invalid vimeo response with following URI: ${data.uri}`);
36
+ }
37
+ const vimeoId = data.uri.substring(8);
38
+ return { ok: true, errors: [], result: { uploadUrl: data.upload.upload_link, vimeoId } };
39
+ }
40
+ }
41
+ class VimeoServiceFactory {
42
+ create(config) {
43
+ return new VimeoService(config);
44
+ }
45
+ }
46
+ export {
47
+ VimeoService,
48
+ VimeoServiceFactory
49
+ };
50
+ //# sourceMappingURL=VimeoService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoService.js","sources":["../../../../packages/engine-vimeo-plugin/src/VimeoService.ts"],"sourcesContent":["import { VimeoConfig } from './Config'\n\nexport class VimeoService {\n\tconstructor(public readonly config: VimeoConfig) {}\n\n\tpublic async getUploadUrl(filesize: number): Promise<{\n\t\tok: boolean\n\t\terrors: { code: number; endUserMessage: string; developerMessage: string }[]\n\t\tresult?: { uploadUrl: string; vimeoId: string }\n\t}> {\n\t\tconst authorizationHeader = 'Bearer ' + this.config.token\n\n\t\tconst response = await fetch('https://api.vimeo.com/me/videos?fields=uri,name,upload', {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'Authorization': authorizationHeader,\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tupload: {\n\t\t\t\t\tapproach: 'tus',\n\t\t\t\t\tsize: filesize,\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif (response.status !== 200) {\n\t\t\tconst { error_code, developer_message, error } = (await response.json()) as any\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: error_code,\n\t\t\t\t\t\tdeveloperMessage: developer_message,\n\t\t\t\t\t\tendUserMessage: error,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t}\n\t\tconst data: any = await response.json()\n\t\tif (!data.uri.startsWith('/videos/')) {\n\t\t\tthrow new Error(`Invalid vimeo response with following URI: ${data.uri}`)\n\t\t}\n\t\tconst vimeoId = data.uri.substring(8)\n\t\treturn { ok: true, errors: [], result: { uploadUrl: data.upload.upload_link, vimeoId } }\n\t}\n}\n\nexport class VimeoServiceFactory {\n\tpublic create(config: VimeoConfig) {\n\t\treturn new VimeoService(config)\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,aAAa;AAAA,EACzB,YAA4B,QAAqB;AAArB,SAAA,SAAA;AAAA,EAAsB;AAAA,EAElD,MAAa,aAAa,UAIvB;AACF,UAAM,sBAAsB,YAAY,KAAK,OAAO;AAEpD,UAAM,WAAW,MAAM,MAAM,0DAA0D;AAAA,MACtF,QAAQ;AAAA,MACR,SAAS;AAAA,QACR,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,MAAA;AAAA,MAElB,MAAM,KAAK,UAAU;AAAA,QACpB,QAAQ;AAAA,UACP,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,MACP,CACA;AAAA,IAAA,CACD;AACD,QAAI,SAAS,WAAW,KAAK;AAC5B,YAAM,EAAE,YAAY,mBAAmB,UAAW,MAAM,SAAS,KAAA;AACjE,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ;AAAA,UACP;AAAA,YACC,MAAM;AAAA,YACN,kBAAkB;AAAA,YAClB,gBAAgB;AAAA,UAAA;AAAA,QACjB;AAAA,MACD;AAAA,IAEF;AACA,UAAM,OAAY,MAAM,SAAS,KAAA;AACjC,QAAI,CAAC,KAAK,IAAI,WAAW,UAAU,GAAG;AACrC,YAAM,IAAI,MAAM,8CAA8C,KAAK,GAAG,EAAE;AAAA,IACzE;AACA,UAAM,UAAU,KAAK,IAAI,UAAU,CAAC;AACpC,WAAO,EAAE,IAAI,MAAM,QAAQ,CAAA,GAAI,QAAQ,EAAE,WAAW,KAAK,OAAO,aAAa,UAAQ;AAAA,EACtF;AACD;AAEO,MAAM,oBAAoB;AAAA,EACzB,OAAO,QAAqB;AAClC,WAAO,IAAI,aAAa,MAAM;AAAA,EAC/B;AACD;"}
@@ -0,0 +1,9 @@
1
+ import * as Typesafe from '@contember/typesafe';
2
+ export declare const vimeoConfigSchema: Typesafe.Type<{
3
+ readonly token: string;
4
+ }>;
5
+ export type VimeoConfig = ReturnType<typeof vimeoConfigSchema>;
6
+ export type ProjectVimeoConfig = {
7
+ vimeo?: VimeoConfig | undefined;
8
+ };
9
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,eAAO,MAAM,iBAAiB;;EAE5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { ConfigProcessor, ConfigTemplate, ConfigTemplateContext } from '@contember/engine-plugins';
2
+ import * as Typesafe from '@contember/typesafe';
3
+ import { ProjectVimeoConfig } from './Config';
4
+ export declare class VimeoConfigProcessor implements ConfigProcessor<ProjectVimeoConfig> {
5
+ getProjectConfigSchema?(slug: string): Typesafe.Type<ProjectVimeoConfig>;
6
+ prepareConfigTemplate(template: ConfigTemplate, { env }: ConfigTemplateContext): any;
7
+ }
8
+ //# sourceMappingURL=VimeoConfigProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoConfigProcessor.d.ts","sourceRoot":"","sources":["../../src/VimeoConfigProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAClG,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAqB,MAAM,UAAU,CAAA;AAEhE,qBAAa,oBAAqB,YAAW,eAAe,CAAC,kBAAkB,CAAC;IAC/E,sBAAsB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;IASxE,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,EAAE,qBAAqB;CAW9E"}
@@ -0,0 +1,11 @@
1
+ import { GraphQLSchemaConfig } from 'graphql';
2
+ import { VimeoServiceFactory } from './VimeoService';
3
+ import { GraphQLSchemaContributor, GraphQLSchemaContributorContext } from '@contember/engine-plugins';
4
+ export declare class VimeoSchemaContributor implements GraphQLSchemaContributor {
5
+ private readonly vimeoServiceFactory;
6
+ constructor(vimeoServiceFactory: VimeoServiceFactory);
7
+ getCacheKey?(context: GraphQLSchemaContributorContext): string;
8
+ createSchema(context: GraphQLSchemaContributorContext): GraphQLSchemaConfig | undefined;
9
+ private createMutation;
10
+ }
11
+ //# sourceMappingURL=VimeoSchemaContributor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoSchemaContributor.d.ts","sourceRoot":"","sources":["../../src/VimeoSchemaContributor.ts"],"names":[],"mappings":"AAAA,OAAO,EAQN,mBAAmB,EAEnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA;AAMrG,qBAAa,sBAAuB,YAAW,wBAAwB;IAErE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAG1D,WAAW,CAAC,CAAC,OAAO,EAAE,+BAA+B,GAAG,MAAM;IAI9D,YAAY,CAAC,OAAO,EAAE,+BAA+B,GAAG,mBAAmB,GAAG,SAAS;IAiCvF,OAAO,CAAC,cAAc;CAiDtB"}
@@ -0,0 +1,21 @@
1
+ import { VimeoConfig } from './Config';
2
+ export declare class VimeoService {
3
+ readonly config: VimeoConfig;
4
+ constructor(config: VimeoConfig);
5
+ getUploadUrl(filesize: number): Promise<{
6
+ ok: boolean;
7
+ errors: {
8
+ code: number;
9
+ endUserMessage: string;
10
+ developerMessage: string;
11
+ }[];
12
+ result?: {
13
+ uploadUrl: string;
14
+ vimeoId: string;
15
+ };
16
+ }>;
17
+ }
18
+ export declare class VimeoServiceFactory {
19
+ create(config: VimeoConfig): VimeoService;
20
+ }
21
+ //# sourceMappingURL=VimeoService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VimeoService.d.ts","sourceRoot":"","sources":["../../src/VimeoService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,qBAAa,YAAY;aACI,MAAM,EAAE,WAAW;gBAAnB,MAAM,EAAE,WAAW;IAElC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,EAAE,EAAE,OAAO,CAAA;QACX,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;QAC5E,MAAM,CAAC,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAC/C,CAAC;CAoCF;AAED,qBAAa,mBAAmB;IACxB,MAAM,CAAC,MAAM,EAAE,WAAW;CAGjC"}
@@ -0,0 +1,12 @@
1
+ import { Plugin } from '@contember/engine-plugins';
2
+ import { VimeoConfigProcessor } from './VimeoConfigProcessor';
3
+ import { VimeoSchemaContributor } from './VimeoSchemaContributor';
4
+ import { ProjectVimeoConfig } from './Config';
5
+ export * from './VimeoSchemaContributor';
6
+ export * from './VimeoService';
7
+ export default class VimeoPlugin implements Plugin<ProjectVimeoConfig> {
8
+ name: string;
9
+ getConfigProcessor(): VimeoConfigProcessor;
10
+ getSchemaContributor(): VimeoSchemaContributor;
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAyB,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,MAAM,CAAC,kBAAkB,CAAC;IACrE,IAAI,SAAoB;IAExB,kBAAkB;IAIlB,oBAAoB;CAIpB"}