浏览代码

example schema; uuid; postgresql up to v13

Arkadiusz Lisiecki 5 年之前
父节点
当前提交
33849e2972
共有 5 个文件被更改,包括 31 次插入16 次删除
  1. 7 0
      README.md
  2. 1 1
      docker-compose.yml
  3. 13 8
      index.js
  4. 6 3
      schema/companies.js
  5. 4 4
      schema/currency.js

+ 7 - 0
README.md

@@ -11,3 +11,10 @@ Once running, the Keystone Admin UI is reachable via `localhost:3000/admin`.
 ## Next steps
 
 This example has no front-end application but you can build your own using the GraphQL API (`http://localhost:3000/admin/graphiql`).
+
+
+npx keystone  create-tables
+
+
+CREATE EXTENSION pgcrypto;
+

+ 1 - 1
docker-compose.yml

@@ -37,7 +37,7 @@ services:
       - web
 
   postgres:
-    image: postgres
+    image: postgres:13
     restart: always
     environment:
       POSTGRES_PASSWORD: utnQ67pt74bVw6aB

+ 13 - 8
index.js

@@ -55,7 +55,7 @@ const ShopsSchema = require('./schema/shops.js');
 const Stocktaking_itemsSchema = require('./schema/stocktaking_items.js');
 const StocktakingSchema = require('./schema/stocktaking.js');
 const SupaddressSchema = require('./schema/supaddress.js');
-const SuppliersSchema = require('./schema/suppliers.js');
+// const SuppliersSchema = require('./schema/suppliers.js');
 const SysparamsSchema = require('./schema/sysparams.js');
 const SysprivilegesSchema = require('./schema/sysprivileges.js');
 const TagtemplateobjectsSchema = require('./schema/tagtemplateobjects.js');
@@ -67,15 +67,14 @@ const UpgradelogSchema = require('./schema/upgradelog.js');
 const VatSchema = require('./schema/vat.js');
 //const Logger = require('@keystonejs/logger').logger('test');
 
-
 // ??? const initialiseData = require('./initial-data');
 
 const { KnexAdapter: Adapter } = require('@keystonejs/adapter-knex');
 
 const PROJECT_NAME = 'SchuStock';
 const adapterConfig = { knexOptions: {
-    //connection: 'postgresql://kdev_postgres:utnQ67pt74bVw6aB@postgres:5432/kdev_postgres',
-    connection: 'postgresql://kdev_postgres:utnQ67pt74bVw6aB@54.37.131.206:5432/kdev_postgres',
+    connection: 'postgresql://kdev_postgres:utnQ67pt74bVw6aB@postgres:5432/kdev_postgres',
+    //connection: 'postgresql://kdev_postgres:utnQ67pt74bVw6aB@54.37.131.206:5432/kdev_postgres',
   }
 };
 
@@ -152,6 +151,7 @@ keystone.createList('User', {
     },
   },
   // List-level access controls
+/*
   access: {
     read: access.userIsAdminOrOwner,
     update: access.userIsAdminOrOwner,
@@ -159,6 +159,7 @@ keystone.createList('User', {
     delete: access.userIsAdmin,
     auth: true,
   },
+*/
 });
 
 const authStrategy = keystone.createAuthStrategy({
@@ -167,10 +168,11 @@ const authStrategy = keystone.createAuthStrategy({
 });
 
 
-keystone.createList('cashregisters', CashregistersSchema);
-keystone.createList('cashregisterdocs', CashregisterdocsSchema);
+//keystone.createList('cashregisters', CashregistersSchema);
+//keystone.createList('cashregisterdocs', CashregisterdocsSchema);
 keystone.createList('companies', CompaniesSchema);
 keystone.createList('currency', CurrencySchema);
+/*
 keystone.createList('deliveryitems', DeliveryitemsSchema);
 keystone.createList('deliverymaterialprices', DeliverymaterialpricesSchema);
 keystone.createList('docflow', DocflowSchema);
@@ -219,7 +221,7 @@ keystone.createList('uninumbers', UninumbersSchema);
 keystone.createList('uom', UomSchema);
 keystone.createList('upgradelog', UpgradelogSchema);
 keystone.createList('vat', VatSchema);
-
+*/
 
 //console.log(keystone._providers);
 /*
@@ -271,12 +273,15 @@ module.exports = {
   keystone,
   apps: [
     new GraphQLApp(),
-    new StaticApp({ path: '/', src: 'public' }),
+    new StaticApp({ path: '/', src: 'dist/public' }),
+    new AdminUIApp(),
+/*	  
     new AdminUIApp({
       name: 'SchuStocc',
       enableDefaultRoute: true,
       authStrategy,
     }),
+*/    
   ],
   /*configureExpress: app => {
     app.set('trust proxy', true);

+ 6 - 3
schema/companies.js

@@ -1,9 +1,12 @@
-const { Text } = require('@keystonejs/fields');
+const { Text, Integer, Uuid } = require('@keystonejs/fields');
 const { AutoIncrement } = require('@keystonejs/fields-auto-increment');
+const { uuidv4 } = require('uuid/v4');
 
 module.exports = {
     fields: {
-        companies_id: { type: AutoIncrement, isRequired: true, label: 'ID Firmy' },
+//        companies_id: { type: Integer, isRequired: true, label: 'ID Firmy' },
+//	id: { type: Uuid, defaultValu: uuidv4 },
+	    id: { type: Uuid, knexOptions: { defaultTo: knex => knex.raw('gen_random_uuid()') } },
         company_name: { type: Text, isRequired: true, label: 'Nazwa firmy' },
         headerdata: { type: Text, isRequired: true, label: 'headerdata' },
         us_code: { type: Text, label: 'us_code' },
@@ -20,4 +23,4 @@ module.exports = {
         postal_code: { type: Text, isRequired: true, label: 'Kod pocztowy' },
         post_office: { type: Text, isRequired: true, label: 'Poczta' },
     }, label: 'Firma'//, plural: 'Firmy'
-};
+};

+ 4 - 4
schema/currency.js

@@ -1,11 +1,11 @@
-const { Text, Decimal, DateTime } = require('@keystonejs/fields');
+const { Text, Decimal, DateTime, Integer } = require('@keystonejs/fields');
 const { AutoIncrement } = require('@keystonejs/fields-auto-increment');
 
 module.exports = {
     fields: {
-        currency_id: { type: AutoIncrement, isRequired: true, label: 'ID Waluty' },
+        currency_id: { type: Integer, isRequired: true, label: 'ID Waluty' },
         symbol: { type: Text, isRequired: true, label: 'Symbol' },
         rate: { type: Decimal, knexOptions: { precision: 12, scale: 4 }, label: 'Kurs' },
-        date_rate: { type: DateTime, label: 'Data kursu' },
+        dateRate: { type: DateTime, label: 'Data kursu' },
     }, label: 'Waluta'//, plural: 'Waluty'
-};
+};