Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
/* eslint-disable no-unused-expressions */
'use strict';
const chai = require('chai');
const Chance = require('chance');
const { Datastore } = require('@google-cloud/datastore');
const { Gstore } = require('../../lib');
const gstore = new Gstore();
const chance = new Chance();
const ds = new Datastore({ projectId: 'gstore-integration-tests' });
gstore.connect(ds);
const { expect } = chai;
const { Schema } = gstore;
describe('Schema (Integration Tests)', () => {
beforeEach(() => {
gstore.models = {};
gstore.modelSchemas = {};
});
it('read param set to "false" should not return those properties from entity.plain()', () => {
const schema = new Schema({
email: {
type: String,
required: true,
async function main(taskId) {
taskId = Number(taskId);
// [START datastore_delete_entity]
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
async function deleteTask() {
// TODO(developer): uncomment the following line and define a taskId
// const taskId = 'task123';
const taskKey = datastore.key(['Task', taskId]);
console.log(taskKey);
await datastore.delete(taskKey);
console.log(`Task ${taskId} deleted successfully.`);
}
deleteTask();
// [END datastore_delete_entity]
}
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.set('trust proxy', true);
// Add the request logger before anything else so that it can
// accurately log requests.
app.use(logging.requestLogger);
// Configure the session and session storage.
const sessionConfig = {
resave: false,
saveUninitialized: false,
secret: config.get('SECRET'),
signed: true,
store: new DatastoreStore({
dataset: new Datastore(),
kind: 'express-sessions',
}),
};
app.use(session(sessionConfig));
// OAuth2
app.use(passport.initialize());
app.use(passport.session());
app.use(require('./lib/oauth2').router);
// Books
app.use('/books', require('./books/crud'));
app.use('/api/books', require('./books/api'));
// Redirect root to /books
// TODO: Load the @google-cloud/datastore module
const {Datastore} = require('@google-cloud/datastore');
// END TODO
// TODO: Create a Datastore client object, ds
// The Datastore(...) factory function accepts an options
// object which is used to specify which project's
// Datastore should be used via the projectId property.
// The projectId is retrieved from the config module. This
// module retrieves the project ID from the GCLOUD_PROJECT
// environment variable.
const ds = new Datastore({
projectId: config.get('GCLOUD_PROJECT')
});
// END TODO
// TODO: Declare a constant named kind
// The Datastore key is the equivalent of a primary key in a
// relational database.
// There are two main ways of writing a key:
// 1. Specify the kind, and let Datastore generate a unique
// numeric id
// 2. Specify the kind and a unique string id
const kind = 'Question';
// END TODO
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
'use strict';
const {Datastore} = require('@google-cloud/datastore');
// [START config]
const ds = new Datastore();
const kind = 'Book';
// [END config]
// Translates from Datastore's entity format to
// the format expected by the application.
//
// Datastore format:
// {
// key: [kind, id],
// data: {
// property: value
// }
// }
//
// Application format:
// {
async function main(description) {
// [START datastore_add_entity]
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
async function addTask() {
// TODO(developer): uncomment the following line, and add a description
// const description = 'description';
const taskKey = datastore.key('Task');
const entity = {
key: taskKey,
data: [
{
name: 'created',
value: new Date().toJSON(),
},
{
name: 'description',
value: description,
excludeFromIndexes: true,
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
'use strict';
// [START datastore_quickstart]
// Imports the Google Cloud client library
const {Datastore} = require('@google-cloud/datastore');
// Creates a client
const datastore = new Datastore();
async function quickstart() {
// The kind for the new entity
const kind = 'Task';
// The name/ID for the new entity
const name = 'sampletask1';
// The Cloud Datastore key for the new entity
const taskKey = datastore.key([kind, name]);
// Prepares the new entity
const task = {
key: taskKey,
data: {
description: 'Buy milk',
const app = express();
app.disable('etag');
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.set('trust proxy', true);
// [START session]
// Configure the session and session storage.
const sessionConfig = {
resave: false,
saveUninitialized: false,
secret: config.get('SECRET'),
signed: true,
store: new DatastoreStore({
dataset: new Datastore(),
kind: 'express-sessions',
}),
};
app.use(session(sessionConfig));
// [END session]
// OAuth2
app.use(passport.initialize());
app.use(passport.session());
app.use(require('./lib/oauth2').router);
// Books
app.use('/books', require('./books/crud'));
app.use('/api/books', require('./books/api'));
import Chance from 'chance';
import { Datastore } from '@google-cloud/datastore';
import { Gstore, Entity, EntityKey } from '../../src';
type GenericObject = { [key: string]: any };
const gstore = new Gstore();
const ds = new Datastore({ projectId: 'gstore-integration-tests' });
gstore.connect(ds);
const { Schema } = gstore;
interface User {
name: string;
modifiedOn?: Date;
}
const userSchema = new Schema({ name: { type: String }, modifiedOn: { type: Date } });
const chance = new Chance();
let generatedIds: string[] = [];
const allKeys: EntityKey[] = [];
const UserModel = gstore.model('GstoreTests-User', userSchema);
constructor(projectId) {
const options = {
projectId: projectId,
};
this.datastore = new Datastore(options);
}
}