فهرست منبع

@joystream/content-metadata-protobuf -> @joystream/metadata-protobuf

Leszek Wiesner 3 سال پیش
والد
کامیت
b7313942df
52فایلهای تغییر یافته به همراه2401 افزوده شده و 5618 حذف شده
  1. 0 28
      .github/workflows/content-metadata.yml
  2. 2 2
      .github/workflows/joystream-cli.yml
  3. 22 0
      .github/workflows/metadata-protobuf.yml
  4. 2 2
      .github/workflows/query-node.yml
  5. 1 1
      .github/workflows/run-network-tests.yml
  6. 1 1
      apps.Dockerfile
  7. 1 1
      build-npm-packages.sh
  8. 1 1
      cli/package.json
  9. 0 4
      content-metadata-protobuf/.eslintignore
  10. 0 16
      content-metadata-protobuf/.eslintrc.js
  11. 0 2
      content-metadata-protobuf/.gitignore
  12. 0 4
      content-metadata-protobuf/.prettierignore
  13. 0 53
      content-metadata-protobuf/README.md
  14. 0 15
      content-metadata-protobuf/compile.sh
  15. 0 85
      content-metadata-protobuf/compiled/proto/Channel_pb.d.ts
  16. 0 646
      content-metadata-protobuf/compiled/proto/Channel_pb.js
  17. 0 57
      content-metadata-protobuf/compiled/proto/Person_pb.d.ts
  18. 0 428
      content-metadata-protobuf/compiled/proto/Person_pb.js
  19. 0 33
      content-metadata-protobuf/compiled/proto/Playlist_pb.d.ts
  20. 0 246
      content-metadata-protobuf/compiled/proto/Playlist_pb.js
  21. 0 85
      content-metadata-protobuf/compiled/proto/Series_pb.d.ts
  22. 0 666
      content-metadata-protobuf/compiled/proto/Series_pb.js
  23. 0 235
      content-metadata-protobuf/compiled/proto/Video_pb.d.ts
  24. 0 1847
      content-metadata-protobuf/compiled/proto/Video_pb.js
  25. 0 374
      content-metadata-protobuf/doc/index.md
  26. 0 13
      content-metadata-protobuf/generate-md-doc.sh
  27. 0 47
      content-metadata-protobuf/package.json
  28. 0 10
      content-metadata-protobuf/src/index.ts
  29. 0 33
      content-metadata-protobuf/test/channel.ts
  30. 0 115
      content-metadata-protobuf/test/video.ts
  31. 0 15
      content-metadata-protobuf/tsconfig.json
  32. 1 0
      metadata-protobuf/.gitignore
  33. 5 7
      metadata-protobuf/README.md
  34. 1421 203
      metadata-protobuf/compiled/index.d.ts
  35. 450 315
      metadata-protobuf/compiled/index.js
  36. 0 0
      metadata-protobuf/doc-appendix.md
  37. 351 6
      metadata-protobuf/doc/index.md
  38. 3 0
      metadata-protobuf/generate-md-doc.sh
  39. 2 1
      metadata-protobuf/package.json
  40. 0 0
      metadata-protobuf/proto/Channel.proto
  41. 0 0
      metadata-protobuf/proto/Person.proto
  42. 0 0
      metadata-protobuf/proto/Playlist.proto
  43. 0 0
      metadata-protobuf/proto/Series.proto
  44. 0 0
      metadata-protobuf/proto/Video.proto
  45. 0 0
      metadata-protobuf/src/KnownLicenses.json
  46. 4 10
      metadata-protobuf/src/licenses.ts
  47. 31 0
      metadata-protobuf/test/channel.ts
  48. 14 8
      metadata-protobuf/test/license-codes.ts
  49. 87 0
      metadata-protobuf/test/video.ts
  50. 0 1
      package.json
  51. 1 1
      query-node/mappings/package.json
  52. 1 1
      query-node/mappings/sumer/content/utils.ts

+ 0 - 28
.github/workflows/content-metadata.yml

@@ -1,28 +0,0 @@
-name: content-metadata
-on: [pull_request, push]
-
-jobs:
-  schemas_checks:
-    name: Checks
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        node-version: [14.x]
-    steps:
-    - uses: actions/checkout@v1
-    - name: Use Node.js ${{ matrix.node-version }}
-      uses: actions/setup-node@v1
-      with:
-        node-version: ${{ matrix.node-version }}
-    - name: test protobuf
-      run: |
-        # # Install protoc compiler
-        # sudo apt-get install -y protobuf-compiler
-        # protoc --version
-        # # Install documentation plugin
-        # sudo apt-get install -y golang-go
-        # go get -u github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc
-        yarn install --frozen-lockfile
-        yarn workspace @joystream/content-metadata-protobuf build:ts
-        yarn workspace @joystream/content-metadata-protobuf checks --quiet
-        yarn workspace @joystream/content-metadata-protobuf test

+ 2 - 2
.github/workflows/joystream-cli.yml

@@ -18,7 +18,7 @@ jobs:
       run: |
         yarn install --frozen-lockfile
         yarn workspace @joystream/types build
-        yarn workspace @joystream/content-metadata-protobuf build:ts
+        yarn workspace @joystream/metadata-protobuf build
         yarn workspace @joystream/cli checks --quiet
     - name: yarn pack test
       run: |
@@ -42,7 +42,7 @@ jobs:
       run: |
         yarn install --frozen-lockfile --network-timeout 120000
         yarn workspace @joystream/types build
-        yarn workspace @joystream/content-metadata-protobuf build:ts
+        yarn workspace @joystream/metadata-protobuf build
         yarn workspace @joystream/cli checks --quiet
     - name: yarn pack test
       run: |

+ 22 - 0
.github/workflows/metadata-protobuf.yml

@@ -0,0 +1,22 @@
+name: metadata-protobuf
+on: [pull_request, push]
+
+jobs:
+  schemas_checks:
+    name: Checks
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        node-version: [14.x]
+    steps:
+    - uses: actions/checkout@v1
+    - name: Use Node.js ${{ matrix.node-version }}
+      uses: actions/setup-node@v1
+      with:
+        node-version: ${{ matrix.node-version }}
+    - name: test protobuf
+      run: |
+        yarn install --frozen-lockfile
+        yarn workspace @joystream/metadata-protobuf build
+        yarn workspace @joystream/metadata-protobuf checks --quiet
+        yarn workspace @joystream/metadata-protobuf test

+ 2 - 2
.github/workflows/query-node.yml

@@ -18,7 +18,7 @@ jobs:
       run: |
         yarn install --frozen-lockfile
         yarn workspace @joystream/types build
-        yarn workspace @joystream/content-metadata-protobuf build:ts
+        yarn workspace @joystream/metadata-protobuf build
         ./query-node/build.sh
         yarn workspace query-node-mappings checks --quiet
 
@@ -38,6 +38,6 @@ jobs:
       run: |
         yarn install --frozen-lockfile --network-timeout 120000
         yarn workspace @joystream/types build
-        yarn workspace @joystream/content-metadata-protobuf build:ts
+        yarn workspace @joystream/metadata-protobuf build
         ./query-node/build.sh
         yarn workspace query-node-mappings checks --quiet

+ 1 - 1
.github/workflows/run-network-tests.yml

@@ -152,7 +152,7 @@ jobs:
         run: |
           yarn install --frozen-lockfile
           yarn workspace @joystream/types build
-          yarn workspace @joystream/content-metadata-protobuf build:ts
+          yarn workspace @joystream/metadata-protobuf build
       - name: Ensure query-node builds
         run: yarn workspace query-node-root build
       - name: Ensure tests are runnable

+ 1 - 1
apps.Dockerfile

@@ -9,7 +9,7 @@ RUN  rm -fr /joystream/pioneer
 RUN yarn --forzen-lockfile
 
 RUN yarn workspace @joystream/types build
-RUN yarn workspace @joystream/content-metadata-protobuf build:ts
+RUN yarn workspace @joystream/metadata-protobuf build
 RUN yarn workspace query-node-root build
 RUN yarn workspace storage-node build
 

+ 1 - 1
build-npm-packages.sh

@@ -4,7 +4,7 @@ set -e
 
 yarn
 yarn workspace @joystream/types build
-yarn workspace @joystream/content-metadata-protobuf build:ts
+yarn workspace @joystream/metadata-protobuf build
 yarn workspace query-node-root build
 yarn workspace @joystream/cli build
 yarn workspace storage-node build

+ 1 - 1
cli/package.json

