@keyro/kl-sdk-directory

0.2.6 • Public • Published

Install

yarn add @keyro/kl-sdk-directory

Usage

import { getUser } from '@keyro/kl-sdk-directory'

async foo() {
  const user = await getUser('xxxx-xxxxxx-xxxxx-xxxxxxxx') // You get all fields by default
}

async bar() {
  const user = await getUser('xxxx-xxxxxx-xxxxx-xxxxxxxx', `id avatar`) // You ask only what you want through graphql syntax
}

Doc

Features

function description returns
addResource(resourcesIds, teamId, fields) Add resources to a team Team
createOrganization(organization, fields) Create an organization Organization
createTeam(team, organizationId, fields) Create a team Team
getAllResources(filters, fields) Fetch all resources matching a given filter [Resource]
getOrganization(id, fields) Fetch an organization with id Organization
getPublicOrganization(id, fields) Fetch the public data of an organization with id Organization
getTeam(id, fields) Fetch an team with id Team
getUser(id, fields) Fetch an user with id User
joinOrganization(userId, organizationId, fields) Make a user member of an organization Organization
joinTeam(userIds, teamId, fields) Make a user member of a team Team
leaveOrganization(userId, organizationId, fields) Kick a user from an organization Organization
leaveTeam(userId, teamId, fields) Kick a user from a team Team
resourcesApps(fields) List all available resourcesApps to be use as an enumeration ResourceApp
resourcesTypes(fields) List all available resourcesTypes to be use as an enumeration ResourceType
saveProfile(user, fields) Save changes to a user profile User
saveProfilePicture(avatarUrl, fields) Specifically change the user avatar picture User
updateOrganization(organization, fields) Save changes made to an organization Organization

Objects

type Organization {
  id: ID
  name: String
  siteUri: String
  logoUri: String
  contracted: Boolean,
  description: String
  users: [User]
  paginatedUsers: PaginatedUser
  teams: [Team]
  owners: [User]
  admins: [User]
  employeesLength: Int
  employees: [User]
  createdAt: Datetime
  deletedAt: Datetime
}

input InputOrganizationFilter {
  id: ID
  name: String
}

input InputUserOrganizationCreate {
  name: String
  description: String
  contracted: Boolean,
  siteUri: String
  logoUri: String
}

input InputUserOrganizationUpdate {
  id: ID!
  name: String
  description: String
  contracted: Boolean,
  siteUri: String
  logoUri: String
}
input InputResource {
  id: ID
  name: String
  typeId: ID
  url: String
  appId: ID
}

input InputResourceFilters {
  id: ID
  appId: ID
  typeId: ID
  teamId: ID
  orgId: ID
  userId: ID
}

type Resource {
  id: ID
  name: String
  type: String
  url: String
  app: String
}

type ResourceType {
  id: ID!
  name: String!
}

type ResourceApp {
  id: ID!
  name: String!
}
input InputTeam {
  id: ID
  name: String
  organizationId: ID
}

type Team {
  id: ID
  name: String
  organizationId: ID
  members: [User]
}

type User @key(fields: "id") {
  id: ID!
  email: String!
  firstName: String
  lastName: String
  gender: Gender
  company: String
  birthdate: String
  phone: String
  zipcode: String
  city: String
  address: String
  avatar: String
  alias: String
  createdAt: Datetime
  deletedAt: Datetime
}

input InputUserProfileUpdate {
  email: String!
  firstName: String
  lastName: String
  gender: Gender
  company: String
  birthdate: String
  phone: String
  zipcode: String
  city: String
  address: String
  avatar: String
  alias: String!
}

enum Gender {
  FEMALE
  MALE
  UNKNOWN
}

type PaginatedUser {
  page: Int
  perPage: Int
  items: [User]
  count: Int
}

Readme

Keywords

Package Sidebar

Install

npm i @keyro/kl-sdk-directory

Weekly Downloads

1

Version

0.2.6

License

UNLICENSED

Unpacked Size

148 kB

Total Files

8

Last publish

Collaborators

  • bluer4v3n
  • 7hanith
  • vblitz