ocean-brain 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp.js +151 -37
- package/package.json +5 -5
- package/scripts/postinstall-prisma.mjs +3 -2
- package/server/client/dist/assets/Calendar-CSXEuWmQ.js +25 -0
- package/server/client/dist/assets/Callout-Ap1OcxWN.js +1 -0
- package/server/client/dist/assets/Graph-C0Ax9qjI.js +1 -0
- package/server/client/dist/assets/{Image-ZxF459sC.js → Image-CSbcG-5a.js} +1 -1
- package/server/client/dist/assets/{Image.es-CFTbON7k.js → Image.es-Fbe7aDDo.js} +1 -1
- package/server/client/dist/assets/{ModalActionRow-Hg6MY61u.js → ModalActionRow-DjI5b4bl.js} +1 -1
- package/server/client/dist/assets/Note-BY6WgYLq.js +1 -0
- package/server/client/dist/assets/Note-W4f6H9K0.css +1 -0
- package/server/client/dist/assets/Reminders-vRksvSQE.js +1 -0
- package/server/client/dist/assets/Search-Cq4tuiJO.js +1 -0
- package/server/client/dist/assets/{SurfaceCard-BV6y4bCo.js → SurfaceCard-Br6TjX5W.js} +1 -1
- package/server/client/dist/assets/Tag-ARDLA-Pb.js +1 -0
- package/server/client/dist/assets/TagNotes-CDGVrCJU.js +1 -0
- package/server/client/dist/assets/{Trash.es-CPtRLE0y.js → Trash.es-BfCEiL3-.js} +1 -1
- package/server/client/dist/assets/ViewNotes-ZBOQ1adH.js +1 -0
- package/server/client/dist/assets/Views-DQHPfdwM.js +1 -0
- package/server/client/dist/assets/{image.api-Dsrx9S-G.js → image.api-DGXlQ_Ca.js} +1 -1
- package/server/client/dist/assets/index-B28TO4FC.js +1 -0
- package/server/client/dist/assets/{index-CD2bFEqK.css → index-Bm9l_L20.css} +1 -1
- package/server/client/dist/assets/index-Bsx4P7EA.js +210 -0
- package/server/client/dist/assets/manage-image-Dg297A_h.js +1 -0
- package/server/client/dist/assets/manage-image-detail-hk6jWyiB.js +1 -0
- package/server/client/dist/assets/mcp-CSjmBjFR.js +1 -0
- package/server/client/dist/assets/{note-core-BCgMq5QA.js → note-core-GgFcksAF.js} +1 -1
- package/server/client/dist/assets/{note-vendor-BofYbzmZ.js → note-vendor-5N5mRkIT.js} +3 -3
- package/server/client/dist/assets/{placeholder-MNsco0AT.js → placeholder-Bmiowo28.js} +4 -4
- package/server/client/dist/assets/trash-CM7SbVtW.js +1 -0
- package/server/client/dist/assets/{useReminderMutate-yJak8FzP.js → useReminderMutate-DsIvVpCQ.js} +2 -2
- package/server/client/dist/assets/view-dashboard-CP8nhfxQ.js +90 -0
- package/server/client/dist/index.html +4 -4
- package/server/dist/app.js +8 -84
- package/server/dist/app.js.map +1 -1
- package/server/dist/features/auth/http/api.js +43 -0
- package/server/dist/features/auth/http/api.js.map +1 -0
- package/server/dist/features/auth/http/login-page.js +28 -0
- package/server/dist/features/auth/http/login-page.js.map +1 -0
- package/server/dist/features/auth/http/pages.js +50 -0
- package/server/dist/features/auth/http/pages.js.map +1 -0
- package/server/dist/features/auth/service.js +94 -0
- package/server/dist/features/auth/service.js.map +1 -0
- package/server/dist/features/cache/graphql/cache.field.resolver.js +5 -0
- package/server/dist/features/cache/graphql/cache.field.resolver.js.map +1 -0
- package/server/dist/features/cache/graphql/cache.mutation.resolver.js +49 -0
- package/server/dist/features/cache/graphql/cache.mutation.resolver.js.map +1 -0
- package/server/dist/features/cache/graphql/cache.query.resolver.js +21 -0
- package/server/dist/features/cache/graphql/cache.query.resolver.js.map +1 -0
- package/server/dist/features/cache/graphql/cache.resolver.js +12 -0
- package/server/dist/features/cache/graphql/cache.resolver.js.map +1 -0
- package/server/dist/features/cache/graphql/cache.type-defs.js +32 -0
- package/server/dist/features/cache/graphql/cache.type-defs.js.map +1 -0
- package/server/dist/features/cache/graphql/index.js +21 -0
- package/server/dist/features/cache/graphql/index.js.map +1 -0
- package/server/dist/features/image/graphql/image.field.resolver.js +14 -0
- package/server/dist/features/image/graphql/image.field.resolver.js.map +1 -0
- package/server/dist/features/image/graphql/image.mutation.resolver.js +21 -0
- package/server/dist/features/image/graphql/image.mutation.resolver.js.map +1 -0
- package/server/dist/features/image/graphql/image.query.resolver.js +40 -0
- package/server/dist/features/image/graphql/image.query.resolver.js.map +1 -0
- package/server/dist/features/image/graphql/image.resolver.js +12 -0
- package/server/dist/features/image/graphql/image.resolver.js.map +1 -0
- package/server/dist/features/image/graphql/image.type-defs.js +31 -0
- package/server/dist/features/image/graphql/image.type-defs.js.map +1 -0
- package/server/dist/features/image/graphql/index.js +16 -0
- package/server/dist/features/image/graphql/index.js.map +1 -0
- package/server/dist/features/image/http/upload.js +48 -0
- package/server/dist/features/image/http/upload.js.map +1 -0
- package/server/dist/features/image/services/delete.js +52 -0
- package/server/dist/features/image/services/delete.js.map +1 -0
- package/server/dist/{modules/remote-image.js → features/image/services/remote-fetch.js} +1 -1
- package/server/dist/features/image/services/remote-fetch.js.map +1 -0
- package/server/dist/{modules/image-upload.js → features/image/services/upload.js} +4 -8
- package/server/dist/features/image/services/upload.js.map +1 -0
- package/server/dist/{views/mcp-admin.js → features/mcp-admin/http/handlers.js} +3 -3
- package/server/dist/features/mcp-admin/http/handlers.js.map +1 -0
- package/server/dist/{modules/mcp-admin.js → features/mcp-admin/service.js} +3 -3
- package/server/dist/features/mcp-admin/service.js.map +1 -0
- package/server/dist/features/note/graphql/index.js +8 -0
- package/server/dist/features/note/graphql/index.js.map +1 -0
- package/server/dist/features/note/graphql/note.field.resolver.js +12 -0
- package/server/dist/features/note/graphql/note.field.resolver.js.map +1 -0
- package/server/dist/features/note/graphql/note.graphql.shared.js +23 -0
- package/server/dist/features/note/graphql/note.graphql.shared.js.map +1 -0
- package/server/dist/features/note/graphql/note.mutation.resolver.js +140 -0
- package/server/dist/features/note/graphql/note.mutation.resolver.js.map +1 -0
- package/server/dist/features/note/graphql/note.query.resolver.js +382 -0
- package/server/dist/features/note/graphql/note.query.resolver.js.map +1 -0
- package/server/dist/features/note/graphql/note.resolver.js +14 -0
- package/server/dist/features/note/graphql/note.resolver.js.map +1 -0
- package/server/dist/features/note/graphql/note.type-defs.js +184 -0
- package/server/dist/features/note/graphql/note.type-defs.js.map +1 -0
- package/server/dist/{views/note.js → features/note/http/mcp.js} +27 -15
- package/server/dist/features/note/http/mcp.js.map +1 -0
- package/server/dist/{modules/note-authoring.js → features/note/services/authoring.js} +25 -7
- package/server/dist/features/note/services/authoring.js.map +1 -0
- package/server/dist/{modules/note-cleanup.js → features/note/services/cleanup.js} +14 -23
- package/server/dist/features/note/services/cleanup.js.map +1 -0
- package/server/dist/features/note/services/search-backfill.js +84 -0
- package/server/dist/features/note/services/search-backfill.js.map +1 -0
- package/server/dist/features/note/services/search.js +197 -0
- package/server/dist/features/note/services/search.js.map +1 -0
- package/server/dist/{modules/note-snapshot.js → features/note/services/snapshot.js} +51 -49
- package/server/dist/features/note/services/snapshot.js.map +1 -0
- package/server/dist/features/note/services/tag-filter.js +18 -0
- package/server/dist/features/note/services/tag-filter.js.map +1 -0
- package/server/dist/{modules/note-trash.js → features/note/services/trash.js} +28 -23
- package/server/dist/features/note/services/trash.js.map +1 -0
- package/server/dist/features/placeholder/graphql/index.js +27 -0
- package/server/dist/features/placeholder/graphql/index.js.map +1 -0
- package/server/dist/features/placeholder/graphql/placeholder.field.resolver.js +5 -0
- package/server/dist/features/placeholder/graphql/placeholder.field.resolver.js.map +1 -0
- package/server/dist/features/placeholder/graphql/placeholder.mutation.resolver.js +72 -0
- package/server/dist/features/placeholder/graphql/placeholder.mutation.resolver.js.map +1 -0
- package/server/dist/features/placeholder/graphql/placeholder.query.resolver.js +36 -0
- package/server/dist/features/placeholder/graphql/placeholder.query.resolver.js.map +1 -0
- package/server/dist/features/placeholder/graphql/placeholder.resolver.js +12 -0
- package/server/dist/features/placeholder/graphql/placeholder.resolver.js.map +1 -0
- package/server/dist/features/placeholder/graphql/placeholder.type-defs.js +50 -0
- package/server/dist/features/placeholder/graphql/placeholder.type-defs.js.map +1 -0
- package/server/dist/features/reminder/graphql/index.js +27 -0
- package/server/dist/features/reminder/graphql/index.js.map +1 -0
- package/server/dist/features/reminder/graphql/reminder.field.resolver.js +10 -0
- package/server/dist/features/reminder/graphql/reminder.field.resolver.js.map +1 -0
- package/server/dist/features/reminder/graphql/reminder.mutation.resolver.js +59 -0
- package/server/dist/features/reminder/graphql/reminder.mutation.resolver.js.map +1 -0
- package/server/dist/features/reminder/graphql/reminder.query.resolver.js +79 -0
- package/server/dist/features/reminder/graphql/reminder.query.resolver.js.map +1 -0
- package/server/dist/features/reminder/graphql/reminder.resolver.js +12 -0
- package/server/dist/features/reminder/graphql/reminder.resolver.js.map +1 -0
- package/server/dist/features/reminder/graphql/reminder.type-defs.js +51 -0
- package/server/dist/features/reminder/graphql/reminder.type-defs.js.map +1 -0
- package/server/dist/features/tag/graphql/index.js +14 -0
- package/server/dist/features/tag/graphql/index.js.map +1 -0
- package/server/dist/features/tag/graphql/tag.field.resolver.js +10 -0
- package/server/dist/features/tag/graphql/tag.field.resolver.js.map +1 -0
- package/server/dist/features/tag/graphql/tag.mutation.resolver.js +15 -0
- package/server/dist/features/tag/graphql/tag.mutation.resolver.js.map +1 -0
- package/server/dist/features/tag/graphql/tag.query.resolver.js +26 -0
- package/server/dist/features/tag/graphql/tag.query.resolver.js.map +1 -0
- package/server/dist/features/tag/graphql/tag.resolver.js +12 -0
- package/server/dist/features/tag/graphql/tag.resolver.js.map +1 -0
- package/server/dist/features/tag/graphql/tag.type-defs.js +46 -0
- package/server/dist/features/tag/graphql/tag.type-defs.js.map +1 -0
- package/server/dist/{views/tag.js → features/tag/http/mcp.js} +3 -3
- package/server/dist/features/tag/http/mcp.js.map +1 -0
- package/server/dist/{modules/tag-organization.js → features/tag/services/organization.js} +38 -8
- package/server/dist/features/tag/services/organization.js.map +1 -0
- package/server/dist/features/view/graphql/index.js +11 -0
- package/server/dist/features/view/graphql/index.js.map +1 -0
- package/server/dist/features/view/graphql/view.mutation.resolver.js +53 -0
- package/server/dist/features/view/graphql/view.mutation.resolver.js.map +1 -0
- package/server/dist/features/view/graphql/view.query.resolver.js +29 -0
- package/server/dist/features/view/graphql/view.query.resolver.js.map +1 -0
- package/server/dist/features/view/graphql/view.resolver.js +10 -0
- package/server/dist/features/view/graphql/view.resolver.js.map +1 -0
- package/server/dist/features/view/graphql/view.type-defs.js +63 -0
- package/server/dist/features/view/graphql/view.type-defs.js.map +1 -0
- package/server/dist/features/view/services/workspace.js +432 -0
- package/server/dist/features/view/services/workspace.js.map +1 -0
- package/server/dist/main.js +14 -0
- package/server/dist/main.js.map +1 -1
- package/server/dist/modules/auth-guard.js +10 -9
- package/server/dist/modules/auth-guard.js.map +1 -1
- package/server/dist/modules/auth-mode.js +1 -3
- package/server/dist/modules/auth-mode.js.map +1 -1
- package/server/dist/modules/blocknote.js +96 -33
- package/server/dist/modules/blocknote.js.map +1 -1
- package/server/dist/modules/data-maintenance.js +75 -0
- package/server/dist/modules/data-maintenance.js.map +1 -0
- package/server/dist/modules/error-handler.js.map +1 -1
- package/server/dist/modules/logger.js +5 -23
- package/server/dist/modules/logger.js.map +1 -1
- package/server/dist/modules/mcp-auth.js +4 -5
- package/server/dist/modules/mcp-auth.js.map +1 -1
- package/server/dist/modules/mcp-token.js.map +1 -1
- package/server/dist/modules/prisma-runtime.js +2 -7
- package/server/dist/modules/prisma-runtime.js.map +1 -1
- package/server/dist/modules/recovery-retention.js +1 -1
- package/server/dist/modules/recovery-retention.js.map +1 -1
- package/server/dist/modules/server-events-handler.js +34 -0
- package/server/dist/modules/server-events-handler.js.map +1 -0
- package/server/dist/modules/server-events.js +32 -0
- package/server/dist/modules/server-events.js.map +1 -0
- package/server/dist/modules/use-async.js.map +1 -1
- package/server/dist/paths.js.map +1 -1
- package/server/dist/routes/api.js +34 -0
- package/server/dist/routes/api.js.map +1 -0
- package/server/dist/routes/auth-pages.js +11 -0
- package/server/dist/routes/auth-pages.js.map +1 -0
- package/server/dist/routes/client.js +27 -0
- package/server/dist/routes/client.js.map +1 -0
- package/server/dist/routes/graphql.js +33 -0
- package/server/dist/routes/graphql.js.map +1 -0
- package/server/dist/routes/index.js +11 -0
- package/server/dist/routes/index.js.map +1 -0
- package/server/dist/routes/mcp.js +30 -0
- package/server/dist/routes/mcp.js.map +1 -0
- package/server/dist/schema/index.js +11 -8
- package/server/dist/schema/index.js.map +1 -1
- package/server/dist/types/index.js.map +1 -1
- package/server/prisma/migrations/20260413143000_0014_tag_name_unique/migration.sql +32 -0
- package/server/prisma/migrations/20260414143000_0015_note_searchable_text/migration.sql +5 -0
- package/server/prisma/migrations/20260416090000_0016_view_workspace/migration.sql +50 -0
- package/server/prisma/schema.prisma +66 -12
- package/server/client/dist/assets/Calendar-DyXzs5M3.js +0 -25
- package/server/client/dist/assets/Graph-C8K4PJOn.js +0 -1
- package/server/client/dist/assets/Note-BbgZvrC3.js +0 -1
- package/server/client/dist/assets/Note-PEevDKBh.css +0 -1
- package/server/client/dist/assets/Reminders-jFhljND4.js +0 -1
- package/server/client/dist/assets/Search-X6QIR_m2.js +0 -1
- package/server/client/dist/assets/Tag-Ba2Dw4gH.js +0 -1
- package/server/client/dist/assets/TagNotes-BRJv6sDI.js +0 -1
- package/server/client/dist/assets/index-BglnLSet.js +0 -205
- package/server/client/dist/assets/index-DpqKngJz.js +0 -1
- package/server/client/dist/assets/manage-image-C6Y_0M5H.js +0 -1
- package/server/client/dist/assets/manage-image-detail-Dv3xofpe.js +0 -1
- package/server/client/dist/assets/mcp-BijQkpfY.js +0 -1
- package/server/client/dist/assets/trash-CiFJm_PK.js +0 -1
- package/server/dist/modules/auth.js +0 -25
- package/server/dist/modules/auth.js.map +0 -1
- package/server/dist/modules/image-upload.js.map +0 -1
- package/server/dist/modules/mcp-admin.js.map +0 -1
- package/server/dist/modules/note-authoring.js.map +0 -1
- package/server/dist/modules/note-cleanup.js.map +0 -1
- package/server/dist/modules/note-snapshot.js.map +0 -1
- package/server/dist/modules/note-trash.js.map +0 -1
- package/server/dist/modules/remote-image.js.map +0 -1
- package/server/dist/modules/tag-organization.js.map +0 -1
- package/server/dist/schema/cache/index.js +0 -58
- package/server/dist/schema/cache/index.js.map +0 -1
- package/server/dist/schema/image/index.js +0 -88
- package/server/dist/schema/image/index.js.map +0 -1
- package/server/dist/schema/note/index.js +0 -551
- package/server/dist/schema/note/index.js.map +0 -1
- package/server/dist/schema/placeholder/index.js +0 -105
- package/server/dist/schema/placeholder/index.js.map +0 -1
- package/server/dist/schema/reminder/index.js +0 -161
- package/server/dist/schema/reminder/index.js.map +0 -1
- package/server/dist/schema/tag/index.js +0 -81
- package/server/dist/schema/tag/index.js.map +0 -1
- package/server/dist/urls.js +0 -9
- package/server/dist/urls.js.map +0 -1
- package/server/dist/views/auth.js +0 -305
- package/server/dist/views/auth.js.map +0 -1
- package/server/dist/views/image.js +0 -44
- package/server/dist/views/image.js.map +0 -1
- package/server/dist/views/index.js +0 -6
- package/server/dist/views/index.js.map +0 -1
- package/server/dist/views/mcp-admin.js.map +0 -1
- package/server/dist/views/note.js.map +0 -1
- package/server/dist/views/tag.js.map +0 -1
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import models from "../../models.js";
|
|
2
|
-
import { gql } from "../../modules/graphql.js";
|
|
3
|
-
const placeholderType = gql`
|
|
4
|
-
input PaginationInput {
|
|
5
|
-
limit: Int!
|
|
6
|
-
offset: Int!
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
input SearchFilterInput {
|
|
10
|
-
query: String!
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
type Placeholder {
|
|
14
|
-
id: ID!
|
|
15
|
-
name: String!
|
|
16
|
-
template: String!
|
|
17
|
-
replacement: String!
|
|
18
|
-
createdAt: String!
|
|
19
|
-
updatedAt: String!
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
type Placeholders {
|
|
23
|
-
totalCount: Int!
|
|
24
|
-
placeholders: [Placeholder!]!
|
|
25
|
-
}
|
|
26
|
-
`;
|
|
27
|
-
const placeholderQuery = gql`
|
|
28
|
-
type Query {
|
|
29
|
-
allPlaceholders(searchFilter: SearchFilterInput, pagination: PaginationInput): Placeholders!
|
|
30
|
-
placeholder(id: ID!): Placeholder
|
|
31
|
-
}
|
|
32
|
-
`;
|
|
33
|
-
const placeholderMutation = gql`
|
|
34
|
-
type Mutation {
|
|
35
|
-
createPlaceholder(name: String!, template: String!, replacement: String): Placeholder!
|
|
36
|
-
updatePlaceholder(id: ID!, name: String, template: String, replacement: String): Placeholder!
|
|
37
|
-
deletePlaceholder(id: ID!): Boolean!
|
|
38
|
-
}
|
|
39
|
-
`;
|
|
40
|
-
const placeholderTypeDefs = `
|
|
41
|
-
${placeholderType}
|
|
42
|
-
${placeholderQuery}
|
|
43
|
-
${placeholderMutation}
|
|
44
|
-
`;
|
|
45
|
-
const placeholderResolvers = {
|
|
46
|
-
Query: {
|
|
47
|
-
allPlaceholders: async (_, { searchFilter, pagination }) => {
|
|
48
|
-
const placeholders = await models.placeholder.findMany({
|
|
49
|
-
where: searchFilter?.query ? { name: { contains: searchFilter.query } } : void 0,
|
|
50
|
-
take: pagination?.limit,
|
|
51
|
-
skip: pagination?.offset
|
|
52
|
-
});
|
|
53
|
-
const totalCount = await models.placeholder.count();
|
|
54
|
-
return {
|
|
55
|
-
totalCount,
|
|
56
|
-
placeholders
|
|
57
|
-
};
|
|
58
|
-
},
|
|
59
|
-
placeholder: async (_, { id }) => {
|
|
60
|
-
return await models.placeholder.findFirst({ where: { id } });
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
Mutation: {
|
|
64
|
-
createPlaceholder: async (_, { name, template, replacement }) => {
|
|
65
|
-
return await models.placeholder.create({
|
|
66
|
-
data: {
|
|
67
|
-
name,
|
|
68
|
-
template,
|
|
69
|
-
replacement
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
},
|
|
73
|
-
updatePlaceholder: async (_, { id, name, template, replacement }) => {
|
|
74
|
-
const placeholder = await models.placeholder.findFirst({ where: { id } });
|
|
75
|
-
if (!placeholder) {
|
|
76
|
-
throw new Error("Placeholder not found");
|
|
77
|
-
}
|
|
78
|
-
await models.placeholder.update({
|
|
79
|
-
where: { id },
|
|
80
|
-
data: {
|
|
81
|
-
name,
|
|
82
|
-
template,
|
|
83
|
-
replacement
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
return placeholder;
|
|
87
|
-
},
|
|
88
|
-
deletePlaceholder: async (_, { id }) => {
|
|
89
|
-
const placeholder = await models.placeholder.findFirst({ where: { id: Number(id) } });
|
|
90
|
-
if (!placeholder) {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
await models.placeholder.delete({ where: { id: Number(id) } });
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
export {
|
|
99
|
-
placeholderMutation,
|
|
100
|
-
placeholderQuery,
|
|
101
|
-
placeholderResolvers,
|
|
102
|
-
placeholderType,
|
|
103
|
-
placeholderTypeDefs
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/schema/placeholder/index.ts"],"sourcesContent":["import type { IResolvers } from '@graphql-tools/utils';\n\nimport models, { type Placeholder } from '~/models.js';\nimport { gql } from '~/modules/graphql.js';\nimport type { Pagination, SearchFilter } from '~/types/index.js';\n\nexport const placeholderType = gql`\n input PaginationInput {\n limit: Int!\n offset: Int!\n }\n\n input SearchFilterInput {\n query: String!\n }\n\n type Placeholder {\n id: ID!\n name: String!\n template: String!\n replacement: String!\n createdAt: String!\n updatedAt: String!\n }\n\n type Placeholders {\n totalCount: Int!\n placeholders: [Placeholder!]!\n }\n`;\n\nexport const placeholderQuery = gql`\n type Query {\n allPlaceholders(searchFilter: SearchFilterInput, pagination: PaginationInput): Placeholders!\n placeholder(id: ID!): Placeholder\n }\n`;\n\nexport const placeholderMutation = gql`\n type Mutation {\n createPlaceholder(name: String!, template: String!, replacement: String): Placeholder!\n updatePlaceholder(id: ID!, name: String, template: String, replacement: String): Placeholder!\n deletePlaceholder(id: ID!): Boolean!\n }\n`;\n\nexport const placeholderTypeDefs = `\n ${placeholderType}\n ${placeholderQuery}\n ${placeholderMutation}\n`;\n\nexport const placeholderResolvers: IResolvers = {\n Query: {\n allPlaceholders: async (_, { searchFilter, pagination }: { searchFilter?: SearchFilter; pagination?: Pagination }) => {\n const placeholders = await models.placeholder.findMany({\n where: searchFilter?.query ? { name: { contains: searchFilter.query } } : undefined,\n take: pagination?.limit,\n skip: pagination?.offset\n });\n\n const totalCount = await models.placeholder.count();\n\n return {\n totalCount,\n placeholders\n };\n },\n placeholder: async (_, { id }: { id: number }) => {\n return await models.placeholder.findFirst({ where: { id } });\n }\n },\n Mutation: {\n createPlaceholder: async (_, { name, template, replacement }: Placeholder) => {\n return await models.placeholder.create({\n data: {\n name,\n template,\n replacement\n }\n });\n },\n updatePlaceholder: async (_, { id, name, template, replacement }: Placeholder) => {\n const placeholder = await models.placeholder.findFirst({ where: { id } });\n if (!placeholder) {\n throw new Error('Placeholder not found');\n }\n\n await models.placeholder.update({\n where: { id },\n data: {\n name,\n template,\n replacement\n }\n });\n\n return placeholder;\n },\n deletePlaceholder: async (_, { id }: { id: number }) => {\n const placeholder = await models.placeholder.findFirst({ where: { id: Number(id) } });\n if (!placeholder) {\n return false;\n }\n\n await models.placeholder.delete({ where: { id: Number(id) } });\n return true;\n }\n }\n};\n"],"mappings":"AAEA,OAAO,YAAkC;AACzC,SAAS,WAAW;AAGb,MAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBxB,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ5B,MAAM,sBAAsB;AAAA,MAC7B,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,mBAAmB;AAAA;AAGlB,MAAM,uBAAmC;AAAA,EAC5C,OAAO;AAAA,IACH,iBAAiB,OAAO,GAAG,EAAE,cAAc,WAAW,MAAgE;AAClH,YAAM,eAAe,MAAM,OAAO,YAAY,SAAS;AAAA,QACnD,OAAO,cAAc,QAAQ,EAAE,MAAM,EAAE,UAAU,aAAa,MAAM,EAAE,IAAI;AAAA,QAC1E,MAAM,YAAY;AAAA,QAClB,MAAM,YAAY;AAAA,MACtB,CAAC;AAED,YAAM,aAAa,MAAM,OAAO,YAAY,MAAM;AAElD,aAAO;AAAA,QACH;AAAA,QACA;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,aAAa,OAAO,GAAG,EAAE,GAAG,MAAsB;AAC9C,aAAO,MAAM,OAAO,YAAY,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAAA,IAC/D;AAAA,EACJ;AAAA,EACA,UAAU;AAAA,IACN,mBAAmB,OAAO,GAAG,EAAE,MAAM,UAAU,YAAY,MAAmB;AAC1E,aAAO,MAAM,OAAO,YAAY,OAAO;AAAA,QACnC,MAAM;AAAA,UACF;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,IACA,mBAAmB,OAAO,GAAG,EAAE,IAAI,MAAM,UAAU,YAAY,MAAmB;AAC9E,YAAM,cAAc,MAAM,OAAO,YAAY,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACxE,UAAI,CAAC,aAAa;AACd,cAAM,IAAI,MAAM,uBAAuB;AAAA,MAC3C;AAEA,YAAM,OAAO,YAAY,OAAO;AAAA,QAC5B,OAAO,EAAE,GAAG;AAAA,QACZ,MAAM;AAAA,UACF;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ,CAAC;AAED,aAAO;AAAA,IACX;AAAA,IACA,mBAAmB,OAAO,GAAG,EAAE,GAAG,MAAsB;AACpD,YAAM,cAAc,MAAM,OAAO,YAAY,UAAU,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;AACpF,UAAI,CAAC,aAAa;AACd,eAAO;AAAA,MACX;AAEA,YAAM,OAAO,YAAY,OAAO,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;AAC7D,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import models from "../../models.js";
|
|
2
|
-
import { gql } from "../../modules/graphql.js";
|
|
3
|
-
const reminderType = gql`
|
|
4
|
-
enum ReminderPriority {
|
|
5
|
-
low
|
|
6
|
-
medium
|
|
7
|
-
high
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
type Reminder {
|
|
11
|
-
id: ID!
|
|
12
|
-
noteId: Int!
|
|
13
|
-
reminderDate: String!
|
|
14
|
-
completed: Boolean!
|
|
15
|
-
priority: ReminderPriority
|
|
16
|
-
content: String
|
|
17
|
-
createdAt: String!
|
|
18
|
-
updatedAt: String!
|
|
19
|
-
note: Note
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
type Reminders {
|
|
23
|
-
totalCount: Int!
|
|
24
|
-
reminders: [Reminder!]!
|
|
25
|
-
}
|
|
26
|
-
`;
|
|
27
|
-
const reminderQuery = gql`
|
|
28
|
-
extend type Query {
|
|
29
|
-
noteReminders(noteId: ID!, pagination: PaginationInput): Reminders!
|
|
30
|
-
upcomingReminders(pagination: PaginationInput): Reminders!
|
|
31
|
-
remindersInDateRange(dateRange: DateRangeInput): [Reminder!]!
|
|
32
|
-
}
|
|
33
|
-
`;
|
|
34
|
-
const reminderMutation = gql`
|
|
35
|
-
extend type Mutation {
|
|
36
|
-
createReminder(noteId: ID!, reminderDate: String!, priority: ReminderPriority, content: String): Reminder!
|
|
37
|
-
updateReminder(id: ID!, reminderDate: String, completed: Boolean, priority: ReminderPriority, content: String): Reminder!
|
|
38
|
-
deleteReminder(id: ID!): Boolean!
|
|
39
|
-
}
|
|
40
|
-
`;
|
|
41
|
-
const reminderTypeDefs = `
|
|
42
|
-
${reminderType}
|
|
43
|
-
${reminderQuery}
|
|
44
|
-
${reminderMutation}
|
|
45
|
-
`;
|
|
46
|
-
const reminderResolvers = {
|
|
47
|
-
Query: {
|
|
48
|
-
noteReminders: async (_, {
|
|
49
|
-
noteId,
|
|
50
|
-
pagination = {
|
|
51
|
-
limit: 10,
|
|
52
|
-
offset: 0
|
|
53
|
-
}
|
|
54
|
-
}) => {
|
|
55
|
-
const where = { noteId: Number(noteId) };
|
|
56
|
-
const $reminders = models.reminder.findMany({
|
|
57
|
-
where,
|
|
58
|
-
orderBy: { reminderDate: "asc" },
|
|
59
|
-
take: Number(pagination.limit),
|
|
60
|
-
skip: Number(pagination.offset)
|
|
61
|
-
});
|
|
62
|
-
return {
|
|
63
|
-
totalCount: models.reminder.count({ where }),
|
|
64
|
-
reminders: $reminders
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
upcomingReminders: async (_, {
|
|
68
|
-
pagination = {
|
|
69
|
-
limit: 10,
|
|
70
|
-
offset: 0
|
|
71
|
-
}
|
|
72
|
-
}) => {
|
|
73
|
-
const where = { completed: false };
|
|
74
|
-
const $reminders = models.reminder.findMany({
|
|
75
|
-
where,
|
|
76
|
-
orderBy: { reminderDate: "asc" },
|
|
77
|
-
take: Number(pagination.limit),
|
|
78
|
-
skip: Number(pagination.offset),
|
|
79
|
-
include: { note: true }
|
|
80
|
-
});
|
|
81
|
-
return {
|
|
82
|
-
totalCount: models.reminder.count({ where }),
|
|
83
|
-
reminders: $reminders
|
|
84
|
-
};
|
|
85
|
-
},
|
|
86
|
-
remindersInDateRange: async (_, { dateRange }) => {
|
|
87
|
-
const where = {
|
|
88
|
-
reminderDate: {
|
|
89
|
-
gte: new Date(dateRange.start),
|
|
90
|
-
lt: new Date(dateRange.end)
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
const $reminders = await models.reminder.findMany({
|
|
94
|
-
where,
|
|
95
|
-
orderBy: { reminderDate: "asc" },
|
|
96
|
-
include: { note: true }
|
|
97
|
-
});
|
|
98
|
-
return $reminders;
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
Mutation: {
|
|
102
|
-
createReminder: async (_, {
|
|
103
|
-
noteId,
|
|
104
|
-
reminderDate,
|
|
105
|
-
priority,
|
|
106
|
-
content
|
|
107
|
-
}) => {
|
|
108
|
-
return models.reminder.create({
|
|
109
|
-
data: {
|
|
110
|
-
noteId: Number(noteId),
|
|
111
|
-
reminderDate: new Date(reminderDate),
|
|
112
|
-
completed: false,
|
|
113
|
-
priority: priority || "medium",
|
|
114
|
-
content
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
},
|
|
118
|
-
updateReminder: async (_, {
|
|
119
|
-
id,
|
|
120
|
-
reminderDate,
|
|
121
|
-
completed,
|
|
122
|
-
priority,
|
|
123
|
-
content
|
|
124
|
-
}) => {
|
|
125
|
-
const data = {};
|
|
126
|
-
if (reminderDate) {
|
|
127
|
-
data.reminderDate = new Date(reminderDate);
|
|
128
|
-
}
|
|
129
|
-
if (completed !== void 0) {
|
|
130
|
-
data.completed = completed;
|
|
131
|
-
}
|
|
132
|
-
if (priority) {
|
|
133
|
-
data.priority = priority;
|
|
134
|
-
}
|
|
135
|
-
if (content !== void 0) {
|
|
136
|
-
data.content = content;
|
|
137
|
-
}
|
|
138
|
-
return models.reminder.update({
|
|
139
|
-
where: { id: Number(id) },
|
|
140
|
-
data
|
|
141
|
-
});
|
|
142
|
-
},
|
|
143
|
-
deleteReminder: async (_, { id }) => {
|
|
144
|
-
await models.reminder.delete({ where: { id: Number(id) } });
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
Reminder: {
|
|
149
|
-
note: async (reminder) => {
|
|
150
|
-
return models.note.findUnique({ where: { id: reminder.noteId } });
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
export {
|
|
155
|
-
reminderMutation,
|
|
156
|
-
reminderQuery,
|
|
157
|
-
reminderResolvers,
|
|
158
|
-
reminderType,
|
|
159
|
-
reminderTypeDefs
|
|
160
|
-
};
|
|
161
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/schema/reminder/index.ts"],"sourcesContent":["import type { IResolvers } from '@graphql-tools/utils';\n\nimport type { Reminder } from '~/models.js';\nimport models from '~/models.js';\nimport { gql } from '~/modules/graphql.js';\n\nimport type { Pagination } from '~/types/index.js';\n\nexport const reminderType = gql`\n enum ReminderPriority {\n low\n medium\n high\n }\n\n type Reminder {\n id: ID!\n noteId: Int!\n reminderDate: String!\n completed: Boolean!\n priority: ReminderPriority\n content: String\n createdAt: String!\n updatedAt: String!\n note: Note\n }\n\n type Reminders {\n totalCount: Int!\n reminders: [Reminder!]!\n }\n`;\n\nexport const reminderQuery = gql`\n extend type Query {\n noteReminders(noteId: ID!, pagination: PaginationInput): Reminders!\n upcomingReminders(pagination: PaginationInput): Reminders!\n remindersInDateRange(dateRange: DateRangeInput): [Reminder!]!\n }\n`;\n\nexport const reminderMutation = gql`\n extend type Mutation {\n createReminder(noteId: ID!, reminderDate: String!, priority: ReminderPriority, content: String): Reminder!\n updateReminder(id: ID!, reminderDate: String, completed: Boolean, priority: ReminderPriority, content: String): Reminder!\n deleteReminder(id: ID!): Boolean!\n }\n`;\n\nexport const reminderTypeDefs = `\n ${reminderType}\n ${reminderQuery}\n ${reminderMutation}\n`;\n\nexport const reminderResolvers: IResolvers = {\n Query: {\n noteReminders: async (_, {\n noteId,\n pagination = {\n limit: 10,\n offset: 0\n }\n }: {\n noteId: string;\n pagination: Pagination;\n }) => {\n const where = { noteId: Number(noteId) };\n\n const $reminders = models.reminder.findMany({\n where,\n orderBy: { reminderDate: 'asc' },\n take: Number(pagination.limit),\n skip: Number(pagination.offset)\n });\n\n return {\n totalCount: models.reminder.count({ where }),\n reminders: $reminders\n };\n },\n upcomingReminders: async (_, {\n pagination = {\n limit: 10,\n offset: 0\n }\n }: {\n pagination: Pagination;\n }) => {\n const where = { completed: false };\n\n const $reminders = models.reminder.findMany({\n where,\n orderBy: { reminderDate: 'asc' },\n take: Number(pagination.limit),\n skip: Number(pagination.offset),\n include: { note: true }\n });\n\n return {\n totalCount: models.reminder.count({ where }),\n reminders: $reminders\n };\n },\n remindersInDateRange: async (_, { dateRange }: {\n dateRange: {\n start: string;\n end: string;\n };\n }) => {\n const where = {\n reminderDate: {\n gte: new Date(dateRange.start),\n lt: new Date(dateRange.end)\n }\n };\n\n const $reminders = await models.reminder.findMany({\n where,\n orderBy: { reminderDate: 'asc' },\n include: { note: true }\n });\n\n return $reminders;\n }\n },\n Mutation: {\n createReminder: async (_, {\n noteId,\n reminderDate,\n priority,\n content\n }: {\n noteId: string;\n reminderDate: string;\n priority?: 'low' | 'medium' | 'high';\n content?: string;\n }) => {\n return models.reminder.create({\n data: {\n noteId: Number(noteId),\n reminderDate: new Date(reminderDate),\n completed: false,\n priority: priority || 'medium',\n content\n }\n });\n },\n updateReminder: async (_, {\n id,\n reminderDate,\n completed,\n priority,\n content\n }: {\n id: string;\n reminderDate?: string;\n completed?: boolean;\n priority?: 'low' | 'medium' | 'high';\n content?: string;\n }) => {\n const data: Partial<Reminder> = {};\n\n if (reminderDate) {\n data.reminderDate = new Date(reminderDate);\n }\n\n if (completed !== undefined) {\n data.completed = completed;\n }\n\n if (priority) {\n data.priority = priority;\n }\n\n if (content !== undefined) {\n data.content = content;\n }\n\n return models.reminder.update({\n where: { id: Number(id) },\n data\n });\n },\n deleteReminder: async (_, { id }: { id: string }) => {\n await models.reminder.delete({ where: { id: Number(id) } });\n return true;\n }\n },\n Reminder: {\n note: async (reminder) => {\n return models.note.findUnique({ where: { id: reminder.noteId } });\n }\n }\n};\n"],"mappings":"AAGA,OAAO,YAAY;AACnB,SAAS,WAAW;AAIb,MAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBrB,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQtB,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQzB,MAAM,mBAAmB;AAAA,MAC1B,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,gBAAgB;AAAA;AAGf,MAAM,oBAAgC;AAAA,EACzC,OAAO;AAAA,IACH,eAAe,OAAO,GAAG;AAAA,MACrB;AAAA,MACA,aAAa;AAAA,QACT,OAAO;AAAA,QACP,QAAQ;AAAA,MACZ;AAAA,IACJ,MAGM;AACF,YAAM,QAAQ,EAAE,QAAQ,OAAO,MAAM,EAAE;AAEvC,YAAM,aAAa,OAAO,SAAS,SAAS;AAAA,QACxC;AAAA,QACA,SAAS,EAAE,cAAc,MAAM;AAAA,QAC/B,MAAM,OAAO,WAAW,KAAK;AAAA,QAC7B,MAAM,OAAO,WAAW,MAAM;AAAA,MAClC,CAAC;AAED,aAAO;AAAA,QACH,YAAY,OAAO,SAAS,MAAM,EAAE,MAAM,CAAC;AAAA,QAC3C,WAAW;AAAA,MACf;AAAA,IACJ;AAAA,IACA,mBAAmB,OAAO,GAAG;AAAA,MACzB,aAAa;AAAA,QACT,OAAO;AAAA,QACP,QAAQ;AAAA,MACZ;AAAA,IACJ,MAEM;AACF,YAAM,QAAQ,EAAE,WAAW,MAAM;AAEjC,YAAM,aAAa,OAAO,SAAS,SAAS;AAAA,QACxC;AAAA,QACA,SAAS,EAAE,cAAc,MAAM;AAAA,QAC/B,MAAM,OAAO,WAAW,KAAK;AAAA,QAC7B,MAAM,OAAO,WAAW,MAAM;AAAA,QAC9B,SAAS,EAAE,MAAM,KAAK;AAAA,MAC1B,CAAC;AAED,aAAO;AAAA,QACH,YAAY,OAAO,SAAS,MAAM,EAAE,MAAM,CAAC;AAAA,QAC3C,WAAW;AAAA,MACf;AAAA,IACJ;AAAA,IACA,sBAAsB,OAAO,GAAG,EAAE,UAAU,MAKtC;AACF,YAAM,QAAQ;AAAA,QACV,cAAc;AAAA,UACV,KAAK,IAAI,KAAK,UAAU,KAAK;AAAA,UAC7B,IAAI,IAAI,KAAK,UAAU,GAAG;AAAA,QAC9B;AAAA,MACJ;AAEA,YAAM,aAAa,MAAM,OAAO,SAAS,SAAS;AAAA,QAC9C;AAAA,QACA,SAAS,EAAE,cAAc,MAAM;AAAA,QAC/B,SAAS,EAAE,MAAM,KAAK;AAAA,MAC1B,CAAC;AAED,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,UAAU;AAAA,IACN,gBAAgB,OAAO,GAAG;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,MAKM;AACF,aAAO,OAAO,SAAS,OAAO;AAAA,QAC1B,MAAM;AAAA,UACF,QAAQ,OAAO,MAAM;AAAA,UACrB,cAAc,IAAI,KAAK,YAAY;AAAA,UACnC,WAAW;AAAA,UACX,UAAU,YAAY;AAAA,UACtB;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,IACA,gBAAgB,OAAO,GAAG;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,MAMM;AACF,YAAM,OAA0B,CAAC;AAEjC,UAAI,cAAc;AACd,aAAK,eAAe,IAAI,KAAK,YAAY;AAAA,MAC7C;AAEA,UAAI,cAAc,QAAW;AACzB,aAAK,YAAY;AAAA,MACrB;AAEA,UAAI,UAAU;AACV,aAAK,WAAW;AAAA,MACpB;AAEA,UAAI,YAAY,QAAW;AACvB,aAAK,UAAU;AAAA,MACnB;AAEA,aAAO,OAAO,SAAS,OAAO;AAAA,QAC1B,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE;AAAA,QACxB;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,IACA,gBAAgB,OAAO,GAAG,EAAE,GAAG,MAAsB;AACjD,YAAM,OAAO,SAAS,OAAO,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;AAC1D,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,UAAU;AAAA,IACN,MAAM,OAAO,aAAa;AACtB,aAAO,OAAO,KAAK,WAAW,EAAE,OAAO,EAAE,IAAI,SAAS,OAAO,EAAE,CAAC;AAAA,IACpE;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import models from "../../models.js";
|
|
2
|
-
import { gql } from "../../modules/graphql.js";
|
|
3
|
-
const tagType = gql`
|
|
4
|
-
input PaginationInput {
|
|
5
|
-
limit: Int!
|
|
6
|
-
offset: Int!
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
input SearchFilterInput {
|
|
10
|
-
query: String!
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
type Tag {
|
|
14
|
-
id: ID!
|
|
15
|
-
name: String!
|
|
16
|
-
createdAt: String!
|
|
17
|
-
updatedAt: String!
|
|
18
|
-
referenceCount: Int!
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
type Tags {
|
|
22
|
-
totalCount: Int!
|
|
23
|
-
tags: [Tag!]!
|
|
24
|
-
}
|
|
25
|
-
`;
|
|
26
|
-
const tagQuery = gql`
|
|
27
|
-
type Query {
|
|
28
|
-
allTags(searchFilter: SearchFilterInput, pagination: PaginationInput): Tags!
|
|
29
|
-
}
|
|
30
|
-
`;
|
|
31
|
-
const tagMutation = gql`
|
|
32
|
-
type Mutation {
|
|
33
|
-
createTag(name: String!): Tag!
|
|
34
|
-
}
|
|
35
|
-
`;
|
|
36
|
-
const tagTypeDefs = `
|
|
37
|
-
${tagType}
|
|
38
|
-
${tagQuery}
|
|
39
|
-
${tagMutation}
|
|
40
|
-
`;
|
|
41
|
-
const tagResolvers = {
|
|
42
|
-
Query: {
|
|
43
|
-
allTags: async (_, {
|
|
44
|
-
searchFilter,
|
|
45
|
-
pagination
|
|
46
|
-
}) => {
|
|
47
|
-
const where = {
|
|
48
|
-
name: { contains: searchFilter.query },
|
|
49
|
-
NOT: { notes: { none: {} } }
|
|
50
|
-
};
|
|
51
|
-
const $tags = models.tag.findMany({
|
|
52
|
-
skip: pagination.offset,
|
|
53
|
-
take: pagination.limit,
|
|
54
|
-
where,
|
|
55
|
-
orderBy: { notes: { _count: "desc" } }
|
|
56
|
-
});
|
|
57
|
-
return {
|
|
58
|
-
totalCount: await models.tag.count({ where }),
|
|
59
|
-
tags: await $tags
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
Mutation: {
|
|
64
|
-
createTag: async (_, { name }) => {
|
|
65
|
-
return models.tag.create({ data: { name } });
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
Tag: {
|
|
69
|
-
referenceCount: async (tag) => {
|
|
70
|
-
return models.note.count({ where: { tags: { some: { id: tag.id } } } });
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
export {
|
|
75
|
-
tagMutation,
|
|
76
|
-
tagQuery,
|
|
77
|
-
tagResolvers,
|
|
78
|
-
tagType,
|
|
79
|
-
tagTypeDefs
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/schema/tag/index.ts"],"sourcesContent":["import type { IResolvers } from '@graphql-tools/utils';\n\nimport models, { type Tag, type Prisma } from '~/models.js';\nimport { gql } from '~/modules/graphql.js';\nimport type { Pagination, SearchFilter } from '~/types/index.js';\n\nexport const tagType = gql`\n input PaginationInput {\n limit: Int!\n offset: Int!\n }\n\n input SearchFilterInput {\n query: String!\n }\n\n type Tag {\n id: ID!\n name: String!\n createdAt: String!\n updatedAt: String!\n referenceCount: Int!\n }\n\n type Tags {\n totalCount: Int!\n tags: [Tag!]!\n }\n`;\n\nexport const tagQuery = gql`\n type Query {\n allTags(searchFilter: SearchFilterInput, pagination: PaginationInput): Tags!\n }\n`;\n\nexport const tagMutation = gql`\n type Mutation {\n createTag(name: String!): Tag!\n }\n`;\n\nexport const tagTypeDefs = `\n ${tagType}\n ${tagQuery}\n ${tagMutation}\n`;\n\nexport const tagResolvers: IResolvers = {\n Query: {\n allTags: async (_, {\n searchFilter,\n pagination\n }: {\n searchFilter: SearchFilter;\n pagination: Pagination;\n }) => {\n const where: Prisma.TagWhereInput = {\n name: { contains: searchFilter.query },\n NOT: { notes: { none: { } } }\n };\n const $tags = models.tag.findMany({\n skip: pagination.offset,\n take: pagination.limit,\n where,\n orderBy: { notes: { _count: 'desc' } }\n });\n\n return {\n totalCount: await models.tag.count({ where }),\n tags: await $tags\n };\n }\n },\n Mutation: {\n createTag: async (_, { name }: Tag) => {\n return models.tag.create({ data: { name } });\n }\n },\n Tag: {\n referenceCount: async (tag: Tag) => {\n return models.note.count({ where: { tags: { some: { id: tag.id } } } });\n }\n }\n};\n"],"mappings":"AAEA,OAAO,YAAuC;AAC9C,SAAS,WAAW;AAGb,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBhB,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAMjB,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAMpB,MAAM,cAAc;AAAA,MACrB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW;AAAA;AAGV,MAAM,eAA2B;AAAA,EACpC,OAAO;AAAA,IACH,SAAS,OAAO,GAAG;AAAA,MACf;AAAA,MACA;AAAA,IACJ,MAGM;AACF,YAAM,QAA8B;AAAA,QAChC,MAAM,EAAE,UAAU,aAAa,MAAM;AAAA,QACrC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAE,EAAE,EAAE;AAAA,MAChC;AACA,YAAM,QAAQ,OAAO,IAAI,SAAS;AAAA,QAC9B,MAAM,WAAW;AAAA,QACjB,MAAM,WAAW;AAAA,QACjB;AAAA,QACA,SAAS,EAAE,OAAO,EAAE,QAAQ,OAAO,EAAE;AAAA,MACzC,CAAC;AAED,aAAO;AAAA,QACH,YAAY,MAAM,OAAO,IAAI,MAAM,EAAE,MAAM,CAAC;AAAA,QAC5C,MAAM,MAAM;AAAA,MAChB;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,UAAU;AAAA,IACN,WAAW,OAAO,GAAG,EAAE,KAAK,MAAW;AACnC,aAAO,OAAO,IAAI,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAAA,IAC/C;AAAA,EACJ;AAAA,EACA,KAAK;AAAA,IACD,gBAAgB,OAAO,QAAa;AAChC,aAAO,OAAO,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC;AAAA,IAC1E;AAAA,EACJ;AACJ;","names":[]}
|
package/server/dist/urls.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Router } from "express";
|
|
2
|
-
import * as views from "./views/index.js";
|
|
3
|
-
import useAsync from "./modules/use-async.js";
|
|
4
|
-
import { requireSessionForWrite } from "./modules/auth-guard.js";
|
|
5
|
-
const createApiRouter = (authConfig, mcpAdminService) => Router().post("/auth/login", useAsync(views.createLoginHandler(authConfig))).post("/auth/logout", useAsync(views.createLogoutHandler(authConfig))).get("/auth/session", useAsync(views.createSessionStatusHandler(authConfig))).get("/mcp-admin/status", requireSessionForWrite(authConfig), useAsync(views.createMcpAdminStatusHandler(mcpAdminService))).post("/mcp-admin/enabled", requireSessionForWrite(authConfig), useAsync(views.createMcpAdminSetEnabledHandler(mcpAdminService))).post("/mcp-admin/token/rotate", requireSessionForWrite(authConfig), useAsync(views.createMcpAdminRotateTokenHandler(mcpAdminService))).post("/mcp-admin/token/revoke", requireSessionForWrite(authConfig), useAsync(views.createMcpAdminRevokeTokenHandler(mcpAdminService))).post("/image", requireSessionForWrite(authConfig), useAsync(views.uploadImage)).post("/image-from-src", requireSessionForWrite(authConfig), useAsync(views.uploadImageFromSrc));
|
|
6
|
-
export {
|
|
7
|
-
createApiRouter
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=urls.js.map
|
package/server/dist/urls.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/urls.ts"],"sourcesContent":["import { Router } from 'express';\nimport * as views from './views/index.js';\nimport useAsync from './modules/use-async.js';\nimport { requireSessionForWrite } from './modules/auth-guard.js';\nimport type { AuthConfig } from './modules/auth-mode.js';\nimport type { McpAdminService } from './modules/mcp-admin.js';\n\ntype McpAdminApiService = Pick<McpAdminService, 'getStatus' | 'setEnabled' | 'rotateToken' | 'revokeActiveToken'>;\n\nexport const createApiRouter = (\n authConfig: AuthConfig,\n mcpAdminService: McpAdminApiService\n) => Router()\n .post('/auth/login', useAsync(views.createLoginHandler(authConfig)))\n .post('/auth/logout', useAsync(views.createLogoutHandler(authConfig)))\n .get('/auth/session', useAsync(views.createSessionStatusHandler(authConfig)))\n .get('/mcp-admin/status', requireSessionForWrite(authConfig), useAsync(views.createMcpAdminStatusHandler(mcpAdminService)))\n .post('/mcp-admin/enabled', requireSessionForWrite(authConfig), useAsync(views.createMcpAdminSetEnabledHandler(mcpAdminService)))\n .post('/mcp-admin/token/rotate', requireSessionForWrite(authConfig), useAsync(views.createMcpAdminRotateTokenHandler(mcpAdminService)))\n .post('/mcp-admin/token/revoke', requireSessionForWrite(authConfig), useAsync(views.createMcpAdminRevokeTokenHandler(mcpAdminService)))\n .post('/image', requireSessionForWrite(authConfig), useAsync(views.uploadImage))\n .post('/image-from-src', requireSessionForWrite(authConfig), useAsync(views.uploadImageFromSrc));\n"],"mappings":"AAAA,SAAS,cAAc;AACvB,YAAY,WAAW;AACvB,OAAO,cAAc;AACrB,SAAS,8BAA8B;AAMhC,MAAM,kBAAkB,CAC3B,YACA,oBACC,OAAO,EACP,KAAK,eAAe,SAAS,MAAM,mBAAmB,UAAU,CAAC,CAAC,EAClE,KAAK,gBAAgB,SAAS,MAAM,oBAAoB,UAAU,CAAC,CAAC,EACpE,IAAI,iBAAiB,SAAS,MAAM,2BAA2B,UAAU,CAAC,CAAC,EAC3E,IAAI,qBAAqB,uBAAuB,UAAU,GAAG,SAAS,MAAM,4BAA4B,eAAe,CAAC,CAAC,EACzH,KAAK,sBAAsB,uBAAuB,UAAU,GAAG,SAAS,MAAM,gCAAgC,eAAe,CAAC,CAAC,EAC/H,KAAK,2BAA2B,uBAAuB,UAAU,GAAG,SAAS,MAAM,iCAAiC,eAAe,CAAC,CAAC,EACrI,KAAK,2BAA2B,uBAAuB,UAAU,GAAG,SAAS,MAAM,iCAAiC,eAAe,CAAC,CAAC,EACrI,KAAK,UAAU,uBAAuB,UAAU,GAAG,SAAS,MAAM,WAAW,CAAC,EAC9E,KAAK,mBAAmB,uBAAuB,UAAU,GAAG,SAAS,MAAM,kBAAkB,CAAC;","names":[]}
|