diff --git a/test/snapshots/blueprint.test.ts.md b/test/snapshots/blueprint.test.ts.md index b4cb2f9..26642f5 100644 --- a/test/snapshots/blueprint.test.ts.md +++ b/test/snapshots/blueprint.test.ts.md @@ -393,6 +393,334 @@ Generated by [AVA](https://avajs.dev). }, title: 'List foos', }, + { + codeSamples: [ + { + code: { + javascript: { + request: 'await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})', + request_syntax: 'javascript', + response: '{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}', + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `foos->get(foo_id:"8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'php', + response: '{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}', + response_syntax: 'json', + title: 'PHP', + }, + python: { + request: 'seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")', + request_syntax: 'python', + response: 'Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_property=None)', + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: 'seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")', + request_syntax: 'ruby', + response: '{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_property" => nil}', + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: 'seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"', + request_syntax: 'bash', + response: '{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}', + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to get a foo', + request: { + parameters: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + }, + path: '/foos/get', + }, + response: { + body: { + foo: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_property: null, + }, + }, + }, + title: 'Get a foo by ID', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isUndocumented: false, + name: 'get', + path: '/foos/get', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'Get a foo by ID.', + resourceType: 'foo', + responseKey: 'foo', + responseType: 'resource', + }, + title: 'Get a foo', + }, + { + codeSamples: [ + { + code: { + javascript: { + request: 'await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})', + request_syntax: 'javascript', + response: '{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}', + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `foos->get(foo_id:"8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'php', + response: '{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}', + response_syntax: 'json', + title: 'PHP', + }, + python: { + request: 'seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")', + request_syntax: 'python', + response: 'Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_property=None)', + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: 'seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")', + request_syntax: 'ruby', + response: '{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_property" => nil}', + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: 'seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"', + request_syntax: 'bash', + response: '{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}', + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to get a foo', + request: { + parameters: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + }, + path: '/foos/get', + }, + response: { + body: { + foo: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_property: null, + }, + }, + }, + title: 'Get a foo by ID', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isUndocumented: false, + name: 'get', + path: '/foos/get', + request: { + methods: [ + 'POST', + ], + parameters: [], + preferredMethod: 'POST', + semanticMethod: 'POST', + }, + response: { + description: 'Get a foo by ID.', + resourceType: 'foo', + responseKey: 'foo', + responseType: 'resource', + }, + title: 'Get a foo', + }, + { + codeSamples: [ + { + code: { + javascript: { + request: 'await seam.foos.list()', + request_syntax: 'javascript', + response: '[{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]', + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `foos->list()`, + request_syntax: 'php', + response: '[{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]', + response_syntax: 'json', + title: 'PHP', + }, + python: { + request: 'seam.foos.list()', + request_syntax: 'python', + response: '[Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_property=None)]', + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: 'seam.foos.list()', + request_syntax: 'ruby', + response: '[{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_property" => nil}]', + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: 'seam foos list ', + request_syntax: 'bash', + response: '[{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]', + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to list foos', + request: { + parameters: {}, + path: '/foos/list', + }, + response: { + body: { + foos: [ + { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_property: null, + }, + ], + }, + }, + title: 'List foos', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isUndocumented: false, + name: 'list', + path: '/foos/list', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'List all foos.', + resourceType: 'foo', + responseKey: 'foos', + responseType: 'resource_list', + }, + title: 'List foos', + }, + { + codeSamples: [ + { + code: { + javascript: { + request: 'await seam.foos.list()', + request_syntax: 'javascript', + response: '[{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]', + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `foos->list()`, + request_syntax: 'php', + response: '[{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]', + response_syntax: 'json', + title: 'PHP', + }, + python: { + request: 'seam.foos.list()', + request_syntax: 'python', + response: '[Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_property=None)]', + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: 'seam.foos.list()', + request_syntax: 'ruby', + response: '[{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_property" => nil}]', + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: 'seam foos list ', + request_syntax: 'bash', + response: '[{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]', + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to list foos', + request: { + parameters: {}, + path: '/foos/list', + }, + response: { + body: { + foos: [ + { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_property: null, + }, + ], + }, + }, + title: 'List foos', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isUndocumented: false, + name: 'list', + path: '/foos/list', + request: { + methods: [ + 'POST', + ], + parameters: [], + preferredMethod: 'POST', + semanticMethod: 'POST', + }, + response: { + description: 'List all foos.', + resourceType: 'foo', + responseKey: 'foos', + responseType: 'resource_list', + }, + title: 'List foos', + }, ], name: 'foos', namespace: { @@ -416,56 +744,424 @@ Generated by [AVA](https://avajs.dev). properties: [ { deprecationMessage: '', - description: 'Foo id', - format: 'id', + description: 'Foo id', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'foo_id', + }, + { + deprecationMessage: '', + description: 'Foo name', + format: 'string', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'name', + }, + { + deprecationMessage: 'This prop will be removed in the next version', + description: 'This prop is deprecated', + format: 'string', + isDeprecated: true, + isUndocumented: false, + jsonType: 'string', + name: 'deprecated_prop', + }, + { + deprecationMessage: '', + description: 'This prop is undocumented', + format: 'string', + isDeprecated: false, + isUndocumented: true, + jsonType: 'string', + name: 'undocumented_prop', + }, + { + deprecationMessage: '', + description: 'This prop is nullable', + format: 'string', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'nullable_property', + }, + ], + resourceType: 'foo', + }, + }, + routes: [ + { + endpoints: [ + { + codeSamples: [ + { + code: { + javascript: { + request: `// javascript␊ + await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + request_syntax: 'javascript', + response: `// javascript␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}`, + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->get(foo_id:"8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'php', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}`, + response_syntax: 'json', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'python', + response: `// python␊ + Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_property=None)`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'ruby', + response: `// ruby␊ + {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_property" => nil}`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, + request_syntax: 'bash', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to get a foo', + request: { + parameters: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + }, + path: '/foos/get', + }, + response: { + body: { + foo: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_property: null, + }, + }, + }, + title: 'Get a foo by ID', + }, + ], + deprecationMessage: '', + description: '', + isDeprecated: false, + isUndocumented: false, + name: 'get', + path: '/foos/get', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'Get a foo by ID.', + resourceType: 'foo', + responseKey: 'foo', + responseType: 'resource', + }, + title: 'Get a foo', + }, + { + codeSamples: [ + { + code: { + javascript: { + request: `// javascript␊ + await seam.foos.get({"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33"})`, + request_syntax: 'javascript', + response: `// javascript␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}`, + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->get(foo_id:"8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'php', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}`, + response_syntax: 'json', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.get(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'python', + response: `// python␊ + Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_property=None)`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.get(foo_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33")`, + request_syntax: 'ruby', + response: `// ruby␊ + {"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_property" => nil}`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos get --foo_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33"`, + request_syntax: 'bash', + response: `// json␊ + {"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to get a foo', + request: { + parameters: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + }, + path: '/foos/get', + }, + response: { + body: { + foo: { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_property: null, + }, + }, + }, + title: 'Get a foo by ID', + }, + ], + deprecationMessage: '', + description: '', isDeprecated: false, isUndocumented: false, - jsonType: 'string', - name: 'foo_id', + name: 'get', + path: '/foos/get', + request: { + methods: [ + 'POST', + ], + parameters: [], + preferredMethod: 'POST', + semanticMethod: 'POST', + }, + response: { + description: 'Get a foo by ID.', + resourceType: 'foo', + responseKey: 'foo', + responseType: 'resource', + }, + title: 'Get a foo', }, { + codeSamples: [ + { + code: { + javascript: { + request: `// javascript␊ + await seam.foos.list()`, + request_syntax: 'javascript', + response: `// javascript␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]`, + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->list()`, + request_syntax: 'php', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]`, + response_syntax: 'json', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.list()`, + request_syntax: 'python', + response: `// python␊ + [Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_property=None)]`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.list()`, + request_syntax: 'ruby', + response: `// ruby␊ + [{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_property" => nil}]`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos list `, + request_syntax: 'bash', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to list foos', + request: { + parameters: {}, + path: '/foos/list', + }, + response: { + body: { + foos: [ + { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_property: null, + }, + ], + }, + }, + title: 'List foos', + }, + ], deprecationMessage: '', - description: 'Foo name', - format: 'string', + description: '', isDeprecated: false, isUndocumented: false, - jsonType: 'string', - name: 'name', - }, - { - deprecationMessage: 'This prop will be removed in the next version', - description: 'This prop is deprecated', - format: 'string', - isDeprecated: true, - isUndocumented: false, - jsonType: 'string', - name: 'deprecated_prop', - }, - { - deprecationMessage: '', - description: 'This prop is undocumented', - format: 'string', - isDeprecated: false, - isUndocumented: true, - jsonType: 'string', - name: 'undocumented_prop', + name: 'list', + path: '/foos/list', + request: { + methods: [ + 'GET', + ], + parameters: [], + preferredMethod: 'GET', + semanticMethod: 'GET', + }, + response: { + description: 'List all foos.', + resourceType: 'foo', + responseKey: 'foos', + responseType: 'resource_list', + }, + title: 'List foos', }, { + codeSamples: [ + { + code: { + javascript: { + request: `// javascript␊ + await seam.foos.list()`, + request_syntax: 'javascript', + response: `// javascript␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]`, + response_syntax: 'javascript', + title: 'JavaScript', + }, + php: { + request: `// php␊ + foos->list()`, + request_syntax: 'php', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]`, + response_syntax: 'json', + title: 'PHP', + }, + python: { + request: `// python␊ + seam.foos.list()`, + request_syntax: 'python', + response: `// python␊ + [Foo(foo_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33", name="Best foo", nullable_property=None)]`, + response_syntax: 'python', + title: 'Python', + }, + ruby: { + request: `// ruby␊ + seam.foos.list()`, + request_syntax: 'ruby', + response: `// ruby␊ + [{"foo_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33","name" => "Best foo","nullable_property" => nil}]`, + response_syntax: 'ruby', + title: 'Ruby', + }, + seam_cli: { + request: `// bash␊ + seam foos list `, + request_syntax: 'bash', + response: `// json␊ + [{"foo_id":"8d7e0b3a-b889-49a7-9164-4b71a0506a33","name":"Best foo","nullable_property":null}]`, + response_syntax: 'json', + title: 'Seam CLI', + }, + }, + description: 'This is the way to list foos', + request: { + parameters: {}, + path: '/foos/list', + }, + response: { + body: { + foos: [ + { + foo_id: '8d7e0b3a-b889-49a7-9164-4b71a0506a33', + name: 'Best foo', + nullable_property: null, + }, + ], + }, + }, + title: 'List foos', + }, + ], deprecationMessage: '', - description: 'This prop is nullable', - format: 'string', + description: '', isDeprecated: false, isUndocumented: false, - jsonType: 'string', - name: 'nullable_property', + name: 'list', + path: '/foos/list', + request: { + methods: [ + 'POST', + ], + parameters: [], + preferredMethod: 'POST', + semanticMethod: 'POST', + }, + response: { + description: 'List all foos.', + resourceType: 'foo', + responseKey: 'foos', + responseType: 'resource_list', + }, + title: 'List foos', }, - ], - resourceType: 'foo', - }, - }, - routes: [ - { - endpoints: [ { codeSamples: [ { diff --git a/test/snapshots/blueprint.test.ts.snap b/test/snapshots/blueprint.test.ts.snap index 2c55dba..66778dc 100644 Binary files a/test/snapshots/blueprint.test.ts.snap and b/test/snapshots/blueprint.test.ts.snap differ diff --git a/test/snapshots/seam-blueprint.test.ts.md b/test/snapshots/seam-blueprint.test.ts.md index d9a3620..884d46e 100644 --- a/test/snapshots/seam-blueprint.test.ts.md +++ b/test/snapshots/seam-blueprint.test.ts.md @@ -211,10 +211,10 @@ Generated by [AVA](https://avajs.dev). }, { deprecationMessage: '', - description: 'Warnings associated with the `acs_system`.', + description: '', format: 'list', isDeprecated: false, - isUndocumented: false, + isUndocumented: true, jsonType: 'array', name: 'warnings', }, @@ -230,6 +230,129 @@ Generated by [AVA](https://avajs.dev). ], resourceType: 'acs_system', }, + event: { + description: '', + properties: [ + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'acs_credential_id', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'acs_system_id', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'acs_user_id', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'action_attempt_id', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'client_session_id', + }, + { + deprecationMessage: '', + description: '', + format: 'datetime', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'created_at', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'device_id', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'enrollment_automation_id', + }, + { + deprecationMessage: '', + description: '', + format: 'string', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'event_description', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'event_id', + }, + { + deprecationMessage: '', + description: '', + format: 'string', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'event_type', + }, + { + deprecationMessage: '', + description: '', + format: 'datetime', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'occurred_at', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isUndocumented: false, + jsonType: 'string', + name: 'workspace_id', + }, + ], + resourceType: 'event', + }, }, routes: [ { @@ -357,6 +480,377 @@ Generated by [AVA](https://avajs.dev). path: '/acs/systems', subroutes: [], }, + { + endpoints: [ + { + codeSamples: [], + deprecationMessage: '', + description: '', + isDeprecated: false, + isUndocumented: false, + name: 'get', + path: '/events/get', + request: { + methods: [ + 'POST', + ], + parameters: [ + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'string', + name: 'device_id', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'string', + name: 'event_id', + }, + { + deprecationMessage: '', + description: '', + format: 'string', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'string', + name: 'event_type', + }, + ], + preferredMethod: 'POST', + semanticMethod: 'POST', + }, + response: { + description: 'OK', + responseType: 'void', + }, + title: '', + }, + { + codeSamples: [], + deprecationMessage: '', + description: '', + isDeprecated: false, + isUndocumented: false, + name: 'list', + path: '/events/list', + request: { + methods: [ + 'POST', + ], + parameters: [ + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'string', + name: 'access_code_id', + }, + { + deprecationMessage: '', + description: '', + format: 'list', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'array', + name: 'access_code_ids', + }, + { + deprecationMessage: '', + description: '', + format: 'list', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'array', + name: 'between', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'string', + name: 'connected_account_id', + }, + { + deprecationMessage: '', + description: '', + format: 'id', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'string', + name: 'device_id', + }, + { + deprecationMessage: '', + description: '', + format: 'list', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'array', + name: 'device_ids', + }, + { + deprecationMessage: '', + description: '', + format: 'enum', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'string', + name: 'event_type', + values: [ + { + name: 'device.accessory_keypad_connected', + }, + { + name: 'device.accessory_keypad_disconnected', + }, + { + name: 'device.connected', + }, + { + name: 'device.unmanaged.connected', + }, + { + name: 'device.disconnected', + }, + { + name: 'device.unmanaged.disconnected', + }, + { + name: 'device.converted_to_unmanaged', + }, + { + name: 'device.unmanaged.converted_to_managed', + }, + { + name: 'device.removed', + }, + { + name: 'device.deleted', + }, + { + name: 'device.tampered', + }, + { + name: 'device.low_battery', + }, + { + name: 'device.battery_status_changed', + }, + { + name: 'device.third_party_integration_detected', + }, + { + name: 'device.third_party_integration_no_longer_detected', + }, + { + name: 'device.salto.privacy_mode_activated', + }, + { + name: 'device.salto.privacy_mode_deactivated', + }, + { + name: 'device.connection_became_flaky', + }, + { + name: 'device.connection_stabilized', + }, + { + name: 'device.error.subscription_required', + }, + { + name: 'device.error.subscription_required.resolved', + }, + { + name: 'access_code.created', + }, + { + name: 'access_code.changed', + }, + { + name: 'access_code.scheduled_on_device', + }, + { + name: 'access_code.set_on_device', + }, + { + name: 'access_code.deleted', + }, + { + name: 'access_code.removed_from_device', + }, + { + name: 'access_code.failed_to_set_on_device', + }, + { + name: 'access_code.delay_in_setting_on_device', + }, + { + name: 'access_code.failed_to_remove_from_device', + }, + { + name: 'access_code.delay_in_removing_from_device', + }, + { + name: 'access_code.deleted_external_to_seam', + }, + { + name: 'access_code.modified_external_to_seam', + }, + { + name: 'access_code.unmanaged.converted_to_managed', + }, + { + name: 'access_code.unmanaged.failed_to_convert_to_managed', + }, + { + name: 'access_code.unmanaged.created', + }, + { + name: 'access_code.unmanaged.removed', + }, + { + name: 'lock.locked', + }, + { + name: 'lock.unlocked', + }, + { + name: 'lock.access_denied', + }, + { + name: 'phone.deactivated', + }, + { + name: 'connected_account.connected', + }, + { + name: 'connected_account.successful_login', + }, + { + name: 'connected_account.created', + }, + { + name: 'connected_account.deleted', + }, + { + name: 'connected_account.disconnected', + }, + { + name: 'connected_account.completed_first_sync', + }, + { + name: 'connected_account.completed_first_sync_after_reconnection', + }, + { + name: 'connect_webview.login_succeeded', + }, + { + name: 'connect_webview.login_failed', + }, + { + name: 'noise_sensor.noise_threshold_triggered', + }, + { + name: 'access_code.backup_access_code_pulled', + }, + { + name: 'acs_system.connected', + }, + { + name: 'acs_user.deleted', + }, + { + name: 'acs_credential.deleted', + }, + { + name: 'enrollment_automation.deleted', + }, + { + name: 'client_session.deleted', + }, + { + name: 'action_attempt.lock_door.succeeded', + }, + { + name: 'action_attempt.lock_door.failed', + }, + { + name: 'action_attempt.unlock_door.succeeded', + }, + { + name: 'action_attempt.unlock_door.failed', + }, + ], + }, + { + deprecationMessage: '', + description: '', + format: 'list', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'array', + name: 'event_types', + }, + { + deprecationMessage: '', + description: '', + format: 'number', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'number', + name: 'limit', + }, + { + deprecationMessage: '', + description: '', + format: 'string', + isDeprecated: false, + isRequired: false, + isUndocumented: false, + jsonType: 'string', + name: 'since', + }, + ], + preferredMethod: 'POST', + semanticMethod: 'POST', + }, + response: { + description: 'OK', + responseType: 'void', + }, + title: '', + }, + ], + name: 'events', + namespace: { + path: '/events', + }, + path: '/events', + subroutes: [], + }, ], title: 'Seam Connect', } diff --git a/test/snapshots/seam-blueprint.test.ts.snap b/test/snapshots/seam-blueprint.test.ts.snap index 7c69502..f020df8 100644 Binary files a/test/snapshots/seam-blueprint.test.ts.snap and b/test/snapshots/seam-blueprint.test.ts.snap differ