Skip to content

Commit 9256edf

Browse files
committed
Fixed a mix-up issue with the tokens.
1 parent b36d271 commit 9256edf

File tree

6 files changed

+41
-22
lines changed

6 files changed

+41
-22
lines changed

bin/contentful-export-import.js

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ var updateJson = require('update-json');
1111
// Contentful Export & Import Options
1212
var options = {
1313
spaceId: 'hpty8kufn7nl',
14-
managementToken: '8fa7f1194e1440f869e193c2cab5e8da3e009f242046785b86f9aa054dfff744',
14+
accessToken: '',
15+
managementToken: 'CFPAT-faf804d0d0abc11ef6c5844ef15ffbf8f467a3236ccccd5a3b7af618f0fc3ad2',
1516
saveFile: false,
1617
maxAllowedItems: 100
1718
}
@@ -22,11 +23,15 @@ var filePath = './package.json';
2223
// Contentful options parameter definitions.
2324
var schema = {
2425
properties: {
25-
// Contentful Space ID
26+
// Your personal Space ID
2627
spaceId: {
2728
required: true
2829
},
29-
// Contentful Token
30+
// Content Delivery Access Token
31+
accessToken: {
32+
required: true
33+
},
34+
// Content Management Token
3035
managementToken: {
3136
required: true
3237
}
@@ -37,16 +42,17 @@ var schema = {
3742
var data = {
3843
config: {
3944
contentfulConfigurations: {
40-
spaceId: options.spaceId,
41-
managementToken: options.managementToken
45+
spaceId: '',
46+
accessToken: '',
47+
managementToken: ''
4248
}
4349
}
4450
}
4551

4652

4753
prompt.start();
4854
console.log("Starting the Contentful Export & Import Process..");
49-
console.log("Please enter your Contentful Space ID & Management Token.");
55+
console.log("Please enter your Contentful Space ID and your Content Delivery / Management Tokens.");
5056
console.log("You can find those values in Contentful under your space.");
5157
console.log("---------------------------------------------------------");
5258

@@ -58,11 +64,20 @@ prompt.get(schema, function (err, result) {
5864
// Update the options with the output JSON from the export and the user input spaceId & management token.
5965
options.content = output;
6066
options.spaceId = result.spaceId;
67+
options.accessToken = result.accessToken;
6168
options.managementToken = result.managementToken;
6269

70+
// Import the Space and pass the input into update JSON to update the package.json configs.
6371
spaceImport(options)
6472
.then((output) => {
6573
console.log('Data Imported successfully');
74+
75+
// Set the JSON values entered by the user to update package.json
76+
data.config.contentfulConfigurations.spaceId = options.spaceId;
77+
data.config.contentfulConfigurations.accessToken = options.accessToken;
78+
data.config.contentfulConfigurations.managementToken = options.managementToken;
79+
80+
// Update package.json
6681
updateJson(filePath, data, function (error) {
6782
if (error) {
6883
console.log("An error occurred updating package.json: " + err);

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,18 @@
3535
"url": "https://github.com/joshhebb/angularjs-contentful-starter"
3636
},
3737
"scripts": {
38-
"init": "npm install && bower install && gulp build && node bin/contentful-export-import.js"
38+
"init": "npm install && bower install && node bin/contentful-export-import.js && gulp build",
39+
"contentful-import": "node bin/contentful-export-import.js && gulp build"
3940
},
4041
"main": "index.html",
4142
"dependencies": {
4243
"gulp-concat": "^2.6.1"
4344
},
4445
"config": {
4546
"contentfulConfigurations": {
46-
"spaceId": "q9mhc88oq9z4",
47-
"managementToken": "54d95265933346f10e21bdf7e8f55b401b95d0a657d3775f00e75db2f521c4a1"
47+
"spaceId": "",
48+
"accessToken": "",
49+
"managementToken": ""
4850
}
4951
}
50-
}
52+
}

public/index.min.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47485,11 +47485,11 @@ var app = angular.module("angular-contentful-starter", [
4748547485
* The values for the space ID and management token come from contentful-config.js which is created when you created the project
4748647486
* via 'npm run init'. Update the values in package.json for them to persist through builds.
4748747487
*/
47488-
angular.module("angular-contentful-starter").config(['contentfulProvider', 'spaceId', 'managementToken',
47489-
function(contentfulProvider, spaceId, managementToken){
47488+
angular.module("angular-contentful-starter").config(['contentfulProvider', 'spaceId', 'accessToken',
47489+
function(contentfulProvider, spaceId, accessToken){
4749047490
contentfulProvider.setOptions({
4749147491
space: spaceId,
47492-
accessToken: managementToken
47492+
accessToken: accessToken
4749347493
});
4749447494
}]);
4749547495

@@ -47581,8 +47581,9 @@ angular.module("angular-contentful-starter").directive("featuredProducts", funct
4758147581
}
4758247582
});
4758347583
angular.module("angular-contentful-starter")
47584-
.constant("spaceId", "q9mhc88oq9z4")
47585-
.constant("managementToken", "54d95265933346f10e21bdf7e8f55b401b95d0a657d3775f00e75db2f521c4a1");
47584+
.constant("spaceId", "4fplwuvhgg8i")
47585+
.constant("accessToken", "51ea209e1b0e434f7a8c57ed31be2e3e0ee41550dba35870eb52d1807cfabc32")
47586+
.constant("managementToken", "CFPAT-faf804d0d0abc11ef6c5844ef15ffbf8f467a3236ccccd5a3b7af618f0fc3ad2");
4758647587

4758747588
angular.module("angular-contentful-starter").config(["$stateProvider", "$urlRouterProvider", "$locationProvider",
4758847589
function ($stateProvider, $urlRouterProvider, $locationProvider) {
@@ -47717,7 +47718,7 @@ function ($stateProvider, $urlRouterProvider, $locationProvider) {
4771747718
angular.module("angular-contentful-starter").run(["$templateCache", function($templateCache) {$templateCache.put("src/views/article.html","<!-- Content Article -->\r\n<section class=\"py-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n\r\n <!-- Article Title & Description (markdown) -->\r\n <div class=\"col-md-7\">\r\n <h1>{{ article.title }}</h1>\r\n <p class=\"py-4 rtf\" marked=\"article.longDescription\"></p>\r\n </div>\r\n <!-- Featured Article Image -->\r\n <div class=\"col-md-4 offset-md-1\">\r\n <img ng-src=\"{{ article.image.fields.file.url }}\" class=\"img-fluid img-thumbnail\">\r\n </div>\r\n </div>\r\n\r\n <!-- Article Author -->\r\n <div class=\"row py-4\" ng-if=\"article.author\">\r\n <div class=\"col-md-2\">\r\n <img ng-src=\"{{ article.author.fields.image.fields.file.url }}\" class=\"img-fluid img-thumbnail\">\r\n </div>\r\n <div class=\"col-md-10\">\r\n <h4>Author <strong>{{article.author.fields.firstName}} {{article.author.fields.lastName}}</strong></h4>\r\n <p marked=\"article.author.fields.description\"></p>\r\n </div>\r\n </div>\r\n </div>\r\n</section>");
4771847719
$templateCache.put("src/views/home.html","<!-- Render out the featured products on the homepage -->\r\n<div class=\"container\">\r\n <div class=\"row py-5\" ng-repeat=\"productLine in productLines\">\r\n <div class=\"col-md-7 \">\r\n <h2><a ui-sref=\"products({ productLine : productLine.fields.urlSlug })\">{{productLine.fields.title}}</a> ({{productLine.fields.products.length}})</h2>\r\n <p class=\"lead py-2\">{{productLine.fields.descriptionShort}}</p>\r\n\r\n <!-- Featured Products -->\r\n <featured-products products=\"productLine.fields.products\"></featured-products>\r\n </div>\r\n <div class=\"col-md-4 offset-md-1\">\r\n <a ui-sref=\"products\"><img class=\"featurette-image img-fluid mx-auto img-thumbnail\" ng-src=\"{{productLine.fields.image.fields.file.url}}\" ></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Blog Articles rendered at the bottom of the homepage -->\r\n<div class=\"container py-2\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <h1>Behind the Scenes</h1>\r\n </div>\r\n\r\n <div class=\"col-lg-4 col-md-6 mb-4 py-4\" ng-repeat=\"article in articles\">\r\n <div class=\"card h-100\">\r\n <a href=\"#\"> <img class=\"card-img-top\" ng-src=\"{{ article.fields.image.fields.file.url }}\" alt=\"\"> </a>\r\n <div class=\"card-body\">\r\n <h4 class=\"card-title\">\r\n <a ui-sref=\"article({ articleTitle: article.fields.urlSlug })\">{{ article.fields.title }}</a>\r\n </h4>\r\n <p class=\"card-text\">{{ article.fields.shortBody }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>");
4771947720
$templateCache.put("src/views/location.html","<!-- Content section -->\r\n<section class=\"py-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <!-- Store Left Column (Title, Subtitle & Description in markdown) -->\r\n <div class=\"col-md-7\">\r\n <h1 class=\"display-4\">{{store.title}}</h1>\r\n <h3 class=\"py-2\">{{store.subtitle}}</h3>\r\n\r\n <!-- Render out the description in markdown -->\r\n <p class=\"py-2 rtf\" marked=\"store.description\"></p>\r\n </div>\r\n\r\n <div class=\"col-md-4 offset-md-1 mt-5\">\r\n <div class=\"my-5\">\r\n <h4>Store Locator</h4>\r\n <div class=\"my-4 border\">\r\n <!-- Render the Google Map using the ngMap library. -->\r\n <ng-map center=\"{{ store.location.lat }}, {{ store.location.lon }}\" zoom=\"18\"></ng-map>\r\n </div>\r\n </div>\r\n\r\n <div class=\"my-5\">\r\n <h4 class=\"pb-3\">Available In Store</h4>\r\n\r\n <!-- Call our custom angular directive to render a list of featured products. -->\r\n <featured-products products=\"store.products\"></featured-products>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>");
47720-
$templateCache.put("src/views/product.html","<!-- Content section -->\r\n<div class=\"container py-5\">\r\n <div class=\"row\">\r\n <div class=\"col-md-7 \">\r\n <h1>{{product.title}}\r\n <span class=\"badge badge-primary mx-3\">Featured</span>\r\n </h1>\r\n <p class=\"lead py-2\">{{product.descriptionShort}}</p>\r\n <p class=\"py-2\" marked=\"product.descriptionLong\"></p>\r\n <h1 class=\"py-2\" ng-if=\"product.relatedProducts.length > 0\">Related Products</h1>\r\n\r\n <div class=\"row py-4\">\r\n <div class=\"col-lg-6\" ng-repeat=\"product in product.relatedProducts | limitTo:2\">\r\n <div class=\"card h-100\">\r\n <a href=\"#\">\r\n <img class=\"card-img-top\" ng-src=\"{{ product.fields.image.fields.file.url }}\">\r\n </a>\r\n <div class=\"card-body\">\r\n <h4 class=\"card-title\">\r\n <a ui-sref=\"singleProduct({ product : product.fields.urlSlug })\">{{ product.fields.title }}</a>\r\n </h4>\r\n <p class=\"card-text\">{{ product.fields.descriptionShort }}</p>\r\n </div>\r\n <div class=\"card-footer\">\r\n <small>Starting from\r\n <strong>${{ product.fields.cost }}</strong>\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-4 offset-md-1 py-5\">\r\n <div class=\"card\" style=\"width: 20rem;\">\r\n <img ng-src=\"{{ product.image.fields.file.url }}\" class=\"img-fluid card-img\">\r\n\r\n <div class=\"card-body\">\r\n <h4 class=\"card-title\">Purchase ${{product.cost}}</h4>\r\n <p class=\"card-text\">Some quick example text to build on the card title and make up the bulk of the card\'s content.</p>\r\n <button type=\"button\" class=\"btn btn-success px-md-3\">\r\n <i class=\"fa fa-shopping-cart px-md-2\" aria-hidden=\"true\"></i> Buy\r\n </button>\r\n\r\n <div class=\"pt-4\">\r\n <i class=\"fa fa-2x fa-cc-visa\" aria-hidden=\"true\"></i>\r\n <i class=\"fa fa-2x fa-cc-amex\" aria-hidden=\"true\"></i>\r\n <i class=\"fa fa-2x fa-cc-mastercard\" aria-hidden=\"true\"></i>\r\n <i class=\"fa fa-2x fa-cc-paypal\" aria-hidden=\"true\"></i>\r\n <i class=\"fa fa-2x fa-cc-stripe\" aria-hidden=\"true\"></i>\r\n </div>\r\n </div>\r\n\r\n <div ng-if=\"product.additionalProducts && product.additionalProducts.length > 0\">\r\n <img ng-src=\"{{ product.additionalProducts[0].fields.image.fields.file.url }}\" class=\"img-fluid card-img py-2\">\r\n <div class=\"card-body\">\r\n <h4 class=\"card-title\">Special Offer</h4>\r\n <p>As a part time offer, purchase a {{product.title}} and receive a free\r\n <a ui-sref=\"singleProduct({ product : product.additionalProducts[0].fields.urlSlug })\" href=\"#\">{{product.additionalProducts[0].fields.title}}</a>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>");
47721+
$templateCache.put("src/views/product.html","<!-- Content section -->\r\n<div class=\"container py-5\">\r\n <div class=\"row\">\r\n <div class=\"col-md-7 \">\r\n <h1>{{product.title}}\r\n <span class=\"badge badge-primary mx-3\" ng-if=\"product.additionalProducts && product.additionalProducts.length > 0\">Featured</span>\r\n </h1>\r\n <p class=\"lead py-2\">{{product.descriptionShort}}</p>\r\n <p class=\"py-2\" marked=\"product.descriptionLong\"></p>\r\n <h1 class=\"py-2\" ng-if=\"product.relatedProducts.length > 0\">Related Products</h1>\r\n\r\n <div class=\"row py-4\">\r\n <div class=\"col-lg-6\" ng-repeat=\"product in product.relatedProducts | limitTo:2\">\r\n <div class=\"card h-100\">\r\n <a href=\"#\">\r\n <img class=\"card-img-top\" ng-src=\"{{ product.fields.image.fields.file.url }}\">\r\n </a>\r\n <div class=\"card-body\">\r\n <h4 class=\"card-title\">\r\n <a ui-sref=\"singleProduct({ product : product.fields.urlSlug })\">{{ product.fields.title }}</a>\r\n </h4>\r\n <p class=\"card-text\">{{ product.fields.descriptionShort }}</p>\r\n </div>\r\n <div class=\"card-footer\">\r\n <small>Starting from\r\n <strong>${{ product.fields.cost }}</strong>\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-4 offset-md-1 py-5\">\r\n <div class=\"card\" style=\"width: 20rem;\">\r\n <img ng-src=\"{{ product.image.fields.file.url }}\" class=\"img-fluid card-img\">\r\n\r\n <div class=\"card-body\">\r\n <h4 class=\"card-title\">Purchase ${{product.cost}}</h4>\r\n <p class=\"card-text\">Some quick example text to build on the card title and make up the bulk of the card\'s content.</p>\r\n <button type=\"button\" class=\"btn btn-success px-md-3\">\r\n <i class=\"fa fa-shopping-cart px-md-2\" aria-hidden=\"true\"></i> Buy\r\n </button>\r\n\r\n <div class=\"pt-4\">\r\n <i class=\"fa fa-2x fa-cc-visa\" aria-hidden=\"true\"></i>\r\n <i class=\"fa fa-2x fa-cc-amex\" aria-hidden=\"true\"></i>\r\n <i class=\"fa fa-2x fa-cc-mastercard\" aria-hidden=\"true\"></i>\r\n <i class=\"fa fa-2x fa-cc-paypal\" aria-hidden=\"true\"></i>\r\n <i class=\"fa fa-2x fa-cc-stripe\" aria-hidden=\"true\"></i>\r\n </div>\r\n </div>\r\n\r\n <div ng-if=\"product.additionalProducts && product.additionalProducts.length > 0\">\r\n <img ng-src=\"{{ product.additionalProducts[0].fields.image.fields.file.url }}\" class=\"img-fluid card-img py-2\">\r\n <div class=\"card-body\">\r\n <h4 class=\"card-title\">Special Offer</h4>\r\n <p>As a part time offer, purchase a {{product.title}} and receive a free\r\n <a ui-sref=\"singleProduct({ product : product.additionalProducts[0].fields.urlSlug })\" href=\"#\">{{product.additionalProducts[0].fields.title}}</a>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>");
4772147722
$templateCache.put("src/views/products.html","<!-- Content section -->\r\n<section class=\"py-5\">\r\n <div class=\"container\">\r\n\r\n <div class=\"row py-5\">\r\n <div class=\"col-md-4\">\r\n <h1>{{productLine.title}}</h1>\r\n <p class=\"lead py-2\">{{productLine.descriptionShort}}</p>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a ui-sref=\"products\">\r\n <img class=\"img-fluid mx-auto img-thumbnail\" ng-src=\"{{productLine.image.fields.file.url}}\">\r\n </a>\r\n </div>\r\n <div class=\"col-md-4\" >\r\n <h4>Stores</h4>\r\n <ul class=\"list-group py-4\"> \r\n <li class=\"list-group-item\" ng-repeat=\"store in stores\">\r\n <a ui-sref=\"location({ locationTitle : store.fields.urlSlug })\">{{ store.fields.title }}</a>\r\n <span class=\"pull-right small\">{{ store.fields.date | date:\'mediumDate\' }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"row\" ng-if=\"productLine.products.length > 0\">\r\n <div class=\"col-lg-12\">\r\n <h2>Product Line</h2>\r\n </div>\r\n <!-- Loop over the product lines linked products -->\r\n <div class=\"col-lg-4 col-md-6 mb-4 py-5\" ng-repeat=\"product in productLine.products\">\r\n <div class=\"card h-100\">\r\n <a ui-sref=\"product({ product : product.fields.urlSlug, productLine: productLine.urlSlug })\"> \r\n <img class=\"card-img-top\" ng-src=\"{{ product.fields.image.fields.file.url }}\"> \r\n </a>\r\n <div class=\"card-body\">\r\n <h4 class=\"card-title\">\r\n <a ui-sref=\"product({ product : product.fields.urlSlug, productLine: productLine.urlSlug })\">{{ product.fields.title }}</a>\r\n </h4>\r\n <p class=\"card-text\">{{ product.fields.descriptionShort }}</p>\r\n </div>\r\n <div class=\"card-footer\">\r\n <small>Starting from <strong>${{ product.fields.cost }}</strong></small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>");
4772247723
$templateCache.put("src/shared/carousel/carousel.html","<!-- Header Carousel -->\r\n<header>\r\n <div id=\"carouselExampleIndicators\" class=\"carousel slide \" data-ride=\"carousel\">\r\n <!-- Render the Carousel (data is passed from carousel.js query to contentful) -->\r\n <div class=\"carousel-inner\" role=\"listbox\">\r\n <div class=\"carousel-item\" ng-repeat=\"banner in banners\" ng-class=\"{ active : $first }\" \r\n ng-style=\"{ \'background-image\': \'linear-gradient( rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4) ), url(\' + banner.fields.backgroundImage.fields.file.url + \')\' }\">\r\n \r\n </div>\r\n </div>\r\n\r\n <!-- Previous / Next Arrows -->\r\n <div ng-if=\"banners.length > 1\">\r\n <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">\r\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Previous</span>\r\n </a>\r\n <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">\r\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Next</span>\r\n </a>\r\n </div>\r\n </div>\r\n</header>");
4772347724
$templateCache.put("src/shared/featured-products/featured-products.html","<!-- Featured List of Products (w/ border) -->\r\n<ul class=\"list-group\">\r\n <li class=\"list-group-item\" ng-repeat=\"product in products\">\r\n <a href=\"#\" ui-sref=\"singleProduct({ product: product.fields.urlSlug })\">\r\n {{product.fields.title}}\r\n <span class=\"badge badge-primary mx-3\" ng-if=\"product.fields.additionalProducts\">Special Offer</span>\r\n </a>\r\n <span class=\"pull-right small\">Starting at <strong>${{product.fields.cost}}</strong> </span>\r\n </li>\r\n</ul>");

src/app.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ var app = angular.module("angular-contentful-starter", [
2323
* The values for the space ID and management token come from contentful-config.js which is created when you created the project
2424
* via 'npm run init'. Update the values in package.json for them to persist through builds.
2525
*/
26-
angular.module("angular-contentful-starter").config(['contentfulProvider', 'spaceId', 'managementToken',
27-
function(contentfulProvider, spaceId, managementToken){
26+
angular.module("angular-contentful-starter").config(['contentfulProvider', 'spaceId', 'accessToken',
27+
function(contentfulProvider, spaceId, accessToken){
2828
contentfulProvider.setOptions({
2929
space: spaceId,
30-
accessToken: managementToken
30+
accessToken: accessToken
3131
});
3232
}]);
3333

src/config/contentful-config.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
angular.module("angular-contentful-starter")
2-
.constant("spaceId", "q9mhc88oq9z4")
3-
.constant("managementToken", "54d95265933346f10e21bdf7e8f55b401b95d0a657d3775f00e75db2f521c4a1");
2+
.constant("spaceId", "")
3+
.constant("accessToken", "")
4+
.constant("managementToken", "");

0 commit comments

Comments
 (0)