@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.
Files changed (59) hide show
  1. package/dist/index.js +4 -1
  2. package/package.json +1 -1
  3. package/templates/default/domains/Orders/entities/CartItem/index.mdx +121 -0
  4. package/templates/default/domains/Orders/entities/Customer/index.mdx +57 -0
  5. package/templates/default/domains/Orders/entities/Order/index.mdx +96 -0
  6. package/templates/default/domains/Orders/entities/OrderItem/index.mdx +59 -0
  7. package/templates/default/domains/Orders/entities/ShoppingCart/index.mdx +148 -0
  8. package/templates/default/domains/Orders/index.mdx +13 -0
  9. package/templates/default/domains/Payment/entities/Address/index.mdx +162 -0
  10. package/templates/default/domains/Payment/entities/Invoice/index.mdx +89 -0
  11. package/templates/default/domains/Payment/entities/Payment/index.mdx +137 -0
  12. package/templates/default/domains/Payment/entities/PaymentMethod/index.mdx +77 -0
  13. package/templates/default/domains/Payment/entities/Transaction/index.mdx +77 -0
  14. package/templates/default/domains/Payment/index.mdx +17 -1
  15. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/index.mdx +48 -0
  16. package/templates/default/domains/Payment/services/FraudDetectionService/events/FraudCheckCompleted/schema.json +44 -0
  17. package/templates/default/domains/Payment/services/FraudDetectionService/index.mdx +59 -0
  18. package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/index.mdx +72 -0
  19. package/templates/default/domains/Payment/services/PaymentGatewayService/commands/ProcessPayment/schema.json +58 -0
  20. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/index.mdx +60 -0
  21. package/templates/default/domains/Payment/services/PaymentGatewayService/events/PaymentFailed/schema.json +68 -0
  22. package/templates/default/domains/Payment/services/PaymentGatewayService/index.mdx +78 -0
  23. package/templates/default/domains/ProductCatalog/entities/Category/index.mdx +124 -0
  24. package/templates/default/domains/ProductCatalog/entities/Inventory/index.mdx +116 -0
  25. package/templates/default/domains/ProductCatalog/entities/Product/index.mdx +115 -0
  26. package/templates/default/domains/ProductCatalog/entities/Review/index.mdx +154 -0
  27. package/templates/default/domains/ProductCatalog/index.mdx +74 -0
  28. package/templates/default/domains/Subscriptions/entities/BillingProfile/index.mdx +68 -0
  29. package/templates/default/domains/Subscriptions/entities/SubscriptionPeriod/index.mdx +73 -0
  30. package/templates/default/domains/Subscriptions/index.mdx +13 -2
  31. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/index.mdx +60 -0
  32. package/templates/default/domains/Subscriptions/services/BillingService/events/SubscriptionPaymentDue/schema.json +54 -0
  33. package/templates/default/domains/Subscriptions/services/BillingService/index.mdx +86 -0
  34. package/templates/default/domains/Subscriptions/services/PlanManagementService/index.mdx +93 -0
  35. package/templates/graphql/Dockerfile +23 -0
  36. package/templates/graphql/Dockerfile.server +23 -0
  37. package/templates/graphql/README-template.md +1 -0
  38. package/templates/graphql/dockerignore +8 -0
  39. package/templates/graphql/env +9 -0
  40. package/templates/graphql/eventcatalog.auth.js +45 -0
  41. package/templates/graphql/eventcatalog.config.js +60 -0
  42. package/templates/graphql/eventcatalog.styles.css +1 -0
  43. package/templates/graphql/gitignore +27 -0
  44. package/templates/graphql/graphql-files/orders-service.graphql +76 -0
  45. package/templates/graphql/graphql-files/payment-service.graphql +327 -0
  46. package/templates/graphql/npmrc +1 -0
  47. package/templates/graphql/public/logo.png +0 -0
  48. package/templates/graphql/teams/order-management.mdx +31 -0
  49. package/templates/graphql/teams/payment-management.mdx +18 -0
  50. package/templates/graphql/teams/product-management.mdx +18 -0
  51. package/templates/graphql/users/aSmith.mdx +27 -0
  52. package/templates/graphql/users/alee.mdx +8 -0
  53. package/templates/graphql/users/azhang.mdx +11 -0
  54. package/templates/graphql/users/dboyne.mdx +32 -0
  55. package/templates/graphql/users/dkim.mdx +11 -0
  56. package/templates/graphql/users/jbrown.mdx +11 -0
  57. package/templates/graphql/users/mSmith.mdx +8 -0
  58. package/templates/index.ts +4 -0
  59. 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,8 @@
1
+ .eventcatalog-core/
2
+ .git/
3
+ dist/
4
+ node_modules/
5
+ .gitignore
6
+ .dockerignore
7
+ Dockerfile
8
+ README.md
@@ -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
@@ -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