add eslint/graphql-codegen/.babelrc/typescript configuration
This commit is contained in:
parent
292d2da3b1
commit
a7420c5a8e
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"presets": ["next/babel"],
|
||||||
|
"plugins": [
|
||||||
|
[
|
||||||
|
"babel-plugin-transform-imports",
|
||||||
|
{
|
||||||
|
"@material-ui/core": {
|
||||||
|
"transform": "@material-ui/core/${member}",
|
||||||
|
"preventFullImport": true
|
||||||
|
},
|
||||||
|
"@material-ui/core/styles": {
|
||||||
|
"transform": "@material-ui/core/styles/${member}",
|
||||||
|
"preventFullImport": true
|
||||||
|
},
|
||||||
|
"@material-ui/lab": {
|
||||||
|
"transform": "@material-ui/lab/${member}",
|
||||||
|
"preventFullImport": true
|
||||||
|
},
|
||||||
|
"@material-ui/icons": {
|
||||||
|
"transform": "@material-ui/icons/${member}",
|
||||||
|
"preventFullImport": true
|
||||||
|
},
|
||||||
|
"lodash": {
|
||||||
|
"transform": "lodash/${member}",
|
||||||
|
"preventFullImport": true
|
||||||
|
},
|
||||||
|
"date-fns": {
|
||||||
|
"transform": "date-fns/${member}",
|
||||||
|
"preventFullImport": true
|
||||||
|
},
|
||||||
|
"validator": {
|
||||||
|
"transform": "validator/lib/${member}",
|
||||||
|
"preventFullImport": true
|
||||||
|
},
|
||||||
|
"react-use": {
|
||||||
|
"transform": "react-use/lib/${member}",
|
||||||
|
"preventFullImport": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -33,4 +33,6 @@ yarn-error.log*
|
||||||
# vercel
|
# vercel
|
||||||
.vercel
|
.vercel
|
||||||
|
|
||||||
|
remote-schema.graphql
|
||||||
|
|
||||||
.idea
|
.idea
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"name": "Zdam Egzamin Zawodowy",
|
||||||
|
"schemaPath": "remote-schema.graphql",
|
||||||
|
"extensions": {
|
||||||
|
"endpoints": {
|
||||||
|
"Default GraphQL Endpoint": {
|
||||||
|
"url": "http://localhost:8080/graphql",
|
||||||
|
"headers": {
|
||||||
|
"user-agent": "IDE"
|
||||||
|
},
|
||||||
|
"introspect": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
34
README.md
34
README.md
|
@ -1,34 +0,0 @@
|
||||||
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
First, run the development server:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run dev
|
|
||||||
# or
|
|
||||||
yarn dev
|
|
||||||
```
|
|
||||||
|
|
||||||
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
|
||||||
|
|
||||||
You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
|
|
||||||
|
|
||||||
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
|
|
||||||
|
|
||||||
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
|
|
||||||
|
|
||||||
## Learn More
|
|
||||||
|
|
||||||
To learn more about Next.js, take a look at the following resources:
|
|
||||||
|
|
||||||
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
|
||||||
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
|
||||||
|
|
||||||
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
|
|
||||||
|
|
||||||
## Deploy on Vercel
|
|
||||||
|
|
||||||
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
|
||||||
|
|
||||||
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
overwrite: true
|
||||||
|
schema: ${NEXT_PUBLIC_API_URI:http://localhost:8080/graphql}
|
||||||
|
generates:
|
||||||
|
src/libs/graphql/types.ts:
|
||||||
|
plugins:
|
||||||
|
- "typescript"
|
||||||
|
- "typescript-operations"
|
||||||
|
config:
|
||||||
|
skipTypename: true
|
||||||
|
scalars:
|
||||||
|
ID: number
|
||||||
|
Time: Date | string
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"extends": "react-app"
|
||||||
|
}
|
26
package.json
26
package.json
|
@ -5,16 +5,40 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start"
|
"start": "next start",
|
||||||
|
"codegen": "graphql-codegen"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@kichiyaki/roboto": "^1.0.0",
|
||||||
|
"@material-ui/core": "^4.11.3",
|
||||||
|
"@material-ui/icons": "^4.11.2",
|
||||||
|
"@material-ui/lab": "^4.0.0-alpha.57",
|
||||||
|
"clsx": "^1.1.1",
|
||||||
|
"date-fns": "^2.19.0",
|
||||||
|
"graphql": "^15.5.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
"next": "10.0.9",
|
"next": "10.0.9",
|
||||||
"react": "17.0.1",
|
"react": "17.0.1",
|
||||||
"react-dom": "17.0.1"
|
"react-dom": "17.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@graphql-codegen/cli": "^1.21.3",
|
||||||
|
"@graphql-codegen/typescript": "^1.21.1",
|
||||||
|
"@graphql-codegen/typescript-operations": "^1.17.15",
|
||||||
|
"@types/lodash": "^4.14.168",
|
||||||
"@types/node": "^14.14.35",
|
"@types/node": "^14.14.35",
|
||||||
"@types/react": "^17.0.3",
|
"@types/react": "^17.0.3",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^4.0.0",
|
||||||
|
"@typescript-eslint/parser": "^4.0.0",
|
||||||
|
"babel-eslint": "^10.0.0",
|
||||||
|
"babel-plugin-transform-imports": "^2.0.0",
|
||||||
|
"eslint": "^7.5.0",
|
||||||
|
"eslint-config-react-app": "^6.0.0",
|
||||||
|
"eslint-plugin-flowtype": "^5.2.0",
|
||||||
|
"eslint-plugin-import": "^2.22.0",
|
||||||
|
"eslint-plugin-jsx-a11y": "^6.3.1",
|
||||||
|
"eslint-plugin-react": "^7.20.3",
|
||||||
|
"eslint-plugin-react-hooks": "^4.0.8",
|
||||||
"prettier": "^2.2.1",
|
"prettier": "^2.2.1",
|
||||||
"typescript": "^4.2.3"
|
"typescript": "^4.2.3"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
import '../styles/globals.css'
|
|
||||||
|
|
||||||
function MyApp({ Component, pageProps }) {
|
|
||||||
return <Component {...pageProps} />
|
|
||||||
}
|
|
||||||
|
|
||||||
export default MyApp
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
import { AppProps } from 'next/app';
|
||||||
|
|
||||||
|
function MyApp({ Component, pageProps }: AppProps) {
|
||||||
|
return <Component {...pageProps} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MyApp;
|
|
@ -1,65 +0,0 @@
|
||||||
import Head from 'next/head';
|
|
||||||
import styles from '../styles/Home.module.css';
|
|
||||||
|
|
||||||
export default function Home() {
|
|
||||||
return (
|
|
||||||
<div className={styles.container}>
|
|
||||||
<Head>
|
|
||||||
<title>Create Next App</title>
|
|
||||||
<link rel="icon" href="/favicon.ico" />
|
|
||||||
</Head>
|
|
||||||
|
|
||||||
<main className={styles.main}>
|
|
||||||
<h1 className={styles.title}>
|
|
||||||
Welcome to <a href="https://nextjs.org">Next.js!</a>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<p className={styles.description}>
|
|
||||||
Get started by editing{' '}
|
|
||||||
<code className={styles.code}>pages/index.js</code>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div className={styles.grid}>
|
|
||||||
<a href="https://nextjs.org/docs" className={styles.card}>
|
|
||||||
<h3>Documentation →</h3>
|
|
||||||
<p>Find in-depth information about Next.js features and API.</p>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="https://nextjs.org/learn" className={styles.card}>
|
|
||||||
<h3>Learn →</h3>
|
|
||||||
<p>Learn about Next.js in an interactive course with quizzes!</p>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a
|
|
||||||
href="https://github.com/vercel/next.js/tree/master/examples"
|
|
||||||
className={styles.card}
|
|
||||||
>
|
|
||||||
<h3>Examples →</h3>
|
|
||||||
<p>Discover and deploy boilerplate example Next.js projects.</p>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a
|
|
||||||
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
|
|
||||||
className={styles.card}
|
|
||||||
>
|
|
||||||
<h3>Deploy →</h3>
|
|
||||||
<p>
|
|
||||||
Instantly deploy your Next.js site to a public URL with Vercel.
|
|
||||||
</p>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer className={styles.footer}>
|
|
||||||
<a
|
|
||||||
href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
>
|
|
||||||
Powered by{' '}
|
|
||||||
<img src="/vercel.svg" alt="Vercel Logo" className={styles.logo} />
|
|
||||||
</a>
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
|
@ -0,0 +1 @@
|
||||||
|
export { default } from 'features/IndexPage/IndexPage';
|
Binary file not shown.
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 361 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" ?><svg data-name="Layer 1" id="Layer_1" viewBox="0 0 140 140" xmlns="http://www.w3.org/2000/svg"><defs><style>.cls-1{fill:#f0dc6a;}.cls-2{fill:#525354;}.cls-3{fill:#fff;}.cls-4{fill:#d7dadb;}.cls-5{fill:#52b1b1;}</style></defs><title/><circle class="cls-1" cx="70" cy="70" r="64"/><rect class="cls-2" height="98" rx="1" ry="1" width="64" x="39" y="22"/><rect class="cls-3" height="98" rx="1" ry="1" width="64" x="38" y="21"/><rect class="cls-2" height="4" rx="1" ry="1" width="32" x="62.9" y="32.79"/><rect class="cls-2" height="4" rx="1" ry="1" width="20" x="62.9" y="41"/><rect class="cls-4" height="8" rx="1" ry="1" width="8" x="47.68" y="34.89"/><path class="cls-5" d="M49.38,38.74l-1.52-1.52a1.09,1.09,0,0,0-1.54,0l-.91.91a1.09,1.09,0,0,0,0,1.54l4,4a1.09,1.09,0,0,0,1.54,0L52.6,42l5.35-5.35a1.09,1.09,0,0,0,0-1.54L57,34.16a1.09,1.09,0,0,0-1.54,0l-4.58,4.58A1.09,1.09,0,0,1,49.38,38.74Z"/><rect class="cls-2" height="4" rx="1" ry="1" width="32" x="62.9" y="53.46"/><rect class="cls-2" height="4" rx="1" ry="1" width="20" x="62.9" y="61.67"/><rect class="cls-4" height="8" rx="1" ry="1" width="8" x="47.68" y="55.56"/><path class="cls-5" d="M49.38,59.4l-1.52-1.52a1.09,1.09,0,0,0-1.54,0l-.91.91a1.09,1.09,0,0,0,0,1.54l4,4a1.09,1.09,0,0,0,1.54,0l1.68-1.68,5.35-5.35a1.09,1.09,0,0,0,0-1.54L57,54.83a1.09,1.09,0,0,0-1.54,0L50.92,59.4A1.09,1.09,0,0,1,49.38,59.4Z"/><rect class="cls-2" height="4" rx="1" ry="1" width="32" x="62.9" y="74.12"/><rect class="cls-2" height="4" rx="1" ry="1" width="20" x="62.9" y="82.33"/><rect class="cls-4" height="8" rx="1" ry="1" width="8" x="47.68" y="76.23"/><path class="cls-5" d="M49.38,80.07l-1.52-1.52a1.09,1.09,0,0,0-1.54,0l-.91.91a1.09,1.09,0,0,0,0,1.54l4,4a1.09,1.09,0,0,0,1.54,0l1.68-1.68,5.35-5.35a1.09,1.09,0,0,0,0-1.54L57,75.49a1.09,1.09,0,0,0-1.54,0l-4.58,4.58A1.09,1.09,0,0,1,49.38,80.07Z"/><rect class="cls-2" height="4" rx="1" ry="1" width="32" x="62.9" y="94.79"/><rect class="cls-2" height="4" rx="1" ry="1" width="20" x="62.9" y="103"/><rect class="cls-4" height="8" rx="1" ry="1" width="8" x="47.68" y="96.89"/></svg>
|
After Width: | Height: | Size: 2.0 KiB |
|
@ -1,4 +0,0 @@
|
||||||
<svg width="283" height="64" viewBox="0 0 283 64" fill="none"
|
|
||||||
xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M141.04 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM248.72 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.45 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM200.24 34c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10zm82.48-29v46h-9V5h9zM36.95 0L73.9 64H0L36.95 0zm92.38 5l-27.71 48L73.91 5H84.3l17.32 30 17.32-30h10.39zm58.91 12v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10V51h-9V17h9v9.2c0-5.08 5.91-9.2 13.2-9.2z" fill="#000"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,270 @@
|
||||||
|
# This file was generated based on ".graphqlconfig". Do not edit manually.
|
||||||
|
|
||||||
|
schema {
|
||||||
|
query: Query
|
||||||
|
mutation: Mutation
|
||||||
|
}
|
||||||
|
|
||||||
|
type Mutation {
|
||||||
|
createProfession(input: ProfessionInput!): Profession
|
||||||
|
createQualification(input: QualificationInput!): Qualification
|
||||||
|
createQuestion(input: QuestionInput!): Question
|
||||||
|
createUser(input: UserInput!): User
|
||||||
|
deleteProfessions(ids: [ID!]!): [Profession!]
|
||||||
|
deleteQualifications(ids: [ID!]!): [Qualification!]
|
||||||
|
deleteQuestions(ids: [ID!]!): [Question!]
|
||||||
|
deleteUsers(ids: [ID!]!): [User!]
|
||||||
|
signIn(email: String!, password: String!, staySignedIn: Boolean): UserWithToken
|
||||||
|
updateManyUsers(ids: [ID!]!, input: UpdateManyUsersInput!): [User!]
|
||||||
|
updateProfession(id: ID!, input: ProfessionInput!): Profession
|
||||||
|
updateQualification(id: ID!, input: QualificationInput!): Qualification
|
||||||
|
updateQuestion(id: ID!, input: QuestionInput!): Question
|
||||||
|
updateUser(id: ID!, input: UserInput!): User
|
||||||
|
}
|
||||||
|
|
||||||
|
type Profession {
|
||||||
|
createdAt: Time!
|
||||||
|
description: String
|
||||||
|
id: ID!
|
||||||
|
name: String!
|
||||||
|
slug: String!
|
||||||
|
}
|
||||||
|
|
||||||
|
type ProfessionList {
|
||||||
|
items: [Profession!]
|
||||||
|
total: Int!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Qualification {
|
||||||
|
code: String!
|
||||||
|
createdAt: Time!
|
||||||
|
description: String
|
||||||
|
formula: String
|
||||||
|
id: ID!
|
||||||
|
name: String!
|
||||||
|
slug: String!
|
||||||
|
}
|
||||||
|
|
||||||
|
type QualificationList {
|
||||||
|
items: [Qualification!]
|
||||||
|
total: Int!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Query {
|
||||||
|
generateTest(limit: Int, qualificationIDs: [ID!]!): [Question!]
|
||||||
|
me: User
|
||||||
|
profession(id: Int, slug: String): Profession
|
||||||
|
professions(filter: ProfessionFilter, limit: Int, offset: Int, sort: [String!]): ProfessionList!
|
||||||
|
qualification(id: Int, slug: String): Qualification
|
||||||
|
qualifications(filter: QualificationFilter, limit: Int, offset: Int, sort: [String!]): QualificationList!
|
||||||
|
questions(filter: QuestionFilter, limit: Int, offset: Int, sort: [String!]): QuestionList!
|
||||||
|
user(id: Int!): User
|
||||||
|
users(filter: UserFilter, limit: Int, offset: Int, sort: [String!]): UserList!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Question {
|
||||||
|
answerA: String
|
||||||
|
answerAImage: String
|
||||||
|
answerB: String
|
||||||
|
answerBImage: String
|
||||||
|
answerC: String
|
||||||
|
answerCImage: String
|
||||||
|
answerD: String
|
||||||
|
answerDImage: String
|
||||||
|
content: String!
|
||||||
|
correctAnswer: Answer!
|
||||||
|
createdAt: Time!
|
||||||
|
explanation: String
|
||||||
|
from: String
|
||||||
|
id: ID!
|
||||||
|
image: String
|
||||||
|
qualification: Qualification
|
||||||
|
updatedAt: Time!
|
||||||
|
}
|
||||||
|
|
||||||
|
type QuestionList {
|
||||||
|
items: [Question!]
|
||||||
|
total: Int!
|
||||||
|
}
|
||||||
|
|
||||||
|
type User {
|
||||||
|
activated: Boolean!
|
||||||
|
createdAt: Time!
|
||||||
|
displayName: String!
|
||||||
|
email: String!
|
||||||
|
id: ID!
|
||||||
|
role: Role!
|
||||||
|
}
|
||||||
|
|
||||||
|
type UserList {
|
||||||
|
items: [User!]
|
||||||
|
total: Int!
|
||||||
|
}
|
||||||
|
|
||||||
|
type UserWithToken {
|
||||||
|
token: String!
|
||||||
|
user: User!
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Answer {
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
d
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Role {
|
||||||
|
admin
|
||||||
|
user
|
||||||
|
}
|
||||||
|
|
||||||
|
input ProfessionFilter {
|
||||||
|
createdAt: Time
|
||||||
|
createdAtGT: Time
|
||||||
|
createdAtGTE: Time
|
||||||
|
createdAtLT: Time
|
||||||
|
createdAtLTE: Time
|
||||||
|
descriptionIEQ: String
|
||||||
|
descriptionMATCH: String
|
||||||
|
id: [ID!]
|
||||||
|
idNEQ: [ID!]
|
||||||
|
name: [String!]
|
||||||
|
nameIEQ: String
|
||||||
|
nameMATCH: String
|
||||||
|
nameNEQ: [String!]
|
||||||
|
qualificationID: [ID!]
|
||||||
|
slug: [String!]
|
||||||
|
slugNEQ: [String!]
|
||||||
|
}
|
||||||
|
|
||||||
|
input ProfessionInput {
|
||||||
|
description: String
|
||||||
|
name: String
|
||||||
|
}
|
||||||
|
|
||||||
|
input QualificationFilter {
|
||||||
|
code: [String!]
|
||||||
|
codeIEQ: String
|
||||||
|
codeMATCH: String
|
||||||
|
codeNEQ: [String!]
|
||||||
|
createdAt: Time
|
||||||
|
createdAtGT: Time
|
||||||
|
createdAtGTE: Time
|
||||||
|
createdAtLT: Time
|
||||||
|
createdAtLTE: Time
|
||||||
|
descriptionIEQ: String
|
||||||
|
descriptionMATCH: String
|
||||||
|
formula: [String!]
|
||||||
|
formulaNEQ: [String!]
|
||||||
|
id: [ID!]
|
||||||
|
idNEQ: [ID!]
|
||||||
|
name: [String!]
|
||||||
|
nameIEQ: String
|
||||||
|
nameMATCH: String
|
||||||
|
nameNEQ: [String!]
|
||||||
|
or: QualificationFilterOr
|
||||||
|
professionID: [Int!]
|
||||||
|
slug: [String!]
|
||||||
|
slugNEQ: [String!]
|
||||||
|
}
|
||||||
|
|
||||||
|
input QualificationFilterOr {
|
||||||
|
codeIEQ: String
|
||||||
|
codeMatch: String
|
||||||
|
nameIEQ: String
|
||||||
|
nameMatch: String
|
||||||
|
}
|
||||||
|
|
||||||
|
input QualificationInput {
|
||||||
|
associateProfession: [Int!]
|
||||||
|
code: String
|
||||||
|
description: String
|
||||||
|
dissociateProfession: [Int!]
|
||||||
|
formula: String
|
||||||
|
name: String
|
||||||
|
}
|
||||||
|
|
||||||
|
input QuestionFilter {
|
||||||
|
contentIEQ: String
|
||||||
|
contentMATCH: String
|
||||||
|
createdAt: Time
|
||||||
|
createdAtGT: Time
|
||||||
|
createdAtGTE: Time
|
||||||
|
createdAtLT: Time
|
||||||
|
createdAtLTE: Time
|
||||||
|
from: [String!]
|
||||||
|
id: [ID!]
|
||||||
|
idNEQ: [ID!]
|
||||||
|
qualificationFilter: QualificationFilter
|
||||||
|
qualificationID: [Int!]
|
||||||
|
qualificationIDNEQ: [Int!]
|
||||||
|
}
|
||||||
|
|
||||||
|
input QuestionInput {
|
||||||
|
answerA: String
|
||||||
|
answerAImage: Upload
|
||||||
|
answerB: String
|
||||||
|
answerBImage: Upload
|
||||||
|
answerC: String
|
||||||
|
answerCImage: Upload
|
||||||
|
answerD: String
|
||||||
|
answerDImage: Upload
|
||||||
|
content: String
|
||||||
|
correctAnswer: Answer
|
||||||
|
deleteAnswerAImage: Boolean
|
||||||
|
deleteAnswerBImage: Boolean
|
||||||
|
deleteAnswerCImage: Boolean
|
||||||
|
deleteAnswerDImage: Boolean
|
||||||
|
deleteImage: Boolean
|
||||||
|
explanation: String
|
||||||
|
from: String
|
||||||
|
image: Upload
|
||||||
|
qualificationID: Int
|
||||||
|
}
|
||||||
|
|
||||||
|
input UpdateManyUsersInput {
|
||||||
|
activated: Boolean
|
||||||
|
role: Role
|
||||||
|
}
|
||||||
|
|
||||||
|
input UserFilter {
|
||||||
|
activated: Boolean
|
||||||
|
createdAt: Time
|
||||||
|
createdAtGT: Time
|
||||||
|
createdAtGTE: Time
|
||||||
|
createdAtLT: Time
|
||||||
|
createdAtLTE: Time
|
||||||
|
displayName: [String!]
|
||||||
|
displayNameIEQ: String
|
||||||
|
displayNameMATCH: String
|
||||||
|
displayNameNEQ: [String!]
|
||||||
|
email: [String!]
|
||||||
|
emailIEQ: String
|
||||||
|
emailMATCH: String
|
||||||
|
emailNEQ: [String!]
|
||||||
|
id: [ID!]
|
||||||
|
idNEQ: [ID!]
|
||||||
|
or: UserFilterOr
|
||||||
|
role: [Role!]
|
||||||
|
roleNEQ: [Role!]
|
||||||
|
}
|
||||||
|
|
||||||
|
input UserFilterOr {
|
||||||
|
displayNameIEQ: String
|
||||||
|
displayNameMATCH: String
|
||||||
|
emailIEQ: String
|
||||||
|
emailMATCH: String
|
||||||
|
}
|
||||||
|
|
||||||
|
input UserInput {
|
||||||
|
activated: Boolean
|
||||||
|
displayName: String
|
||||||
|
email: String
|
||||||
|
password: String
|
||||||
|
role: Role
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
scalar Upload
|
||||||
|
|
||||||
|
scalar Time
|
|
@ -0,0 +1,5 @@
|
||||||
|
const IndexPage = () => {
|
||||||
|
return <div>hello?</div>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default IndexPage;
|
|
@ -0,0 +1,410 @@
|
||||||
|
export type Maybe<T> = T | null;
|
||||||
|
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
|
||||||
|
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
|
||||||
|
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
|
||||||
|
/** All built-in and custom scalars, mapped to their actual values */
|
||||||
|
export type Scalars = {
|
||||||
|
ID: number;
|
||||||
|
String: string;
|
||||||
|
Boolean: boolean;
|
||||||
|
Int: number;
|
||||||
|
Float: number;
|
||||||
|
Time: Date | string;
|
||||||
|
Upload: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export type QuestionInput = {
|
||||||
|
content?: Maybe<Scalars['String']>;
|
||||||
|
from?: Maybe<Scalars['String']>;
|
||||||
|
explanation?: Maybe<Scalars['String']>;
|
||||||
|
correctAnswer?: Maybe<Answer>;
|
||||||
|
qualificationID?: Maybe<Scalars['Int']>;
|
||||||
|
image?: Maybe<Scalars['Upload']>;
|
||||||
|
deleteImage?: Maybe<Scalars['Boolean']>;
|
||||||
|
answerA?: Maybe<Scalars['String']>;
|
||||||
|
answerAImage?: Maybe<Scalars['Upload']>;
|
||||||
|
deleteAnswerAImage?: Maybe<Scalars['Boolean']>;
|
||||||
|
answerB?: Maybe<Scalars['String']>;
|
||||||
|
answerBImage?: Maybe<Scalars['Upload']>;
|
||||||
|
deleteAnswerBImage?: Maybe<Scalars['Boolean']>;
|
||||||
|
answerC?: Maybe<Scalars['String']>;
|
||||||
|
answerCImage?: Maybe<Scalars['Upload']>;
|
||||||
|
deleteAnswerCImage?: Maybe<Scalars['Boolean']>;
|
||||||
|
answerD?: Maybe<Scalars['String']>;
|
||||||
|
answerDImage?: Maybe<Scalars['Upload']>;
|
||||||
|
deleteAnswerDImage?: Maybe<Scalars['Boolean']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type QuestionFilter = {
|
||||||
|
id?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
idNEQ?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
from?: Maybe<Array<Scalars['String']>>;
|
||||||
|
contentIEQ?: Maybe<Scalars['String']>;
|
||||||
|
contentMATCH?: Maybe<Scalars['String']>;
|
||||||
|
qualificationID?: Maybe<Array<Scalars['Int']>>;
|
||||||
|
qualificationIDNEQ?: Maybe<Array<Scalars['Int']>>;
|
||||||
|
qualificationFilter?: Maybe<QualificationFilter>;
|
||||||
|
createdAt?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtGT?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtGTE?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtLT?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtLTE?: Maybe<Scalars['Time']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type Mutation = {
|
||||||
|
createProfession?: Maybe<Profession>;
|
||||||
|
updateProfession?: Maybe<Profession>;
|
||||||
|
deleteProfessions?: Maybe<Array<Profession>>;
|
||||||
|
createQualification?: Maybe<Qualification>;
|
||||||
|
updateQualification?: Maybe<Qualification>;
|
||||||
|
deleteQualifications?: Maybe<Array<Qualification>>;
|
||||||
|
createQuestion?: Maybe<Question>;
|
||||||
|
updateQuestion?: Maybe<Question>;
|
||||||
|
deleteQuestions?: Maybe<Array<Question>>;
|
||||||
|
createUser?: Maybe<User>;
|
||||||
|
updateUser?: Maybe<User>;
|
||||||
|
updateManyUsers?: Maybe<Array<User>>;
|
||||||
|
deleteUsers?: Maybe<Array<User>>;
|
||||||
|
signIn?: Maybe<UserWithToken>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationCreateProfessionArgs = {
|
||||||
|
input: ProfessionInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateProfessionArgs = {
|
||||||
|
id: Scalars['ID'];
|
||||||
|
input: ProfessionInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationDeleteProfessionsArgs = {
|
||||||
|
ids: Array<Scalars['ID']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationCreateQualificationArgs = {
|
||||||
|
input: QualificationInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateQualificationArgs = {
|
||||||
|
id: Scalars['ID'];
|
||||||
|
input: QualificationInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationDeleteQualificationsArgs = {
|
||||||
|
ids: Array<Scalars['ID']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationCreateQuestionArgs = {
|
||||||
|
input: QuestionInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateQuestionArgs = {
|
||||||
|
id: Scalars['ID'];
|
||||||
|
input: QuestionInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationDeleteQuestionsArgs = {
|
||||||
|
ids: Array<Scalars['ID']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationCreateUserArgs = {
|
||||||
|
input: UserInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateUserArgs = {
|
||||||
|
id: Scalars['ID'];
|
||||||
|
input: UserInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateManyUsersArgs = {
|
||||||
|
ids: Array<Scalars['ID']>;
|
||||||
|
input: UpdateManyUsersInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationDeleteUsersArgs = {
|
||||||
|
ids: Array<Scalars['ID']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationSignInArgs = {
|
||||||
|
email: Scalars['String'];
|
||||||
|
password: Scalars['String'];
|
||||||
|
staySignedIn?: Maybe<Scalars['Boolean']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type ProfessionList = {
|
||||||
|
total: Scalars['Int'];
|
||||||
|
items?: Maybe<Array<Profession>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Profession = {
|
||||||
|
id: Scalars['ID'];
|
||||||
|
slug: Scalars['String'];
|
||||||
|
name: Scalars['String'];
|
||||||
|
description?: Maybe<Scalars['String']>;
|
||||||
|
createdAt: Scalars['Time'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export enum Answer {
|
||||||
|
A = 'a',
|
||||||
|
B = 'b',
|
||||||
|
C = 'c',
|
||||||
|
D = 'd'
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserList = {
|
||||||
|
total: Scalars['Int'];
|
||||||
|
items?: Maybe<Array<User>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Question = {
|
||||||
|
id: Scalars['ID'];
|
||||||
|
from?: Maybe<Scalars['String']>;
|
||||||
|
content: Scalars['String'];
|
||||||
|
explanation?: Maybe<Scalars['String']>;
|
||||||
|
correctAnswer: Answer;
|
||||||
|
image?: Maybe<Scalars['String']>;
|
||||||
|
answerA?: Maybe<Scalars['String']>;
|
||||||
|
answerAImage?: Maybe<Scalars['String']>;
|
||||||
|
answerB?: Maybe<Scalars['String']>;
|
||||||
|
answerBImage?: Maybe<Scalars['String']>;
|
||||||
|
answerC?: Maybe<Scalars['String']>;
|
||||||
|
answerCImage?: Maybe<Scalars['String']>;
|
||||||
|
answerD?: Maybe<Scalars['String']>;
|
||||||
|
answerDImage?: Maybe<Scalars['String']>;
|
||||||
|
qualification?: Maybe<Qualification>;
|
||||||
|
createdAt: Scalars['Time'];
|
||||||
|
updatedAt: Scalars['Time'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type UpdateManyUsersInput = {
|
||||||
|
role?: Maybe<Role>;
|
||||||
|
activated?: Maybe<Scalars['Boolean']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type UserFilter = {
|
||||||
|
id?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
idNEQ?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
activated?: Maybe<Scalars['Boolean']>;
|
||||||
|
displayName?: Maybe<Array<Scalars['String']>>;
|
||||||
|
displayNameNEQ?: Maybe<Array<Scalars['String']>>;
|
||||||
|
displayNameIEQ?: Maybe<Scalars['String']>;
|
||||||
|
displayNameMATCH?: Maybe<Scalars['String']>;
|
||||||
|
email?: Maybe<Array<Scalars['String']>>;
|
||||||
|
emailNEQ?: Maybe<Array<Scalars['String']>>;
|
||||||
|
emailIEQ?: Maybe<Scalars['String']>;
|
||||||
|
emailMATCH?: Maybe<Scalars['String']>;
|
||||||
|
role?: Maybe<Array<Role>>;
|
||||||
|
roleNEQ?: Maybe<Array<Role>>;
|
||||||
|
createdAt?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtGT?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtGTE?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtLT?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtLTE?: Maybe<Scalars['Time']>;
|
||||||
|
or?: Maybe<UserFilterOr>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type QualificationFilter = {
|
||||||
|
id?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
idNEQ?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
slug?: Maybe<Array<Scalars['String']>>;
|
||||||
|
slugNEQ?: Maybe<Array<Scalars['String']>>;
|
||||||
|
formula?: Maybe<Array<Scalars['String']>>;
|
||||||
|
formulaNEQ?: Maybe<Array<Scalars['String']>>;
|
||||||
|
name?: Maybe<Array<Scalars['String']>>;
|
||||||
|
nameNEQ?: Maybe<Array<Scalars['String']>>;
|
||||||
|
nameIEQ?: Maybe<Scalars['String']>;
|
||||||
|
nameMATCH?: Maybe<Scalars['String']>;
|
||||||
|
code?: Maybe<Array<Scalars['String']>>;
|
||||||
|
codeNEQ?: Maybe<Array<Scalars['String']>>;
|
||||||
|
codeIEQ?: Maybe<Scalars['String']>;
|
||||||
|
codeMATCH?: Maybe<Scalars['String']>;
|
||||||
|
descriptionIEQ?: Maybe<Scalars['String']>;
|
||||||
|
descriptionMATCH?: Maybe<Scalars['String']>;
|
||||||
|
professionID?: Maybe<Array<Scalars['Int']>>;
|
||||||
|
createdAt?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtGT?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtGTE?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtLT?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtLTE?: Maybe<Scalars['Time']>;
|
||||||
|
or?: Maybe<QualificationFilterOr>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type ProfessionInput = {
|
||||||
|
name?: Maybe<Scalars['String']>;
|
||||||
|
description?: Maybe<Scalars['String']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type ProfessionFilter = {
|
||||||
|
id?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
idNEQ?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
slug?: Maybe<Array<Scalars['String']>>;
|
||||||
|
slugNEQ?: Maybe<Array<Scalars['String']>>;
|
||||||
|
name?: Maybe<Array<Scalars['String']>>;
|
||||||
|
nameNEQ?: Maybe<Array<Scalars['String']>>;
|
||||||
|
nameIEQ?: Maybe<Scalars['String']>;
|
||||||
|
nameMATCH?: Maybe<Scalars['String']>;
|
||||||
|
descriptionIEQ?: Maybe<Scalars['String']>;
|
||||||
|
descriptionMATCH?: Maybe<Scalars['String']>;
|
||||||
|
qualificationID?: Maybe<Array<Scalars['ID']>>;
|
||||||
|
createdAt?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtGT?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtGTE?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtLT?: Maybe<Scalars['Time']>;
|
||||||
|
createdAtLTE?: Maybe<Scalars['Time']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type QuestionList = {
|
||||||
|
total: Scalars['Int'];
|
||||||
|
items?: Maybe<Array<Question>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export enum Role {
|
||||||
|
Admin = 'admin',
|
||||||
|
User = 'user'
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserWithToken = {
|
||||||
|
token: Scalars['String'];
|
||||||
|
user: User;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type UserInput = {
|
||||||
|
displayName?: Maybe<Scalars['String']>;
|
||||||
|
password?: Maybe<Scalars['String']>;
|
||||||
|
email?: Maybe<Scalars['String']>;
|
||||||
|
role?: Maybe<Role>;
|
||||||
|
activated?: Maybe<Scalars['Boolean']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type QualificationList = {
|
||||||
|
total: Scalars['Int'];
|
||||||
|
items?: Maybe<Array<Qualification>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type QualificationInput = {
|
||||||
|
name?: Maybe<Scalars['String']>;
|
||||||
|
description?: Maybe<Scalars['String']>;
|
||||||
|
code?: Maybe<Scalars['String']>;
|
||||||
|
formula?: Maybe<Scalars['String']>;
|
||||||
|
associateProfession?: Maybe<Array<Scalars['Int']>>;
|
||||||
|
dissociateProfession?: Maybe<Array<Scalars['Int']>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type QualificationFilterOr = {
|
||||||
|
nameMatch?: Maybe<Scalars['String']>;
|
||||||
|
nameIEQ?: Maybe<Scalars['String']>;
|
||||||
|
codeMatch?: Maybe<Scalars['String']>;
|
||||||
|
codeIEQ?: Maybe<Scalars['String']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type User = {
|
||||||
|
id: Scalars['ID'];
|
||||||
|
displayName: Scalars['String'];
|
||||||
|
role: Role;
|
||||||
|
email: Scalars['String'];
|
||||||
|
activated: Scalars['Boolean'];
|
||||||
|
createdAt: Scalars['Time'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type UserFilterOr = {
|
||||||
|
displayNameIEQ?: Maybe<Scalars['String']>;
|
||||||
|
displayNameMATCH?: Maybe<Scalars['String']>;
|
||||||
|
emailIEQ?: Maybe<Scalars['String']>;
|
||||||
|
emailMATCH?: Maybe<Scalars['String']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Qualification = {
|
||||||
|
id: Scalars['ID'];
|
||||||
|
slug: Scalars['String'];
|
||||||
|
name: Scalars['String'];
|
||||||
|
code: Scalars['String'];
|
||||||
|
formula?: Maybe<Scalars['String']>;
|
||||||
|
description?: Maybe<Scalars['String']>;
|
||||||
|
createdAt: Scalars['Time'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Query = {
|
||||||
|
professions: ProfessionList;
|
||||||
|
profession?: Maybe<Profession>;
|
||||||
|
qualifications: QualificationList;
|
||||||
|
qualification?: Maybe<Qualification>;
|
||||||
|
questions: QuestionList;
|
||||||
|
generateTest?: Maybe<Array<Question>>;
|
||||||
|
users: UserList;
|
||||||
|
user?: Maybe<User>;
|
||||||
|
me?: Maybe<User>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryProfessionsArgs = {
|
||||||
|
filter?: Maybe<ProfessionFilter>;
|
||||||
|
limit?: Maybe<Scalars['Int']>;
|
||||||
|
offset?: Maybe<Scalars['Int']>;
|
||||||
|
sort?: Maybe<Array<Scalars['String']>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryProfessionArgs = {
|
||||||
|
id?: Maybe<Scalars['Int']>;
|
||||||
|
slug?: Maybe<Scalars['String']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryQualificationsArgs = {
|
||||||
|
filter?: Maybe<QualificationFilter>;
|
||||||
|
limit?: Maybe<Scalars['Int']>;
|
||||||
|
offset?: Maybe<Scalars['Int']>;
|
||||||
|
sort?: Maybe<Array<Scalars['String']>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryQualificationArgs = {
|
||||||
|
id?: Maybe<Scalars['Int']>;
|
||||||
|
slug?: Maybe<Scalars['String']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryQuestionsArgs = {
|
||||||
|
filter?: Maybe<QuestionFilter>;
|
||||||
|
limit?: Maybe<Scalars['Int']>;
|
||||||
|
offset?: Maybe<Scalars['Int']>;
|
||||||
|
sort?: Maybe<Array<Scalars['String']>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryGenerateTestArgs = {
|
||||||
|
qualificationIDs: Array<Scalars['ID']>;
|
||||||
|
limit?: Maybe<Scalars['Int']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryUsersArgs = {
|
||||||
|
filter?: Maybe<UserFilter>;
|
||||||
|
limit?: Maybe<Scalars['Int']>;
|
||||||
|
offset?: Maybe<Scalars['Int']>;
|
||||||
|
sort?: Maybe<Array<Scalars['String']>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryUserArgs = {
|
||||||
|
id: Scalars['Int'];
|
||||||
|
};
|
|
@ -0,0 +1,18 @@
|
||||||
|
import { ThemeProvider as MuiThemeProvider } from '@material-ui/styles';
|
||||||
|
import { CssBaseline } from '@material-ui/core';
|
||||||
|
import createTheme from './createTheme';
|
||||||
|
|
||||||
|
interface ThemeProviderProps {
|
||||||
|
children?: React.ReactNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
function ThemeProvider({ children }: ThemeProviderProps) {
|
||||||
|
return (
|
||||||
|
<MuiThemeProvider theme={createTheme()}>
|
||||||
|
{children}
|
||||||
|
<CssBaseline />
|
||||||
|
</MuiThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ThemeProvider;
|
|
@ -0,0 +1,35 @@
|
||||||
|
import {
|
||||||
|
createMuiTheme,
|
||||||
|
responsiveFontSizes,
|
||||||
|
Theme,
|
||||||
|
} from '@material-ui/core/styles';
|
||||||
|
import { blue, pink } from '@material-ui/core/colors';
|
||||||
|
|
||||||
|
const createTheme = (): Theme => {
|
||||||
|
return responsiveFontSizes(
|
||||||
|
createMuiTheme({
|
||||||
|
palette: {
|
||||||
|
primary: {
|
||||||
|
main: blue['A200'],
|
||||||
|
},
|
||||||
|
secondary: {
|
||||||
|
main: pink['A200'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
overrides: {
|
||||||
|
MuiTableContainer: {
|
||||||
|
root: {
|
||||||
|
overflow: 'auto',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
MuiLink: {
|
||||||
|
underline: 'none',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default createTheme;
|
|
@ -19,9 +19,12 @@
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"jsx": "react-jsx"
|
"jsx": "preserve"
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
"src"
|
"src"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue