I did two days work to run laravel-websockets on my server. It will be nice to share with you.
Laravel WebSockets can be installed via composer:
const openCartBtn = document.querySelector(".open-cart"); | |
const closeCartBtn = document.querySelector(".close-cart"); | |
const clearCartBtn = document.querySelector(".clear-cart"); | |
const cartDOM = document.querySelector(".cart"); | |
const cartOverlay = document.querySelector(".cart-overlay"); | |
const cartItems = document.querySelector(".cart-items"); | |
const cartTotal = document.querySelector(".cart-total"); | |
const checkoutTotal = document.querySelector(".checkout-total"); | |
const itemTotal = document.querySelector(".item-total"); | |
const cartContent = document.querySelector(".cart-content"); |
import { AccountsClient } from '@accounts/client'; | |
import { LoginResult, CreateUser } from '@accounts/types'; | |
import { AccountsClientPasswordOptions } from './types'; | |
export declare class AccountsClientPassword { | |
private client; | |
private options; | |
constructor(client: AccountsClient, options?: AccountsClientPasswordOptions); | |
/** | |
* Create a new user. | |
*/ |
import { AccountsClient } from '@accounts/client'; | |
import { LoginResult, CreateUser } from '@accounts/types'; | |
import { AccountsClientPasswordOptions } from './types'; | |
export declare class AccountsClientPassword { | |
private client; | |
private options; | |
constructor(client: AccountsClient, options?: AccountsClientPasswordOptions); | |
/** | |
* Create a new user. | |
*/ |
import { Injectable, OnInit } from '@angular/core'; | |
import { AccountsClient } from '@accounts/client'; | |
@Injectable({ | |
providedIn: 'root' | |
}) | |
export class LoginService implements OnInit { | |
public userLoginStatus = 'defaultLoginData'; |
import 'reflect-metadata'; | |
import { MongoClient } from 'mongodb'; | |
import { AccountsServer } from '@accounts/server'; | |
import { AccountsPassword } from '@accounts/password'; | |
import AccountsMongoDB from '@accounts/mongo'; | |
import { ApolloServer, attachDirectiveResolvers } from 'apollo-server'; | |
import { AppModule } from '@modules/app/app.module'; | |
import * as dotenv from "dotenv"; | |
dotenv.config(); |
import { QueryResolvers } from "@models"; | |
import { UsersProvider } from "../providers/users.provider"; | |
export const Query: QueryResolvers = { | |
allUsers: (root, args, { injector }) => injector.get(UsersProvider).getAllUsers(), | |
userById: (_, { id }, { injector }) => injector.get(UsersProvider).getUserById(id), | |
userByUsername: (_, { username }, { injector }) => injector.get(UsersProvider).getUserByUsername(username), | |
getUserByToken: (_, { id }, { injector }) => injector.get(UsersProvider).getUserByToken(id) | |
} |
import { Resolver, Query, Ctx, Mutation, Arg, FieldResolver, Root } from "type-graphql"; | |
import { User, RegisterInput } from '../entities/User'; | |
import * as crypto from "crypto-js"; | |
import { File } from "../entities/File"; | |
import { GraphQLUpload } from 'graphql-upload'; | |
import { createWriteStream } from "fs"; | |
@Resolver(User) | |
export class UserResolver { |
import { Resolver, Query, Ctx, Mutation, Arg, FieldResolver, Root } from 'type-graphql'; | |
import { User, CreateUserInput } from '../entities/User'; | |
import * as crypto from 'crypto-js'; | |
import { File } from '../entities/File'; | |
import { GraphQLUpload } from 'graphql-upload'; | |
import { createWriteStream } from 'fs'; | |
import { Like, getRepository } from 'typeorm'; | |
@Resolver(User) | |
export class UserResolver { |
import { Resolver, Query, Args, Arg, Mutation } from "type-graphql"; | |
import { Book, BookFilter, BooksFilter, CreateBookInput } from './book.entity'; | |
import { Like } from 'typeorm'; | |
@Resolver(Book) | |
export class BookResolver { | |
@Query(returns => [Book]) | |
async allBooks( | |
@Args() { title, skip, take }: BooksFilter |