@eventcatalog/create-eventcatalog 3.0.10 → 3.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +4 -1
- package/package.json +1 -1
- package/templates/default/domains/Orders/entities/CartItem/index.mdx +121 -0
- package/templates/default/domains/Orders/entities/Customer/index.mdx +57 -0
- package/templates/default/domains/Orders/entities/Order/index.mdx +96 -0
- package/templates/default/domains/Orders/entities/OrderItem/index.mdx +59 -0
- package/templates/default/domains/Orders/entities/ShoppingCart/index.mdx +148 -0
- package/templates/default/domains/Orders/index.mdx +13 -0
- package/templates/default/domains/Payment/entities/Address/index.mdx +162 -0
- package/templates/default/domains/Payment/entities/Invoice/index.mdx +89 -0
- package/templates/default/domains/Payment/entities/Payment/index.mdx +137 -0
- package/templates/default/domains/Payment/entities/PaymentMethod/index.mdx +77 -0
- package/templates/default/domains/Payment/entities/Transaction/index.mdx +77 -0
- package/templates/default/domains/Payment/index.mdx +17 -1
- package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/index.mdx +48 -0
- package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/schema.json +44 -0
- package/templates/default/domains/Payment/services/FraudDetectionService/index.mdx +59 -0
- package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/index.mdx +72 -0
- package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/schema.json +58 -0
- package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/index.mdx +60 -0
- package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/schema.json +68 -0
- package/templates/default/domains/Payment/services/PaymentGatewayService/index.mdx +78 -0
- package/templates/default/domains/ProductCatalog/entities/Category/index.mdx +124 -0
- package/templates/default/domains/ProductCatalog/entities/Inventory/index.mdx +116 -0
- package/templates/default/domains/ProductCatalog/entities/Product/index.mdx +115 -0
- package/templates/default/domains/ProductCatalog/entities/Review/index.mdx +154 -0
- package/templates/default/domains/ProductCatalog/index.mdx +74 -0
- package/templates/default/domains/Subscriptions/entities/BillingProfile/index.mdx +68 -0
- package/templates/default/domains/Subscriptions/entities/SubscriptionPeriod/index.mdx +73 -0
- package/templates/default/domains/Subscriptions/index.mdx +13 -2
- package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/index.mdx +60 -0
- package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/schema.json +54 -0
- package/templates/default/domains/Subscriptions/services/BillingService/index.mdx +86 -0
- package/templates/default/domains/Subscriptions/services/PlanManagementService/index.mdx +93 -0
- package/templates/graphql/Dockerfile +23 -0
- package/templates/graphql/Dockerfile.server +23 -0
- package/templates/graphql/README-template.md +1 -0
- package/templates/graphql/dockerignore +8 -0
- package/templates/graphql/env +9 -0
- package/templates/graphql/eventcatalog.auth.js +45 -0
- package/templates/graphql/eventcatalog.config.js +60 -0
- package/templates/graphql/eventcatalog.styles.css +1 -0
- package/templates/graphql/gitignore +27 -0
- package/templates/graphql/graphql-files/orders-service.graphql +76 -0
- package/templates/graphql/graphql-files/payment-service.graphql +327 -0
- package/templates/graphql/npmrc +1 -0
- package/templates/graphql/public/logo.png +0 -0
- package/templates/graphql/teams/order-management.mdx +31 -0
- package/templates/graphql/teams/payment-management.mdx +18 -0
- package/templates/graphql/teams/product-management.mdx +18 -0
- package/templates/graphql/users/aSmith.mdx +27 -0
- package/templates/graphql/users/alee.mdx +8 -0
- package/templates/graphql/users/azhang.mdx +11 -0
- package/templates/graphql/users/dboyne.mdx +32 -0
- package/templates/graphql/users/dkim.mdx +11 -0
- package/templates/graphql/users/jbrown.mdx +11 -0
- package/templates/graphql/users/mSmith.mdx +8 -0
- package/templates/index.ts +4 -0
- package/templates/types.ts +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
## Stage 1: Build the app
|
|
2
|
+
FROM node:lts AS build
|
|
3
|
+
|
|
4
|
+
WORKDIR /app
|
|
5
|
+
|
|
6
|
+
# Install dependencies
|
|
7
|
+
COPY package.json package-lock.json ./
|
|
8
|
+
RUN npm install
|
|
9
|
+
|
|
10
|
+
# Copy source code
|
|
11
|
+
COPY . .
|
|
12
|
+
|
|
13
|
+
# Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
|
|
14
|
+
ENV NODE_OPTIONS=--max_old_space_size=2048
|
|
15
|
+
# Build the app
|
|
16
|
+
RUN npm run build
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Stage 2: Serve app with httpd server
|
|
20
|
+
FROM httpd:2.4
|
|
21
|
+
|
|
22
|
+
# Copy built app to serve
|
|
23
|
+
COPY --from=build /app/dist /usr/local/apache2/htdocs
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Use this Docker file if your EventCatalog output is set to `server`.
|
|
2
|
+
# When EventCatalog output is set to `server`, the output will be a node server.
|
|
3
|
+
# This server is required for certain features like the EventCatalog Chat (with your own keys).
|
|
4
|
+
|
|
5
|
+
FROM node:lts AS runtime
|
|
6
|
+
WORKDIR /app
|
|
7
|
+
|
|
8
|
+
# Install dependencies
|
|
9
|
+
COPY package.json package-lock.json ./
|
|
10
|
+
RUN npm install
|
|
11
|
+
|
|
12
|
+
COPY . .
|
|
13
|
+
|
|
14
|
+
# Fix for Astro in Docker: https://github.com/withastro/astro/issues/2596
|
|
15
|
+
ENV NODE_OPTIONS=--max_old_space_size=2048
|
|
16
|
+
RUN npm run build
|
|
17
|
+
|
|
18
|
+
ENV HOST=0.0.0.0
|
|
19
|
+
ENV PORT=3000
|
|
20
|
+
EXPOSE 3000
|
|
21
|
+
|
|
22
|
+
# Start the server
|
|
23
|
+
CMD npm run start
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# My Event Catalog
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# EventCatalog Scale License Key, if you want to unlock the scale features
|
|
2
|
+
# You can get a 14 day trial license key from https://eventcatalog.cloud
|
|
3
|
+
|
|
4
|
+
EVENTCATALOG_SCALE_LICENSE_KEY=
|
|
5
|
+
|
|
6
|
+
# Optional key if you are using EventCatalog Chat with OpenAI Models.
|
|
7
|
+
# You need to set `output` to `server` in your eventcatalog.config.js file.
|
|
8
|
+
# See documentation for more details: https://www.eventcatalog.dev/features/ai-assistant
|
|
9
|
+
OPENAI_API_KEY=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This is an optional file that can add authentication to your EventCatalog.
|
|
4
|
+
*
|
|
5
|
+
* To enable authentication you need to set `server:output` in your `eventcatalog.config.js` file.
|
|
6
|
+
* And then pick which provider you want to use.
|
|
7
|
+
*
|
|
8
|
+
* You can read more in the documentation:
|
|
9
|
+
* https://www.eventcatalog.dev/docs/development/guides/authentication/introduction
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
// export default {
|
|
14
|
+
// debug: false,
|
|
15
|
+
// providers: {
|
|
16
|
+
// // GitHub Authentication
|
|
17
|
+
// github: {
|
|
18
|
+
// clientId: process.env.AUTH_GITHUB_CLIENT_ID,
|
|
19
|
+
// clientSecret: process.env.AUTH_GITHUB_CLIENT_SECRET,
|
|
20
|
+
// },
|
|
21
|
+
// // Azure AD Entra ID
|
|
22
|
+
// entra: {
|
|
23
|
+
// clientId: process.env.AUTH_MICROSOFT_ENTRA_ID_ID,
|
|
24
|
+
// clientSecret: process.env.AUTH_MICROSOFT_ENTRA_ID_SECRET,
|
|
25
|
+
// issuer: process.env.AUTH_MICROSOFT_ENTRA_ID_ISSUER,
|
|
26
|
+
// },
|
|
27
|
+
// // Google Authentication
|
|
28
|
+
// google: {
|
|
29
|
+
// clientId: process.env.AUTH_GOOGLE_ID,
|
|
30
|
+
// clientSecret: process.env.AUTH_GOOGLE_SECRET,
|
|
31
|
+
// },
|
|
32
|
+
// // Auth0 Authentication
|
|
33
|
+
// auth0: {
|
|
34
|
+
// clientId: process.env.AUTH_AUTH0_ID,
|
|
35
|
+
// clientSecret: process.env.AUTH_AUTH0_SECRET,
|
|
36
|
+
// issuer: process.env.AUTH_AUTH0_ISSUER,
|
|
37
|
+
// },
|
|
38
|
+
// // Okta Authentication
|
|
39
|
+
// okta: {
|
|
40
|
+
// clientId: process.env.AUTH_OKTA_CLIENT_ID,
|
|
41
|
+
// clientSecret: process.env.AUTH_OKTA_CLIENT_SECRET,
|
|
42
|
+
// issuer: process.env.AUTH_OKTA_ISSUER,
|
|
43
|
+
// },
|
|
44
|
+
// },
|
|
45
|
+
// }
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import url from "url";
|
|
3
|
+
|
|
4
|
+
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
|
5
|
+
|
|
6
|
+
/** @type {import('@eventcatalog/core/bin/eventcatalog.config').Config} */
|
|
7
|
+
export default {
|
|
8
|
+
title: "EventCatalog",
|
|
9
|
+
tagline: 'This internal platform provides a comprehensive view of our event-driven architecture across all systems. Use this portal to discover existing domains, explore services and their dependencies, and understand the message contracts that connect our infrastructure',
|
|
10
|
+
organizationName: '<organizationName>',
|
|
11
|
+
homepageLink: "https://eventcatalog.dev/",
|
|
12
|
+
editUrl: "https://github.com/boyney123/eventcatalog-demo/edit/master",
|
|
13
|
+
// Supports static or server. Static renders a static site, server renders a server side rendered site
|
|
14
|
+
// large catalogs may benefit from server side rendering
|
|
15
|
+
output: 'static',
|
|
16
|
+
// By default set to false, add true to get urls ending in /
|
|
17
|
+
trailingSlash: false,
|
|
18
|
+
// Change to make the base url of the site different, by default https://{website}.com/docs,
|
|
19
|
+
// changing to /company would be https://{website}.com/company/docs,
|
|
20
|
+
base: "/",
|
|
21
|
+
// Customize the logo, add your logo to public/ folder
|
|
22
|
+
logo: {
|
|
23
|
+
alt: "EventCatalog Logo",
|
|
24
|
+
src: "/logo.png",
|
|
25
|
+
text: "EventCatalog",
|
|
26
|
+
},
|
|
27
|
+
// This lets you copy markdown contents from EventCatalog to your clipboard
|
|
28
|
+
// Including schemas for your events and services
|
|
29
|
+
llmsTxt: {
|
|
30
|
+
enabled: true,
|
|
31
|
+
},
|
|
32
|
+
generators: [
|
|
33
|
+
[
|
|
34
|
+
"@eventcatalog/generator-graphql",
|
|
35
|
+
{
|
|
36
|
+
services: [
|
|
37
|
+
{ path: path.join(__dirname, "graphql-files", "orders-service.graphql"), id: 'orders-service', owners: ['order-management'] },
|
|
38
|
+
],
|
|
39
|
+
domain: { id: "orders", name: "Orders", version: "0.0.1" },
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
[
|
|
43
|
+
"@eventcatalog/generator-graphql",
|
|
44
|
+
{
|
|
45
|
+
services: [
|
|
46
|
+
{ path: path.join(__dirname, "graphql-files", "payment-service.graphql"), id: 'payment-service', owners: ['payment-management'] },
|
|
47
|
+
],
|
|
48
|
+
domain: { id: "payment", name: "Payment", version: "0.0.1" },
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
],
|
|
52
|
+
// Enable RSS feed for your eventcatalog
|
|
53
|
+
rss: {
|
|
54
|
+
enabled: true,
|
|
55
|
+
// number of items to include in the feed per resource (event, service, etc)
|
|
56
|
+
limit: 20
|
|
57
|
+
},
|
|
58
|
+
// required random generated id used by eventcatalog
|
|
59
|
+
cId: '<cId>'
|
|
60
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* Custom styling support coming soon. */
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Dependencies
|
|
2
|
+
/node_modules
|
|
3
|
+
|
|
4
|
+
# Production
|
|
5
|
+
/build
|
|
6
|
+
|
|
7
|
+
# Generated files
|
|
8
|
+
.astro
|
|
9
|
+
out
|
|
10
|
+
dist
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# Misc
|
|
14
|
+
.DS_Store
|
|
15
|
+
.env.local
|
|
16
|
+
.env.development.local
|
|
17
|
+
.env.test.local
|
|
18
|
+
.env.production.local
|
|
19
|
+
|
|
20
|
+
npm-debug.log*
|
|
21
|
+
yarn-debug.log*
|
|
22
|
+
yarn-error.log*
|
|
23
|
+
|
|
24
|
+
.eventcatalog-core
|
|
25
|
+
|
|
26
|
+
.env
|
|
27
|
+
.env-*
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
type Query {
|
|
2
|
+
"""
|
|
3
|
+
Fetch a user by their unique ID
|
|
4
|
+
"""
|
|
5
|
+
getUser(id: ID!): User
|
|
6
|
+
"""
|
|
7
|
+
Retrieve all users from the system
|
|
8
|
+
"""
|
|
9
|
+
getUsers: [User!]!
|
|
10
|
+
"""
|
|
11
|
+
Get user profile information by user ID
|
|
12
|
+
"""
|
|
13
|
+
getProfile(userId: ID!): Profile
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
type Mutation {
|
|
17
|
+
"""
|
|
18
|
+
Create a new user account
|
|
19
|
+
"""
|
|
20
|
+
createUser(input: CreateUserInput!): User
|
|
21
|
+
"""
|
|
22
|
+
Update an existing user's information
|
|
23
|
+
"""
|
|
24
|
+
updateUser(id: ID!, input: UpdateUserInput!): User
|
|
25
|
+
"""
|
|
26
|
+
Delete a user from the system
|
|
27
|
+
"""
|
|
28
|
+
deleteUser(id: ID!): Boolean
|
|
29
|
+
"""
|
|
30
|
+
Update user profile details
|
|
31
|
+
"""
|
|
32
|
+
updateProfile(userId: ID!, input: UpdateProfileInput!): Profile
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
type Subscription {
|
|
36
|
+
"""
|
|
37
|
+
Subscribe to user creation events
|
|
38
|
+
"""
|
|
39
|
+
userCreated: User
|
|
40
|
+
"""
|
|
41
|
+
Subscribe to user update events
|
|
42
|
+
"""
|
|
43
|
+
userUpdated: User
|
|
44
|
+
"""
|
|
45
|
+
Triggered when a user is deleted
|
|
46
|
+
"""
|
|
47
|
+
userDeleted: ID
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
type User {
|
|
51
|
+
id: ID!
|
|
52
|
+
name: String!
|
|
53
|
+
email: String!
|
|
54
|
+
profile: Profile
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
type Profile {
|
|
58
|
+
id: ID!
|
|
59
|
+
bio: String
|
|
60
|
+
avatar: String
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
input CreateUserInput {
|
|
64
|
+
name: String!
|
|
65
|
+
email: String!
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
input UpdateUserInput {
|
|
69
|
+
name: String
|
|
70
|
+
email: String
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
input UpdateProfileInput {
|
|
74
|
+
bio: String
|
|
75
|
+
avatar: String
|
|
76
|
+
}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
type Query {
|
|
2
|
+
"""
|
|
3
|
+
Fetch a payment by its unique ID
|
|
4
|
+
"""
|
|
5
|
+
getPayment(id: ID!): Payment
|
|
6
|
+
"""
|
|
7
|
+
Retrieve all payments for a specific user
|
|
8
|
+
"""
|
|
9
|
+
getPaymentsByUser(userId: ID!): [Payment!]!
|
|
10
|
+
"""
|
|
11
|
+
Get payment history with optional filtering
|
|
12
|
+
"""
|
|
13
|
+
getPaymentHistory(
|
|
14
|
+
userId: ID
|
|
15
|
+
status: PaymentStatus
|
|
16
|
+
dateFrom: String
|
|
17
|
+
dateTo: String
|
|
18
|
+
limit: Int = 10
|
|
19
|
+
offset: Int = 0
|
|
20
|
+
): PaymentConnection!
|
|
21
|
+
"""
|
|
22
|
+
Fetch payment methods for a user
|
|
23
|
+
"""
|
|
24
|
+
getPaymentMethods(userId: ID!): [PaymentMethod!]!
|
|
25
|
+
"""
|
|
26
|
+
Get a specific payment method by ID
|
|
27
|
+
"""
|
|
28
|
+
getPaymentMethod(id: ID!): PaymentMethod
|
|
29
|
+
"""
|
|
30
|
+
Retrieve transaction details by ID
|
|
31
|
+
"""
|
|
32
|
+
getTransaction(id: ID!): Transaction
|
|
33
|
+
"""
|
|
34
|
+
Get all transactions for a payment
|
|
35
|
+
"""
|
|
36
|
+
getTransactionsByPayment(paymentId: ID!): [Transaction!]!
|
|
37
|
+
"""
|
|
38
|
+
Check payment status and details
|
|
39
|
+
"""
|
|
40
|
+
getPaymentStatus(paymentId: ID!): PaymentStatusResponse!
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
type Mutation {
|
|
44
|
+
"""
|
|
45
|
+
Process a new payment
|
|
46
|
+
"""
|
|
47
|
+
processPayment(input: ProcessPaymentInput!): PaymentResult!
|
|
48
|
+
"""
|
|
49
|
+
Refund a payment (full or partial)
|
|
50
|
+
"""
|
|
51
|
+
refundPayment(input: RefundPaymentInput!): RefundResult!
|
|
52
|
+
"""
|
|
53
|
+
Add a new payment method for a user
|
|
54
|
+
"""
|
|
55
|
+
addPaymentMethod(input: AddPaymentMethodInput!): PaymentMethod!
|
|
56
|
+
"""
|
|
57
|
+
Update an existing payment method
|
|
58
|
+
"""
|
|
59
|
+
updatePaymentMethod(id: ID!, input: UpdatePaymentMethodInput!): PaymentMethod!
|
|
60
|
+
"""
|
|
61
|
+
Remove a payment method
|
|
62
|
+
"""
|
|
63
|
+
removePaymentMethod(id: ID!): Boolean!
|
|
64
|
+
"""
|
|
65
|
+
Set a payment method as default
|
|
66
|
+
"""
|
|
67
|
+
setDefaultPaymentMethod(userId: ID!, paymentMethodId: ID!): PaymentMethod!
|
|
68
|
+
"""
|
|
69
|
+
Cancel a pending payment
|
|
70
|
+
"""
|
|
71
|
+
cancelPayment(paymentId: ID!): Payment!
|
|
72
|
+
"""
|
|
73
|
+
Retry a failed payment
|
|
74
|
+
"""
|
|
75
|
+
retryPayment(paymentId: ID!): PaymentResult!
|
|
76
|
+
"""
|
|
77
|
+
Capture an authorized payment
|
|
78
|
+
"""
|
|
79
|
+
capturePayment(paymentId: ID!, amount: Float): Payment!
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
type Subscription {
|
|
83
|
+
"""
|
|
84
|
+
Subscribe to payment status updates
|
|
85
|
+
"""
|
|
86
|
+
paymentStatusUpdated(paymentId: ID!): Payment!
|
|
87
|
+
"""
|
|
88
|
+
Subscribe to all payment events for a user
|
|
89
|
+
"""
|
|
90
|
+
userPaymentEvents(userId: ID!): PaymentEvent!
|
|
91
|
+
"""
|
|
92
|
+
Subscribe to transaction updates
|
|
93
|
+
"""
|
|
94
|
+
transactionUpdated(transactionId: ID!): Transaction!
|
|
95
|
+
"""
|
|
96
|
+
Subscribe to refund status changes
|
|
97
|
+
"""
|
|
98
|
+
refundStatusUpdated(refundId: ID!): Refund!
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
type Payment {
|
|
102
|
+
id: ID!
|
|
103
|
+
userId: ID!
|
|
104
|
+
amount: Float!
|
|
105
|
+
currency: String!
|
|
106
|
+
status: PaymentStatus!
|
|
107
|
+
description: String
|
|
108
|
+
paymentMethod: PaymentMethod!
|
|
109
|
+
transactions: [Transaction!]!
|
|
110
|
+
refunds: [Refund!]!
|
|
111
|
+
metadata: PaymentMetadata
|
|
112
|
+
createdAt: String!
|
|
113
|
+
updatedAt: String!
|
|
114
|
+
expiresAt: String
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
type PaymentMethod {
|
|
118
|
+
id: ID!
|
|
119
|
+
userId: ID!
|
|
120
|
+
type: PaymentMethodType!
|
|
121
|
+
isDefault: Boolean!
|
|
122
|
+
card: CardDetails
|
|
123
|
+
bankAccount: BankAccountDetails
|
|
124
|
+
digitalWallet: DigitalWalletDetails
|
|
125
|
+
isActive: Boolean!
|
|
126
|
+
createdAt: String!
|
|
127
|
+
updatedAt: String!
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
type CardDetails {
|
|
131
|
+
last4: String!
|
|
132
|
+
brand: String!
|
|
133
|
+
expiryMonth: Int!
|
|
134
|
+
expiryYear: Int!
|
|
135
|
+
fingerprint: String!
|
|
136
|
+
country: String
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
type BankAccountDetails {
|
|
140
|
+
last4: String!
|
|
141
|
+
bankName: String!
|
|
142
|
+
accountType: String!
|
|
143
|
+
country: String!
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
type DigitalWalletDetails {
|
|
147
|
+
provider: String!
|
|
148
|
+
email: String
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
type Transaction {
|
|
152
|
+
id: ID!
|
|
153
|
+
paymentId: ID!
|
|
154
|
+
type: TransactionType!
|
|
155
|
+
amount: Float!
|
|
156
|
+
currency: String!
|
|
157
|
+
status: TransactionStatus!
|
|
158
|
+
gateway: String!
|
|
159
|
+
gatewayTransactionId: String
|
|
160
|
+
failureReason: String
|
|
161
|
+
createdAt: String!
|
|
162
|
+
updatedAt: String!
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
type Refund {
|
|
166
|
+
id: ID!
|
|
167
|
+
paymentId: ID!
|
|
168
|
+
amount: Float!
|
|
169
|
+
currency: String!
|
|
170
|
+
status: RefundStatus!
|
|
171
|
+
reason: String
|
|
172
|
+
createdAt: String!
|
|
173
|
+
updatedAt: String!
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
type PaymentConnection {
|
|
177
|
+
edges: [PaymentEdge!]!
|
|
178
|
+
pageInfo: PageInfo!
|
|
179
|
+
totalCount: Int!
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
type PaymentEdge {
|
|
183
|
+
node: Payment!
|
|
184
|
+
cursor: String!
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
type PageInfo {
|
|
188
|
+
hasNextPage: Boolean!
|
|
189
|
+
hasPreviousPage: Boolean!
|
|
190
|
+
startCursor: String
|
|
191
|
+
endCursor: String
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
type PaymentMetadata {
|
|
195
|
+
orderId: String
|
|
196
|
+
customerId: String
|
|
197
|
+
invoiceId: String
|
|
198
|
+
tags: [String!]
|
|
199
|
+
notes: String
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
type PaymentResult {
|
|
203
|
+
payment: Payment
|
|
204
|
+
success: Boolean!
|
|
205
|
+
error: PaymentError
|
|
206
|
+
requiresAction: Boolean!
|
|
207
|
+
actionUrl: String
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
type RefundResult {
|
|
211
|
+
refund: Refund
|
|
212
|
+
success: Boolean!
|
|
213
|
+
error: PaymentError
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
type PaymentStatusResponse {
|
|
217
|
+
payment: Payment!
|
|
218
|
+
canRefund: Boolean!
|
|
219
|
+
canCapture: Boolean!
|
|
220
|
+
canCancel: Boolean!
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
type PaymentEvent {
|
|
224
|
+
id: ID!
|
|
225
|
+
type: PaymentEventType!
|
|
226
|
+
paymentId: ID!
|
|
227
|
+
data: String!
|
|
228
|
+
createdAt: String!
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
type PaymentError {
|
|
232
|
+
code: String!
|
|
233
|
+
message: String!
|
|
234
|
+
details: String
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
enum PaymentStatus {
|
|
238
|
+
PENDING
|
|
239
|
+
PROCESSING
|
|
240
|
+
AUTHORIZED
|
|
241
|
+
CAPTURED
|
|
242
|
+
SUCCEEDED
|
|
243
|
+
FAILED
|
|
244
|
+
CANCELLED
|
|
245
|
+
EXPIRED
|
|
246
|
+
REFUNDED
|
|
247
|
+
PARTIALLY_REFUNDED
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
enum PaymentMethodType {
|
|
251
|
+
CREDIT_CARD
|
|
252
|
+
DEBIT_CARD
|
|
253
|
+
BANK_ACCOUNT
|
|
254
|
+
DIGITAL_WALLET
|
|
255
|
+
CRYPTOCURRENCY
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
enum TransactionType {
|
|
259
|
+
AUTHORIZATION
|
|
260
|
+
CAPTURE
|
|
261
|
+
SALE
|
|
262
|
+
REFUND
|
|
263
|
+
VOID
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
enum TransactionStatus {
|
|
267
|
+
PENDING
|
|
268
|
+
SUCCEEDED
|
|
269
|
+
FAILED
|
|
270
|
+
CANCELLED
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
enum RefundStatus {
|
|
274
|
+
PENDING
|
|
275
|
+
PROCESSING
|
|
276
|
+
SUCCEEDED
|
|
277
|
+
FAILED
|
|
278
|
+
CANCELLED
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
enum PaymentEventType {
|
|
282
|
+
PAYMENT_CREATED
|
|
283
|
+
PAYMENT_AUTHORIZED
|
|
284
|
+
PAYMENT_CAPTURED
|
|
285
|
+
PAYMENT_SUCCEEDED
|
|
286
|
+
PAYMENT_FAILED
|
|
287
|
+
PAYMENT_CANCELLED
|
|
288
|
+
REFUND_CREATED
|
|
289
|
+
REFUND_SUCCEEDED
|
|
290
|
+
REFUND_FAILED
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
input ProcessPaymentInput {
|
|
294
|
+
userId: ID!
|
|
295
|
+
amount: Float!
|
|
296
|
+
currency: String!
|
|
297
|
+
paymentMethodId: ID!
|
|
298
|
+
description: String
|
|
299
|
+
captureImmediately: Boolean = true
|
|
300
|
+
metadata: PaymentMetadataInput
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
input RefundPaymentInput {
|
|
304
|
+
paymentId: ID!
|
|
305
|
+
amount: Float
|
|
306
|
+
reason: String
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
input AddPaymentMethodInput {
|
|
310
|
+
userId: ID!
|
|
311
|
+
type: PaymentMethodType!
|
|
312
|
+
token: String!
|
|
313
|
+
setAsDefault: Boolean = false
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
input UpdatePaymentMethodInput {
|
|
317
|
+
isActive: Boolean
|
|
318
|
+
setAsDefault: Boolean
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
input PaymentMetadataInput {
|
|
322
|
+
orderId: String
|
|
323
|
+
customerId: String
|
|
324
|
+
invoiceId: String
|
|
325
|
+
tags: [String!]
|
|
326
|
+
notes: String
|
|
327
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
strict-peer-dependencies=false
|
|
Binary file
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: order-management
|
|
3
|
+
name: Order Management
|
|
4
|
+
summmary: Order Management team based in London, UK
|
|
5
|
+
members:
|
|
6
|
+
- dboyne
|
|
7
|
+
- asmith
|
|
8
|
+
- msmith
|
|
9
|
+
- alee
|
|
10
|
+
- azhang
|
|
11
|
+
email: test@test.com
|
|
12
|
+
slackDirectMessageUrl: https://yourteam.slack.com/channels/boyney123
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The Order Management team is responsible for managing orders, inventory, shipment and payment.
|
|
18
|
+
|
|
19
|
+
## Responsibilities
|
|
20
|
+
|
|
21
|
+
- Manage orders and order processing
|
|
22
|
+
- Manage inventory and inventory processing
|
|
23
|
+
- Manage shipment and shipment processing
|
|
24
|
+
- Manage payment and payment processing
|
|
25
|
+
- Manage user and user processing
|
|
26
|
+
|
|
27
|
+
## Key Contacts
|
|
28
|
+
|
|
29
|
+
- David Boyne
|
|
30
|
+
- Alice Smith
|
|
31
|
+
- Mike Smith
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: payment-management
|
|
3
|
+
name: Payment Management
|
|
4
|
+
members:
|
|
5
|
+
- dboyne
|
|
6
|
+
- jbrown
|
|
7
|
+
- dkim
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
The payment management team is responsible for managing payments and payment accounts.
|
|
11
|
+
|
|
12
|
+
## Responsibilities
|
|
13
|
+
|
|
14
|
+
- Manage payment and payment account management
|
|
15
|
+
- Manage payment and payment account provisioning
|
|
16
|
+
- Manage payment and payment account deprovisioning
|
|
17
|
+
- Manage user and user account password management
|
|
18
|
+
- Manage user and user account role management
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: product-management
|
|
3
|
+
name: Product Management
|
|
4
|
+
members:
|
|
5
|
+
- dboyne
|
|
6
|
+
- jbrown
|
|
7
|
+
- dkim
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
The product management team is responsible for managing products and product accounts.
|
|
11
|
+
|
|
12
|
+
## Responsibilities
|
|
13
|
+
|
|
14
|
+
- Manage product and product account management
|
|
15
|
+
- Manage product and product account provisioning
|
|
16
|
+
- Manage product and product account deprovisioning
|
|
17
|
+
- Manage product and product account password management
|
|
18
|
+
- Manage product and product account role management
|