@ez4/pgmigration 0.26.0 → 0.28.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/library.cjs +88 -92
- package/dist/library.d.ts +7 -7
- package/dist/library.mjs +85 -87
- package/dist/main.cjs +129 -123
- package/dist/main.d.ts +1 -1
- package/dist/main.mjs +124 -119
- package/dist/queries/columns.d.ts +20 -0
- package/dist/queries/constraints.d.ts +27 -0
- package/dist/queries/database.d.ts +9 -0
- package/dist/queries/indexes.d.ts +11 -0
- package/dist/queries/relations.d.ts +18 -0
- package/dist/queries/tables.d.ts +14 -0
- package/dist/service/queries.d.ts +1 -1
- package/package.json +11 -13
- package/dist/common/columns.d.ts +0 -18
- package/dist/common/constraints.d.ts +0 -25
- package/dist/common/database.d.ts +0 -7
- package/dist/common/indexes.d.ts +0 -9
- package/dist/common/relations.d.ts +0 -16
- package/dist/common/tables.d.ts +0 -12
package/dist/main.cjs
CHANGED
|
@@ -1,125 +1,131 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
typeof
|
|
3
|
-
|
|
4
|
-
module.exports=
|
|
5
|
-
e)||(0,
|
|
6
|
-
definitions:
|
|
7
|
-
default}`;case"string":return`'${
|
|
8
|
-
|
|
9
|
-
'${
|
|
10
|
-
date":case"time":return"now()";case"uuid":return"gen_random_uuid()"}if(
|
|
11
|
-
null"},"getColumnDefault"),
|
|
12
|
-
Object:case
|
|
13
|
-
return"jsonb";case
|
|
14
|
-
text";case
|
|
15
|
-
e)}},"getColumnType"),
|
|
16
|
-
ecimal","getColumNumberType"),
|
|
17
|
-
date":return e.format;case"date-time":return"timestamptz";default:let
|
|
18
|
-
maxLength;return(0,
|
|
19
|
-
let
|
|
20
|
-
column(
|
|
21
|
-
query:
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
"use strict";var K=Object.defineProperty;var oe=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var ie=Object.prototype.hasOwnProperty;var p=(e,s)=>K(e,"name",{value:s,configurable:!0});var ae=(e,s)=>{for(var g in s)K(e,g,{get:s[g],enumerable:!0})},ce=(e,s,g,d)=>{if(s&&
|
|
2
|
+
typeof s=="object"||typeof s=="function")for(let m of se(s))!ie.call(e,m)&&m!==g&&
|
|
3
|
+
K(e,m,{get:()=>s[m],enumerable:!(d=oe(s,m))||d.enumerable});return e};var pe=e=>ce(K({},"__esModule",{value:!0}),e);var ye={};ae(ye,{getCreateQueries:()=>re,getDeleteQueries:()=>ne,getUpdateQueries:()=>de});
|
|
4
|
+
module.exports=pe(ye);var L=require("@ez4/pgsql");var X=require("@ez4/database");var x=require("@ez4/schema"),W=require("@ez4/utils");var z=p(e=>!!(e.nullable||e.optional),"isOptionalColumn"),D=p((e,s)=>{if((0,x.isScalarSchema)(
|
|
5
|
+
e)||(0,x.isObjectSchema)(e)||(0,x.isArraySchema)(e)||(0,x.isTupleSchema)(e)){let{
|
|
6
|
+
definitions:g}=e;switch(typeof g?.default){case"boolean":case"number":return`${g.
|
|
7
|
+
default}`;case"string":return`'${g.default}'`;case"object":return`'${JSON.stringify(
|
|
8
|
+
g.default)}'`}}if((0,x.isEnumSchema)(e)){let{definitions:g}=e;if(g?.default)return`\
|
|
9
|
+
'${g.default}'`}if((0,x.isStringSchema)(e)&&s)switch(e.format){case"date-time":case"\
|
|
10
|
+
date":case"time":return"now()";case"uuid":return"gen_random_uuid()"}if(z(e))return"\
|
|
11
|
+
null"},"getColumnDefault"),U=p((e,s)=>{switch(e.type){case x.SchemaType.Array:case x.SchemaType.
|
|
12
|
+
Object:case x.SchemaType.Reference:case x.SchemaType.Union:case x.SchemaType.Tuple:
|
|
13
|
+
return"jsonb";case x.SchemaType.Boolean:return"boolean";case x.SchemaType.Enum:return"\
|
|
14
|
+
text";case x.SchemaType.Number:return me(e,s);case x.SchemaType.String:return ue(
|
|
15
|
+
e)}},"getColumnType"),me=p((e,s)=>e.format==="integer"?s?"bigserial":"bigint":"d\
|
|
16
|
+
ecimal","getColumNumberType"),ue=p(e=>{switch(e.format){case"uuid":case"time":case"\
|
|
17
|
+
date":return e.format;case"date-time":return"timestamptz";default:let s=e.definitions?.
|
|
18
|
+
maxLength;return(0,W.isAnyNumber)(s)?`varchar(${s})`:"text"}},"getColumnTextType");var M;(d=>(d.prepareCreate=p((m,n,u,y)=>{let o=m.table(n).create().missing();for(let t in u.
|
|
19
|
+
properties){let r=u.properties[t],c=y[t]?.type===X.Index.Primary,l=!z(r),i=U(r,c),
|
|
20
|
+
f=D(r,c);o.column(t,i,l,f).missing()}return{query:o.build()}},"prepareCreate"),d.
|
|
21
|
+
prepareRename=p((m,n,u)=>({query:m.table(n).rename(u).existing().build()}),"prep\
|
|
22
|
+
areRename"),d.prepareDelete=p((m,n)=>({query:m.table(n).drop().existing().cascade().
|
|
23
|
+
build()}),"prepareDelete")))(M||={});var G=require("@ez4/database");var q=p((e,s)=>{let[g]=e.select().rawColumn("1").from("pg_constraint").where({conname:e.
|
|
24
|
+
rawString(s)}).build();return g},"getCheckConstraintQuery"),V=p((e,s,g)=>{let[d]=e.
|
|
24
25
|
select().rawColumn("1").from("information_schema.columns").where({column_name:e.
|
|
25
|
-
rawString(
|
|
26
|
-
|
|
27
|
-
return{query:
|
|
28
|
-
let{update:
|
|
29
|
-
definitions?.update?.default,
|
|
30
|
-
existing().column(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
t).alter().existing().rename(r
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if(
|
|
63
|
-
t,c,
|
|
64
|
-
for(let
|
|
65
|
-
|
|
66
|
-
query:
|
|
67
|
-
|
|
68
|
-
i).build()})}return
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
{check:
|
|
78
|
-
|
|
79
|
-
{query:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
existing().constraint(
|
|
85
|
-
break}case
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
"
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
let
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
u
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
n
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
26
|
+
rawString(g),table_name:e.rawString(s)}).build();return d},"getCheckColumnQuery");var I;(m=>(m.prepareCreate=p((n,u,y,o)=>{let t=n.table(u).alter().existing();for(let r in o){
|
|
27
|
+
let a=o[r],l=y[r]?.type===G.Index.Primary,i=!z(a),f=U(a,l),h=D(a,l);t.add(r,f,i,
|
|
28
|
+
h).missing()}return{query:t.build()}},"prepareCreate"),m.prepareUpdate=p((n,u,y,o,t)=>{
|
|
29
|
+
let r=[];for(let a in t){let{update:c,nested:l}=t[a],i=y.properties[a],h=o[a]?.type===
|
|
30
|
+
G.Index.Primary,S=l?.definitions?.update?.default,b=c?.optional??c?.nullable,P=c?.
|
|
31
|
+
type,k=n.table(u).alter().existing().column(a);P!==void 0&&k.type(U(i,h)),b!==void 0&&
|
|
32
|
+
k.optional(b),S!==void 0&&k.default(D(i,h)),!k.empty&&r.push({check:V(n,u,a),query:k.
|
|
33
|
+
build()})}return r},"prepareUpdate"),m.prepareRename=p((n,u,y)=>{let o=[];for(let t in y){
|
|
34
|
+
let r=y[t],a=n.table(u).alter().existing().rename(t,r);o.push({check:V(n,u,t),query:a.
|
|
35
|
+
build()})}return o},"prepareRename"),m.prepareDelete=p((n,u,y)=>{let o=n.table(u).
|
|
36
|
+
alter().existing();for(let t in y)o.drop(t).existing();return{query:o.build()}},
|
|
37
|
+
"prepareDelete")))(I||={});var N=require("@ez4/schema");var Y=require("@ez4/utils");var _=p((e,s)=>`${v(e,s)}_pk`,"getPrimaryKeyName"),Q=p((e,s)=>`${v(e,s)}_uk`,"ge\
|
|
38
|
+
tUniqueKeyName"),$=p((e,s)=>`${v(e,s)}_sk`,"getSecondaryKeyName"),w=p((e,s)=>`${v(
|
|
39
|
+
e,s)}_fk`,"getRelationName"),R=p((e,s)=>`${v(e,s)}_ck`,"getConstraintName"),v=p(
|
|
40
|
+
(e,s)=>`${e}_${(0,Y.toSnakeCase)(s.replaceAll(":","_"))}`,"getName");var O;(y=>{y.prepareCreate=p((o,t,r)=>{let a=[];for(let c in r){let l=r[c];if(!(0,N.isEnumSchema)(
|
|
41
|
+
l))continue;let i=R(t,c);a.push({check:q(o,i),query:u(o,t,i,c,l.options).build()})}
|
|
42
|
+
return a},"prepareCreate"),y.prepareUpdate=p((o,t,r,a,c)=>{let l=[];for(let i in c){
|
|
43
|
+
let{update:f,create:h,remove:S}=c[i];if(S){let b=a.properties[i];if((0,N.isEnumSchema)(
|
|
44
|
+
b)){let P=R(t,i);l.push({query:n(o,t,P).build()})}}if(f){let b=a.properties[i],P=r.
|
|
45
|
+
properties[i];if((0,N.isEnumSchema)(b)&&(0,N.isEnumSchema)(P)){let k=R(t,i);l.push(
|
|
46
|
+
{query:n(o,t,k).build()},{query:u(o,t,k,i,P.options).build()})}}if(h){let b=r.properties[i];
|
|
47
|
+
if((0,N.isEnumSchema)(b)){let P=R(t,i);l.push({check:q(o,P),query:u(o,t,P,i,b.options).
|
|
48
|
+
build()})}}}return l},"prepareUpdate"),y.prepareRenameTable=p((o,t,r,a)=>{let c=[];
|
|
49
|
+
for(let l in a){let i=a[l];if(!(0,N.isEnumSchema)(i))continue;let f=R(t,l),h=R(r,
|
|
50
|
+
l),S=o.table(r).alter().existing().constraint(f).rename(h);c.push({check:q(o,h),
|
|
51
|
+
query:S.build()})}return c},"prepareRenameTable"),y.prepareRenameColumns=p((o,t,r,a)=>{
|
|
52
|
+
let c=[];for(let l in a){let i=a[l],f=r[i];if(!(0,N.isEnumSchema)(f))continue;let h=R(
|
|
53
|
+
t,l),S=R(t,i),b=o.table(t).alter().existing().constraint(h).rename(S);c.push({check:q(
|
|
54
|
+
o,S),query:b.build()})}return c},"prepareRenameColumns"),y.prepareDelete=p((o,t,r)=>{
|
|
55
|
+
let a=[];for(let c in r){let l=r[c];if(!(0,N.isEnumSchema)(l))continue;let i=R(t,
|
|
56
|
+
c);a.push({query:n(o,t,i).build()})}return a},"prepareDelete");let n=p((o,t,r)=>o.
|
|
57
|
+
table(t).alter().existing().constraint(r).drop().existing(),"getDeleteQuery"),u=p(
|
|
58
|
+
(o,t,r,a,c)=>{let l=c.map(({value:i})=>`${i}`);return o.table(t).alter().existing().
|
|
59
|
+
constraint(r).check({[a]:{isIn:l}})},"getCreateQuery")})(O||={});var Z=require("@ez4/pgclient/library"),ee=require("@ez4/schema"),J=require("@ez4/database");var j;(y=>{y.prepareCreate=p((o,t,r,a)=>{let c=[];for(let l in a){let i=a[l];if(m(
|
|
60
|
+
i))continue;let{[i.targetColumn]:f}=r.properties,h=w(t,l),S=!!(0,ee.IsNullishSchema)(
|
|
61
|
+
f);c.push({check:q(o,h),query:u(o,t,h,i,S).build()})}return c},"prepareCreate"),
|
|
62
|
+
y.prepareUpdate=p((o,t,r,a)=>{let c=[];for(let l in r){let i=r[l];if(m(i))continue;
|
|
63
|
+
let f=a[i.targetColumn]?.update,h=f?.optional??f?.nullable;if(h===void 0)continue;
|
|
64
|
+
let S=w(t,l);c.push({query:n(o,t,S).build()},{query:u(o,t,S,i,h).build()})}return c},
|
|
65
|
+
"prepareUpdate"),y.prepareRename=p((o,t,r,a)=>{let c=[];for(let l in a){let i=a[l];
|
|
66
|
+
if(m(i))continue;let f=w(t,l),h=w(r,l),S=o.table(r).alter().existing().constraint(
|
|
67
|
+
f).rename(h);c.push({check:q(o,h),query:S.build()})}return c},"prepareRename"),y.
|
|
68
|
+
prepareDelete=p((o,t,r)=>{let a=[];for(let c in r){let l=r[c];if(m(l))continue;let i=w(
|
|
69
|
+
t,c);a.push({query:n(o,t,i).build()})}return a},"prepareDelete");let m=p(o=>{let{
|
|
70
|
+
sourceIndex:t,targetIndex:r}=o;return!t||t===J.Index.Secondary||r===J.Index.Primary},
|
|
71
|
+
"isNotRealRelation"),n=p((o,t,r)=>o.table(t).alter().existing().constraint(r).drop().
|
|
72
|
+
existing(),"getDeleteQuery"),u=p((o,t,r,a,c)=>{let{sourceTable:l,sourceColumn:i,
|
|
73
|
+
targetColumn:f}=a,h=(0,Z.getTableName)(l),S=o.table(t).alter().existing().constraint(
|
|
74
|
+
r).foreign(f,h,[i]);return c?S.delete().null():S.delete().cascade(),S.update().cascade(),
|
|
75
|
+
S},"getCreateQuery")})(j||={});var E=require("@ez4/schema"),C=require("@ez4/database");var T;(m=>{m.prepareCreate=p((n,u,y,o,t)=>{let r={constraints:[],indexes:[]};for(let a in o){
|
|
76
|
+
let{columns:c,type:l}=o[a];switch(l){default:throw new Error("Unsupported index \
|
|
77
|
+
type.");case C.Index.Primary:{let i=_(u,a),f=n.table(u).alter().existing().constraint(
|
|
78
|
+
i).primary(c);r.constraints.push({check:q(n,i),query:f.build()});break}case C.Index.
|
|
79
|
+
Unique:{let i=Q(u,a),f=n.table(u).alter().existing().constraint(i).unique(c);r.constraints.
|
|
80
|
+
push({check:q(n,i),query:f.build()});break}case C.Index.Secondary:{let i=$(u,a),
|
|
81
|
+
f=d(c,y),h=n.index(i).create(u,c).type(f).missing();t&&h.concurrent(),r.indexes.
|
|
82
|
+
push({query:h.build()});break}}}return r},"prepareCreate"),m.prepareRename=p((n,u,y,o)=>{
|
|
83
|
+
let t={constraints:[],indexes:[]};for(let r in o){let{type:a}=o[r];switch(a){default:
|
|
84
|
+
throw new Error("Unsupported index type.");case C.Index.Primary:{let c=_(u,r),l=_(
|
|
85
|
+
y,r),i=n.table(y).alter().existing().constraint(c).rename(l);t.constraints.push(
|
|
86
|
+
{check:q(n,l),query:i.build()});break}case C.Index.Unique:{let c=Q(u,r),l=Q(y,r),
|
|
87
|
+
i=n.table(y).alter().existing().constraint(c).rename(l);t.constraints.push({check:q(
|
|
88
|
+
n,l),query:i.build()});break}case C.Index.Secondary:{let c=$(u,r),l=$(y,r),i=n.index(
|
|
89
|
+
c).rename(l).existing();t.indexes.push({query:i.build()});break}}}return t},"pre\
|
|
90
|
+
pareRename"),m.prepareDelete=p((n,u,y)=>{let o={constraints:[],indexes:[]};for(let t in y){
|
|
91
|
+
let{type:r}=y[t];switch(r){default:throw new Error("Unsupported index type.");case C.Index.
|
|
92
|
+
Primary:{let a=_(u,t),c=n.table(u).alter().existing().constraint(a).drop().existing();
|
|
93
|
+
o.constraints.push({query:c.build()});break}case C.Index.Unique:{let a=Q(u,t),c=n.
|
|
94
|
+
table(u).alter().existing().constraint(a).drop().existing();o.constraints.push({
|
|
95
|
+
query:c.build()});break}case C.Index.Secondary:{let a=$(u,t),c=n.index(a).drop().
|
|
96
|
+
existing().concurrent();o.indexes.push({query:c.build()});break}}}return o},"pre\
|
|
97
|
+
pareDelete");let d=p((n,u)=>{if(n.length===1){let[y]=n;switch(u.properties[y]?.type){case E.SchemaType.
|
|
98
|
+
Object:case E.SchemaType.Union:case E.SchemaType.Array:case E.SchemaType.Tuple:return"\
|
|
99
|
+
GIN"}}return"BTREE"},"getIndexType")})(T||={});var B=require("@ez4/utils"),F=require("@ez4/pgclient/library"),H=require("@ez4/schema");var te=p((e,s)=>(0,B.deepCompareObject)(e,s,{onRename:p((g,d)=>!(0,B.isAnyObject)(
|
|
100
|
+
g)||!(0,B.isAnyObject)(d)?!1:(0,F.isTableMetadata)(g)&&(0,F.isTableMetadata)(d)?
|
|
101
|
+
le(g.schema,d.schema):(0,H.isAnySchema)(g)&&(0,H.isAnySchema)(d)?ge(g,d):!1,"onR\
|
|
102
|
+
ename")}),"getTableRepositoryChanges"),le=p((e,s)=>(0,B.deepEqual)(Object.keys(e.
|
|
103
|
+
properties),Object.keys(s.properties)),"canRenameTable"),ge=p((e,s)=>(0,B.deepEqual)(
|
|
104
|
+
e,s,{depth:1,include:{type:!0,definitions:!0,nullable:!0,format:!0}}),"canRename\
|
|
105
|
+
Column");var re=p(e=>{let s=new L.SqlBuilder,g={tables:[],constraints:[],relations:[],indexes:[]};
|
|
106
|
+
for(let d in e){let{name:m,schema:n,indexes:u,relations:y}=e[d];g.tables.push(M.
|
|
107
|
+
prepareCreate(s,m,n,u)),g.constraints.push(...O.prepareCreate(s,m,n.properties)),
|
|
108
|
+
g.relations.push(...j.prepareCreate(s,m,n,y)),A(g,T.prepareCreate(s,m,n,u,!1))}return g},
|
|
109
|
+
"getCreateQueries"),de=p((e,s)=>{let g=te(e,s),d=new L.SqlBuilder,m={tables:[],constraints:[],
|
|
110
|
+
relations:[],indexes:[]};if(g.create&&A(m,re(g.create)),g.rename)for(let n in g.
|
|
111
|
+
rename){let u=g.rename[n],y=e[u].indexes,o=e[u].relations,t=e[u].schema;m.tables.
|
|
112
|
+
push(M.prepareRename(d,n,u)),m.constraints.push(...O.prepareRenameTable(d,n,u,t.
|
|
113
|
+
properties)),m.relations.push(...j.prepareRename(d,n,u,o)),A(m,T.prepareRename(d,
|
|
114
|
+
n,u,y))}if(g.nested)for(let n in g.nested){let{nested:u}=g.nested[n];if(!u)continue;
|
|
115
|
+
let{schema:y,relations:o,indexes:t}=u,r=y?.nested?.properties,a=e[n].indexes,c=e[n].
|
|
116
|
+
relations,l=s[n].schema,i=e[n].schema;r?.create&&(m.tables.push(I.prepareCreate(
|
|
117
|
+
d,n,a,r.create)),m.constraints.push(...O.prepareCreate(d,n,r.create))),r?.nested&&
|
|
118
|
+
(m.tables.push(...I.prepareUpdate(d,n,i,a,r.nested)),m.constraints.push(...O.prepareUpdate(
|
|
119
|
+
d,n,i,l,r.nested)),m.relations.push(...j.prepareUpdate(d,n,c,r.nested))),r?.rename&&
|
|
120
|
+
(m.tables.push(...I.prepareRename(d,n,r.rename)),m.constraints.push(...O.prepareRenameColumns(
|
|
121
|
+
d,n,i.properties,r.rename))),r?.remove&&(m.tables.push(I.prepareDelete(d,n,r.remove)),
|
|
122
|
+
m.constraints.push(...O.prepareDelete(d,n,r.remove))),t?.create&&A(m,T.prepareCreate(
|
|
123
|
+
d,n,i,t.create,!0)),t?.remove&&A(m,T.prepareDelete(d,n,t.remove)),o?.create&&m.relations.
|
|
124
|
+
push(...j.prepareCreate(d,n,i,o.create)),o?.remove&&m.relations.push(...j.prepareDelete(
|
|
125
|
+
d,n,o.remove))}return g.remove&&A(m,ne(g.remove)),m},"getUpdateQueries"),ne=p(e=>{
|
|
126
|
+
let s=new L.SqlBuilder,g={tables:[],constraints:[],relations:[],indexes:[]};for(let d in e){
|
|
127
|
+
let{name:m}=e[d];g.tables.push(M.prepareDelete(s,m))}return g},"getDeleteQueries"),
|
|
128
|
+
A=p((e,s)=>{s.indexes&&e.indexes.push(...s.indexes),s.constraints&&e.constraints.
|
|
129
|
+
push(...s.constraints),s.relations&&e.relations.push(...s.relations),s.tables&&e.
|
|
130
|
+
tables.push(...s.tables)},"combineMigrationQueries");0&&(module.exports={getCreateQueries,getDeleteQueries,getUpdateQueries});
|
|
125
131
|
//# sourceMappingURL=main.cjs.map
|
package/dist/main.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './service/queries
|
|
1
|
+
export * from './service/queries';
|