This code highly bases on the Administration Code and made NodeJs compatible.
import {createFromPasswordAndLogin} from 'shopware-admin-api';
let api = await createFromPasswordAndLogin('http://myshop.com', 'username', 'password', 1);
import {createFromIntegration} from 'shopware-admin-api';
let api = await createFromIntegration('http://myshop.com', 'client_id', 'client_secret', 1);
// Create repository
const productRepository = api.create('product');
// Access default context
const context = api.defaultContext();
// Acccess entity definition (contains the schema, required fields etc.)
const definition = api.EntityDefinition;
console.log(definition.get('product'))
console.log(definition.getRequiredFields('product'))