WIP - 0.37 SDK changes

Needs the metadata sub object removed, everything should be passed at the publish level - no need to set protobuf metadata directly.

Thumbnail > thumbnail_url, licenseURL > license_url and possibly a few others.
changes

fix: 1 of many
fix 2 of many
fix: 3 of many
fix: 4 of many
more fixes
fix license
fix thumb
remove tags
fix thumb?
remove log
fix
fix txid
This commit is contained in:
Tom 2019-05-24 13:09:07 -04:00
parent ec9f78de16
commit 1b069ba2a1
12 changed files with 95 additions and 92 deletions

View file

@ -188,8 +188,8 @@ inquirer
.post('http://localhost:5279', {
method: 'channel_new',
params: {
channel_name: thumbnailChannelDefault,
amount: channelBid,
name: thumbnailChannelDefault,
bid: channelBid,
},
})
.then(response => {
@ -197,7 +197,6 @@ inquirer
if (response.data.error) {
throw new Error(response.data.error.message);
}
thumbnailChannel = thumbnailChannelDefault;
thumbnailChannelId = response.data.result.claim_id;
siteConfig['publishing']['thumbnailChannel'] = thumbnailChannel;
@ -237,7 +236,9 @@ inquirer
'\nIt\'s a good idea to BACK UP YOUR MASTER PASSWORD \nin "/site/private/authConfig.json" so that you don\'t lose \ncontrol of your channel.'
);
console.log('\nNext step: run "npm run start" to build and start your server!');
console.log(
'\nNext step: run "npm run build" (or "npm run dev") to compiles, and "npm run start" to start your server!'
);
console.log(
'If you want to change any settings, you can edit the files in the "/site" folder.'
);

View file

@ -1,5 +1,5 @@
import {connect} from 'react-redux';
import {updateMetadata} from '../../actions/publish';
import { connect } from 'react-redux';
import { updateMetadata } from '../../actions/publish';
import View from './view';
const mapStateToProps = ({ publish }) => {
@ -16,4 +16,7 @@ const mapDispatchToProps = dispatch => {
};
};
export default connect(mapStateToProps, mapDispatchToProps)(View);
export default connect(
mapStateToProps,
mapDispatchToProps
)(View);

View file

@ -40,7 +40,7 @@ const initialState = {
description: '',
license: '',
licenseUrl: '',
nsfw: false,
tags: [],
},
isUpdate: false,
hasChanged: false,

View file

@ -9,11 +9,22 @@ import { selectShowState, selectAsset } from '../selectors/show';
import { validateChannelSelection, validateNoPublishErrors } from '../utils/validate';
import { createPublishMetadata, createPublishFormData, createThumbnailUrl } from '../utils/publish';
import { makePublishRequestChannel } from '../channels/publish';
function * publishFile (action) {
// yep
function* publishFile(action) {
const { history } = action.data;
const publishState = yield select(selectPublishState);
const { publishInChannel, selectedChannel, file, claim, metadata, thumbnailChannel, thumbnailChannelId, thumbnail, isUpdate, error: publishToolErrors } = publishState;
const {
publishInChannel,
selectedChannel,
file,
claim,
metadata,
thumbnailChannel,
thumbnailChannelId,
thumbnail,
isUpdate,
error: publishToolErrors,
} = publishState;
const { loggedInChannel } = yield select(selectChannelState);
const { host } = yield select(selectSiteState);
@ -39,7 +50,7 @@ function * publishFile (action) {
// create metadata
publishMetadata = createPublishMetadata(
isUpdate ? asset.name : claim,
isUpdate ? {type: asset.claimData.contentType} : file,
isUpdate ? { type: asset.claimData.contentType } : file,
metadata,
publishInChannel,
selectedChannel
@ -49,7 +60,12 @@ function * publishFile (action) {
}
if (thumbnail) {
// add thumbnail to publish metadata
publishMetadata['thumbnail'] = createThumbnailUrl(thumbnailChannel, thumbnailChannelId, claim, host);
publishMetadata['thumbnail'] = createThumbnailUrl(
thumbnailChannel,
thumbnailChannelId,
claim,
host
);
}
// create form data for main publish
publishFormData = createPublishFormData(file, thumbnail, publishMetadata);
@ -57,7 +73,7 @@ function * publishFile (action) {
publishChannel = yield call(makePublishRequestChannel, publishFormData, isUpdate);
while (true) {
const {loadStart, progress, load, success, error: publishError} = yield take(publishChannel);
const { loadStart, progress, load, success, error: publishError } = yield take(publishChannel);
if (publishError) {
return yield put(updatePublishStatus(publishStates.FAILED, publishError.message));
}
@ -67,7 +83,7 @@ function * publishFile (action) {
yield put({
type: 'ASSET_UPDATE_CLAIMDATA',
data: {
id : `a#${success.data.name}#${success.data.claimId}`,
id: `a#${success.data.name}#${success.data.claimId}`,
claimData: success.data.claimData,
},
});
@ -91,6 +107,6 @@ function * publishFile (action) {
}
}
export function * watchPublishStart () {
export function* watchPublishStart() {
yield takeLatest(actions.PUBLISH_START, publishFile);
};
}

View file

@ -5,6 +5,7 @@ export const createPublishMetadata = (
publishInChannel,
selectedChannel
) => {
// this metadata stuff needs to be removed...
let metadata = {
name: claim,
title,

26
package-lock.json generated
View file

@ -2617,7 +2617,6 @@
"resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
"integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
"dev": true,
"optional": true,
"requires": {
"readable-stream": "^2.3.5",
"safe-buffer": "^5.1.1"
@ -3959,7 +3958,6 @@
"resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
"integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
"dev": true,
"optional": true,
"requires": {
"file-type": "^5.2.0",
"is-stream": "^1.1.0",
@ -3994,7 +3992,6 @@
"resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
"integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
"dev": true,
"optional": true,
"requires": {
"decompress-tar": "^4.1.1",
"file-type": "^5.2.0",
@ -5385,8 +5382,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
"integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
"dev": true,
"optional": true
"dev": true
},
"fill-range": {
"version": "4.0.0",
@ -5584,8 +5580,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"dev": true,
"optional": true
"dev": true
},
"fs-extra": {
"version": "5.0.0",
@ -5641,8 +5636,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"aproba": {
"version": "1.2.0",
@ -6057,8 +6051,7 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"safer-buffer": {
"version": "2.1.2",
@ -6114,7 +6107,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@ -6158,14 +6150,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
"dev": true,
"optional": true
"dev": true
}
}
},
@ -15171,7 +15161,6 @@
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
"integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
"dev": true,
"optional": true,
"requires": {
"bl": "^1.0.0",
"buffer-alloc": "^1.2.0",
@ -15434,8 +15423,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
"integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
"dev": true,
"optional": true
"dev": true
},
"to-fast-properties": {
"version": "2.0.0",

View file

@ -33,24 +33,24 @@ const createPublishParams = (
name,
file_path: filePath,
bid: publishing.fileClaimBidAmount,
metadata: {
description,
title,
author: details.title,
language: 'en',
license,
licenseUrl,
nsfw,
},
description,
title,
author: details.title,
languages: ['en'],
license,
license_url: licenseUrl,
tags: [],
claim_address: publishing.primaryClaimAddress,
};
// add thumbnail to channel if video
if (thumbnail) {
publishParams['metadata']['thumbnail'] = thumbnail;
publishParams['thumbnail_url'] = thumbnail;
}
if (nsfw) {
publishParams.tags.push = 'mature';
}
// add channel details if publishing to a channel
if (channelName && channelClaimId) {
publishParams['channel_name'] = channelName;
if (channelClaimId) {
publishParams['channel_id'] = channelClaimId;
}
// log params

View file

@ -11,15 +11,12 @@ const createThumbnailPublishParams = (thumbnailFilePath, claimName, license, lic
name: `${claimName}-thumb`,
file_path: thumbnailFilePath,
bid: publishing.fileClaimBidAmount,
metadata: {
title: `${claimName} thumbnail`,
description: `a thumbnail for ${claimName}`,
author: details.title,
language: 'en',
license,
licenseUrl,
nsfw,
},
title: `${claimName} thumbnail`,
description: `a thumbnail for ${claimName}`,
author: details.title,
languages: ['en'],
license,
license_url: licenseUrl,
claim_address: publishing.primaryClaimAddress,
channel_name: publishing.thumbnailChannel,
channel_id: publishing.thumbnailChannelId,

View file

@ -16,7 +16,7 @@ const publish = async (publishParams, fileName, fileType) => {
try {
publishResults = await publishClaim(publishParams);
logger.verbose(`Successfully published ${publishParams.name} ${fileName}`, publishResults);
const outpoint = `${publishResults.output.txid}:${publishResults.output.nout}`;
const outpoint = `${publishResults.outputs[0].txid}:${publishResults.outputs[0].nout}`;
// get the channel information
if (publishParams.channel_name) {
logger.debug(`this claim was published in channel: ${publishParams.channel_name}`);

View file

@ -138,7 +138,7 @@ const claimUpdate = ({ body, files, headers, ip, originalUrl, user, tor }, res)
nsfw: claimRecord.nsfw,
license: claimRecord.license,
licenseUrl: claimRecord.license_url,
language: 'en',
languages: ['en'],
author: details.title,
},
updateMetadata({ title, description, nsfw, license, licenseUrl })

View file

@ -172,10 +172,10 @@ module.exports = {
return new Promise((resolve, reject) => {
axios
.post(lbrynetUri, {
method: 'channel_new',
method: 'channel_create',
params: {
channel_name: name,
amount: publishing.channelClaimBidAmount,
name: name,
bid: publishing.channelClaimBidAmount,
},
})
.then(response => {

View file

@ -1,42 +1,39 @@
const db = require('../index.js');
const createClaimRecordDataAfterPublish = (certificateId, channelName, fileName, fileType, publishParams, publishResults) => {
const createClaimRecordDataAfterPublish = (
certificateId,
channelName,
fileName,
fileType,
publishParams,
publishResults
) => {
const {
name,
metadata: {
title,
description,
thumbnail,
nsfw,
},
metadata: { title, description, thumbnail, nsfw },
claim_address: address,
bid: amount,
} = publishParams;
const {
claim_id: claimId,
txid,
nout,
} = publishResults;
const { claim_id: claimId, txid, nout } = publishResults;
return db.Claim.getCurrentHeight()
.then(height => {
return {
name,
claimId,
title,
description,
address,
thumbnail,
outpoint : `${txid}:${nout}`,
height,
contentType: fileType,
nsfw,
amount,
certificateId,
channelName,
};
});
return db.Claim.getCurrentHeight().then(height => {
return {
name,
claimId,
title,
description,
address,
thumbnail,
outpoint: `${txid}:${nout}`,
height,
contentType: fileType,
nsfw,
amount,
certificateId,
channelName,
};
});
};
module.exports = {