scalar Date
type User {
id: Int!
authUserId: String!
firstName: String
lastName: String
email: String!
vaults: [Vault!]!
created: Date!
modified: Date
}
type Vault {
id: Int!
personal: Boolean!
name: String!
credentials(grep: String): [Credentials]
paymentCards: [PaymentCard]
}
type Credentials {
id: Int!
service: String!
username: String!
iv: String
password: String!
created: Date!
modified: Date
}
type Expiry {
month: Int!
year: Int!
}
input ExpiryIn {
month: Int!
year: Int!
}
type PaymentCard {
id: Int!
iv: String!
name: String!
nameOnCard: String!
number: String!
cvv: String!
expiry: Expiry!
color: String
billingAddress: Address
created: Date!
modified: Date
}
type Address {
id: Int!
street: String!
city: String!
country: String!
state: String
zip: String!
}
input AddressIn {
street: String!
city: String!
country: String!
state: String
zip: String!
}
input PaymentCardIn {
iv: String!
name: String!
nameOnCard: String!
number: String!
cvv: String!
expiry: ExpiryIn!
color: String
billingAddress: AddressIn
}
input CredentialsIn {
service: String!
username: String!
iv: String!
passwordEncrypted: String!
}
input UserIn {
authUserId: String!
firstName: String
lastName: String
email: String!
}
input AddCredentialsIn {
vaultId: Int
credentials: CredentialsIn!
}
input AddPaymentCardIn {
vaultId: Int
payment: PaymentCardIn!
}
input AddCredentialsGroupIn {
vaultId: Int
credentials: [CredentialsIn!]!
}
input DeleteCredentialsIn {
grep: String!
index: Int
}
type Mutation {
addCredentials(input: AddCredentialsIn!): Credentials!
addCredentialsGroup(input: AddCredentialsGroupIn!): Int!
addUser(user: UserIn!): User!
deleteCredentials(input: DeleteCredentialsIn!): Int!
migrate(oldKey: String!, newKey: String!): Int!
addPaymentCard(input: AddPaymentCardIn!): PaymentCard!
deletePaymentCard(id: Int!): Int!
}
type Query {
me: User!
}