Skip to content

seta-alan/user-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

User Service

A standalone GraphQL service to handle user operations.

Installation

cd user-service
npm install
-- install postgresql + dbeaver
-- set the password for the built-in "postgres" user
ALTER USER postgres
  WITH ENCRYPTED PASSWORD '191102';

\c postgres

-- create the "personnel" database
CREATE DATABASE personnel
  WITH 
    OWNER = postgres
    ENCODING = 'UTF8'
    LC_COLLATE = 'en_US.utf8'
    LC_CTYPE = 'en_US.utf8'
    TEMPLATE = template0;

-- seed sample users
-- password is "JohnDoe01@" (for all sample users)
INSERT INTO "Users"
  ("userId",                               "username",        "email",                          "password",                                                     "role",      "createdAt",   "updatedAt")
VALUES
  ('a3f47e1b-4d2c-4e5f-9a11-1a2b3c4d5e6f', 'manager_olivia',  'olivia.manager@example.com',     '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MANAGER',   NOW(),         NOW()),
  ('b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e', 'manager_lucas',   'lucas.manager@example.com',      '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MANAGER',   NOW(),         NOW()),
  ('c3d4e5f6-7a8b-9c0d-1e2f-3a4b5c6d7e8f', 'manager_emily',   'emily.manager@example.com',      '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MANAGER',   NOW(),         NOW()),
  ('d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f9a', 'manager_james',   'james.manager@example.com',      '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MANAGER',   NOW(),         NOW()),
  ('e5f6a7b8-9c0d-1e2f-3a4b-5c6d7e8f9a0b', 'member_emma',     'emma.member@example.com',        '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MEMBER',    NOW(),         NOW()),
  ('f6a7b8c9-0d1e-2f3a-4b5c-6d7e8f9a0b1c', 'member_noah',     'noah.member@example.com',        '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MEMBER',    NOW(),         NOW()),
  ('a7b8c9d0-1e2f-3a4b-5c6d-7e8f9a0b1c2d', 'member_ava',      'ava.member@example.com',         '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MEMBER',    NOW(),         NOW()),
  ('b8c9d0e1-2f3a-4b5c-6d7e-8f9a0b1c2d3e', 'member_liam',     'liam.member@example.com',        '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MEMBER',    NOW(),         NOW()),
  ('c9d0e1f2-3a4b-5c6d-7e8f-9a0b1c2d3e4f', 'member_sophia',   'sophia.member@example.com',      '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MEMBER',    NOW(),         NOW()),
  ('d0e1f2a3-4b5c-6d7e-8f9a-0b1c2d3e4f5a', 'member_mason',    'mason.member@example.com',       '$2b$10$f.2V43IZDKoq3YtB2fu4IOhK762U0BVydmntsnvOMlrJeygLpzZuW', 'MEMBER',    NOW(),         NOW());

-- connect to db on dbeaver image

Usage

npm start

*open link on browser

*the documentation is on the left for reference

image

*example usage:

mutation CreateUser {
  createUser(input: {username: "john", email: "johndoe@hello.com", password: "JohnDoe01@", role: MEMBER}) {
   code
   success
   message
   errors
   user {
     userId
     username
   }
  }
}
image
mutation Login {
  login(input: {email: "johndoe@hello.com", password: "JohnDoe01@"}) {
    code
    success
    message
    errors
    accessToken
    refreshToken
  }
}
image
query User {
  user(userId: "1be478f1-f842-40fa-8f0b-ad7ecfe5db3b") {
   email
   role
   userId
   username
   createdAt 
  }
}
image
query Users {
  users(role: MEMBER) {
    userId
    username
    email
    role
    createdAt
  }
}
image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors