@roadmanjs/firebase-admin 0.0.7 → 0.0.8
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/dist/client/gql/media.mutation.d.ts +1 -0
- package/dist/client/gql/media.mutation.js +10 -2
- package/dist/client/gql/media.mutation.js.map +1 -1
- package/dist/media/file.input.d.ts +5 -0
- package/dist/media/file.input.js +16 -1
- package/dist/media/file.input.js.map +1 -1
- package/dist/media/media.resolver.d.ts +2 -1
- package/dist/media/media.resolver.js +60 -0
- package/dist/media/media.resolver.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.UPLOAD_FILES_MUTATION = void 0;
|
|
7
|
-
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
6
|
+
exports.UPLOAD_STRING_FILES_MUTATION = exports.UPLOAD_FILES_MUTATION = void 0;
|
|
8
7
|
const media_fragment_1 = require("./media.fragment");
|
|
8
|
+
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
9
9
|
exports.UPLOAD_FILES_MUTATION = (0, graphql_tag_1.default) `
|
|
10
10
|
mutation UploadFiles($owner: String, $files: [Upload!]!) {
|
|
11
11
|
data: upload(owner: $owner, files: $files) {
|
|
@@ -14,4 +14,12 @@ exports.UPLOAD_FILES_MUTATION = (0, graphql_tag_1.default) `
|
|
|
14
14
|
}
|
|
15
15
|
${media_fragment_1.MediaDataTypeFragment}
|
|
16
16
|
`;
|
|
17
|
+
exports.UPLOAD_STRING_FILES_MUTATION = (0, graphql_tag_1.default) `
|
|
18
|
+
mutation UploadFiles($owner: String, $files: [FileStringInput!]!) {
|
|
19
|
+
data: upload(owner: $owner, files: $files) {
|
|
20
|
+
...MediaDataTypeFragment
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
${media_fragment_1.MediaDataTypeFragment}
|
|
24
|
+
`;
|
|
17
25
|
//# sourceMappingURL=media.mutation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.mutation.js","sourceRoot":"","sources":["../../../src/client/gql/media.mutation.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"media.mutation.js","sourceRoot":"","sources":["../../../src/client/gql/media.mutation.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAuD;AACvD,8DAA8B;AAEjB,QAAA,qBAAqB,GAAG,IAAA,qBAAG,EAAA;;;;;;MAMlC,sCAAqB;CAC1B,CAAC;AAEW,QAAA,4BAA4B,GAAG,IAAA,qBAAG,EAAA;;;;;;MAMzC,sCAAqB;CAC1B,CAAC"}
|
package/dist/media/file.input.js
CHANGED
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.FileInput = void 0;
|
|
9
|
+
exports.FileStringInput = exports.FileInput = void 0;
|
|
10
10
|
const couchset_1 = require("couchset");
|
|
11
11
|
let FileInput = class FileInput {
|
|
12
12
|
};
|
|
@@ -23,4 +23,19 @@ FileInput = __decorate([
|
|
|
23
23
|
(0, couchset_1.InputType)()
|
|
24
24
|
], FileInput);
|
|
25
25
|
exports.FileInput = FileInput;
|
|
26
|
+
let FileStringInput = class FileStringInput {
|
|
27
|
+
};
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, couchset_1.Field)()
|
|
30
|
+
], FileStringInput.prototype, "filename", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, couchset_1.Field)()
|
|
33
|
+
], FileStringInput.prototype, "mimetype", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, couchset_1.Field)()
|
|
36
|
+
], FileStringInput.prototype, "uri", void 0);
|
|
37
|
+
FileStringInput = __decorate([
|
|
38
|
+
(0, couchset_1.InputType)()
|
|
39
|
+
], FileStringInput);
|
|
40
|
+
exports.FileStringInput = FileStringInput;
|
|
26
41
|
//# sourceMappingURL=file.input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.input.js","sourceRoot":"","sources":["../../src/media/file.input.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAA0C;AAK1C,IAAa,SAAS,GAAtB,MAAa,SAAS;CAMrB,CAAA;AALY;IAAR,IAAA,gBAAK,GAAE;2CAAkB;AAEjB;IAAR,IAAA,gBAAK,GAAE;2CAAkB;AAEjB;IAAR,IAAA,gBAAK,GAAE;2CAAkB;AALjB,SAAS;IADrB,IAAA,oBAAS,GAAE;GACC,SAAS,CAMrB;AANY,8BAAS"}
|
|
1
|
+
{"version":3,"file":"file.input.js","sourceRoot":"","sources":["../../src/media/file.input.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAA0C;AAK1C,IAAa,SAAS,GAAtB,MAAa,SAAS;CAMrB,CAAA;AALY;IAAR,IAAA,gBAAK,GAAE;2CAAkB;AAEjB;IAAR,IAAA,gBAAK,GAAE;2CAAkB;AAEjB;IAAR,IAAA,gBAAK,GAAE;2CAAkB;AALjB,SAAS;IADrB,IAAA,oBAAS,GAAE;GACC,SAAS,CAMrB;AANY,8BAAS;AAStB,IAAa,eAAe,GAA5B,MAAa,eAAe;CAM3B,CAAA;AALY;IAAR,IAAA,gBAAK,GAAE;iDAAkB;AAEjB;IAAR,IAAA,gBAAK,GAAE;iDAAkB;AAEjB;IAAR,IAAA,gBAAK,GAAE;4CAAa;AALZ,eAAe;IAD3B,IAAA,oBAAS,GAAE;GACC,eAAe,CAM3B;AANY,0CAAe"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { FileInput } from './file.input';
|
|
1
|
+
import { FileInput, FileStringInput } from './file.input';
|
|
2
2
|
import { MediaDataType } from './media.model';
|
|
3
3
|
export declare class MediaResolver {
|
|
4
4
|
upload(files: FileInput[], owner: string): Promise<MediaDataType[]>;
|
|
5
|
+
uploadString(files: FileStringInput[], owner: string): Promise<MediaDataType[]>;
|
|
5
6
|
}
|
|
6
7
|
export default MediaResolver;
|
|
@@ -29,6 +29,7 @@ const graphql_upload_1 = require("graphql-upload");
|
|
|
29
29
|
const util_1 = require("util");
|
|
30
30
|
const stream_1 = require("stream");
|
|
31
31
|
const type_graphql_1 = require("type-graphql");
|
|
32
|
+
const file_input_1 = require("./file.input");
|
|
32
33
|
const media_model_1 = require("./media.model");
|
|
33
34
|
const uuid_1 = require("../_utils/uuid");
|
|
34
35
|
const file_utils_1 = require("../_utils/file.utils");
|
|
@@ -37,6 +38,7 @@ const logs_1 = require("@roadmanjs/logs");
|
|
|
37
38
|
const fs_1 = __importDefault(require("fs"));
|
|
38
39
|
const finishes = (0, util_1.promisify)(stream_1.finished);
|
|
39
40
|
let MediaResolver = class MediaResolver {
|
|
41
|
+
// for web based Files
|
|
40
42
|
async upload(files, owner) {
|
|
41
43
|
const [error, allFiles] = await (0, client_graphql_1.awaitTo)(Promise.all(files.map(async (file) => {
|
|
42
44
|
const _a = await file, { encoding, filename, mimetype } = _a, others = __rest(_a, ["encoding", "filename", "mimetype"]);
|
|
@@ -83,12 +85,70 @@ let MediaResolver = class MediaResolver {
|
|
|
83
85
|
}
|
|
84
86
|
return [];
|
|
85
87
|
}
|
|
88
|
+
// For expo strings files in base64
|
|
89
|
+
async uploadString(files, owner) {
|
|
90
|
+
const [error, allFiles] = await (0, client_graphql_1.awaitTo)(Promise.all(files.map(async (file) => {
|
|
91
|
+
const { filename, mimetype, uri } = file;
|
|
92
|
+
const encoding = 'base64';
|
|
93
|
+
let uriData = uri;
|
|
94
|
+
const newFileNameID = (0, uuid_1.generateUUID)();
|
|
95
|
+
const fileExt = (0, file_utils_1.getFileExtension)(mimetype);
|
|
96
|
+
const fullfilename = `${newFileNameID}.${fileExt}`;
|
|
97
|
+
(0, logs_1.log)('preview ---------------------------->', {
|
|
98
|
+
filename,
|
|
99
|
+
mimetype,
|
|
100
|
+
fileExt,
|
|
101
|
+
});
|
|
102
|
+
// remove the the prefixes
|
|
103
|
+
// TODO for audio files, and other files, focus on images for now
|
|
104
|
+
// TODO move to utility
|
|
105
|
+
if (fileExt === 'png') {
|
|
106
|
+
uriData = uriData.replace(/^data:image\/png;base64,/, '');
|
|
107
|
+
}
|
|
108
|
+
if (fileExt === 'jpeg') {
|
|
109
|
+
uriData = uriData.replace(/^data:image\/jpeg;base64,/, '');
|
|
110
|
+
}
|
|
111
|
+
// Save file to local
|
|
112
|
+
const localFile = `/tmp/${fullfilename}`;
|
|
113
|
+
fs_1.default.writeFileSync(localFile, uriData, { encoding });
|
|
114
|
+
// Save file to cloud
|
|
115
|
+
const savedToCloudUrl = await (0, media_methods_1.uploadFileToBucket)(localFile, fullfilename, mimetype);
|
|
116
|
+
if (!savedToCloudUrl) {
|
|
117
|
+
throw new Error('Not saved to cloud, please try again');
|
|
118
|
+
}
|
|
119
|
+
// Save file to db
|
|
120
|
+
const newMediaData = {
|
|
121
|
+
id: newFileNameID,
|
|
122
|
+
name: filename,
|
|
123
|
+
filename,
|
|
124
|
+
mimetype,
|
|
125
|
+
encoding,
|
|
126
|
+
owner,
|
|
127
|
+
url: savedToCloudUrl,
|
|
128
|
+
};
|
|
129
|
+
await media_model_1.MediaDataModel.create(newMediaData);
|
|
130
|
+
// Return file
|
|
131
|
+
return newMediaData;
|
|
132
|
+
})));
|
|
133
|
+
if (allFiles) {
|
|
134
|
+
return allFiles;
|
|
135
|
+
}
|
|
136
|
+
if (error) {
|
|
137
|
+
console.error(error);
|
|
138
|
+
}
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
86
141
|
};
|
|
87
142
|
__decorate([
|
|
88
143
|
(0, type_graphql_1.Mutation)(() => [media_model_1.MediaDataType]),
|
|
89
144
|
__param(0, (0, type_graphql_1.Arg)('files', () => [graphql_upload_1.GraphQLUpload])),
|
|
90
145
|
__param(1, (0, type_graphql_1.Arg)('owner', () => String, { nullable: true }))
|
|
91
146
|
], MediaResolver.prototype, "upload", null);
|
|
147
|
+
__decorate([
|
|
148
|
+
(0, type_graphql_1.Mutation)(() => [media_model_1.MediaDataType]),
|
|
149
|
+
__param(0, (0, type_graphql_1.Arg)('files', () => [file_input_1.FileStringInput])),
|
|
150
|
+
__param(1, (0, type_graphql_1.Arg)('owner', () => String, { nullable: true }))
|
|
151
|
+
], MediaResolver.prototype, "uploadString", null);
|
|
92
152
|
MediaResolver = __decorate([
|
|
93
153
|
(0, type_graphql_1.Resolver)(media_model_1.MediaDataType)
|
|
94
154
|
], MediaResolver);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.resolver.js","sourceRoot":"","sources":["../../src/media/media.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA+C;AAC/C,mDAA6C;AAC7C,+BAA+B;AAC/B,mCAAgC;AAChC,+CAAqD;
|
|
1
|
+
{"version":3,"file":"media.resolver.js","sourceRoot":"","sources":["../../src/media/media.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA+C;AAC/C,mDAA6C;AAC7C,+BAA+B;AAC/B,mCAAgC;AAChC,+CAAqD;AACrD,6CAAwD;AACxD,+CAA4D;AAC5D,yCAA4C;AAC5C,qDAAsD;AACtD,mDAAmD;AACnD,0CAAoC;AACpC,4CAAoB;AAEpB,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,iBAAQ,CAAC,CAAC;AAErC,IAAa,aAAa,GAA1B,MAAa,aAAa;IACtB,sBAAsB;IAEtB,KAAK,CAAC,MAAM,CAER,KAAkB,EAC4B,KAAa;QAE3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,wBAAO,EACnC,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,KAAiD,MAAM,IAAI,EAA3D,EAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,OAA8B,EAAzB,MAAM,cAAxC,oCAAyC,CAAkB,CAAC;YAElE,MAAM,aAAa,GAAG,IAAA,mBAAY,GAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC;YAE3C,MAAM,YAAY,GAAG,GAAG,aAAa,IAAI,OAAO,EAAE,CAAC;YAEnD,MAAM,gBAAgB,GAAQ,MAAM,CAAC,gBAAgB,CAAC;YAEtD,IAAA,UAAG,EAAC,uCAAuC,EAAE;gBACzC,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,OAAO;aACV,CAAC,CAAC;YAEH,qBAAqB;YACrB,MAAM,SAAS,GAAG,QAAQ,YAAY,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,YAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEpB,qBAAqB;YACrB,MAAM,eAAe,GAAG,MAAM,IAAA,kCAAkB,EAC5C,SAAS,EACT,YAAY,EACZ,QAAQ,CACX,CAAC;YACF,IAAI,CAAC,eAAe,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YAED,kBAAkB;YAClB,MAAM,YAAY,GAAkB;gBAChC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,QAAQ;gBACd,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,KAAK;gBACL,GAAG,EAAE,eAAe;aACvB,CAAC;YAEF,MAAM,4BAAc,CAAC,MAAM,CAAgB,YAAY,CAAC,CAAC;YAEzD,cAAc;YACd,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC,CACL,CACJ,CAAC;QAEF,IAAI,QAAQ,EAAE;YACV,OAAO,QAAQ,CAAC;SACnB;QAED,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,mCAAmC;IAEnC,KAAK,CAAC,YAAY,CAEd,KAAwB,EACsB,KAAa;QAE3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,wBAAO,EACnC,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAC,GAAQ,IAAI,CAAC;YAE5C,MAAM,QAAQ,GAAG,QAAQ,CAAC;YAE1B,IAAI,OAAO,GAAG,GAAG,CAAC;YAElB,MAAM,aAAa,GAAG,IAAA,mBAAY,GAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC;YAE3C,MAAM,YAAY,GAAG,GAAG,aAAa,IAAI,OAAO,EAAE,CAAC;YAEnD,IAAA,UAAG,EAAC,uCAAuC,EAAE;gBACzC,QAAQ;gBACR,QAAQ;gBACR,OAAO;aACV,CAAC,CAAC;YAEH,0BAA0B;YAC1B,iEAAiE;YACjE,uBAAuB;YACvB,IAAI,OAAO,KAAK,KAAK,EAAE;gBACnB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;aAC7D;YAED,IAAI,OAAO,KAAK,MAAM,EAAE;gBACpB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;aAC9D;YAED,qBAAqB;YACrB,MAAM,SAAS,GAAG,QAAQ,YAAY,EAAE,CAAC;YACzC,YAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC;YAEjD,qBAAqB;YACrB,MAAM,eAAe,GAAG,MAAM,IAAA,kCAAkB,EAC5C,SAAS,EACT,YAAY,EACZ,QAAQ,CACX,CAAC;YAEF,IAAI,CAAC,eAAe,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YAED,kBAAkB;YAClB,MAAM,YAAY,GAAkB;gBAChC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,QAAQ;gBACd,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,KAAK;gBACL,GAAG,EAAE,eAAe;aACvB,CAAC;YAEF,MAAM,4BAAc,CAAC,MAAM,CAAgB,YAAY,CAAC,CAAC;YAEzD,cAAc;YACd,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC,CACL,CACJ,CAAC;QAEF,IAAI,QAAQ,EAAE;YACV,OAAO,QAAQ,CAAC;SACnB;QAED,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAzJG;IADC,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,CAAC,2BAAa,CAAC,CAAC;IAE3B,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,8BAAa,CAAC,CAAC,CAAA;IAEnC,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;2CAkEhD;AAID;IADC,IAAA,uBAAQ,EAAC,GAAG,EAAE,CAAC,CAAC,2BAAa,CAAC,CAAC;IAE3B,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,4BAAe,CAAC,CAAC,CAAA;IAErC,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;iDA4EhD;AA3JQ,aAAa;IADzB,IAAA,uBAAQ,EAAC,2BAAa,CAAC;GACX,aAAa,CA4JzB;AA5JY,sCAAa;AA8J1B,kBAAe,aAAa,CAAC"}
|