CREATE TABLE "org_invites" (
"id" text PRIMARY KEY NOT NULL,
"organization_id" text NOT NULL,
"invited_by_id" text NOT NULL,
"email" text,
"user_id" text,
"role" text DEFAULT 'member' NOT NULL,
"token_hash" text NOT NULL,
"status" text DEFAULT 'pending' NOT NULL,
"expires_at" timestamp,
"accepted_at" timestamp,
"created_at" timestamp DEFAULT now() NOT NULL,
CONSTRAINT "org_invites_token_hash_unique" UNIQUE("token_hash")
);
--> statement-breakpoint
ALTER TABLE "org_invites" ADD CONSTRAINT "org_invites_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "org_invites" ADD CONSTRAINT "org_invites_invited_by_id_users_id_fk" FOREIGN KEY ("invited_by_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "org_invites" ADD CONSTRAINT "org_invites_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
CREATE INDEX "org_invites_org_idx" ON "org_invites" USING btree ("organization_id");--> statement-breakpoint
CREATE INDEX "org_invites_status_idx" ON "org_invites" USING btree ("status");