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!
users: [User]!
# // TODO; make this return a cursor for pagination (check Relay pagination)
credentials(grep: String): [Credentials]
}
type Credentials {
id: Int!
service: String!
username: String!
iv: String
password: String!
created: Date!
modified: Date
}
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 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!
updateMasterPassword(oldPassword: String!, newPassword: String!): Int!
}
type Query {
me: User!
}