Skip to content

Fix naming conventions and optional/required fields in company GraphQL schema #447

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 22, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 18 additions & 19 deletions design-documents/graph-ql/coverage/b2b/company.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@ Delete mutations return a field indicating success or failure. In the case of fa
```graphql
type Query {
company: Company @doc(description: "Company assigned to the currently authenticated user")
checkCompanyEmail(email: String!): CompanyEmailCheckResponse @doc(description: "Check if an email is valid for company registration")
checkCompanyAdminEmail(email: String!): CompanyAdminEmailCheckResponse @doc(description: "Check if an email is valid for company admin registration")
checkCompanyUserEmail(email: String!): CompanyUserEmailCheckResponse @doc(description: "Check if an email is valid for company user registration")
checkCompanyRoleName(name: String!): CompanyRoleNameCheckResponse @doc(description: "Check if a role name is valid for company")
isCompanyEmailAvailable(email: String!): IsCompanyEmailAvailableOutput @doc(description: "Check if an email is valid for company registration")
isCompanyAdminEmailAvailable(email: String!): IsCompanyAdminEmailAvailableOutput @doc(description: "Check if an email is valid for company admin registration")
isCompanyUserEmailAvailable(email: String!): IsCompanyUserEmailAvailableOutput @doc(description: "Check if an email is valid for company user registration")
isCompanyRoleNameAvailable(name: String!): IsCompanyRoleNameAvailableOutput @doc(description: "Check if a role name is valid for company")
}

type Company @doc(description: "Company entity output data schema.") {
uid: ID! @doc(description: "Company id.")
name: String @doc(description: "Company name.")
email: String @doc(description: "Company email address.")
legal_name: String @doc(description: "Company legal name.")
vat_id: String @doc(description: "Company VAT/TAX id.")
vat_tax_id: String @doc(description: "Company VAT/TAX id.")
reseller_id: String @doc(description: "Company re-seller id.")
legal_address: CompanyLegalAddress @doc(description: "Company legal address.")
company_admin: Customer @doc(description: "An object containing information about Company Administrator.")
Expand Down Expand Up @@ -74,14 +74,14 @@ type CompanySalesRepresentative @doc(description: "Company sales representative
}

type CompanyUsers @doc(description: "Output data schema for an object returned by a Company users search query.") {
items: [Customer] @doc(description: "An array of 'CompanyUser' objects that match the specified search criteria.")
total_count: Int @doc(description: "The number of objects returned.")
items: [Customer]! @doc(description: "An array of 'CompanyUser' objects that match the specified search criteria.")
total_count: Int! @doc(description: "The number of objects returned.")
page_info: SearchResultPageInfo @doc(description: "Pagination meta data.")
}

type CompanyRoles @doc(description: "Output data schema for an object returned by a Company roles search query.") {
items: [CompanyRole] @doc(description: "A list of company roles that match the specified search criteria.")
total_count: Int @doc(description: "The total number of objects matching the specified filter.")
items: [CompanyRole]! @doc(description: "A list of company roles that match the specified search criteria.")
total_count: Int! @doc(description: "The total number of objects matching the specified filter.")
page_info: SearchResultPageInfo @doc(description: "Pagination meta data.")
}

Expand All @@ -95,24 +95,24 @@ type CompanyRole @doc(description: "Company role output data schema returned in
type CompanyAclResource @doc(description: "Output data schema for an object with Role permission resource information.") {
uid: ID! @doc(description: "ACL resource id.")
text: String @doc(description: "ACL resource label.")
sortOrder: Int @doc(description: "ACL resource sort order.")
sort_order: Int @doc(description: "ACL resource sort order.")
children: [CompanyAclResource!] @doc(description: "An array of sub-resources.")
}

type CompanyRoleNameCheckResponse @doc(description: "Response object schema for a role name validation query.") {
isNameValid: Boolean @doc(description: "Role name validation result")
type IsCompanyRoleNameAvailableOutput @doc(description: "Response object schema for a role name validation query.") {
is_role_name_available: Boolean! @doc(description: "Role name validation result")
}

type CompanyUserEmailCheckResponse @doc(description: "Response object schema for a Company User email validation query.") {
isEmailValid: Boolean @doc(description: "Email validation result")
type IsCompanyUserEmailAvailableOutput @doc(description: "Response object schema for a Company User email validation query.") {
is_email_available: Boolean! @doc(description: "Email validation result")
}

type CompanyAdminEmailCheckResponse @doc(description: "Response object schema for a Company Admin email validation query.") {
isEmailValid: Boolean @doc(description: "Email validation result")
type IsCompanyAdminEmailAvailableOutput @doc(description: "Response object schema for a Company Admin email validation query.") {
is_email_available: Boolean! @doc(description: "Email validation result")
}

type CompanyEmailCheckResponse @doc(description: "Response object schema for a Company email validation query.") {
isEmailValid: Boolean @doc(description: "Email validation result")
type IsCompanyEmailAvailableOutput @doc(description: "Response object schema for a Company email validation query.") {
is_email_available: Boolean! @doc(description: "Email validation result")
}

union CompanyStructureEntity = CompanyTeam | Customer
Expand Down Expand Up @@ -209,7 +209,6 @@ type UpdateCompanyStructureOutput @doc(description: "Update company structure ou
company: Company! @doc(description: "Updated company instance.")
}


input CompanyCreateInput @doc(description: "Defines the Company input data schema for creating a new entity."){
company_name: String! @doc(description: "Company name. Required.")
company_email: String! @doc(description: "Company email address. Required.")
Expand Down