@@ -10,7 +10,7 @@
   "dependencies": {
     "@apidevtools/json-schema-ref-parser": "^9.0.6",
     "@ffprobe-installer/ffprobe": "^1.1.0",
-    "@joystream/content-metadata-protobuf": "^1.1.0",
+    "@joystream/metadata-protobuf": "^1.0.0",
     "@joystream/types": "^0.16.1",
     "@oclif/command": "^1.5.19",
     "@oclif/config": "^1.14.0",

+ 0 - 4
content-metadata-protobuf/.eslintignore

@@ -1,4 +0,0 @@
-lib/
-proto/
-compiled/
-.eslintrc.js

+ 0 - 16
content-metadata-protobuf/.eslintrc.js

@@ -1,16 +0,0 @@
-module.exports = {
-  env: {
-    mocha: true,
-  },
-  parserOptions: {
-    project: './tsconfig.json'
-  },
-  extends: [
-    '@joystream/eslint-config'
-  ],
-  rules: {
-    'no-unused-vars': 'off', // Required by the typescript rule below
-    '@typescript-eslint/no-unused-vars': ['error'],
-    '@typescript-eslint/no-floating-promises': 'error',
-  },
-}

+ 0 - 2
content-metadata-protobuf/.gitignore

@@ -1,2 +0,0 @@
-node_modules/
-lib/

+ 0 - 4
content-metadata-protobuf/.prettierignore

@@ -1,4 +0,0 @@
-lib/
-doc/
-proto/
-compiled/

+ 0 - 53
content-metadata-protobuf/README.md

@@ -1,53 +0,0 @@
-## Joystream Content Directory Metadata Library
-
-This package contains protobuf message definitions compiled to Javascript/Typescript used for creating and updating various metadata blobs in the joystream content directory.
-
-### Message Specs
-
-Documented in [doc](./doc) folder
-
-### Choice of protobuf protocol v2
-
-For our usecase we wish to re-use same message to create and update  subset of fields.
-For this reason we need the explicit information about wether a field has been set or not and this is only possible with proto v2.
-
-Background: required/optional feilds are deprecated in [proto v3](https://www.ben-morris.com/handling-protocol-buffers-backwards-compatibility-between-versions-2-and-3-using-c/)
-
-
-### Helper methods
-The custom Joystream types such as License have helper methods to construct pre-defined well known values.
-
-### Example code:
-
-Best place to look at are the [tests specs](./test)
-
-### Opaque types
-We use simple [ISO_639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) code representation for Language.
-useful npm package https://www.npmjs.com/package/iso-639-1
-
-### Building the package
-
-Building will compile the protofiles and build the library from source.
-
-- pre-requisists for compiling protofiles:
-    - [protoc](https://github.com/protocolbuffers/protobuf/releases)
-
-- pre-requisists for generating documentation:
-    - [golang](https://golang.org/)
-    - [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc) to generate docs
-
-```
-yarn && yarn build
-```
-
-### Generating docs
-
-```
-yarn generate-docs
-```
-
-### Tests
-
-```
-yarn test
-```

+ 0 - 15
content-metadata-protobuf/compile.sh

@@ -1,15 +0,0 @@
-#!/usr/bin/env bash
-
-# Path to this plugin
-PROTOC_GEN_TS_PATH="./node_modules/.bin/protoc-gen-ts"
-
-# Directory to write generated code to (.js and .d.ts files)
-OUT_DIR="./compiled"
-mkdir -p ${OUT_DIR}
-
-# Compile proto files
-protoc \
-    --plugin="protoc-gen-ts=${PROTOC_GEN_TS_PATH}" \
-    --js_out="import_style=commonjs,binary:${OUT_DIR}" \
-    --ts_out="${OUT_DIR}" \
-    proto/*.proto

+ 0 - 85
content-metadata-protobuf/compiled/proto/Channel_pb.d.ts

@@ -1,85 +0,0 @@
-// package: 
-// file: proto/Channel.proto
-
-import * as jspb from "google-protobuf";
-
-export class ChannelMetadata extends jspb.Message {
-  hasTitle(): boolean;
-  clearTitle(): void;
-  getTitle(): string | undefined;
-  setTitle(value: string): void;
-
-  hasDescription(): boolean;
-  clearDescription(): void;
-  getDescription(): string | undefined;
-  setDescription(value: string): void;
-
-  hasIsPublic(): boolean;
-  clearIsPublic(): void;
-  getIsPublic(): boolean | undefined;
-  setIsPublic(value: boolean): void;
-
-  hasLanguage(): boolean;
-  clearLanguage(): void;
-  getLanguage(): string | undefined;
-  setLanguage(value: string): void;
-
-  hasCoverPhoto(): boolean;
-  clearCoverPhoto(): void;
-  getCoverPhoto(): number | undefined;
-  setCoverPhoto(value: number): void;
-
-  hasAvatarPhoto(): boolean;
-  clearAvatarPhoto(): void;
-  getAvatarPhoto(): number | undefined;
-  setAvatarPhoto(value: number): void;
-
-  hasCategory(): boolean;
-  clearCategory(): void;
-  getCategory(): number | undefined;
-  setCategory(value: number): void;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): ChannelMetadata.AsObject;
-  static toObject(includeInstance: boolean, msg: ChannelMetadata): ChannelMetadata.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: ChannelMetadata, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): ChannelMetadata;
-  static deserializeBinaryFromReader(message: ChannelMetadata, reader: jspb.BinaryReader): ChannelMetadata;
-}
-
-export namespace ChannelMetadata {
-  export type AsObject = {
-    title?: string,
-    description?: string,
-    isPublic?: boolean,
-    language?: string,
-    coverPhoto?: number,
-    avatarPhoto?: number,
-    category?: number,
-  }
-}
-
-export class ChannelCategoryMetadata extends jspb.Message {
-  hasName(): boolean;
-  clearName(): void;
-  getName(): string | undefined;
-  setName(value: string): void;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): ChannelCategoryMetadata.AsObject;
-  static toObject(includeInstance: boolean, msg: ChannelCategoryMetadata): ChannelCategoryMetadata.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: ChannelCategoryMetadata, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): ChannelCategoryMetadata;
-  static deserializeBinaryFromReader(message: ChannelCategoryMetadata, reader: jspb.BinaryReader): ChannelCategoryMetadata;
-}
-
-export namespace ChannelCategoryMetadata {
-  export type AsObject = {
-    name?: string,
-  }
-}
-

+ 0 - 646
content-metadata-protobuf/compiled/proto/Channel_pb.js

@@ -1,646 +0,0 @@
-// source: proto/Channel.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- *     field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = Function('return this')();
-
-goog.exportSymbol('proto.ChannelCategoryMetadata', null, global);
-goog.exportSymbol('proto.ChannelMetadata', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.ChannelMetadata = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.ChannelMetadata, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.ChannelMetadata.displayName = 'proto.ChannelMetadata';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.ChannelCategoryMetadata = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.ChannelCategoryMetadata, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.ChannelCategoryMetadata.displayName = 'proto.ChannelCategoryMetadata';
-}
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.ChannelMetadata.prototype.toObject = function(opt_includeInstance) {
-  return proto.ChannelMetadata.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.ChannelMetadata} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.ChannelMetadata.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    title: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
-    description: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
-    isPublic: (f = jspb.Message.getBooleanField(msg, 3)) == null ? undefined : f,
-    language: (f = jspb.Message.getField(msg, 4)) == null ? undefined : f,
-    coverPhoto: (f = jspb.Message.getField(msg, 5)) == null ? undefined : f,
-    avatarPhoto: (f = jspb.Message.getField(msg, 6)) == null ? undefined : f,
-    category: (f = jspb.Message.getField(msg, 7)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.ChannelMetadata}
- */
-proto.ChannelMetadata.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.ChannelMetadata;
-  return proto.ChannelMetadata.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.ChannelMetadata} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.ChannelMetadata}
- */
-proto.ChannelMetadata.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setTitle(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDescription(value);
-      break;
-    case 3:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setIsPublic(value);
-      break;
-    case 4:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setLanguage(value);
-      break;
-    case 5:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCoverPhoto(value);
-      break;
-    case 6:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setAvatarPhoto(value);
-      break;
-    case 7:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setCategory(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.ChannelMetadata.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.ChannelMetadata.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.ChannelMetadata} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.ChannelMetadata.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeBool(
-      3,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 4));
-  if (f != null) {
-    writer.writeString(
-      4,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 5));
-  if (f != null) {
-    writer.writeUint32(
-      5,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 6));
-  if (f != null) {
-    writer.writeUint32(
-      6,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 7));
-  if (f != null) {
-    writer.writeUint64(
-      7,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string title = 1;
- * @return {string}
- */
-proto.ChannelMetadata.prototype.getTitle = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.setTitle = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.clearTitle = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.ChannelMetadata.prototype.hasTitle = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional string description = 2;
- * @return {string}
- */
-proto.ChannelMetadata.prototype.getDescription = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.setDescription = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.clearDescription = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.ChannelMetadata.prototype.hasDescription = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional bool is_public = 3;
- * @return {boolean}
- */
-proto.ChannelMetadata.prototype.getIsPublic = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.setIsPublic = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.clearIsPublic = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.ChannelMetadata.prototype.hasIsPublic = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional string language = 4;
- * @return {string}
- */
-proto.ChannelMetadata.prototype.getLanguage = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.setLanguage = function(value) {
-  return jspb.Message.setField(this, 4, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.clearLanguage = function() {
-  return jspb.Message.setField(this, 4, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.ChannelMetadata.prototype.hasLanguage = function() {
-  return jspb.Message.getField(this, 4) != null;
-};
-
-
-/**
- * optional uint32 cover_photo = 5;
- * @return {number}
- */
-proto.ChannelMetadata.prototype.getCoverPhoto = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.setCoverPhoto = function(value) {
-  return jspb.Message.setField(this, 5, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.clearCoverPhoto = function() {
-  return jspb.Message.setField(this, 5, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.ChannelMetadata.prototype.hasCoverPhoto = function() {
-  return jspb.Message.getField(this, 5) != null;
-};
-
-
-/**
- * optional uint32 avatar_photo = 6;
- * @return {number}
- */
-proto.ChannelMetadata.prototype.getAvatarPhoto = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.setAvatarPhoto = function(value) {
-  return jspb.Message.setField(this, 6, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.clearAvatarPhoto = function() {
-  return jspb.Message.setField(this, 6, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.ChannelMetadata.prototype.hasAvatarPhoto = function() {
-  return jspb.Message.getField(this, 6) != null;
-};
-
-
-/**
- * optional uint64 category = 7;
- * @return {number}
- */
-proto.ChannelMetadata.prototype.getCategory = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.setCategory = function(value) {
-  return jspb.Message.setField(this, 7, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.ChannelMetadata} returns this
- */
-proto.ChannelMetadata.prototype.clearCategory = function() {
-  return jspb.Message.setField(this, 7, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.ChannelMetadata.prototype.hasCategory = function() {
-  return jspb.Message.getField(this, 7) != null;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.ChannelCategoryMetadata.prototype.toObject = function(opt_includeInstance) {
-  return proto.ChannelCategoryMetadata.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.ChannelCategoryMetadata} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.ChannelCategoryMetadata.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.ChannelCategoryMetadata}
- */
-proto.ChannelCategoryMetadata.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.ChannelCategoryMetadata;
-  return proto.ChannelCategoryMetadata.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.ChannelCategoryMetadata} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.ChannelCategoryMetadata}
- */
-proto.ChannelCategoryMetadata.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setName(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.ChannelCategoryMetadata.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.ChannelCategoryMetadata.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.ChannelCategoryMetadata} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.ChannelCategoryMetadata.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string name = 1;
- * @return {string}
- */
-proto.ChannelCategoryMetadata.prototype.getName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.ChannelCategoryMetadata} returns this
- */
-proto.ChannelCategoryMetadata.prototype.setName = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.ChannelCategoryMetadata} returns this
- */
-proto.ChannelCategoryMetadata.prototype.clearName = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.ChannelCategoryMetadata.prototype.hasName = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-goog.object.extend(exports, proto);

+ 0 - 57
content-metadata-protobuf/compiled/proto/Person_pb.d.ts

@@ -1,57 +0,0 @@
-// package: 
-// file: proto/Person.proto
-
-import * as jspb from "google-protobuf";
-
-export class PersonMetadata extends jspb.Message {
-  hasFirstName(): boolean;
-  clearFirstName(): void;
-  getFirstName(): string | undefined;
-  setFirstName(value: string): void;
-
-  hasMiddleName(): boolean;
-  clearMiddleName(): void;
-  getMiddleName(): string | undefined;
-  setMiddleName(value: string): void;
-
-  hasLastName(): boolean;
-  clearLastName(): void;
-  getLastName(): string | undefined;
-  setLastName(value: string): void;
-
-  hasAbout(): boolean;
-  clearAbout(): void;
-  getAbout(): string | undefined;
-  setAbout(value: string): void;
-
-  hasCoverPhoto(): boolean;
-  clearCoverPhoto(): void;
-  getCoverPhoto(): number | undefined;
-  setCoverPhoto(value: number): void;
-
-  hasAvatarPhoto(): boolean;
-  clearAvatarPhoto(): void;
-  getAvatarPhoto(): number | undefined;
-  setAvatarPhoto(value: number): void;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): PersonMetadata.AsObject;
-  static toObject(includeInstance: boolean, msg: PersonMetadata): PersonMetadata.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: PersonMetadata, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): PersonMetadata;
-  static deserializeBinaryFromReader(message: PersonMetadata, reader: jspb.BinaryReader): PersonMetadata;
-}
-
-export namespace PersonMetadata {
-  export type AsObject = {
-    firstName?: string,
-    middleName?: string,
-    lastName?: string,
-    about?: string,
-    coverPhoto?: number,
-    avatarPhoto?: number,
-  }
-}
-

+ 0 - 428
content-metadata-protobuf/compiled/proto/Person_pb.js

@@ -1,428 +0,0 @@
-// source: proto/Person.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- *     field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = Function('return this')();
-
-goog.exportSymbol('proto.PersonMetadata', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.PersonMetadata = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.PersonMetadata, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.PersonMetadata.displayName = 'proto.PersonMetadata';
-}
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.PersonMetadata.prototype.toObject = function(opt_includeInstance) {
-  return proto.PersonMetadata.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.PersonMetadata} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.PersonMetadata.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    firstName: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
-    middleName: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
-    lastName: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
-    about: (f = jspb.Message.getField(msg, 4)) == null ? undefined : f,
-    coverPhoto: (f = jspb.Message.getField(msg, 5)) == null ? undefined : f,
-    avatarPhoto: (f = jspb.Message.getField(msg, 6)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.PersonMetadata}
- */
-proto.PersonMetadata.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.PersonMetadata;
-  return proto.PersonMetadata.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.PersonMetadata} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.PersonMetadata}
- */
-proto.PersonMetadata.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setFirstName(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setMiddleName(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setLastName(value);
-      break;
-    case 4:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setAbout(value);
-      break;
-    case 5:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCoverPhoto(value);
-      break;
-    case 6:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setAvatarPhoto(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.PersonMetadata.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.PersonMetadata.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.PersonMetadata} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.PersonMetadata.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 4));
-  if (f != null) {
-    writer.writeString(
-      4,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 5));
-  if (f != null) {
-    writer.writeUint32(
-      5,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 6));
-  if (f != null) {
-    writer.writeUint32(
-      6,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string first_name = 1;
- * @return {string}
- */
-proto.PersonMetadata.prototype.getFirstName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.setFirstName = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.clearFirstName = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PersonMetadata.prototype.hasFirstName = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional string middle_name = 2;
- * @return {string}
- */
-proto.PersonMetadata.prototype.getMiddleName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.setMiddleName = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.clearMiddleName = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PersonMetadata.prototype.hasMiddleName = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional string last_name = 3;
- * @return {string}
- */
-proto.PersonMetadata.prototype.getLastName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.setLastName = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.clearLastName = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PersonMetadata.prototype.hasLastName = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional string about = 4;
- * @return {string}
- */
-proto.PersonMetadata.prototype.getAbout = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.setAbout = function(value) {
-  return jspb.Message.setField(this, 4, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.clearAbout = function() {
-  return jspb.Message.setField(this, 4, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PersonMetadata.prototype.hasAbout = function() {
-  return jspb.Message.getField(this, 4) != null;
-};
-
-
-/**
- * optional uint32 cover_photo = 5;
- * @return {number}
- */
-proto.PersonMetadata.prototype.getCoverPhoto = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.setCoverPhoto = function(value) {
-  return jspb.Message.setField(this, 5, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.clearCoverPhoto = function() {
-  return jspb.Message.setField(this, 5, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PersonMetadata.prototype.hasCoverPhoto = function() {
-  return jspb.Message.getField(this, 5) != null;
-};
-
-
-/**
- * optional uint32 avatar_photo = 6;
- * @return {number}
- */
-proto.PersonMetadata.prototype.getAvatarPhoto = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.setAvatarPhoto = function(value) {
-  return jspb.Message.setField(this, 6, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PersonMetadata} returns this
- */
-proto.PersonMetadata.prototype.clearAvatarPhoto = function() {
-  return jspb.Message.setField(this, 6, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PersonMetadata.prototype.hasAvatarPhoto = function() {
-  return jspb.Message.getField(this, 6) != null;
-};
-
-
-goog.object.extend(exports, proto);

+ 0 - 33
content-metadata-protobuf/compiled/proto/Playlist_pb.d.ts

@@ -1,33 +0,0 @@
-// package: 
-// file: proto/Playlist.proto
-
-import * as jspb from "google-protobuf";
-
-export class PlaylistMetadata extends jspb.Message {
-  hasTitle(): boolean;
-  clearTitle(): void;
-  getTitle(): string | undefined;
-  setTitle(value: string): void;
-
-  clearVideosList(): void;
-  getVideosList(): Array<number>;
-  setVideosList(value: Array<number>): void;
-  addVideos(value: number, index?: number): number;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): PlaylistMetadata.AsObject;
-  static toObject(includeInstance: boolean, msg: PlaylistMetadata): PlaylistMetadata.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: PlaylistMetadata, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): PlaylistMetadata;
-  static deserializeBinaryFromReader(message: PlaylistMetadata, reader: jspb.BinaryReader): PlaylistMetadata;
-}
-
-export namespace PlaylistMetadata {
-  export type AsObject = {
-    title?: string,
-    videosList: Array<number>,
-  }
-}
-

+ 0 - 246
content-metadata-protobuf/compiled/proto/Playlist_pb.js

@@ -1,246 +0,0 @@
-// source: proto/Playlist.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- *     field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = Function('return this')();
-
-goog.exportSymbol('proto.PlaylistMetadata', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.PlaylistMetadata = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, proto.PlaylistMetadata.repeatedFields_, null);
-};
-goog.inherits(proto.PlaylistMetadata, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.PlaylistMetadata.displayName = 'proto.PlaylistMetadata';
-}
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array<number>}
- * @const
- */
-proto.PlaylistMetadata.repeatedFields_ = [2];
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.PlaylistMetadata.prototype.toObject = function(opt_includeInstance) {
-  return proto.PlaylistMetadata.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.PlaylistMetadata} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.PlaylistMetadata.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    title: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
-    videosList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.PlaylistMetadata}
- */
-proto.PlaylistMetadata.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.PlaylistMetadata;
-  return proto.PlaylistMetadata.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.PlaylistMetadata} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.PlaylistMetadata}
- */
-proto.PlaylistMetadata.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setTitle(value);
-      break;
-    case 2:
-      var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedUint64() : [reader.readUint64()]);
-      for (var i = 0; i < values.length; i++) {
-        msg.addVideos(values[i]);
-      }
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.PlaylistMetadata.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.PlaylistMetadata.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.PlaylistMetadata} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.PlaylistMetadata.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = message.getVideosList();
-  if (f.length > 0) {
-    writer.writeRepeatedUint64(
-      2,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string title = 1;
- * @return {string}
- */
-proto.PlaylistMetadata.prototype.getTitle = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.PlaylistMetadata} returns this
- */
-proto.PlaylistMetadata.prototype.setTitle = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PlaylistMetadata} returns this
- */
-proto.PlaylistMetadata.prototype.clearTitle = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PlaylistMetadata.prototype.hasTitle = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * repeated uint64 videos = 2;
- * @return {!Array<number>}
- */
-proto.PlaylistMetadata.prototype.getVideosList = function() {
-  return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 2));
-};
-
-
-/**
- * @param {!Array<number>} value
- * @return {!proto.PlaylistMetadata} returns this
- */
-proto.PlaylistMetadata.prototype.setVideosList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
-};
-
-
-/**
- * @param {number} value
- * @param {number=} opt_index
- * @return {!proto.PlaylistMetadata} returns this
- */
-proto.PlaylistMetadata.prototype.addVideos = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.PlaylistMetadata} returns this
- */
-proto.PlaylistMetadata.prototype.clearVideosList = function() {
-  return this.setVideosList([]);
-};
-
-
-goog.object.extend(exports, proto);

+ 0 - 85
content-metadata-protobuf/compiled/proto/Series_pb.d.ts

@@ -1,85 +0,0 @@
-// package: 
-// file: proto/Series.proto
-
-import * as jspb from "google-protobuf";
-
-export class SeriesMetadata extends jspb.Message {
-  hasTitle(): boolean;
-  clearTitle(): void;
-  getTitle(): string | undefined;
-  setTitle(value: string): void;
-
-  hasDescription(): boolean;
-  clearDescription(): void;
-  getDescription(): string | undefined;
-  setDescription(value: string): void;
-
-  hasCoverPhoto(): boolean;
-  clearCoverPhoto(): void;
-  getCoverPhoto(): number | undefined;
-  setCoverPhoto(value: number): void;
-
-  clearPersonsList(): void;
-  getPersonsList(): Array<number>;
-  setPersonsList(value: Array<number>): void;
-  addPersons(value: number, index?: number): number;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): SeriesMetadata.AsObject;
-  static toObject(includeInstance: boolean, msg: SeriesMetadata): SeriesMetadata.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: SeriesMetadata, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): SeriesMetadata;
-  static deserializeBinaryFromReader(message: SeriesMetadata, reader: jspb.BinaryReader): SeriesMetadata;
-}
-
-export namespace SeriesMetadata {
-  export type AsObject = {
-    title?: string,
-    description?: string,
-    coverPhoto?: number,
-    personsList: Array<number>,
-  }
-}
-
-export class SeasonMetadata extends jspb.Message {
-  hasTitle(): boolean;
-  clearTitle(): void;
-  getTitle(): string | undefined;
-  setTitle(value: string): void;
-
-  hasDescription(): boolean;
-  clearDescription(): void;
-  getDescription(): string | undefined;
-  setDescription(value: string): void;
-
-  hasCoverPhoto(): boolean;
-  clearCoverPhoto(): void;
-  getCoverPhoto(): number | undefined;
-  setCoverPhoto(value: number): void;
-
-  clearPersonsList(): void;
-  getPersonsList(): Array<number>;
-  setPersonsList(value: Array<number>): void;
-  addPersons(value: number, index?: number): number;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): SeasonMetadata.AsObject;
-  static toObject(includeInstance: boolean, msg: SeasonMetadata): SeasonMetadata.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: SeasonMetadata, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): SeasonMetadata;
-  static deserializeBinaryFromReader(message: SeasonMetadata, reader: jspb.BinaryReader): SeasonMetadata;
-}
-
-export namespace SeasonMetadata {
-  export type AsObject = {
-    title?: string,
-    description?: string,
-    coverPhoto?: number,
-    personsList: Array<number>,
-  }
-}
-

+ 0 - 666
content-metadata-protobuf/compiled/proto/Series_pb.js

@@ -1,666 +0,0 @@
-// source: proto/Series.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- *     field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = Function('return this')();
-
-goog.exportSymbol('proto.SeasonMetadata', null, global);
-goog.exportSymbol('proto.SeriesMetadata', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.SeriesMetadata = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, proto.SeriesMetadata.repeatedFields_, null);
-};
-goog.inherits(proto.SeriesMetadata, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.SeriesMetadata.displayName = 'proto.SeriesMetadata';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.SeasonMetadata = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, proto.SeasonMetadata.repeatedFields_, null);
-};
-goog.inherits(proto.SeasonMetadata, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.SeasonMetadata.displayName = 'proto.SeasonMetadata';
-}
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array<number>}
- * @const
- */
-proto.SeriesMetadata.repeatedFields_ = [4];
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.SeriesMetadata.prototype.toObject = function(opt_includeInstance) {
-  return proto.SeriesMetadata.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.SeriesMetadata} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.SeriesMetadata.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    title: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
-    description: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
-    coverPhoto: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
-    personsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.SeriesMetadata}
- */
-proto.SeriesMetadata.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.SeriesMetadata;
-  return proto.SeriesMetadata.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.SeriesMetadata} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.SeriesMetadata}
- */
-proto.SeriesMetadata.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setTitle(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDescription(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCoverPhoto(value);
-      break;
-    case 4:
-      var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedUint64() : [reader.readUint64()]);
-      for (var i = 0; i < values.length; i++) {
-        msg.addPersons(values[i]);
-      }
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.SeriesMetadata.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.SeriesMetadata.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.SeriesMetadata} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.SeriesMetadata.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getPersonsList();
-  if (f.length > 0) {
-    writer.writePackedUint64(
-      4,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string title = 1;
- * @return {string}
- */
-proto.SeriesMetadata.prototype.getTitle = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.setTitle = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.clearTitle = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.SeriesMetadata.prototype.hasTitle = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional string description = 2;
- * @return {string}
- */
-proto.SeriesMetadata.prototype.getDescription = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.setDescription = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.clearDescription = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.SeriesMetadata.prototype.hasDescription = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional uint32 cover_photo = 3;
- * @return {number}
- */
-proto.SeriesMetadata.prototype.getCoverPhoto = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.setCoverPhoto = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.clearCoverPhoto = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.SeriesMetadata.prototype.hasCoverPhoto = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * repeated uint64 persons = 4;
- * @return {!Array<number>}
- */
-proto.SeriesMetadata.prototype.getPersonsList = function() {
-  return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 4));
-};
-
-
-/**
- * @param {!Array<number>} value
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.setPersonsList = function(value) {
-  return jspb.Message.setField(this, 4, value || []);
-};
-
-
-/**
- * @param {number} value
- * @param {number=} opt_index
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.addPersons = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.SeriesMetadata} returns this
- */
-proto.SeriesMetadata.prototype.clearPersonsList = function() {
-  return this.setPersonsList([]);
-};
-
-
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array<number>}
- * @const
- */
-proto.SeasonMetadata.repeatedFields_ = [4];
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.SeasonMetadata.prototype.toObject = function(opt_includeInstance) {
-  return proto.SeasonMetadata.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.SeasonMetadata} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.SeasonMetadata.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    title: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
-    description: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
-    coverPhoto: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
-    personsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.SeasonMetadata}
- */
-proto.SeasonMetadata.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.SeasonMetadata;
-  return proto.SeasonMetadata.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.SeasonMetadata} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.SeasonMetadata}
- */
-proto.SeasonMetadata.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setTitle(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDescription(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCoverPhoto(value);
-      break;
-    case 4:
-      var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedUint64() : [reader.readUint64()]);
-      for (var i = 0; i < values.length; i++) {
-        msg.addPersons(values[i]);
-      }
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.SeasonMetadata.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.SeasonMetadata.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.SeasonMetadata} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.SeasonMetadata.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getPersonsList();
-  if (f.length > 0) {
-    writer.writePackedUint64(
-      4,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string title = 1;
- * @return {string}
- */
-proto.SeasonMetadata.prototype.getTitle = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.setTitle = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.clearTitle = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.SeasonMetadata.prototype.hasTitle = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional string description = 2;
- * @return {string}
- */
-proto.SeasonMetadata.prototype.getDescription = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.setDescription = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.clearDescription = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.SeasonMetadata.prototype.hasDescription = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional uint32 cover_photo = 3;
- * @return {number}
- */
-proto.SeasonMetadata.prototype.getCoverPhoto = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.setCoverPhoto = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.clearCoverPhoto = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.SeasonMetadata.prototype.hasCoverPhoto = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * repeated uint64 persons = 4;
- * @return {!Array<number>}
- */
-proto.SeasonMetadata.prototype.getPersonsList = function() {
-  return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 4));
-};
-
-
-/**
- * @param {!Array<number>} value
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.setPersonsList = function(value) {
-  return jspb.Message.setField(this, 4, value || []);
-};
-
-
-/**
- * @param {number} value
- * @param {number=} opt_index
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.addPersons = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.SeasonMetadata} returns this
- */
-proto.SeasonMetadata.prototype.clearPersonsList = function() {
-  return this.setPersonsList([]);
-};
-
-
-goog.object.extend(exports, proto);

+ 0 - 235
content-metadata-protobuf/compiled/proto/Video_pb.d.ts

