← Back to list

hive-endpoint
by paralect
⭐ 0🍴 0📅 Jan 18, 2026
SKILL.md
name: hive-endpoint description: How to create API endpoints in Hive framework globs:
- src/resources/**/endpoints/*.js alwaysApply: false
Creating Endpoints
Location: /src/resources/{name}/endpoints/{action}.js
Template (4 Required Exports)
import { z } from 'zod';
import db from 'db';
const myService = db.services.myResource;
export const handler = async (ctx) => {
const { param } = ctx.validatedData;
// Logic here
return { result: 'data' };
};
export const middlewares = [];
export const endpoint = {
url: '/',
method: 'get',
};
export const requestSchema = z.object({
param: z.coerce.string().nullable().optional(),
});
Handler Context (ctx)
ctx.validatedData // Validated input (body + query + params)
ctx.state.user // Authenticated user
ctx.params // URL params
ctx.throw(404, 'msg') // Throw error
ctx.assert(cond, 400) // Assert or throw
Common Patterns
List:
export const handler = async (ctx) => {
const { page, perPage } = ctx.validatedData;
const { results, count } = await service.find(
{ 'user._id': ctx.state.user._id },
{ page, perPage, sort: '-createdOn' }
);
return { results, count };
};
export const endpoint = { url: '/', method: 'get' };
Create:
export const handler = async (ctx) => {
const doc = await service.create({
...ctx.validatedData,
user: ctx.state.user,
});
return doc;
};
export const endpoint = { url: '/', method: 'post' };
Update:
export const handler = async (ctx) => {
const { id, title } = ctx.validatedData;
return await service.updateOne({ _id: id }, (doc) => ({ ...doc, title }));
};
export const endpoint = { url: '/:id', method: 'put' };
Middlewares
// By name
export const middlewares = ['allowNoAuth'];
// With args
export const middlewares = [{ name: 'shouldExist', args: ['projects'] }];
// Direct function
import canEditProject from 'middlewares/canEditProject';
export const middlewares = [canEditProject((ctx) => ctx.params.projectId)];
Public Endpoint (No Auth)
export const middlewares = ['allowNoAuth'];
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon