Skip to content

Instantly share code, notes, and snippets.

View adevinwild's full-sized avatar
🧙‍♂️
Looking for new opportunities!

adil adevinwild

🧙‍♂️
Looking for new opportunities!
View GitHub Profile
@adevinwild
adevinwild / user.service.ts
Created December 29, 2022 18:56
ExtendedUserService for Medusa
import { Service } from "medusa-extender";
import { EntityManager, FindConditions } from "typeorm";
import EventBusService from "@medusajs/medusa/dist/services/event-bus";
import { FindConfig } from "@medusajs/medusa/dist/types/common";
import {
AnalyticsConfigService,
UserService as MedusaUserService,
} from "@medusajs/medusa/dist/services";
import { User } from "../entities/user.entity";
import UserRepository from "../repositories/user.repository";
@adevinwild
adevinwild / gist:7a47848853679705163cb19faff365c5
Created December 29, 2022 18:55
UserMigration for Medusa
import { Migration } from "medusa-extender";
import { MigrationInterface, QueryRunner } from "typeorm";
@Migration()
export default class addStoreIdToUser1672134240438
implements MigrationInterface
{
name = "addStoreIdToUser1672134240438";
public async up(queryRunner: QueryRunner): Promise<void> {
@adevinwild
adevinwild / user.repository.ts
Created December 29, 2022 18:54
ExtendedUserRepository for Medusa
import { UserRepository as MedusaUserRepository } from "@medusajs/medusa/dist/repositories/user";
import { Repository as MedusaRepository, Utils } from "medusa-extender";
import { EntityRepository } from "typeorm";
import { User } from "../entities/user.entity";
@MedusaRepository({ override: MedusaUserRepository })
@EntityRepository(User)
export default class UserRepository extends Utils.repositoryMixin<
User,
MedusaUserRepository
@adevinwild
adevinwild / user.entity.ts
Created December 29, 2022 18:52
ExtenderUserEntity for Medusa.js
import { User as MedusaUser } from "@medusajs/medusa/dist";
import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
import { Entity as MedusaEntity } from "medusa-extender";
import { Store } from "../../store/entities/store.entity";
@MedusaEntity({ override: MedusaUser })
@Entity()
export class User extends MedusaUser {
@Index()
@Column({ nullable: true, type: "text" })