@@ -1,235 +0,0 @@
-// package: 
-// file: proto/Video.proto
-
-import * as jspb from "google-protobuf";
-
-export class PublishedBeforeJoystream extends jspb.Message {
-  hasIsPublished(): boolean;
-  clearIsPublished(): void;
-  getIsPublished(): boolean | undefined;
-  setIsPublished(value: boolean): void;
-
-  hasDate(): boolean;
-  clearDate(): void;
-  getDate(): string | undefined;
-  setDate(value: string): void;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): PublishedBeforeJoystream.AsObject;
-  static toObject(includeInstance: boolean, msg: PublishedBeforeJoystream): PublishedBeforeJoystream.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: PublishedBeforeJoystream, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): PublishedBeforeJoystream;
-  static deserializeBinaryFromReader(message: PublishedBeforeJoystream, reader: jspb.BinaryReader): PublishedBeforeJoystream;
-}
-
-export namespace PublishedBeforeJoystream {
-  export type AsObject = {
-    isPublished?: boolean,
-    date?: string,
-  }
-}
-
-export class License extends jspb.Message {
-  hasCode(): boolean;
-  clearCode(): void;
-  getCode(): number | undefined;
-  setCode(value: number): void;
-
-  hasAttribution(): boolean;
-  clearAttribution(): void;
-  getAttribution(): string | undefined;
-  setAttribution(value: string): void;
-
-  hasCustomText(): boolean;
-  clearCustomText(): void;
-  getCustomText(): string | undefined;
-  setCustomText(value: string): void;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): License.AsObject;
-  static toObject(includeInstance: boolean, msg: License): License.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: License, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): License;
-  static deserializeBinaryFromReader(message: License, reader: jspb.BinaryReader): License;
-}
-
-export namespace License {
-  export type AsObject = {
-    code?: number,
-    attribution?: string,
-    customText?: string,
-  }
-}
-
-export class MediaType extends jspb.Message {
-  hasCodecName(): boolean;
-  clearCodecName(): void;
-  getCodecName(): string | undefined;
-  setCodecName(value: string): void;
-
-  hasContainer(): boolean;
-  clearContainer(): void;
-  getContainer(): string | undefined;
-  setContainer(value: string): void;
-
-  hasMimeMediaType(): boolean;
-  clearMimeMediaType(): void;
-  getMimeMediaType(): string | undefined;
-  setMimeMediaType(value: string): void;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): MediaType.AsObject;
-  static toObject(includeInstance: boolean, msg: MediaType): MediaType.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: MediaType, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): MediaType;
-  static deserializeBinaryFromReader(message: MediaType, reader: jspb.BinaryReader): MediaType;
-}
-
-export namespace MediaType {
-  export type AsObject = {
-    codecName?: string,
-    container?: string,
-    mimeMediaType?: string,
-  }
-}
-
-export class VideoMetadata extends jspb.Message {
-  hasTitle(): boolean;
-  clearTitle(): void;
-  getTitle(): string | undefined;
-  setTitle(value: string): void;
-
-  hasDescription(): boolean;
-  clearDescription(): void;
-  getDescription(): string | undefined;
-  setDescription(value: string): void;
-
-  hasVideo(): boolean;
-  clearVideo(): void;
-  getVideo(): number | undefined;
-  setVideo(value: number): void;
-
-  hasThumbnailPhoto(): boolean;
-  clearThumbnailPhoto(): void;
-  getThumbnailPhoto(): number | undefined;
-  setThumbnailPhoto(value: number): void;
-
-  hasDuration(): boolean;
-  clearDuration(): void;
-  getDuration(): number | undefined;
-  setDuration(value: number): void;
-
-  hasMediaPixelHeight(): boolean;
-  clearMediaPixelHeight(): void;
-  getMediaPixelHeight(): number | undefined;
-  setMediaPixelHeight(value: number): void;
-
-  hasMediaPixelWidth(): boolean;
-  clearMediaPixelWidth(): void;
-  getMediaPixelWidth(): number | undefined;
-  setMediaPixelWidth(value: number): void;
-
-  hasMediaType(): boolean;
-  clearMediaType(): void;
-  getMediaType(): MediaType | undefined;
-  setMediaType(value?: MediaType): void;
-
-  hasLanguage(): boolean;
-  clearLanguage(): void;
-  getLanguage(): string | undefined;
-  setLanguage(value: string): void;
-
-  hasLicense(): boolean;
-  clearLicense(): void;
-  getLicense(): License | undefined;
-  setLicense(value?: License): void;
-
-  hasPublishedBeforeJoystream(): boolean;
-  clearPublishedBeforeJoystream(): void;
-  getPublishedBeforeJoystream(): PublishedBeforeJoystream | undefined;
-  setPublishedBeforeJoystream(value?: PublishedBeforeJoystream): void;
-
-  hasHasMarketing(): boolean;
-  clearHasMarketing(): void;
-  getHasMarketing(): boolean | undefined;
-  setHasMarketing(value: boolean): void;
-
-  hasIsPublic(): boolean;
-  clearIsPublic(): void;
-  getIsPublic(): boolean | undefined;
-  setIsPublic(value: boolean): void;
-
-  hasIsExplicit(): boolean;
-  clearIsExplicit(): void;
-  getIsExplicit(): boolean | undefined;
-  setIsExplicit(value: boolean): void;
-
-  clearPersonsList(): void;
-  getPersonsList(): Array<number>;
-  setPersonsList(value: Array<number>): void;
-  addPersons(value: number, index?: number): number;
-
-  hasCategory(): boolean;
-  clearCategory(): void;
-  getCategory(): number | undefined;
-  setCategory(value: number): void;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): VideoMetadata.AsObject;
-  static toObject(includeInstance: boolean, msg: VideoMetadata): VideoMetadata.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: VideoMetadata, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): VideoMetadata;
-  static deserializeBinaryFromReader(message: VideoMetadata, reader: jspb.BinaryReader): VideoMetadata;
-}
-
-export namespace VideoMetadata {
-  export type AsObject = {
-    title?: string,
-    description?: string,
-    video?: number,
-    thumbnailPhoto?: number,
-    duration?: number,
-    mediaPixelHeight?: number,
-    mediaPixelWidth?: number,
-    mediaType?: MediaType.AsObject,
-    language?: string,
-    license?: License.AsObject,
-    publishedBeforeJoystream?: PublishedBeforeJoystream.AsObject,
-    hasMarketing?: boolean,
-    isPublic?: boolean,
-    isExplicit?: boolean,
-    personsList: Array<number>,
-    category?: number,
-  }
-}
-
-export class VideoCategoryMetadata extends jspb.Message {
-  hasName(): boolean;
-  clearName(): void;
-  getName(): string | undefined;
-  setName(value: string): void;
-
-  serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): VideoCategoryMetadata.AsObject;
-  static toObject(includeInstance: boolean, msg: VideoCategoryMetadata): VideoCategoryMetadata.AsObject;
-  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
-  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
-  static serializeBinaryToWriter(message: VideoCategoryMetadata, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): VideoCategoryMetadata;
-  static deserializeBinaryFromReader(message: VideoCategoryMetadata, reader: jspb.BinaryReader): VideoCategoryMetadata;
-}
-
-export namespace VideoCategoryMetadata {
-  export type AsObject = {
-    name?: string,
-  }
-}
-

+ 0 - 1847
content-metadata-protobuf/compiled/proto/Video_pb.js

