chore: wire Carplace into dev and production stacks
Build & Deploy / Build & Push Docker Image (push) Successful in 2m55s
Test / Type Check (all packages) (push) Successful in 54s
Build & Deploy / Deploy to VPS (push) Successful in 4s
Test / API Unit Tests (push) Failing after 48s
Test / Homepage Unit Tests (push) Successful in 43s
Test / Storefront Unit Tests (push) Failing after 40s
Test / Admin Unit Tests (push) Successful in 40s
Test / Dashboard Unit Tests (push) Failing after 42s
Test / API Integration Tests (push) Successful in 1m0s
Build & Deploy / Build & Push Docker Image (push) Successful in 2m55s
Test / Type Check (all packages) (push) Successful in 54s
Build & Deploy / Deploy to VPS (push) Successful in 4s
Test / API Unit Tests (push) Failing after 48s
Test / Homepage Unit Tests (push) Successful in 43s
Test / Storefront Unit Tests (push) Failing after 40s
Test / Admin Unit Tests (push) Successful in 40s
Test / Dashboard Unit Tests (push) Failing after 42s
Test / API Integration Tests (push) Successful in 1m0s
This commit is contained in:
@@ -16,7 +16,7 @@ describe('OpenAPI document boundary contract', () => {
|
||||
}),
|
||||
}))
|
||||
expect(openApiDocument.tags).toEqual(expect.arrayContaining([
|
||||
expect.objectContaining({ name: 'Storefront' }),
|
||||
expect.objectContaining({ name: 'Carplace' }),
|
||||
expect.objectContaining({ name: 'Subscriptions' }),
|
||||
expect.objectContaining({ name: 'Admin' }),
|
||||
]))
|
||||
|
||||
@@ -119,7 +119,7 @@ export const openApiDocument: JsonObject = {
|
||||
{ name: 'Companies', description: 'Company profile & settings' },
|
||||
{ name: 'Team', description: 'Employee management' },
|
||||
{ name: 'Subscriptions', description: 'Plan management & billing' },
|
||||
{ name: 'Storefront', description: 'Public booking portal' },
|
||||
{ name: 'Carplace', description: 'Public booking portal' },
|
||||
{ name: 'Site', description: 'White-label site API' },
|
||||
{ name: 'Admin', description: 'Platform administration' },
|
||||
],
|
||||
@@ -996,20 +996,20 @@ export const openApiDocument: JsonObject = {
|
||||
},
|
||||
|
||||
// ════════════════════════════════════════════════════════════════
|
||||
// MARKETPLACE (public — no auth required)
|
||||
// CARPLACE (public — no auth required)
|
||||
// ════════════════════════════════════════════════════════════════
|
||||
'/storefront/cities': {
|
||||
get: { tags: ['Storefront'], summary: 'Cities with active companies', security: [], responses: { '200': ok } },
|
||||
'/carplace/cities': {
|
||||
get: { tags: ['Carplace'], summary: 'Cities with active companies', security: [], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/companies': {
|
||||
get: { tags: ['Storefront'], summary: 'List companies', security: [], responses: { '200': ok } },
|
||||
'/carplace/companies': {
|
||||
get: { tags: ['Carplace'], summary: 'List companies', security: [], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/offers': {
|
||||
get: { tags: ['Storefront'], summary: 'Public offers', security: [], responses: { '200': ok } },
|
||||
'/carplace/offers': {
|
||||
get: { tags: ['Carplace'], summary: 'Public offers', security: [], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/search': {
|
||||
'/carplace/search': {
|
||||
get: {
|
||||
tags: ['Storefront'],
|
||||
tags: ['Carplace'],
|
||||
summary: 'Search available vehicles',
|
||||
security: [],
|
||||
parameters: [
|
||||
@@ -1021,30 +1021,30 @@ export const openApiDocument: JsonObject = {
|
||||
responses: { '200': ok },
|
||||
},
|
||||
},
|
||||
'/storefront/reservations': {
|
||||
post: { tags: ['Storefront'], summary: 'Create storefront booking', security: [], responses: { '201': ok } },
|
||||
'/carplace/reservations': {
|
||||
post: { tags: ['Carplace'], summary: 'Create carplace booking', security: [], responses: { '201': ok } },
|
||||
},
|
||||
'/storefront/offers/{code}/validate': {
|
||||
post: { tags: ['Storefront'], summary: 'Validate promo code', security: [], parameters: [{ name: 'code', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
'/carplace/offers/{code}/validate': {
|
||||
post: { tags: ['Carplace'], summary: 'Validate promo code', security: [], parameters: [{ name: 'code', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/review/{token}': {
|
||||
get: { tags: ['Storefront'], summary: 'Get review form by token', security: [], parameters: [{ name: 'token', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
post: { tags: ['Storefront'], summary: 'Submit review', security: [], parameters: [{ name: 'token', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
'/carplace/review/{token}': {
|
||||
get: { tags: ['Carplace'], summary: 'Get review form by token', security: [], parameters: [{ name: 'token', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
post: { tags: ['Carplace'], summary: 'Submit review', security: [], parameters: [{ name: 'token', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/{slug}': {
|
||||
get: { tags: ['Storefront'], summary: 'Company public page', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
'/carplace/{slug}': {
|
||||
get: { tags: ['Carplace'], summary: 'Company public page', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/{slug}/reviews': {
|
||||
get: { tags: ['Storefront'], summary: 'Company reviews', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
'/carplace/{slug}/reviews': {
|
||||
get: { tags: ['Carplace'], summary: 'Company reviews', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/{slug}/vehicles': {
|
||||
get: { tags: ['Storefront'], summary: 'Company vehicles', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
'/carplace/{slug}/vehicles': {
|
||||
get: { tags: ['Carplace'], summary: 'Company vehicles', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/{slug}/vehicles/{id}': {
|
||||
get: { tags: ['Storefront'], summary: 'Vehicle details', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }, idPath()], responses: { '200': ok } },
|
||||
'/carplace/{slug}/vehicles/{id}': {
|
||||
get: { tags: ['Carplace'], summary: 'Vehicle details', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }, idPath()], responses: { '200': ok } },
|
||||
},
|
||||
'/storefront/{slug}/offers': {
|
||||
get: { tags: ['Storefront'], summary: 'Company offers', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
'/carplace/{slug}/offers': {
|
||||
get: { tags: ['Carplace'], summary: 'Company offers', security: [], parameters: [{ name: 'slug', in: 'path', required: true, schema: { type: 'string' } }], responses: { '200': ok } },
|
||||
},
|
||||
|
||||
// ════════════════════════════════════════════════════════════════
|
||||
|
||||
Reference in New Issue
Block a user