@ax2/xms-user-role
TypeScript icon, indicating that this package has built-in type declarations

0.6.0 • Public • Published

XMS API PAGE BUILDER

Setup

Add the dependency

yarn add @ax2/xms-user-role

How to install module

Merge resolvers and mutations into your graphql api src/graphql/resolvers.ts

Example:

import { GraphQLUpload } from 'apollo-upload-server';
import * as path from 'path';
import { mergeResolvers } from '@graphql-tools/merge';
import { loadFilesSync } from '@graphql-tools/load-files';
import { resolvers as UserRoleResolvers, mutations as UserRoleMutations } from '@ax2/xms-user-role';

const resolversArray = loadFilesSync(path.join(__dirname, './entities/**/resolver.ts'));
resolversArray.push(UserRoleResolvers);
const Queries = mergeResolvers(resolversArray);

const mutationsArray = loadFilesSync(path.join(__dirname, './entities/**/mutation.ts'));
mutationsArray.push(UserRoleMutations);
const Mutations = mergeResolvers(mutationsArray);

export const resolvers = {
  ...Queries,
  ...Mutations,
  Upload: GraphQLUpload,
};

Merge the graphql type into your api src/graphql/type.ts

Example:

import * as path from 'path';
import { mergeTypeDefs } from '@graphql-tools/merge';
import { loadFilesSync } from '@graphql-tools/load-files';

import { types as UserRoleTypes } from '@ax2/xms-user-role';

const typesArray = loadFilesSync(path.join(__dirname, './entities/**/type.graphql'));
typesArray.push(UserRoleTypes);
export const typeDefs = mergeTypeDefs(typesArray);

Use package migrations src/graphql/type.ts

Example:

import * as dotenv from 'dotenv';
import { MigrateHelper } from '@ax2/xms-api-core';

dotenv.config();

// MySQL connection pool (set up on app initialisation)
const config = {};

const packages = [
  '@ax2/xms-user-role'
];

MigrateHelper(config, `${__dirname}/../migrations/`, packages);

How to use migration (run from root folder of your api)

See quip link

yarn migrate up 1 --all
yarn migrate up 1 --package @ax2/xms-user-role
yarn migrate down 1 --package @ax2/xms-user-role
yarn migrate add migration create_table_mytable --package @ax2/xms-user-role

Available class

// Models
export { User, Role } from '@ax2/xms-user-role';

// Service
export { UserService } from '@ax2/xms-user-role';

// Graphql schema/resolver
export { resolvers, mutations, types } from '@ax2/xms-user-role';

// Helpers function
import { executeMigration } from '@ax2/xms-user-role';

Readme

Keywords

none

Package Sidebar

Install

npm i @ax2/xms-user-role

Weekly Downloads

1

Version

0.6.0

License

MIT

Unpacked Size

76.9 kB

Total Files

56

Last publish

Collaborators

  • ax2-owner