@@ -1,1847 +0,0 @@
-// source: proto/Video.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- *     field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = Function('return this')();
-
-goog.exportSymbol('proto.License', null, global);
-goog.exportSymbol('proto.MediaType', null, global);
-goog.exportSymbol('proto.PublishedBeforeJoystream', null, global);
-goog.exportSymbol('proto.VideoCategoryMetadata', null, global);
-goog.exportSymbol('proto.VideoMetadata', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.PublishedBeforeJoystream = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.PublishedBeforeJoystream, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.PublishedBeforeJoystream.displayName = 'proto.PublishedBeforeJoystream';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.License = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.License, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.License.displayName = 'proto.License';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.MediaType = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.MediaType, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.MediaType.displayName = 'proto.MediaType';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.VideoMetadata = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, proto.VideoMetadata.repeatedFields_, null);
-};
-goog.inherits(proto.VideoMetadata, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.VideoMetadata.displayName = 'proto.VideoMetadata';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.VideoCategoryMetadata = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.VideoCategoryMetadata, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
-  /**
-   * @public
-   * @override
-   */
-  proto.VideoCategoryMetadata.displayName = 'proto.VideoCategoryMetadata';
-}
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.PublishedBeforeJoystream.prototype.toObject = function(opt_includeInstance) {
-  return proto.PublishedBeforeJoystream.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.PublishedBeforeJoystream} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.PublishedBeforeJoystream.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    isPublished: (f = jspb.Message.getBooleanField(msg, 1)) == null ? undefined : f,
-    date: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.PublishedBeforeJoystream}
- */
-proto.PublishedBeforeJoystream.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.PublishedBeforeJoystream;
-  return proto.PublishedBeforeJoystream.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.PublishedBeforeJoystream} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.PublishedBeforeJoystream}
- */
-proto.PublishedBeforeJoystream.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setIsPublished(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDate(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.PublishedBeforeJoystream.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.PublishedBeforeJoystream.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.PublishedBeforeJoystream} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.PublishedBeforeJoystream.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeBool(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-};
-
-
-/**
- * optional bool is_published = 1;
- * @return {boolean}
- */
-proto.PublishedBeforeJoystream.prototype.getIsPublished = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.PublishedBeforeJoystream} returns this
- */
-proto.PublishedBeforeJoystream.prototype.setIsPublished = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PublishedBeforeJoystream} returns this
- */
-proto.PublishedBeforeJoystream.prototype.clearIsPublished = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PublishedBeforeJoystream.prototype.hasIsPublished = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional string date = 2;
- * @return {string}
- */
-proto.PublishedBeforeJoystream.prototype.getDate = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.PublishedBeforeJoystream} returns this
- */
-proto.PublishedBeforeJoystream.prototype.setDate = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.PublishedBeforeJoystream} returns this
- */
-proto.PublishedBeforeJoystream.prototype.clearDate = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.PublishedBeforeJoystream.prototype.hasDate = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.License.prototype.toObject = function(opt_includeInstance) {
-  return proto.License.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.License} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.License.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    code: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
-    attribution: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
-    customText: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.License}
- */
-proto.License.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.License;
-  return proto.License.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.License} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.License}
- */
-proto.License.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCode(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setAttribution(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setCustomText(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.License.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.License.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.License} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.License.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {number} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeUint32(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-};
-
-
-/**
- * optional uint32 code = 1;
- * @return {number}
- */
-proto.License.prototype.getCode = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.License} returns this
- */
-proto.License.prototype.setCode = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.License} returns this
- */
-proto.License.prototype.clearCode = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.License.prototype.hasCode = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional string attribution = 2;
- * @return {string}
- */
-proto.License.prototype.getAttribution = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.License} returns this
- */
-proto.License.prototype.setAttribution = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.License} returns this
- */
-proto.License.prototype.clearAttribution = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.License.prototype.hasAttribution = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional string custom_text = 3;
- * @return {string}
- */
-proto.License.prototype.getCustomText = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.License} returns this
- */
-proto.License.prototype.setCustomText = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.License} returns this
- */
-proto.License.prototype.clearCustomText = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.License.prototype.hasCustomText = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.MediaType.prototype.toObject = function(opt_includeInstance) {
-  return proto.MediaType.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.MediaType} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.MediaType.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    codecName: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
-    container: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
-    mimeMediaType: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.MediaType}
- */
-proto.MediaType.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.MediaType;
-  return proto.MediaType.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.MediaType} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.MediaType}
- */
-proto.MediaType.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setCodecName(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setContainer(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setMimeMediaType(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.MediaType.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.MediaType.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.MediaType} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.MediaType.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string codec_name = 1;
- * @return {string}
- */
-proto.MediaType.prototype.getCodecName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.MediaType} returns this
- */
-proto.MediaType.prototype.setCodecName = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.MediaType} returns this
- */
-proto.MediaType.prototype.clearCodecName = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.MediaType.prototype.hasCodecName = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional string container = 2;
- * @return {string}
- */
-proto.MediaType.prototype.getContainer = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.MediaType} returns this
- */
-proto.MediaType.prototype.setContainer = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.MediaType} returns this
- */
-proto.MediaType.prototype.clearContainer = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.MediaType.prototype.hasContainer = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional string mime_media_type = 3;
- * @return {string}
- */
-proto.MediaType.prototype.getMimeMediaType = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.MediaType} returns this
- */
-proto.MediaType.prototype.setMimeMediaType = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.MediaType} returns this
- */
-proto.MediaType.prototype.clearMimeMediaType = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.MediaType.prototype.hasMimeMediaType = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array<number>}
- * @const
- */
-proto.VideoMetadata.repeatedFields_ = [15];
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.VideoMetadata.prototype.toObject = function(opt_includeInstance) {
-  return proto.VideoMetadata.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.VideoMetadata} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.VideoMetadata.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    title: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
-    description: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
-    video: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
-    thumbnailPhoto: (f = jspb.Message.getField(msg, 4)) == null ? undefined : f,
-    duration: (f = jspb.Message.getField(msg, 5)) == null ? undefined : f,
-    mediaPixelHeight: (f = jspb.Message.getField(msg, 6)) == null ? undefined : f,
-    mediaPixelWidth: (f = jspb.Message.getField(msg, 7)) == null ? undefined : f,
-    mediaType: (f = msg.getMediaType()) && proto.MediaType.toObject(includeInstance, f),
-    language: (f = jspb.Message.getField(msg, 9)) == null ? undefined : f,
-    license: (f = msg.getLicense()) && proto.License.toObject(includeInstance, f),
-    publishedBeforeJoystream: (f = msg.getPublishedBeforeJoystream()) && proto.PublishedBeforeJoystream.toObject(includeInstance, f),
-    hasMarketing: (f = jspb.Message.getBooleanField(msg, 12)) == null ? undefined : f,
-    isPublic: (f = jspb.Message.getBooleanField(msg, 13)) == null ? undefined : f,
-    isExplicit: (f = jspb.Message.getBooleanField(msg, 14)) == null ? undefined : f,
-    personsList: (f = jspb.Message.getRepeatedField(msg, 15)) == null ? undefined : f,
-    category: (f = jspb.Message.getField(msg, 16)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.VideoMetadata}
- */
-proto.VideoMetadata.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.VideoMetadata;
-  return proto.VideoMetadata.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.VideoMetadata} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.VideoMetadata}
- */
-proto.VideoMetadata.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setTitle(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDescription(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVideo(value);
-      break;
-    case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setThumbnailPhoto(value);
-      break;
-    case 5:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setDuration(value);
-      break;
-    case 6:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setMediaPixelHeight(value);
-      break;
-    case 7:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setMediaPixelWidth(value);
-      break;
-    case 8:
-      var value = new proto.MediaType;
-      reader.readMessage(value,proto.MediaType.deserializeBinaryFromReader);
-      msg.setMediaType(value);
-      break;
-    case 9:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setLanguage(value);
-      break;
-    case 10:
-      var value = new proto.License;
-      reader.readMessage(value,proto.License.deserializeBinaryFromReader);
-      msg.setLicense(value);
-      break;
-    case 11:
-      var value = new proto.PublishedBeforeJoystream;
-      reader.readMessage(value,proto.PublishedBeforeJoystream.deserializeBinaryFromReader);
-      msg.setPublishedBeforeJoystream(value);
-      break;
-    case 12:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setHasMarketing(value);
-      break;
-    case 13:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setIsPublic(value);
-      break;
-    case 14:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setIsExplicit(value);
-      break;
-    case 15:
-      var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedUint64() : [reader.readUint64()]);
-      for (var i = 0; i < values.length; i++) {
-        msg.addPersons(values[i]);
-      }
-      break;
-    case 16:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setCategory(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.VideoMetadata.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.VideoMetadata.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.VideoMetadata} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.VideoMetadata.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 4));
-  if (f != null) {
-    writer.writeUint32(
-      4,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 5));
-  if (f != null) {
-    writer.writeUint32(
-      5,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 6));
-  if (f != null) {
-    writer.writeUint32(
-      6,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 7));
-  if (f != null) {
-    writer.writeUint32(
-      7,
-      f
-    );
-  }
-  f = message.getMediaType();
-  if (f != null) {
-    writer.writeMessage(
-      8,
-      f,
-      proto.MediaType.serializeBinaryToWriter
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 9));
-  if (f != null) {
-    writer.writeString(
-      9,
-      f
-    );
-  }
-  f = message.getLicense();
-  if (f != null) {
-    writer.writeMessage(
-      10,
-      f,
-      proto.License.serializeBinaryToWriter
-    );
-  }
-  f = message.getPublishedBeforeJoystream();
-  if (f != null) {
-    writer.writeMessage(
-      11,
-      f,
-      proto.PublishedBeforeJoystream.serializeBinaryToWriter
-    );
-  }
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 12));
-  if (f != null) {
-    writer.writeBool(
-      12,
-      f
-    );
-  }
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 13));
-  if (f != null) {
-    writer.writeBool(
-      13,
-      f
-    );
-  }
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 14));
-  if (f != null) {
-    writer.writeBool(
-      14,
-      f
-    );
-  }
-  f = message.getPersonsList();
-  if (f.length > 0) {
-    writer.writePackedUint64(
-      15,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 16));
-  if (f != null) {
-    writer.writeUint64(
-      16,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string title = 1;
- * @return {string}
- */
-proto.VideoMetadata.prototype.getTitle = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setTitle = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearTitle = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasTitle = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional string description = 2;
- * @return {string}
- */
-proto.VideoMetadata.prototype.getDescription = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setDescription = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearDescription = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasDescription = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional uint32 video = 3;
- * @return {number}
- */
-proto.VideoMetadata.prototype.getVideo = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setVideo = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearVideo = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasVideo = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional uint32 thumbnail_photo = 4;
- * @return {number}
- */
-proto.VideoMetadata.prototype.getThumbnailPhoto = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setThumbnailPhoto = function(value) {
-  return jspb.Message.setField(this, 4, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearThumbnailPhoto = function() {
-  return jspb.Message.setField(this, 4, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasThumbnailPhoto = function() {
-  return jspb.Message.getField(this, 4) != null;
-};
-
-
-/**
- * optional uint32 duration = 5;
- * @return {number}
- */
-proto.VideoMetadata.prototype.getDuration = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setDuration = function(value) {
-  return jspb.Message.setField(this, 5, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearDuration = function() {
-  return jspb.Message.setField(this, 5, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasDuration = function() {
-  return jspb.Message.getField(this, 5) != null;
-};
-
-
-/**
- * optional uint32 media_pixel_height = 6;
- * @return {number}
- */
-proto.VideoMetadata.prototype.getMediaPixelHeight = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setMediaPixelHeight = function(value) {
-  return jspb.Message.setField(this, 6, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearMediaPixelHeight = function() {
-  return jspb.Message.setField(this, 6, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasMediaPixelHeight = function() {
-  return jspb.Message.getField(this, 6) != null;
-};
-
-
-/**
- * optional uint32 media_pixel_width = 7;
- * @return {number}
- */
-proto.VideoMetadata.prototype.getMediaPixelWidth = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setMediaPixelWidth = function(value) {
-  return jspb.Message.setField(this, 7, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearMediaPixelWidth = function() {
-  return jspb.Message.setField(this, 7, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasMediaPixelWidth = function() {
-  return jspb.Message.getField(this, 7) != null;
-};
-
-
-/**
- * optional MediaType media_type = 8;
- * @return {?proto.MediaType}
- */
-proto.VideoMetadata.prototype.getMediaType = function() {
-  return /** @type{?proto.MediaType} */ (
-    jspb.Message.getWrapperField(this, proto.MediaType, 8));
-};
-
-
-/**
- * @param {?proto.MediaType|undefined} value
- * @return {!proto.VideoMetadata} returns this
-*/
-proto.VideoMetadata.prototype.setMediaType = function(value) {
-  return jspb.Message.setWrapperField(this, 8, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearMediaType = function() {
-  return this.setMediaType(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasMediaType = function() {
-  return jspb.Message.getField(this, 8) != null;
-};
-
-
-/**
- * optional string language = 9;
- * @return {string}
- */
-proto.VideoMetadata.prototype.getLanguage = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setLanguage = function(value) {
-  return jspb.Message.setField(this, 9, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearLanguage = function() {
-  return jspb.Message.setField(this, 9, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasLanguage = function() {
-  return jspb.Message.getField(this, 9) != null;
-};
-
-
-/**
- * optional License license = 10;
- * @return {?proto.License}
- */
-proto.VideoMetadata.prototype.getLicense = function() {
-  return /** @type{?proto.License} */ (
-    jspb.Message.getWrapperField(this, proto.License, 10));
-};
-
-
-/**
- * @param {?proto.License|undefined} value
- * @return {!proto.VideoMetadata} returns this
-*/
-proto.VideoMetadata.prototype.setLicense = function(value) {
-  return jspb.Message.setWrapperField(this, 10, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearLicense = function() {
-  return this.setLicense(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasLicense = function() {
-  return jspb.Message.getField(this, 10) != null;
-};
-
-
-/**
- * optional PublishedBeforeJoystream published_before_joystream = 11;
- * @return {?proto.PublishedBeforeJoystream}
- */
-proto.VideoMetadata.prototype.getPublishedBeforeJoystream = function() {
-  return /** @type{?proto.PublishedBeforeJoystream} */ (
-    jspb.Message.getWrapperField(this, proto.PublishedBeforeJoystream, 11));
-};
-
-
-/**
- * @param {?proto.PublishedBeforeJoystream|undefined} value
- * @return {!proto.VideoMetadata} returns this
-*/
-proto.VideoMetadata.prototype.setPublishedBeforeJoystream = function(value) {
-  return jspb.Message.setWrapperField(this, 11, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearPublishedBeforeJoystream = function() {
-  return this.setPublishedBeforeJoystream(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasPublishedBeforeJoystream = function() {
-  return jspb.Message.getField(this, 11) != null;
-};
-
-
-/**
- * optional bool has_marketing = 12;
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.getHasMarketing = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 12, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setHasMarketing = function(value) {
-  return jspb.Message.setField(this, 12, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearHasMarketing = function() {
-  return jspb.Message.setField(this, 12, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasHasMarketing = function() {
-  return jspb.Message.getField(this, 12) != null;
-};
-
-
-/**
- * optional bool is_public = 13;
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.getIsPublic = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setIsPublic = function(value) {
-  return jspb.Message.setField(this, 13, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearIsPublic = function() {
-  return jspb.Message.setField(this, 13, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasIsPublic = function() {
-  return jspb.Message.getField(this, 13) != null;
-};
-
-
-/**
- * optional bool is_explicit = 14;
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.getIsExplicit = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setIsExplicit = function(value) {
-  return jspb.Message.setField(this, 14, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearIsExplicit = function() {
-  return jspb.Message.setField(this, 14, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasIsExplicit = function() {
-  return jspb.Message.getField(this, 14) != null;
-};
-
-
-/**
- * repeated uint64 persons = 15;
- * @return {!Array<number>}
- */
-proto.VideoMetadata.prototype.getPersonsList = function() {
-  return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 15));
-};
-
-
-/**
- * @param {!Array<number>} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setPersonsList = function(value) {
-  return jspb.Message.setField(this, 15, value || []);
-};
-
-
-/**
- * @param {number} value
- * @param {number=} opt_index
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.addPersons = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 15, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearPersonsList = function() {
-  return this.setPersonsList([]);
-};
-
-
-/**
- * optional uint64 category = 16;
- * @return {number}
- */
-proto.VideoMetadata.prototype.getCategory = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.setCategory = function(value) {
-  return jspb.Message.setField(this, 16, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoMetadata} returns this
- */
-proto.VideoMetadata.prototype.clearCategory = function() {
-  return jspb.Message.setField(this, 16, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoMetadata.prototype.hasCategory = function() {
-  return jspb.Message.getField(this, 16) != null;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
- * For the list of reserved names please see:
- *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- *     JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.VideoCategoryMetadata.prototype.toObject = function(opt_includeInstance) {
-  return proto.VideoCategoryMetadata.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- *     the JSPB instance for transitional soy proto support:
- *     http://goto/soy-param-migration
- * @param {!proto.VideoCategoryMetadata} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.VideoCategoryMetadata.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.VideoCategoryMetadata}
- */
-proto.VideoCategoryMetadata.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.VideoCategoryMetadata;
-  return proto.VideoCategoryMetadata.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.VideoCategoryMetadata} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.VideoCategoryMetadata}
- */
-proto.VideoCategoryMetadata.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setName(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.VideoCategoryMetadata.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.VideoCategoryMetadata.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.VideoCategoryMetadata} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.VideoCategoryMetadata.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string name = 1;
- * @return {string}
- */
-proto.VideoCategoryMetadata.prototype.getName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.VideoCategoryMetadata} returns this
- */
-proto.VideoCategoryMetadata.prototype.setName = function(value) {
-  return jspb.Message.setField(this, 1, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.VideoCategoryMetadata} returns this
- */
-proto.VideoCategoryMetadata.prototype.clearName = function() {
-  return jspb.Message.setField(this, 1, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.VideoCategoryMetadata.prototype.hasName = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-goog.object.extend(exports, proto);

+ 0 - 374
content-metadata-protobuf/doc/index.md

@@ -1,374 +0,0 @@
-# Protocol Documentation
-<a name="top"></a>
-
-## Table of Contents
-
-- [proto/Channel.proto](#proto/Channel.proto)
-    - [ChannelCategoryMetadata](#.ChannelCategoryMetadata)
-    - [ChannelMetadata](#.ChannelMetadata)
-  
-- [proto/Person.proto](#proto/Person.proto)
-    - [PersonMetadata](#.PersonMetadata)
-  
-- [proto/Playlist.proto](#proto/Playlist.proto)
-    - [PlaylistMetadata](#.PlaylistMetadata)
-  
-- [proto/Series.proto](#proto/Series.proto)
-    - [SeasonMetadata](#.SeasonMetadata)
-    - [SeriesMetadata](#.SeriesMetadata)
-  
-- [proto/Video.proto](#proto/Video.proto)
-    - [License](#.License)
-    - [MediaType](#.MediaType)
-    - [PublishedBeforeJoystream](#.PublishedBeforeJoystream)
-    - [VideoCategoryMetadata](#.VideoCategoryMetadata)
-    - [VideoMetadata](#.VideoMetadata)
-  
-- [Scalar Value Types](#scalar-value-types)
-
-
-
-<a name="proto/Channel.proto"></a>
-<p align="right"><a href="#top">Top</a></p>
-
-## proto/Channel.proto
-
-
-
-<a name=".ChannelCategoryMetadata"></a>
-
-### ChannelCategoryMetadata
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| name | [string](#string) | optional | Category Name |
-
-
-
-
-
-
-<a name=".ChannelMetadata"></a>
-
-### ChannelMetadata
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| title | [string](#string) | optional | Channel Title |
-| description | [string](#string) | optional | Channel Description |
-| is_public | [bool](#bool) | optional | Wether to display channel to the public |
-| language | [string](#string) | optional | ISO_639-1 Language [Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) |
-| cover_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
-| avatar_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
-| category | [uint64](#uint64) | optional | Channel Category Id |
-
-
-
-
-
- 
-
- 
-
- 
-
- 
-
-
-
-<a name="proto/Person.proto"></a>
-<p align="right"><a href="#top">Top</a></p>
-
-## proto/Person.proto
-
-
-
-<a name=".PersonMetadata"></a>
-
-### PersonMetadata
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| first_name | [string](#string) | optional |  |
-| middle_name | [string](#string) | optional |  |
-| last_name | [string](#string) | optional |  |
-| about | [string](#string) | optional |  |
-| cover_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
-| avatar_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
-
-
-
-
-
- 
-
- 
-
- 
-
- 
-
-
-
-<a name="proto/Playlist.proto"></a>
-<p align="right"><a href="#top">Top</a></p>
-
-## proto/Playlist.proto
-
-
-
-<a name=".PlaylistMetadata"></a>
-
-### PlaylistMetadata
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| title | [string](#string) | optional |  |
-| videos | [uint64](#uint64) | repeated | Videos in the playlist |
-
-
-
-
-
- 
-
- 
-
- 
-
- 
-
-
-
-<a name="proto/Series.proto"></a>
-<p align="right"><a href="#top">Top</a></p>
-
-## proto/Series.proto
-
-
-
-<a name=".SeasonMetadata"></a>
-
-### SeasonMetadata
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| title | [string](#string) | optional |  |
-| description | [string](#string) | optional |  |
-| cover_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
-| persons | [uint64](#uint64) | repeated | Person(s) referenced by PersonId involved in this Season |
-
-
-
-
-
-
-<a name=".SeriesMetadata"></a>
-
-### SeriesMetadata
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| title | [string](#string) | optional |  |
-| description | [string](#string) | optional |  |
-| cover_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
-| persons | [uint64](#uint64) | repeated | Person(s) referenced by PersonId involved in this Series |
-
-
-
-
-
- 
-
- 
-
- 
-
- 
-
-
-
-<a name="proto/Video.proto"></a>
-<p align="right"><a href="#top">Top</a></p>
-
-## proto/Video.proto
-
-
-
-<a name=".License"></a>
-
-### License
-License types defined by Joystream
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| code | [uint32](#uint32) | optional | License code defined by Joystream. [reference](../src/KnownLicenses.json) |
-| attribution | [string](#string) | optional | Text for licenses that require an attribution |
-| custom_text | [string](#string) | optional | Text for custom license type |
-
-
-
-
-
-
-<a name=".MediaType"></a>
-
-### MediaType
-Codec, Container, MIME media-type information
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| codec_name | [string](#string) | optional | Codec corresponding to `name` field from [FFmpeg](https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/codec_desc.c) |
-| container | [string](#string) | optional | Video container format, eg. &#39;MP4&#39;, &#39;WebM&#39;, &#39;Ogg&#39; [ref](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs) |
-| mime_media_type | [string](#string) | optional | MIME Media Type, eg. &#39;video/mp4&#39; [ref](https://www.iana.org/assignments/media-types/media-types.xhtml#video) |
-
-
-
-
-
-
-<a name=".PublishedBeforeJoystream"></a>
-
-### PublishedBeforeJoystream
-Publication status before joystream
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| is_published | [bool](#bool) | optional | Was video published before joystream platform |
-| date | [string](#string) | optional | Date of publication: &#39;YYYY-MM-DD&#39; [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) |
-
-
-
-
-
-
-<a name=".VideoCategoryMetadata"></a>
-
-### VideoCategoryMetadata
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| name | [string](#string) | optional | Category name |
-
-
-
-
-
-
-<a name=".VideoMetadata"></a>
-
-### VideoMetadata
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| title | [string](#string) | optional | Video Title |
-| description | [string](#string) | optional | Video Description |
-| video | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
-| thumbnail_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
-| duration | [uint32](#uint32) | optional | Lengths of video in seconds |
-| media_pixel_height | [uint32](#uint32) | optional | Resolution of the video (Height) |
-| media_pixel_width | [uint32](#uint32) | optional | Resolution of the video (Width) |
-| media_type | [MediaType](#MediaType) | optional | Encoding and Container format used |
-| language | [string](#string) | optional | ISO_639-1 Language [Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) |
-| license | [License](#License) | optional | License type for the media |
-| published_before_joystream | [PublishedBeforeJoystream](#PublishedBeforeJoystream) | optional | Date of publication |
-| has_marketing | [bool](#bool) | optional | Does video have marketing or advertising in the stream |
-| is_public | [bool](#bool) | optional | Should video be publicy visible yet |
-| is_explicit | [bool](#bool) | optional | Does Video have explicit language or scenes |
-| persons | [uint64](#uint64) | repeated | Person(s) referenced by PersonId involved in this video |
-| category | [uint64](#uint64) | optional | Video Category Id |
-
-
-
-
-
- 
-
- 
-
- 
-
- 
-
-
-
-## Scalar Value Types
-
-| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
-| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- |
-| <a name="double" /> double |  | double | double | float | float64 | double | float | Float |
-| <a name="float" /> float |  | float | float | float | float32 | float | float | Float |
-| <a name="int32" /> int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
-| <a name="int64" /> int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
-| <a name="uint32" /> uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
-| <a name="uint64" /> uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
-| <a name="sint32" /> sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
-| <a name="sint64" /> sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
-| <a name="fixed32" /> fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
-| <a name="fixed64" /> fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
-| <a name="sfixed32" /> sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
-| <a name="sfixed64" /> sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
-| <a name="bool" /> bool |  | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass |
-| <a name="string" /> string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
-| <a name="bytes" /> bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |
-
-<!-- 
-    This extra documentation will be appended to the generated docs.
--->
-
-## Referencing Assets
-<a name=".Assets"></a>
-
-Applications that process messages that contain a `uint32` field that references an asset such as a cover photo or video, should interpret this value as a zero based index into an array/vector that is received external (out of band) to the protobuf message.
-
-Example in context of query-node processing the runtime event `VideoCreated`
-
-```rust
-// Runtime event associated with creating a Video
-VideoCreated(video_id: VideoId, video: Video, assets: Vec<NewAsset>, params: VideoCreationParameters)
-
-struct VideoCreationParameters {
-  in_category: VideoCategoryId,
-  // binary serialized VideoMetadata protobuf message
-  meta: Vec<u8>,
-}
-
-// suppose assets is a vector of two elements. This is the "out of band" array being referenced by the VideoMetadata message
-assets = [
-    NewAsset::Uri("https://mydomain.net/thumbnail.png"),
-    NewAsset::Upload({
-       content_id,
-       ipfs_hash,
-       size,
-       ...
-    }),
-];
-
-meta = VideoMetadata {
-    ...
-    // refers to second element: assets[1] which is being uploaded to the storage system
-    video: 1,
-    // refers to the first element assets[0] which is being referneced by a url string.
-    thumbnail_photo: 0,
-    ...
-};
-```

+ 0 - 13
content-metadata-protobuf/generate-md-doc.sh

@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-
-# Directory to write generated documentation to
-OUT_DIR_DOC="./doc"
-mkdir -p ${OUT_DIR_DOC}
-
-# Gernerate Markdown docs
-protoc \
-    --doc_out="${OUT_DIR_DOC}" --doc_opt=markdown,index.md \
-    proto/*.proto
-
-# Append some custom docs to generated protocol docs
-cat doc-appendix.md >> ${OUT_DIR_DOC}/index.md

+ 0 - 47
content-metadata-protobuf/package.json

@@ -1,47 +0,0 @@
-{
-  "name": "@joystream/content-metadata-protobuf",
-  "version": "1.1.0",
-  "description": "Joystream Content Metadata Protobuf Library ",
-  "main": "lib/index.js",
-  "types": "lib/index.d.ts",
-  "repository": "https://github.com/joystream/joystream",
-  "author": "Joystream Contributors",
-  "license": "MIT",
-  "private": false,
-  "scripts": {
-    "build": "./compile.sh && yarn build:ts",
-    "build:ts": "tsc",
-    "compile": "./compile.sh",
-    "generate-doc": "./generate-md-doc.sh",
-    "test": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'",
-    "lint": "eslint ./src --ext .ts",
-    "checks": "tsc --noEmit --pretty && prettier ./ --check && yarn lint",
-    "format": "prettier ./ --write",
-    "prepublish": "yarn build"
-  },
-  "files": [
-    "lib/**/*",
-    "doc/**",
-    "proto/**",
-    "compiled/**/*",
-    "README.md"
-  ],
-  "dependencies": {
-    "google-protobuf": "^3.14.0"
-  },
-  "devDependencies": {
-    "@types/chai": "^4.2.11",
-    "@types/mocha": "^8.2.0",
-    "chai": "^4.2.0",
-    "eslint": "^7.6.0",
-    "mocha": "^8.2.1",
-    "prettier": "2.0.2",
-    "ts-node": "^8.8.1",
-    "ts-protoc-gen": "^0.14.0",
-    "typescript": "^4.1.3"
-  },
-  "publishConfig": {
-    "access": "public",
-    "registry": "https://registry.npmjs.org"
-  }
-}

+ 0 - 10
content-metadata-protobuf/src/index.ts

@@ -1,10 +0,0 @@
-// Some helpers for constructing known licenses
-import licenses from './licenses'
-export { licenses }
-
-// protobuf message constructors
-export * from '../compiled/proto/Video_pb'
-export * from '../compiled/proto/Channel_pb'
-export * from '../compiled/proto/Person_pb'
-export * from '../compiled/proto/Playlist_pb'
-export * from '../compiled/proto/Series_pb'

+ 0 - 33
content-metadata-protobuf/test/channel.ts

@@ -1,33 +0,0 @@
-import { ChannelMetadata } from '../src'
-import { assert } from 'chai'
-
-describe('Channel Metadata', () => {
-  it('Message', () => {
-    const channel = new ChannelMetadata()
-
-    const title = 'title'
-    const description = 'description'
-    const isPublic = false
-    const language = 'fr'
-
-    channel.setTitle(title)
-    channel.setDescription(description)
-    channel.setIsPublic(isPublic)
-    channel.setLanguage(language)
-    channel.setAvatarPhoto(0)
-    channel.setCoverPhoto(1)
-    channel.setCategory(100)
-
-    assert.deepEqual(channel.toObject(), {
-      title,
-      description,
-      isPublic,
-      language,
-      avatarPhoto: 0,
-      coverPhoto: 1,
-      category: 100,
-    })
-
-    assert.deepEqual(ChannelMetadata.deserializeBinary(channel.serializeBinary()), channel)
-  })
-})

+ 0 - 115
content-metadata-protobuf/test/video.ts

@@ -1,115 +0,0 @@
-import { VideoMetadata, PublishedBeforeJoystream, MediaType, License } from '../src'
-import { assert, expect } from 'chai'
-
-describe('Video Metadata', () => {
-  it('Message', () => {
-    const meta = new VideoMetadata()
-
-    const title = 'Video Title'
-    const description = 'Video Description'
-    const duration = 100
-
-    meta.setTitle(title)
-    meta.setDescription(description)
-    meta.setDuration(duration)
-    meta.setMediaPixelHeight(1)
-    meta.setMediaPixelWidth(2)
-    meta.setMediaType(new MediaType())
-    meta.setLanguage('en')
-    meta.setLicense(new License())
-    meta.setPublishedBeforeJoystream(new PublishedBeforeJoystream())
-    meta.setHasMarketing(true)
-    meta.setIsPublic(true)
-    meta.setIsExplicit(false)
-    meta.setVideo(0)
-    meta.setThumbnailPhoto(1)
-    meta.setCategory(101)
-
-    assert.deepEqual(meta.toObject(), {
-      title,
-      description,
-      duration,
-      mediaPixelHeight: 1,
-      mediaPixelWidth: 2,
-      mediaType: {
-        codecName: undefined,
-        container: undefined,
-        mimeMediaType: undefined,
-      },
-      language: 'en',
-      license: {
-        code: undefined,
-        attribution: undefined,
-        customText: undefined,
-      },
-      publishedBeforeJoystream: { isPublished: undefined, date: undefined },
-      hasMarketing: true,
-      isPublic: true,
-      isExplicit: false,
-      thumbnailPhoto: 1,
-      video: 0,
-      personsList: [],
-      category: 101,
-    })
-
-    // sanity check - encoding / decoding works
-    assert.deepEqual(VideoMetadata.deserializeBinary(meta.serializeBinary()), meta)
-  })
-
-  it('Message: PublishedBeforeJoystream', () => {
-    const meta = new VideoMetadata()
-
-    expect(meta.hasPublishedBeforeJoystream()).equals(false, 'PublishedBeforeJoystream field should NOT be set')
-
-    const published = new PublishedBeforeJoystream()
-    const isPublished = true
-    const date = '1950-12-24'
-    published.setIsPublished(isPublished)
-    published.setDate(date)
-
-    meta.setPublishedBeforeJoystream(published)
-
-    // Field should now be set
-    expect(meta.hasPublishedBeforeJoystream()).equals(true, 'PublishedBeforeJoystream field should be set')
-
-    assert.deepEqual(published.toObject(), {
-      isPublished,
-      date,
-    })
-  })
-
-  it('Message: License', () => {
-    const license = new License()
-
-    const code = 1000
-    const attribution = 'Attribution Text'
-    const customText = 'Custom License Details'
-    license.setCode(code)
-    license.setAttribution(attribution)
-    license.setCustomText(customText)
-
-    assert.deepEqual(license.toObject(), {
-      code,
-      attribution,
-      customText,
-    })
-  })
-
-  it('Message: MediaType', () => {
-    const mediaType = new MediaType()
-
-    const codecName = 'mpeg4'
-    const container = 'avi'
-    const mimeMediaType = 'videp/mp4'
-
-    mediaType.setCodecName(codecName)
-    mediaType.setContainer(container)
-    mediaType.setMimeMediaType(mimeMediaType)
-
-    assert.deepEqual(mediaType.toObject(), {
-      codecName,
-      container,
-      mimeMediaType,
-    })
-  })
-})

+ 0 - 15
content-metadata-protobuf/tsconfig.json

@@ -1,15 +0,0 @@
-{
-  "compilerOptions": {
-    "target": "esnext",
-    "module": "commonjs",
-    "outDir": "lib",
-    "strict": true,
-    "declaration": true,
-    "esModuleInterop": true,
-    "forceConsistentCasingInFileNames": true,
-    "skipLibCheck": true,
-    "resolveJsonModule": true,
-  },
-  "include": ["src"],
-  "exclude": ["node_modules", "test"]
-}

+ 1 - 0
metadata-protobuf/.gitignore

@@ -1,2 +1,3 @@
 node_modules/
 lib/
+compiled/

+ 5 - 7
metadata-protobuf/README.md

@@ -1,6 +1,6 @@
-## Joystream Content Directory Metadata Library
+## Joystream Metadata Library
 
-This package contains protobuf message definitions compiled to Javascript/Typescript used for creating and updating various metadata blobs in the joystream content directory.
+This package contains protobuf message definitions compiled to Javascript/Typescript used for creating and updating various metadata blobs in Joystream.
 
 ### Message Specs
 
@@ -27,12 +27,10 @@ useful npm package https://www.npmjs.com/package/iso-639-1
 
 ### Building the package
 
-Building will compile the protofiles and build the library from source.
-
-- pre-requisists for compiling protofiles:
-    - [protoc](https://github.com/protocolbuffers/protobuf/releases)
+Building will compile the protofiles using [protobufjs](https://www.npmjs.com/package/protobufjs) and build the library from source.
 
 - pre-requisists for generating documentation:
+    - [protoc](https://github.com/protocolbuffers/protobuf/releases)
     - [golang](https://golang.org/)
     - [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc) to generate docs
 
@@ -50,4 +48,4 @@ yarn generate-docs
 
 ```
 yarn test
-```
+```

+ 1421 - 203
metadata-protobuf/compiled/index.d.ts

@@ -1,504 +1,1722 @@
 import { Long } from 'long'
 import * as $protobuf from "protobufjs";
+/** Properties of a ChannelMetadata. */
+export interface IChannelMetadata {
+
+    /** ChannelMetadata title */
+    title?: (string|null);
+
+    /** ChannelMetadata description */
+    description?: (string|null);
+
+    /** ChannelMetadata isPublic */
+    isPublic?: (boolean|null);
+
+    /** ChannelMetadata language */
+    language?: (string|null);
+
+    /** ChannelMetadata coverPhoto */
+    coverPhoto?: (number|null);
+
+    /** ChannelMetadata avatarPhoto */
+    avatarPhoto?: (number|null);
+
+    /** ChannelMetadata category */
+    category?: (Long|null);
+}
+
+/** Represents a ChannelMetadata. */
+export class ChannelMetadata implements IChannelMetadata {
+
+    /**
+     * Constructs a new ChannelMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IChannelMetadata);
+
+    /** ChannelMetadata title. */
+    public title: string;
+
+    /** ChannelMetadata description. */
+    public description: string;
+
+    /** ChannelMetadata isPublic. */
+    public isPublic: boolean;
+
+    /** ChannelMetadata language. */
+    public language: string;
+
+    /** ChannelMetadata coverPhoto. */
+    public coverPhoto: number;
+
+    /** ChannelMetadata avatarPhoto. */
+    public avatarPhoto: number;
+
+    /** ChannelMetadata category. */
+    public category: Long;
+
+    /**
+     * Creates a new ChannelMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns ChannelMetadata instance
+     */
+    public static create(properties?: IChannelMetadata): ChannelMetadata;
+
+    /**
+     * Encodes the specified ChannelMetadata message. Does not implicitly {@link ChannelMetadata.verify|verify} messages.
+     * @param message ChannelMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IChannelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified ChannelMetadata message, length delimited. Does not implicitly {@link ChannelMetadata.verify|verify} messages.
+     * @param message ChannelMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IChannelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a ChannelMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns ChannelMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ChannelMetadata;
+
+    /**
+     * Decodes a ChannelMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns ChannelMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ChannelMetadata;
+
+    /**
+     * Verifies a ChannelMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a ChannelMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns ChannelMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): ChannelMetadata;
+
+    /**
+     * Creates a plain object from a ChannelMetadata message. Also converts values to other types if specified.
+     * @param message ChannelMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: ChannelMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this ChannelMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a ChannelCategoryMetadata. */
+export interface IChannelCategoryMetadata {
+
+    /** ChannelCategoryMetadata name */
+    name?: (string|null);
+}
+
+/** Represents a ChannelCategoryMetadata. */
+export class ChannelCategoryMetadata implements IChannelCategoryMetadata {
+
+    /**
+     * Constructs a new ChannelCategoryMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IChannelCategoryMetadata);
+
+    /** ChannelCategoryMetadata name. */
+    public name: string;
+
+    /**
+     * Creates a new ChannelCategoryMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns ChannelCategoryMetadata instance
+     */
+    public static create(properties?: IChannelCategoryMetadata): ChannelCategoryMetadata;
+
+    /**
+     * Encodes the specified ChannelCategoryMetadata message. Does not implicitly {@link ChannelCategoryMetadata.verify|verify} messages.
+     * @param message ChannelCategoryMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IChannelCategoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified ChannelCategoryMetadata message, length delimited. Does not implicitly {@link ChannelCategoryMetadata.verify|verify} messages.
+     * @param message ChannelCategoryMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IChannelCategoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a ChannelCategoryMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns ChannelCategoryMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ChannelCategoryMetadata;
+
+    /**
+     * Decodes a ChannelCategoryMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns ChannelCategoryMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ChannelCategoryMetadata;
+
+    /**
+     * Verifies a ChannelCategoryMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a ChannelCategoryMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns ChannelCategoryMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): ChannelCategoryMetadata;
+
+    /**
+     * Creates a plain object from a ChannelCategoryMetadata message. Also converts values to other types if specified.
+     * @param message ChannelCategoryMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: ChannelCategoryMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this ChannelCategoryMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a PersonMetadata. */
+export interface IPersonMetadata {
+
+    /** PersonMetadata firstName */
+    firstName?: (string|null);
+
+    /** PersonMetadata middleName */
+    middleName?: (string|null);
+
+    /** PersonMetadata lastName */
+    lastName?: (string|null);
+
+    /** PersonMetadata about */
+    about?: (string|null);
+
+    /** PersonMetadata coverPhoto */
+    coverPhoto?: (number|null);
+
+    /** PersonMetadata avatarPhoto */
+    avatarPhoto?: (number|null);
+}
+
+/** Represents a PersonMetadata. */
+export class PersonMetadata implements IPersonMetadata {
+
+    /**
+     * Constructs a new PersonMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IPersonMetadata);
+
+    /** PersonMetadata firstName. */
+    public firstName: string;
+
+    /** PersonMetadata middleName. */
+    public middleName: string;
+
+    /** PersonMetadata lastName. */
+    public lastName: string;
+
+    /** PersonMetadata about. */
+    public about: string;
+
+    /** PersonMetadata coverPhoto. */
+    public coverPhoto: number;
+
+    /** PersonMetadata avatarPhoto. */
+    public avatarPhoto: number;
+
+    /**
+     * Creates a new PersonMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns PersonMetadata instance
+     */
+    public static create(properties?: IPersonMetadata): PersonMetadata;
+
+    /**
+     * Encodes the specified PersonMetadata message. Does not implicitly {@link PersonMetadata.verify|verify} messages.
+     * @param message PersonMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IPersonMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified PersonMetadata message, length delimited. Does not implicitly {@link PersonMetadata.verify|verify} messages.
+     * @param message PersonMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IPersonMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a PersonMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns PersonMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): PersonMetadata;
+
+    /**
+     * Decodes a PersonMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns PersonMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): PersonMetadata;
+
+    /**
+     * Verifies a PersonMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a PersonMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns PersonMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): PersonMetadata;
+
+    /**
+     * Creates a plain object from a PersonMetadata message. Also converts values to other types if specified.
+     * @param message PersonMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: PersonMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this PersonMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a PlaylistMetadata. */
+export interface IPlaylistMetadata {
+
+    /** PlaylistMetadata title */
+    title?: (string|null);
+
+    /** PlaylistMetadata videos */
+    videos?: (Long[]|null);
+}
+
+/** Represents a PlaylistMetadata. */
+export class PlaylistMetadata implements IPlaylistMetadata {
+
+    /**
+     * Constructs a new PlaylistMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IPlaylistMetadata);
+
+    /** PlaylistMetadata title. */
+    public title: string;
+
+    /** PlaylistMetadata videos. */
+    public videos: Long[];
+
+    /**
+     * Creates a new PlaylistMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns PlaylistMetadata instance
+     */
+    public static create(properties?: IPlaylistMetadata): PlaylistMetadata;
+
+    /**
+     * Encodes the specified PlaylistMetadata message. Does not implicitly {@link PlaylistMetadata.verify|verify} messages.
+     * @param message PlaylistMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IPlaylistMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified PlaylistMetadata message, length delimited. Does not implicitly {@link PlaylistMetadata.verify|verify} messages.
+     * @param message PlaylistMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IPlaylistMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a PlaylistMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns PlaylistMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): PlaylistMetadata;
+
+    /**
+     * Decodes a PlaylistMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns PlaylistMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): PlaylistMetadata;
+
+    /**
+     * Verifies a PlaylistMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a PlaylistMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns PlaylistMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): PlaylistMetadata;
+
+    /**
+     * Creates a plain object from a PlaylistMetadata message. Also converts values to other types if specified.
+     * @param message PlaylistMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: PlaylistMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this PlaylistMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a SeriesMetadata. */
+export interface ISeriesMetadata {
+
+    /** SeriesMetadata title */
+    title?: (string|null);
+
+    /** SeriesMetadata description */
+    description?: (string|null);
+
+    /** SeriesMetadata coverPhoto */
+    coverPhoto?: (number|null);
+
+    /** SeriesMetadata persons */
+    persons?: (Long[]|null);
+}
+
+/** Represents a SeriesMetadata. */
+export class SeriesMetadata implements ISeriesMetadata {
+
+    /**
+     * Constructs a new SeriesMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: ISeriesMetadata);
+
+    /** SeriesMetadata title. */
+    public title: string;
+
+    /** SeriesMetadata description. */
+    public description: string;
+
+    /** SeriesMetadata coverPhoto. */
+    public coverPhoto: number;
+
+    /** SeriesMetadata persons. */
+    public persons: Long[];
+
+    /**
+     * Creates a new SeriesMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns SeriesMetadata instance
+     */
+    public static create(properties?: ISeriesMetadata): SeriesMetadata;
+
+    /**
+     * Encodes the specified SeriesMetadata message. Does not implicitly {@link SeriesMetadata.verify|verify} messages.
+     * @param message SeriesMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: ISeriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified SeriesMetadata message, length delimited. Does not implicitly {@link SeriesMetadata.verify|verify} messages.
+     * @param message SeriesMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: ISeriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a SeriesMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns SeriesMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SeriesMetadata;
+
+    /**
+     * Decodes a SeriesMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns SeriesMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SeriesMetadata;
+
+    /**
+     * Verifies a SeriesMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a SeriesMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns SeriesMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): SeriesMetadata;
+
+    /**
+     * Creates a plain object from a SeriesMetadata message. Also converts values to other types if specified.
+     * @param message SeriesMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: SeriesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this SeriesMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a SeasonMetadata. */
+export interface ISeasonMetadata {
+
+    /** SeasonMetadata title */
+    title?: (string|null);
+
+    /** SeasonMetadata description */
+    description?: (string|null);
+
+    /** SeasonMetadata coverPhoto */
+    coverPhoto?: (number|null);
+
+    /** SeasonMetadata persons */
+    persons?: (Long[]|null);
+}
+
+/** Represents a SeasonMetadata. */
+export class SeasonMetadata implements ISeasonMetadata {
+
+    /**
+     * Constructs a new SeasonMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: ISeasonMetadata);
+
+    /** SeasonMetadata title. */
+    public title: string;
+
+    /** SeasonMetadata description. */
+    public description: string;
+
+    /** SeasonMetadata coverPhoto. */
+    public coverPhoto: number;
+
+    /** SeasonMetadata persons. */
+    public persons: Long[];
+
+    /**
+     * Creates a new SeasonMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns SeasonMetadata instance
+     */
+    public static create(properties?: ISeasonMetadata): SeasonMetadata;
+
+    /**
+     * Encodes the specified SeasonMetadata message. Does not implicitly {@link SeasonMetadata.verify|verify} messages.
+     * @param message SeasonMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: ISeasonMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified SeasonMetadata message, length delimited. Does not implicitly {@link SeasonMetadata.verify|verify} messages.
+     * @param message SeasonMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: ISeasonMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a SeasonMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns SeasonMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SeasonMetadata;
+
+    /**
+     * Decodes a SeasonMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns SeasonMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SeasonMetadata;
+
+    /**
+     * Verifies a SeasonMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a SeasonMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns SeasonMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): SeasonMetadata;
+
+    /**
+     * Creates a plain object from a SeasonMetadata message. Also converts values to other types if specified.
+     * @param message SeasonMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: SeasonMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this SeasonMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
 /** Properties of a GeoCoordiantes. */
 export interface IGeoCoordiantes {
 
-    /** GeoCoordiantes latitude */
-    latitude?: (number|null);
+    /** GeoCoordiantes latitude */
+    latitude?: (number|null);
+
+    /** GeoCoordiantes longitude */
+    longitude?: (number|null);
+}
+
+/** Represents a GeoCoordiantes. */
+export class GeoCoordiantes implements IGeoCoordiantes {
+
+    /**
+     * Constructs a new GeoCoordiantes.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IGeoCoordiantes);
+
+    /** GeoCoordiantes latitude. */
+    public latitude: number;
+
+    /** GeoCoordiantes longitude. */
+    public longitude: number;
+
+    /**
+     * Creates a new GeoCoordiantes instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns GeoCoordiantes instance
+     */
+    public static create(properties?: IGeoCoordiantes): GeoCoordiantes;
+
+    /**
+     * Encodes the specified GeoCoordiantes message. Does not implicitly {@link GeoCoordiantes.verify|verify} messages.
+     * @param message GeoCoordiantes message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IGeoCoordiantes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified GeoCoordiantes message, length delimited. Does not implicitly {@link GeoCoordiantes.verify|verify} messages.
+     * @param message GeoCoordiantes message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IGeoCoordiantes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a GeoCoordiantes message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns GeoCoordiantes
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): GeoCoordiantes;
+
+    /**
+     * Decodes a GeoCoordiantes message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns GeoCoordiantes
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): GeoCoordiantes;
+
+    /**
+     * Verifies a GeoCoordiantes message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a GeoCoordiantes message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns GeoCoordiantes
+     */
+    public static fromObject(object: { [k: string]: any }): GeoCoordiantes;
+
+    /**
+     * Creates a plain object from a GeoCoordiantes message. Also converts values to other types if specified.
+     * @param message GeoCoordiantes
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: GeoCoordiantes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this GeoCoordiantes to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a NodeLocationMetadata. */
+export interface INodeLocationMetadata {
+
+    /** NodeLocationMetadata countryCode */
+    countryCode?: (string|null);
+
+    /** NodeLocationMetadata city */
+    city?: (string|null);
+
+    /** NodeLocationMetadata coordinates */
+    coordinates?: (IGeoCoordiantes|null);
+}
+
+/** Represents a NodeLocationMetadata. */
+export class NodeLocationMetadata implements INodeLocationMetadata {
+
+    /**
+     * Constructs a new NodeLocationMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: INodeLocationMetadata);
+
+    /** NodeLocationMetadata countryCode. */
+    public countryCode: string;
+
+    /** NodeLocationMetadata city. */
+    public city: string;
+
+    /** NodeLocationMetadata coordinates. */
+    public coordinates?: (IGeoCoordiantes|null);
+
+    /**
+     * Creates a new NodeLocationMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns NodeLocationMetadata instance
+     */
+    public static create(properties?: INodeLocationMetadata): NodeLocationMetadata;
+
+    /**
+     * Encodes the specified NodeLocationMetadata message. Does not implicitly {@link NodeLocationMetadata.verify|verify} messages.
+     * @param message NodeLocationMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: INodeLocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified NodeLocationMetadata message, length delimited. Does not implicitly {@link NodeLocationMetadata.verify|verify} messages.
+     * @param message NodeLocationMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: INodeLocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a NodeLocationMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns NodeLocationMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NodeLocationMetadata;
+
+    /**
+     * Decodes a NodeLocationMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns NodeLocationMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NodeLocationMetadata;
+
+    /**
+     * Verifies a NodeLocationMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a NodeLocationMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns NodeLocationMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): NodeLocationMetadata;
+
+    /**
+     * Creates a plain object from a NodeLocationMetadata message. Also converts values to other types if specified.
+     * @param message NodeLocationMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: NodeLocationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this NodeLocationMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a StorageBucketOperatorMetadata. */
+export interface IStorageBucketOperatorMetadata {
+
+    /** StorageBucketOperatorMetadata endpoint */
+    endpoint?: (string|null);
+
+    /** StorageBucketOperatorMetadata location */
+    location?: (INodeLocationMetadata|null);
+
+    /** StorageBucketOperatorMetadata extra */
+    extra?: (string|null);
+}
+
+/** Represents a StorageBucketOperatorMetadata. */
+export class StorageBucketOperatorMetadata implements IStorageBucketOperatorMetadata {
+
+    /**
+     * Constructs a new StorageBucketOperatorMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IStorageBucketOperatorMetadata);
+
+    /** StorageBucketOperatorMetadata endpoint. */
+    public endpoint: string;
+
+    /** StorageBucketOperatorMetadata location. */
+    public location?: (INodeLocationMetadata|null);
+
+    /** StorageBucketOperatorMetadata extra. */
+    public extra: string;
+
+    /**
+     * Creates a new StorageBucketOperatorMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns StorageBucketOperatorMetadata instance
+     */
+    public static create(properties?: IStorageBucketOperatorMetadata): StorageBucketOperatorMetadata;
+
+    /**
+     * Encodes the specified StorageBucketOperatorMetadata message. Does not implicitly {@link StorageBucketOperatorMetadata.verify|verify} messages.
+     * @param message StorageBucketOperatorMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IStorageBucketOperatorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified StorageBucketOperatorMetadata message, length delimited. Does not implicitly {@link StorageBucketOperatorMetadata.verify|verify} messages.
+     * @param message StorageBucketOperatorMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IStorageBucketOperatorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a StorageBucketOperatorMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns StorageBucketOperatorMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): StorageBucketOperatorMetadata;
+
+    /**
+     * Decodes a StorageBucketOperatorMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns StorageBucketOperatorMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): StorageBucketOperatorMetadata;
+
+    /**
+     * Verifies a StorageBucketOperatorMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a StorageBucketOperatorMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns StorageBucketOperatorMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): StorageBucketOperatorMetadata;
+
+    /**
+     * Creates a plain object from a StorageBucketOperatorMetadata message. Also converts values to other types if specified.
+     * @param message StorageBucketOperatorMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: StorageBucketOperatorMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this StorageBucketOperatorMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a DistributionBucketOperatorMetadata. */
+export interface IDistributionBucketOperatorMetadata {
+
+    /** DistributionBucketOperatorMetadata endpoint */
+    endpoint?: (string|null);
+
+    /** DistributionBucketOperatorMetadata location */
+    location?: (INodeLocationMetadata|null);
+
+    /** DistributionBucketOperatorMetadata extra */
+    extra?: (string|null);
+}
+
+/** Represents a DistributionBucketOperatorMetadata. */
+export class DistributionBucketOperatorMetadata implements IDistributionBucketOperatorMetadata {
+
+    /**
+     * Constructs a new DistributionBucketOperatorMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IDistributionBucketOperatorMetadata);
+
+    /** DistributionBucketOperatorMetadata endpoint. */
+    public endpoint: string;
+
+    /** DistributionBucketOperatorMetadata location. */
+    public location?: (INodeLocationMetadata|null);
+
+    /** DistributionBucketOperatorMetadata extra. */
+    public extra: string;
+
+    /**
+     * Creates a new DistributionBucketOperatorMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns DistributionBucketOperatorMetadata instance
+     */
+    public static create(properties?: IDistributionBucketOperatorMetadata): DistributionBucketOperatorMetadata;
+
+    /**
+     * Encodes the specified DistributionBucketOperatorMetadata message. Does not implicitly {@link DistributionBucketOperatorMetadata.verify|verify} messages.
+     * @param message DistributionBucketOperatorMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IDistributionBucketOperatorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified DistributionBucketOperatorMetadata message, length delimited. Does not implicitly {@link DistributionBucketOperatorMetadata.verify|verify} messages.
+     * @param message DistributionBucketOperatorMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IDistributionBucketOperatorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a DistributionBucketOperatorMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns DistributionBucketOperatorMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): DistributionBucketOperatorMetadata;
+
+    /**
+     * Decodes a DistributionBucketOperatorMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns DistributionBucketOperatorMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): DistributionBucketOperatorMetadata;
+
+    /**
+     * Verifies a DistributionBucketOperatorMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a DistributionBucketOperatorMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns DistributionBucketOperatorMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): DistributionBucketOperatorMetadata;
+
+    /**
+     * Creates a plain object from a DistributionBucketOperatorMetadata message. Also converts values to other types if specified.
+     * @param message DistributionBucketOperatorMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: DistributionBucketOperatorMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this DistributionBucketOperatorMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a DistributionBucketFamilyMetadata. */
+export interface IDistributionBucketFamilyMetadata {
+
+    /** DistributionBucketFamilyMetadata region */
+    region?: (string|null);
+
+    /** DistributionBucketFamilyMetadata description */
+    description?: (string|null);
+
+    /** DistributionBucketFamilyMetadata boundary */
+    boundary?: (IGeoCoordiantes[]|null);
+}
+
+/** Represents a DistributionBucketFamilyMetadata. */
+export class DistributionBucketFamilyMetadata implements IDistributionBucketFamilyMetadata {
+
+    /**
+     * Constructs a new DistributionBucketFamilyMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IDistributionBucketFamilyMetadata);
+
+    /** DistributionBucketFamilyMetadata region. */
+    public region: string;
+
+    /** DistributionBucketFamilyMetadata description. */
+    public description: string;
+
+    /** DistributionBucketFamilyMetadata boundary. */
+    public boundary: IGeoCoordiantes[];
+
+    /**
+     * Creates a new DistributionBucketFamilyMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns DistributionBucketFamilyMetadata instance
+     */
+    public static create(properties?: IDistributionBucketFamilyMetadata): DistributionBucketFamilyMetadata;
+
+    /**
+     * Encodes the specified DistributionBucketFamilyMetadata message. Does not implicitly {@link DistributionBucketFamilyMetadata.verify|verify} messages.
+     * @param message DistributionBucketFamilyMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IDistributionBucketFamilyMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified DistributionBucketFamilyMetadata message, length delimited. Does not implicitly {@link DistributionBucketFamilyMetadata.verify|verify} messages.
+     * @param message DistributionBucketFamilyMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IDistributionBucketFamilyMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a DistributionBucketFamilyMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns DistributionBucketFamilyMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): DistributionBucketFamilyMetadata;
+
+    /**
+     * Decodes a DistributionBucketFamilyMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns DistributionBucketFamilyMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): DistributionBucketFamilyMetadata;
+
+    /**
+     * Verifies a DistributionBucketFamilyMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a DistributionBucketFamilyMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns DistributionBucketFamilyMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): DistributionBucketFamilyMetadata;
 
-    /** GeoCoordiantes longitude */
-    longitude?: (number|null);
+    /**
+     * Creates a plain object from a DistributionBucketFamilyMetadata message. Also converts values to other types if specified.
+     * @param message DistributionBucketFamilyMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: DistributionBucketFamilyMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this DistributionBucketFamilyMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
 }
 
-/** Represents a GeoCoordiantes. */
-export class GeoCoordiantes implements IGeoCoordiantes {
+/** Properties of a PublishedBeforeJoystream. */
+export interface IPublishedBeforeJoystream {
+
+    /** PublishedBeforeJoystream isPublished */
+    isPublished?: (boolean|null);
+
+    /** PublishedBeforeJoystream date */
+    date?: (string|null);
+}
+
+/** Represents a PublishedBeforeJoystream. */
+export class PublishedBeforeJoystream implements IPublishedBeforeJoystream {
 
     /**
-     * Constructs a new GeoCoordiantes.
+     * Constructs a new PublishedBeforeJoystream.
      * @param [properties] Properties to set
      */
-    constructor(properties?: IGeoCoordiantes);
+    constructor(properties?: IPublishedBeforeJoystream);
 
-    /** GeoCoordiantes latitude. */
-    public latitude: number;
+    /** PublishedBeforeJoystream isPublished. */
+    public isPublished: boolean;
 
-    /** GeoCoordiantes longitude. */
-    public longitude: number;
+    /** PublishedBeforeJoystream date. */
+    public date: string;
 
     /**
-     * Creates a new GeoCoordiantes instance using the specified properties.
+     * Creates a new PublishedBeforeJoystream instance using the specified properties.
      * @param [properties] Properties to set
-     * @returns GeoCoordiantes instance
+     * @returns PublishedBeforeJoystream instance
      */
-    public static create(properties?: IGeoCoordiantes): GeoCoordiantes;
+    public static create(properties?: IPublishedBeforeJoystream): PublishedBeforeJoystream;
 
     /**
-     * Encodes the specified GeoCoordiantes message. Does not implicitly {@link GeoCoordiantes.verify|verify} messages.
-     * @param message GeoCoordiantes message or plain object to encode
+     * Encodes the specified PublishedBeforeJoystream message. Does not implicitly {@link PublishedBeforeJoystream.verify|verify} messages.
+     * @param message PublishedBeforeJoystream message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encode(message: IGeoCoordiantes, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encode(message: IPublishedBeforeJoystream, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Encodes the specified GeoCoordiantes message, length delimited. Does not implicitly {@link GeoCoordiantes.verify|verify} messages.
-     * @param message GeoCoordiantes message or plain object to encode
+     * Encodes the specified PublishedBeforeJoystream message, length delimited. Does not implicitly {@link PublishedBeforeJoystream.verify|verify} messages.
+     * @param message PublishedBeforeJoystream message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encodeDelimited(message: IGeoCoordiantes, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encodeDelimited(message: IPublishedBeforeJoystream, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Decodes a GeoCoordiantes message from the specified reader or buffer.
+     * Decodes a PublishedBeforeJoystream message from the specified reader or buffer.
      * @param reader Reader or buffer to decode from
      * @param [length] Message length if known beforehand
-     * @returns GeoCoordiantes
+     * @returns PublishedBeforeJoystream
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): GeoCoordiantes;
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): PublishedBeforeJoystream;
 
     /**
-     * Decodes a GeoCoordiantes message from the specified reader or buffer, length delimited.
+     * Decodes a PublishedBeforeJoystream message from the specified reader or buffer, length delimited.
      * @param reader Reader or buffer to decode from
-     * @returns GeoCoordiantes
+     * @returns PublishedBeforeJoystream
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): GeoCoordiantes;
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): PublishedBeforeJoystream;
 
     /**
-     * Verifies a GeoCoordiantes message.
+     * Verifies a PublishedBeforeJoystream message.
      * @param message Plain object to verify
      * @returns `null` if valid, otherwise the reason why it is not
      */
     public static verify(message: { [k: string]: any }): (string|null);
 
     /**
-     * Creates a GeoCoordiantes message from a plain object. Also converts values to their respective internal types.
+     * Creates a PublishedBeforeJoystream message from a plain object. Also converts values to their respective internal types.
      * @param object Plain object
-     * @returns GeoCoordiantes
+     * @returns PublishedBeforeJoystream
      */
-    public static fromObject(object: { [k: string]: any }): GeoCoordiantes;
+    public static fromObject(object: { [k: string]: any }): PublishedBeforeJoystream;
 
     /**
-     * Creates a plain object from a GeoCoordiantes message. Also converts values to other types if specified.
-     * @param message GeoCoordiantes
+     * Creates a plain object from a PublishedBeforeJoystream message. Also converts values to other types if specified.
+     * @param message PublishedBeforeJoystream
      * @param [options] Conversion options
      * @returns Plain object
      */
-    public static toObject(message: GeoCoordiantes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+    public static toObject(message: PublishedBeforeJoystream, options?: $protobuf.IConversionOptions): { [k: string]: any };
 
     /**
-     * Converts this GeoCoordiantes to JSON.
+     * Converts this PublishedBeforeJoystream to JSON.
      * @returns JSON object
      */
     public toJSON(): { [k: string]: any };
 }
 
-/** Properties of a NodeLocationMetadata. */
-export interface INodeLocationMetadata {
+/** Properties of a License. */
+export interface ILicense {
 
-    /** NodeLocationMetadata countryCode */
-    countryCode?: (string|null);
+    /** License code */
+    code?: (number|null);
 
-    /** NodeLocationMetadata city */
-    city?: (string|null);
+    /** License attribution */
+    attribution?: (string|null);
 
-    /** NodeLocationMetadata coordinates */
-    coordinates?: (IGeoCoordiantes|null);
+    /** License customText */
+    customText?: (string|null);
 }
 
-/** Represents a NodeLocationMetadata. */
-export class NodeLocationMetadata implements INodeLocationMetadata {
+/** Represents a License. */
+export class License implements ILicense {
 
     /**
-     * Constructs a new NodeLocationMetadata.
+     * Constructs a new License.
      * @param [properties] Properties to set
      */
-    constructor(properties?: INodeLocationMetadata);
+    constructor(properties?: ILicense);
 
-    /** NodeLocationMetadata countryCode. */
-    public countryCode: string;
+    /** License code. */
+    public code: number;
 
-    /** NodeLocationMetadata city. */
-    public city: string;
+    /** License attribution. */
+    public attribution: string;
 
-    /** NodeLocationMetadata coordinates. */
-    public coordinates?: (IGeoCoordiantes|null);
+    /** License customText. */
+    public customText: string;
 
     /**
-     * Creates a new NodeLocationMetadata instance using the specified properties.
+     * Creates a new License instance using the specified properties.
      * @param [properties] Properties to set
-     * @returns NodeLocationMetadata instance
+     * @returns License instance
      */
-    public static create(properties?: INodeLocationMetadata): NodeLocationMetadata;
+    public static create(properties?: ILicense): License;
 
     /**
-     * Encodes the specified NodeLocationMetadata message. Does not implicitly {@link NodeLocationMetadata.verify|verify} messages.
-     * @param message NodeLocationMetadata message or plain object to encode
+     * Encodes the specified License message. Does not implicitly {@link License.verify|verify} messages.
+     * @param message License message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encode(message: INodeLocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encode(message: ILicense, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Encodes the specified NodeLocationMetadata message, length delimited. Does not implicitly {@link NodeLocationMetadata.verify|verify} messages.
-     * @param message NodeLocationMetadata message or plain object to encode
+     * Encodes the specified License message, length delimited. Does not implicitly {@link License.verify|verify} messages.
+     * @param message License message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encodeDelimited(message: INodeLocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encodeDelimited(message: ILicense, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Decodes a NodeLocationMetadata message from the specified reader or buffer.
+     * Decodes a License message from the specified reader or buffer.
      * @param reader Reader or buffer to decode from
      * @param [length] Message length if known beforehand
-     * @returns NodeLocationMetadata
+     * @returns License
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NodeLocationMetadata;
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): License;
 
     /**
-     * Decodes a NodeLocationMetadata message from the specified reader or buffer, length delimited.
+     * Decodes a License message from the specified reader or buffer, length delimited.
      * @param reader Reader or buffer to decode from
-     * @returns NodeLocationMetadata
+     * @returns License
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NodeLocationMetadata;
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): License;
 
     /**
-     * Verifies a NodeLocationMetadata message.
+     * Verifies a License message.
      * @param message Plain object to verify
      * @returns `null` if valid, otherwise the reason why it is not
      */
     public static verify(message: { [k: string]: any }): (string|null);
 
     /**
-     * Creates a NodeLocationMetadata message from a plain object. Also converts values to their respective internal types.
+     * Creates a License message from a plain object. Also converts values to their respective internal types.
      * @param object Plain object
-     * @returns NodeLocationMetadata
+     * @returns License
      */
-    public static fromObject(object: { [k: string]: any }): NodeLocationMetadata;
+    public static fromObject(object: { [k: string]: any }): License;
 
     /**
-     * Creates a plain object from a NodeLocationMetadata message. Also converts values to other types if specified.
-     * @param message NodeLocationMetadata
+     * Creates a plain object from a License message. Also converts values to other types if specified.
+     * @param message License
      * @param [options] Conversion options
      * @returns Plain object
      */
-    public static toObject(message: NodeLocationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+    public static toObject(message: License, options?: $protobuf.IConversionOptions): { [k: string]: any };
 
     /**
-     * Converts this NodeLocationMetadata to JSON.
+     * Converts this License to JSON.
      * @returns JSON object
      */
     public toJSON(): { [k: string]: any };
 }
 
-/** Properties of a StorageBucketOperatorMetadata. */
-export interface IStorageBucketOperatorMetadata {
+/** Properties of a MediaType. */
+export interface IMediaType {
 
-    /** StorageBucketOperatorMetadata endpoint */
-    endpoint?: (string|null);
+    /** MediaType codecName */
+    codecName?: (string|null);
 
-    /** StorageBucketOperatorMetadata location */
-    location?: (INodeLocationMetadata|null);
+    /** MediaType container */
+    container?: (string|null);
 
-    /** StorageBucketOperatorMetadata extra */
-    extra?: (string|null);
+    /** MediaType mimeMediaType */
+    mimeMediaType?: (string|null);
 }
 
-/** Represents a StorageBucketOperatorMetadata. */
-export class StorageBucketOperatorMetadata implements IStorageBucketOperatorMetadata {
+/** Represents a MediaType. */
+export class MediaType implements IMediaType {
 
     /**
-     * Constructs a new StorageBucketOperatorMetadata.
+     * Constructs a new MediaType.
      * @param [properties] Properties to set
      */
-    constructor(properties?: IStorageBucketOperatorMetadata);
+    constructor(properties?: IMediaType);
 
-    /** StorageBucketOperatorMetadata endpoint. */
-    public endpoint: string;
+    /** MediaType codecName. */
+    public codecName: string;
 
-    /** StorageBucketOperatorMetadata location. */
-    public location?: (INodeLocationMetadata|null);
+    /** MediaType container. */
+    public container: string;
 
-    /** StorageBucketOperatorMetadata extra. */
-    public extra: string;
+    /** MediaType mimeMediaType. */
+    public mimeMediaType: string;
 
     /**
-     * Creates a new StorageBucketOperatorMetadata instance using the specified properties.
+     * Creates a new MediaType instance using the specified properties.
      * @param [properties] Properties to set
-     * @returns StorageBucketOperatorMetadata instance
+     * @returns MediaType instance
      */
-    public static create(properties?: IStorageBucketOperatorMetadata): StorageBucketOperatorMetadata;
+    public static create(properties?: IMediaType): MediaType;
 
     /**
-     * Encodes the specified StorageBucketOperatorMetadata message. Does not implicitly {@link StorageBucketOperatorMetadata.verify|verify} messages.
-     * @param message StorageBucketOperatorMetadata message or plain object to encode
+     * Encodes the specified MediaType message. Does not implicitly {@link MediaType.verify|verify} messages.
+     * @param message MediaType message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encode(message: IStorageBucketOperatorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encode(message: IMediaType, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Encodes the specified StorageBucketOperatorMetadata message, length delimited. Does not implicitly {@link StorageBucketOperatorMetadata.verify|verify} messages.
-     * @param message StorageBucketOperatorMetadata message or plain object to encode
+     * Encodes the specified MediaType message, length delimited. Does not implicitly {@link MediaType.verify|verify} messages.
+     * @param message MediaType message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encodeDelimited(message: IStorageBucketOperatorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encodeDelimited(message: IMediaType, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Decodes a StorageBucketOperatorMetadata message from the specified reader or buffer.
+     * Decodes a MediaType message from the specified reader or buffer.
      * @param reader Reader or buffer to decode from
      * @param [length] Message length if known beforehand
-     * @returns StorageBucketOperatorMetadata
+     * @returns MediaType
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): StorageBucketOperatorMetadata;
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): MediaType;
 
     /**
-     * Decodes a StorageBucketOperatorMetadata message from the specified reader or buffer, length delimited.
+     * Decodes a MediaType message from the specified reader or buffer, length delimited.
      * @param reader Reader or buffer to decode from
-     * @returns StorageBucketOperatorMetadata
+     * @returns MediaType
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): StorageBucketOperatorMetadata;
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): MediaType;
 
     /**
-     * Verifies a StorageBucketOperatorMetadata message.
+     * Verifies a MediaType message.
      * @param message Plain object to verify
      * @returns `null` if valid, otherwise the reason why it is not
      */
     public static verify(message: { [k: string]: any }): (string|null);
 
     /**
-     * Creates a StorageBucketOperatorMetadata message from a plain object. Also converts values to their respective internal types.
+     * Creates a MediaType message from a plain object. Also converts values to their respective internal types.
      * @param object Plain object
-     * @returns StorageBucketOperatorMetadata
+     * @returns MediaType
      */
-    public static fromObject(object: { [k: string]: any }): StorageBucketOperatorMetadata;
+    public static fromObject(object: { [k: string]: any }): MediaType;
 
     /**
-     * Creates a plain object from a StorageBucketOperatorMetadata message. Also converts values to other types if specified.
-     * @param message StorageBucketOperatorMetadata
+     * Creates a plain object from a MediaType message. Also converts values to other types if specified.
+     * @param message MediaType
      * @param [options] Conversion options
      * @returns Plain object
      */
-    public static toObject(message: StorageBucketOperatorMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+    public static toObject(message: MediaType, options?: $protobuf.IConversionOptions): { [k: string]: any };
 
     /**
-     * Converts this StorageBucketOperatorMetadata to JSON.
+     * Converts this MediaType to JSON.
      * @returns JSON object
      */
     public toJSON(): { [k: string]: any };
 }
 
-/** Properties of a DistributionBucketOperatorMetadata. */
-export interface IDistributionBucketOperatorMetadata {
+/** Properties of a VideoMetadata. */
+export interface IVideoMetadata {
 
-    /** DistributionBucketOperatorMetadata endpoint */
-    endpoint?: (string|null);
+    /** VideoMetadata title */
+    title?: (string|null);
 
-    /** DistributionBucketOperatorMetadata location */
-    location?: (INodeLocationMetadata|null);
+    /** VideoMetadata description */
+    description?: (string|null);
 
-    /** DistributionBucketOperatorMetadata extra */
-    extra?: (string|null);
+    /** VideoMetadata video */
+    video?: (number|null);
+
+    /** VideoMetadata thumbnailPhoto */
+    thumbnailPhoto?: (number|null);
+
+    /** VideoMetadata duration */
+    duration?: (number|null);
+
+    /** VideoMetadata mediaPixelHeight */
+    mediaPixelHeight?: (number|null);
+
+    /** VideoMetadata mediaPixelWidth */
+    mediaPixelWidth?: (number|null);
+
+    /** VideoMetadata mediaType */
+    mediaType?: (IMediaType|null);
+
+    /** VideoMetadata language */
+    language?: (string|null);
+
+    /** VideoMetadata license */
+    license?: (ILicense|null);
+
+    /** VideoMetadata publishedBeforeJoystream */
+    publishedBeforeJoystream?: (IPublishedBeforeJoystream|null);
+
+    /** VideoMetadata hasMarketing */
+    hasMarketing?: (boolean|null);
+
+    /** VideoMetadata isPublic */
+    isPublic?: (boolean|null);
+
+    /** VideoMetadata isExplicit */
+    isExplicit?: (boolean|null);
+
+    /** VideoMetadata persons */
+    persons?: (Long[]|null);
+
+    /** VideoMetadata category */
+    category?: (Long|null);
 }
 
-/** Represents a DistributionBucketOperatorMetadata. */
-export class DistributionBucketOperatorMetadata implements IDistributionBucketOperatorMetadata {
+/** Represents a VideoMetadata. */
+export class VideoMetadata implements IVideoMetadata {
 
     /**
-     * Constructs a new DistributionBucketOperatorMetadata.
+     * Constructs a new VideoMetadata.
      * @param [properties] Properties to set
      */
-    constructor(properties?: IDistributionBucketOperatorMetadata);
+    constructor(properties?: IVideoMetadata);
 
-    /** DistributionBucketOperatorMetadata endpoint. */
-    public endpoint: string;
+    /** VideoMetadata title. */
+    public title: string;
 
-    /** DistributionBucketOperatorMetadata location. */
-    public location?: (INodeLocationMetadata|null);
+    /** VideoMetadata description. */
+    public description: string;
 
-    /** DistributionBucketOperatorMetadata extra. */
-    public extra: string;
+    /** VideoMetadata video. */
+    public video: number;
+
+    /** VideoMetadata thumbnailPhoto. */
+    public thumbnailPhoto: number;
+
+    /** VideoMetadata duration. */
+    public duration: number;
+
+    /** VideoMetadata mediaPixelHeight. */
+    public mediaPixelHeight: number;
+
+    /** VideoMetadata mediaPixelWidth. */
+    public mediaPixelWidth: number;
+
+    /** VideoMetadata mediaType. */
+    public mediaType?: (IMediaType|null);
+
+    /** VideoMetadata language. */
+    public language: string;
+
+    /** VideoMetadata license. */
+    public license?: (ILicense|null);
+
+    /** VideoMetadata publishedBeforeJoystream. */
+    public publishedBeforeJoystream?: (IPublishedBeforeJoystream|null);
+
+    /** VideoMetadata hasMarketing. */
+    public hasMarketing: boolean;
+
+    /** VideoMetadata isPublic. */
+    public isPublic: boolean;
+
+    /** VideoMetadata isExplicit. */
+    public isExplicit: boolean;
+
+    /** VideoMetadata persons. */
+    public persons: Long[];
+
+    /** VideoMetadata category. */
+    public category: Long;
 
     /**
-     * Creates a new DistributionBucketOperatorMetadata instance using the specified properties.
+     * Creates a new VideoMetadata instance using the specified properties.
      * @param [properties] Properties to set
-     * @returns DistributionBucketOperatorMetadata instance
+     * @returns VideoMetadata instance
      */
-    public static create(properties?: IDistributionBucketOperatorMetadata): DistributionBucketOperatorMetadata;
+    public static create(properties?: IVideoMetadata): VideoMetadata;
 
     /**
-     * Encodes the specified DistributionBucketOperatorMetadata message. Does not implicitly {@link DistributionBucketOperatorMetadata.verify|verify} messages.
-     * @param message DistributionBucketOperatorMetadata message or plain object to encode
+     * Encodes the specified VideoMetadata message. Does not implicitly {@link VideoMetadata.verify|verify} messages.
+     * @param message VideoMetadata message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encode(message: IDistributionBucketOperatorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encode(message: IVideoMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Encodes the specified DistributionBucketOperatorMetadata message, length delimited. Does not implicitly {@link DistributionBucketOperatorMetadata.verify|verify} messages.
-     * @param message DistributionBucketOperatorMetadata message or plain object to encode
+     * Encodes the specified VideoMetadata message, length delimited. Does not implicitly {@link VideoMetadata.verify|verify} messages.
+     * @param message VideoMetadata message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encodeDelimited(message: IDistributionBucketOperatorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encodeDelimited(message: IVideoMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Decodes a DistributionBucketOperatorMetadata message from the specified reader or buffer.
+     * Decodes a VideoMetadata message from the specified reader or buffer.
      * @param reader Reader or buffer to decode from
      * @param [length] Message length if known beforehand
-     * @returns DistributionBucketOperatorMetadata
+     * @returns VideoMetadata
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): DistributionBucketOperatorMetadata;
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): VideoMetadata;
 
     /**
-     * Decodes a DistributionBucketOperatorMetadata message from the specified reader or buffer, length delimited.
+     * Decodes a VideoMetadata message from the specified reader or buffer, length delimited.
      * @param reader Reader or buffer to decode from
-     * @returns DistributionBucketOperatorMetadata
+     * @returns VideoMetadata
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): DistributionBucketOperatorMetadata;
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): VideoMetadata;
 
     /**
-     * Verifies a DistributionBucketOperatorMetadata message.
+     * Verifies a VideoMetadata message.
      * @param message Plain object to verify
      * @returns `null` if valid, otherwise the reason why it is not
      */
     public static verify(message: { [k: string]: any }): (string|null);
 
     /**
-     * Creates a DistributionBucketOperatorMetadata message from a plain object. Also converts values to their respective internal types.
+     * Creates a VideoMetadata message from a plain object. Also converts values to their respective internal types.
      * @param object Plain object
-     * @returns DistributionBucketOperatorMetadata
+     * @returns VideoMetadata
      */
-    public static fromObject(object: { [k: string]: any }): DistributionBucketOperatorMetadata;
+    public static fromObject(object: { [k: string]: any }): VideoMetadata;
 
     /**
-     * Creates a plain object from a DistributionBucketOperatorMetadata message. Also converts values to other types if specified.
-     * @param message DistributionBucketOperatorMetadata
+     * Creates a plain object from a VideoMetadata message. Also converts values to other types if specified.
+     * @param message VideoMetadata
      * @param [options] Conversion options
      * @returns Plain object
      */
-    public static toObject(message: DistributionBucketOperatorMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+    public static toObject(message: VideoMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
 
     /**
-     * Converts this DistributionBucketOperatorMetadata to JSON.
+     * Converts this VideoMetadata to JSON.
      * @returns JSON object
      */
     public toJSON(): { [k: string]: any };
 }
 
-/** Properties of a DistributionBucketFamilyMetadata. */
-export interface IDistributionBucketFamilyMetadata {
-
-    /** DistributionBucketFamilyMetadata region */
-    region?: (string|null);
-
-    /** DistributionBucketFamilyMetadata description */
-    description?: (string|null);
+/** Properties of a VideoCategoryMetadata. */
+export interface IVideoCategoryMetadata {
 
-    /** DistributionBucketFamilyMetadata boundary */
-    boundary?: (IGeoCoordiantes[]|null);
+    /** VideoCategoryMetadata name */
+    name?: (string|null);
 }
 
-/** Represents a DistributionBucketFamilyMetadata. */
-export class DistributionBucketFamilyMetadata implements IDistributionBucketFamilyMetadata {
+/** Represents a VideoCategoryMetadata. */
+export class VideoCategoryMetadata implements IVideoCategoryMetadata {
 
     /**
-     * Constructs a new DistributionBucketFamilyMetadata.
+     * Constructs a new VideoCategoryMetadata.
      * @param [properties] Properties to set
      */
-    constructor(properties?: IDistributionBucketFamilyMetadata);
-
-    /** DistributionBucketFamilyMetadata region. */
-    public region: string;
+    constructor(properties?: IVideoCategoryMetadata);
 
-    /** DistributionBucketFamilyMetadata description. */
-    public description: string;
-
-    /** DistributionBucketFamilyMetadata boundary. */
-    public boundary: IGeoCoordiantes[];
+    /** VideoCategoryMetadata name. */
+    public name: string;
 
     /**
-     * Creates a new DistributionBucketFamilyMetadata instance using the specified properties.
+     * Creates a new VideoCategoryMetadata instance using the specified properties.
      * @param [properties] Properties to set
-     * @returns DistributionBucketFamilyMetadata instance
+     * @returns VideoCategoryMetadata instance
      */
-    public static create(properties?: IDistributionBucketFamilyMetadata): DistributionBucketFamilyMetadata;
+    public static create(properties?: IVideoCategoryMetadata): VideoCategoryMetadata;
 
     /**
-     * Encodes the specified DistributionBucketFamilyMetadata message. Does not implicitly {@link DistributionBucketFamilyMetadata.verify|verify} messages.
-     * @param message DistributionBucketFamilyMetadata message or plain object to encode
+     * Encodes the specified VideoCategoryMetadata message. Does not implicitly {@link VideoCategoryMetadata.verify|verify} messages.
+     * @param message VideoCategoryMetadata message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encode(message: IDistributionBucketFamilyMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encode(message: IVideoCategoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Encodes the specified DistributionBucketFamilyMetadata message, length delimited. Does not implicitly {@link DistributionBucketFamilyMetadata.verify|verify} messages.
-     * @param message DistributionBucketFamilyMetadata message or plain object to encode
+     * Encodes the specified VideoCategoryMetadata message, length delimited. Does not implicitly {@link VideoCategoryMetadata.verify|verify} messages.
+     * @param message VideoCategoryMetadata message or plain object to encode
      * @param [writer] Writer to encode to
      * @returns Writer
      */
-    public static encodeDelimited(message: IDistributionBucketFamilyMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+    public static encodeDelimited(message: IVideoCategoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
 
     /**
-     * Decodes a DistributionBucketFamilyMetadata message from the specified reader or buffer.
+     * Decodes a VideoCategoryMetadata message from the specified reader or buffer.
      * @param reader Reader or buffer to decode from
      * @param [length] Message length if known beforehand
-     * @returns DistributionBucketFamilyMetadata
+     * @returns VideoCategoryMetadata
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): DistributionBucketFamilyMetadata;
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): VideoCategoryMetadata;
 
     /**
-     * Decodes a DistributionBucketFamilyMetadata message from the specified reader or buffer, length delimited.
+     * Decodes a VideoCategoryMetadata message from the specified reader or buffer, length delimited.
      * @param reader Reader or buffer to decode from
-     * @returns DistributionBucketFamilyMetadata
+     * @returns VideoCategoryMetadata
      * @throws {Error} If the payload is not a reader or valid buffer
      * @throws {$protobuf.util.ProtocolError} If required fields are missing
      */
-    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): DistributionBucketFamilyMetadata;
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): VideoCategoryMetadata;
 
     /**
-     * Verifies a DistributionBucketFamilyMetadata message.
+     * Verifies a VideoCategoryMetadata message.
      * @param message Plain object to verify
      * @returns `null` if valid, otherwise the reason why it is not
      */
     public static verify(message: { [k: string]: any }): (string|null);
 
     /**
-     * Creates a DistributionBucketFamilyMetadata message from a plain object. Also converts values to their respective internal types.
+     * Creates a VideoCategoryMetadata message from a plain object. Also converts values to their respective internal types.
      * @param object Plain object
-     * @returns DistributionBucketFamilyMetadata
+     * @returns VideoCategoryMetadata
      */
-    public static fromObject(object: { [k: string]: any }): DistributionBucketFamilyMetadata;
+    public static fromObject(object: { [k: string]: any }): VideoCategoryMetadata;
 
     /**
-     * Creates a plain object from a DistributionBucketFamilyMetadata message. Also converts values to other types if specified.
-     * @param message DistributionBucketFamilyMetadata
+     * Creates a plain object from a VideoCategoryMetadata message. Also converts values to other types if specified.
+     * @param message VideoCategoryMetadata
      * @param [options] Conversion options
      * @returns Plain object
      */
-    public static toObject(message: DistributionBucketFamilyMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+    public static toObject(message: VideoCategoryMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
 
     /**
-     * Converts this DistributionBucketFamilyMetadata to JSON.
+     * Converts this VideoCategoryMetadata to JSON.
      * @returns JSON object
      */
     public toJSON(): { [k: string]: any };

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 450 - 315
metadata-protobuf/compiled/index.js


+ 0 - 0
content-metadata-protobuf/doc-appendix.md → metadata-protobuf/doc-appendix.md


+ 351 - 6
metadata-protobuf/doc/index.md

@@ -3,6 +3,20 @@
 
 ## Table of Contents
 
+- [proto/Channel.proto](#proto/Channel.proto)
+    - [ChannelCategoryMetadata](#.ChannelCategoryMetadata)
+    - [ChannelMetadata](#.ChannelMetadata)
+  
+- [proto/Person.proto](#proto/Person.proto)
+    - [PersonMetadata](#.PersonMetadata)
+  
+- [proto/Playlist.proto](#proto/Playlist.proto)
+    - [PlaylistMetadata](#.PlaylistMetadata)
+  
+- [proto/Series.proto](#proto/Series.proto)
+    - [SeasonMetadata](#.SeasonMetadata)
+    - [SeriesMetadata](#.SeriesMetadata)
+  
 - [proto/Storage.proto](#proto/Storage.proto)
     - [DistributionBucketFamilyMetadata](#.DistributionBucketFamilyMetadata)
     - [DistributionBucketOperatorMetadata](#.DistributionBucketOperatorMetadata)
@@ -10,10 +24,189 @@
     - [NodeLocationMetadata](#.NodeLocationMetadata)
     - [StorageBucketOperatorMetadata](#.StorageBucketOperatorMetadata)
   
+- [proto/Video.proto](#proto/Video.proto)
+    - [License](#.License)
+    - [MediaType](#.MediaType)
+    - [PublishedBeforeJoystream](#.PublishedBeforeJoystream)
+    - [VideoCategoryMetadata](#.VideoCategoryMetadata)
+    - [VideoMetadata](#.VideoMetadata)
+  
 - [Scalar Value Types](#scalar-value-types)
 
 
 
+<a name="proto/Channel.proto"></a>
+<p align="right"><a href="#top">Top</a></p>
+
+## proto/Channel.proto
+
+
+
+<a name=".ChannelCategoryMetadata"></a>
+
+### ChannelCategoryMetadata
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| name | [string](#string) | optional | Category Name |
+
+
+
+
+
+
+<a name=".ChannelMetadata"></a>
+
+### ChannelMetadata
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| title | [string](#string) | optional | Channel Title |
+| description | [string](#string) | optional | Channel Description |
+| is_public | [bool](#bool) | optional | Wether to display channel to the public |
+| language | [string](#string) | optional | ISO_639-1 Language [Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) |
+| cover_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
+| avatar_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
+| category | [uint64](#uint64) | optional | Channel Category Id |
+
+
+
+
+
+ 
+
+ 
+
+ 
+
+ 
+
+
+
+<a name="proto/Person.proto"></a>
+<p align="right"><a href="#top">Top</a></p>
+
+## proto/Person.proto
+
+
+
+<a name=".PersonMetadata"></a>
+
+### PersonMetadata
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| first_name | [string](#string) | optional |  |
+| middle_name | [string](#string) | optional |  |
+| last_name | [string](#string) | optional |  |
+| about | [string](#string) | optional |  |
+| cover_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
+| avatar_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
+
+
+
+
+
+ 
+
+ 
+
+ 
+
+ 
+
+
+
+<a name="proto/Playlist.proto"></a>
+<p align="right"><a href="#top">Top</a></p>
+
+## proto/Playlist.proto
+
+
+
+<a name=".PlaylistMetadata"></a>
+
+### PlaylistMetadata
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| title | [string](#string) | optional |  |
+| videos | [uint64](#uint64) | repeated | Videos in the playlist |
+
+
+
+
+
+ 
+
+ 
+
+ 
+
+ 
+
+
+
+<a name="proto/Series.proto"></a>
+<p align="right"><a href="#top">Top</a></p>
+
+## proto/Series.proto
+
+
+
+<a name=".SeasonMetadata"></a>
+
+### SeasonMetadata
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| title | [string](#string) | optional |  |
+| description | [string](#string) | optional |  |
+| cover_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
+| persons | [uint64](#uint64) | repeated | Person(s) referenced by PersonId involved in this Season |
+
+
+
+
+
+
+<a name=".SeriesMetadata"></a>
+
+### SeriesMetadata
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| title | [string](#string) | optional |  |
+| description | [string](#string) | optional |  |
+| cover_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
+| persons | [uint64](#uint64) | repeated | Person(s) referenced by PersonId involved in this Series |
+
+
+
+
+
+ 
+
+ 
+
+ 
+
+ 
+
+
+
 <a name="proto/Storage.proto"></a>
 <p align="right"><a href="#top">Top</a></p>
 
@@ -31,7 +224,7 @@
 | ----- | ---- | ----- | ----------- |
 | region | [string](#string) | optional | ID / name of the region covered by the distribution family (ie. us-east-1). Should be unique. |
 | description | [string](#string) | optional | Additional, more specific description of the region |
-| boundary | [GeoCoordiantes](#GeoCoordiantes) | repeated | Geographical boundary of the region, defined as polygon through array of coordinates |
+| boundary | [GeoCoordiantes](#GeoCoordiantes) | repeated | Geographical boundary of the region, defined as polygon through array of coordinates (providing [{}] will unset the current value) |
 
 
 
@@ -47,7 +240,7 @@
 | Field | Type | Label | Description |
 | ----- | ---- | ----- | ----------- |
 | endpoint | [string](#string) | optional | Root distribution node endpoint (ie. https://example.com/distribution) |
-| location | [NodeLocationMetadata](#NodeLocationMetadata) | optional | Information about node&#39;s phisical location |
+| location | [NodeLocationMetadata](#NodeLocationMetadata) | optional | Information about node&#39;s phisical location (providing {} will unset current value) |
 | extra | [string](#string) | optional | Additional information about the node / node operator |
 
 
@@ -63,8 +256,8 @@
 
 | Field | Type | Label | Description |
 | ----- | ---- | ----- | ----------- |
-| latitude | [float](#float) | required |  |
-| longitude | [float](#float) | required |  |
+| latitude | [float](#float) | optional |  |
+| longitude | [float](#float) | optional |  |
 
 
 
@@ -81,7 +274,7 @@
 | ----- | ---- | ----- | ----------- |
 | country_code | [string](#string) | optional | ISO 3166-1 alpha-2 country code (2 letters) |
 | city | [string](#string) | optional | City name |
-| coordinates | [GeoCoordiantes](#GeoCoordiantes) | optional | Geographic coordinates |
+| coordinates | [GeoCoordiantes](#GeoCoordiantes) | optional | Geographic coordinates (providing {} will unset current value) |
 
 
 
@@ -97,7 +290,7 @@
 | Field | Type | Label | Description |
 | ----- | ---- | ----- | ----------- |
 | endpoint | [string](#string) | optional | Root storage node endpoint (ie. https://example.com/storage) |
-| location | [NodeLocationMetadata](#NodeLocationMetadata) | optional | Information about node&#39;s phisical location |
+| location | [NodeLocationMetadata](#NodeLocationMetadata) | optional | Information about node&#39;s phisical location (providing {} will unset current value) |
 | extra | [string](#string) | optional | Additional information about the node / node operator |
 
 
@@ -114,6 +307,117 @@
 
 
 
+<a name="proto/Video.proto"></a>
+<p align="right"><a href="#top">Top</a></p>
+
+## proto/Video.proto
+
+
+
+<a name=".License"></a>
+
+### License
+License types defined by Joystream
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| code | [uint32](#uint32) | optional | License code defined by Joystream. [reference](../src/KnownLicenses.json) |
+| attribution | [string](#string) | optional | Text for licenses that require an attribution |
+| custom_text | [string](#string) | optional | Text for custom license type |
+
+
+
+
+
+
+<a name=".MediaType"></a>
+
+### MediaType
+Codec, Container, MIME media-type information
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| codec_name | [string](#string) | optional | Codec corresponding to `name` field from [FFmpeg](https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/codec_desc.c) |
+| container | [string](#string) | optional | Video container format, eg. &#39;MP4&#39;, &#39;WebM&#39;, &#39;Ogg&#39; [ref](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs) |
+| mime_media_type | [string](#string) | optional | MIME Media Type, eg. &#39;video/mp4&#39; [ref](https://www.iana.org/assignments/media-types/media-types.xhtml#video) |
+
+
+
+
+
+
+<a name=".PublishedBeforeJoystream"></a>
+
+### PublishedBeforeJoystream
+Publication status before joystream
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| is_published | [bool](#bool) | optional | Was video published before joystream platform |
+| date | [string](#string) | optional | Date of publication: &#39;YYYY-MM-DD&#39; [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) |
+
+
+
+
+
+
+<a name=".VideoCategoryMetadata"></a>
+
+### VideoCategoryMetadata
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| name | [string](#string) | optional | Category name |
+
+
+
+
+
+
+<a name=".VideoMetadata"></a>
+
+### VideoMetadata
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| title | [string](#string) | optional | Video Title |
+| description | [string](#string) | optional | Video Description |
+| video | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
+| thumbnail_photo | [uint32](#uint32) | optional | index into external [assets array](#.Assets) |
+| duration | [uint32](#uint32) | optional | Lengths of video in seconds |
+| media_pixel_height | [uint32](#uint32) | optional | Resolution of the video (Height) |
+| media_pixel_width | [uint32](#uint32) | optional | Resolution of the video (Width) |
+| media_type | [MediaType](#MediaType) | optional | Encoding and Container format used |
+| language | [string](#string) | optional | ISO_639-1 Language [Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) |
+| license | [License](#License) | optional | License type for the media |
+| published_before_joystream | [PublishedBeforeJoystream](#PublishedBeforeJoystream) | optional | Date of publication |
+| has_marketing | [bool](#bool) | optional | Does video have marketing or advertising in the stream |
+| is_public | [bool](#bool) | optional | Should video be publicy visible yet |
+| is_explicit | [bool](#bool) | optional | Does Video have explicit language or scenes |
+| persons | [uint64](#uint64) | repeated | Person(s) referenced by PersonId involved in this video |
+| category | [uint64](#uint64) | optional | Video Category Id |
+
+
+
+
+
+ 
+
+ 
+
+ 
+
+ 
+
+
+
 ## Scalar Value Types
 
 | .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
@@ -134,3 +438,44 @@
 | <a name="string" /> string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
 | <a name="bytes" /> bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |
 
+<!-- 
+    This extra documentation will be appended to the generated docs.
+-->
+
+## Referencing Assets
+<a name=".Assets"></a>
+
+Applications that process messages that contain a `uint32` field that references an asset such as a cover photo or video, should interpret this value as a zero based index into an array/vector that is received external (out of band) to the protobuf message.
+
+Example in context of query-node processing the runtime event `VideoCreated`
+
+```rust
+// Runtime event associated with creating a Video
+VideoCreated(video_id: VideoId, video: Video, assets: Vec<NewAsset>, params: VideoCreationParameters)
+
+struct VideoCreationParameters {
+  in_category: VideoCategoryId,
+  // binary serialized VideoMetadata protobuf message
+  meta: Vec<u8>,
+}
+
+// suppose assets is a vector of two elements. This is the "out of band" array being referenced by the VideoMetadata message
+assets = [
+    NewAsset::Uri("https://mydomain.net/thumbnail.png"),
+    NewAsset::Upload({
+       content_id,
+       ipfs_hash,
+       size,
+       ...
+    }),
+];
+
+meta = VideoMetadata {
+    ...
+    // refers to second element: assets[1] which is being uploaded to the storage system
+    video: 1,
+    // refers to the first element assets[0] which is being referneced by a url string.
+    thumbnail_photo: 0,
+    ...
+};
+```

+ 3 - 0
metadata-protobuf/generate-md-doc.sh

@@ -8,3 +8,6 @@ mkdir -p ${OUT_DIR_DOC}
 protoc \
     --doc_out="${OUT_DIR_DOC}" --doc_opt=markdown,index.md \
     proto/*.proto
+
+# Append some custom docs to generated protocol docs
+cat doc-appendix.md >> ${OUT_DIR_DOC}/index.md

+ 2 - 1
metadata-protobuf/package.json

@@ -26,7 +26,8 @@
     "test": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha --inline-diffs -r ts-node/register 'test/**/*.ts'",
     "lint": "eslint ./src --ext .ts",
     "checks": "tsc --noEmit --pretty && prettier ./ --check && yarn lint",
-    "format": "prettier ./ --write"
+    "format": "prettier ./ --write",
+    "prepublish": "yarn build"
   },
   "files": [
     "lib/**/*",

+ 0 - 0
content-metadata-protobuf/proto/Channel.proto → metadata-protobuf/proto/Channel.proto


+ 0 - 0
content-metadata-protobuf/proto/Person.proto → metadata-protobuf/proto/Person.proto


+ 0 - 0
content-metadata-protobuf/proto/Playlist.proto → metadata-protobuf/proto/Playlist.proto


+ 0 - 0
content-metadata-protobuf/proto/Series.proto → metadata-protobuf/proto/Series.proto


+ 0 - 0
content-metadata-protobuf/proto/Video.proto → metadata-protobuf/proto/Video.proto


+ 0 - 0
content-metadata-protobuf/src/KnownLicenses.json → metadata-protobuf/src/KnownLicenses.json


+ 4 - 10
content-metadata-protobuf/src/licenses.ts → metadata-protobuf/src/licenses.ts

@@ -2,7 +2,7 @@
 // This should be factored out into a separate package
 
 import LICENSES from './KnownLicenses.json'
-import { License } from '../compiled/proto/Video_pb'
+import { License } from '../compiled/index'
 
 export type LicenseCode = number
 export const CUSTOM_LICENSE_CODE: LicenseCode = 1000
@@ -39,26 +39,20 @@ export function createKnownLicenseFromCode(code: LicenseCode, attribution?: stri
     throw new Error('Unknown License Code')
   }
 
-  const license = new License()
-
-  license.setCode(code)
+  const license = new License({ code })
 
   if (knownLicense.attributionRequired) {
     if (attribution === undefined) {
       throw new Error('Attribution required for selected license')
     }
-    license.setAttribution(attribution)
+    license.attribution = attribution
   }
 
   return license
 }
 
 export function createCustomKnownLicense(customText: string): License {
-  const license = new License()
-
-  license.setCode(CUSTOM_LICENSE_CODE)
-  license.setCustomText(customText)
-  return license
+  return new License({ code: CUSTOM_LICENSE_CODE, customText })
 }
 
 export default {

+ 31 - 0
metadata-protobuf/test/channel.ts

@@ -0,0 +1,31 @@
+import { ChannelMetadata } from '../src'
+import { assert } from 'chai'
+import { encodeDecode, metaToObject } from '../src/utils'
+import Long from 'long'
+
+describe('Channel Metadata', () => {
+  it('Message', () => {
+    const channel = {
+      title: 'title',
+      description: 'description',
+      isPublic: false,
+      language: 'fr',
+      avatarPhoto: 0,
+      coverPhoto: 1,
+      category: Long.fromNumber(100, true),
+    }
+    const channelMessage = new ChannelMetadata(channel)
+
+    assert.deepEqual(metaToObject(ChannelMetadata, channelMessage), { ...channel, category: '100' })
+    assert.deepEqual(encodeDecode(ChannelMetadata, channel), { ...channel, category: '100' })
+  })
+
+  it('Channel Metadata: Category as number', () => {
+    const channel = { category: 100 as any }
+    const channelMessage = new ChannelMetadata(channel)
+    ChannelMetadata.verify(channelMessage)
+
+    assert.deepEqual(metaToObject(ChannelMetadata, channelMessage), { ...channel, category: '100' })
+    assert.deepEqual(encodeDecode(ChannelMetadata, channel), { ...channel, category: '100' })
+  })
+})

+ 14 - 8
content-metadata-protobuf/test/license-codes.ts → metadata-protobuf/test/license-codes.ts

@@ -5,7 +5,7 @@ import {
   createKnownLicenseFromCode,
   createCustomKnownLicense,
 } from '../src/licenses'
-import { VideoMetadata } from '../src/index'
+import { License } from '../src/index'
 import { assert } from 'chai'
 
 describe('Known License Codes', () => {
@@ -16,7 +16,7 @@ describe('Known License Codes', () => {
   it('Pre-defined Joystream license codes', () => {
     // Make sure we have correct known custom license
     assert(KnownLicenses.has(CUSTOM_LICENSE_CODE))
-    assert.equal(KnownLicenses.get(CUSTOM_LICENSE_CODE)!.name, 'CUSTOM')
+    assert.equal(KnownLicenses.get(CUSTOM_LICENSE_CODE)?.name, 'CUSTOM')
 
     assert(KnownLicenses.has(1001))
     assert(KnownLicenses.has(1002))
@@ -29,14 +29,20 @@ describe('Known License Codes', () => {
   })
 
   it('createCustomKnownLicense(): uses correct code', () => {
-    const license = createCustomKnownLicense('custom text')
-    assert.equal(license.getCode(), CUSTOM_LICENSE_CODE)
+    const TEXT = 'custom text'
+    const license = createCustomKnownLicense(TEXT)
+    assert.equal(license.code, CUSTOM_LICENSE_CODE)
+    assert.equal(license.customText, TEXT)
+    License.verify(license)
   })
 
   it('createKnownLicenseFromCode(): License can be created by name', () => {
-    const licenseCode = getLicenseCodeByName('CC_BY') as number
-    const license = createKnownLicenseFromCode(licenseCode as number, 'Attribution: Joystream')
-    const videoMeta = new VideoMetadata()
-    videoMeta.setLicense(license)
+    const NAME = 'CC_BY'
+    const ATTRIBUTION = 'Attribution: Joystream'
+    const licenseCode = getLicenseCodeByName(NAME) as number
+    const license = createKnownLicenseFromCode(licenseCode, ATTRIBUTION)
+    assert.isDefined(license.code)
+    assert.equal(license.attribution, ATTRIBUTION)
+    License.verify(license)
   })
 })

+ 87 - 0
metadata-protobuf/test/video.ts

@@ -0,0 +1,87 @@
+import { VideoMetadata, MediaType } from '../src'
+import { assert, expect } from 'chai'
+import { isSet, encodeDecode, metaToObject } from '../src/utils'
+import Long from 'long'
+
+describe('Video Metadata', () => {
+  it('Message', () => {
+    const video = {
+      title: 'Video Title',
+      description: 'Video Description',
+      duration: 100,
+      mediaPixelHeight: 1,
+      mediaPixelWidth: 2,
+      mediaType: {},
+      language: 'en',
+      license: {},
+      publishedBeforeJoystream: {},
+      hasMarketing: true,
+      isPublic: true,
+      isExplicit: false,
+      video: 0,
+      thumbnailPhoto: 1,
+      category: Long.fromNumber(101, true),
+    }
+    const videoMessage = new VideoMetadata(video)
+
+    assert.deepEqual(metaToObject(VideoMetadata, videoMessage), { ...video, category: '101' })
+    assert.deepEqual(encodeDecode(VideoMetadata, video), { ...video, category: '101' })
+  })
+
+  it('Message: PublishedBeforeJoystream', () => {
+    const meta = new VideoMetadata()
+
+    expect(isSet(metaToObject(VideoMetadata, meta).publishedBeforeJoystream)).equals(
+      false,
+      'PublishedBeforeJoystream field should NOT be set'
+    )
+
+    const published = {
+      isPublished: true,
+      date: '1950-12-24',
+    }
+    meta.publishedBeforeJoystream = published
+
+    // Field should now be set
+    expect(isSet(metaToObject(VideoMetadata, meta).publishedBeforeJoystream)).equals(
+      true,
+      'PublishedBeforeJoystream field should be set'
+    )
+
+    assert.deepEqual(metaToObject(VideoMetadata, meta).publishedBeforeJoystream, published)
+    assert.deepEqual(encodeDecode(VideoMetadata, meta).publishedBeforeJoystream, meta.publishedBeforeJoystream)
+  })
+
+  it('Message: License', () => {
+    const license = {
+      code: 1000,
+      attribution: 'Attribution Text',
+      customText: 'Custom License Details',
+    }
+    const meta = new VideoMetadata({ license })
+    assert.deepEqual(metaToObject(VideoMetadata, meta).license, license)
+    assert.deepEqual(encodeDecode(VideoMetadata, meta).license, license)
+
+    // Empty object check
+    meta.license = {}
+    assert.deepEqual(metaToObject(VideoMetadata, meta).license, {})
+    assert.deepEqual(encodeDecode(VideoMetadata, meta).license, {})
+
+    // Unset check
+    meta.license = undefined
+    assert.deepEqual(metaToObject(VideoMetadata, meta).license, undefined)
+    assert.deepEqual(encodeDecode(VideoMetadata, meta).license, undefined)
+  })
+
+  it('Message: MediaType', () => {
+    const mediaType = {
+      codecName: 'mpeg4',
+      container: 'avi',
+      mimeMediaType: 'videp/mp4',
+    }
+    const mediaTypeMessage = new MediaType(mediaType)
+
+    assert.deepEqual(metaToObject(MediaType, mediaTypeMessage), mediaType)
+    assert.deepEqual(encodeDecode(MediaType, mediaType), mediaType)
+  })
+})

+ 0 - 1
package.json

@@ -27,7 +27,6 @@
     "query-node",
     "query-node/mappings",
     "query-node/generated/*",
-    "content-metadata-protobuf",
     "metadata-protobuf"
   ],
   "resolutions": {

+ 1 - 1
query-node/mappings/package.json

@@ -16,7 +16,7 @@
     "@polkadot/types": "4.2.1",
     "@joystream/hydra-common": "3.1.0-alpha.1",
     "@joystream/hydra-db-utils": "3.1.0-alpha.1",
-    "@joystream/content-metadata-protobuf": "^1.1.0",
+    "@joystream/metadata-protobuf": "^1.0.0",
     "@joystream/types": "^0.17.0",
     "@joystream/warthog": "2.35.0"
   },

+ 1 - 1
query-node/mappings/sumer/content/utils.ts

@@ -24,7 +24,7 @@ import {
   MediaType as MediaTypeMetadata,
   VideoMetadata,
   VideoCategoryMetadata,
-} from '@joystream/content-metadata-protobuf'
+} from '@joystream/metadata-protobuf'
 
 import { Content } from '../../../generated/types'
 

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است